| Autor |
Beitrag |
Dr.Miezo
Hält's aus hier
Beiträge: 14
win server 2003, win xp, win 7
Delphi 7 Prof.
|
Verfasst: Do 08.11.12 12:24
Hallo!
Ich verwende erst seit kurzem Delphi und bin dadurch noch kein Genie was das Arbeiten damit angeht.
Mein Problem: Ich habe eine ListBox in der Zahlenkombinationen aufgelistet werden. Nun soll immer die erste Kombination genommen werden und die ListBox nach der nächsten Kombination durchsucht werden, welche dieser nicht gleich usw. (also nur kombinationen bei denen die zahlen immer verschieden sind) und in einer seperaten ListBox angezeigt werden.
Hier ein kleines Beispiel:
(es sind immer 6-stellige Zahlen und aufgeteilt in gerade und ungerade Zahlen(a= gerade, b= ungerade) und jede dieser 6 Stellen ist variabel)
A.B.A.B.A.B
1-> 2.1.4.3.6.5 (diese nehmen)
2-> 2.1.4.3.6.7
3-> 2.1.4.3.6.9
usw.
z.b. 89-> 4.3.6.5.8.7 (diese auch nehmen, da sie mit keiner Position mit der ersten übereinstimmt)
(die 3. Kombination darf dann werder der 1. noch der 2. gleichen)
Dies fortführen und die ListBox durchsuchen, bis keine Kombination mehr übrig ist.
Da meine Delphi Hilfe auf Deutsch und somit unverständlich und zum Teil unvollständig ist bin langsam echt am verzweifeln...
Hat ijmd eine Idee, Tips, Ratschläge, oder gar einen Lösungsvorschlag?
thx schonmal im voraus!!!
|
|
Nersgatt
      
Beiträge: 1581
Erhaltene Danke: 279
Delphi 10 Seattle Prof.
|
Verfasst: Do 08.11.12 13:13
Hallo und Willkommen in der EE!
Ich hab Dein Problem nicht so wirklich verstanden. Geht es Dir nur draum, wie Du an die einzelnen Einträge der Listbox heran kommst? Das ginge z.B. so:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| var Item : String; i : Integer; begin
for I := 0 to ListBox1.Items.Count - 1 do begin Item := Listbox1.Items.Strings[i]; ShowMessage(Item); end;
end; |
Mit Item kannst Du dann Deine Vergleiche anstellen.
_________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
|
|
Dr.Miezo 
Hält's aus hier
Beiträge: 14
win server 2003, win xp, win 7
Delphi 7 Prof.
|
Verfasst: Do 08.11.12 13:23
Vielen Dank !
Nicht ganz....ich brauch eine function die mir eben die einzelnen Kombinationen herauspickt die sich eben in jeder zahl unterscheiden und da jeder durchlauf unterschiedlich ist (also jedes mal wenn die ListBox gefüllt wird) stehen manchmal mehrere tausend Kombinationen in der Box und manchmal nur wenige hunderte oder nur eine Hand voll....und damit man eben nicht mühsam die Liste durchgehen muss brauch ich etwas dass die Liste der reihe nach von Oben beginnend durchgeht und aufhört wenn es Unten angekommen ist. Die erste Kombination wird genommen und von dieser ausgehen sollen dann die anderen gesucht werden und damit die 2. ListBox gefüllt werden. (Ich hatte da an eine Art Schleife gedacht aber wie ist mir ein Rätsel und alles was ich versucht habe endete im Absturz)
|
|
Nersgatt
      
Beiträge: 1581
Erhaltene Danke: 279
Delphi 10 Seattle Prof.
|
Verfasst: Do 08.11.12 13:24
Also wirklich verstanden hab ich es immer noch nicht.
Aber zeig am besten mal Deinen (fehlgeschlagenen) Versuch.
_________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
|
|
Dr.Miezo 
Hält's aus hier
Beiträge: 14
win server 2003, win xp, win 7
Delphi 7 Prof.
|
Verfasst: Do 08.11.12 13:27
Oha^^
Diesen hab ich wieder entfernt (war ein totales Chaos) aber ich kann dir mal zeigen wie die Zahlenkombinationen erstellt werden.....vllt verstehst du dann wie ich das meine
Moderiert von Narses: Beiträge zusammengefasst
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234:
| procedure TForm1.Button1Click(Sender: TObject); var P1: Integer; P2: Integer; P3: Integer; P4: Integer; P5: Integer; P6: Integer; Zaehler: Integer; Zaehler2: Integer; MaxWert1: Integer; MaxWert2: Integer; MaxWert3: Integer; MaxWert4: Integer; MaxWert5: Integer; MaxWert6: Integer; SinglePos: String; AsciiWert1: Integer; AsciiWert2: Integer; AsciiWert3: Integer; AsciiWert4: Integer; AsciiWert5: Integer; AsciiWert6: Integer; begin Screen.Cursor := crhourglass; ListBox1.Clear; Label11.Caption := ''; Label12.Caption := ''; Zaehler := 0; Zaehler2 := 0; P1 := -2; P2 := -2; P3 := -2; P4 := -2; P5 := -2; P6 := -2; SinglePos := Copy(Variationsbereich,1,1); AsciiWert1 := Ord(SinglePos[1]); if ((AsciiWert1 >= 48 ) and (AsciiWert1 <= 57)) then begin P1 := StrToInt(SinglePos); MaxWert1 := P1 + 1 + StrToInt(Sprung); end; if SinglePos = 'A' then begin if StrToInt(UntererWert) = ConvertToGerade(StrToInt(UntererWert)) then P1 := StrToInt(UntererWert) - StrToInt(Sprung) else P1 := StrToInt(UntererWert) + 1 - StrToInt(Sprung); MaxWert1 := ConvertToGerade(StrToInt(ObererWert)); end; if SinglePos = 'B' then begin if StrToInt(UntererWert) = ConvertToUngerade(StrToInt(UntererWert)) then P1 := StrToInt(UntererWert) - StrToInt(Sprung) else P1 := StrToInt(UntererWert) + 1 - StrToInt(Sprung); MaxWert1 := ConvertToUngerade(StrToInt(ObererWert)); end; while P1 <= MaxWert1 - StrToInt(Sprung) do begin if ((SinglePos = 'A') or (SinglePos = 'B')) then P1 := P1 + StrToInt(Sprung) else MaxWert1 := MaxWert1 - 1; SinglePos := Copy(Variationsbereich,2,1); AsciiWert2 := Ord(SinglePos[1]); if ((AsciiWert2 >= 48 ) and (AsciiWert2 <= 57)) then begin P2 := StrToInt(SinglePos); MaxWert2 := P2 + 1; end; if SinglePos = 'A' then begin if StrToInt(UntererWert) = ConvertToGerade(StrToInt(UntererWert)) then P2 := StrToInt(UntererWert) - StrToInt(Sprung) else P2 := StrToInt(UntererWert) + 1 - StrToInt(Sprung); MaxWert2 := ConvertToGerade(StrToInt(ObererWert)); end; if SinglePos = 'B' then begin if StrToInt(UntererWert) = ConvertToUngerade(StrToInt(UntererWert)) then P2 := StrToInt(UntererWert)-StrToInt(Sprung) else P2 := StrToInt(UntererWert) + 1 - StrToInt(Sprung); MaxWert2 := ConvertToUngerade(StrToInt(ObererWert)); end; while P2 <= MaxWert2 - StrToInt(Sprung) do begin if ((SinglePos = 'A') or (SinglePos = 'B')) then P2 := P2+StrToInt(Sprung) else MaxWert2 := MaxWert2 - 1; SinglePos := Copy(Variationsbereich,3,1); AsciiWert3 := Ord(SinglePos[1]); if ((AsciiWert3 >= 48 ) and (AsciiWert3 <= 57)) then begin P3 := StrToInt(SinglePos); MaxWert3 := P3 + 1; end; if SinglePos = 'A' then begin if StrToInt(UntererWert) = ConvertToGerade(StrToInt(UntererWert)) then P3 := StrToInt(UntererWert) - StrToInt(Sprung) else P3 := StrToInt(UntererWert) + 1 - StrToInt(Sprung); MaxWert3 := ConvertToGerade(StrToInt(ObererWert)); end; if SinglePos = 'B' then begin if StrToInt(UntererWert) = ConvertToUngerade(StrToInt(UntererWert)) then P3 := StrToInt(UntererWert) - StrToInt(Sprung) else P3 := StrToInt(UntererWert) + 1 - StrToInt(Sprung); MaxWert3 := ConvertToUngerade(StrToInt(ObererWert)); end; while P3 <= MaxWert3 - StrToInt(Sprung) do begin if ((SinglePos = 'A') or (SinglePos = 'B')) then P3 := P3 + StrToInt(Sprung) else MaxWert3 := MaxWert3 - 1; SinglePos := Copy(Variationsbereich,4,1); AsciiWert4 := Ord(SinglePos[1]); if ((AsciiWert4 >= 48 ) and (AsciiWert4 <= 57)) then begin P4 := StrToInt(SinglePos); MaxWert4 := P4 + 1; end; if SinglePos = 'A' then begin if StrToInt(UntererWert) = ConvertToGerade(StrToInt(UntererWert)) then P4 := StrToInt(UntererWert) - StrToInt(Sprung) else P4 := StrToInt(UntererWert) + 1 - StrToInt(Sprung); MaxWert4 := ConvertToGerade(StrToInt(ObererWert)); end; if SinglePos = 'B' then begin if StrToInt(UntererWert) = ConvertToUngerade(StrToInt(UntererWert)) then P4 := StrToInt(UntererWert) - StrToInt(Sprung) else P4 := StrToInt(UntererWert) + 1 - StrToInt(Sprung); MaxWert4 := ConvertToUngerade(StrToInt(ObererWert)); end; while P4 <= MaxWert4 - StrToInt(Sprung) do begin if ((SinglePos = 'A') or (SinglePos = 'B')) then P4 := P4 + StrToInt(Sprung) else MaxWert4 := MaxWert4 - 1; SinglePos := Copy(Variationsbereich,5,1); AsciiWert5 := Ord(SinglePos[1]); if ((AsciiWert5 >= 48 ) and (AsciiWert5 <= 57)) then begin P5 := StrToInt(SinglePos); MaxWert5 := P5 + 1; end; if SinglePos = 'A' then begin if StrToInt(UntererWert) = ConvertToGerade(StrToInt(UntererWert)) then P5 := StrToInt(UntererWert) - StrToInt(Sprung) else P5 := StrToInt(UntererWert) + 1 - StrToInt(Sprung); MaxWert5 := ConvertToGerade(StrToInt(ObererWert)); end; if SinglePos = 'B' then begin if StrToInt(UntererWert) = ConvertToUngerade(StrToInt(UntererWert)) then P5 := StrToInt(UntererWert) - StrToInt(Sprung) else P5 := StrToInt(UntererWert) + 1 - StrToInt(Sprung); MaxWert5 := ConvertToUngerade(StrToInt(ObererWert)); end; while P5 <= MaxWert5 - StrToInt(Sprung) do begin if ((SinglePos = 'A') or (SinglePos = 'B')) then P5 := P5 + StrToInt(Sprung) else MaxWert5 := MaxWert5 - 1; SinglePos := Copy(Variationsbereich,6,1); AsciiWert6 := Ord(SinglePos[1]); if ((AsciiWert6 >= 48 ) and (AsciiWert6 <= 57)) then begin P6 := StrToInt(SinglePos); MaxWert6 := P6 + 1; end; if SinglePos = 'A' then begin if StrToInt(UntererWert) = ConvertToGerade(StrToInt(UntererWert)) then P6 := StrToInt(UntererWert) - StrToInt(Sprung) else P6 := StrToInt(UntererWert) + 1 - StrToInt(Sprung); MaxWert6 := ConvertToGerade(StrToInt(ObererWert)); end; if SinglePos = 'B' then begin if StrToInt(UntererWert) = ConvertToUngerade(StrToInt(UntererWert)) then P6 := StrToInt(UntererWert) - StrToInt(Sprung) else P6 := StrToInt(UntererWert) + 1 - StrToInt(Sprung); MaxWert6 := ConvertToUngerade(StrToInt(ObererWert)); end; while P6 <= MaxWert6 - StrToInt(Sprung) do begin if ((SinglePos = 'A') or (SinglePos = 'B')) then P6 := P6 + StrToInt(Sprung) else MaxWert6 := MaxWert6 - 1; if TestKombination (IntToStr(P1)+IntToStr(P2)+IntToStr(P3)+IntToStr(P4)+IntToStr(P5)+IntToStr(P6)) then begin Zaehler := Zaehler + 1; MyStringList.Add(IntToStr(P1) + IntToStr(P2) + IntToStr(P3) + IntToStr(P4) + IntToStr(P5) + IntToStr(P6)); ListBox1.AddItem(IntToStr(P1) + IntToStr(P2) + IntToStr(P3) + IntToStr(P4) + IntToStr(P5) + IntToStr(P6),Form1); Label11.Caption := IntToStr(Zaehler); end else begin Zaehler2 := Zaehler2 + 1; Label12.Caption := IntToStr(Zaehler2); end; end; end; end; end; end; end; Screen.Cursor := crdefault; Variationsbereich := Copy(Variationsbereich,1,6); MyStringList.SaveToFile(Pfad + Variationsbereich + '.txt'); end; |
so sieht das dann aus....hoffe du kannst dir iwie ein Bild davon machen
Moderiert von Narses: Delphi-Tags hinzugefügt
|
|
Nersgatt
      
