AW: String Zeichen einzeln ausgeben
Delphi-Quellcode:
oder
for i:= 1 to length(EditText.text) do
Delphi-Quellcode:
kommt das nicht aufs gleiche raus ?!
for i:= 0 to length(EditText.text)-1 do
|
AW: String Zeichen einzeln ausgeben
Nein, Strings beginnen bei Index 1, dynamische Arrays bei Index 0.
|
AW: String Zeichen einzeln ausgeben
Zitat:
Das Ergebnis schaut aber bei mir gleich aus, ist mir aufgefallen ! |
AW: String Zeichen einzeln ausgeben
Dann schalt mal die Bereichsprüfung ein. Das erste Edit im Array wird überhaupt nicht angesprochen, dafür aber eins, das außerhalb des Arrays liegt.
|
AW: String Zeichen einzeln ausgeben
Ok ich habe es jetzt gesehen ;-)
|
AW: String Zeichen einzeln ausgeben
Warum hört eigentlich niemand auf Bjoerk?
Delphi-Quellcode:
Mein Vorschlag daher
var
i: Integer; begin ... SetLength(EditArray, i); // Preisfrage: Welchen Wert hat i zu diesem Zeitpunkt? ... for i:= 1 to length(EditText.text) do begin ... end; end;
Delphi-Quellcode:
procedure TForm2.BtnStartClick(Sender: TObject);
var i: Integer; begin EditText.Visible := false; BtnStart.Visible := false; BtnClear.Visible := false; Wort := EditText.Text; SetLength( EditArray, Length( Wort ) ); for i:= 0 to High( EditArray ) do begin EditArray[i]:= TEdit.Create(Self); EditArray[i].Parent := Self; EditArray[i].Left:= 16 + ((EditArray[i].Left + 32) * i); EditArray[i].Top:= 380; EditArray[i].Width:= 30; EditArray[i].Font.Name := 'Comic Sans MS'; EditArray[i].Font.Size := 14; EditArray[i].MaxLength := 1; EditArray[i].Alignment := taCenter; EditArray[i].Text := Wort[i + 1]; end; end; |
AW: String Zeichen einzeln ausgeben
Zitat:
Übrigens es Funktioniert wunderbar ! Danke |
AW: String Zeichen einzeln ausgeben
Was bezweckst du eigentlich mit dieser Zeile:
Delphi-Quellcode:
Nimm die aktuell linke Position des neu erzeugten Controls (wo immer die auch liegen mag) und errechne aus diesem die neue linke Position???
...
EditArray[i].Left:= 16 + ((EditArray[i].Left + 32) * i); ... Du bist dir sicher, dass du damit immer ein reproduzierbares und vorhersehbares Ergebnis bekommst? |
AW: String Zeichen einzeln ausgeben
Die Ausrichtung der Edits und das sollte eher so ;-)
Delphi-Quellcode:
EditArray[i].Left:= 50 +(32* i);
|
AW: String Zeichen einzeln ausgeben
Zitat:
Delphi-Quellcode:
...
EditArray[i].Width := 30; EditArray[i].Left := 50 + ( EditArray[i].Width + 2 ) * i; ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:02 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