Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit Unit1;
- {$mode objfpc}{$H+}
- interface
- uses
- Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
- Menus;
- type
- { TForm1 }
- TForm1 = class(TForm)
- MainMenu1: TMainMenu;
- Memo1: TMemo;
- MenuItem1: TMenuItem;
- MenuItem10: TMenuItem;
- MenuItem2: TMenuItem;
- MenuItem3: TMenuItem;
- MenuItem4: TMenuItem;
- MenuItem5: TMenuItem;
- MenuItem6: TMenuItem;
- MenuItem7: TMenuItem;
- MenuItem8: TMenuItem;
- MenuItem9: TMenuItem;
- OpenDialog1: TOpenDialog;
- SaveDialog1: TSaveDialog;
- procedure FormCreate(Sender: TObject);
- procedure MenuItem10Click(Sender: TObject);
- procedure MenuItem1Click(Sender: TObject);
- procedure MenuItem2Click(Sender: TObject);
- procedure MenuItem3Click(Sender: TObject);
- procedure MenuItem4Click(Sender: TObject);
- procedure MenuItem5Click(Sender: TObject);
- procedure MenuItem6Click(Sender: TObject);
- procedure MenuItem7Click(Sender: TObject);
- procedure MenuItem8Click(Sender: TObject);
- procedure MenuItem9Click(Sender: TObject);
- private
- public
- end;
- var
- Form1: TForm1;
- S:string;
- implementation
- {$R *.lfm}
- { TForm1 }
- procedure TForm1.MenuItem1Click(Sender: TObject);
- begin
- end;
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- //Обработчик события создания формы
- //Удалить текст из Memo1
- Memo1.Clear;
- //Развернуть Memo1 на всю клиенскую область
- Memo1.Align:=alClient;
- //Установить шрифт Courier
- Memo1.Font.Name:='Courier';
- //Пока S редактируемый текст не сохранен в файле
- S:='';
- //В дальнейшем S предоставляет имя файла
- //Считать,что текст не модифицирован
- Memo1.Modified:=false;
- end;
- procedure TForm1.MenuItem2Click(Sender: TObject);
- begin
- //создать
- If Memo1.Modified then
- begin
- if s='' then
- begin
- //если текст в Мемо был изменен
- case MessageDlg('Текст был изменен. Сохранить данные'+
- 'в файле по выбору?', mtConfirmation,[mbYes,mbNo,mbCancel],0) of
- mrYes:begin
- MenuItem6Click(Self);
- //перейти к открыть
- end;
- mrCancel:exit; //не сохранять и перейти к открыть
- mrNo:; //не сохранять
- end;
- end else
- //если текст в Мемо был изменен
- case MessageDlg('Текст был изменен. Сохранить данные'+
- 'в файле по выбору?', mtConfirmation,[mbYes,mbNo,mbCancel],0) of
- mrYes:begin
- MenuItem5Click(Self);
- //перейти к открыть
- end;
- mrCancel:exit; //не сохранять и перейти к открыть
- mrNo:; //не сохранять
- end;
- end;
- Memo1.Clear;
- S:='';
- Form1.Caption:='Form1';
- Memo1.Modified:=false;
- end;
- procedure TForm1.MenuItem3Click(Sender: TObject);
- begin
- //Открыть
- If Memo1.Modified then
- begin
- if s='' then
- begin
- //если текст в Мемо был изменен
- case MessageDlg('Текст был изменен. Сохранить данные'+
- 'в файле по выбору?', mtConfirmation,[mbYes,mbNo,mbCancel],0) of
- mrYes:begin
- MenuItem6Click(Self);
- //перейти к открыть
- end;
- mrCancel:exit; //не сохранять и перейти к открыть
- mrNo:; //не сохранять
- end;
- end else
- //если текст в Мемо был изменен
- case MessageDlg('Текст был изменен. Сохранить данные'+
- 'в файле по выбору?', mtConfirmation,[mbYes,mbNo,mbCancel],0) of
- mrYes:begin
- MenuItem5Click(Self);
- //перейти к открыть
- end;
- mrCancel:exit; //не сохранять и перейти к открыть
- mrNo:; //не сохранять
- end;
- end;
- //открыть файл и поместить в Мемо
- if Form1.OpenDialog1.Execute then
- begin
- //если выбран файл
- S:=OpenDialog1.FileName; //S=Имя файла
- Memo1.Lines.LoadFromFile(S);//загрузить файл
- Memo1.Modified:=false;
- Form1.Caption:='Form1'+''+S;
- end;
- end;
- procedure TForm1.MenuItem4Click(Sender: TObject);
- begin
- //закрыть
- If Memo1.Modified then
- begin
- if s='' then
- begin
- //если текст в Мемо был изменен
- case MessageDlg('Текст был изменен. Сохранить данные'+
- '?', mtConfirmation,[mbYes,mbNo,mbCancel],0) of
- mrYes:begin
- MenuItem6Click(Self);
- //перейти к открыть
- end;
- mrCancel:exit; //не сохранять и перейти к открыть
- mrNo:; //не сохранять
- end;
- end else
- //если текст в Мемо был изменен
- case MessageDlg('Текст был изменен. Сохранить данные'+
- 'в файле по выбору?', mtConfirmation,[mbYes,mbNo,mbCancel],0) of
- mrYes:begin
- MenuItem5Click(Self);
- //перейти к открыть
- end;
- mrCancel:exit; //не сохранять и перейти к открыть
- mrNo:; //не сохранять
- end;
- end;
- //открыть файл и поместить в Мемо
- Memo1.Clear;
- S:='';
- Form1.Caption:='Form1';
- Memo1.Modified:=false;
- end;
- procedure TForm1.MenuItem5Click(Sender: TObject);
- begin
- //сохранить
- if s='' then
- MenuItem6Click(Self)
- else
- Memo1.Lines.SaveToFile(S);
- Memo1.Modified:=false;
- end;
- procedure TForm1.MenuItem6Click(Sender: TObject);
- begin
- //Сохранить как
- //Открытие окна диалога для выбора папки
- //и задания имени и типа файла, в который сохранить Memo1
- if Form1.SaveDialog1.Execute then
- begin
- //Если файл выбран
- //то присвоить имя файла
- S:=SaveDialog1.FileName;
- //сохранить текст в файле
- Memo1.Lines.SaveToFile(S);
- // Считать, что текст не модищицирован
- Memo1.Modified:=false;
- //в заголовок формы добавиь имя файла
- Form1.Caption:='Form1'+''+S;
- end;
- end;
- procedure TForm1.MenuItem7Click(Sender: TObject);
- begin
- //Выход
- If Memo1.Modified then
- begin
- if s='' then
- begin
- //если текст в Мемо был изменен
- case MessageDlg('Текст был изменен. Сохранить данные'+
- 'в файле по выбору?', mtConfirmation,[mbYes,mbNo,mbCancel],0) of
- mrYes:begin
- MenuItem6Click(Self);
- //перейти к открыть
- end;
- mrCancel:exit; //не сохранять и перейти к открыть
- mrNo:; //не сохранять
- end;
- end else
- //если текст в Мемо был изменен
- case MessageDlg('Текст был изменен. Сохранить данные'+
- 'в файле по выбору?', mtConfirmation,[mbYes,mbNo,mbCancel],0) of
- mrYes:begin
- MenuItem5Click(Self);
- //перейти к открыть
- end;
- mrCancel:exit; //не сохранять и перейти к открыть
- mrNo:; //не сохранять
- end;
- end;
- Close;
- end;
- procedure TForm1.MenuItem8Click(Sender: TObject);
- begin
- end;
- procedure TForm1.MenuItem9Click(Sender: TObject); //группы
- label L;
- Const
- Km=75;
- var
- j,i:integer;
- D:string;
- B:array [1..Km] of String[6];
- Fz,F:TextFile;
- N,k,buf:integer;
- gr:string[6];
- Fam:string[6];
- O1,O2,O3:2..5;
- p2:string[2];
- p1:string[1];
- group:string;
- begin
- j:=0;
- n:=1;
- Memo1.Clear;
- if Form1.OpenDialog1.Execute then
- //если выбран файл
- S:=OpenDialog1.FileName; //S=Имя файла
- AssignFile(F,S);
- reset(F);
- B[1]:='group';
- k:=1;
- While not eof(f) do
- begin
- if n>9 then
- readln(F,P2,N,P2,gr,P2,Fam,P2,P2,O1,P2,O2,P2,O3)
- else
- readln(F,p1,P2,N,P2,gr,P2,Fam,P2,P2,O1,P2,O2,P2,O3);
- for i:=1 to k do
- if Gr<>B[i] then
- else
- goto L;
- B[k]:=Gr;
- k:=k+1;
- //end;
- L:Memo1.Clear;
- // for i:=1 to k do
- // Memo1.Lines.Add(B[i]);
- // Memo1.Lines.Add('KKKKKKK'+IntToStr(k));
- end;
- k:=k-1;
- // Memo1.Lines.Add('KKKKKKK'+IntToStr(k));
- for i:=1 to k do
- begin
- AssignFile(F,S);
- reset(F);
- While not eof(f) do
- begin
- if n>9 then
- readln(F,P2,N,P2,gr,P2,Fam,P2,P2,O1,P2,O2,P2,O3)
- else
- readln(F,p1,P2,N,P2,gr,P2,Fam,P2,P2,O1,P2,O2,P2,O3);
- // Memo1.Lines.Add('ggggggggg'+Gr);
- //UpperCase(gr);
- n:=n+1;
- if B[i]=Gr then
- begin
- //if n<9 then
- // begin
- j:=j+1;
- Memo1.Lines.Add(p1+p2+IntToStr(j)+P2+gr+P2+Fam+P2+P2+IntToStr(O1)+P2+IntToStr(O2)+P2+IntToStr(O3))
- // end
- // else
- // begin
- // j:=j+1;
- // Memo1.Lines.Add(p2+IntToStr(j)+P2+gr+P2+Fam+P2+P2+IntToStr(O1)+P2+IntToStr(O2)+P2+IntToStr(O3))
- // end;
- // n:=n+1;}
- end ;
- end;
- j:=0;
- if Form1.SaveDialog1.Execute then
- begin
- D:=SaveDialog1.FileName;
- Memo1.Lines.SaveToFile(D);
- // group:=gr;
- Memo1.Clear;
- end;
- end;
- Memo1.Modified:=false;
- end;
- // end;
- //end;
- procedure TForm1.MenuItem10Click(Sender: TObject); //фамилии
- var
- i:integer;
- F:TextFile;
- N:integer;
- gr:string[6];
- Fam:string[10];
- O1,O2,O3:2..5;
- p2:string[2];
- p1:string[1];
- Famil:string;
- begin
- i:=0;
- n:=1;
- Memo1.Clear;
- if Form1.OpenDialog1.Execute then
- //если выбран файл
- S:=OpenDialog1.FileName; //S=Имя файла
- AssignFile(F,S);
- reset(F);
- Famil:='Petrov ';
- InputQuery('Фамилии', 'Введите необходимую Фамилию', Famil);
- While not eof(f) do
- begin
- if n>9 then
- readln(F,P2,N,P2,gr,P2,Fam,P2,P2,O1,P2,O2,P2,O3)
- else
- readln(F,p1,P2,N,P2,gr,P2,Fam,P2,P2,O1,P2,O2,P2,O3);
- UpperCase(Fam);
- UpperCase(Famil);
- // if n<9 then
- // begin
- if Fam=Famil then
- begin
- i:=i+1;
- Memo1.Lines.Add(p1+p2+IntToStr(i)+P2+gr+P2+Fam+P2+P2+IntToStr(O1)+P2+IntToStr(O2)+P2+IntToStr(O3))
- end;
- // end
- // else
- // begin
- // if Fam=Famil then
- // begin
- // i:=i+1;
- // Memo1.Lines.Add(p2+IntToStr(i)+P2+gr+P2+Fam+P2+P2+IntToStr(O1)+P2+IntToStr(O2)+P2+IntToStr(O3))
- end;
- end;
- // n:=n+1;
- //end;
- //end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement