Текущий архив: 2004.10.24;
Скачать: CL | DM;
ВнизRichEdit клавишей Enter мы делаем конец строки Найти похожие ветки
← →
DIS (2004-10-07 20:15) [0]Мастера подскажите в RichEdit клавишей Enter мы делаем конец строки и начало новой, а как узнать как помечается конец строки. Мне это требуется для того, чтобы програмно удалить "обрыв" строки, и получить одну длинную строку. Надеюсь выразился понятно.
← →
Palladin © (2004-10-07 20:19) [1]TRichEdit + F1
Там ты узнаешь много нового о RichEdit. Надеюсь выразился понятно.
← →
Okcid (2004-10-07 20:24) [2]Не знаю как в RichEdit, но вообще конец строки с переходом на новую строку помечается двумя байтами #13 #10...
← →
olookin © (2004-10-07 20:46) [3]Oksid прав на все 100... Только там пробела не надо - просто #13#10...
← →
Okcid (2004-10-07 20:49) [4]Ну я так написал для лучшей читаемости)
← →
olookin © (2004-10-07 20:51) [5][4] Okcid (07.10.04 20:49)
Ну я так написал для лучшей читаемости)
Ясно...
← →
DIS (2004-10-07 21:52) [6]Большое спасибо. Все работает, но результат меня еще больше озадачил. Никак не соображу, к примеру, есть три строки
namesArray[arraycount] = "слова слова
слова"
descArray[arraycount] = "другие слова"
если делатьFlags:= [ rfReplaceAll, rfIgnoreCase ];
S:= StringReplace( S, ""#13#10"", "+chr(32)+", Flags);
то получится каша из слов. Как бы удалить #13#10 после первой строки и привести к такому видуnamesArray[arraycount] = "слова слова слова"
descArray[arraycount] = "другие слова"
как вы думаете?
← →
Okcid (2004-10-07 23:27) [7]S:= StringReplace( S, ""#13#10"", "+chr(32)+", Flags);
Попробуй написать так:s:=StringReplace(s, chr(10)+chr(13), chr(32), Flags);
← →
DIS (2004-10-07 23:51) [8]Попробовал не работает, но предыдущий код работает, я тут посмотрел и нашел в форуме похожую тему:
// Проблема открытия текстового файла, если в нем есть кавычки! (Dextor 07.10.04 22:53)
// Как прочитать из открытыго файла, все, что допустим после слова "start" и перед словом "End" (к примеру, // все где инть в середине файла)
видимо в моем случае нужно смотреть отрезок текста
namesArray[arraycount] = "слова слова слова" - если между namesArray и "кавычками" встречается знак #13#10
заменять на пробел (#32), но как выделить этот отрезок.
← →
DIS (2004-10-07 23:52) [9]вот от туда совет кажется от gero
> Как прочитать из открытыго файла, все, что допустим после
> слова "start" и перед словом "End" (к примеру, все где инть
> в середине файла)
var
S: string;
Start: Boolean;
List: TStringList;
...
Start := False;
while not SeekEof(F) do
begin
Readln(F, S);
if Pos("start", S) > 0 then
Start := True
else if Pos("end", S) > 0 then
Break
else if Start then
List.Add(S);
end;
← →
DIS (2004-10-08 00:15) [10]исходя из выше изложенного используя этот код буду выделять отрезок между namesArray[arraycount] и ", удалять знак#13#10.
и так до конца документа. Надеюсь завтра все получится.
P.S. Надо будет еще выяснить конец файла.
← →
Klopan © (2004-10-08 01:10) [11]а если так:
label1.Caption:= StringReplace("lala lulu pampam", "pam", "", [rfReplaceAll, rfIgnoreCase]);
← →
Palladin © (2004-10-08 01:41) [12]Okcid
olookin ©
так то оно так, вот только новую строку это не добавляет... видимость добавляет а вот новую строку не добавляет... ведь это всего лишь line feed и carret return...
← →
DIS (2004-10-08 22:11) [13]
procedure TForm1.Button2Click(Sender: TObject);
подскажите если выполнить код мы выберем строку между словами slov1 и slov2 и убъем знак окончания строки
var
FileName: string;
Vf1, Vf2: TextFile;
i, j, s: string;
start : boolean;
Flags: TReplaceFlags;
begin
AssignFile( Vf1, "00.PRN" );
Read( Vf1 ); // читаем "00.PRN"
AssignFile( Vf2, "work2.txt" );
Rewrite( Vf2); // создает и открывает файл "work2.txt"
Reset( Vf1); { устанавливает указатель файла "work1.txt" в начало файла}
Start := False;
while not SeekEof(Vf1) do
begin //цикл, пока не достигнут конец файла
Readln(Vf1, i);
if Pos("slov1 ", i) > 0 then
Start := True
else if Pos("slov2", i) > 0 then
Break
else if Start then
Writeln( Vf2, i );
end;
CloseFile( Vf1 );
CloseFile( Vf2 );
FileName := "work2.txt" ;
with Form1.Memo1.Lines do begin
LoadFromFile(FileName); { load from file }
SaveToFile(ChangeFileExt(FileName, ".bak")); { save into backup file }
S:= ""+memo1.text+"";
Flags:= [ rfReplaceAll, rfIgnoreCase ];
S:= StringReplace( S, ""#13#10"", "", Flags);
memo1.text := s;
end;
end;
(тот который после нажатия на enter), а как лучше поступить если нужно продолжить перебор строк
т.е в тексте есть еще где встречается slov1 и slov2
← →
DIS (2004-10-09 14:33) [14]ни каких мыслей интересных нет?
← →
Okcid (2004-10-09 17:14) [15]NO IDEAS...
← →
DIS (2004-10-10 00:31) [16]А, что если найденную строку записываем в файл2, а из файла 1 удаляем и повторяем заново. Подскажите как удалить строку какая функция?
Страницы: 1 вся ветка
Текущий архив: 2004.10.24;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.032 c