Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - listbox einträge löschen


A_Checker - Sa 27.02.10 00:23
Titel: listbox einträge löschen
Hey, ich hab ein kleines Problem. ich hab ein Würfelprogramm programiert das würfelt bis die zahl 1 erscheint. Jetzt will ich aber das wenn man ein zweites mal auf den würfelbutton klickt, die vorherigen ergebnisse aus der listbox gelöscht sind und man braktisch wieder von vorne anfängt.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
var anz, x, ergebnis, i:integer;

begin
randomize;
repeat
 begin;
  i:=random(6)+1;
  listbox1.items.add(inttostr(i));

 end;

until i=1;
for x := 0 to ListBox1.Items.Count-1 do
   ergebnis := ergebnis + StrToInt(ListBox1.Items[x]);

label2.caption:= inttostr(ergebnis);
anz := ListBox1.Items.count;
label3.Caption:= 'Würfe: ' + inttostr(anz);

end;


Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


trm - Sa 27.02.10 00:35

Braktisch gübbet nit.
Aber praktisch gesehen solltest Du vor Deinem randomize; einfach folgendes einfügen:

Delphi-Quelltext
1:
listbox1.items.clear;                    

Das löscht alle Einträge in der Listbox :)

Noch etwas:

Zähl mal Deine Einträge in der Listbox und vergleiche die mit der Anzahl, die Du Dir anzeigen lässt:

Delphi-Quelltext
1:
anz := ListBox1.Items.count;                    

Oftmals ist es so, dass Count immer um eins höher ist, als es tatsächlich der Fall ist.

Gruß
~Mathias

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


Delete - Sa 27.02.10 00:43

user profile icontrm hat folgendes geschrieben Zum zitierten Posting springen:
Oftmals ist es so, dass Count immer um eins höher ist, als es tatsächlich der Fall ist.

Was ist das für eine blödsinnige Aussage? Count gibt immer die Anzahl vorhandener Einträge wieder. Wäre ja auch schlimm, wenn das nicht so wäre. Nur wenn der Listenindex mit null beginnt, hat der letzte Eintrag natürlich den Index Count - 1.


trm - Sa 27.02.10 01:19

Luckie, ich hoffe, Du kannst meinen Beitrag entschuldigen, weil ich mich nicht so gewählt ausgedrückt habe wie Du.
Ich wollte einfach nur helfen.
Außerdem hatte meine Aussage ja auch einen konkreten Hintergrund und stimmt.
Somit weiss ich nicht, warum das "eine blödsinnige Aussage" sein soll.

Ich habe Dich anders in Erinnerung :(

Gruß
~M.


Delete - Sa 27.02.10 01:46

Tut mir leid, die Aussage war nicht ungenau, sondern schlicht weg falsch, so wie sie da steht. Das klingt so als wenn Count mal eins mehr oder eins weniger ausgibt, je nach belieben. ;)

Manchmal muss man eben schon genau sein, sonst kommt es zu genau solchen Missverständnissen.


A_Checker - So 28.02.10 18:43

super tausend Dank! Hat mir echt geholfen :D