Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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);
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;
подскажите если выполнить код мы выберем строку между словами slov1 и slov2 и убъем знак окончания строки
(тот который после нажатия на 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.5 MB
Время: 0.034 c
1-1097129288
han-bratan
2004-10-07 10:08
2004.10.24
не могу проставить компоненты :(


1-1097351371
Алексей
2004-10-09 23:49
2004.10.24
Узнать какой объект создал событие


6-1092720965
serg128
2004-08-17 09:36
2004.10.24
Как принимать/отправлять сообщения при помощи TNMUDP?


1-1097136517
Arnold
2004-10-07 12:08
2004.10.24
Поиск в TreeView


1-1097581743
New
2004-10-12 15:49
2004.10.24
Скажите пожайлуста, для чего служат