AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zu erstellen einer for-Schleife

Ein Thema von Jerry · begonnen am 27. Aug 2010 · letzter Beitrag vom 27. Aug 2010
Antwort Antwort
Seite 1 von 2  1 2      
Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#1

Frage zu erstellen einer for-Schleife

  Alt 27. Aug 2010, 11:10
Delphi-Version: 2010
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:
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;
Ich fühle mich mit dem FindComponent noch nicht so zurecht....

Wer kann mit mit dem richtigen Syntax helfen?
Vielen Dank.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Frage zu erstellen einer for-Schleife

  Alt 27. Aug 2010, 11:16
Nimm besser .Append() oder .Add() statt den Text selber zusammenzubasteln.
Warum beginnst du bei 2?
Ein Softcast wäre besser:
(FindComponent('pp_KontoInhaberZ' + intToStr(i) as TppField).AsString
Markus Kinzler
  Mit Zitat antworten Zitat
Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Frage zu erstellen einer for-Schleife

  Alt 27. Aug 2010, 11:28
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...
Miniaturansicht angehängter Grafiken
problem.jpg  
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Frage zu erstellen einer for-Schleife

  Alt 27. Aug 2010, 11:29
Du hast die Klammern auch falsch gesetzt
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#5

AW: Frage zu erstellen einer for-Schleife

  Alt 27. Aug 2010, 11:31
Und so?
Delphi-Quellcode:
var CurrField: TppField;

...

CurrField := FindComponent('pp_KontoinhaberZ' + IntToStr(i)) as TppField;
if Assigned(CurrField) and (CurrField.AsString <> '') then
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#6

AW: Frage zu erstellen einer for-Schleife

  Alt 27. Aug 2010, 11:36
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;
  Mit Zitat antworten Zitat
Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#7

AW: Frage zu erstellen einer for-Schleife

  Alt 27. Aug 2010, 11:40
so habs nun..

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;
Vielen Dank an alle!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Frage zu erstellen einer for-Schleife

  Alt 27. Aug 2010, 11:41
 if (Findcomponent('pp_KontoInhaberZ' + intToStr(i)) as TppField).AsString <> 'then
Markus Kinzler
  Mit Zitat antworten Zitat
Nachteule

Registriert seit: 22. Mär 2007
Ort: München
37 Beiträge
 
Delphi 2009 Enterprise
 
#9

AW: Frage zu erstellen einer for-Schleife

  Alt 27. Aug 2010, 11:53
Zitat:
Leider ist das Append und Add in dieser Memobox nicht vorhanden.
hähh?


MemoKunde3.Lines.Add((Findcomponent('pp_KontoInhaberZ' + intToStr(i)) as TppField).AsString );

Geändert von Nachteule (27. Aug 2010 um 11:55 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Frage zu erstellen einer for-Schleife

  Alt 27. Aug 2010, 11:59
Hallo,

Delphi-Quellcode:
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;
Du rufst FindComponent jetzt 2mal auf.
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
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:42 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