Вверх ↑
Этот топик читают: Гость
Ответов: 537
Рейтинг: 14
#1: 2017-10-28 10:59:21 ЛС | профиль | цитата
Нужно заменить каждую первую букву в предложении на заглавную. Компонент StrCase с включенным FirstChar не работает, меняет только первую букву на заглавную. Нашел в интернете код, переделал в IC. Может кому надо.

Add(MainForm,2953706,21,105)
{
}
Add(StrCase,2768133,77,196)
{
Type=3
}
Add(InlineCode,5251633,161,119)
{
@Hint=#25:Большие буквы предложения|
WorkPoints=#2:go|
EventPoints=#7:CurText|
DataPoints=#4:text|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|18: text:THI_Event;|21: CurText:THI_Event;|3: |44: procedure go(var Data:TData; index:word);|3: |5: end;|0:|14:implementation|0:|25:procedure THiAsmClass.go;|3:var|14:s, res:string;|10:i:Integer;|28:const delim=['.', '!', '?'];|5:begin|26:s :=(ToStringEvent(text));|9:res :='';|26:for i :=1 to Length(s) do |5:begin|54:if (i=1) or ((s[i-2] in delim) and (s[i-1]=' ')) then|31: res :=res+AnsiUpperCase(s[i])|25: else res:=res+s[i];|4:end;|25:_hi_OnEvent(CurText,res);|4:end;|4:end.|
link(CurText,13000147:doText,[])
link(text,13000147:Text,[(167,107)(209,107)(209,155)(251,155)])
}
Add(Memo,13000147,245,98)
{
Left=5
Top=45
Width=375
Height=210
Strings=#214:нужно заменить каждую первую букву в предложении на заглавную. компонент StrCase с включенным FirstChar не работает, меняет только первую букву на заглавную. нашел в интернете код, переделал в IC. может кому надо.|
ScrollBars=2
}
Add(Button,12211666,98,119)
{
Left=10
Top=10
link(onClick,5251633:go,[])
}
карма: 4

0
vip
#1.1контекстная реклама от партнеров
Ответов: 113
Рейтинг: 1
#2: 2017-10-28 13:49:33 ЛС | профиль | цитата
Sersey писал(а):
Может кому надо.

надо) спасибо большое
карма: 0
well done turner
0
Ответов: 16884
Рейтинг: 1239
#3: 2017-10-28 17:44:07 ЛС | профиль | цитата
Sersey писал(а):
Нужно заменить каждую первую букву в предложении на заглавную.

Add(MainForm,5643112,308,154)
{
}
Add(InlineCode,5251633,392,154)
{
@Hint=#25:Большие буквы предложения|
WorkPoints=#2:go|
EventPoints=#7:CurText|
DataPoints=#4:text|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|18: text:THI_Event;|21: CurText:THI_Event;|3: |44: procedure go(var Data:TData; index:word);|3: |5: end;|0:|14:implementation|0:|25:procedure THiAsmClass.go;|3:var|14:s, res:string;|10:i:Integer;|28:const delim=['.', '!', '?'];|5:begin|26:s :=(ToStringEvent(text));|9:res :='';|26:for i :=1 to Length(s) do |5:begin|54:if (i=1) or ((s[i-2] in delim) and (s[i-1]=' ')) then|31: res :=res+AnsiUpperCase(s[i])|25: else res:=res+s[i];|4:end;|25:_hi_OnEvent(CurText,res);|4:end;|4:end.|
link(CurText,13000147:doText,[])
link(text,13000147:Text,[(398,142)(431,142)(431,190)(447,190)])
}
Add(Memo,13000147,441,133)
{
Left=5
Top=45
Width=375
Height=210
Strings=#45: о первой букве в предложении.|45: -----------------------------|66: нужно заменить каждую первую букву в предложении на заглавную. |54:компонент StrCase с включенным FirstChar не работает, |41:меняет только первую букву на заглавную. |40:нашел в интернете код, переделал в IC. |16:может кому надо.|
ScrollBars=2
}
Add(Button,12211666,350,154)
{
Left=10
Top=10
link(onClick,5251633:go,[])
}


Редактировалось 1 раз(а), последний 2017-10-28 17:46:07
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 537
Рейтинг: 14
#4: 2017-10-28 19:08:39 ЛС | профиль | цитата
Редактирует предложения в нормальном, слитном тексте, а не беспорядочный набор строк. Можно сделать текст слитным и тогда все будет работать.

