die verschiedenen DBF Typen

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

die verschiedenen DBF Typen

Beitrag von AUGE_OHR »

hi,

am ersten Byte des DBF Header kann man ja erkennen um was für ein Type es sich handelt.
03h und 83h (DBT) für NTX sind klar aber bei CDX habe ich eine Menge die ich unterschiedlich konfigurieren muss.

F5h "FoxPro 2.x (or earlier) with memo" verwende ich für Comix/Sixdrive und
30h "Visual FoxPro" habe ich mit aufgenommen so wie es in der Hilfe steht.

welche sollte man noch abfangen und wie soll man die mit DbeInfo() Konfigurieren ?

Code: Alles auswählen

 = 2    //  02h  'Foxbase'
 = 3    //  03h  'Foxpro/dBASEIII/Ads/Clipper no memo'
 = 4    //* 04h  "dBASE IV w/o memo file"
 = 5    //* 05h  "dBASE  V w/o memo file"
 = 7    //* 07h  "VISUAL OBJECTS (first 1.0 versions) for the dBASE III files
 = 48   //  30h  'Visual Foxpro/Ads'
 = 49   //  31h  'Visual Foxpro AutoIncr'
 = 67   //  43h  'dBASE IV SQL table no memo'
 = 99   //  ???  'dBASE IV SQL system file no memo'
 = 123  //* 7Bh  "dBASE IV with memo"
 = 131  //  83h  'FoxPro/dBASEIII/Ads/Clipper with memo'
 = 135  //* 87h  "VISUAL OBJECTS (first 1.0 versions) for the dBASE III files
 = 139  //  8Bh  'dBASE IV with memo'
 = 142  //* 8Eh  "dBASE IV w. SQL table"
 = 179  //* B3h  ".dbv and .dbt memo (Flagship)"
 = 203  //  0xCB 'dBASE IV SQL table with memo'
 = 229  //* E5h  "Clipper SIX driver w. SMT memo file."
 = 245  //  F5h  'Foxpro 2.x/Ads with memo'
 = 251  //  FBh  'Foxbase'
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: die verschiedenen DBF Typen

Beitrag von AUGE_OHR »

FOXDBE COMPONENT_DATA : FOXDBE_LOCKMODE

wenn ich die Cl*pper App nicht habe woher weiss ich ob "cmxFox52.obj" eingebunden wurde ?

es geht um den Hinweis das man dann (und wohl nur dann) FOXDBE_LOCKMODE_2X nehmen muss

Code: Alles auswählen

#define FOXDBE_LOCKMODE_2X      DBE_USER+2
#define FOXDBE_LOCKMODE_VISUAL  DBE_USER+3
#define FOXDBE_LOCKMODE_CLIPPER DBE_USER+4
unter DOS habe ich das Tool BRO.EXE. das hat SixDrive integriert. ich kann damit DBF öffnen welche F5h als erstes Byte haben.

nun soll man ja normal FOXDBE_LOCKMODE_CLIPPER nutzen. bei der DBF kann ich den CDX Index öffnen
wenn die DBF nun mit FOXDBE_LOCKMODE_2X erstellt wurde kann ich die DBF ebenfalls öffnen aber nicht den CDX Index ?!

Bro.EXE verweigert das öffnen der CDX während Xbase++ bei

Code: Alles auswählen

SET INDEX TO (cFull)
abstürzt und eine komischen Fehlermeldung ausgibt
CUTPOS.JPG
CUTPOS.JPG (56.37 KiB) 5714 mal betrachtet
und NEIN ich habe kein CUTPOS irgendwo im DBU Source entdecken können und auch nicht im IndexKey() von der CDX die ich (re-)open will

wie schon gesagt haben bei DBF F5h im Header also kann ich es nicht unterscheiden ... und was nun :?:
gruss by OHR
Jimmy
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: die verschiedenen DBF Typen

Beitrag von HaPe »

Hallo Jimmy !

Um was geht es dir bei deinen Fragen überhaupt:
- Möchtest du Altdaten einmalig übernehmen?
- Du möchtest auf die Altdaten parallel zum Altprogramm zugreifen?
- ...

Für den Fall einer einmaligen Datenkonvertierung gibt es eine einfache und legale Möglichkeit ohne eine VFP-Lizenz ein Laufzeit-System zu bekommen.
Mit diesem hat man im Prinzip eine einfach IDE in der interaktiv DBFs geöffnet, gelesen, in der Struktur geändert, usw. manipuliert werden können.

Man benötigt dazu die VFP-Runtime. Diese kann man von hier Downloaden:
http://www.foxpert.com/download/VFP9SP2RT.exe
Diese installiert man zuerst und benötigt dann nur noch meine STVFP.EXE von hier:
http://www.schwaben-team.de/downloads/xbase/stvfp.exe

Bei Fragen dazu einfach fragen :D
--
Hans-Peter
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: die verschiedenen DBF Typen

Beitrag von AUGE_OHR »

HaPe hat geschrieben: So, 15. Okt 2017 12:10 Um was geht es dir bei deinen Fragen überhaupt:
ich möchte DBU "auf-bohren" damit man das "richtig" für Xbase++ benutzen kann. dazu möchte ich FOXCDX mit hinzunehmen und habe da das Problem das Xbase++ verschiedene Einstellungen hat.

wenn man mittel DbInfo eine DBE konfiguiert dann kann man auch "nicht kompatible" Einstellungen verwenden. Man kann eine "falsch" DBESYS haben die scheinbar läuft ... aber andere Apps können nichts mit DBF / Index anfangen.

also frage ich mich wie ich das unterscheiden könnte denn im DBF Header habe ich z.b. beides Mal F5h stehen.

Code: Alles auswählen

   DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .T. ) -> .T. -> F5h
   DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .F. ) -> .F. -> 30h

F5h

   DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE, FOXDBE_LOCKMODE_2X     )
   DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE, FOXDBE_LOCKMODE_CLIPPER)
   DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE, FOXDBE_LOCKMODE_AUTO   )

30h
   DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE, FOXDBE_LOCKMODE_VISUAL )	
irgendwo in der DBF müsste doch ein Hinweis sein wie der FOXDBE_LOCKMODE aussieht ... aber wo ?

p.s. suche "echte" Visual FoxPro DBF/FPT/CDX Dateien zum testen. muss nicht gross sein, aber wenn es geht mit Umlauten zum suchen.
gruss by OHR
Jimmy
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: die verschiedenen DBF Typen

Beitrag von Herbert »

Die Zeiten sind doch längstens vorbei, in denen mal irgendwelche textbasierten Uralt-Dinge aufruft...
Command-Fenster sind doch seit Jahren zum Glück Geschichte.

Du investierst Zeit in so was? :roll:
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: die verschiedenen DBF Typen

Beitrag von AUGE_OHR »

Herbert hat geschrieben: So, 15. Okt 2017 22:21 Die Zeiten sind doch längstens vorbei, in denen mal irgendwelche textbasierten Uralt-Dinge aufruft...
Command-Fenster sind doch seit Jahren zum Glück Geschichte.
es geht ja weniger um DBU als die Tatsache das eine DBESYS, wo man "falsche" Einstellungen hat, zu Problem führen kann.

nun läuft so eine Xbase++ App durchaus aber wenn man mit einer andern Xbase++ auf deren DBF zugreifen will kann es passieren das es knallt wenn unterschiedliche Konfigurationen in der DBESYS sind. das betrifft nun speziell die DBF Dateien mit F5h in Header wo das FOXDBE_LOCKMODE_* verschieden sein kann. visual FoxPro hat ja 30h / 31h und FOXDBE_LOCKMODE_VISUAL und keine andere Möglichkeit.

in meine Xbase++ App bestimme ich ja die Konfiguration aber ein Tool wie DBU soll ja alle möglichen DBF Type verarbeiten können.

p.s. das ganze ist für meinen Vortrag 2018 gedacht : von Cl*pper nach Xbase++ GUI

bei DBU fehlt ja CDX und damit kam ich erst auf das Thema verschiedene DBF Typen ... und die Problem (die man schon vergessen hatte) :roll:
gruss by OHR
Jimmy
Antworten