|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
текстовые файлы в Delphi
Составить программу в Delphi:
замены всех точек перед словами, которые начинаются с заглавной (с прописной) букв, на точку с запятой; преобразования этих слов в слова, которые начинаются со строчной буквы и новой строки (если слово начиналось с новой строки, то преобразовать только регистр первой буквы). Максимум, что могу так это поменять точку на точку запятой без всяких условий... Подкиньте хоть какую-нибудь идею, пожалуйста. |
#2
|
||||
|
||||
Вот что-то подобное, но только для русских букв - киньте на форму мемо плюс баттон и задайте ему эту процедуру, должно работать
Код:
procedure TForm1.Button1Click(Sender: TObject); procedure udc (flg: boolean; var ds: char); const lt: array[0..1] of string = ( 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ', 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'); var i: integer; begin for i := 1 to Length(lt[0]) do if flg then begin if ds = lt[0][i] then begin ds:= lt[1][i]; Exit; end; end else if ds = lt[1][i] then begin ds:= lt[0][i]; Exit; end; end; var i: integer; s: string; begin s:= Memo1.Text; for i:= Length(s) downto 1 do if (i > 3) and (i < Length(s)-3) then if s[i] = '.' then begin if s[i+1] = ' ' then begin s[i]:= ';'; udc(true, s[i+2]); s[i+1]:= #10; Insert(#13,s,i+1); end; if (s[i+1] = #13) and (s[i+2] = #10) then udc(false, s[i+3]); end; Memo1.Text:= s; end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 30.05.2014 в 01:27. |