Редактировалось 1 раз(а), последний 2017-10-28 19:11:43
карма: 4

0
Ответов: 16884
Рейтинг: 1239
#5: 2017-10-28 23:26:51 ЛС | профиль | цитата
Sersey писал(а):
Редактирует предложения в нормальном, слитном тексте
В нормальном тексте начальные буквы предложений тоже нормальные (т.е. заглавные), есть абзацы, отступы и ещё много чего.

Add(MainForm,6495833,126,119)
{
}
Add(InlineCode,5251633,266,133)
{
@Hint=#25:Большие буквы предложения|
WorkPoints=#2:go|
EventPoints=#7:CurText|
DataPoints=#4:text|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|18: text:THI_Event;|21: CurText:THI_Event;|3: |44: procedure go(var Data:TData; index:word);|3: |5: end;|0:|14:implementation|0:|25:procedure THiAsmClass.go;|3:var|14:s, res:string;|10:i:Integer;|28:const delim=['.', '!', '?'];|5:begin|26:s :=(ToStringEvent(text));|9:res :='';|26:for i :=1 to Length(s) do |5:begin|54:if (i=1) or ((s[i-2] in delim) and (s[i-1]=' ')) then|31: res :=res+AnsiUpperCase(s[i])|25: else res:=res+s[i];|4:end;|25:_hi_OnEvent(CurText,res);|4:end;|4:end.|
link(CurText,13000147:doText,[])
link(text,13000147:Text,[(272,121)(314,121)(314,169)(356,169)])
}
Add(Memo,13000147,350,112)
{
Left=5
Top=45
Width=375
Height=210
Strings=#227: нужно заменить каждую первую букву в предложении на заглавную. компонент StrCase с включенным FirstChar не работает, меняет только первую букву на заглавную. нашел в интернете код, переделал в IC. может кому надо.|
ScrollBars=2
}
Add(Button,12211666,203,133)
{
Left=10
Top=10
link(onClick,5251633:go,[])
}

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 537
Рейтинг: 14
#6: 2017-10-29 07:46:35 ЛС | профиль | цитата
Делал для себя, мне вполне хватает, но можно и так сделать

Add(MainForm,6495833,105,84)
{
}
Add(InlineCode,5251633,245,98)
{
@Hint=#25:Большие буквы предложения|
WorkPoints=#2:go|
EventPoints=#7:CurText|
DataPoints=#4:text|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|18: text:THI_Event;|21: CurText:THI_Event;|3: |44: procedure go(var Data:TData; index:word);|3: |5: end;|0:|14:implementation|0:|25:procedure THiAsmClass.go;|3:var|14:s, res:string;|10:i:Integer;|28:const delim=['.', '!', '?'];|5:begin|26:s :=(ToStringEvent(text));|9:res :='';|26:for i :=1 to Length(s) do |5:begin|54:if (i=1) or ((s[i-2] in delim) and (s[i-1]=' ')) then|31: res :=res+AnsiUpperCase(s[i])|25: else res:=res+s[i];|4:end;|25:_hi_OnEvent(CurText,res);|4:end;|4:end.|
link(CurText,13000147:doText,[])
link(text,5411869:GetData,[])
}
Add(Memo,13000147,329,77)
{
Left=5
Top=45
Width=375
Height=210
Strings=#227: нужно заменить каждую первую букву в предложении на заглавную. компонент StrCase с включенным FirstChar не работает, меняет только первую букву на заглавную. нашел в интернете код, переделал в IC. может кому надо.|
ScrollBars=2
}
Add(Button,12211666,154,91)
{
Left=10
Top=10
link(onClick,9851152:doEvent1,[])
}
Add(Trim,3157903,329,140)
{
Char="\r\n"
Mode=7
link(onTrim,5411869:doData,[(373,146)(373,72)(235,72)(235,41)])
link(Text,13000147:Text,[])
}
Add(Hub,9851152,210,91)
{
link(onEvent1,3157903:doTrim,[(290,97)(290,146)])
link(onEvent2,5251633:go,[])
}
Add(EventFromData,5411869,245,35)
{
}
карма: 4

0
6
Сообщение
...
Прикрепленные файлы
(файлы не залиты)