C Sharp textbox mit zahlen über for schleife ansteuern
C Sharp textbox mit zahlen über for schleife ansteuern
Hallo
ich habe
6 mal 8 Text boxen mit L1B1N ... L1B8N , L2B1N .. und soweiter bis L6B8N
ich habe eine txt Datei in ein Array geschrieben
sp[ 1,1,0] und soweiter
nun soll über eine forschleife
Aber mit LxBzN funktioiert nicht.
Wie kann man das lösen?
Hallo
ich habe
6 mal 8 Text boxen mit L1B1N ... L1B8N , L2B1N .. und soweiter bis L6B8N
ich habe eine txt Datei in ein Array geschrieben
sp[ 1,1,0] und soweiter
nun soll über eine forschleife
for(int x=1;x<7;x++)
{
for(int z=1;z<9;z++)
LxBzN.text = Array[x,z,0];
}
Aber mit LxBzN funktioiert nicht.
Wie kann man das lösen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 167284
Url: https://administrator.de/contentid/167284
Ausgedruckt am: 25.11.2024 um 12:11 Uhr
10 Kommentare
Neuester Kommentar
Evtl. mit einer anderen Schleife, die alle Kindobjekte des Elternobjekts der Textboxen in das Array schreibt.
Grüße
Bittesehr:
Ob Dir das wirklich weiterhilft weiß ich nicht. Die Objekte werden in Delphi über die Delphi-eigene VCL (Visual Component Library) verwaltet.
Grüße
var
TextBoxArray: Array[0..5] of Array[0..7] of TEdit;
procedure FillTextBoxesInArray(aParent: TPanel);
var
I,
row,
col: Integer;
begin
row := 0;
col := 0;
for I := 0 to aParent.ControlCount - 1 do
begin
TextBoxArray[row, col] := aParent.Controls[I];
if (I+1) mod 8 = 0 then
begin
col := 0;
Inc(row);
end
else
Inc(col);
end;
end;
Ob Dir das wirklich weiterhilft weiß ich nicht. Die Objekte werden in Delphi über die Delphi-eigene VCL (Visual Component Library) verwaltet.
Grüße
Hallo Dipps!
Meinst Du sowas:
Wenn ja, in VBA z.B so:
Wobei im Tag der jeweiligen TextBox eine Array-Adresse in Form '0.0' bis '6.7' eingetragen ist.
Meinst Du sowas:
Wenn ja, in VBA z.B so:
Sub test()
Dim arr As Variant, TBox As Control, Offsets As Variant
arr = Array(Array(10, 11, 12, 13, 14, 15, 16, 17), Array(20, 21, 22, 23, 24, 25, 26, 27), _
Array(30, 31, 32, 33, 34, 35, 36, 37), Array(40, 41, 42, 43, 44, 45, 46, 47), _
Array(50, 51, 52, 53, 54, 55, 56, 57), Array(60, 61, 62, 63, 64, 65, 66, 67))
Load UserForm1
For Each TBox In UserForm1.Controls
Offsets = Split(TBox.Tag, ".")
If UBound(Offsets) = 1 Then TBox = arr(Offsets(0))(Offsets(1))
Next
UserForm1.Show
End Sub
Schau mal unter
http://openbook.galileocomputing.de/csharp/kap16.htm#t22
bei 17.2.2
Da wird dir bezüglich des Arrays geholfen.
Der Typ des Arrays wird dann einfach eine TextBox textBoxArray oder ähnliches.
Dann musst du die einzelnen Felder wie im Link beschrieben beschreiben.
Du kannst alles automatisch erzeugen lassen in zwei for-Schleifen ( eine für die rows, eine für die cols ) oder eben manuell anlegen.
Anschließend kannst du über den Index bzw die Indizes auf jede TextBox zugreifen:
textBoxArray[Zeile][Spalte]; //Musst nur schauen, dass quasi der "y-Wert" zuerst kommt in Form der Zeile.
Da die Frage schon etwas älter ist bin ich nicht näher drauf eingegangen. Solltest du noch Hilfe brauchen, so gehe ich gerne nochmal etwas näher drauf ein.
http://openbook.galileocomputing.de/csharp/kap16.htm#t22
bei 17.2.2
Da wird dir bezüglich des Arrays geholfen.
Der Typ des Arrays wird dann einfach eine TextBox textBoxArray oder ähnliches.
Dann musst du die einzelnen Felder wie im Link beschrieben beschreiben.
Du kannst alles automatisch erzeugen lassen in zwei for-Schleifen ( eine für die rows, eine für die cols ) oder eben manuell anlegen.
Anschließend kannst du über den Index bzw die Indizes auf jede TextBox zugreifen:
textBoxArray[Zeile][Spalte]; //Musst nur schauen, dass quasi der "y-Wert" zuerst kommt in Form der Zeile.
Da die Frage schon etwas älter ist bin ich nicht näher drauf eingegangen. Solltest du noch Hilfe brauchen, so gehe ich gerne nochmal etwas näher drauf ein.