![]() |
Listboxen auf Edit aufteilen...
Hallo,
ich versuche schon die ganze Zeit zwei Stringlisten unabhängig von einander, zufallsweise auf gerade und ungerade EditFelder zu verteilen, leider Funktioniert mein Code nicht so wie ich das mir gedacht habe was mach ich falsch? Es sollen alle Einträge egal ob es mehr Mädchen oder Jungen sind gesetzt werden... Stringliste1 -> ungerade EditFelder Stringliste2 -> gerade EditFelder
Delphi-Quellcode:
begin
E:=TStringList.Create; //JUNGEN E.LoadFromFile(form1.OpenDialog1.FileName); E2:=TStringList.Create; //MAEDCHEN E2.LoadFromFile(form1.OpenDialog2.FileName); for i:=1 to 30 do //für 30 Edits begin ID:=Random(E.Count); //Index raussuchen ID:=Random(E2.Count); //Index raussuchen if E.Count=0 and E2.Count=0 then Break; if odd(i)= false then TEdit(FindComponent('Edit'+IntToStr(i))).Text:=E[ID]; //JUNGEN in ungerade Edits if odd(i)= true then TEdit(FindComponent('Edit'+IntToStr(i))).Text:=E2[ID]; //Meadchen in gerade Edits E.Delete(ID); //Text auf SL löschen E2.Delete(ID); //Text auf SL löschen form2.caption:= 'Seatplan Designer'; end; E.Free; E2.Free; end; end; |
Re: Listboxen auf Edit aufteilen...
Delphi-Quellcode:
Ich weiss ja nicht genau was er machen soll, aber ich denke ein Prob könnte es gewesen sein, das auch wenn ein Junge gewählt wurde, in der Liste der Mädchen gelöscht wurde... zumal die ID für Jungen immer überschrieben wurde.
for i:=1 to 30 do //für 30 Edits
begin if (E.Count>0) and (odd(i)= false) then begin //JUNGEN in ungerade Edits ID:=Random(E.Count); //Index raussuchen TEdit(FindComponent('Edit'+IntToStr(i))).Text:=E[ID]; E.Delete(ID); //Text auf SL löschen end else if (E2.Count>0) then begin //Meadchen in gerade Edits ID:=Random(E2.Count); //Index raussuchen TEdit(FindComponent('Edit'+IntToStr(i))).Text:=E2[ID]; E2.Delete(ID); //Text auf SL löschen end else // Beide Listen sind leer (bzw. ein Mädchen wäre dran aber die Mädchenliste ist leer) Break; end; |
Re: Listboxen auf Edit aufteilen...
Liste der Anhänge anzeigen (Anzahl: 1)
Mit deinem Code bekomm ich leider immer folgenden Fehler..
Der Code sieht jetzt so aus
Delphi-Quellcode:
Wenn die Checkbox aktiviert ist werden sie Namen warlos verteilt falls nicht geordnet...
procedure TForm2.dxButton1Click(Sender: TObject);
var i, ID:Integer; begin if form6.CheckBox7.Checked then begin E:=TStringList.Create; //Datei 1 E.LoadFromFile(form1.OpenDialog1.FileName); E2:=TStringList.Create; //Datei 2 E2.LoadFromFile(form1.OpenDialog2.FileName); E.AddStrings(E2); //Zusammenführen E2.Free; //Datei 2 kann weg for i:=1 to 30 do //für 24 Edits begin ID:=Random(E.Count); //Index raussuchen if E.Count=0 then Break; TEdit(FindComponent('Edit'+IntToStr(i))).Text:=E[ID]; //Text in Edit E.Delete(ID); //Text auf SL löschen form2.caption:= 'Seatplan Designer'; end; E.Free; end else begin for i:=1 to 30 do //für 30 Edits begin if (E.Count>0) and (odd(i)= false) then begin //JUNGEN in ungerade Edits ID:=Random(E.Count); //Index raussuchen TEdit(FindComponent('Edit'+IntToStr(i))).Text:=E[ID]; E.Delete(ID); //Text auf SL löschen end else if (E2.Count>0) then begin //Meadchen in gerade Edits ID:=Random(E2.Count); //Index raussuchen TEdit(FindComponent('Edit'+IntToStr(i))).Text:=E2[ID]; E2.Delete(ID); //Text auf SL löschen end else // Beide Listen sind leer (bzw. ein Mädchen wäre dran aber die Mädchenliste ist leer) Break; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 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