AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Ausgeben von einer Datenbank mit TTreeView
Thema durchsuchen
Ansicht
Themen-Optionen

Ausgeben von einer Datenbank mit TTreeView

Offene Frage von "fruity"
Ein Thema von ZeroQool007 · begonnen am 30. Aug 2004 · letzter Beitrag vom 7. Apr 2006
Antwort Antwort
Seite 3 von 4     123 4      
ZeroQool007

Registriert seit: 30. Aug 2004
127 Beiträge
 
#21

Re: Ausgeben von einer Datenbank mit TTreeView

  Alt 30. Aug 2004, 15:34
Hab es nun nach deiner Reihenfolge gemacht:
Code:
[Fehler] Unit1.pas(58): Undefinierter Bezeichner: 'TheView'
[Fehler] Unit1.pas(58): 'END' erwartet, aber ')' gefunden
[Fehler] Unit1.pas(61): ';' erwartet, aber 'WHILE' gefunden
[Fehler] Unit1.pas(62): Undefinierter Bezeichner: 'AktNode'
[Fehler] Unit1.pas(62): Undefinierter Bezeichner: 'TreeView1'
[Fehler] Unit1.pas(62): 'END' erwartet, aber ')' gefunden
[Fehler] Unit1.pas(67): '.' erwartet, aber ';' gefunden
[Fehler] Unit1.pas(68): Bezeichner redefiniert: 'Finalization'
[Fehler] Unit1.pas(69): ')' erwartet, aber Bezeichner 'Items' gefunden
[Fehler] Unit1.pas(70): ')' erwartet, aber Bezeichner 'Items' gefunden
[Fehler] Unit1.pas(77): Anweisung erwartet, aber Dateiende gefunden
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#22

Re: Ausgeben von einer Datenbank mit TTreeView

  Alt 30. Aug 2004, 15:37
1. ersetze in Zeile 58 TheView (gibt es nicht mehr) durch TreeView1
2. Schreib erstmal ein paar kleine Programme, damit Du den Umgang mit Delphi und IDE erlernst, bevor Du Dir hier Hausaufgaben machen lässt.
Ende meiner Posts zu diesem Thread
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat
ZeroQool007

Registriert seit: 30. Aug 2004
127 Beiträge
 
#23

Re: Ausgeben von einer Datenbank mit TTreeView

  Alt 30. Aug 2004, 15:47
Naja schade, dass du direkt so gereizt bsit! Sagte doch bin Azubi im 1.Jahr (gerade 1 Monat erst rum) und mit allen Komponenten ect. nicht so viel Erfahrung wie du zb!

Trotzdem thx für deine Hilfe! Weiss ich zu schätzen und sorry für die Unannehmlichkeiten!
  Mit Zitat antworten Zitat
Delphi_Fanatic

Registriert seit: 24. Mär 2004
201 Beiträge
 
#24

Re: Ausgeben von einer Datenbank mit TTreeView

  Alt 30. Aug 2004, 16:01
Siehst Du, ZeroCool, jetzt geht's Dir hier auch nicht anders, als unter Delphi-Groups.
Da hat auf Dauer nämlich niemand Bock drauf, für Dich das denken zu übernehmen und Dir am besten
gleich komplett fertige Sourcen zu liefern, während Du selbst Dich überhaupt gar nicht anstrengst.
  Mit Zitat antworten Zitat
ZeroQool007

Registriert seit: 30. Aug 2004
127 Beiträge
 
#25

Re: Ausgeben von einer Datenbank mit TTreeView

  Alt 30. Aug 2004, 16:14
Naja, das hat damit nichts zu tun! Das wäre das Gleiche als würde ich dir nen chinesischen Text hinlegen u du sollst übersetzen! Ohne Vorkenntnisse bzw wenn dir keiner hilft kannst du fast nichts machen! Ich hab halt bei der Umsetzung Probleme, obwohl ich weiss was zu machen ist sprich nach dem Struktogramm vorzugehen!
  Mit Zitat antworten Zitat
Delphi_Fanatic

Registriert seit: 24. Mär 2004
201 Beiträge
 
#26

Re: Ausgeben von einer Datenbank mit TTreeView

  Alt 30. Aug 2004, 16:23
