Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Moderator: Moderatoren
- Jan
- Marvin
- Beiträge: 14846
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 31 Mal
- Danksagung erhalten: 111 Mal
- Kontaktdaten:
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
... und was genau hat das mit der (berechtigten) Bitte von Tom zu tun, doch bitte klar ersichtlich zwischen Deinen eigenen Texten und denen irgend einer KI zu unterscheiden? ich denke das war der Grund für sein Fragezeichen. Wobei da auch meines hätte stehen können, denn ich hatte mich das auch gefragt nach Deiner Antwort auf seine Bitte.
Jan
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- azzo
- 1000 working lines a day
- Beiträge: 743
- Registriert: So, 28. Mär 2010 19:21
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 22 Mal
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Jan, hier ging es um Plan B, den Carlo vorschlägt, dass man ihn haben sollte, und RDP ist z. B. so ein Plan.
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9737
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 126 Mal
- Danksagung erhalten: 438 Mal
- Kontaktdaten:
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Und mir ging es nicht darum, worum es ging, sondern darum, dass Du hier massenweise Text postest, den Du generieren lässt.
Herzlich,
Tom
Tom
- azzo
- 1000 working lines a day
- Beiträge: 743
- Registriert: So, 28. Mär 2010 19:21
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 22 Mal
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Um diese Initiative auf ein professionelles Niveau zu heben, könnte man überlegen, als Verein ein Förderansuchen für ein Forschungsprojekt bei der EU einzureichen. Theoretisch, laut Recherche, sollte es möglich sein, und auch, dass Eigenleistung als Eigenkapital zählt und verrechnet werden kann.
Um diese Initiative auf ein professionelles Niveau zu heben, könnte man überlegen, als Verein ein Förderansuchen für ein Forschungsprojekt bei der EU einzureichen. Theoretisch, laut Recherche, sollte es möglich sein, und auch, dass Eigenleistung als Eigenkapital zählt und verrechnet werden kann.
- Jan
- Marvin
- Beiträge: 14846
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 31 Mal
- Danksagung erhalten: 111 Mal
- Kontaktdaten:
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Otto,
soweit ich das sehe bist Du der Einzige hier im gesamten Forum, der so etwas machen möchte. Da musst Du also vermutlich Deinen eigenen Verein gründen um das so zu entwickeln wie Du Dir das vorstellst. Wobei ich stark bezweifle das die EU Gelder in ein sowas von totgerittenes Pferd investieren würde. Die bezahlen so manches wo man sich fragen kann was das soll. Aber das hier wird sehr sicher nirgends durchkommen. Insbesondere da Du die dbf-Sache ständig mit Deinen Oberflächen und Deiner Benutzerführung vermengst.
Wobei dieser vollkommen unzusammenhängende Post von Dir auch keine Antwort auf das ist was Tom schrieb. Oder ich. Oder sonstwer in diesem Thread.
Jan
soweit ich das sehe bist Du der Einzige hier im gesamten Forum, der so etwas machen möchte. Da musst Du also vermutlich Deinen eigenen Verein gründen um das so zu entwickeln wie Du Dir das vorstellst. Wobei ich stark bezweifle das die EU Gelder in ein sowas von totgerittenes Pferd investieren würde. Die bezahlen so manches wo man sich fragen kann was das soll. Aber das hier wird sehr sicher nirgends durchkommen. Insbesondere da Du die dbf-Sache ständig mit Deinen Oberflächen und Deiner Benutzerführung vermengst.
Wobei dieser vollkommen unzusammenhängende Post von Dir auch keine Antwort auf das ist was Tom schrieb. Oder ich. Oder sonstwer in diesem Thread.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Rekursionen-Architekt
- Beiträge: 282
- Registriert: Mi, 09. Jan 2019 16:02
- Wohnort: Neresheim
- Danksagung erhalten: 11 Mal
- Kontaktdaten:
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
EU-Antrag... das wird eher eine Petition zum Schutz einer aussterbenden Art...
Gruß
Roland
Roland
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9737
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 126 Mal
- Danksagung erhalten: 438 Mal
- Kontaktdaten:
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Es gab ein Buch, das jemand unter wahrscheinlich falschem Namen veröffentlicht hatte, das ich bei solchen Gelegenheiten gerne empfohlen habe, allerdings finde ich es bei den Onlinern nicht mehr im Sortiment. Das hier ist es:
Herzlich,
Tom
Tom
-
- Rekursionen-Architekt
- Beiträge: 282
- Registriert: Mi, 09. Jan 2019 16:02
- Wohnort: Neresheim
- Danksagung erhalten: 11 Mal
- Kontaktdaten:
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
@Tom: wenn jemand in einem Forum was schreibt hat er keinesfalls vor ein Selbstgespräch zu führen. Zumal an diesem "Selbstgespräch" bereits 56 Antworten hängen...
Gruß
Roland
Roland
- azzo
- 1000 working lines a day
- Beiträge: 743
- Registriert: So, 28. Mär 2010 19:21
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 22 Mal
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Um vielleicht doch wieder etwas Sachlichkeit in dieses Thema zu bekommen und zum Wochenende poste ich mal eine Liste der bisher auf PHP umgesetzten Funktionen.
Bibliothek PHP4DBF und ihre Funktionen.
Funktionen:
php4dbf_logline: Protokolliert Nachrichten in eine Logdatei.
php4dbf_openDbf: Öffnet eine DBF-Datei.
php4dbf_eof: Bestimmt das Dateiende (EOF) basierend auf der Anzahl der Datensätze in der aktuell geöffneten DBF-Datei.
php4dbf_DBUse: Liest alle erforderlichen Informationen aus einer DBF-Datei auf einmal und gibt sie zurück.
php4dbf_getDbfHeader: Ruft den Header einer DBF-Datei ab.
php4dbf_getFieldDescriptors: Ruft die Feldbeschreibungen einer DBF-Datei ab.
php4dbf_padValue: Füllt Werte entsprechend ihrem Typ korrekt auf.
php4dbf_addRecordToDbf: Fügt Datensätze zu einer DBF-Datei hinzu.
php4dbf_calculateRecordLength: Berechnet die Länge eines Datensatzes basierend auf den Feldbeschreibungen.
php4dbf_updateRecord: Aktualisiert einen Datensatz in einer DBF-Datei.
php4dbf_deleteRecord: Löscht einen Datensatz in einer DBF-Datei.
php4dbf_createDbf: Erstellt eine neue DBF-Datei.
php4dbf_compareDbfFiles: Vergleicht zwei DBF-Dateien.
php4dbf_getRecordByIndex: Ruft einen Datensatz anhand seines Index ab.
php4dbf_numrecords: Gibt die Anzahl der Datensätze in einer DBF-Datei zurück.
php4dbf_numfields: Gibt die Anzahl der Felder in einer DBF-Datei zurück.
php4dbf_get_record_with_names: Ruft einen Datensatz mit Feldnamen aus einer DBF-Datei ab.
php4dbf_close: Schließt eine DBF-Datei.
php4dbf_loadAllFile: Lädt die gesamte DBF-Datei in den Arbeitsspeicher.
php4dbf_loadAllHeader: Extrahiert Header-Informationen aus der Dateiinhalt-Zeichenkette.
php4dbf_readHeader: Liest Header-Informationen aus einem Dateizeiger.
php4dbf_extractFields: Extrahiert Feldbeschreibungen aus den geladenen DBF-Daten.
php4dbf_readRecordByIndex: Liest einen Datensatz basierend auf dem angegebenen Index.
php4dbf_closeDbfFile: Schließt einen geöffneten DBF-Datei-Handle, falls vorhanden.
php4dbf_openFile: Öffnet eine DBF-Datei und lädt entweder den gesamten Inhalt oder nur den Header.
php4dbf_getLastUpdateDate: Extrahiert das Datum der letzten Aktualisierung aus dem DBF-Header.
php4dbf_flock: Versucht, eine Sperre und Sperrdatei zu erstellen.
php4dbf_phpunlock: Gibt die Sperre frei, die mit flock in PHP erstellt wurde.
php4dbf_unlock: Gibt die benutzerdefinierte Sperre frei, indem Sperrdateien gelöscht werden.
php4dbf_updateField: Aktualisiert ein bestimmtes Feld innerhalb eines Datensatzes in einer DBF-Datei.
php4dbf_updateLastModifiedDate: Aktualisiert das Datum der letzten Änderung im DBF-Header.
php4dbf_checkFileSizeConsistency: Überprüft die Konsistenz der Dateigröße mit der Anzahl der Datensätze.
php4dbf_appendBlank: Fügt einen leeren Datensatz zu einer DBF-Datei hinzu.
php4dbf_getHeader: Hilfsfunktion zur Verarbeitung von Header-Informationen.
php4dbf_DBUse: Öffnet eine DBF-Datei und liest den Header sowie die Feldbeschreibungen.
FieldPos: Gibt die 1-basierte Position eines Feldes anhand seines Namens zurück.
FieldName: Gibt den Namen eines Feldes anhand seiner 1-basierten Position zurück.
FieldPosLast: Gibt die 1-basierte Position des letzten Feldes zurück.
php4dbf_dbGoTop: Bewegt den Datensatzzeiger zum ersten gültigen Datensatz.
php4dbf_dbGoTo: Bewegt den Datensatzzeiger zu einem bestimmten Datensatz.
php4dbf_init: Initialisiert die DBF-Datei zum Lesen.
php4dbf_get_next_record: Liest den nächsten Datensatz aus der DBF-Datei.
php4dbf_parse_record: Analysiert einen Datensatz aus Roh-Binärdaten in ein assoziatives Array.
php4dbf_convert_value: Konvertiert einen Roh-Binärwert in den entsprechenden Datentyp basierend auf dem Feldtyp.
Bibliothek PHP4DBF und ihre Funktionen.
Funktionen:
php4dbf_logline: Protokolliert Nachrichten in eine Logdatei.
php4dbf_openDbf: Öffnet eine DBF-Datei.
php4dbf_eof: Bestimmt das Dateiende (EOF) basierend auf der Anzahl der Datensätze in der aktuell geöffneten DBF-Datei.
php4dbf_DBUse: Liest alle erforderlichen Informationen aus einer DBF-Datei auf einmal und gibt sie zurück.
php4dbf_getDbfHeader: Ruft den Header einer DBF-Datei ab.
php4dbf_getFieldDescriptors: Ruft die Feldbeschreibungen einer DBF-Datei ab.
php4dbf_padValue: Füllt Werte entsprechend ihrem Typ korrekt auf.
php4dbf_addRecordToDbf: Fügt Datensätze zu einer DBF-Datei hinzu.
php4dbf_calculateRecordLength: Berechnet die Länge eines Datensatzes basierend auf den Feldbeschreibungen.
php4dbf_updateRecord: Aktualisiert einen Datensatz in einer DBF-Datei.
php4dbf_deleteRecord: Löscht einen Datensatz in einer DBF-Datei.
php4dbf_createDbf: Erstellt eine neue DBF-Datei.
php4dbf_compareDbfFiles: Vergleicht zwei DBF-Dateien.
php4dbf_getRecordByIndex: Ruft einen Datensatz anhand seines Index ab.
php4dbf_numrecords: Gibt die Anzahl der Datensätze in einer DBF-Datei zurück.
php4dbf_numfields: Gibt die Anzahl der Felder in einer DBF-Datei zurück.
php4dbf_get_record_with_names: Ruft einen Datensatz mit Feldnamen aus einer DBF-Datei ab.
php4dbf_close: Schließt eine DBF-Datei.
php4dbf_loadAllFile: Lädt die gesamte DBF-Datei in den Arbeitsspeicher.
php4dbf_loadAllHeader: Extrahiert Header-Informationen aus der Dateiinhalt-Zeichenkette.
php4dbf_readHeader: Liest Header-Informationen aus einem Dateizeiger.
php4dbf_extractFields: Extrahiert Feldbeschreibungen aus den geladenen DBF-Daten.
php4dbf_readRecordByIndex: Liest einen Datensatz basierend auf dem angegebenen Index.
php4dbf_closeDbfFile: Schließt einen geöffneten DBF-Datei-Handle, falls vorhanden.
php4dbf_openFile: Öffnet eine DBF-Datei und lädt entweder den gesamten Inhalt oder nur den Header.
php4dbf_getLastUpdateDate: Extrahiert das Datum der letzten Aktualisierung aus dem DBF-Header.
php4dbf_flock: Versucht, eine Sperre und Sperrdatei zu erstellen.
php4dbf_phpunlock: Gibt die Sperre frei, die mit flock in PHP erstellt wurde.
php4dbf_unlock: Gibt die benutzerdefinierte Sperre frei, indem Sperrdateien gelöscht werden.
php4dbf_updateField: Aktualisiert ein bestimmtes Feld innerhalb eines Datensatzes in einer DBF-Datei.
php4dbf_updateLastModifiedDate: Aktualisiert das Datum der letzten Änderung im DBF-Header.
php4dbf_checkFileSizeConsistency: Überprüft die Konsistenz der Dateigröße mit der Anzahl der Datensätze.
php4dbf_appendBlank: Fügt einen leeren Datensatz zu einer DBF-Datei hinzu.
php4dbf_getHeader: Hilfsfunktion zur Verarbeitung von Header-Informationen.
php4dbf_DBUse: Öffnet eine DBF-Datei und liest den Header sowie die Feldbeschreibungen.
FieldPos: Gibt die 1-basierte Position eines Feldes anhand seines Namens zurück.
FieldName: Gibt den Namen eines Feldes anhand seiner 1-basierten Position zurück.
FieldPosLast: Gibt die 1-basierte Position des letzten Feldes zurück.
php4dbf_dbGoTop: Bewegt den Datensatzzeiger zum ersten gültigen Datensatz.
php4dbf_dbGoTo: Bewegt den Datensatzzeiger zu einem bestimmten Datensatz.
php4dbf_init: Initialisiert die DBF-Datei zum Lesen.
php4dbf_get_next_record: Liest den nächsten Datensatz aus der DBF-Datei.
php4dbf_parse_record: Analysiert einen Datensatz aus Roh-Binärdaten in ein assoziatives Array.
php4dbf_convert_value: Konvertiert einen Roh-Binärwert in den entsprechenden Datentyp basierend auf dem Feldtyp.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2558
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 86 Mal
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Hallo Otto
PHP hatte doch bis zur Version 5.3.0 Standardmässig eine Erweiterung um mit DBF Files umzugehen
.
PHP hatte doch bis zur Version 5.3.0 Standardmässig eine Erweiterung um mit DBF Files umzugehen
.
Wieso willst du das Rad neu erfinden wenn das schon lange vorhanden und heute total veraltet ist.aus dem PHP Handbuch:
Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.3.0.
Diese Funktionen erlauben Ihnen den Zugriff auf Datensätze, die in Datenbanken im dBase-Format (dbf) vorliegen.
Warnung: Wir empfehlen, keine dBase-Dateien als Produktions-Datenbank zu verwenden. Wählen Sie dafür stattdessen » SQLite oder einen echten SQL-Server; » MySQL oder » Postgres sind bei PHP eine gute Wahl. Die dBase-Unterstützung durch PHP dient hauptsächlich dem Im- und Export von Daten zu oder aus ihrer Web-Datenbank, weil das DBF-Datei-Format allgemein von Windows-Tabellenkalulationen und -Zeitplanern verstanden wird.
Valar Morghulis
Gruss Carlo
Gruss Carlo
- azzo
- 1000 working lines a day
- Beiträge: 743
- Registriert: So, 28. Mär 2010 19:21
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 22 Mal
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Carlo, eigentlich, weil, wie du sagst, man einen Plan B braucht.
PHP 5.3.0 wurde am 30. Juni 2009 veröffentlicht – seitdem gibt es bei PHP keine mir bekannte fokussierte Entwicklung, die sich mit DBF befasst.
Ich arbeite schon lange mit Low-Level-Zugriff. Es gab ja schon unter Windows Pocket PC das Problem, dass keine DBF-Treiber vorhanden waren.
Ich bin hier gut eingearbeitet, und ich sehe Potenzial.
Viele kleine und mittlere Unternehmen in unterschiedlichen Ländern verwenden immer noch „alte“ ERP- oder Buchhaltungslösungen, die auf dBase-Basis entwickelt wurden. Auch hier im Forum sind viele.
Es ist einfach eine Frage der Ressourcen. Wer hat Zeit, zuerst seine Desktopanwendung auf eine neue Datenbank umzustellen und gleichzeitig die Webprogramme zu entwickeln?
Wer hätte sich bei Elektroautos gedacht – nachdem sie am Anfang vor 100 Jahren sehr erfolgreich waren – dann komplett als wenig leistungsfähig, etc. abgetan wurden, nun unsere Zukunft sind. Was wäre gewesen, wenn man diese Fehleinschätzung nicht gemacht hätte?
lg
Otto
PHP 5.3.0 wurde am 30. Juni 2009 veröffentlicht – seitdem gibt es bei PHP keine mir bekannte fokussierte Entwicklung, die sich mit DBF befasst.
Ich arbeite schon lange mit Low-Level-Zugriff. Es gab ja schon unter Windows Pocket PC das Problem, dass keine DBF-Treiber vorhanden waren.
Ich bin hier gut eingearbeitet, und ich sehe Potenzial.
Viele kleine und mittlere Unternehmen in unterschiedlichen Ländern verwenden immer noch „alte“ ERP- oder Buchhaltungslösungen, die auf dBase-Basis entwickelt wurden. Auch hier im Forum sind viele.
Es ist einfach eine Frage der Ressourcen. Wer hat Zeit, zuerst seine Desktopanwendung auf eine neue Datenbank umzustellen und gleichzeitig die Webprogramme zu entwickeln?
Wer hätte sich bei Elektroautos gedacht – nachdem sie am Anfang vor 100 Jahren sehr erfolgreich waren – dann komplett als wenig leistungsfähig, etc. abgetan wurden, nun unsere Zukunft sind. Was wäre gewesen, wenn man diese Fehleinschätzung nicht gemacht hätte?
lg
Otto
-
- Rekursionen-Architekt
- Beiträge: 282
- Registriert: Mi, 09. Jan 2019 16:02
- Wohnort: Neresheim
- Danksagung erhalten: 11 Mal
- Kontaktdaten:
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Seltsam einseitige Aussage in einem Anwenderhandbuch. Da mag scheinbar jemand Microsoft nicht...ramses hat geschrieben: ↑Sa, 11. Jan 2025 8:10 Warnung: Wir empfehlen, keine dBase-Dateien als Produktions-Datenbank zu verwenden. Wählen Sie dafür stattdessen » SQLite oder einen echten SQL-Server; » MySQL oder » Postgres sind bei PHP eine gute Wahl. Die dBase-Unterstützung durch PHP dient hauptsächlich dem Im- und Export von Daten zu oder aus ihrer Web-Datenbank, weil das DBF-Datei-Format allgemein von Windows-Tabellenkalulationen und -Zeitplanern verstanden wird.
Gruß
Roland
Roland
- azzo
- 1000 working lines a day
- Beiträge: 743
- Registriert: So, 28. Mär 2010 19:21
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 22 Mal
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Roland, ich denke, das ist aus einer Zeit, in der der Wettstreit zwischen asp und php noch nicht entschieden war.
LG
Otto
LG
Otto
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2187
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 34 Mal
- Danksagung erhalten: 83 Mal
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Vielleicht ist die KI nicht darauf trainiert, auf solche Fragen zu antworten
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- azzo
- 1000 working lines a day
- Beiträge: 743
- Registriert: So, 28. Mär 2010 19:21
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 22 Mal
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Hallo Werner,
da es gerade zum Thema KI und Xbase++ Entwicklertreffen 2025: Vortrag: Umstellung einer DBF-Anwendung auf JSON passt.
Ich habe mit PHP2DBF einen sehr komfortablen Konverter gebaut.
DBF2JSON Converter: Interactive DBF Query and JSON Transformation Tool
Du gibst einfach den Datenbankpfad und Namen ein, die Felder, die ins JSON sollen, und dann lässt du von ChatGPT die Abfragefunktion erstellen: z. B.
Zum Beispiel könnte ich sagen: Gib nur Buchungen vom 25.8.2024 aus und ändere den Feldnamen auf Reservierungsdatum. Füge den Wochentag dazu.
Die Funktion, die ChatGPT erstellt, gibst du dann in das vorgesehene Textfeld und sagst "Convert JSON".
Und du erhältst dann die fertige JSON-Ausgabe.
Hier ein Link zur Programmbeschreibung:
https://winhotel-sandbox.com/docs/DBF%2 ... 0JSON.pdf
LG
Otto
da es gerade zum Thema KI und Xbase++ Entwicklertreffen 2025: Vortrag: Umstellung einer DBF-Anwendung auf JSON passt.
Ich habe mit PHP2DBF einen sehr komfortablen Konverter gebaut.
DBF2JSON Converter: Interactive DBF Query and JSON Transformation Tool
Du gibst einfach den Datenbankpfad und Namen ein, die Felder, die ins JSON sollen, und dann lässt du von ChatGPT die Abfragefunktion erstellen: z. B.
Zum Beispiel könnte ich sagen: Gib nur Buchungen vom 25.8.2024 aus und ändere den Feldnamen auf Reservierungsdatum. Füge den Wochentag dazu.
Die Funktion, die ChatGPT erstellt, gibst du dann in das vorgesehene Textfeld und sagst "Convert JSON".
Und du erhältst dann die fertige JSON-Ausgabe.
Hier ein Link zur Programmbeschreibung:
https://winhotel-sandbox.com/docs/DBF%2 ... 0JSON.pdf
LG
Otto
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2187
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 34 Mal
- Danksagung erhalten: 83 Mal
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Danke Otto,
damit triffst Du den Nagel auf den Punkt, genau das wollte ich wissen.
damit triffst Du den Nagel auf den Punkt, genau das wollte ich wissen.
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- azzo
- 1000 working lines a day
- Beiträge: 743
- Registriert: So, 28. Mär 2010 19:21
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 22 Mal
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Hallo Werner,
wie geht es dann weiter?
Ich frage ChatGPT weiter z. B.:
Kannst du mir nun mit Bootstrap und Awesomefont eine schön gestaltete Anreiseliste erstellen mit einer Tabelle und einem Feld zum händischen Abhaken? Bitte lese die Daten aus der JSON-Datei anreisen.json. Wir haben 34 Zimmer. Ständige Gäste sind 13 und eben die, die anreisen, aus dem JSON. Mach mir auch eine Grafik dazu.
Die nicht belegten Zimmer müssen in der Grafik angezeigt werden. Die Grafik bitte max. 300 Pixel hoch.
Erhalte den HTML-Code und habe schon den Report fertig. Ich werde meine bisherige Entwicklung in Sachen HTML-Reports im HTML-Forum dann posten.
LG
Otto
wie geht es dann weiter?
Ich frage ChatGPT weiter z. B.:
Kannst du mir nun mit Bootstrap und Awesomefont eine schön gestaltete Anreiseliste erstellen mit einer Tabelle und einem Feld zum händischen Abhaken? Bitte lese die Daten aus der JSON-Datei anreisen.json. Wir haben 34 Zimmer. Ständige Gäste sind 13 und eben die, die anreisen, aus dem JSON. Mach mir auch eine Grafik dazu.
Die nicht belegten Zimmer müssen in der Grafik angezeigt werden. Die Grafik bitte max. 300 Pixel hoch.
Erhalte den HTML-Code und habe schon den Report fertig. Ich werde meine bisherige Entwicklung in Sachen HTML-Reports im HTML-Forum dann posten.
LG
Otto
-
- Rekursionen-Architekt
- Beiträge: 282
- Registriert: Mi, 09. Jan 2019 16:02
- Wohnort: Neresheim
- Danksagung erhalten: 11 Mal
- Kontaktdaten:
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Otto
ich wundere mich schon eine Zeit lang - vieles hat doch mit Deinem gewählten Titel
"Standardisierung und Weiterentwicklung des DBF-Formats" nichts zu tun.
In den Beiträgen geht es um Portierung/Einbindung/Erweiterung mit/zu anderen Programmiersprachen, Tools, Add-Ons usw. Das sind alles Dinge die weg von Xbase++ führen - und damit weg vom DBF-Format.
Schnittstellen in verschiedenen Programmiersprachen und Programmen zu DBF gibt es wie Sand am Meer - sind doch nur für diejenigen Interessant die das brauchen. Das wird dann eingebunden und vergessen...
ich wundere mich schon eine Zeit lang - vieles hat doch mit Deinem gewählten Titel
"Standardisierung und Weiterentwicklung des DBF-Formats" nichts zu tun.
In den Beiträgen geht es um Portierung/Einbindung/Erweiterung mit/zu anderen Programmiersprachen, Tools, Add-Ons usw. Das sind alles Dinge die weg von Xbase++ führen - und damit weg vom DBF-Format.
Schnittstellen in verschiedenen Programmiersprachen und Programmen zu DBF gibt es wie Sand am Meer - sind doch nur für diejenigen Interessant die das brauchen. Das wird dann eingebunden und vergessen...
Gruß
Roland
Roland
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9737
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 126 Mal
- Danksagung erhalten: 438 Mal
- Kontaktdaten:
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Ich muss gestehen, dass ich auch nach fast 70 Beiträgen in diesem Thread keine Peilung habe, was das alles soll. Hier werden Themen vermischt und bizarre Vorschläge gemacht, aber auf die Antworten wird nicht eingegangen, stattdessen kommt das nächste Kaninchen aus dem Hut. Ich bin raus.
Herzlich,
Tom
Tom
- azzo
- 1000 working lines a day
- Beiträge: 743
- Registriert: So, 28. Mär 2010 19:21
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 22 Mal
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Ich denke, Tom, das passt. Du spielst ja als große Entwicklerfirma in einer anderen Liga. DBF ist da sicher kein Thema.
Hier, das ist etwas für die eher Kleineren.
Auch ist der "Plan B" für die Kleinen besonders wichtig, weil, wenn "Plan A" nicht mehr passt, dann liegt man als Einzelentwickler komplett daneben und ist aus dem Geschäft.
LG
Otto
Hier, das ist etwas für die eher Kleineren.
Auch ist der "Plan B" für die Kleinen besonders wichtig, weil, wenn "Plan A" nicht mehr passt, dann liegt man als Einzelentwickler komplett daneben und ist aus dem Geschäft.
LG
Otto
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9737
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 126 Mal
- Danksagung erhalten: 438 Mal
- Kontaktdaten:
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Das hat damit überhaupt nichts zu tun, Otto.
Herzlich,
Tom
Tom
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9737
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 126 Mal
- Danksagung erhalten: 438 Mal
- Kontaktdaten:
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Am Rande: DBF nach JSON ist mit Xbase++ und USQL ein Dreizeiler:
Wenn man das Sternchen durch Feldnamen ersetzt ... na, Ihr wisst schon.
Code: Alles auswählen
aObjects := {}
SELECT * FROM (<cWorkArea>) INTO OBJECTS aObjects
? Var2Json(aObjects)
Herzlich,
Tom
Tom
- azzo
- 1000 working lines a day
- Beiträge: 743
- Registriert: So, 28. Mär 2010 19:21
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 22 Mal
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Lieber Tom,
danke für die Anregung.
Ich habe nun die Funktion, dass man nur bestimmte Felder zurückgibt, als Parameter in php4dbf_parse_record() eingefügt.
Die Funktion fread ist der Schlüsselbefehl, der die Rohdaten eines Datensatzes ($recordData) liefert.
Ich ändere aber vor allem für Schulungen und zur Vereinheitlichung des Codes fread.
Die Low-Level-Funktionen wie fread werde ich auch in die php4dbf nehmen, in einer eigenen Funktion mit einem Clipper/Harbour-ähnlichen Namen.
Das macht den Code lesbarer und erleichtert die Umstellung für Entwickler, die mit Clipper/Harbour vertraut sind.
In der Anwendung habe ich dann nur:
Der neue Funktionsname php4dbf_dbGetRecord fühlt sich vertraut an und erinnert an typische Clipper-Funktionen wie DBGET() oder ähnliche.
LG
Otto
danke für die Anregung.
Ich habe nun die Funktion, dass man nur bestimmte Felder zurückgibt, als Parameter in php4dbf_parse_record() eingefügt.
Code: Alles auswählen
/**
* Parst einen Datensatz aus Rohdaten in ein assoziatives Array.
*
* @param string $recordData Die rohen Binärdaten des DBF-Datensatzes.
* @param array $fields Eine Liste der Feldbeschreibungen der DBF-Datei.
* @param array $requestedFields (Optional) Array von Feldnamen, die extrahiert werden sollen. Standard ist leer (alle Felder werden extrahiert).
* @param int|null $index (Optional) Der Index des Datensatzes (für die Rückgabe). Standard ist null.
* @return array Gibt den Datensatz als assoziatives Array mit Feldnamen und Werten zurück.
*/
Ich ändere aber vor allem für Schulungen und zur Vereinheitlichung des Codes fread.
Die Low-Level-Funktionen wie fread werde ich auch in die php4dbf nehmen, in einer eigenen Funktion mit einem Clipper/Harbour-ähnlichen Namen.
Das macht den Code lesbarer und erleichtert die Umstellung für Entwickler, die mit Clipper/Harbour vertraut sind.
Code: Alles auswählen
php4dbf_dbGetRecord()
/**
* Liest einen Datensatz aus einer DBF-Datei basierend auf dem Index.
*
* @param array $DBData Ein Array mit den DBF-Metadaten (z. B. aus `php4dbf_DBUse`).
* @param int $index Der 1-basierte Index des Datensatzes, der gelesen werden soll.
* @return string|null Gibt die rohen Datensatzdaten zurück oder null, wenn der Datensatz gelöscht ist.
* @throws Exception Wenn ein ungültiger Index angegeben wird oder ein Leseproblem auftritt.
*/
Code: Alles auswählen
$recordData = php4dbf_dbGetRecord($DBData, $index);
if ($recordData !== null) {
$parsedRecord = php4dbf_parse_record($recordData, $DBData['fields'], $requestedFields, $index);
}
LG
Otto
- azzo
- 1000 working lines a day
- Beiträge: 743
- Registriert: So, 28. Mär 2010 19:21
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 22 Mal
Re: Initiative zur Standardisierung und Weiterentwicklung des DBF-Formats
Experiment zur Optimierung der Volltextsuche in Memo-Dateien
Hallo zusammen,
ich habe ein spannendes Experiment durchgeführt, um die Volltextsuche in Memo-Dateien zu optimieren. Hier eine kurze Zusammenfassung:
Ausgangssituation:
Daten: Memo-Felder aus einer DBF-Datei (forums.dbf, 921 MB, 271.585 Datensätze) wurden in 271.585 einzelne TXT-Dateien ausgelagert.
Problem: Die Suche in einem Ordner mit allen TXT-Dateien dauerte 50 Sekunden.
Optimierungen:
Aufteilung der Dateien:
Die Dateien wurden auf 4 Ordner verteilt.
Mit rg.exe (ripgrep) und paralleler Suche wurde die Zeit auf 12–14 Sekunden reduziert.
Indexdatei:
Eine zentrale Indexdatei wurde erstellt, die alle Texte aus den Memo-Dateien enthält.
Direkte Suche mit rg.exe:
Die direkte Suche mit rg.exe in der Indexdatei ist pfeilschnell und dauerte nur 0,335 Sekunden.
Nächste Schritte:
Temporäre Indexdatei:
Bei Änderungen wird eine tmp-Indexdatei erstellt und die Hauptindexdatei inkrementell aktualisiert.
Fazit:
rg.exe ist ein Game-Changer: Es bietet SQL-ähnliche Geschwindigkeit bei der Volltextsuche.
Einfachheit und Transparenz: Die Lösung nutzt einfache Tools und behält die volle Kontrolle über die Daten.
Ich bin gespannt auf eure Gedanken und Anregungen!
LG
Otto
Hallo zusammen,
ich habe ein spannendes Experiment durchgeführt, um die Volltextsuche in Memo-Dateien zu optimieren. Hier eine kurze Zusammenfassung:
Ausgangssituation:
Daten: Memo-Felder aus einer DBF-Datei (forums.dbf, 921 MB, 271.585 Datensätze) wurden in 271.585 einzelne TXT-Dateien ausgelagert.
Problem: Die Suche in einem Ordner mit allen TXT-Dateien dauerte 50 Sekunden.
Optimierungen:
Aufteilung der Dateien:
Die Dateien wurden auf 4 Ordner verteilt.
Mit rg.exe (ripgrep) und paralleler Suche wurde die Zeit auf 12–14 Sekunden reduziert.
Indexdatei:
Eine zentrale Indexdatei wurde erstellt, die alle Texte aus den Memo-Dateien enthält.
Direkte Suche mit rg.exe:
Die direkte Suche mit rg.exe in der Indexdatei ist pfeilschnell und dauerte nur 0,335 Sekunden.
Nächste Schritte:
Temporäre Indexdatei:
Bei Änderungen wird eine tmp-Indexdatei erstellt und die Hauptindexdatei inkrementell aktualisiert.
Fazit:
rg.exe ist ein Game-Changer: Es bietet SQL-ähnliche Geschwindigkeit bei der Volltextsuche.
Einfachheit und Transparenz: Die Lösung nutzt einfache Tools und behält die volle Kontrolle über die Daten.
Ich bin gespannt auf eure Gedanken und Anregungen!
LG
Otto