![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
новая строка [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'ы из ворда некорректно передаются, вместо них квадратики(. как это исправить?