Einlesen von Textdatei in Datenbank
Moderator: Moderatoren
-
- Cut&Paste-Entwickler
- Beiträge: 30
- Registriert: Mo, 10. Apr 2017 16:26
- Danksagung erhalten: 1 Mal
Einlesen von Textdatei in Datenbank
Hallo Miteinander,
ich habe beim Einlesen von TXT Dateien in DBF ein Problem, welches viele andere auch haben, wie ich bereits im Forum verschiedenen Beiträgen gelesen habe. Jedoch habe ich keine befriedigende Antwort gefunden.
In Clipper kann ich meine Datei zB. Y90137.TXT (ein abgelegter Brief) einfach mit
append from \Y\X\Y90137 sdf
in meine DBF-Datei einlesen. Meine Briefe werden ebenfalls mit Clipper als DBF erstellt und mittels copy to sdf in eine TXT-Datei abgespeichert. Die
entsprechende DBF-Datei mtext.dbf besteht aus einem Datensatz "ZEILE" und 80 Zeichen Länge. Die Briefnummer, welche gleichzeitig die Name des Textdatei wird, wird automatisch beim abspeichern vergeben. Damit arbeite ich im Clipper schon Jahrzehnte. Alles klappt einwandfrei.
Bei X-Base funktioniert zwar das Erstellen und Exportieren, nicht jedoch das zurückholen. Folgende Varianten habe ich bereits mit teilweisem Erfolg probiert:
* IMPORTIERT TEXTDATEI NUR TEILWEISE BIS KOMMAS
* append from \Y\X\Y90137.txt delimited
* IMPORTIERT TEXTDATEI NUR TEILWEISE BIS KOMMAS
* append from \Y\X\Y90137 delimited
* IMPORTIERT TEXTDATEI NUR TEILWEISE
* append from \Y\X\Y90137 delimited with chr(26)
* IMPORTIERT TEXTDATEI NUR TEILWEISE
append from \Y\X\Y90137 delimited with blanks
* UNZULÄSSIGE FUNKTION
* append from \Y\X\Y90137 sdf
* UNZULÄSSIGE FUNKTION
* append from \Y\X\Y90137.TXT sdf
* RESERVER KEYWORD
* append from \Y\X\Y90137 sdf via SDFDBE
* UNZULÄSSIGE FUNKTION
* append from \Y\X\Y90137 via SDFDBE
* UNZULÄSSIGE FUNKTION
* append from \Y\X\Y90137.TXT via SDFDBE
Vielleicht mir hier jemand mit einer einfachen Lösung dieses Problems hier behilflich sein.
Das ist eigentlich mein letztes Hindernis, was meinen kompletten Einsatz von X-Base verhindert und ich immer noch mit Clipper arbeite.
LG
Euer Ritchie
ich habe beim Einlesen von TXT Dateien in DBF ein Problem, welches viele andere auch haben, wie ich bereits im Forum verschiedenen Beiträgen gelesen habe. Jedoch habe ich keine befriedigende Antwort gefunden.
In Clipper kann ich meine Datei zB. Y90137.TXT (ein abgelegter Brief) einfach mit
append from \Y\X\Y90137 sdf
in meine DBF-Datei einlesen. Meine Briefe werden ebenfalls mit Clipper als DBF erstellt und mittels copy to sdf in eine TXT-Datei abgespeichert. Die
entsprechende DBF-Datei mtext.dbf besteht aus einem Datensatz "ZEILE" und 80 Zeichen Länge. Die Briefnummer, welche gleichzeitig die Name des Textdatei wird, wird automatisch beim abspeichern vergeben. Damit arbeite ich im Clipper schon Jahrzehnte. Alles klappt einwandfrei.
Bei X-Base funktioniert zwar das Erstellen und Exportieren, nicht jedoch das zurückholen. Folgende Varianten habe ich bereits mit teilweisem Erfolg probiert:
* IMPORTIERT TEXTDATEI NUR TEILWEISE BIS KOMMAS
* append from \Y\X\Y90137.txt delimited
* IMPORTIERT TEXTDATEI NUR TEILWEISE BIS KOMMAS
* append from \Y\X\Y90137 delimited
* IMPORTIERT TEXTDATEI NUR TEILWEISE
* append from \Y\X\Y90137 delimited with chr(26)
* IMPORTIERT TEXTDATEI NUR TEILWEISE
append from \Y\X\Y90137 delimited with blanks
* UNZULÄSSIGE FUNKTION
* append from \Y\X\Y90137 sdf
* UNZULÄSSIGE FUNKTION
* append from \Y\X\Y90137.TXT sdf
* RESERVER KEYWORD
* append from \Y\X\Y90137 sdf via SDFDBE
* UNZULÄSSIGE FUNKTION
* append from \Y\X\Y90137 via SDFDBE
* UNZULÄSSIGE FUNKTION
* append from \Y\X\Y90137.TXT via SDFDBE
Vielleicht mir hier jemand mit einer einfachen Lösung dieses Problems hier behilflich sein.
Das ist eigentlich mein letztes Hindernis, was meinen kompletten Einsatz von X-Base verhindert und ich immer noch mit Clipper arbeite.
LG
Euer Ritchie
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2824
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 95 Mal
- Danksagung erhalten: 13 Mal
Re: Einlesen von Textdatei in Datenbank
Hallo, Ritchie -
VIA, SDF und DELIMITED schliessen sich gegenseitig aus.
VIA benötigt eine entsprechende DBE, analog zu DBFNTX oder FOXCDX.
Es ist schwer, aus der Distanz zu erkennen, woran es liegt, wenn man die Daten nicht sieht. Alternativ würde ich die Datei mittels fOpen() öffnen, mittels fRead() lesen und selbst in die DBF schreiben. Dabei hast Du die meiste Kontrolle über das Verfahren.
Zu DELIMITED: das Programm muss ja irgendwie erkennen, ob ein Delimiter gewünscht ist, oder ob er Bestandteil vom Text ist. Dann kann ein Semikolon im Text dazu führen, dass dort das Ende eines Satz "erkannt" wird. Daher tendiere ich in solchen Fällen dazu, selbst zu importieren (fOpen() etc.)
VIA, SDF und DELIMITED schliessen sich gegenseitig aus.
VIA benötigt eine entsprechende DBE, analog zu DBFNTX oder FOXCDX.
Es ist schwer, aus der Distanz zu erkennen, woran es liegt, wenn man die Daten nicht sieht. Alternativ würde ich die Datei mittels fOpen() öffnen, mittels fRead() lesen und selbst in die DBF schreiben. Dabei hast Du die meiste Kontrolle über das Verfahren.
Zu DELIMITED: das Programm muss ja irgendwie erkennen, ob ein Delimiter gewünscht ist, oder ob er Bestandteil vom Text ist. Dann kann ein Semikolon im Text dazu führen, dass dort das Ende eines Satz "erkannt" wird. Daher tendiere ich in solchen Fällen dazu, selbst zu importieren (fOpen() etc.)
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Einlesen von Textdatei in Datenbank
hi,
die SDF von Xbase++ ist "unbrauchbar" ...
schau dir mal den Code von den 3 Beispielen an
öffnen einer Datei
anlegen und schreiben in eine Datei
kopieren einer Datei
wenn du mit DBF arbeitest musst du beim "einlesen" eine Variabel verwenden die du anschiessend in die DBF schiebst.
beim "auslesen" könnte man es direkt aus der DBF machen aber eine Variabel wäre genau so gut.
have fun
die SDF von Xbase++ ist "unbrauchbar" ...
schau dir mal den Code von den 3 Beispielen an
öffnen einer Datei
Code: Alles auswählen
#include "Fileio.ch"
PROCEDURE Main
LOCAL nHandle := FOpen("System.log", FO_READWRITE+FO_DENYWRITE)
IF FError() <> 0
? "Fehler beim Öffnen der Datei:", FError()
ENDIF
RETURN
Code: Alles auswählen
#include "Fileio.ch"
PROCEDURE Main
LOCAL nHandle := FCreate( "NEWFILE.TXT", FC_NORMAL )
IF nHandle == -1
? "Fehler beim Erzeugen der Datei:", FError()
ELSE
FWrite( nHandle, "James Bond's BMW", 16 )
FClose( nHandle )
ENDIF
RETURN
Code: Alles auswählen
#include "Fileio.ch"
#define BUFFER_SIZE 2^16
PROCEDURE Main
? FCopy( "OLDFILE.DOC", "NEWFILE.DOC" )
RETURN
FUNCTION FCopy( cSourceFile, cTargetFile )
LOCAL nSource, nTarget, cBuffer, nBytes
IF ( nSource := FOpen( cSourceFile, FO_READ ) ) == -1
? "Datei kann nicht geöffnet werden:",cSourceFile
ELSEIF ( nTarget := FCreate( cTargetFile, FC_NORMAL ) ) == -1
FClose( nSource )
? "Datei kann nicht erstellt werden:", cTargetFile
ENDIF
cBuffer := Space( BUFFER_SIZE )
nBytes := BUFFER_SIZE
DO WHILE FError() == 0 .AND. nBytes > 0
nBytes := FRead( nSource, @cBuffer, BUFFER_SIZE )
FWrite( nTarget, Left(cBuffer, nBytes) )
ENDDO
FClose( nSource )
FClose( nTarget )
RETURN FError()
beim "auslesen" könnte man es direkt aus der DBF machen aber eine Variabel wäre genau so gut.
have fun
gruss by OHR
Jimmy
Jimmy
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2121
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 72 Mal
Re: Einlesen von Textdatei in Datenbank
Servus Ritchie,
#include "sdf.ch" ist Dein Freund.
#include "sdf.ch" ist Dein Freund.
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
-
- Cut&Paste-Entwickler
- Beiträge: 30
- Registriert: Mo, 10. Apr 2017 16:26
- Danksagung erhalten: 1 Mal
Re: Einlesen von Textdatei in Datenbank
Hallo Werner,
danke für die Info, jedoch habe ich die beiden Include-Dateien
#include "SDF.CH"
und
#include "sdfdbe.ch"
bereits vor 10 Jahren im Startprogramm eingebettet.
LG Ritchie
danke für die Info, jedoch habe ich die beiden Include-Dateien
#include "SDF.CH"
und
#include "sdfdbe.ch"
bereits vor 10 Jahren im Startprogramm eingebettet.
LG Ritchie
- uwe.24
- UDF-Programmierer
- Beiträge: 52
- Registriert: Di, 01. Aug 2006 15:47
- Wohnort: Osnabrück
- Danksagung erhalten: 1 Mal
Re: Einlesen von Textdatei in Datenbank
Hallo Ritchie.
Ich habe mal Probleme mit dem Einsatz des 'neuen' SDF Programms von Alsaka lösen können.
Das steht bei mir in c:\ALASKA\XPPW32\SOURCE\samples\basics\DBE\sdf.prg.
Das hab ich in die XPJ eingefügt und es lief wieder, wie unter Clipper.
Vielleicht kennst du das aber schon.
Uwe
Ich habe mal Probleme mit dem Einsatz des 'neuen' SDF Programms von Alsaka lösen können.
Das steht bei mir in c:\ALASKA\XPPW32\SOURCE\samples\basics\DBE\sdf.prg.
Das hab ich in die XPJ eingefügt und es lief wieder, wie unter Clipper.
Vielleicht kennst du das aber schon.
Uwe
Uwe aus OS
-
- Cut&Paste-Entwickler
- Beiträge: 23
- Registriert: Di, 02. Apr 2019 9:09
- Danksagung erhalten: 6 Mal
Re: Einlesen von Textdatei in Datenbank
Hallo Ritchie,
wir haben das gleiche Problem und mehrere Lösungen je nach Fall.
1. Field_Token welches nicht in der Datei vorkommt (hier ~):
USE (cFlatDbf) alias a1
DbeSetDefault( "DELDBE" )
DbeInfo( COMPONENT_DATA, DELDBE_FIELD_TOKEN, "~" )
append from (cInhFile) VIA "DELDBE"
append blank
replace a1->IN1 with "EOF"
2. Memoread wenn die Datei garantiert in den Speicher passt:
cFiletext := MemoRead( cInhFile )
nMaxLines := MlCount( cFiletext, 1000 )
FOR nLineno := 1 TO nMaxLines
cInhalt := Trim( MemoLine( cFiletext, 1000, nLineno ) )
3. Über Puffer einlesen (wenn crlf der Zeilentrenner ist):
nHandle := FOpen( cInhFile , FO_READ )
do while .t.
cBuffer := FReadStr( nHandle, 1000 ) // max 1000 Zeichen, zeilentrenner crlf
if empty(cBuffer)
exit
endif
4. HBTextReader benutzen
Martin
wir haben das gleiche Problem und mehrere Lösungen je nach Fall.
1. Field_Token welches nicht in der Datei vorkommt (hier ~):
USE (cFlatDbf) alias a1
DbeSetDefault( "DELDBE" )
DbeInfo( COMPONENT_DATA, DELDBE_FIELD_TOKEN, "~" )
append from (cInhFile) VIA "DELDBE"
append blank
replace a1->IN1 with "EOF"
2. Memoread wenn die Datei garantiert in den Speicher passt:
cFiletext := MemoRead( cInhFile )
nMaxLines := MlCount( cFiletext, 1000 )
FOR nLineno := 1 TO nMaxLines
cInhalt := Trim( MemoLine( cFiletext, 1000, nLineno ) )
3. Über Puffer einlesen (wenn crlf der Zeilentrenner ist):
nHandle := FOpen( cInhFile , FO_READ )
do while .t.
cBuffer := FReadStr( nHandle, 1000 ) // max 1000 Zeichen, zeilentrenner crlf
if empty(cBuffer)
exit
endif
4. HBTextReader benutzen
Martin
-
- Cut&Paste-Entwickler
- Beiträge: 30
- Registriert: Mo, 10. Apr 2017 16:26
- Danksagung erhalten: 1 Mal
Re: Einlesen von Textdatei in Datenbank
Erstmal danke ich Euch für die Anregungen. Ich muß das alles erst mal setzen lassen und ausprobieren.
Übrigens, noch eine andere Frage.
Wo kann ich eigentlich mein Passwort sehen und gegf. ändern? Ich habe schon alles durchgeschaut und nix gefunden. Ich traue mich gar net, die Seite zu zumachen ...
LG Ritchie
Übrigens, noch eine andere Frage.
Wo kann ich eigentlich mein Passwort sehen und gegf. ändern? Ich habe schon alles durchgeschaut und nix gefunden. Ich traue mich gar net, die Seite zu zumachen ...
LG Ritchie
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2934
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Einlesen von Textdatei in Datenbank
Rechts oben auf deinen Namen, persönlicher Bereich, Profil, Registrierungs-Details ändern.
Viele Grüße
Wolfgang
Wolfgang
-
- Cut&Paste-Entwickler
- Beiträge: 30
- Registriert: Mo, 10. Apr 2017 16:26
- Danksagung erhalten: 1 Mal
Re: Einlesen von Textdatei in Datenbank
Hallo Uwe,uwe.24 hat geschrieben: ↑Di, 10. Dez 2019 6:52 Hallo Ritchie.
Ich habe mal Probleme mit dem Einsatz des 'neuen' SDF Programms von Alsaka lösen können.
Das steht bei mir in c:\ALASKA\XPPW32\SOURCE\samples\basics\DBE\sdf.prg.
Das hab ich in die XPJ eingefügt und es lief wieder, wie unter Clipper.
Vielleicht kennst du das aber schon.
Uwe
Danke für den Hinweis. Du hast natürlich Recht. Dieses Programm habe ich auch gestern Nachmittag auch wieder auf meinem Rechner gefunden. Sogar zweimal. Eines von 2003 in Englisch, und das neuere von 2009 sogar in Deutsch.
Wegen gewisser Inkompatibelitäten mit Clipper, wie "Append from sdf" etc. hatte ich Xbase damals wieder zur Seite gelegt und wieder mit Clipper mein Programm perfektioniert. Diese Forum kannte ich damals noch nicht.
Durch teilweise sogar täglich Updates bin ich mit meinem Programm immer auf dem neuesten Stand. Was die Anwender in meinem Unternehmen brauchen, bzw. bemängeln, bekommen sie von mir sofort gelöst!
Und mein Programm läuft sogar problemlos mit Windows 10 in der 32 Bit-Version. Da ich meine Rechner nicht zum Spielen benutze, reicht das vollkommen aus.
Nachdem ich momentan up to date bin, wende ich mich nun wieder XBase zu. Und dieses "SDF-Problem" ist eines der letzten, welches ich nun lösen muß, um mein XBase-Programm an Clipper anzupassen. Und so werde ich meine grauen Zellen wieder mal in Bewegung setzen um mein altes XBase-Wissen wieder aufzufrischen.
Mal schauen, wie lange ich dafür brauche.
P.S. Begonnen hatte ich mein Programm auf meinem SIRIUS 8088-Rechner, ausgestattet mit einer 10 MB Winchester Festplatte. Der Preis betrug 1983 20.000 DM für die Anlage. Die 10 MB Harddisk kostete damals 10.000 DM Aufpreis!!!
Das Betriebssystem war MS-DOS 1.12 und ich programmierte mit DBase II von Ashton Tate, dem Urvater aller dieser Programme - falls das noch jemand kennt ...
-
- Cut&Paste-Entwickler
- Beiträge: 30
- Registriert: Mo, 10. Apr 2017 16:26
- Danksagung erhalten: 1 Mal
Re: Einlesen von Textdatei in Datenbank
So, nun habe ich das mit dem sdf.prg probiert. Leider werde ich durch einen Fehler rausgeworfen den ich mir nicht erklären kann.
Wenn ich abfrage
? dbeSetDefault()
kommt als Antwort: DBFNTX
Und beim nächsten Befehl
? DbeLoad( "SDFDBE" )
oder
DbeLoad( "SDFDBE" )
oder
DbeLoad( "SDFDBE.dll" )
bricht es ab mit der Fehlermeldung:
"Ungültiger Dateiname für DBE-DLL"
Operation : DbeLoad
Thread ID : 1
In ERRORLOG steht
Error VALTYPE C VALUE: SDFDBE
In mein Verzeichnis habe ich aber extra die Dateien
SdfDbe.dll
sdfdbe.ch
SDF.CH
rüber kopiert.
So, und jetzt Gute Nacht!
Wenn ich abfrage
? dbeSetDefault()
kommt als Antwort: DBFNTX
Und beim nächsten Befehl
? DbeLoad( "SDFDBE" )
oder
DbeLoad( "SDFDBE" )
oder
DbeLoad( "SDFDBE.dll" )
bricht es ab mit der Fehlermeldung:
"Ungültiger Dateiname für DBE-DLL"
Operation : DbeLoad
Thread ID : 1
In ERRORLOG steht
Error VALTYPE C VALUE: SDFDBE
In mein Verzeichnis habe ich aber extra die Dateien
SdfDbe.dll
sdfdbe.ch
SDF.CH
rüber kopiert.
So, und jetzt Gute Nacht!
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2824
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 95 Mal
- Danksagung erhalten: 13 Mal
Re: Einlesen von Textdatei in Datenbank
Guten Morgen, Ritchie -
also, ein Mini-Programm dieser Art:
läuft bei mir ohne Fehler. Immer auch von einer Standard-Installation ausgehend, d.h. dass die Verzeichnis der Xbase++-Installation in den entsprechenden Umgebungsvariablen hinterlegt sind, aber davon gehe ich mal aus. Du kannst ja mal in der Befehlseingabe "xppload version" eingeben, dann sollten auch die DBEs gelistet sein:
also, ein Mini-Programm dieser Art:
Code: Alles auswählen
FUNCTION Main()
RETURN (.T.)
FUNCTION DBESys()
DBELoad("SDFDBE")
RETURN (.T.)
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Einlesen von Textdatei in Datenbank
moin,
dazu gehört DBESYS wo die Database-Engines geladen und erzeugen werden.
bei der v1.9x findest du die System Dateien unter c:\ALASKA\XPPW32\Source\SYS\
für Console, also wie DOS, ist auch die APPSYS interessant. dort kann man den Font / Fenster "grösser" machen.
er gibt die aus welche DBE er schon geladen hat
dann bitte MeineDLL.TXT hier posten.
verschiedene "Versionen" mag Xbase++ nicht also wenn die nicht "passen" ...
bei Start von Xbase++ werden einigen Function "vor" Main schon ausgeführt.
dazu gehört DBESYS wo die Database-Engines geladen und erzeugen werden.
bei der v1.9x findest du die System Dateien unter c:\ALASKA\XPPW32\Source\SYS\
für Console, also wie DOS, ist auch die APPSYS interessant. dort kann man den Font / Fenster "grösser" machen.
probiere mal dasRitchie39 hat geschrieben: Und beim nächsten Befehl
? DbeLoad( "SDFDBE" )
Code: Alles auswählen
PROCEDURE Main
LOCAL aDBE := DbeList()
CLS
AEval( aDBE, {|a| QOut(a[1], a[2]) } )
RETURN
öffne mal eine CMD Box und gib das einRitchie39 hat geschrieben: In mein Verzeichnis habe ich aber extra die Dateien
SdfDbe.dll
sdfdbe.ch
SDF.CH
rüber kopiert.
Code: Alles auswählen
XppLoad >> MeineDLL.TXT
verschiedene "Versionen" mag Xbase++ nicht also wenn die nicht "passen" ...
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15695
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Einlesen von Textdatei in Datenbank
Auf dem Entwicklungsrechner sollte man keine DLL oder LIB kopieren, die Pfade sind ja stimmig, beim Ausliefern am Besten alles aus dem Runtime Verzeichnis zur Exe.
Sobald man selbst keine eigene DbeSys() Funktion hat, wird diese geladen:
Somit sind alle diese DBE automatisch verfügbar:
DBFDBE, NTXDBE, DELDBE, SDFDBE
wobei DBFDBE, NTXDBE selbst nur über die kombinierte DBFNTX angesprochen werden.
Die jeweiligen CH Dateien braucht man im Quellcode nur angeben, wenn man bei den Einstellungen später was ändern will.
Ich persönlich kann nicht verstehen, warum man Textdateien so fehleranfällig einliest, wenn es doch viel bessere Methoden gibt, die flexibelste und einfachste ist HBTextReader ...
ich lese viele Dateien (auch mit 500 MB) von unterschiedlichen Quellen (Linux, Unix, Windows etc.) ein, und alle Erfahrungen sind in diese Funktion (KLasse) geflossen.
Sobald man selbst keine eigene DbeSys() Funktion hat, wird diese geladen:
Code: Alles auswählen
//////////////////////////////////////////////////////////////////////
//
// DBESYS.PRG
//
// Copyright:
// Alaska Software, (c) 1998-2009. Alle Rechte vorbehalten.
//
// Inhalt:
// Xbase++ DatabaseEngine startup/preloader
//
// Syntax:
// DbeSys() wird am Anfang des Programms vor der Funktion MAIN
// automatich aufgerufen.
//
//////////////////////////////////////////////////////////////////////
// Text-Konstanten
#define MSG_DBE_NOT_LOADED " Database-Engine nicht geladen"
#define MSG_DBE_NOT_CREATED " Database-Engine;konnte nicht erzeugt werden"
*******************************************************************************
* DbeSys() wird bei jedem Programmstart ausgefhrt
*******************************************************************************
PROCEDURE dbeSys()
/*
* Der Parameter lHidden wird fr alle Database-Engines, die zu
* einer abstrakten Database-Engine kombiniert werden, auf .T. gesetzt.
*/
LOCAL aDbes := { { "DBFDBE", .T.},;
{ "NTXDBE", .T.},;
{ "DELDBE", .F.},;
{ "SDFDBE", .F.} }
LOCAL aBuild :={ { "DBFNTX", 1, 2 } }
LOCAL i
/*
* Setzen der Sortierfolge und des Datumformates
*/
SET COLLATION TO GERMAN
SET DATE TO GERMAN
/*
* Laden aller Database-Engines
*/
FOR i:= 1 TO len(aDbes)
IF ! DbeLoad( aDbes[i][1], aDbes[i][2])
Alert( aDbes[i][1] + MSG_DBE_NOT_LOADED , {"OK"} )
ENDIF
NEXT i
/*
* Erzeugen von Database-Engines
*/
FOR i:= 1 TO len(aBuild)
IF ! DbeBuild( aBuild[i][1], aDbes[aBuild[i][2]][1], aDbes[aBuild[i][3]][1])
Alert( aBuild[i][1] + MSG_DBE_NOT_CREATED , {"OK"} )
ENDIF
NEXT i
RETURN
//
// EOF
DBFDBE, NTXDBE, DELDBE, SDFDBE
wobei DBFDBE, NTXDBE selbst nur über die kombinierte DBFNTX angesprochen werden.
Die jeweiligen CH Dateien braucht man im Quellcode nur angeben, wenn man bei den Einstellungen später was ändern will.
Ich persönlich kann nicht verstehen, warum man Textdateien so fehleranfällig einliest, wenn es doch viel bessere Methoden gibt, die flexibelste und einfachste ist HBTextReader ...
ich lese viele Dateien (auch mit 500 MB) von unterschiedlichen Quellen (Linux, Unix, Windows etc.) ein, und alle Erfahrungen sind in diese Funktion (KLasse) geflossen.
Gruß
Hubert
Hubert
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2121
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 72 Mal
Re: Einlesen von Textdatei in Datenbank
Servus Ritchie,
genau das meinte ich mit sdf.ch. Benutze das sdf.prg von Alaska, binde es einfach in Deine xpj ein und Include in der prg - in der Du das append from machst - die sdf.ch mit ein. Mehr brauchst Du nicht zu beachten. Die sdf.ch ersetzt Deine append from - Befehle mit dem Code aus sdf.prg.
Nichts mit sdfdbe!
genau das meinte ich mit sdf.ch. Benutze das sdf.prg von Alaska, binde es einfach in Deine xpj ein und Include in der prg - in der Du das append from machst - die sdf.ch mit ein. Mehr brauchst Du nicht zu beachten. Die sdf.ch ersetzt Deine append from - Befehle mit dem Code aus sdf.prg.
Nichts mit sdfdbe!
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- BJelinek
- Rekursionen-Architekt
- Beiträge: 218
- Registriert: Sa, 02. Jun 2012 20:57
- Wohnort: 73257 Köngen
- Hat sich bedankt: 9 Mal
- Danksagung erhalten: 3 Mal
Re: Einlesen von Textdatei in Datenbank
Hallo Werner,
kann ich nicht nachvollziehen.
SDF.CH gibt es nicht.
SDF.PRG sieht so aus:
Woher nimmst du die Dateien?
kann ich nicht nachvollziehen.
SDF.CH gibt es nicht.
SDF.PRG sieht so aus:
Code: Alles auswählen
//////////////////////////////////////////////////////////////////////
//
// SDF.PRG
//
// Copyright:
// Alaska Software, (c) 1997-2019. Alle Rechte vorbehalten.
//
// Inhalt:
// Zum besseren Verst„ndnis der Xbase++ DatabaseEngine und der
// aus diesem Konzept resultierenden M”glichkeiten wird hier
// die SDF-DatabaseEngine verwendet um Daten -vorliegend in einer
// TXT Datei- anzuzeigen bzw. sortiert darzustellen.
//
// Es werden desweiteren spezifische Eigenschaften der DBE
// durch die Funktion DbeInfo ver„ndert so daá die DBE
// ein anderes Verhalten aufweist.
//
// Hinweis:
// Das Beipiel geht davon aus, daá z.B. von einem Host-System eine
// Datei TEST.TXT mit Kundeninformationen erstellt wurde.
// Das Format der Datei besitzt eine feste SatzgrӇe und
// entspricht in weiten Teilen der System-Data-Format Spezifikation.
//
//////////////////////////////////////////////////////////////////////
#include "dmlb.ch"
#include "sdfdbe.ch"
#define dSDF_FILE "TEST.SDF"
#define dSDF_DATA "TEST.TXT"
PROCEDURE MAIN()
LOCAL cStructData
/*
* Anmelden der SDF-DatabaseEngine als Default-DBE
*/
DbeSetDefault( "SDFDBE" )
CLS
/*
* Hinweis:
* Die SDFDBE kennt zus„tzlich zur TXT-Datei mit fester
* SatzgrӇe eine s.g. strukturbeschreibende Datei die
* von der Syntax an die W*ndows INI-Format spezifikation
* angelehnt ist.
*
* Anzeigen der strukurbeschreibenden Datei im SDF-Format
*/
IF File( dSDF_FILE )
cStructData := MemoRead( dSDF_FILE )
? "Strukturbeschreibung der TXT-Datei:"
? cStructData
WAIT "Bitte Taste drcken um BROWSE() der TXT-Datei aufzurufen ..."
ELSE
ALERT( "Strukturbeschreibende Datei nicht vorhanden", {"OK"} )
ENDIF
/*
* Die ImportDatei vom Host hat folgenden spezifische
* Eigenschaften:
*
* - Logische-Felder sind mit J oder N besetzt.
* - Statt Dezimalpunkt wird ein Komma verwendet.
*
* Die SDF DatabaseEngine arbeitet entsprechend der
* Xbase-Definition wie folgt:
*
* - Logische Werte T oder F
* - DezimalPunkt ist "."
*
* Wir „ndern deshalb die Eigenschaften der DBE entsprechend ab.
* Die Defines sind in DMLB.CH bzw. SDFDBE.CH zu finden.
*/
DbeInfo( COMPONENT_DATA , SDFDBE_LOGICAL_TOKEN , "JN" )
DbeInfo( COMPONENT_DATA , SDFDBE_DECIMAL_TOKEN , "," )
CLS
@ 0,0 SAY "BROWSE() der importierten TXT-Datei, Esc zum n„chsten Browse"
/*
* ™ffnen und browsen der Import-Datei:
*/
USE TEST
BROWSE()
USE
/*
* NTX-DatabaseEngine (ORDER-Componente) laden und mittels
* DbeBuild eine CompoundDBE zusammengesetzt aus den Eigenschaften
* der NTXDBE (ORDER-Componente) und SDFDBE (DATA-Componente)
* erzeugen.
*
* HINWEIS: Die mittels DbeBuild erzeugte CompoundDBE
* wird automatisch zur Default-DBE. Eine mittels
* DbeLoad geladene DBE nicht.
*
*/
DbeBuild( "SDFNTX" , "SDFDBE" , "NTXDBE" )
CLS
/*
* Index fr SDF Datei erzeugen und browsen
*
* HINWEIS:
* Eine CompoundDBE verfgt ber alle Eigenschaften Ihrer
* Basiskomponenten.
*
*/
USE TEST
INDEX ON NAME1 TO SDFNAME
SET INDEX TO SDFNAME
GO TOP
@ 0,0 CLEAR TO 1,79
@ 0,0 SAY "BROWSE() der indizierten TXT-Datei, Esc zum Beenden"
WAIT
BROWSE()
USE
CLS
RETURN
/*******
* EOF */
Grüße
Bernd
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Bernd
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Einlesen von Textdatei in Datenbank
es ist diese Datei von Frank Grossheinrich gemeint die es "irgendwo" in der ASCN geben müsste die enthält "neue" #command Anweisungen welche die in der STD.CH ersetzen
im SDF.PRG sind die neuen Function xDbExport() / xDbImport() welche low Level Function nutzen.
gruss by OHR
Jimmy
Jimmy
-
- Cut&Paste-Entwickler
- Beiträge: 30
- Registriert: Mo, 10. Apr 2017 16:26
- Danksagung erhalten: 1 Mal
Re: Einlesen von Textdatei in Datenbank
Hallo Georg,
hier ist die mit XPPLOAD erstellte Liste in C:\PROGRAMME\ALASKA
Alaska XppLoad Version 1.90.355
Copyright (c) Alaska Software 1997-2009. All rights reserved.
ADAC20B.dll, 2009-04-10 07:37:34, 448512, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
ADAC20C.dll, 2009-04-10 07:37:34, 69120, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
Aimplib.EXE, 2009-04-10 07:17:52, 94720, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
Alink.exe, 2009-04-10 07:17:50, 130560, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
Arc.exe, 2009-04-10 07:18:04, 140288, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
ASCOM10.dll, 2009-04-10 07:37:32, 555008, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
ASCOM10c.dll, 2009-04-10 07:37:32, 155648, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
ASLogResource.dll, 2009-04-10 07:17:38, 32768, 0.00. 0,C:\Programme\ALASKA\XPPW32\LIB\
ASRDBC10.DLL, 2009-04-10 07:37:34, 132096, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
CdxDbe.dll, 2009-04-10 07:37:34, 141824, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
DbfDbe.dll, 2009-04-10 07:37:34, 118784, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
DelDbe.dll, 2009-04-10 07:37:34, 96768, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
DllInfo.exe, 2009-04-10 07:34:02, 42496, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
FoxDbe.dll, 2009-04-10 07:37:34, 131072, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
NtxDbe.dll, 2009-04-10 07:37:34, 123904, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
Pbuild.EXE, 2009-04-10 07:33:50, 313344, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
SdfDbe.dll, 2009-04-10 07:37:34, 85504, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
SOM.DLL, 2009-04-10 07:37:32, 198144, 0.00. 0,C:\Programme\ALASKA\XPPW32\LIB\
Tlb2Ch.exe, 2009-04-10 07:33:52, 50688, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
Xpp.exe, 2009-04-10 07:37:34, 79872, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppCbe.dll, 2009-04-10 07:37:34, 157184, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppCfe.dll, 2009-04-10 07:37:34, 251392, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppDApi.dll, 2009-04-10 07:32:52, 544256, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppDbg.exe, 2009-04-10 07:32:58, 522752, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppDbgc.dll, 2009-04-10 07:32:36, 77312, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
XppDbgk.dll, 2009-04-10 07:32:42, 190464, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppDmenu.dll, 2009-04-10 07:32:56, 82944, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppErr.dll, 2009-04-10 07:37:34, 68096, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\
XppFD.exe, 2009-04-10 07:34:36, 1810944, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\
XppFilt.EXE, 2009-04-10 07:17:54, 72192, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppGen.dll, 2009-04-10 07:37:34, 179712, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppGraph.dll, 2009-04-10 07:37:34, 74752, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppLoad.exe, 2009-04-10 07:31:36, 111616, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppNat.dll, 2009-04-10 07:37:32, 171008, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
XppPp.dll, 2009-04-10 07:31:28, 182272, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppRt1.dll, 2009-04-10 07:37:32, 1857536, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
XppRt2.dll, 2009-04-10 07:37:32, 88576, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
XppSrtl.dll, 2009-04-10 07:37:34, 292864, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppSys.dll, 2009-04-10 07:37:32, 1080832, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
XppUi1.dll, 2009-04-10 07:37:32, 1648640, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
XppUi2.dll, 2009-04-10 07:37:32, 1218048, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
XppUi3.dll, 2009-04-10 07:37:34, 487936, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
42 file(s) processed.
hier ist die mit XPPLOAD erstellte Liste in C:\PROGRAMME\ALASKA
Alaska XppLoad Version 1.90.355
Copyright (c) Alaska Software 1997-2009. All rights reserved.
ADAC20B.dll, 2009-04-10 07:37:34, 448512, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
ADAC20C.dll, 2009-04-10 07:37:34, 69120, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
Aimplib.EXE, 2009-04-10 07:17:52, 94720, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
Alink.exe, 2009-04-10 07:17:50, 130560, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
Arc.exe, 2009-04-10 07:18:04, 140288, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
ASCOM10.dll, 2009-04-10 07:37:32, 555008, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
ASCOM10c.dll, 2009-04-10 07:37:32, 155648, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
ASLogResource.dll, 2009-04-10 07:17:38, 32768, 0.00. 0,C:\Programme\ALASKA\XPPW32\LIB\
ASRDBC10.DLL, 2009-04-10 07:37:34, 132096, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
CdxDbe.dll, 2009-04-10 07:37:34, 141824, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
DbfDbe.dll, 2009-04-10 07:37:34, 118784, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
DelDbe.dll, 2009-04-10 07:37:34, 96768, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
DllInfo.exe, 2009-04-10 07:34:02, 42496, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
FoxDbe.dll, 2009-04-10 07:37:34, 131072, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
NtxDbe.dll, 2009-04-10 07:37:34, 123904, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
Pbuild.EXE, 2009-04-10 07:33:50, 313344, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
SdfDbe.dll, 2009-04-10 07:37:34, 85504, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
SOM.DLL, 2009-04-10 07:37:32, 198144, 0.00. 0,C:\Programme\ALASKA\XPPW32\LIB\
Tlb2Ch.exe, 2009-04-10 07:33:52, 50688, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
Xpp.exe, 2009-04-10 07:37:34, 79872, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppCbe.dll, 2009-04-10 07:37:34, 157184, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppCfe.dll, 2009-04-10 07:37:34, 251392, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppDApi.dll, 2009-04-10 07:32:52, 544256, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppDbg.exe, 2009-04-10 07:32:58, 522752, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppDbgc.dll, 2009-04-10 07:32:36, 77312, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
XppDbgk.dll, 2009-04-10 07:32:42, 190464, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppDmenu.dll, 2009-04-10 07:32:56, 82944, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppErr.dll, 2009-04-10 07:37:34, 68096, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\
XppFD.exe, 2009-04-10 07:34:36, 1810944, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\
XppFilt.EXE, 2009-04-10 07:17:54, 72192, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppGen.dll, 2009-04-10 07:37:34, 179712, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppGraph.dll, 2009-04-10 07:37:34, 74752, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppLoad.exe, 2009-04-10 07:31:36, 111616, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppNat.dll, 2009-04-10 07:37:32, 171008, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
XppPp.dll, 2009-04-10 07:31:28, 182272, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppRt1.dll, 2009-04-10 07:37:32, 1857536, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
XppRt2.dll, 2009-04-10 07:37:32, 88576, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
XppSrtl.dll, 2009-04-10 07:37:34, 292864, 1.90.355,C:\Programme\ALASKA\XPPW32\BIN\,V
XppSys.dll, 2009-04-10 07:37:32, 1080832, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
XppUi1.dll, 2009-04-10 07:37:32, 1648640, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
XppUi2.dll, 2009-04-10 07:37:32, 1218048, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
XppUi3.dll, 2009-04-10 07:37:34, 487936, 1.90.355,C:\Programme\ALASKA\XPPW32\LIB\,V
42 file(s) processed.
-
- Cut&Paste-Entwickler
- Beiträge: 30
- Registriert: Mo, 10. Apr 2017 16:26
- Danksagung erhalten: 1 Mal
Re: Einlesen von Textdatei in Datenbank
Und diese Dateien werden mit XPPLOAD im Verzeichnis meines Programmes angezeigt:
D:\Y\X\Xpp.exe Version: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\Alink.exeVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\Aimplib.EXEVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\Arc.exeVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppDbg.exeVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppFD.exeVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppFilt.EXEVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppPp.dllVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppCfe.dllVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppErr.dllVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppGraph.dllVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppCbe.dllVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppGen.dllVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppSrtl.dllVersion: 1.90.355
D:\Y\X\XppSys.dll Version: 1.90.355
D:\Y\X\XppRt1.dll Version: 1.90.355
D:\Y\X\XppUi1.dll Version: 1.90.355
D:\Y\X\XppUi2.dll Version: 1.90.355
D:\Y\X\XppNat.dll Version: 1.90.355 Language: de
D:\Y\X\ASCOM10.dll Version: 1.90.355
D:\Y\X\ASCOM10c.dll Version: 1.90.355
D:\Y\X\ADAC20B.dll Version: 1.90.355
D:\Y\X\ADAC20C.dll Version: 1.90.355
D:\Y\X\ASRDBC10.DLL Version: 1.90.355
D:\Y\X\DbfDbe.dll Version: 1.90.355
D:\Y\X\NtxDbe.dll Version: 1.90.355
D:\Y\X\FoxDbe.dll Version: 1.90.355
D:\Y\X\CdxDbe.dll Version: 1.90.355
D:\Y\X\DelDbe.dll Version: 1.90.355
D:\Y\X\SdfDbe.dll Version: 1.90.355
34 file(s) processed.
D:\Y\X\Xpp.exe Version: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\Alink.exeVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\Aimplib.EXEVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\Arc.exeVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppDbg.exeVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppFD.exeVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppFilt.EXEVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppPp.dllVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppCfe.dllVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppErr.dllVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppGraph.dllVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppCbe.dllVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppGen.dllVersion: 1.90.355
C:\Programme\ALASKA\XPPW32\BIN\XppSrtl.dllVersion: 1.90.355
D:\Y\X\XppSys.dll Version: 1.90.355
D:\Y\X\XppRt1.dll Version: 1.90.355
D:\Y\X\XppUi1.dll Version: 1.90.355
D:\Y\X\XppUi2.dll Version: 1.90.355
D:\Y\X\XppNat.dll Version: 1.90.355 Language: de
D:\Y\X\ASCOM10.dll Version: 1.90.355
D:\Y\X\ASCOM10c.dll Version: 1.90.355
D:\Y\X\ADAC20B.dll Version: 1.90.355
D:\Y\X\ADAC20C.dll Version: 1.90.355
D:\Y\X\ASRDBC10.DLL Version: 1.90.355
D:\Y\X\DbfDbe.dll Version: 1.90.355
D:\Y\X\NtxDbe.dll Version: 1.90.355
D:\Y\X\FoxDbe.dll Version: 1.90.355
D:\Y\X\CdxDbe.dll Version: 1.90.355
D:\Y\X\DelDbe.dll Version: 1.90.355
D:\Y\X\SdfDbe.dll Version: 1.90.355
34 file(s) processed.
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Einlesen von Textdatei in Datenbank
wie du siehst ist das ziemlicher Mist ... die fehlen die Environment Settings.
es müsste eine *.REG nach der (ehemaligen) Installation in \XPP32 geben, normal wird es unter C:\\ALASKA installiert
Code: Alles auswählen
REGEDIT4
[HKEY_CURRENT_USER\Environment]
"LIB"="C:\\ALASKA\\XPPW32\\LIB"
"PATH"="C:\\ALASKA\\XPPW32\\BIN;C:\\ALASKA\\XPPW32\\LIB"
"INCLUDE"="C:\\ALASKA\\XPPW32\\INCLUDE"
"XPPRESOURCE"="C:\\ALASKA\\XPPW32\\RESOURCE\\BITMAP"
"XPPRESOURCE"="C:\\ALASKA\\XPPW32\\RESOURCE\\ICON"
"XPPRESOURCE"="C:\\ALASKA\\XPPW32\\RESOURCE\\FONT"
"XPPRESOURCE"="C:\\ALASKA\\XPPW32\\RESOURCE\\POINTER"
[HKEY_CLASSES_ROOT\.prg]
@="prgfile"
[HKEY_CLASSES_ROOT\prgfile]
@="Xbase++ code"
[HKEY_CLASSES_ROOT\prgfile\shell\open\command]
@="notepad.exe %1"
[HKEY_CLASSES_ROOT\prgfile\shell\Xbase++ compile\command]
@="Xpp.exe %1"
[HKEY_CLASSES_ROOT\prgfile\DefaultIcon]
@="C:\\ALASKA\\XPPW32\\RESOURCE\\ICON\\XPPPRG.ICO,0"
[HKEY_CLASSES_ROOT\.ch]
@="chfile"
[HKEY_CLASSES_ROOT\chfile]
@="Xbase++ header"
[HKEY_CLASSES_ROOT\chfile\shell\open\command]
@="notepad.exe %1"
[HKEY_CLASSES_ROOT\chfile\shell\Xbase++ syntax check\command]
@="Xpp.exe /s %1"
[HKEY_CLASSES_ROOT\chfile\DefaultIcon]
@="C:\\ALASKA\\XPPW32\\RESOURCE\\ICON\\XPPPRG.ICO,0"
[HKEY_CLASSES_ROOT\.xpj]
@="xpp-project"
[HKEY_CLASSES_ROOT\xpp-project]
@="Xbase++ project"
[HKEY_CLASSES_ROOT\xpp-project\shell\open\command]
@="C:\\ALASKA\\XPPW32\\BIN\\PBUILD.EXE %1"
[HKEY_CLASSES_ROOT\xpp-project\shell\Edit\command]
@="notepad.exe %1"
[HKEY_CLASSES_ROOT\xpp-project\DefaultIcon]
@="C:\\ALASKA\\XPPW32\\RESOURCE\\ICON\\PBUILD.ICO,0"
[HKEY_CLASSES_ROOT\.xff]
@="XPPFD-Dialog"
[HKEY_CLASSES_ROOT\XPPFD-Dialog]
@="XPPFD-Dialog"
[HKEY_CLASSES_ROOT\XPPFD-Dialog\shell\open\command]
@="C:\\ALASKA\\XPPW32\\bin\\XPPFD.EXE %1"
[HKEY_CLASSES_ROOT\XPPFD-Dialog\DefaultIcon]
@="C:\\ALASKA\\XPPW32\\RESOURCE\\ICON\\XPPXFF.ICO,0"
gruss by OHR
Jimmy
Jimmy
-
- Cut&Paste-Entwickler
- Beiträge: 30
- Registriert: Mo, 10. Apr 2017 16:26
- Danksagung erhalten: 1 Mal
Re: Einlesen von Textdatei in Datenbank
Hallo Marvin,AUGE_OHR hat geschrieben: ↑Fr, 13. Dez 2019 19:47wie du siehst ist das ziemlicher Mist ... die fehlen die Environment Settings.
es müsste eine *.REG nach der (ehemaligen) Installation in \XPP32 geben, normal wird es unter C:\\ALASKA installiertCode: Alles auswählen
REGEDIT4 [HKEY_CURRENT_USER\Environment] "LIB"="C:\\ALASKA\\XPPW32\\LIB" "PATH"="C:\\ALASKA\\XPPW32\\BIN;C:\\ALASKA\\XPPW32\\LIB" "INCLUDE"="C:\\ALASKA\\XPPW32\\INCLUDE" "XPPRESOURCE"="C:\\ALASKA\\XPPW32\\RESOURCE\\BITMAP" "XPPRESOURCE"="C:\\ALASKA\\XPPW32\\RESOURCE\\ICON" "XPPRESOURCE"="C:\\ALASKA\\XPPW32\\RESOURCE\\FONT" "XPPRESOURCE"="C:\\ALASKA\\XPPW32\\RESOURCE\\POINTER" [HKEY_CLASSES_ROOT\.prg] @="prgfile" [HKEY_CLASSES_ROOT\prgfile] @="Xbase++ code" [HKEY_CLASSES_ROOT\prgfile\shell\open\command] @="notepad.exe %1" [HKEY_CLASSES_ROOT\prgfile\shell\Xbase++ compile\command] @="Xpp.exe %1" [HKEY_CLASSES_ROOT\prgfile\DefaultIcon] @="C:\\ALASKA\\XPPW32\\RESOURCE\\ICON\\XPPPRG.ICO,0" [HKEY_CLASSES_ROOT\.ch] @="chfile" [HKEY_CLASSES_ROOT\chfile] @="Xbase++ header" [HKEY_CLASSES_ROOT\chfile\shell\open\command] @="notepad.exe %1" [HKEY_CLASSES_ROOT\chfile\shell\Xbase++ syntax check\command] @="Xpp.exe /s %1" [HKEY_CLASSES_ROOT\chfile\DefaultIcon] @="C:\\ALASKA\\XPPW32\\RESOURCE\\ICON\\XPPPRG.ICO,0" [HKEY_CLASSES_ROOT\.xpj] @="xpp-project" [HKEY_CLASSES_ROOT\xpp-project] @="Xbase++ project" [HKEY_CLASSES_ROOT\xpp-project\shell\open\command] @="C:\\ALASKA\\XPPW32\\BIN\\PBUILD.EXE %1" [HKEY_CLASSES_ROOT\xpp-project\shell\Edit\command] @="notepad.exe %1" [HKEY_CLASSES_ROOT\xpp-project\DefaultIcon] @="C:\\ALASKA\\XPPW32\\RESOURCE\\ICON\\PBUILD.ICO,0" [HKEY_CLASSES_ROOT\.xff] @="XPPFD-Dialog" [HKEY_CLASSES_ROOT\XPPFD-Dialog] @="XPPFD-Dialog" [HKEY_CLASSES_ROOT\XPPFD-Dialog\shell\open\command] @="C:\\ALASKA\\XPPW32\\bin\\XPPFD.EXE %1" [HKEY_CLASSES_ROOT\XPPFD-Dialog\DefaultIcon] @="C:\\ALASKA\\XPPW32\\RESOURCE\\ICON\\XPPXFF.ICO,0"
und wie bekomme ich diese *.REG-Datei her. Kann ich diese mit den obigen Programmzeilen von Dir einfach speichern? Und falls ja, unter welchen Namen soll ich dann diese speichern? Unter REGEDIT4.REG? Und wo? Direkt als \ALASKA\REGEDIT4.REG?
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Einlesen von Textdatei in Datenbank
hihi ...
"Marvin" kommt wie "Cut & Paste Entwickler" von der BBS und ist abhängig von der Anzahl der geschriebenen Beiträge
mein Name ist Jimmy
wie ich schon sagte wurde bei der Original Installation die *.REG (Name egal) erzeugt.Ritchie39 hat geschrieben: und wie bekomme ich diese *.REG-Datei her. Kann ich diese mit den obigen Programmzeilen von Dir einfach speichern? Und falls ja, unter welchen Namen soll ich dann diese speichern? Unter REGEDIT4.REG? Und wo? Direkt als \ALASKA\REGEDIT4.REG?
Dabei wird der Path C:\ALASKA verwendet.
---
warum du es unter C:\Programme installierst hast ist mir nicht ganz klar.
wenn man die XPPSYS.DLL neu erstellen will geht es nicht unter C:\Programme !
gruss by OHR
Jimmy
Jimmy
-
- Cut&Paste-Entwickler
- Beiträge: 30
- Registriert: Mo, 10. Apr 2017 16:26
- Danksagung erhalten: 1 Mal
Re: Einlesen von Textdatei in Datenbank
Hi Jimmy,AUGE_OHR hat geschrieben: ↑Sa, 14. Dez 2019 20:25hihi ...
"Marvin" kommt wie "Cut & Paste Entwickler" von der BBS und ist abhängig von der Anzahl der geschriebenen Beiträge
mein Name ist Jimmy
wie ich schon sagte wurde bei der Original Installation die *.REG (Name egal) erzeugt.Ritchie39 hat geschrieben: und wie bekomme ich diese *.REG-Datei her. Kann ich diese mit den obigen Programmzeilen von Dir einfach speichern? Und falls ja, unter welchen Namen soll ich dann diese speichern? Unter REGEDIT4.REG? Und wo? Direkt als \ALASKA\REGEDIT4.REG?
Dabei wird der Path C:\ALASKA verwendet.
---
warum du es unter C:\Programme installierst hast ist mir nicht ganz klar.
wenn man die XPPSYS.DLL neu erstellen will geht es nicht unter C:\Programme !
installiert wurde es selbstverständlich unter C:\Programm\ALASKA. Kann man ja auch über der Liste als Überschrift lesen. Aber kann ich diese fehlende *.REG-Datei erstellen? Und wie heißt diese komplett?
-
- Cut&Paste-Entwickler
- Beiträge: 30
- Registriert: Mo, 10. Apr 2017 16:26
- Danksagung erhalten: 1 Mal
Re: Einlesen von Textdatei in Datenbank
Unter Regedit HKEY_Current_User steht unter Environment folgendes:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Environment]
"INCLUDE"="C:\\Programme\\ALASKA\\XPPW32\\INCLUDE"
"LIB"="C:\\Programme\\ALASKA\\XPPW32\\LIB"
"PATH"="C:\\Programme\\ALASKA\\XPPW32\\BIN;C:\\Programme\\ALASKA\\XPPW32\\LIB;D:\\BAT;D:\\SK;D:\\Y;D:\\Y\\C;D:\\Y\\X"
"XPPRESOURCE"="C:\\Programme\\ALASKA\\XPPW32\\RESOURCE\\POINTER;C:\\Programme\\ALASKA\\XPPW32\\RESOURCE\\BITMAP;C:\\Programme\\ALASKA\\XPPW32\\RESOURCE\\FONT;C:\\Programme\\ALASKA\\XPPW32\\RESOURCE\\ICON;C:\\Programme\\ALASKA\\XPPW32\\RESOURCE"
"XPPROOT"="C:\\Programme\\ALASKA\\XPPW32\\"
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Environment]
"INCLUDE"="C:\\Programme\\ALASKA\\XPPW32\\INCLUDE"
"LIB"="C:\\Programme\\ALASKA\\XPPW32\\LIB"
"PATH"="C:\\Programme\\ALASKA\\XPPW32\\BIN;C:\\Programme\\ALASKA\\XPPW32\\LIB;D:\\BAT;D:\\SK;D:\\Y;D:\\Y\\C;D:\\Y\\X"
"XPPRESOURCE"="C:\\Programme\\ALASKA\\XPPW32\\RESOURCE\\POINTER;C:\\Programme\\ALASKA\\XPPW32\\RESOURCE\\BITMAP;C:\\Programme\\ALASKA\\XPPW32\\RESOURCE\\FONT;C:\\Programme\\ALASKA\\XPPW32\\RESOURCE\\ICON;C:\\Programme\\ALASKA\\XPPW32\\RESOURCE"
"XPPROOT"="C:\\Programme\\ALASKA\\XPPW32\\"
-
- Cut&Paste-Entwickler
- Beiträge: 30
- Registriert: Mo, 10. Apr 2017 16:26
- Danksagung erhalten: 1 Mal
Re: Einlesen von Textdatei in Datenbank
Weiter steht unter [HKEY_CLASSES_ROOT\.prg]
Name (Standard) REG_SZ xpp.file
Nicht gefunden habe ich
@="Xbase++ code"
[HKEY_CLASSES_ROOT\prgfile\shell\open\command]
@="notepad.exe %1"
[HKEY_CLASSES_ROOT\prgfile\shell\Xbase++ compile\command]
@="Xpp.exe %1"
[HKEY_CLASSES_ROOT\prgfile\DefaultIcon]
@="C:\\ALASKA\\XPPW32\\RESOURCE\\ICON\\XPPPRG.ICO,0"
Vorhanden ist
[HKEY_CLASSES_ROOT\.ch]
@="chfile"
NAME (Standard) Typ REG_SZ WERT xpp.chfile
Nicht vorhanden ist
[HKEY_CLASSES_ROOT\chfile], jedoch xpp.chfile (siehe unten)
@="Xbase++ header"
[HKEY_CLASSES_ROOT\chfile\shell\open\command]
@="notepad.exe %1"
[HKEY_CLASSES_ROOT\chfile\shell\Xbase++ syntax check\command]
@="Xpp.exe /s %1"
[HKEY_CLASSES_ROOT\chfile\DefaultIcon]
@="C:\\ALASKA\\XPPW32\\RESOURCE\\ICON\\XPPPRG.ICO,0
Vorhanden ist
[HKEY_CLASSES_ROOT\.xpj]
NAME (Standard) TYP(Reg_SZ) WERT xpp.xpjfile
[HKEY_CLASSES_ROOT\xpp.arcfile
WERT: Xbase++-Resourcedatei
Defaultion: WERT:C:\Programme\ALASKA\XPPW32\RESOURCE\ICON\xppprg.ico
[HKEY_CLASSES_ROOT\xpp.chfile
WERT: XBase++-Include-Datei
Defaultion: WERT:C:\Programme\ALASKA\XPPW32\RESOURCE\ICON\xppprg.ico
[HKEY_CLASSES_ROOT\xpp.prgfile
WERT: Xbase++Quellcodedatei
Defaultion: WERT:C:\Programme\ALASKA\XPPW32\RESOURCE\ICON\xppprg.ico
[HKEY_CLASSES_ROOT\xpp.xfffile
WERT: Xbase++-Formulardesignerdatei
Defaultion: WERT:C:\Programme\ALASKA\XPPW32\RESOURCE\ICON\xppff.ico
[HKEY_CLASSES_ROOT\xpp.xpjfile
WERT: Xbase++-Projectdatei
Defaultion: WERT:C:\Programme\ALASKA\XPPW32\RESOURCE\ICON\nmake.ico
Vielleicht liegt das an den unterschiedlichen Versionen. Vielleicht gibt es bei meiner Version auch nicht diese *.REG-Datei???
Name (Standard) REG_SZ xpp.file
Nicht gefunden habe ich
@="Xbase++ code"
[HKEY_CLASSES_ROOT\prgfile\shell\open\command]
@="notepad.exe %1"
[HKEY_CLASSES_ROOT\prgfile\shell\Xbase++ compile\command]
@="Xpp.exe %1"
[HKEY_CLASSES_ROOT\prgfile\DefaultIcon]
@="C:\\ALASKA\\XPPW32\\RESOURCE\\ICON\\XPPPRG.ICO,0"
Vorhanden ist
[HKEY_CLASSES_ROOT\.ch]
@="chfile"
NAME (Standard) Typ REG_SZ WERT xpp.chfile
Nicht vorhanden ist
[HKEY_CLASSES_ROOT\chfile], jedoch xpp.chfile (siehe unten)
@="Xbase++ header"
[HKEY_CLASSES_ROOT\chfile\shell\open\command]
@="notepad.exe %1"
[HKEY_CLASSES_ROOT\chfile\shell\Xbase++ syntax check\command]
@="Xpp.exe /s %1"
[HKEY_CLASSES_ROOT\chfile\DefaultIcon]
@="C:\\ALASKA\\XPPW32\\RESOURCE\\ICON\\XPPPRG.ICO,0
Vorhanden ist
[HKEY_CLASSES_ROOT\.xpj]
NAME (Standard) TYP(Reg_SZ) WERT xpp.xpjfile
[HKEY_CLASSES_ROOT\xpp.arcfile
WERT: Xbase++-Resourcedatei
Defaultion: WERT:C:\Programme\ALASKA\XPPW32\RESOURCE\ICON\xppprg.ico
[HKEY_CLASSES_ROOT\xpp.chfile
WERT: XBase++-Include-Datei
Defaultion: WERT:C:\Programme\ALASKA\XPPW32\RESOURCE\ICON\xppprg.ico
[HKEY_CLASSES_ROOT\xpp.prgfile
WERT: Xbase++Quellcodedatei
Defaultion: WERT:C:\Programme\ALASKA\XPPW32\RESOURCE\ICON\xppprg.ico
[HKEY_CLASSES_ROOT\xpp.xfffile
WERT: Xbase++-Formulardesignerdatei
Defaultion: WERT:C:\Programme\ALASKA\XPPW32\RESOURCE\ICON\xppff.ico
[HKEY_CLASSES_ROOT\xpp.xpjfile
WERT: Xbase++-Projectdatei
Defaultion: WERT:C:\Programme\ALASKA\XPPW32\RESOURCE\ICON\nmake.ico
Vielleicht liegt das an den unterschiedlichen Versionen. Vielleicht gibt es bei meiner Version auch nicht diese *.REG-Datei???