AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Listboxen auf Edit aufteilen...

Ein Thema von Knotti · begonnen am 16. Okt 2006 · letzter Beitrag vom 17. Okt 2006
Antwort Antwort
Knotti

Registriert seit: 15. Okt 2006
Ort: Breitungen
29 Beiträge
 
#1

Listboxen auf Edit aufteilen...

  Alt 16. Okt 2006, 23:02
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;
  Mit Zitat antworten Zitat
DennisHB

Registriert seit: 25. Aug 2003
Ort: Bremen
58 Beiträge
 
Delphi 6 Personal
 
#2

Re: Listboxen auf Edit aufteilen...

  Alt 17. Okt 2006, 00:06
Delphi-Quellcode:
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;
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.
  Mit Zitat antworten Zitat
Knotti

Registriert seit: 15. Okt 2006
Ort: Breitungen
29 Beiträge
 
#3

Re: Listboxen auf Edit aufteilen...

  Alt 17. Okt 2006, 15:04
Mit deinem Code bekomm ich leider immer folgenden Fehler..

Der Code sieht jetzt so aus
Delphi-Quellcode:
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;
Wenn die Checkbox aktiviert ist werden sie Namen warlos verteilt falls nicht geordnet...
Miniaturansicht angehängter Grafiken
fehler_153.gif  
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:10 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