Zitat:
Ohne Vorkenntnisse bzw wenn dir keiner hilft kannst du fast nichts machen!
Gerade die Vorkenntnisse sollst Du Dir ja selber aneignen.
Dokus lesen, Ausprobieren, fang' erstmal mit kleinen Sachen an, schau's Dir im Debugger an, was
genau er da macht usw....

Wenn Du es Dir jetzt nicht selbst erarbeitest, dann stehst Du bei dem nächsten Problem wieder
hier und willst Dir von jemandem alles vorkauen lassen. So lernst Du's nie....

P.S. aber hey.. was red' ich ... ist ja Deine Sache ...
  Mit Zitat antworten Zitat
Benutzerbild von fruity
fruity

Registriert seit: 3. Apr 2005
Ort: Bregenz
24 Beiträge
 
#27

Re: Ausgeben von einer Datenbank mit TTreeView

  Alt 9. Aug 2005, 10:04
Morgen,

ich versuche gerade eine Tabelle die ich in einer SQL DB habe in einem TreeView auszugeben. Dazu habe ich mir schon den
Thread angeschaut und so ziemlich alles davon verwenden koennen.

Ich bekomm auch keine Fehlermeldung, aber es wird keine Ausgabe im TreeView erstellt.

Waere euch sehr dankbar wenn ihr mir einen kleinen Denkanstoss geben wuerdet. Ich vermute dass das Problem in der For Schleife liegt, nur leider weiss ich nicht genau wo.

Danke im voraus.

Delphi-Quellcode:
unit Hauptformular;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ComCtrls, Menus, OleCtrls, SHDocVw, DB;

type
  TFmHaupt = class(TForm)
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    TreeView1: TTreeView;
    Splitter1: TSplitter;
    Panel1: TPanel;
    WebBrowser1: TWebBrowser;
    Panel2: TPanel;
    DSTreeView: TDataSource;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormDestroy(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

type
  TTView = Record
    ID : Integer;
    ParentID : Integer;
end;

  PView = ^TTView;

var
  FmHaupt: TFmHaupt;

implementation

uses HauptformularDM;

{$R *.dfm}
//-08-Aug-2005--------------------------------------------------------------------------------------
// Form Create
procedure TFmHaupt.FormCreate(Sender: TObject);

  procedure MoveToParentNode(TheNode: TTreeNode);
    var x : Integer;
    begin
      for x := 0 to TreeView1.Items.Count-1 do begin
        if Assigned(TreeView1.Items[x].Data) then begin
          if PView(TreeView1.Items[x].Data).ID = PView(TheNode.Data).ParentID then begin
            TheNode.MoveTo(TreeView1.Items[x], naAddChild);
            Break;
          end;
        end;
      end;
    end;

var Root,AktNode : TTreeNode;
  i : Integer;
begin
  DMHaupt.QHauptTreeView.First;
  Root := TTreeNode.Create(TreeView1.Items);
  Root.Text := 'Test';
  Root.Data := nil;
  while not DMHaupt.QHauptTreeView.EOF do begin
    AktNode := TTreeNode.Create(TreeView1.Items);
    AktNode.Data := new(PView);
    PView(AktNode.Data).ID := DMHaupt.QHauptTreeView.FieldByName('ID').AsInteger;
    PView(AktNode.Data).ParentID := DMHaupt.QHauptTreeView.FieldByName('ParentID').AsInteger;
    DMHaupt.QHauptTreeView.Next;
  end;
  for i := 0 to TreeView1.Items.Count-1 do begin
    if Assigned(TreeView1.Items[i].Data) then begin
      if PView(TreeView1.Items[i].Data).ParentID <> 0 then MoveToParentNode(TreeView1.Items[i]);
    end;
  end;
end;
Rechtßreibvehler sind geistiegeß Eigentumm dess Autorren !!!
  Mit Zitat antworten Zitat
Benutzerbild von fruity
fruity

Registriert seit: 3. Apr 2005
Ort: Bregenz
24 Beiträge
 
#28

Re: Ausgeben von einer Datenbank mit TTreeView

  Alt 9. Aug 2005, 10:34
So hab jetzt mal ein Problem festgestellt.
Ich war wiedermal zu unaufmerksam beim lesen und hab uebersehen,
dass das auffuellen des Trees in eine extra Procedure gehoert.

Trotzdem funktioniert die Ausgabe noch nicht.

Hier mal meinen neuen Code

Delphi-Quellcode:
unit Hauptformular;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ComCtrls, Menus, OleCtrls, SHDocVw, DB;

type
  TFmHaupt = class(TForm)
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    TreeView1: TTreeView;
    Splitter1: TSplitter;
    Panel1: TPanel;
    WebBrowser1: TWebBrowser;
    Panel2: TPanel;
    DSTreeView: TDataSource;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormDestroy(Sender: TObject);
    procedure FillTreeView(TheView : TTreeView; TheData : TDataSet);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

type
  TTView = Record
    ID : Integer;
    ParentID : Integer;
end;

  PView = ^TTView;

var
  FmHaupt: TFmHaupt;

implementation

uses HauptformularDM;

{$R *.dfm}
//-08-Aug-2005--------------------------------------------------------------------------------------
// Form Create
procedure TFmHaupt.FormCreate(Sender: TObject);
begin
  FillTreeView(TreeView1, DMHaupt.QHauptTreeView);
end;
//-08-Aug-2005--------------------------------------------------------------------------------------
//
procedure TFmHaupt.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//
end;
//-08-Aug-2005--------------------------------------------------------------------------------------
//
procedure TFmHaupt.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
//
end;
//-08-Aug-2005--------------------------------------------------------------------------------------
//
procedure TFmHaupt.FormDestroy(Sender: TObject);
begin
//
end;
//-09-Aug-2005--------------------------------------------------------------------------------------
//
procedure TFmHaupt.FillTreeView(TheView: TTreeView; TheData: TDataSet);

procedure MoveToParentNode(TheNode: TTreeNode);
    var x : Integer;
    begin
      for x := 0 to TreeView1.Items.Count-1 do begin
        if Assigned(TreeView1.Items[x].Data) then begin
          if PView(TreeView1.Items[x].Data).ID = PView(TheNode.Data).ParentID then begin
            TheNode.MoveTo(TreeView1.Items[x], naAddChild);
            Break;
          end;
        end;
      end;
    end;

var Root,AktNode : TTreeNode;
  i : Integer;
begin
  DMHaupt.QHauptTreeView.First;
  Root := TTreeNode.Create(TreeView1.Items);
  Root.Text := 'Test';
  Root.Data := nil;
  while not DMHaupt.QHauptTreeView.EOF do begin
    AktNode := TTreeNode.Create(TreeView1.Items);
    AktNode.Data := new(PView);
    PView(AktNode.Data).ID := DMHaupt.QHauptTreeView.FieldByName('ID').AsInteger;
    PView(AktNode.Data).ParentID := DMHaupt.QHauptTreeView.FieldByName('ParentID').AsInteger;
    DMHaupt.QHauptTreeView.Next;
  end;

  for i := 0 to TreeView1.Items.Count-1 do begin
    if Assigned(TreeView1.Items[i].Data) then begin
      if PView(TreeView1.Items[i].Data).ParentID <> 0 then MoveToParentNode(TreeView1.Items[i]);
    end;
  end;
end;
end.
[Edit] Wenn ich das Programm in einzelnen Schritten durchgehe, dann durchlaeuft es zwar die Procedure VillTree, aber die for schleife wird nicht durchgelaufen, da der TreeView1.Items.Count 0 ist. Was mach ich nur falsch? [/Edit]
Rechtßreibvehler sind geistiegeß Eigentumm dess Autorren !!!
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#29

Re: Ausgeben von einer Datenbank mit TTreeView

  Alt 9. Aug 2005, 10:53
Du musst die Prozedur natürlich auch aufrufen

Ausserdem, warum übergibts du der Prozedur einen Parameter TheView, wenn du intern trotzdem auf TreeView1 zugreifst.
  Mit Zitat antworten Zitat
Benutzerbild von fruity
fruity

Registriert seit: 3. Apr 2005
Ort: Bregenz
24 Beiträge
 
#30

Re: Ausgeben von einer Datenbank mit TTreeView

  Alt 9. Aug 2005, 10:58
Die Prozedur rufe ich ja im FormCreate auf, also kann das auch nicht das Problem sein.

Soviel ich weiss ist doch TheView und TreeView vom gleichen Typ, nicht??
Rechtßreibvehler sind geistiegeß Eigentumm dess Autorren !!!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 13:16 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