![]() |
AW: DBase-Tabelle lesen (Von einer xBase Applikation)
![]() Entweder mit einem Editor, der Dateien "binär" bearbeiten kann. Oder du nimmst z.B. einen TFileStream, setzt die Position auf 28 (Byte 0 ist das erste Byte) und schreibst dann ein Byte mit dem Wert 0 auf diese Stelle. |
AW: DBase-Tabelle lesen
Vielen Dank an Euch Alle!
Ich habe mich ein bisschen in TDBF eingearbeitet und kann nun meine DBF Dateien anzeigen. Das folgende hilft vielleicht einem anderen Anfänger wie mir:
Delphi-Quellcode:
// Auf der Form liegen:
// DataSource1 : TDataSource; // DBF1 : TDBF; // DBGrid1 : TDBGrid; // BT_openDBClick : TButton; // Als globale Variable var CurrentDbf : TDbf; // Eine DBF Datei auswählen procedure TForm1.BT_openDBClick(Sender: TObject); begin SelectDB; end; // Eine DBF Datei anzeigen procedure TForm1.SelectDB; var sDBFile : String; begin with TFileOpenDialog.Create(nil) do try if Execute then begin sDBFile := Filename end; finally Free; end; if length(sDBFile) < 1 then exit; ResetDBHandle; CurrentDbf := TDbf.Create(nil); try CurrentDbf.FilePathFull := ExtractFileDir(sDBFile); CurrentDbf.TableName := ExtractFileName(sDBFile); CurrentDbf.Exclusive := True; CurrentDbf.TableLevel := 3; DataSource1.DataSet := CurrentDbf; DBGrid1.DataSource := DataSource1; CurrentDbf.Open; LabeledEdit1.Text := IntToStr(CurrentDbf.ExactRecordCount); except on E : Exception do MessageDlg(E.ClassName +#13#10 +E.Message,mtError, [mbOK], 0); end; end; // Zurücksetzen einer allenfalls geöffneten DB procedure TForm1.ResetDBHandle; begin if assigned(CurrentDbf) then begin CurrentDbf.Close; CurrentDbf.Free; LabeledEdit1.Text := ''; end; end; // Schliessen der Applikation procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin ResetDBHandle; end; // Verändern der Applikationsgrösse procedure TForm1.FormResize(Sender: TObject); begin DBGrid1.Width := DBGrid1.Parent.Width -22; DBGrid1.Height := DBGrid1.Parent.Height -DBGrid1.Top -40; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:12 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