AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi dBase-Datenbanken mit Topaz-Erweiterung - Teil 2
Thema durchsuchen
Ansicht
Themen-Optionen

dBase-Datenbanken mit Topaz-Erweiterung - Teil 2

Offene Frage von "FriendOfDelphi"
Ein Thema von FriendOfDelphi · begonnen am 1. Jun 2010 · letzter Beitrag vom 3. Jun 2010
 
FriendOfDelphi

Registriert seit: 21. Mai 2010
163 Beiträge
 
Delphi 5 Professional
 
#1

dBase-Datenbanken mit Topaz-Erweiterung - Teil 2

  Alt 1. Jun 2010, 16:55
Datenbank: dBase • Zugriff über: Topaz
Hallo Allerseits,

nachdem nun im ersten Teil geklärt wurde wie ein dBase-Datenbankzugriff grundsätzlich realiesiert wird, hier nun die Steigerung.
Die Delphi Erweiterung Topaz erlaubt die Möglichkeit mit sog. virtuellen Dateien zu arbeiten.
Dies bedeutet lediglich, dass die dBase-Datei zunächst in den Speicher geladen und dann dort verarbeitet wird.
Welche Vor- oder Nachteile dies hat, soll hier nicht Thema sein.
Ziel soll es vielmehr sein, ein vorhandenes Programm welches mit den Grafikkomponenten von Topaz implementiert wurde, so zu ändern, dass dies alles zur Laufzeit erstellt wird und ohne die Grafikkomponenten auskommt.
Hier zunächst der vorhandene Quellcode:
Delphi-Quellcode:
unit UTest;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, ucommon, tzprimds, utzcds, utzmds, StdCtrls;

type
  TForm1 = class(TForm)
    TzVFile1: TTzVFile;
    TzVFile1NAME: TStringField;
    TzVFile1AGE: TTzFloatField;
    TzVFile1AMOUNT: TTzFloatField;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  TzVFile1.Open;
  TzVFile1.Append;
  TzVFile1NAME.AsString:='Max Mustermann';
  TzVFile1AGE.AsFloat:=88.88;
  TzVFile1AMOUNT.AsInteger:=100;
  TzVFile1.Post;
  TzVFile1.WriteToDisk;
end;

end.
Das Beispielprogramm ist absichtlich einfach gehalten.
Zunächst wird die Verbindung zur dBase-Datei und ein Button auf einem Formular erzeugt.
Wenn der Button gedrückt wird, wird ein neuer Datensatz in die dBase-Datei eingefügt.
Das war es auch schon.

Die zugehörige dfm-Datei sieht so aus:
Delphi-Quellcode:
{kein Delphi-Quellcode, sondern der Inhalt der dfm-Datei}
object Form1: TForm1
  Left = 1283
  Top = 316
  Width = 398
  Height = 252
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 64
    Top = 24
    Width = 75
    Height = 25
    Caption = 'Button1'
    TabOrder = 0
    OnClick = Button1Click
  end
  object TzVFile1: TTzVFile
    DbfFields.Strings = (
      'name, C, 30, 0'
      'age, F, 18, 8'
      'amount, N, 10, 2')
    DbfFileName = 'junk.dbf'
    HideDeletedRecs = False
    TableLanguage = tlOem
    Left = 24
    Top = 24
    object TzVFile1NAME: TStringField
      FieldName = 'NAME'
      Size = 30
    end
    object TzVFile1AGE: TTzFloatField
      FieldName = 'AGE'
      Size = 18
    end
    object TzVFile1AMOUNT: TTzFloatField
      FieldName = 'AMOUNT'
      Size = 10
    end
  end
end
Das Problem besteht nun darin, die grafische Implementierung durch eine reine Quellcode-Implementierung auszutauschen.
Bisher ist mir dies nicht gelungen und ich hoffe, dass hier im Forum jemand Erfahrung damit hat.
Im Dateianhang das Objektinspektor-Fenster von TTzVFile (Topaz-Komponente), dass Formular (Delphi 5) und die dBase-Datei.
Angehängte Grafiken
Dateityp: jpg objektinspektor_eigenschaften_von_ttzfile_141.jpg (70,2 KB, 6x aufgerufen)
Dateityp: jpg form_463.jpg (133,0 KB, 6x aufgerufen)
Angehängte Dateien
Dateityp: zip junk_192.zip (202 Bytes, 3x aufgerufen)
Herzlichen Gruß
FriendOfDelphi
  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 03:37 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