AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Listbox Zahlen erhöhen

Ein Thema von TarantelFaser47 · begonnen am 12. Mär 2018 · letzter Beitrag vom 14. Mär 2018
Antwort Antwort
Seite 1 von 3  1 23   
TarantelFaser47

Registriert seit: 30. Jan 2018
14 Beiträge
 
#1

Listbox Zahlen erhöhen

  Alt 12. Mär 2018, 19:01
Delphi-Version: 7
Hi ich möchte ne Listbox in der Zahlen stehen, die sich erhöhen also 1 --> 2 ---> 3 (von Würfelsimulation (Zahlen von 2-12))
Danke für Hilfe!
  Mit Zitat antworten Zitat
Der schöne Günther
Online

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Listbox Zahlen erhöhen

  Alt 12. Mär 2018, 19:08
Und was genau ist dein Problem dabei? Was hast du schon versucht und was ging nicht?
  Mit Zitat antworten Zitat
günni0
(Gast)

n/a Beiträge
 
#3

AW: Listbox Zahlen erhöhen

  Alt 12. Mär 2018, 19:11
Zitat:
Hi ich möchte ne Listbox in der Zahlen stehen
Na dann bastel dir das doch zusammen.
Hört sich aber eher an nach Ich bin jetzt hier, also macht mal für mich.
  Mit Zitat antworten Zitat
TarantelFaser47

Registriert seit: 30. Jan 2018
14 Beiträge
 
#4

AW: Listbox Zahlen erhöhen

  Alt 12. Mär 2018, 19:31
Sorry, hatte gerade keine Zeit gehabt...

Die Sache ist die...
Ich hab ein Programm in dem 2 "Würfel" gewürfelt werden und die Augenzahlen dann addiert werden (also nur Zahlen von 2 bis 12).
Jetzt möchte ich die Zahlen [hab eine Variable summe : Array[2..12] of Integer;] in eine Listbox schreiben. Das ist auch kein Problem.
Bei meinem Info-Lehrer habe ich gesehen dass die Zahlen (in der Listbox) nicht aus dem nichts auftauchen, sondern sich erhöhen also z.B: Für 7: 1 --> 2 --> 3 --> 4 --> 5 ...
oder so.

Da ich ein Array habe weis ich jetzt nicht wie man das macht dass sich die Zahlen erhöhen...
Meine Idee war, die Items aus der Listbox immer wieder zu löschen und neu reinzuschreiben um die Zahlen zu erhöhen.

Hier die Prozedur um zu würfeln:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i,k,w1,w2 : integer;
    summe : array[2..12] of Integer;
begin
  randomize;
  button1.enabled := false;
  k := strtoint(edit1.Text);
                       nabled := false;
  listbox1.Clear;

  for i := 2 to 12 do
    summe[i] := 0;

  for i := 1 to k do
    begin
     listbox1.Clear;
     w1 := Random(6)+1;
     w2 := Random(6)+1;
     inc(summe[w1+w2]);
     sleep(50);
    end;

    for i := 2 to 12 do
      begin
      listbox1.Items.Add(floattostr(summe[i]));
      end;

    button1.Enabled := true;

end;

Geändert von TarantelFaser47 (12. Mär 2018 um 19:38 Uhr) Grund: button1.E --> button1.enabled := false;
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Listbox Zahlen erhöhen

  Alt 12. Mär 2018, 19:49
Ich Verstehe leider nicht worauf genau Du hinaus willst obwohl Du es ja anscheinend beschrieben hast, aber IntToStr() würde ich anstelle von FloatToStr() einsetzen.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
TarantelFaser47

Registriert seit: 30. Jan 2018
14 Beiträge
 
#6

AW: Listbox Zahlen erhöhen

  Alt 12. Mär 2018, 19:57
Ok, danke für den Tipp.

Normalerweise steht in der Listbox ja nichts, und auf einmal, wenn k-mal gewürfelt wurde, werden alle Zahlen hineingeschrieben.
aber ich möchte es so machen dass wenn z.B. eine 2 gewürfelt wurde, die Anzahl der Zweien um 1 steigt und das auch so in der Listbox angezeigt wird.

Ich hoffe ich kann es irgendwie verständlich machen.
  Mit Zitat antworten Zitat
günni0
(Gast)

n/a Beiträge
 
#7

AW: Listbox Zahlen erhöhen

  Alt 12. Mär 2018, 20:03
1) randomize; nur einmalig in FormCreate aufrufen und nicht bei jedem ButtonClick

2) lass das mit dem Array sein
3) die Würfelfunktion würde ich nach dem KISS-Prinzip schreiben
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
 Wuerfel1, Wuerfel2: 1 .. 6;
 Summe: 2 .. 12; // Das hier ist kein Array! Falls es hier Fehler beim Kompilieren gibt, schreib einfach Byte hin.
begin
 Wuerfel1 := Random(6) + 1;
 Wuerfel2 := Random(6) + 1;

 Summe := Wuerfel1 + Wuerfel2;
end;
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Listbox Zahlen erhöhen

  Alt 12. Mär 2018, 20:20
Ist die Listbox denn so etwas wie ein Zähler, wo gezählt werden soll wie oft eine Zahl gewürfelt wurde?
Falls ja, dann würd ich entweder 2 Arrays anlegen (für jeden Würfel = 1..6) oder ein gemeinsames Array fürs Ergebniss aus Würfel 1+2.
In beiden Fällen würde es ausreichen die Listbox Items direkt zu bearbeiten und nicht jedesmal alles neu erstellen lassen, das vermindert ein Flickern, oder BeginUpdate/EndUpdate für die Listbox einsetzen.
Ps: Die Listbox selbst kann auch dein Array sein, du musst dann halt nur mit Festen Index Werten umgehen, also Wissen das Index=0 deinem Würfelwert von 2 entspricht zum Beispiel. Also Listbox erstmal mit 10 leeren strings füllen, danach deine Würfelei, danach Listbox Item Text erneuern.
Gruß vom KodeZwerg

Geändert von KodeZwerg (12. Mär 2018 um 20:32 Uhr)
  Mit Zitat antworten Zitat
TarantelFaser47

Registriert seit: 30. Jan 2018
14 Beiträge
 
#9

AW: Listbox Zahlen erhöhen

  Alt 12. Mär 2018, 20:24
Ja, also da soll die Anzahl der Zweien, Dreien, ..., Zwölfen angezeigt werden (später noch grafisch dargestellt)
aber wie schaffe ich es dass sich die Zahlen in der Listbox (wie in meinem letzten Beitrag beschrieben) erhöhen.
Also in der Listbox: wenn eine 7 gewürfelt wurde: Anzahl: 0 --> 1 --> 2 ---> 3 (so soll es dargestellt werden, damit man sehen kann wie die Anzahl steigt.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Listbox Zahlen erhöhen

  Alt 12. Mär 2018, 20:42
Angenommen Würfel A = 5 und Würfel B = 6, was soll in deiner Anzeige bei dieser Paarung Angezeigt werden?
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz