![]() |
Listbix1 eintragungen in Listbox2 Übertragen per Array
Hi Leute :-D ,
wie bekomm ichs auf die reihe, eintragungen von listbox1 über Integer-arrays in listbox2 zu übertragen? also die eintragungen in listbox1 muss nicht über ein array erfolgen. aber die übertragung von listbox1 in listbox2... ich kann mir das über den integer-wert gar nicht vorstellen! denn, wenn etwas in eine listbox geschrieben wird, isses doch schon ein string! kann mir bitte jmd. auf die sprünge helfen? vielen dank!:oops: |
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
Mal schauen :glaskugel: sieht schlecht aus.
Wenn du nicht weißt, was da nun am Ende rauskommen soll, dann wird das schwierig. (und die Vorgabe mit dem Int-Array macht es auch nicht eindeutig) |
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
hi,
also das prog sieht wie folgt aus: über ein edit-feld wird in die listbox1 übertragen. anschließend soll der inhalt von listbox1 in listbox2 über ein array übertragen werden. scheinbar soll der inhalt über: Inhalt:Array[1..5] of Integer; übertragen werden... nur.. wie berwerkstellige ich das nur? |
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
Zitat:
2. Worin liegt das Problem, den Inhalt eines Editfeldes in die Listbox zu übertragen? 3. Den Inhalt einer Listbox kann man mit
Delphi-Quellcode:
direkt übertragen. Ein Array ist dazu nicht erforderlich.
ListBox1.Items.Assign(ListBox2.Items)
4. Wie kommt das Array of Integer ins Spiel, wo es sich hier doch ausschließlich um Strings handelt? 5. Wer hat dir den Befehl "soll" erteilt? 6. Was möchtest du überhaupt erreichen? |
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
Zitat:
Wenn bei der Implementierung (also dem Programmieren selber) Worte auftauchen wie z.B. scheinbar oder eventuell oder ich glaube, dann hat das Programmieren ab sofort wieder Pause. Denn man kann scheinbar nicht programmieren. @Perlsau :thumb: Zitat:
|
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
Code:
so sieht mein listing nun aus.
var
Form1: TForm1; Arr: Array [1..5] of string; z,i: integer; Liste: tstringlist; implementation {$R *.dfm} procedure TForm1.Button2Click(Sender: TObject); begin Liste.add(Edit1.Text); Listbox1.items:=liste; end; procedure TForm1.FormCreate(Sender: TObject); begin Liste:= tstringlist.create; Arr[1]:=edit1.text; Arr[2]:=edit1.text; Arr[3]:= edit1.text; Arr[4]:= edit1.text; Arr[5]:= edit1.text; end; procedure TForm1.Button1Click(Sender: TObject); begin listbox2.items.add(Arr[i]) end; end. aber wenn ich den button1 klicke kommt in der listbox nur pE (???) bitte um hilfe! |
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
Welchen Wert hat denn i zu dem Zeitpunkt? Ich möchte wetten, dass das 0 ist und somit gar nicht in Deinem Array verfügbar. Eine eingeschaltete Bereichsprüfung sollte einem das auch mitteilen.
|
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
wenn ich eien forschleife vor den arrays setze.. also in etwa so:
for i = 1 to 5 do --> kommt ne fehlermeldung bei der übertragung |
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
wieviele Elemente (Items) hat denn Deine Listbox2?
Versuche mal:
Delphi-Quellcode:
Grüße
for i:=0 to listbox2.items.count -1 do
KLaus |
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
:?:
|
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
hi!
die elemente der jeweiligen listboxen habe ich gar nicht festgelegt! weiß auch gar nicht wo ich da einen anhaltspunkt hätte. eine listbox zunem array zu machen habe ich auch shcon dran gedacht aber ich wüsste halt nicht wie. --> ausgabe erfolgt mit deiner schleife immer noch mit 'pE' :( |
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
das wäre meine nächste idee....
Arr[1]:=listbox1.items[z]; |
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
Zitat:
Ich gebe dir mal eine allgemeine Hilfestellung, bei der eigentlich nur noch 2 Zeilen Code fehlen. Damit solltest du eigentlich auf die Lösung kommen:
Delphi-Quellcode:
Wenn du die entsprechenden Zeilen dann eingefügt hast, wirst du auch selbst feststellen, dass die Aufgabenstellung absolut schwachsinnig ist. Man konvertiert einen String in einen Integer, nur um den Wert direkt danach wieder in einen String umzuwandeln :O
var
A: array of Integer; I: Integer; begin // Schritt 1: Größe des Arrays der Länge der ListBox1 anpassen SetLength(A, ListBox1.Items.Count); // Schritt 2: Alle Elemente der ListBox1 ins Array kopieren for I := 0 to ListBox1.Items.Count - 1 do begin // TODO: end; // Schritt 3: Alle Elemente des Arrays in ListBox2 kopieren for I := Low(A) to High(A) do begin // TODO: end; end; |
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
Ich würde auch gern einmal den genauen Wortlaut der Aufgabe kennen. Mir scheint, hier herrscht ein Missverständnis vor, ansonsten wäre das doch ziemlicher Stuss :mrgreen:
|
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
hi!
das verlangt alles mein lehrer! finde ich ehrlich gesagt auch sehr gut, weil man die basics verstehen muss. es ist ja nicht so, dass ich nicht programmieren könne. in java stehe ich immerhin auf ner 1... aber da ich dieses schuljahr wdh. und dieses das letzte schuljahr ist, und ich vorher noch kein delphi hatte, muss ich mal ordenlicht in die tasten hauen! p.s.: es geht um mein abi ^^ |
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
Habe meinen Post oben nochmal etwas editiert, um dir ein bisschen mit Code auszuhelfen.
|
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
Code:
AHHAA!!!!
rocedure TForm1.Button1Click(Sender: TObject);
var A: array of Integer; I: Integer; begin // Schritt 1: Größe des Arrays der Länge der ListBox1 anpassen SetLength(A, ListBox1.Items.Count); // Schritt 2: Alle Elemente der ListBox1 ins Array kopieren for I := 0 to ListBox1.Items.Count - 1 do begin Arr[1]:= listbox1.Items[i]; end; // Schritt 3: Alle Elemente des Arrays in ListBox2 kopieren for I := Low(A) to High(A) do begin Listbox2.items.add(Arr[i]); end; end; //listbox2.items.add(Arr[i]) end. jetzt wir dem ziel schon näher! jetzt erscheint folgendes in listbox2: pE Edit1 pE Edit1 also 2 ausgaben bei jeweils einem klick. eine davon ist fehlerhaft. vielen dank für deine hilfe! Edit: darauf wäre ich alleine nicht gekommmen! |
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
Arr[1]:= listbox1.Items[i];
Du ballerst immer nur was in Pos 1 des Arrays der Rest bleibt leer. Später dann liest du aber das Array komplett aus. |
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
hi jumpy!
wie darf ich das verstehen? Arr[1]:= '' ;?? aber das ergibt doch keinen sinn... |
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
Dieser MixMax mit A und Arr :wall:
|
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
Wieso Arr[1]? Das ist immer dasselbe Element im Array, darauf wollte jumpy hinaus. Die 1 sollte man vielleicht durch eine Variable ersetzen?
|
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
hi!
wenn ich statt 'Arr' zu 'A' mache, kommt die fehlermeldung dass integer und string nicht kompatibel sind! |
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
Die Frage ist was das "tote" A da macht ...
|
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
Und statt darüber nachzudenken, woran das liegen könnte, nimmt man einfach noch ein Array?
|
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
ES FUNKTIONIERT!!!
okok. hab also das A im setleghth zunem Arr gemacht und dann das array of integer weggelassen! vielen dank leute!!!! |
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
Jetzt hast du aber nicht deine Aufgabenstellung beachtet (Integer Array verwenden). Dein "Arr" ist doch ein Array of String. Die Lösung, die ich angedacht hatte ist folgende:
Delphi-Quellcode:
Ich gehe mal davon aus, dass der Lehrer euch den Umgang mit StrToInt() und IntToStr() näherbringen wollte. Alles andere würde bei der Aufgabenstellung für mich keinen Sinn ergeben.
var
A: array of Integer; I: Integer; begin // Schritt 1: Größe des Arrays der Länge der ListBox1 anpassen SetLength(A, ListBox1.Items.Count); // Schritt 2: Alle Elemente der ListBox1 ins Array kopieren for I := 0 to ListBox1.Items.Count - 1 do begin A[I] := StrToInt(ListBox1.Items[I]); end; // Schritt 3: Alle Elemente des Arrays in ListBox2 kopieren for I := Low(A) to High(A) do begin ListBox2.Items.Add(IntToStr(A[I])); end; end; |
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
oh verflixt!
stimmt du hast recht! danke! --> naja.. str to int und inttostr hatten wir auch schon durchgenommen. ich glaube er möchte einfach nur, dass wir jede operation logisch nachvollziehen sollen. |
AW: Listbix1 eintragungen in Listbox2 Übertragen per Array
Also logisch find ich diese Aufgabe nicht. Da würd ich eher drei Listboxen nehmen und damit eine Art Türme von Hanoi oder so programmieren, da macht es Sinn einezelne Elemente von einer Listbox zur anderen zu schieben und es macht da ggf. aus Sinn StrToInt zu benutzen, wenn man wissen möchte, was für ein Element man gerade hat und diese wie unten aufgebaut sind. Man könnte natürlich da auch Length benutzen:
Aufbau der Türme: 1 22 333 4444 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 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 by Thomas Breitkreuz