Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.07.2010, 19:19
RanFun RanFun вне форума
Прохожий
 
Регистрация: 26.05.2010
Сообщения: 3
Репутация: 10
По умолчанию Работа с текстом.

Привет. Мне необходимо было написать программу, считывающую посимвольно информацию из текстового файла, позволяющую отредактировать считанный текст и сохранить файл на диске. Вторая часть задания заключалось в том, что бы в тексте найти самое длинное слово. Я это всё сделал , но теперь мне необходимо заменить вторую часть задания ( самое длинное слово) на то, что бы после кждого слова в тексте ставилась запятая. А я такого примера найти не смог. Потому и прошу помощи.

Код:
procedure TForm1.N1Click(Sender: TObject);
var f: textfile;
    w: integer;
    c: char;
begin
	If OpenDialog1.Execute then 	
  begin
    Label1.Visible := false;
    Memo1.Clear;	
    AssignFile(F,OpenDialog1.FileName);	
    {$I-}				
    reset(F);			
    {$I+}				
    If IOResult = 0 then	
    begin
      Form1.Caption := OpenDialog1.FileName;
			
			W := 0;		
			If CheckBox1.Checked then 	
			begin
				while Not EOF(F) do	
				begin
          Memo1.Lines.Add('');	
          While Not EOLn(F) do	
          begin
            read(F,C);           	
            Memo1.Lines[W]:=Memo1.Lines[W]+C;
          
          end;
          Inc(W);	//Увеличить счетчик строк
          readln(F);
					{Перейти к считыванию новой строки}
        end;
 			end
			else  			//Файл считывается сразу
			begin
				Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
				{Считать файл}
			end;
			CloseFile(F);	//Закрыть файл
      Label1.Caption := 'Текс изменен';
    end
		else				//Файл не открыть
      ShowMessage('Ошибка открытия файла '+OpenDialog1.FileName);
			{Выдать сообщение об ошибке}
  	end;					//Конец работы с файлом
end;

procedure TForm1.N2Click(Sender: TObject);
var f: textfile;
    res:integer;
begin
  If SaveDialog1.Execute then
  begin
    AssignFile(F,SaveDialog1.FileName);	
    {$I-}				
    reset(F);			
    res := IOResult;
    {$I+}				
    If (res <> 0)                 
      or ((res = 0) and (MessageDlg('Файл уже существует. Перезаписать?', mtWarning, [mbYes, mbCancel], -1) = mrYes))
    then	
    begin
      if (res = 0) then
        CloseFile(F);
      Memo1.Lines.SaveToFile(SaveDialog1.FileName);
      Form1.Caption := SaveDialog1.FileName;
      Label1.Visible := false;
    end;
  end;
end;

procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
  Label1.Visible := true;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Label1.Visible := false;
end;

procedure TForm1.Button1Click(Sender: TObject);
var i, j: integer;
    w, lw: string;
begin
  lw := '';
  for i:=0 to Memo1.Lines.Count-1 do
  begin
    j := 1;
    w := '';
    while j <= length(Memo1.Lines[i]) do
    begin
      if Memo1.Lines[i][j] = ' ' then
      begin
        if (length(w) > length(lw)) then
          lw := w;
        w := '';
      end
      else
        w := w + Memo1.Lines[i][j];
      inc(j);
    end;
    if (length(w) > length(lw)) then
      lw := w;
  end;
  ShowMessage('Самое длинное слово длиной '+inttostr(length(lw))+'символов: '+lw);
end;

end.
Ответить с цитированием
 


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:16.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025