AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbank in VirtualTreeView anzeigen und auswerten
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbank in VirtualTreeView anzeigen und auswerten

Ein Thema von Jens Hartmann · begonnen am 3. Mär 2009 · letzter Beitrag vom 20. Mär 2009
Antwort Antwort
Seite 5 von 9   « Erste     345 67     Letzte »    
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#41

Re: Datenbank in VirtualTreeView anzeigen und auswerten

  Alt 4. Mär 2009, 21:59
Ich habe die DLL schon direkt mit DW geladen. Die gleiche Fehlermeldung wie bei der EXE
Miniaturansicht angehängter Grafiken
fbclient_446.gif  
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#42

Re: Datenbank in VirtualTreeView anzeigen und auswerten

  Alt 4. Mär 2009, 22:15
@Hansa: Mensch - mußt Du gleich wieder der Keule kommen....

Hansa ist nicht verkehrt, er weiss einiges, gerade über Firebird und ich weiss noch wie er mich mit einem Paukenschlag in meinem 1.Post in der DP begrüßt hat . Aber um das Ganze mal wieder etwas aufzulösen. Dieser Firebird-Installationskrempel gehört nun wirklich nicht unter die Überschrift.

@Jens mach doch mal mit der Geschichte in Deinem Datenbankthread weiter weiter. Du versuchst hier gleich drei Sachen auf einmal und das geht eigentlich nicht gut (1. Fb-Setup 2.Zeos-Zugriff und 3. VT).

Neige dazu Dir das ADO-Beispiel aus dem Datenbankthread an den Compiler zu legen und Dich hier auf die Ansteuerung des Virtual-Tree-View zu konzentrieren. Da gibt es noch Tücken genug.

Viele Grüße in die Runde !

Martin
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#43

Re: Datenbank in VirtualTreeView anzeigen und auswerten

  Alt 4. Mär 2009, 22:23
Da gebe ich Dir recht. Leider ist es ja so, das das eine irgendwie auf dem anderen aufbaut.

Ich habe mich ja intensiv mit dem VST beschäftigt und will halt jetzt an die DB-Anbindung.

Und dabei, ist ja der Fehler aufgetaucht.

Aber trotzdem Danke für den Tip.

Vieleicht sollte ich einfach einen neuen Thread aufmachen. Das Problem ist nur, das ich schon nicht mal mehr weiß, wie ich den überhaupt nennen könnte.

Es ist eben auch nicht gegen Hansa gewesen. Nur ist es halt als Anfänger schwer, wenn man teilweise die Begriffe und Hintergründe nicht kennt, sich darein zu arbeiten. Auch das googeln ist dann nicht so einfach, wenn man nicht genau weiß wonach man eigentlich sucht.
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#44

Re: Datenbank in VirtualTreeView anzeigen und auswerten

  Alt 4. Mär 2009, 22:38
Jens nimm Dir doch das Datenbankbeispiel aus dem anderen Thread und bau mal den VT ein. Morgen bin ich auf der CeBit aber am Freitag würde ich Dir dann aus dem Access VT Beispiel aind FB VT Beispiel bauen. Das mach ich nicht ohne Eigensinn. Mit dem VT habe ich bisher kaum gearbeitet und Du leistet da gerade Forschungsarbeit in meinem Sinne

Grüße // Martin


PS: www.GuteNacht.de
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#45

Re: Datenbank in VirtualTreeView anzeigen und auswerten

  Alt 4. Mär 2009, 22:52
Ich habe doch noch ein wenig getestet. Ich habe die Datenbank auch noch in einem anderen Ordner in einem anderen Programm. Auch da habe ich ja eine TZCon und TZQRY. Nur mit dem unterschied, das ich dort über eine DataSource ein DBGrid fülle.

Jetzt habe ich mal in beiden Anwendungen versucht, die Datenbankverbindung im Designmodus zu öffnen. In der mit dem DBGrid geht es und in der anderen, kommt dann schon der Fehler das die dll fehlt.


Und nach langem genauem hinsehen, habe ich den Fehler dann doch noch gefunden. Es läuft. Und zwar, stand das Protokoll der TZConnection nicht auf Firebird2.0 sondern auf Firebirdd2.0.

Wo ist denn da eigendlich der Unterschied.

Jetzt geht alles, sogar meine Anbindung an mein VST.

Yes (Eigeninitiative) Sorry Hansa, das musste jetzt sein, ist aber nicht persönlich gemeint.

Gruß und Dank an alle
Jens

PS: Besonderen Dank an Markus und Martin
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#46

Re: Datenbank in VirtualTreeView anzeigen und auswerten

  Alt 5. Mär 2009, 10:40
Übrigens,
werden die anderen dll´s auch benötigt.
Nachdem ich die eingefügt hatte, muss ich mir irgendwie ausversehen, die Einstellungen vom Protokoll Firebird 2.0 auf Firebirdd 2.0 umgestellt haben.

So kann es gehen. Fehler der dll´s behoben und in der Zwischenzeit einen neuen eingebaut.

Naja, dies nur noch am Rande zur Information.

Aber vielleicht, kann mir ja jemand mal den Unterschied der beiden Protokolle erleutern.
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
alex517

Registriert seit: 23. Nov 2004
Ort: Bernau b. Berlin
273 Beiträge
 
Delphi XE5 Enterprise
 
#47

Re: Datenbank in VirtualTreeView anzeigen und auswerten

  Alt 5. Mär 2009, 12:30
Zitat von Jens Hartmann:
Übrigens,
werden die anderen dll´s auch benötigt.
Nachdem ich die eingefügt hatte, muss ich mir irgendwie ausversehen, die Einstellungen vom Protokoll Firebird 2.0 auf Firebirdd 2.0 umgestellt haben.

So kann es gehen. Fehler der dll´s behoben und in der Zwischenzeit einen neuen eingebaut.

Naja, dies nur noch am Rande zur Information.

Aber vielleicht, kann mir ja jemand mal den Unterschied der beiden Protokolle erleutern.
siehe hier

alex
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#48

Re: Datenbank in VirtualTreeView anzeigen und auswerten

  Alt 5. Mär 2009, 14:07
Ah, danke schön, also wird das Protokoll

Embedded : use the firebirdd-2.0 protocol. von Lazarus verwendet
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#49

Re: Datenbank in VirtualTreeView anzeigen und auswerten

  Alt 7. Mär 2009, 16:37
Hallo nochmal zusammen.

Habe die ganze Anbindung jetzt am laufen, und wollte jetzt noch das befüllen von einem Record, auf ein Objekt (class) ändern.

Habe das auch soweit alles angepaßt, habe allerdings jetzt beim kompelieren eine Fehlermeldung (siehe Anhang)

Leider, kann ich den Grund dafür nicht finden. Delphi bring auch sonst keine Meldung wie man das so kennt.

z.B. ; erwartet oder so;;;;

Hier der gesamte Quellcode, was das VST angeht inkl. der Objekt Impelmentation...

Delphi-Quellcode:
{Mein Objekt}
type
  TOMB256PLUS = class
    public
    ID : integer;
    LfdNr : integer;
    Datum : String;
    Uhrzeit : String;
    Ereignis : String;
    Teilnehmer : String;
    Bereich : String;
    SysData : String;
  end;

{Meine Datenbank / VST Anbindung}



{******************************************************************************}
{                                                                              }
{                         VST Zeilen farblich darstellen                       }
{                                                                              }
{******************************************************************************}


procedure TForm1.VSTAfterItemErase(Sender: TBaseVirtualTree;
  TargetCanvas: TCanvas; Node: PVirtualNode; ItemRect: TRect);
var
  Daten : TOMB256PLUS;
begin
  Daten := TOMB256PLUS.Create;
  Daten := TOMB256PLUS(VST.GetNodeData(Node)^);


  if Sender.Selected[Node] then
    Exit;
    
  Daten := (VST.GetNodeData(Node));

  if Pos('Extern',Daten.Ereignis) > 0 then
    TargetCanvas.Brush.Color := clAqua;

  if Pos('Unscharf',Daten.Ereignis) > 0 then
    TargetCanvas.Brush.Color := clSkyBlue;

  if Pos('Störung',Daten.Ereignis) > 0 then
    begin
      if Pos('EIN', Daten.Ereignis) > 0 then
        TargetCanvas.Brush.Color := clYellow;
    end;

  if Pos('Alarm',Daten.Ereignis) > 0 then
    begin
      if Pos('EIN', Daten.Ereignis) > 0 then
        TargetCanvas.Brush.Color := clRed;
    end;

  if Pos('Hauptalarm',Daten.Ereignis) > 0 then
    begin
      if Pos('EIN', Daten.Ereignis) > 0 then
        TargetCanvas.Brush.Color := clRed;
    end;

  if Pos('Überfall',Daten.Ereignis) > 0 then
    begin
      if Pos('EIN', Daten.Ereignis) > 0 then
        TargetCanvas.Brush.Color := clRed;
    end;

  if Pos('Einbruch',Daten.Ereignis) > 0 then
    begin
      if Pos('EIN', Daten.Ereignis) > 0 then
        TargetCanvas.Brush.Color := clRed;
    end;

  if Pos('Sabotage',Daten.Ereignis) > 0 then
    begin
      if Pos('EIN', Daten.Ereignis) > 0 then
        TargetCanvas.Brush.Color := clRed;
    end;

  if Pos('Voralarm',Daten.Ereignis) > 0 then
    begin
      if Pos('EIN', Daten.Ereignis) > 0 then
        TargetCanvas.Brush.Color := clRed;
    end;


  TargetCanvas.FillRect (ItemRect);
