Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2012, 16:16   #1
Makspane
Пользователь
 
Регистрация: 07.05.2012
Сообщений: 18
По умолчанию как считать весь текст

гляньте,я написал программму, но она работает только есле в текстовом файле 1 строка текста, а мне нужно чтоб она работа со всем текстом который находится в файле... подскажите, как ее исправить
Form1: TForm1;
f:textfile;
s:string[255];
s1:string;
i,j,k,l:integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
assignfile(f,'in.txt');
reset(f);
i:=0;
read(f,s);
label2.Caption:=' ';
l:=1;
while i<=length(s) do
begin
i:=i+1;
if s[i]='.' then
begin
for k:=i downto l do
label2.Caption:=label2.Caption+s[k];
l:=i+1;

end;
end;
closefile(f);
end;
end.
Makspane вне форума Ответить с цитированием
Старый 08.05.2012, 16:21   #2
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Обычно это выглядит так:

Код:
While Not Eof(myFile) Do
Begin
     ReadLn(myFile, text);
     // ...
End;
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 08.05.2012, 16:25   #3
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Или:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  SL : TStringList;
begin
  SL := TStringList.Create;
  try
    SL.LoadFromFile(in.txt);
    label2.Caption:=' ';
    l:=1;
    while i <= length(SL.Text) do begin
    ...
    end;
  finally
    SL.Free;
  end;
end;
Прик вне форума Ответить с цитированием
Старый 08.05.2012, 16:26   #4
Makspane
Пользователь
 
Регистрация: 07.05.2012
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Valio Посмотреть сообщение
Обычно это выглядит так:

Код:
While Not Eof(myFile) Do
Begin
     ReadLn(myFile, text);
     // ...
End;
а вмоем случае, как правильно вставить ето вмой код чтоб оно ном читывало и выдавало результат?
Makspane вне форума Ответить с цитированием
Старый 08.05.2012, 16:32   #5
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Makspane
А давай те не будем друг другу мозг выносить и заниматься телепатией
Выложите всё задание! ОТ и ДО
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 08.05.2012, 16:39   #6
Makspane
Пользователь
 
Регистрация: 07.05.2012
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
Makspane
А давай те не будем друг другу мозг выносить и заниматься телепатией
Выложите всё задание! ОТ и ДО
условие задачи ( составить программу , которая считывает текст с файла и выводит на екран все его предоложения у обратном порядке ( пример--прочитать до.==== должно выйти=- .од ьтатичорп -- итак далеее

тот код что выше это делает, нотолько для ОДНОЙ строки, а мне надо чтоб оно работало для любого количества строк в файле
Makspane вне форума Ответить с цитированием
Старый 08.05.2012, 17:19   #7
Makspane
Пользователь
 
Регистрация: 07.05.2012
Сообщений: 18
По умолчанию

гляньте, пожалуйста , а то я не могу норм разобрать, как это сделать.....
Makspane вне форума Ответить с цитированием
Старый 08.05.2012, 17:31   #8
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

так как я понял точка предложения может находиться где угодно ии в принципе на других строках. Тогда как мне кажется считывание символами будет лучше примерно так
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  ch: char;
  i: integer;
  s: string;
begin
  assignfile(f,'in.txt');
  reset(f);
  s := '';
  while not(EOF(f)) do
  begin
    read(f,ch);
    if ch <> '.' then s := s + ch
    else
    begin
      s := s + ch;
      for i := length(s) downto 1 do
        Memo1.Text := Memo1.Text + s[i]
      s := '';
    end;
  end;
  closefile(f);
end;
коряво конечно, лучше конечно через стринлист или что то подобное
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 08.05.2012, 18:52   #9
Makspane
Пользователь
 
Регистрация: 07.05.2012
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
так как я понял точка предложения может находиться где угодно ии в принципе на других строках. Тогда как мне кажется считывание символами будет лучше примерно так
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  ch: char;
  i: integer;
  s: string;
begin
  assignfile(f,'in.txt');
  reset(f);
  s := '';
  while not(EOF(f)) do
  begin
    read(f,ch);
    if ch <> '.' then s := s + ch
    else
    begin
      s := s + ch;
      for i := length(s) downto 1 do
        Memo1.Text := Memo1.Text + s[i]
      s := '';
    end;
  end;
  closefile(f);
end;
коряво конечно, лучше конечно через стринлист или что то подобное
СпасибО)) оно))))
Makspane вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как считать текст из Internet Explorer_Server зная только его Хэндл? ivancoff Работа с сетью в Delphi 0 31.10.2011 00:37
как в Delphi скопировать весь текст от нужного символа до конца строки ?? Skeptic Общие вопросы Delphi 4 10.10.2011 22:36
Как считать текст из контрола другого приложения mika505 Win Api 2 18.06.2011 00:09
как считать весь файл в C Coraline Общие вопросы C/C++ 2 17.05.2011 02:08
Excel 2003: Worksheets().Shapes().Select - выбирает не весь текст фигуры ZaeC Microsoft Office Excel 0 26.05.2010 14:15