![]() |
AW: Zugriff mehrerer User auf eine Datei
Also ich würde wenn es nur um zentrale Highscores geht die Sache mit einer exklusiv gelockten Datei erledigen.
Hier mal Stichpunktartig der Ablauf: Eingabeparameter: * Dateiname * Highscorename * scorewert (-1 bedeutet: Highscore nicht schreiben) Ausgabe * Stringliste mit Highscores Ablauf 1.) Datei exklusiv öffnen dabei hilft dieser Code ![]() 2.) Inhalt aus dem Stream in die Stringliste einlesen
Delphi-Quellcode:
3.) Wenn scorewert = -1 dann gehts weiter mit Punkt 8
Liste.ReadFromStream(stream);
4.) Zeile mit dem Highscorename suchen und aktualisieren der Inhalt der Datei könnte z.B. so aussehen
Code:
Also immer Name|score in einer Zeile
Gametester|200000
Predator|80500 Fredl|60000 Beginner|5500 5.) Falls der eigene Name nicht in der Liste enthalten dann neuen Eintrag einfügen 6.) Liste ggf. sortieren 7.) Stream Position auf Anfang setzen und aktualisiert Liste schreiben 8.) Streamobjekt freigeben Man kann den beschriebenen Auflauf in einer Procedure unterbringen oder (besser) man schreibt eine Klasse dafür. Nachtrag: man kann die Stringliste auch in ein
Delphi-Quellcode:
kopieren (Methoden
TMemIniFile
Delphi-Quellcode:
,
SetStrings
Delphi-Quellcode:
) und so den Datenzugriff vereinfachen
GetStrings
|
AW: Zugriff mehrerer User auf eine Datei
Zitat:
![]() Das ![]() Konkret hilft das aber auch nicht, aber damit würde ich den Ansatz von sx2008 kapseln ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz