Seite 3 von 3

Re: Crypt() aus den Tools3

Verfasst: Do, 09. Feb 2017 9:44
von Manfred
und das habe ich nirgends gelesen in der Anleitung. Und das ist dann auch sicherlich der Grund warum ich nicht verstanden habe, was ihr von mir wolltet, bzw. was ihr mir versucht habt zu erklären. Also die SAche mit OEM und Ansi

Re: Crypt() aus den Tools3

Verfasst: Do, 09. Feb 2017 13:12
von Manfred
OK, jetzt nochmal für Langsamdenker. Das Problem liegt also darin, dass ich einmal ein OEM und einmal ein ANSI Programm habe. Bei dem OEM klappt es noch obwohl ich die DBF schonmal umkopiert habe. Ich weiß jetzt aber nicht, ob die OEM oder ANSI sind. Könnte man sagen, sie müssten OEM sein, weil es klappt?

Re: Crypt() aus den Tools3

Verfasst: Do, 09. Feb 2017 14:15
von brandelh
JA, eventuell genauer der Unterschied, warum es einmal geht und beim anderen Mal nicht !
Bei dem OEM klappt es noch obwohl ich die DBF schonmal umkopiert habe. Ich weiß jetzt aber nicht, ob die OEM oder ANSI sind.
Eine OEM EXE erstellt IMMER eine OEM DBF, mit der FOXDBE ! OEM EXE UND OEM DBF, alles OK.

Wobei wenn du in der OEM FOXCDX Datei die Binärdaten (Bits dürfen nicht verändert werden) in ein binär Feld speicherst, dann spielt es keine Rolle ob EXE oder neue Dateien später OEM oder ANSI sein werden.
Binärfelder sind vom Typ Text "X" oder Memo "V" - damit müsste es auf jeden Fall gehen. DBEXPORT ist dann aber nicht erlaubt, da dieses den Feldtyp von der alten übernimmt.

Zur Doku. Soweit ich das sehe wurde die zu OS/2 (OEM) Zeiten im Hauruck Schalspur Verfahren von der original CA-ToolsIII Doku übernommen.
Als dann die Windows Version kam, wurde ja viel über OEM / ANSI Konvertierung geredet und geschrieben (dazu gibt es ein eigenes Hilfe-Thema), aber eben nicht in dieser Funktion explizit erwähnt.

Re: Crypt() aus den Tools3

Verfasst: Do, 09. Feb 2017 14:19
von Manfred
Hm, Memofelder für je Name Vorname, Strasse, Ort und noch ein paar perönliche Felder, ist das nicht mit Kanonen auf Spatzen geschossen?

Re: Crypt() aus den Tools3

Verfasst: Do, 09. Feb 2017 14:28
von brandelh
In der Hilfe zu SET CHARSET stehen die Infos zum automatischen Konvertieren ...

Memofelder beim FOXDBE sind ja viel kleiner, also bei der DBFDBE und von flexibler Länge, aber für deine Zwecke ist sicherlich das binäre Text Feld mit fixer Länge ( Typ = X) besser geeignet,
insbesondere weil es keine Memodatei benötigt (zusätzliche Fehlerquelle).

Aber dann rtrim() nicht vergessen:

cName := crypt(rtrim(field->name),cKey)

du kannst versuchen ob eine FOXDBF mit binären Textfeldern ein append from akzeptiert.
Dann die neue Datei anlegen (Struktur der alten in Array, Feldtypen ändern und neu erzeugen)
und append from ... nutzen.

Wenn nicht, musst du halt Feld und Satzweise einzeln umkopieren.

Re: Crypt() aus den Tools3

Verfasst: Do, 09. Feb 2017 14:41
von Manfred
also um die Umkopiererei mache ich mir keine Sorgen, das ist schon automatisch in meiner Methode drin. Ich überlege nur welche Konsequenzen das für die Zukunft haben könnte. Und vor allen Dingen muß ich höllisch aufpassen, wenn ich das andere Programm (ist ja irgendwie noch im Zwittermode geschrieben) mal komplett neu mache.

Re: Crypt() aus den Tools3

Verfasst: Do, 09. Feb 2017 18:57
von AUGE_OHR
Manfred hat geschrieben:also um die Umkopiererei mache ich mir keine Sorgen, das ist schon automatisch in meiner Methode drin.
wenn du wie du schreibst es mit
Dann habe ich sie nach FOXCDX umgewandelt durch DbImport() der Daten
ist es kein Wunder wenn es nicht klappt.

Re: Crypt() aus den Tools3

Verfasst: Do, 09. Feb 2017 19:10
von Manfred
nein, das war nur eine Kurzform, bevor ich wußte welches kaliber ich mir ins Knie geschossen habe. Ich habe eigentlich eine Methode dafür, war aber zu bequem sie bei der kurzen Sache einzubauen.