Beiträge: 1581
Erhaltene Danke: 279
Delphi 10 Seattle Prof.
|
Verfasst: Do 08.11.12 13:40
Ich glaub, wir müssen nochmal von vorne anfangen.
Was ich verstanden habe:
Du hast 2 Listboxen. Du möchtest nun einige Einträge aus der ersten Listbox in die zweite Listbox kopieren. Soweit richtig?
Was mir nun nicht klar ist, nach welcher Regel die Einträge kopiert werden sollten.
_________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
|
|
Dr.Miezo 
Hält's aus hier
Beiträge: 14
win server 2003, win xp, win 7
Delphi 7 Prof.
|
Verfasst: Do 08.11.12 13:47
ok^^
Also die eine ListBox ist gefüllt mit Zahlenkombinationen (immer 6-stellig und immer verschieden)
und man nimmt jetzt die erste kombination die in der ersten ListBox steht (z.B. 432121) die merkt man sich und kopiert sie in die 2. ListBox jetzt geht man in der ersten ListBox weiter und sucht nach der Nächsten Kombination bei der alle Zahlen verschieden sind (in diesem Fall: 656543) diese merkt man sich nun auch, schreibt sie in die 2. ListBox und geht in der ersten List Box weiter und sucht nach der nächsten Kombination die weder der 1. noch der 2. Kombination gleicht (es dürfen gleiche zahlen vorkommen aber es geht um den Platz den sie einnehmen so darf hier in dem beispiel keine 4 mehr am anfang stehen usw...) und das wird so lange gemacht bis man nichts mehr findet und unten angekommen ist (es gibt keinen zweiten durchlauf)
hoffe des is deutlicher (habs beim ersten mal auch nicht kapiert als ich das machen sollte) 
|
|
Nersgatt
      
Beiträge: 1581
Erhaltene Danke: 279
Delphi 10 Seattle Prof.
|
Verfasst: Do 08.11.12 13:55
Würdest Du nun in der ersten Listbox einen Eintrag mit 999599 finden, würdest Du den Eintrag NICHT übertragen, weil Du die 5 an der 4. Stelle schon mal hattest?
_________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
|
|
Dr.Miezo 
Hält's aus hier
Beiträge: 14
win server 2003, win xp, win 7
Delphi 7 Prof.
|
Verfasst: Do 08.11.12 13:57
genau
nur Kombinationen an denen die Zahlen an anderen Stellen stehen als bei den Kombinationen zuvor und nichts darf sich gleichen
|
|
WasWeißDennIch
      
Beiträge: 653
Erhaltene Danke: 160
|
Verfasst: Do 08.11.12 14:03
Dazu würde ich mir als allererstes eine Hilfsfunktion zum Vergleich schreiben. Aus dem Kopf getippt:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| function StringsCompletelyDifferent(const s1, s2: string): Boolean; var i: integer; begin Assert(Length(s1) = Length(s2)); Result := true; i := 1; while (i <= Length(s1)) and Result do begin if s1[i] = s2[i] then Result := false else inc(i); end; end; |
|
|
Nersgatt
      
Beiträge: 1581
Erhaltene Danke: 279
Delphi 10 Seattle Prof.
|
Verfasst: Do 08.11.12 14:05
Damit hätten wir die erste große Hürde überwunden - ich hab die Problemstellung verstanden
Ich denke da mal ein bisschen drüber nach.
Im Prinzip läuft es ja so (Pseudocode):
Quelltext 1: 2: 3: 4: 5:
| für jedes item in Listbox1 begin wenn SollItemEingefügtWerden(item) dann Item in Listbox2 einfügen end |
Damit haben wir das Problem schon mal etwas zerlegt. Wir brauchen jetzt nur noch eine Funktion, die prüft, ob das Item eingefügt werden muss.
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| Funktion SollItemEingefügtWerden(AItem : String) : Boolean; var i, j : integer; gefunden : boolean; begin
gefunden := false; i := 0;
wiederhole solange (not gefunden) and (i <= Listbox2.Items.Count - 1) begin for j = 1 to 6 begin wenn AItem[j] = Listbox2.Items.Strings[i][j] gefunden := true;
end i := i + 1; end
result := not gefunden;
end; |
_________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
|
|
Dr.Miezo 
Hält's aus hier
Beiträge: 14
win server 2003, win xp, win 7
Delphi 7 Prof.
|
Verfasst: Do 08.11.12 14:11
Gut..immerhin etwas
und ja genau so sollte des dann aussehen^^
wäre gut das so hinzubekommen
( Danke an : WasWeißDennIch )
|
|
Dr.Miezo 
Hält's aus hier
Beiträge: 14
win server 2003, win xp, win 7
Delphi 7 Prof.
|
Verfasst: Do 08.11.12 14:59
kann ich das auch in nicht-Pseudocode haben? 
|
|
Nersgatt
      
Beiträge: 1581
Erhaltene Danke: 279
Delphi 10 Seattle Prof.
|
Verfasst: Do 08.11.12 15:01
_________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
|
|
Dr.Miezo 
Hält's aus hier
Beiträge: 14
win server 2003, win xp, win 7
Delphi 7 Prof.
|
Verfasst: Do 08.11.12 15:07
wiederhole solange....hab da while do genommen
und wie is des mit dem not gefunden gemeint? sollte des true sein?
|
|
Nersgatt
      
Beiträge: 1581
Erhaltene Danke: 279
Delphi 10 Seattle Prof.
|
Verfasst: Do 08.11.12 15:10
Mit dem While liegst Du schon ganz richtig.
NOT ist die Negation.
Man könnte schreiben "wiederhole solange (gefunden = false)...". Das bewirkt in diesem Fall das Selbe. Aaaaaber, man sollte nicht auf "False" prüfen, sondern lieber den Konstrukt mit NOT nehmen. Auf die Gründe möchte ich nicht genauer eingehen, da ich glaub, es würde Dich im Moment noch überfordern (ist nicht böse gemeint).
Merk Dir erstmal einfach "if NOT blabla" ist die richtige Alternative zu "if blabla = false"
_________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
|
|
Dr.Miezo 
Hält's aus hier
Beiträge: 14
win server 2003, win xp, win 7
Delphi 7 Prof.
|
Verfasst: Do 08.11.12 15:20
kein problem
der will bei mir des ListBox ned akzeptieren....
und an welcher Stelle soll ich dann die gefundenen Kombinationen in die ListBox schreiben?
|
|
Nersgatt
      
Beiträge: 1581
Erhaltene Danke: 279
Delphi 10 Seattle Prof.
|
Verfasst: Do 08.11.12 15:22
Zeig mal bitte die Codestelle, die nicht funktioniert und welches Fehlermeldung es gibt.
Den Code bitte in Delphi-Tags verpacken, dann wird es im Forum richtig dargestellt.
Also so:
Quelltext 1:
| <span class="inlineSyntax"><span class="codecomment">{PROTECTTAG9e0c1a0ed0a6d0fc1035e4fb303bd8d0}</span></span> |
_________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
|
|
Dr.Miezo 
Hält's aus hier
Beiträge: 14
win server 2003, win xp, win 7
Delphi 7 Prof.
|
Verfasst: Do 08.11.12 15:28
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| while (not gefunden) and (i <= ListBox1.Items.Count - 1) do (undeclared identifier 'ListBox1') for p = 1 to 6; (for loop control variable must be simple local variable) begin (expression expected but begin found) if AItem[p] = ListBox1.Items.Strings[i][p] then (then expected but identifier items found) |
|
|
Nersgatt
      
Beiträge: 1581
Erhaltene Danke: 279
Delphi 10 Seattle Prof.
|
Verfasst: Do 08.11.12 15:31
Dr.Miezo hat folgendes geschrieben : | Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| while (not gefunden) and (i <= ListBox1.Items.Count - 1) do for p = 1 to 6; (for loop control variable must be simple local variable) begin (expression expected but begin found) if AItem[p] = ListBox1.Items.Strings[i][p] then (then expected but identifier items found) | |
- Deine Listbox sollte schon "Listbox1" heißen. Oder Du musst in den Code halt den entsprechenden Namen der Listbox schreiben.
- Die Variable "p" muss in der Procedure deklariert sein, wo Du sie verwendest.
- bei der FOR-Schleife gehört nach der 6 ein do (ohne  hin
_________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
|
|