end;

procedure TForm1.VSTFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode);
var
  Daten : TOMB256PLUS;
begin
  Daten := TOMB256PLUS(VST.GetNodeData(Node)^);
  Daten.Free;
end;


procedure TForm1.VSTfüllen;
begin
if not QRYMB256PLUS.Active then
  QRYMB256PLUS.Open;
  QRYMB256PLUS.filtered := false;
  QRYMB256PLUS.filter := '';
  VST.BeginUpdate;
  VST.Clear;
  VST.NodeDataSize := Sizeof(TOMB256PLUS);
  QRYMB256PLUS.First;
  VST.RootNodeCount := QRYMB256PLUS.RecordCount;
  VST.SortTree(0,sdAscending,true);
  VST.EndUpdate;
end;


{VST Initialisieren mit den Daten aus der Datenbank}
procedure TForm1.VSTInitNode(Sender: TBaseVirtualTree; ParentNode,
  Node: PVirtualNode; var InitialStates: TVirtualNodeInitStates);
var
  Daten : TOMB256PLUS;
begin
  Daten := TOMB256PLUS.Create;
  VST.NodeHeight[Node] := 35;
  Include(InitialStates, ivsMultiline);
  Initialize(Daten);
  Daten.ID := QRYMB256PLUS.FieldByName('ID').AsInteger;
  Daten.LfdNr := QRYMB256PLUS.FieldByName('LfdNr').AsInteger;
  Daten.Datum := QRYMB256PLUS.FieldByName('Datum').AsString;
  Daten.Uhrzeit := QRYMB256PLUS.FieldByName('Uhrzeit').AsString;
  Daten.Ereignis := QRYMB256PLUS.FieldByName('Ereignis').AsString;
  Daten.Teilnehmer := QRYMB256PLUS.FieldByName('Teilnehmer').AsString;
  Daten.Bereich := QRYMB256PLUS.FieldByName('Bereich').AsString;
  if not QRYMB256PLUS.eof then
    QRYMB256PLUS.Next;
end;


{Größe vom Objekt dem VST zuweisen}
procedure TForm1.VSTGetNodeDataSize(Sender: TBaseVirtualTree;
  var NodeDataSize: Integer);
begin
  VST.NodeDataSize := SizeOf(TOMB256PLUS);
end;

{Werte dem VST zuweisen}
procedure TForm1.VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
  Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString);
var
  Daten : TOMB256PLUS;
begin
Daten := TOMB256PLUS.Create;
Daten := TOMB256PLUS(VST.GetNodeData(Node)^);
  case Column of
  0: CellText:= IntToStr(Daten.ID);
  1: CellText:= IntToStr(Daten.LfdNr);
  2: CellText:= Daten.Datum;
  3: CellText:= Daten.Uhrzeit;
  4: CellText:= Daten.Ereignis;
  5: CellText:= Daten.Teilnehmer;
  6: CellText:= Daten.Bereich;
  end;
end;
Miniaturansicht angehängter Grafiken
fehler_359.gif  
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#50

Re: Datenbank in VirtualTreeView anzeigen und auswerten

  Alt 8. Mär 2009, 09:49
Habe den ganzen Abend noch an meinem Fehler gesucht, nur leider ohne Ergebnis.

Das Einzige, wo ich vermute, wo das her kommt liegt bei dem Event GetOnText.
Kommentiere ich diesen Teil aus, Läuft mein Programm.

Delphi-Quellcode:
var
  Daten : TOMB256PLUS;
begin
Daten := TOMB256PLUS.Create;
Daten := TOMB256PLUS(VST.GetNodeData(Node)^);
  case Column of
  0: CellText:= IntToStr(Daten.ID);
  1: CellText:= IntToStr(Daten.LfdNr);
  2: CellText:= Daten.Datum;
  3: CellText:= Daten.Uhrzeit;
  4: CellText:= Daten.Ereignis;
  5: CellText:= Daten.Teilnehmer;
  6: CellText:= Daten.Bereich;
  end;
end;
Irgenjemand da vieleicht noch eine Idee
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 9   « Erste     345 67     Letzte »    


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 22:59 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