Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Highscoreliste mit Datenbank (https://www.delphipraxis.net/207400-highscoreliste-mit-datenbank.html)

S4nikrA 20. Mär 2021 12:56

Datenbank: Access • Version: 10.3 • Zugriff über: Delphi

Highscoreliste mit Datenbank
 
Guten Tag, liebe Community.:-D
Durch ein Schulprojekt muss ich in meinem Spiel eine Highscore Liste einbinden.
Zum Beginn soll eine Abfrage gestellt werden, von Name und dann der Schwierigkeitsgrad.
Idee dazu, war eine Datenbank mit Name, Leicht, Mittel und Schwer (für die Schwierigkeitsstufen).
Dabei sollten nur die besten 10 gespeichert werden, mit dem angeklickten Schwierigkeitsgrad und dem Name.
Jeder Eintrag soll in ein eigenes Edit gehen, sodass ich dann 10 Editfelder habe.

Hat da jemand eine Idee für die Umsetzung?
Mit Datenbanken habe ich leider nicht viel am Hut, bis jetzt läuft nur eine Datenbankeinbindung in ein DatenbankGrid, was die erstellte Datenbank mit den Werten anzeigen lässt.
Ich hoffe, dass ihr mir helfen könnt.:wink:

MfG S4nikrA

KodeZwerg 20. Mär 2021 13:47

AW: Highscoreliste mit Datenbank
 
Speicher es doch als binary record oder noch einfacher als ini Datei.
Scheint für Anfänger die bessere Wahl da der Umfang und was man beachten sollte weit geringer ausfällt als wenn man sich mit echten Datenbanken beschäftigen muss.

Zitat:

Zitat von S4nikrA (Beitrag 1485607)
Jeder Eintrag soll in ein eigenes Edit gehen, sodass ich dann 10 Editfelder habe.

Müssten es nicht 3 x 10 sein? Für jeden Schwierigkeitsgrad die besten 10? Oder war der Grundgedanke den Grad in ComboBox auswählen und dann 10 passende sortiert reinladen?

TurboMagic 20. Mär 2021 15:07

AW: Highscoreliste mit Datenbank
 
Hallo,

wenn's eine ini-Datei werden soll, dann geht das ungefähr so:

Delphi-Quellcode:
uses
  IniFiles;

procedure TMainForm.ReadIni;
var
  ini   : TIniFile;
  i     : Integer;
  Name  : string;
  Punkte : Integer;
begin
  ini := TIniFile.Create('d:\Highscores.dat'); // muss also nicht .ini sein...
  try
    for i := 1 to 10 do
    begin
      Name  := ini.ReadString('Slot' + i.ToString, 'Name', '');
      Punkte := ini.ReadString('Slot' + i.ToString, 'Punkte', 0);

      // hier käme die Ausgabe auf dem Bildschirm hin
    end;
  finally
    ini.Free;
  end;
end;
Zum Schreiben ginge das analog, TIniFile hat dazu WriteXXX Methoden.

Falls die Vorgabe aber ist, dass eine Datenbank zu benutzen ist, dann nochmal melden.
Da würde man dann wohl zuerst eine entsprechende Liste im Speicher anlegen die nur
diese 10 höchsten Highscorewerte enthält, die Highscore Tabelle vor dem Speichern
mittels delete SQL Befehl löschen und dann mittels Schleife und SQL insert den
Inhalt der Highscore Liste in die Datenbank schreiben.

Grüße
TurboMagic


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz