AGB  ·  Datenschutz  ·  Impressum  







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

Baumstruktur mit fehlern :(

Ein Thema von glkgereon · begonnen am 26. Apr 2005 · letzter Beitrag vom 30. Apr 2005
 
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#1

Baumstruktur mit fehlern :(

  Alt 26. Apr 2005, 14:06
hi

ich will eine Baumstruktur aufbauen.
jeder knoten soll 0-4 kinder haben.
das ganze soll nachher auf eine paintbox gemalt werden.
(konkret geht es um die darstellung von Alkanen (zb Methan, Butan, Propan))

dazu habe ich mir folgenden typ gemacht:

Delphi-Quellcode:
type
  TNode = record
    Parent: Pointer;
    ChildCount: Byte;
    Childs: array [1..4] of Pointer;
    x,y: Integer;
  end;
und das ganze in eine TList geschmissen.

Delphi-Quellcode:
procedure AddNode(Parent: Pointer; PX, PY, Count: Integer);
var Temp: TNode;
    i:Integer;
begin
  for i:=1 to Count do
    begin
    Temp.ChildCount:=StrToInt(InPutBox('Childs','ChildCount','1'));
    Temp.Parent:=Parent;
    {1: 0, 1
    2: 1, 0
    3: 0,-1
     4:-1, 0}

    Temp.x:=PX - (i-2);
    Temp.y:=PY - (i-3);
    Form1.Nodes.Add(@Temp);
    AddNode(@Temp.Childs[i], Temp.x, Temp.y, Temp.ChildCount);
    end;
end;

procedure DrawAgain;
//malen
var i: Integer;
begin
  with Form1 do
    for i:=0 to Nodes.Count-1 do
      with TNode(Nodes.Items[i]^) do
        PaintBox1.Canvas.Arc(x*10,y*10,x*10+8,y*10,x*10,y*10+8,x*10+8,y*10+8);
end;

procedure TForm1.Button1Click(Sender: TObject);
//Neu eingeben
var Temp: TNode;
    Parent: Pointer;
begin
  AddNode(nil,0,0,1);
  DrawAgain;
end;

procedure TForm1.Button2Click(Sender: TObject);
//Debug
var i:Integer;
begin
  for I:=0 to Nodes.Count-1 do
    with TNode(Nodes.Items[i]^) do
      ListBox1.Items.Add(IntToStr(x)+' '+IntToStr(y));
end;
nur leider kommen total bekloppte x/y-werte heraus....
zb:
//Button1Click
eingabe: 2,0,0
//Button2Click
1242936, 4368756
1, 0
1, 0

und natürlich geht dann auch das malen schief...

wo ist der fehler im code?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
 


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 14:47 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