Einzelnen Beitrag anzeigen

Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#6

AW: Baumstruktur selber zeichnen

  Alt 4. Jul 2016, 14:54
Der Level (also die Y Position) ist nicht so das Problem. Die X Position ist da etwas komplexer.

Und die Struktur kann er schon lesen. Es geht um die Ermittlung der X Position der jeweiligen Elemente. (oh, nee, das Lesen der Struktur ist auch noch ein Knackpunkt)
die braucht er doch auch nur mitzuführen..oder macht aus der Prozedur eine Funktion und gibt diesen dann zurück


Delphi-Quellcode:
function printTree(const aPR, alevelY:integer; alevelX:integer):integer;
var
 aQuery:TQuery
begin
  aQuery:=TQuery.Create(nil);
  try
    aQuery.Database := 'myTrallalal'
    aQuery.SQL.Text := 'select INR,aa,bb,cc from myTable where PR=:pPR';
    aQuery.params[0].asinteger = aPR;
    aQuery.Open;
    while not aQuery.eof do
    begin
      inc(alevelX);

      // der Datensatz hat jetzt die Position (alevelx, alevely)

      // hier jetzt print Daten, den aLevel kann man
      // als Multiplikator für den Einzug benutzen
      ....
      alevelx:= printTree(aQuery.fieldbyname('INR',alevelY+1, alevelX); // rekursiver Aufruf der Childs
      aQuery.next;
    end;
  finally
    aQuery.Free;
  end;

  result := alevelx;
end


begin
  ..
  printTree(1,0,0);
  ..
end;

Geändert von ibp ( 4. Jul 2016 um 15:11 Uhr)
  Mit Zitat antworten Zitat