Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Uses Crt;
- type
- Actors = Record
- ID_A: word;
- Name_A: string[18];
- Fam_A: string[18];
- DofB: string[8];
- Roles: byte; {1 - Π³Π»Π°Π²Π½Π°Ρ, 2 - Π²ΡΠΎΡΠΎΡΡΠ΅ΠΏΠ΅Π½Π½Π°Ρ, 3 - ΠΌΠ°ΡΡΠΎΠ²ΠΊΠ°}
- Gender: boolean;
- end;
- Films = Record
- ID_F: word;
- ID_A: word;
- Name_F: string[20];
- Duration: string[6];
- Date: string[8];
- end;
- var
- FV1: file of Actors;
- ActorsBP: Actors;
- FV2: file of Films;
- FilmsBP: Films;
- temp: longword;
- const
- ActorsName = 'Actors.uwu';
- FilmsName = 'Films.uwu';
- Yes = 'YyΠ£Ρ';
- No = 'NnΠΠ½';
- procedure Open;
- begin
- Assign(FV1, ActorsName);
- Assign(FV2, FilmsName);
- if not FileExists(ActorsName) then ReWrite(FV1)
- else ReSet(FV1);
- if not FileExists(FilmsName) then ReWrite(FV2)
- else ReSet(FV2);
- end;
- procedure Close;
- begin
- Close(FV1);
- Close(FV2);
- end;
- procedure Add;
- begin
- var
- input: string;
- var role: integer;
- begin
- if (FileSize(FV1) > 0) then
- begin
- Seek(FV1, FileSize(FV1) - 1);
- Read(FV1, ActorsBP);
- ActorsBP.ID_A := ActorsBP.ID_A + 1;
- end
- else ActorsBP.ID_A := 0;
- repeat
- Write('ΠΠΌΡ Π°ΠΊΡΠ΅ΡΠ°: ');
- Readln(input);
- until (input.Length <= 18) and (input <> ''.ToString());
- ActorsBP.Name_A := input;
- repeat
- Write('Π€Π°ΠΌΠΈΠ»ΠΈΡ Π°ΠΊΡΠ΅ΡΠ°: ');
- Readln(input);
- until (input.Length <= 18) and (input <> ''.ToString());
- ActorsBP.Fam_A := input;
- repeat
- Write('ΠΠ°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ: ');
- Readln(input);
- input.Replace('.', '')
- until (input.Length = 8) and longword.TryParse(input, temp);
- ActorsBP.DofB := input;
- repeat
- Write('Π ΠΎΠ»Ρ: (1 - Π³Π»Π°Π²Π½Π°Ρ; 2 - Π²ΡΠΎΡΠΎΡΡΠ΅ΠΏΠ΅Π½Π½Π°Ρ; 3 - ΠΌΠ°ΡΡΠΎΠ²ΠΊΠ°)');
- Readln(input);
- TryStrToInt(input, role);
- until (input.Length = 1) and (input <> ''.ToString()) and (role > 0) and (role < 4); {Π½ΡΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ, ΡΠ°Π²Π΅Π½ Π»ΠΈ ΠΈΠ½ΠΏΡΡ 1/2/3}
- ActorsBP.Roles := role;
- repeat
- Write('ΠΠΎΠ» ΠΌΡΠΆΡΠΊΠΎΠΉ?: (Y of N)');
- Readln(input);
- until (Yes.Contains(input)) or (No.Contains(input));
- ActorsBP.Gender := Yes.Contains(input) ? true : false;
- end;
- Write(FV1, ActorsBP);
- end;
- procedure List;
- begin
- {ΠΈΠ· ΡΠ°ΠΉΠ»Π° Ρ ΡΠ°ΠΌΠΎΠΉ 1 ΠΏΠΎΠ· Π²ΡΡΠ°ΡΠΊΠΈΠ²Π°ΡΡ Π·Π°ΠΏΠΈΡΠΈ Π² Π±ΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΠΏΠΎΡΠΎΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΅Ρ ΠΏΠΎΠ»Π΅ΠΉ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ}
- Seek(FV1, 0);
- while not Eof(FV1) do begin
- Read(FV1, ActorsBP);
- var Role : string;
- var Gender : string;
- {if ActorsBP.Roles = 1 then
- Role := 'Π³Π»Π°Π²Π½Π°Ρ';
- else if ActorsBP.Roles = 2 then
- Role := 'Π²ΡΠΎΡΠΎΡΡΠ΅ΠΏΠ΅Π½Π½Π°Ρ';
- else if ActorsBP.Roles = 3 then
- Role := 'ΠΌΠ°ΡΡΠΎΠ²ΠΊΠ°';}
- if ActorsBP.Gender = True then
- Gender := 'ΠΌΡΠΆΡΠΊΠΎΠΉ'
- else
- Gender := 'ΠΆΠ΅Π½ΡΠΊΠΈΠΉ';
- case ActorsBP.Roles of
- 1 : Role := 'Π³Π»Π°Π²Π½Π°Ρ';
- 2 : Role :='Π²ΡΠΎΡΠΎΡΡΠ΅ΠΏΠ΅Π½Π½Π°Ρ';
- 3 : Role :='ΠΌΠ°ΡΡΠΎΠ²ΠΊΠ°';
- end;
- WriteLn(' Π΄Π°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ: ' + ActorsBP.DofB + ' ' + ActorsBP.Fam_A + ' ' + Gender + ' ' + ActorsBP.ID_A + ' ' + ActorsBP.Name_A + ' ' + Role);
- end;
- end;
- procedure Menu;
- var
- input: string;
- begin
- while input<>'1' do
- begin
- Write('ΠΠ²Π΅Π΄ΠΈΡΠ΅ "help" Π΄Π»Ρ ΡΠΏΠΈΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: ');
- ReadLn(input);
- case input of
- 'help':
- WriteLn('1 - Π²ΡΠΉΡΠΈ' + NewLine + '2 - Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΡ'
- + NewLine + '3 - Π²ΡΠ²Π΅ΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΠΠΊΡΠ΅ΡΠΎΠ²');
- '2': Add;
- '3': List;
- end;
- end;
- end;
- begin
- Open;
- Menu;
- Close;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement