Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

новая строка [D7, 95/98, XP]


_Shuler_ ©   (2008-01-20 07:33:00) 

Здраствуйте , уважаемые мастера.
такая вот проблемка:

При считывание из файла readln(f,s) - считывается не одна строка а пока не забьется весь стринг(s).

файл заполняю текстом из буфера, который копирую из Msword
вот код.

 clipboard.clear;
 wordapplication1.Selection.SetRange(0,100000);
 Clipboard.AsText := clipboard.AsText+wordApplication1.Selection.Text;

 assignfile(f,'q.txt');
 rewrite(f);
 write(f,clipboard.astext);
 closefile(f);

 assignfile(f,'q.txt');
 reset(f);
 while not eof(f) do begin
  readln(f,s);  //здесь считывается почему-то не одна строка. Подскажите в чем проблема?. Спасибо.
  if s='*' then
   inc(allqoftest);
 end;
 closefile(f);


korneley   (2008-01-20 12:29:00) [1]

Может дело в том, что readln() ждёт два символа в конце строки: "возврат каретки" и "перевод строки", т.е. #13#10 (или ^M^J), а в тексте, скопированном из ворда присутствует только #10 (он-то и отображается квадратиком) Используй для построчной записи в файл writeln() для каждой строки, а не write() на весь буфер, тогда как запишешь, так и прочитаешь.


_Shuler_   (2008-01-20 08:31:00) [2]

забейте)))


_Shuler_   (2008-01-20 07:42:00) [3]

получается так, что enter'ы из  ворда некорректно  передаются, вместо них квадратики(. как это исправить?


Наверх

Титульная страница Поиск, карта сайта Написать письмо