![]() |
Delphi-Version: 2010
Frage zu erstellen einer for-Schleife
Hallo zusammen
Habe folgende Ausgangslage: Variablen in aufzählender Form: pp_KontoInhaberZ1 pp_KontoInhaberZ2 bis pp_KontoInhaberZ7 Variable pp_KontoInhaber ist vom Typ TppField Text wird so ausgelesen: pp_KontoInhaberZ1.AsString Ich möchte nun alle Variablen von 1-7 in eine Memobox einlesen und mit #10 in eine neue Zeile legen. Hier der ungefähre Code an dem ich jetzt bastle...
Delphi-Quellcode:
Ich fühle mich mit dem FindComponent noch nicht so zurecht....
procedure Trpt_eVVPrint.MemoKunde3Print(Sender: TObject);
var i : integer; begin MemoKunde3.Text := pp_KontoInhaberZ1.AsString + #10; for I := 2 to 7 do begin if TppField(FindComponent('pp_KontoInhaberZ' + intToStr(i)).AsString) <> '' then // hier stimmt auch was nicht...?? begin // hier einfüllen aber wie... end; end; end; Wer kann mit mit dem richtigen Syntax helfen? Vielen Dank. |
AW: Frage zu erstellen einer for-Schleife
Nimm besser .Append() oder .Add() statt den Text selber zusammenzubasteln.
Warum beginnst du bei 2? Ein Softcast wäre besser:
Delphi-Quellcode:
(FindComponent('pp_KontoInhaberZ' + intToStr(i) as TppField).AsString
|
AW: Frage zu erstellen einer for-Schleife
Liste der Anhänge anzeigen (Anzahl: 1)
Danke für Deine Antwort.
Leider ist das Append und Add in dieser Memobox nicht vorhanden. Jetzt habe ich aber folgendes Problem: Siehe hier Screen: (auf Eigenschaft AsString kann nicht zugegriffen werden. Danke für weitere Tipps... :-) |
AW: Frage zu erstellen einer for-Schleife
Du hast die Klammern auch falsch gesetzt
|
AW: Frage zu erstellen einer for-Schleife
Und so?
Delphi-Quellcode:
var CurrField: TppField;
... CurrField := FindComponent('pp_KontoinhaberZ' + IntToStr(i)) as TppField; if Assigned(CurrField) and (CurrField.AsString <> '') then |
AW: Frage zu erstellen einer for-Schleife
mmmm sorry der will net... :-(
Delphi-Quellcode:
procedure Trpt_eVVPrint.MemoKunde3Print(Sender: TObject);
var i : integer; begin for i := 1 to 7 do begin if Findcomponent('pp_KontoInhaberZ' + intToStr(i) as TppField).AsString <> '' then begin MemoKunde3.Text := MemoKunde3.Text + Findcomponent('pp_KontoInhaberZ' + intToStr(i) as TppField).AsString + #10; end; end; end; |
AW: Frage zu erstellen einer for-Schleife
so habs nun.. ;-)
Delphi-Quellcode:
Vielen Dank an alle!
procedure Trpt_eVVPrint.MemoKunde3Print(Sender: TObject);
var i : integer; begin for i := 1 to 7 do begin if (Findcomponent('pp_KontoInhaberZ' + intToStr(i)) as TppField).AsString <> '' then begin MemoKunde3.Text := MemoKunde3.Text + (Findcomponent('pp_KontoInhaberZ' + intToStr(i)) as TppField).AsString + #10; end; end; end; |
AW: Frage zu erstellen einer for-Schleife
Delphi-Quellcode:
if (Findcomponent('pp_KontoInhaberZ' + intToStr(i)) as TppField).AsString <> '' then
|
AW: Frage zu erstellen einer for-Schleife
Zitat:
Delphi-Quellcode:
MemoKunde3.Lines.Add((Findcomponent('pp_KontoInhaberZ' + intToStr(i)) as TppField).AsString );
|
AW: Frage zu erstellen einer for-Schleife
Hallo,
Delphi-Quellcode:
Du rufst FindComponent jetzt 2mal auf.
if (Findcomponent('pp_KontoInhaberZ' + intToStr(i)) as TppField).AsString <> '' then
begin MemoKunde3.Text := MemoKunde3.Text + (Findcomponent('pp_KontoInhaberZ' + intToStr(i)) as TppField).AsString + #10; end; Weiter oben war der Tip mit der lokalen Variable. Das Memo hat übrigens ein Lines.Add Das erspart dir das #10 (was eigentlich #13#10 ein müsste). Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 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-2025 by Thomas Breitkreuz