Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- procedure TGameOver.FormCreate(Sender: TObject);
- const
- strNameOfFile = 'TypedFile.dat';
- var
- usrFile: File of TUsers;
- i: integer;
- begin
- cmbBoxUsers.Items.Add('');
- AssignFile(usrFile, strNameOfFile);
- if FileExists(strNameOfFile) then
- Reset(usrFile)
- else
- Rewrite(usrFile);
- mplrDeathMusic.Open;
- mplrDeathMusic.Play;
- if FileSize(usrFile) > 0 then
- begin
- SetLength(usrArray, FileSize(usrFile));
- for i := 0 to FileSize(usrFile) - 1 do
- begin
- Read(usrFile, usrArray[i]);
- cmbBoxUsers.Items.Add(usrArray[i].strName);
- end;
- end
- else
- begin
- Rewrite(usrFile);
- SetLength(usrArray, FileSize(usrFile));
- end;
- CloseFile(usrFile);
- end;
- procedure TGameOver.pnlOKClick(Sender: TObject);
- const
- strNameOfFile = 'TypedFile.dat';
- var
- usrFile: File of TUsers;
- i: Integer;
- blAddNewName, blChangeUsersScore, blTheSameName: Boolean;
- begin
- blAddNewName := (cmbBoxUsers.Text = '') and (Length(edtNewName.Text) > 0);
- blChangeUsersScore := (Length(cmbBoxUsers.Text) > 0) and (edtNewName.Text = '');
- blTheSameName := False;
- if blAddNewName then
- begin
- AssignFile(usrFile, strNameOfFile);
- if FileExists(strNameOfFile) then
- Reset(usrFile)
- else
- Rewrite(usrFile);
- for i := 0 to Length(usrArray) - 1 do
- if (usrArray[i].strName = edtNewName.Text) then
- blTheSameName := True;
- if not blTheSameName then
- begin
- SetLength(usrArray, Length(usrArray) + 1);
- usrArray[Length(usrArray) - 1].strName := edtNewName.Text;
- usrArray[Length(usrArray) - 1].intScore := StrToInt(MainForm.lblScore.Caption);
- Rewrite(usrFile);
- for i := 0 to Length(UsrArray) - 1 do
- Write(usrFile, usrArray[i]);
- Close;
- end;
- CloseFile(UsrFile);
- end;
- if blChangeUsersScore or blTheSameName then
- begin
- AssignFile(usrFile, strNameOfFile);
- if FileExists(strNameOfFile) then
- Reset(usrFile)
- else
- Rewrite(usrFile);
- for i := 0 to Length(usrArray) - 1 do
- begin
- if (usrArray[i].strName = cmbBoxUsers.Text) and (usrArray[i].intScore < StrToInt(MainForm.lblScore.Caption)) and (not blTheSameName) then
- usrArray[i].intScore := StrToInt(MainForm.lblScore.Caption);
- if (usrArray[i].strName = edtNewName.Text) and (usrArray[i].intScore < StrToInt(MainForm.lblScore.Caption)) and (blTheSameName) then
- usrArray[i].intScore := StrToInt(MainForm.lblScore.Caption);
- end;
- Rewrite(usrFile);
- for i := 0 to Length(UsrArray) - 1 do
- Write(usrFile, usrArray[i]);
- CloseFile(UsrFile);
- Close;
- end;
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement