Autor Beitrag
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 11.01.10 23:58 
Moin!

user profile iconVorschlag hat folgendes geschrieben Zum zitierten Posting springen:
Also meine Vergleichsmehtode ist folgende:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
// Sortiervergleich für die Highscore-Liste
procedure TForm2.lvHighscoreCompare(Sender: TObject; Item1, Item2: TListItem;
  Data: Integer; var Compare: Integer);
begin
  if (Item1.Data = Item2.Data) then // wenn die Punkte/Zeit bei den Elementen gleich sind, dann...
    Compare := CompareText(Item1.SubItems[3],Item2.SubItems[3]) // vergleiche die 4. Spalte (auf Textbasis!)
  else // sonst...
    Compare := CompareValue(Integer(Item1.Data),Integer(Item2.Data)); // vergleiche die Punkte/Zeit
end;
Hier hast du was anderes geschrieben: :gruebel:
user profile iconVorschlag hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:
Sieht soweit gut aus. :zustimm: (wobei du vermutlich das Datum nicht als Text vergleichen willst, aber egal)

Funktioniert auch :) Allerdings mit SubItems[1] will ja die 3. Spalte.


user profile iconVorschlag hat folgendes geschrieben Zum zitierten Posting springen:
2. mmh also hattest du es dir anderst gedacht?
Also funktionieren tut es zumindestens.
Dein Code enthält Redundanzen, das ist unschön. Aber wie du schon erkannt hast: es funktioniert so.

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Vorschlag Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 63



BeitragVerfasst: Di 12.01.10 00:11 
Jop, da war nen Fehler von mir, daher habe ich von 1 auf 3 gewechselt :)

Redundanzen musste ich erst mal googln :)


Eigentlich macht Delphi doch noch Spaß :) Zumindest, wenn etwa klappt.

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

Komisch, jetzt wird nur noch nach der gebrauchten Zeit sortiert und nicht die Bedingung
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
// Sortiervergleich für die Highscore-Liste
procedure TForm2.lvHighscoreCompare(Sender: TObject; Item1, Item2: TListItem;
  Data: Integer; var Compare: Integer);
begin
  if (Item1.Data = Item2.Data) then // wenn die gebrauchte Zeit bei den Elementen gleich ist, dann...
    Compare := CompareText(Item1.SubItems[3],Item2.SubItems[3]) // vergleiche die 4. Spalte (auf Textbasis!)
  else // wenn die gebrauchte Zeit nicht gleich ist
    Compare := CompareValue(Integer(Item1.Data),Integer(Item2.Data)); // vergleiche die Punkte/Zeit
end;

scheint nicht mehr zu funktionieren?

Apropo welches SubItems ist den was?
So wie ich es hier geschrieben habe:
[1] ist doch Benötigte Zeit?
[0] Name
[2] Paare
[3] Fehlversuche
[4] Datum
?


Habe es wohl nun so gefixt:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
// Sortiervergleich für die Highscore-Liste
procedure TForm2.lvHighscoreCompare(Sender: TObject; Item1, Item2: TListItem;
  Data: Integer; var Compare: Integer);
begin
  if (Item1.Data = Item2.Data) then // wenn die gebrauchte Zeit bei den Elementen gleich ist, dann...
    Compare := CompareText(Item2.SubItems[2],Item1.SubItems[2]) // vergleiche die 4. Spalte (auf Textbasis!)
  else // wenn die gebrauchte Zeit nicht gleich ist
    Compare := CompareValue(Integer(Item1.Data),Integer(Item2.Data)); // vergleiche die Punkte/Zeit
end;
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 12.01.10 00:51 
Moin!

user profile iconVorschlag hat folgendes geschrieben Zum zitierten Posting springen:
Komisch, jetzt wird nur noch nach der gebrauchten Zeit sortiert und nicht die Bedingung
Wonach auch immer du sortieren willst, das musst du schon selbst wissen. :nixweiss:

user profile iconVorschlag hat folgendes geschrieben Zum zitierten Posting springen:
Apropo welches SubItems ist den was?
Bei einem TListItem ist die erste Spalte die .Caption-Eigenschaft des TListItems, die 2. Spalte ist das erste .SubItem. also .SubItems[0], etc.pp.

user profile iconVorschlag hat folgendes geschrieben Zum zitierten Posting springen:
So wie ich es hier geschrieben habe:
Mit der Erläuterung und dem Code, in welcher Reihenfolge du die Elemente anlegst, solltest du wohl selbst drauf kommen können. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Vorschlag Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 63



BeitragVerfasst: Di 12.01.10 16:31 
Wie erstelle ich einen 2 Spieler Modus?

Wie verschwinden die gefundenen Paare?
Edit: Das Verschwinden habe ich hinbekommen. :)

Den 2-Spieler Modus leider nicht.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 12.01.10 17:23 
Moin!

user profile iconVorschlag hat folgendes geschrieben Zum zitierten Posting springen:
Wie erstelle ich einen 2 Spieler Modus?
[...]
Den 2-Spieler Modus leider nicht.
Öhm, 2 Spieler beim Memory? :shock: Wie soll das ablaufen? :nixweiss:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Vorschlag Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 63



BeitragVerfasst: Di 12.01.10 17:27 
Also 2 Spieler habe ich schon.

Ich soll nur noch für die einzelnen Spieler die gefundenen Pärchen zählen-.


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
else begin
        if LbSpieler.Caption= 'Spieler 1'
        then begin
          GameState := gsOpenCards2;
          LbSpieler.Caption:= 'Spieler 2';
          Moves := Moves +1// sonst ein Zug mehr
          ShowMessage('Spieler 2 ist an der Reihe.');
        end
        else begin
          GameState := gsOpenCards2;
          Moves := Moves +1// sonst ein Zug mehr
          ShowMessage('Spieler 1 ist an der Reihe.');
          LbSpieler.Caption:= 'Spieler 1'
        end;
        end;


Also Points irgendwie verdoppeln?
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Di 12.01.10 17:41 
user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:


Öhm, 2 Spieler beim Memory? :shock: Wie soll das ablaufen? :nixweiss:



-> Zwei Spieler wechseln sich mit Aufdecken ab. Wer einen Treffer landet ist nochmals dran. Sieger ist, wer mehr Paare aufgedeckt hat.

_________________
Delphi: XE - OS: Windows 7 Professional x64
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 12.01.10 17:45 
Moin!

user profile iconHorschdware hat folgendes geschrieben Zum zitierten Posting springen:
Zwei Spieler wechseln sich mit Aufdecken ab. Wer einen Treffer landet ist nochmals dran. Sieger ist, wer mehr Paare aufgedeckt hat.
Ah, ist natürlich eine Möglichkeit. ;)

user profile iconVorschlag hat folgendes geschrieben Zum zitierten Posting springen:
Also Points irgendwie verdoppeln?
Ja, genau so. :)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Vorschlag Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 63



BeitragVerfasst: Di 12.01.10 17:48 
Und wie implentiere ich es, dass die bei LbSpieler1 und LbSpieler2 die abwechselnd eins zunehmen?
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 12.01.10 17:57 
Moin!

Du musst dir in einer weiteren Variablen merken, wer gerade dran ist. :idea:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Di 12.01.10 17:58 
Hi :)

Du brauchst eine Variable, in der du dir merkst, welcher Spieler am Zug ist. Jede Stelle, an der du Punkte, Zeit o.ä. des Spielers anpasst, muss nun zuerst prüfen, welcher Spieler am Zug ist. Dann veränderst du entsprechend ausschließlich Zeiten und Punkte dieses Spielers.

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Vorschlag Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 63



BeitragVerfasst: Di 12.01.10 19:10 
Okay, habe eine Variable.


Es funktioniert nun auch schon, dass Spieler 1 und Spieler 2, wenn sie dran sind, Punkte für gefundene Paare bekommen.

Ich muss nun nur noch einfügen, dass nur der Sieger sich in die Highscoreliste eintragen kann und das der Gewinner automatisch ermittelt wird :)
Vorschlag Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 63



BeitragVerfasst: Mo 18.01.10 19:28 
Das mit dem Highscore sortieren verstehe ich immer noch nicht ganz.

Ich habe:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
           with Form2.lvHighscore.Items.Add do begin // neuen Highscore-Eintrag machen (auto-sortiert!)
                Caption := EdName.Text; // Name eintragen
                SubItems.Add(Form1.LbGebrauchteZeit.Caption); // und für die Ausgabe
                SubItems.Add(IntToStr(Points));
                SubItems.Add(IntToStr(Moves));
                SubItems.Add(DateTimeToStr(Now)); // Datum eintragen
                Data :=  Pointer(Moves); // Gebrauchte Zeit zum Sortieren
              end;
              Form2.lvHighscore.Items.EndUpdate;
              Form2.ShowModal; //Zeige die Highscoreliste
            end

Soll nach der Anzahl von Zügen sortiert werden beim Eintragen
daher
ausblenden Delphi-Quelltext
1:
                Data :=  Pointer(Moves); // Gebrauchte Zeit zum Sortieren					

und die Highscoreliste hat noch:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm2.lvHighscoreCompare(Sender: TObject; Item1, Item2: TListItem;
  Data: Integer; var Compare: Integer);
begin
  if (Item2.SubItems[1] = Item1.SubItems[1]) then // wenn die gebrauchte Zeit bei den Elementen gleich ist, dann...
    Compare := CompareText(Item1.SubItems[2],Item2.SubItems[2]) // vergleiche die 4. Spalte (auf Textbasis!)
  else // wenn die gebrauchte Zeit nicht gleich ist
    Compare := CompareValue(Integer(Item2.SubItems[1]),Integer(Item1.SubItems[1])); // vergleiche die Punkte/Zeit
end;

Sprich, wenn die Anzahl der Paare gleich sind, dann wird doch nach gebrauchten Runden sortiert?

Meine Tabelle sieht so aus:
Name: .Caption
Benötigte Zeit: SubItems[0]
Paare: SubItems[1]
Runden: SubItems[2]
Datum: SubItems[3]

Wieso wird die Highscoreliste nicht richtig sortiert?

Hier mal mein aktueller Stand: (siehe Anhang)

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

Also irgendwie ist da wieder komplett der Wurm drinnen. Die Highscoreliste sortiert nun überhaupt nur noch nach Lust und Laune?!? :)
Morgen ist Abgabe :(

Moderiert von user profile iconNarses: Gelöschten Anhang wiederhergestellt.
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von Vorschlag am Di 19.01.10 16:49, insgesamt 1-mal bearbeitet
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Mo 18.01.10 22:21 
Hi :)

Welche Version von Delphi verwendest du? Die neueren haben die Möglichkeit der Projektwiederherstellung, das wäre ievlleicht Mal einen Blick wert.

Beim durchscrolen des Quelltextes sehe ich ein with-Statement. Schlüssle das mal auf, with sorgt eigentlich meiner Erfahrung nach nur für Ärger.

So, ich entschuldige mich jetzt mal ins Bett. Bin krank :(

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Vorschlag Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 63



BeitragVerfasst: Mo 18.01.10 22:33 
Das Zurücksetzen bringt leider nicht viel.
Da anscheinend die Highscoreliste davor auch schon nicht funktioniert hat. Also die Sortierung nach gebrauchter Zeit ging ohne Probleme. Aber bei gleicher Zeit zusätzlich nach gebrauchten Runden zu sortieren ging wohl nie :)

Jetzt will ich es aber ja eh komplett anderst sortieren lassen und zwar nach gefundenen Paaren und falls diese gleich sind nach gebrauchten Runden.

Brauche mehr oder weniger nen quick fix für morgen :D
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 19.01.10 00:21 
Moin!

user profile iconVorschlag hat folgendes geschrieben Zum zitierten Posting springen:
Das Zurücksetzen bringt leider nicht viel.
So ist es, der Fehler steckt im Detail. 8)

user profile iconVorschlag hat folgendes geschrieben Zum zitierten Posting springen:
Jetzt will ich es aber ja eh komplett anderst sortieren lassen und zwar nach gefundenen Paaren und falls diese gleich sind nach gebrauchten Runden.
Wenn du den .Data-Wert der TListItems gar nicht verwendest, brauchst du ihn auch nicht zuweisen, mal so nebenbei.

user profile iconVorschlag hat folgendes geschrieben Zum zitierten Posting springen:
Brauche mehr oder weniger nen quick fix für morgen :D
Wenn ich mir so deinen Projekt-Quelltext ansehe, dann muss ich leider sagen, dass du nicht die blasseste Ahnung hast, was du da tust. :nixweiss:

Da man das aber auch nicht in ein paar Minuten nachholen kann, was man in Wochen Info-Unterricht versäumt hat, kann ich dir "auf die Schnelle" leider nicht mehr helfen. Ich zeige dir deshalb nur noch die Fehlerstellen, wenn du das bis morgen nicht selbst behoben bekommst, dann ist das auch ganz einfach "deine Leistung". :|

Dann fangen wir mal an: :roll:
  • Wenn man bereits das 2. Spiel startet, hat man keine Memory-Karten mehr, woher soll man wissen, was man da suchen muss? :nut:

  • ausblenden Delphi-Quelltext
    1:
    if EPoints.Text > EPoints2.Text //Wenn Spieler 1 mehr Paare gefunden					
    Dieser Vergleich kann (grundsätzlich) nicht richtig sein, da hier Texte verglichen werden, es geht aber um Zahlen. Da diese - zum Glück für Dich - nicht größer als 9 werden können (mehr Paare gibt´s in meiner Memory-Version nicht), spielt das aber keine Rolle. Durch die Lehrer-Brille gesehen heißt das aber: du hast das nicht verstanden. Denn: füge ein weiteres Paar hinzu, und es klappt nicht mehr.

  • ausblenden Delphi-Quelltext
    1:
    2:
    3:
    4:
    5:
    6:
    7:
    8:
    with Form2.lvHighscore.Items.Add do begin // neuen Highscore-Eintrag machen (auto-sortiert!)
      Caption := EdName.Text; // Name eintragen
      SubItems.Add(Form1.LbGebrauchteZeit.Caption); // und für die Ausgabe
      SubItems.Add(IntToStr(Points)); // (*1)
      SubItems.Add(IntToStr(Moves)); // (*2)
      SubItems.Add(DateTimeToStr(Now)); // Datum eintragen
      Data :=  Pointer(Moves); // Gebrauchte Zeit zum Sortieren (*3)
    end;
    1. Was ist denn, wenn Spieler 2 gewonnen hat?
    2. Spieler 1 und 2 haben die gleiche Anzahl Züge?
    3. Da du den .Data-Wert nicht zum Sortieren benötigst, kann du die - logisch völlig falsche - Zuweisung weglassen.

  • ausblenden Delphi-Quelltext
    1:
    2:
    3:
    4:
    5:
    6:
    procedure TForm2.LoadHighscores;
    [...]
      with lvHighscore.Items.Add do begin // neuen Eintrag anlegen
        Caption := Zeile.Strings[0]; // Name eintragen
        Data := Pointer(StrToIntDef(Zeile.Strings[1],0)); // Benötigte Zeit
        SubItems.Add(IntToStr(Integer(Data))); // und für die Ausgabe
    Ich dachte, danach wolltest du nicht mehr sortieren?

  • ausblenden Delphi-Quelltext
    1:
    2:
    3:
    4:
    5:
    6:
    7:
    8:
    9:
    // Sortiervergleich für die Highscore-Liste
    procedure TForm2.lvHighscoreCompare(Sender: TObject; Item1, Item2: TListItem;
      Data: Integer; var Compare: Integer);
    begin
      if (Item2.SubItems[1] = Item1.SubItems[1]) then // wenn die gebrauchte Zeit bei den Elementen gleich ist, dann...
        Compare := CompareText(Item1.SubItems[2],Item2.SubItems[2]) // vergleiche die 4. Spalte (auf Textbasis!) (*1)
      else // wenn die gebrauchte Zeit nicht gleich ist
        Compare := CompareValue(Integer(Item2.SubItems[1]),Integer(Item1.SubItems[1])); // vergleiche die Punkte/Zeit (*2)
    end;
    1. Erneut vergleichst du Zahlen in Textdarstellung, das kann nicht richtig sein.
    2. Integer(StringVar) liefert nicht etwa die numerische Darstellung einer Zahl im Textformat, sondern ist ein sinnloser Typecast. Lehrerbrille: ganz heftig keine Ahnung... :shock:
    Fazit: Kein Wunder, dass deine Highscoreliste nicht richtig sortiert, du sortierst ja auch nicht nach den richtigen Werten. :nixweiss:
Viel Glück morgen! :zustimm:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Vorschlag Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 63



BeitragVerfasst: Di 19.01.10 09:21 
ausblenden Delphi-Quelltext
1:
Compare := CompareValue(Integer(Item2.SubItems[1]),Integer(Item1.SubItems[1])); // vergleiche die Punkte/Zeit (*2)					

Aber hier wird doch nicht nach dem Textverglichen sondern nach dem Wert?
CompareValue und Integer sind doch ganzzahlige Zahlen?

Habe heute noch 2 Stunden Zeit, möglichst viel zu fixen :)


ausblenden Delphi-Quelltext
1:
  Data :=  Pointer(Moves); // Gebrauchte Zeit zum Sortieren (*3)					

Data spricht dann also mehr oder weniger auch die 2 Spalte des Highscores an und das würde mit Moves keinen Sinn machen?
Was wäre, wenn ich einfach den Highscore ein bisschen ändere, sodass Gebrauchte Zeit und gefundene Paare vertauscht werden?
Wäre denke ich einfacher?
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 19.01.10 12:25 
Moin!

user profile iconVorschlag hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
Compare := CompareValue(Integer(Item2.SubItems[1]),Integer(Item1.SubItems[1])); // vergleiche die Punkte/Zeit (*2)					
Aber hier wird doch nicht nach dem Textverglichen sondern nach dem Wert?
CompareValue und Integer sind doch ganzzahlige Zahlen?
CompareValue() hat auch eine überladene Version für Integer-Zahlen, das ist richtig. Dein Code vergleicht zwar Integerzahlen, aber nicht die, die du verglichen haben möchtest. 8)
  • ItemX.SubItems[y] ist ein String.
  • Integer() erzwingt eine Umwandlung in eine Integerzahl, allerdings ohne die Daten selbst zu verändern. Auf einen String angewendet liefert Integer(StringVar) die Adresse der Stringdaten auf dem Heap. :idea:
  • Du möchtest allerdings etwas ganz anderes: die Zahl, die als Text in dem String steht, in einen Integer konvertieren. Das geht aber nicht mit einem Typecast! (Ich sage ganz bewusst nicht, wie man es richtig macht, denn ich möchte rausfinden, ob du etwas von dem, was du da tust, verstanden hast. Witzigerweise verwendest du den richtigen Ansatz bereits im Code, aber ich fürchte, du hast nicht verstanden, warum. :?)


user profile iconVorschlag hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
  Data :=  Pointer(Moves); // Gebrauchte Zeit zum Sortieren (*3)					
Data spricht dann also mehr oder weniger auch die 2 Spalte des Highscores an und das würde mit Moves keinen Sinn machen?
"Data" spricht überhaupt nichts an, es ist eine Eigenschaft. Man kann sie verwenden (z.B. zum Sortieren) oder auch nicht. In deinem Fall kannst du diese Zeile(n) komplett weglassen, weil du eine eigene Vergleichsmethode verwendest, um die Werte zu sortieren. Und in dieser verwendest du die Eigenschaft .Data gar nicht (mehr), deshalb ist das komplett unnötig.

Zur Erläuterung: auch hier wird die Adresse der Stringdaten auf dem Heap geliefert, und nicht der Integer-Wert der Zahl in Stringdarstellung.

user profile iconVorschlag hat folgendes geschrieben Zum zitierten Posting springen:
Was wäre, wenn ich einfach den Highscore ein bisschen ändere, sodass Gebrauchte Zeit und gefundene Paare vertauscht werden?
Wäre denke ich einfacher?
Nein, da es das Problem nicht behebt.

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Vorschlag Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 63



BeitragVerfasst: Di 19.01.10 13:33 
Mal noch eine andere Frage, gibt es einen Befehl, alle Images anzusprechen?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
  Image1.Visible:= true;
  Image2.Visible:= true;
  Image3.Visible:= true;
  Image4.Visible:= true;
  Image5.Visible:= true;
  Image6.Visible:= true;
  Image7.Visible:= true;
  Image8.Visible:= true;
  Image9.Visible:= true;
  Image10.Visible:= true;
  Image11.Visible:= true;
  Image12.Visible:= true;
  Image13.Visible:= true;
  Image14.Visible:= true;
  Image15.Visible:= true;
  Image16.Visible:= true;
  Image17.Visible:= true;
  Image18.Visible:= true;

umd dies alles in einen Befehl zu ändern`?

Das Highscore Problem löse ich halt nur dirty :) Also lasse es nur nach gebrauchter Zeit sortieren.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 19.01.10 13:55 
Moin!

user profile iconVorschlag hat folgendes geschrieben Zum zitierten Posting springen:
Mal noch eine andere Frage, gibt es einen Befehl, alle Images anzusprechen?
Kommt dir das hier bekannt vor? Du weißt wirklich nicht, was du da tust, oder? :?
ausblenden Delphi-Quelltext
1:
2:
  for i := MIN to MAX do begin
    Cards[i].Button.Visible := TRUE; // Button anzeigen


user profile iconVorschlag hat folgendes geschrieben Zum zitierten Posting springen:
Das Highscore Problem löse ich halt nur dirty :) Also lasse es nur nach gebrauchter Zeit sortieren.
Ja, das scheint mir auch sinnvoll. :roll:

Sorry, aber meine Unterstützung hat hier ein Ende. :nixweiss: Du hast nicht wirklich Interesse daran, Delphi zu erlernen. :( Es geht nur noch darum, dieses Projekt so gut wie möglich hinter dich zu bringen, dafür bin ich nicht zuständig. :|

Viel Erfolg noch :wave:
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.