Qdbf
Von:Ulf Neugebauer uNe-tronics@t-NoSpam.de
An:All :gelesen
erstellt am:16.05.2018 10:21:08 - #23755 in section Antworten     Antworten mit Zitat
Hallo Gemeinde,

da arbeitet doch tatsächlich jemand aktuell an einer C++ QT Klasse Namens Qdbf.

https://github.com/IvanPinezhaninov/QDbf

So wie ich das sehe funktioniert das sogar. Leider markiert VFP die Tabellen gelegentlich als korrupt.
Gibt es irgendwo eine aktuelle Doku der vfp dbf Spec?

Eventuell sollten wir dem Autor helfen. Wobei nur VFP diese Tabellen nicht lesen kann.

Ich finde diese Klasse wegen des nativen Zugriffs dahingehend interessant, als das sie auch in Mac, Symbian und Android nutzbar sind.

mfg

Ulf Neugebauer

Fox on The Run (The Sweet)
Von:Erich TODT nospam@todt.at
An:Ulf Neugebauer uNe-tronics@t-NoSpam.de :gelesen
erstellt am:16.05.2018 12:47:36 - #23756 in section Antworten     Antworten mit Zitat
--from Newsreader at Mittwoch, 16. Mai 2018; 12:47:36--

Hallo Ulf!

> Gibt es irgendwo eine aktuelle Doku der vfp dbf Spec?

Ja, in der FoxPro Hilfe:

- Microsoft Visual FoxPro 9.0 SP2
- Reference
- General Reference
- File Structures
- Table File Structure (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx)

Das Projekt klingt ja grundsätzlich interessant, aber ich habe mir den
Quellcode eben kurz durchgesehen und habe den Eindruck, dass da noch
ziemlich viel zu fehlen scheint. Insbesondere VFP Datentypen (siehe enum
QDbfType in qdbffield.h) und offenbar alles was mit Indizes zu tun hat. Von
der Berücksichtigung von Datenbank-Containern (z.B. für lange Feldnamen)
habe ich auf den ersten Blick jetzt auch nichts gesehen.

> Leider markiert VFP die Tabellen gelegentlich als korrupt.
Hast Du da ein Beispiel für mich?

Liebe Grüße
Erich TODT



"Ulf Neugebauer" schrieb im Newsbeitrag
news:741347...
Hallo Gemeinde,

da arbeitet doch tatsächlich jemand aktuell an einer C++ QT Klasse Namens
Qdbf.

https://github.com/IvanPinezhaninov/QDbf

So wie ich das sehe funktioniert das sogar. Leider markiert VFP die Tabellen
gelegentlich als korrupt.
Gibt es irgendwo eine aktuelle Doku der vfp dbf Spec?

Eventuell sollten wir dem Autor helfen. Wobei nur VFP diese Tabellen nicht
lesen kann.

Ich finde diese Klasse wegen des nativen Zugriffs dahingehend interessant,
als das sie auch in Mac, Symbian und Android nutzbar sind.

mfg

Ulf Neugebauer

Von:Ulf Neugebauer uNe-tronics@t-NoSpam.de
An:Erich TODT nospam@todt.at
erstellt am:16.05.2018 13:08:27 - #23757 in section Antworten     Antworten mit Zitat
Hallo Erich,

du kannst das Beispiel (auch in dem Code enthalten) im QT Creator kompilieren und ausführen.

Reparieren geht dann wiederum unter VFP mit ATFixDbfFpt.prg ,hast du bestimmt, oder ich sende es dir.

Ja DBC währ natürlich schön, aber mit freien Tabellen könnte ich auf den anderen Betriebssystemen schon leben. Wenn's was Großes sein sollte muss man schon wegen des Datenschutz anders wählen.

mfg

Ulf Neugebauer

Fox on The Run (The Sweet)
Von:Hans-Peter Grözinger hanspetergr@gmx.de
An:Ulf Neugebauer uNe-tronics@t-NoSpam.de :gelesen
erstellt am:16.05.2018 13:41:06 - #23758 in section Antworten     Antworten mit Zitat
Hallo Ulf !

 
Ja DBC währ natürlich schön, aber mit freien Tabellen könnte ich auf den anderen Betriebssystemen schon leben. Wenn's was Großes sein sollte muss man schon wegen des Datenschutz anders wählen.

Ich habe eine C-ToolBox mit Quellcode für DBFs aus DOS-Zeiten.
Indizes gehen NTX, NDX und MDX.

Wäre das interessant?

--
Hans-Peter
Von:Ulf Neugebauer uNe-tronics@t-NoSpam.de
An:Hans-Peter Grözinger hanspetergr@gmx.de :gelesen
erstellt am:16.05.2018 13:58:23 - #23759 in section Antworten     Antworten mit Zitat
Hallo Hans-Peter,

ja, lass mal sammeln! Send to me.

mfg

Ulf Neugebauer

Fox on The Run (The Sweet)
Von:Erich TODT nospam@todt.at
An:Ulf Neugebauer uNe-tronics@t-NoSpam.de :gelesen
erstellt am:16.05.2018 20:58:51 - #23760 in section Antworten     Antworten mit Zitat
--from Newsreader at Mittwoch, 16. Mai 2018; 20:58:51--

Hallo Ulf,

ich habe das QDbf Projekt jetzt mit Deiner QT Version vom Konferenz Stick
neu gebuildet und kann mit der "QDbfExample.exe" und einer simplen FoxPro
Tabelle, die ich mit CREATE TABLE "test1.dbf" FREE (Feld1
C(15))
erstellt habe, das Problem nachvollziehen:

QDbfExample erhöht beim Hinzufügen eines Datensatzes zwar die Anzahl der
Datensätze im Tabellen-Header korrekt um eins, schreibt aber tatsächlich
noch einen zweiten, zusätzlichen leeren Datensatz hinaus. Ich hab jetzt auf
die Schnelle kein dBase oder Clipper zur Hand, um zu sehen, ob das dort
vielleicht für einen virtuellen EOF()-Satz so gemacht wird. Jedenfalls
greift beim späteren Öffnen der Datei in FoxPro abhängig von SET
TABLEVALIDATE die Fehlerkontrolle, und es wird ein Fehler ausgelöst.
Außerdem ist die "nicht gesetzte" Löschmarke bei QDbf interessanterweise
entweder 0x00 oder 0x1A, jedenfalls aber nicht 0x20 wie normalerweise bei
FoxPro, was aber außer beim LIST Befehl nicht weiter stören dürfte,
Hauptsache sie ist nicht 0x2A (für "deleted").

Vorsicht bei Umlauten oder anderen diakritischen Zeichen, so ist z.B. die
OEM 852 Codepage (Osteuropa) nicht implementiert. Tabellen die ich mit
COPY TO .. TYPE FOXPLUS AS 850 erzeugt habe, kann ich hingegen
korrekt im QDbfExample-Dialog anzeigen.

Wegen des zusätzlichen leeren Datensatzes würde ich Dir empfehlen, SET
TABLEVALIDATE vor dem Öffnen vorübergehend ("transparent") auf 0 zu setzen,
und gut ist's:


LOCAL llSucceeded, lnOldTableValidate
lnOldTableValidate = SET("TABLEVALIDATE")
TRY
SET TABLEVALIDATE TO 0
USE "test5.dbf"
LIST ALL NOOPTIMIZE && die 0x1A Löschmarken werden als kleine Pfeile
nach rechts dargestellt
llSucceeded = .T.
FINALLY
SET TABLEVALIDATE TO (m.lnOldTableValidate)
ENDTRY
RETURN m.llSucceeded


PS: Ich verwende in meinen C/C++ Projekten für diversen Kleinkram (Settings,
Fensterpositionen, MRU-Listen etc.) inzwischen übrigens meist SQLite...

Liebe Grüße
Erich



"Ulf Neugebauer" schrieb im Newsbeitrag
news:741349...
Hallo Erich,

du kannst das Beispiel (auch in dem Code enthalten) im QT Creator
kompilieren und ausführen.

Reparieren geht dann wiederum unter VFP mit ATFixDbfFpt.prg ,hast du
bestimmt, oder ich sende es dir.

Ja DBC währ natürlich schön, aber mit freien Tabellen könnte ich auf den
anderen Betriebssystemen schon leben. Wenn's was Großes sein sollte muss man
schon wegen des Datenschutz anders wählen.

mfg

Ulf Neugebauer

Von:Wolfgang Pasler wolfgang@pasler-software.de
An:Ulf Neugebauer uNe-tronics@t-NoSpam.de :gelesen
erstellt am:17.05.2018 13:00:26 - #23761 in section Antworten     Antworten mit Zitat
Hallo Ulf,

ich arbeite schon eine Weile mit Harbour (dbf/fpt und cdx).
Siehe https://github.com/harbour/core/
Das klappt mit VFP zusammen ganz gut. (Auch das Locking)

Vielleicht hilft Dir das weiter.

Gruß
Wolfgang


Mit freundlichen Grüßen
Wolfgang Pasler
Von:Ulf Neugebauer uNe-tronics@t-NoSpam.de
An:Wolfgang Pasler wolfgang@pasler-software.de :gelesen
erstellt am:18.05.2018 10:11:37 - #23762 in section Antworten     Antworten mit Zitat
Hallo Wolfgang,

Vielen Dank, ich schau mir das am Wochenende mal an.

friedliche Feiertage

Ulf Neugebauer

Fox on The Run (The Sweet)
Von:Ulf Neugebauer uNe-tronics@t-NoSpam.de
An:Erich TODT nospam@todt.at
erstellt am:18.05.2018 10:13:44 - #23763 in section Antworten     Antworten mit Zitat
Hallo Erich,

Danke für deine Anmerkungen. Las uns dazu nochmal telefonieren.

friedliche Feiertage

Ulf Neugebauer

Fox on The Run (The Sweet)
Von:joachim hilgers hilgers@hicoZsoft.de
An:Ulf Neugebauer uNe-tronics@t-NoSpam.de :gelesen
erstellt am:22.05.2018 10:15:48 - #23764 in section Antworten     Antworten mit Zitat
Hallo Ulf,

wenn es in's Detail geht, was VFP da tatsächlich macht, wäre wahrscheinlich auch ein Blick http://guineu.foxpert.com/ sinnvoll.

Falls das einer "richtig" machen kann, dann Christof

vg

joachim
...der mit dem fuchs tanzt ~; -)
regionalleiter köln
Von:Erich TODT nospam@todt.at
An:Ulf Neugebauer uNe-tronics@t-NoSpam.de :gelesen
erstellt am:22.05.2018 16:12:18 - #23765 in section Antworten     Antworten mit Zitat
--from Newsreader at Dienstag, 22. Mai 2018; 16:12:18--

Gern, meine Nummer hast Du noch?
Ansonsten siehe http://wien.dfpug.de/ bzw. http://www.todt.at/

Liebe Grüße
Erich


"Ulf Neugebauer" schrieb im Newsbeitrag news:741355...
Hallo Erich,

Danke für deine Anmerkungen. Las uns dazu nochmal telefonieren.

friedliche Feiertage

Ulf Neugebauer