Задание такое: Найти самое длинное предложение в текстовом файле.
Текст отыскания работает, но результат просто не выдает ?
unit Unit2;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
ExtCtrls,unit4,unit3,unit5, StdCtrls, Menus, ComCtrls, EditBtn;
type
{ TForm2 }
TForm2 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Edit1: TEdit;
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
MainMenu1: TMainMenu;
Memo1: TMemo;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
MenuItem4: TMenuItem;
MenuItem5: TMenuItem;
OpenDialog1: TOpenDialog;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure MenuItem1Click(Sender: TObject);
procedure MenuItem2Click(Sender: TObject);
procedure MenuItem3Click(Sender: TObject);
procedure MenuItem4Click(Sender: TObject);
procedure MenuItem5Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form2: TForm2;
lang: integer;
implementation
{ TForm2 }
procedure TForm2.MenuItem1Click(Sender: TObject);
begin
end;
procedure TForm2.MenuItem2Click(Sender: TObject);
begin
form3.show;
end;
procedure TForm2.MenuItem3Click(Sender: TObject);
begin
form4.show;
end;
procedure TForm2.MenuItem4Click(Sender: TObject);
begin
lang:=0;
menuitem1.caption:='язык';
menuitem2.caption:='о программе';
menuitem3.caption:='об авторе';
menuitem4.caption:='рус.';
menuitem5.caption:='англ.';
form2.label1.caption:='укажите путь к файлу';
form2.label2.caption:='самое длинное предложение';
button1.caption:='найти';
button3.caption:='выход';
form4.label2.caption:='ВМ-21';
form4.label1.caption:='Зайцев Виктор';
form2.caption:='главная';
form4.caption:='об авторе';
form3.caption:='о программе';
form5.caption:='Протокол';
form3.label1.caption:='Программа номер 2';
form3.label2.caption:='в текстовом файле';
form3.label3.caption:='найти самое длинное предложение';
end;
procedure TForm2.MenuItem5Click(Sender: TObject);
begin
lang:=1;
menuitem1.caption:='Language';
menuitem2.caption:='About program';
menuitem3.caption:='About author';
menuitem4.caption:='rus.';
menuitem5.caption:='angl.';
form2.label1.caption:='indicate way to file';
form2.label2.caption:='the most long word';
button1.caption:='find';
button3.caption:='exit';
form4.label2.caption:='VM-21';
form4.label1.caption:='Zaitcev Victor';
form2.caption:='main';
form4.caption:='about avtor';
form3.caption:='about program';
form5.caption:='protocol';
form3.label1.caption:='Program number 2';
form3.label2.caption:='in text file';
form3.label3.caption:='find the most long word';
end;
procedure TForm2.Button3Click(Sender: TObject);
begin
form2.hide;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
form5.show;
end;
procedure TForm2.Button1Click(Sender: TObject);
const zn=['.','?','!'];{символы конца предложения}
var
name2,s,s1:string;
i,len,max:byte;
f:textfile;
begin
if opendialog1.execute then
begin
name2:=OpenDialog1.FileName;
AssignFile(f,name2);
reset(f);
form5.memo1.append('Программа работает с файлом '+name2);
form5.memo1.append('Программа открыла файл '+datetostr(date)+' '+timetostr(time));
max:=0;{максимальная длина предложения}
len:=0;{длина очередного предложения}
s1:='';
i:=1;
while i<=length(s) do
begin
if s[i] in zn then{если конец предложения}
begin
s1:=copy(s,1,i);{запоминеам его}
len:=i-1;{его длина без последнего знака}
delete(s,1,i);{удаляем его}
if len>max then{если длина больше предыдущего макс}
begin
end;
i:=i+1;{к следующему символу}
end
else i:=i+1;{если не конец предложения, то просто к следующему}
end;
memo1.text:=('Самое длинное предложение: '+s1);
form5.memo1.append('самая длинное предложение:');
form5.memo1.append(s1);
form5.memo1.append('Программа закрыла файл '+datetostr(date)+' '+timetostr(time));
Edit1.ReadOnly:=true;
{ memo1.lines.add(mas1[i]);}
CloseFile(f)
end;
end;
initialization
{$I unit2.lrs}
end.