Einzelnen Beitrag anzeigen

josefkoller

Registriert seit: 22. Okt 2012
49 Beiträge
 
#1

Prozedur zusammenbauen

  Alt 17. Nov 2012, 18:27
Hallo,

ich weiß nicht recht weiter.

Es gibt folgende Prozedur:

  DrawTextAcrossCols([arrColText[0,b],arrColText[1,b],arrColText[2,b]]); Die Paramter in der Prozedur sind Arrayeinträge und unterscheiden sich lediglich in den Zahlen 0,1,2 und es sollen mit einer Schleife beliebige fortlaufende Zahlen eingesetzt werden können.

Also
DrawTextAcrossCols([arrColText[0,b],arrColText[1,b],arrColText[2,b],arrColText[n,b]]);

Zuerst dachte ich, ich baue diese Prozedurparamter mit einem String zusammen. Also

Delphi-Quellcode:
var
 prepare:string,
begin
 ....
    prepare:='([';
    for a:=0 to high(arrColumnText) do
      prepare:=prepare+'arrColText[0,b],';
    prepare:=copy(prepare,0,length(prepare)-1);
    prepare:=prepare+'])';
    for b:=0 to lns-1 do begin
      //DrawTextAcrossCols([arrColText[0,b],arrColText[1,b],arrColText[2,b]]);
      DrawTextAcrossCols+prepare;
    end;
 ....
end;
Ist natürlich Quatsch. Aber ich weiß nicht, wie ich es machen soll.

Diese "zusammengebaute" Prozedur muß in einem rutsch laufen, damit die mit den Paramtern übergebenen texte beim Ausdruck nebeneinander stehen.

Wenn ich die Prozedur mit einer Schleife so aufrufe:

Delphi-Quellcode:
for i:= 0 to high(arrColumnText) do
DrawTextAcrossCols([arrColText[[U][B]i[/B][/U],b]
werden die Spalten nicht nebeneinander, sondern versetzt untereinander dargestellt.
Scheidet also aus. Zurückspringen auf das ursprüngliche TOP scheidet auch aus.

So nach dem Motto: "Ich kann den Ausdruck ja nicht anhalten, um wieder oben zu beginnen!"

Wie kann ich die Prozedur so zusammenbauen, daß sie in einem Rutsch ausgeführt werden kann.

Danke.

Josef
  Mit Zitat antworten Zitat