![]() |
Highscore
Hallo Leute
bin mir nich ganz sicher ob mein Problem in dieses Forum gehört bin noch neu hier :shock: Also mein problem is Folgendes: ich bin grad dabei nen kleines Spiel zu proggen und will auch ne Highscore hinzufügen: Aber diese funktioniert einfach nicht so wie sie soll. Ich will sie mit einer Listbox realisieren, also name und Punktzahl in einer Listbox. Ohne die namen währe es ja kein problem, aber da die Namen ja Strings sind funktionieren die Sortieralgorithmen logischerweise nicht. Also lautet meine frage: Löse ich dieses prob?? Vielleicht gibt es ja auch einfachere möglichkeiten (nicht mit einer Listbox), wenn ja, welche wären das?? Also vielen Dank schon mal für alle antworten 8) gregor |
Re: Highscore
Nimm eine TListView und setze ViewStyle auf vsReport.
|
Re: Highscore
Halte die Daten doch in einer Liste von Records / Klassen (TList, TObjectList).
Diese Klassen haben eine anpassbare Sortier-Funktion. Die Daten würde ich per Owner-Data-List darstellen um rudimentäre Daten zu vermeiden. + Owner-Draw zur Verschönerung weil es ja ein Spiel werden soll. |
Re: Highscore
@ marco Haffner
Danke schon mal für den Tipp, ich komm aber mit der TListView net ganz klar. Ich hab mit der noch nie gearbeitet (lern Delpi erst seid 2 Jahren in der schule) und die Online- Hilfe konnte mir auch nicht wirklich helfen. :roll: Kannst du (oder jemand anderes) mir nochmal genauere Anweisungen geben?? @ neolithos Auch danke für die Hilfe, die Möglichkeit finde ich aber irgentwie zu kompliziert, da muss es doch was einfacheres geben.... cu gregor |
Re: Highscore
Hier mal schnelkl das Einfügen eines Eintrages im ListView:
Delphi-Quellcode:
Sowas müßte aber eigentlich in der OH zu finden sein. Ansonsten wirst du auch hier im Forum fündig.
var ListItem: TListItem;
begin ListItem := ListView.Items.Add; ListItem.Caption := 'Caption'; ListItem.SubItems.Add('1. SubItem'); |
Re: Highscore
ok danke Tpercon, hast mir sehr geholfen.
Sorry wenn ich nerve, aber alles ist jetzt immernoch nicht ganz klar: Ich weiß nicht wie ich einträge Sortieren soll. Ich mein jetzt nicht die Namen sondern die "Untertitel" der Namen, welche die gewonnene Punktzahl darstellen sollen. ich hab#s schon selber versucht bekomme aber immer nur ne Zugriffsverletztung.... als ergebnis :oops: |
Re: Highscore
Kuck dir mal den Source auf der Seite an:
![]() Da steht zwar noch etwas mehr, sollte dir aber dennohc helfen :mrgreen: |
Re: Highscore
hab mir grad den link angesehen.. sieht ja wahnsinnig kompliziert aus...
versteh ich fast kein wort von. Da muss es doch noch ne viel einfachere Möglichkeit geben, z.B. mit den ganz normalen Sortieralgorithmen. oder geht das etwa nicht??? |
Re: Highscore
versuche mal das , damit wird bei einem klick auf column sortiert
Delphi-Quellcode:
[edit=Daniel B]Delphi-Tags korrigiert Mfg, Daniel B[/edit]
procedure TForm1.listview1ColumnClick(sender:TObject;Column:TListColumn);
begin ColumnToSort := Column.Index; (Sender as TCustomListView).AlphaSort; end; procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer); var i:integer; begin if ColumnToSort = 0 then Compare := CompareText(Item1.Caption,Item2.Caption) else begin i := ColumnToSort - 1; Compare := CompareText(Item1.SubItems[i],Item2.SubItems[i]); end; end; |
Re: Highscore
Zitat:
Schließlich lernt man ja auhc daraus. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 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