![]() |
Werte von Integer in Textdatei speichern
Hallo Forengemeinde,
ich habe ein kleines Quiz programmiert mit grafischer Oberfläche. Ich habe dort im Hintergrund einen Zähler, der die richtigen bzw falschen Antworten zählt. Ich möchte nun allerdings diese Variable in eine neue Textdatei speichern um später nachzuschauen welcher Spieler wievielePunkte gemacht hat. Ich habe schon ein wenig gegooglet, finde aber glaube ich, nicht die richtige Lösung. Es wäre schön wenn mir dabei mal einer helfen könnte! mfg Ben |
Re: Werte von Integer in Textdatei speichern
Dafür würde sich entweder eine INI-Datei anbieten (SpielerName=Punkte) oder eine TStringList (Names & Values) die dann auch gleich eine Methode mitliefert, um in eine Datei zu speichern.
|
Re: Werte von Integer in Textdatei speichern
Und wie soll ich das ganze realisieren? Ich bin im grunde noch Anfänger in Delphi, hätte ich vllt vorher sagen sollen
Delphi-Quellcode:
if antwort[a ,2] = antwort[a ,0] then
wcounter:= wcounter+1 else fcounter:= fcounter+1; das ist der Code meines counters wcounter steht für richtige antworten, fcounter für falsche antworten. Beide sind vorher auf 0 gesetzt worden |
Re: Werte von Integer in Textdatei speichern
Hast du hier im Forum oder in der Hilfe schon mal nach Ini-Dateien geguckt, wie die funktionieren?
|
Re: Werte von Integer in Textdatei speichern
|
Re: Werte von Integer in Textdatei speichern
In der Handhabung als HighScore-Liste wäre jetzt TSrtinList evtl. einfacher. Lässt sich einfach ein Wert (Spieler=Score) zufügen. Durch assign die ganze Liste gleich in einer ListBox anzeigen und mit LoadFromFile/SaveToFile recht schnell spreichern.
Das Aneignen der INI-File Funktionsweise hätte dann wieder den Vorteil, das man gleich einen Dateispeicher für weitere Programmeinstellungen hat. |
Re: Werte von Integer in Textdatei speichern
Zitat:
edit:// habs jetzt soweit hingekriegt,das der Inhalt einer textdatei ausgelesen wird und in der tlistbox angezeigt wird.
Delphi-Quellcode:
nur wie schreib ich das ganze da rein?
procedure TForm1.Button7Click(Sender: TObject); //highscore
begin highscore := TStringList.Create; try highscore.LoadFromFile('Beispiel.txt'); ListBox1.Items := highscore; except ShowMessage ('Fehler beim öffnen der Datei!'); end; end; |
Re: Werte von Integer in Textdatei speichern
Zunächst solltest Du schauen ob der aktuelle Benutzer schon in der stringlist ist.
falls ja überschreibe den vorhandenen counterstand falls nein einfach
Delphi-Quellcode:
Ggf. sortierst Du noch bevor Du alles wegschreibst.
highscore.lines.add(benutzer+'='+inttostr(counter));
das war's gruß K-H |
Re: Werte von Integer in Textdatei speichern
Zitat:
|
Re: Werte von Integer in Textdatei speichern
@DeddyH: die TStringList bietet dafür aber auch Möglichkeiten ... muß man also nicht selber suchen
:angel2:
Delphi-Quellcode:
das geht eigentlich mit fast allen XMLLibs ähnlich einfach
// Datei und Benutzer sind Strings und Counter, PunkteDazu sind Integer
// (Typkonvertierung passiert intern) // alle nötigen Befehle: XML := TXMLFile.Create; XML.LoadFromFile(Datei); Counter := XML.RootNode.Node[Benutzer].Data; .... XML.RootNode.Node[Benutzer].Data := Counter; XML.SaveToFile(Datei); XML.Free; // hier muß man nur aufpassen, daß Benutzer keine Lehrzeichen und sowas enthält und in Kurz ginge bei himXML auch sowas: Benutzer darf hier nur keine * ? \ und > enthalten
Delphi-Quellcode:
Ergebnis wäre dann eine XML-Strucktur wie diese
XML := TXMLFile.Create(nil, false, 'meinepunkteliste');
XML.Options := [xoNodeAutoCreate, xoAutoSaveOnClose]; if FileExists(Datei) then XML.LoadFromFile(Datei) else XML.Filename := Datei; ... Counter := XML.RootNode.Node['user>name=' + Benutzer].Data; XML.RootNode.Node['user>name=' + Benutzer].Data := XML.RootNode.Node['user>name=' + Benutzer].Data + PunkteDazu; XML.RootNode.Node['user>name=' + Benutzer].Data := Counter; ... XML.Free;
XML-Code:
<meinepunkteliste>
<user name="Benutzer">Counter</user> <user name="Benutzer2">Counter2</user> ... </meinepunkteliste> |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:32 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