Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Highscore-Funktion bzw. Text aus Editfeld in Datei speichern
Waldkauz - Do 07.05.09 18:45
Titel: Highscore-Funktion bzw. Text aus Editfeld in Datei speichern
Hallo!
Ich hab ein kleines Spiel programmiert, und ich möchte als kleine Zusatzfunktion eine Art Highscore-Funktion machen.
Ich hab mir das so überlegt: Also wenn die erhaltenen Punkte (werden in einem Editfeld ausgegeben) höher sind, als der Inhalt des .txt-Dokuments "Punkte", dann wird man idealerweise eine Art prompt-Funktion (wie nennt sich die in Delphi?) oder wenn das zu kompliziert ist, über ein erscheinendes Editfeld aufgefordert, seinen Namen einzugeben und der Name wird samt Punktezahl im Textdokument gespeichert...
Ich wüsste allerdings nicht, wie ich das anstellen soll, dass der Inhalt des Editfeldes gespeichert wird...
ffgorcky - Do 07.05.09 19:52
Die PromptFunktion ist doch einfach nur
Delphi-Quelltext
1:
| MessageBox('und hier der anzuzeigene Text',MBOK); |
Damit gibst Du eine Meldung aus, die nur einen OK-Button hat.
jaenicke - Do 07.05.09 19:54
Da kannst du aber keinen Text eingeben... :gruebel: ;-)
Dafür gibt es InputBox oder InputQuery.
ffgorcky - Do 07.05.09 20:00
Sprich eine InputBox in dieser Art:
Delphi-Quelltext
1:
| Name:=InputBox('Name?','Bitte geben Sie hier Ihren Namen ein!'+#13#10+'Danke!',''); |
Waldkauz - Do 07.05.09 20:12
ffgorcky hat folgendes geschrieben : |
Sprich eine InputBox in dieser Art:
Delphi-Quelltext 1:
| Name:=InputBox('Name?','Bitte geben Sie hier Ihren Namen ein!'+#13#10+'Danke!',''); | |
und kann man auch die Eingabe der InputBox irgendwo abspeichern?
jaenicke - Do 07.05.09 20:27
jaenicke hat folgendes geschrieben : |
Wie wäre es mit TStringList oder AssignFile, Reset/Rewrite, ReadLn/WriteLn, CloseFile? |
ffgorcky - Do 07.05.09 20:28
Du meinst jetzt so in etwa?:
Delphi-Quelltext
1: 2: 3: 4: 5:
| MemoGewinnerListe.Lines.LoadFromFile('Gewinnerliste.beliebigeEndung'); while Name='' do Name:=InputBox('Name?','Bitte geben Sie hier Ihren Namen ein!'+#13#10+'Danke!',''); memo1.lines.add(Name+' '+Gewinnsumme); MemoGewinnerListe.Lines.SaveToFile('Gewinnerliste.beliebigeEndung'); |
Wobei Du die while-Zeile auch weglassen kannst.
---
Moderiert von
Narses: Beiträge zusammengefasst---
Wobei Du auch VK_TAB statt der Leerzeichen nutzen kannst,
also so:
Name+VK_TAB+Gewinnsumme
PS: Ich habe eben noch mal meinen Eintag davor abgeändert, weil das ja dann so ( mit dem Add(Zeile) ) wohl die sauberere Methode sein soll.
jaenicke - Do 07.05.09 21:00
Wenn du jetzt noch das Memo weglässt und durch eine TStringList ersetzt, dann wäre die Lösung schon recht gut...
Ein Memo ist ausschließlich zur Anzeige und nicht als Hilfsmittel zur Datenspeicherung geeignet.
Waldkauz - Do 07.05.09 21:40
ich finde die TStringList (gibts bei der eig. 'nen Scrollbalken?) nicht...
jaenicke - Do 07.05.09 21:51
Wenn du etwas anzeigen willst, ist das TMemo ja richtig, das hat ja auch nen Scrollbalken, wenn du das einstellst.
Eine TStringList ist eben keine visuelle Komponente, wenn du also nur etwas speichern, aber nicht auf dem Formular anzeigen willst, dann ist die TStringList passender.
Waldkauz - Do 07.05.09 22:10
jaenicke hat folgendes geschrieben : |
Wenn du etwas anzeigen willst, ist das TMemo ja richtig, das hat ja auch nen Scrollbalken, wenn du das einstellst.
Eine TStringList ist eben keine visuelle Komponente, wenn du also nur etwas speichern, aber nicht auf dem Formular anzeigen willst, dann ist die TStringList passender. |
Habs mit TMemo schon gehabt, aber da komt kein ScrollBalken...
jaenicke - Do 07.05.09 22:13
jaenicke hat folgendes geschrieben : |
ist das TMemo ja richtig, das hat ja auch nen Scrollbalken, wenn du das einstellst. |
:roll:
Und rate mal wie die passende Eigenschaft heißt... schau mal im Objektinspektor nach...
Wobei zur Anzeige eine TListBox besser wäre, da diese nicht editierbar ist, ein TMemo muss dafür auf ReadOnly = True stehen.
Waldkauz - Do 07.05.09 22:15
so, jetzt passts.
Danke für eure Hilfe!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!