Advertisement
Guest User

Untitled

a guest
May 18th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 2.74 KB | None | 0 0
  1. procedure TGameOver.FormCreate(Sender: TObject);
  2. const
  3.    strNameOfFile = 'TypedFile.dat';
  4. var
  5.    usrFile: File of TUsers;
  6.    i: integer;
  7. begin
  8.    cmbBoxUsers.Items.Add('');
  9.    AssignFile(usrFile, strNameOfFile);
  10.    if FileExists(strNameOfFile) then
  11.       Reset(usrFile)
  12.    else
  13.       Rewrite(usrFile);
  14.    mplrDeathMusic.Open;
  15.    mplrDeathMusic.Play;
  16.    if FileSize(usrFile) > 0 then
  17.    begin
  18.       SetLength(usrArray, FileSize(usrFile));
  19.       for i := 0 to FileSize(usrFile) - 1 do
  20.       begin
  21.          Read(usrFile, usrArray[i]);
  22.          cmbBoxUsers.Items.Add(usrArray[i].strName);
  23.       end;
  24.    end
  25.    else
  26.    begin
  27.       Rewrite(usrFile);
  28.       SetLength(usrArray, FileSize(usrFile));
  29.    end;
  30.    CloseFile(usrFile);
  31. end;
  32.  
  33. procedure TGameOver.pnlOKClick(Sender: TObject);
  34. const
  35.    strNameOfFile = 'TypedFile.dat';
  36. var
  37.    usrFile: File of TUsers;
  38.    i: Integer;
  39.    blAddNewName, blChangeUsersScore, blTheSameName: Boolean;
  40. begin
  41.    blAddNewName := (cmbBoxUsers.Text = '') and (Length(edtNewName.Text) > 0);
  42.    blChangeUsersScore := (Length(cmbBoxUsers.Text) > 0) and (edtNewName.Text = '');
  43.    blTheSameName := False;
  44.    if blAddNewName then
  45.    begin
  46.       AssignFile(usrFile, strNameOfFile);
  47.       if FileExists(strNameOfFile) then
  48.          Reset(usrFile)
  49.       else
  50.          Rewrite(usrFile);
  51.       for i := 0 to Length(usrArray) - 1 do
  52.          if (usrArray[i].strName = edtNewName.Text) then
  53.             blTheSameName := True;
  54.       if not blTheSameName then
  55.       begin
  56.          SetLength(usrArray, Length(usrArray) + 1);
  57.          usrArray[Length(usrArray) - 1].strName := edtNewName.Text;
  58.          usrArray[Length(usrArray) - 1].intScore := StrToInt(MainForm.lblScore.Caption);
  59.          Rewrite(usrFile);
  60.          for i := 0 to Length(UsrArray) - 1 do
  61.             Write(usrFile, usrArray[i]);
  62.          Close;
  63.       end;
  64.       CloseFile(UsrFile);
  65.    end;
  66.    if blChangeUsersScore or blTheSameName then
  67.    begin
  68.       AssignFile(usrFile, strNameOfFile);
  69.       if FileExists(strNameOfFile) then
  70.          Reset(usrFile)
  71.       else
  72.          Rewrite(usrFile);
  73.       for i := 0 to Length(usrArray) - 1 do
  74.       begin
  75.          if (usrArray[i].strName = cmbBoxUsers.Text) and (usrArray[i].intScore < StrToInt(MainForm.lblScore.Caption)) and (not blTheSameName) then
  76.             usrArray[i].intScore := StrToInt(MainForm.lblScore.Caption);
  77.          if (usrArray[i].strName = edtNewName.Text) and (usrArray[i].intScore < StrToInt(MainForm.lblScore.Caption)) and (blTheSameName) then
  78.             usrArray[i].intScore := StrToInt(MainForm.lblScore.Caption);
  79.       end;
  80.       Rewrite(usrFile);
  81.       for i := 0 to Length(UsrArray) - 1 do
  82.          Write(usrFile, usrArray[i]);
  83.       CloseFile(UsrFile);
  84.       Close;
  85.    end;
  86. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement