Welche Norm gilt BDE für .sch Schema-Dateien verwenden?
-
03-07-2019 - |
Frage
Ich habe mich gefragt - gibt es einen Standard (wie ein RFC) für das .sch Schema-Dateiformat der BDE verwendet
?Das Format wird beschrieben hier und hier . Es scheint, basierend auf dieses Microsoft-Format , aber es ist nicht ganz die gleiche .
Beispiel 1 - VARYING-Format-Datei
CUSTOMER.SCH:
[CUSTOMER]
Filetype=VARYING
Delimiter="
Separator=,
CharSet=ascii
Field1=Customer No,Float,20,04,00
Field2=Name,Char,30,00,20
Field3=Phone,Char,15,00,145
Field4=First Contact,Date,11,00,160
CUSTOMER.TXT:
1221.0000,"Kauai Dive Shoppe","808-555-0269",04/03/1994
1231.0000,"Unisco","809-555-3915",02/28/1994
1351.0000,"Sight Diver","357-6-876708",04/12/1994
1354.0000,"Cayman Divers World Unlimited","809-555-8576",04/17/1994
1356.0000,"Tom Sawyer Diving Centre","809-555-7281",04/20/1994
Beispiel 2 - FIXED-Format-Datei
CUSTOMER.SCH:
[CUSTOMER]
Filetype=Fixed
CharSet=ascii
Field1=Customer No,Float,20,04,00
Field2=Name,Char,30,00,20
Field3=Phone,Char,15,00,145
Field4=First Contact,Date,08,00,160
CUSTOMER.TXT:
1221.0000Kauai Dive Shoppe 808-555-0269 04/03/94
1231.0000Unisco 809-555-3915 02/28/94
1351.0000Sight Diver 357-6-876708 04/12/94
1354.0000Cayman Divers World Unlimited 809-555-8576 04/17/94
1356.0000Tom Sawyer Diving Centre 809-555-7281 04/20/94
Ich bin besonders interessiert an dem möglichen Argument-Wert für ‚Dateityp‘, ‚Trennzeichen‘, ‚Separator‘ und ‚CharSet‘. Ich habe im Internet gesucht mit verschiedenen Begriffen ( 'RFC', 'Schema', 'Dateityp', 'Standard', usw.), aber kam leer ...
Dinge, die ich möchte genau wissen:
- Welche Codierung (en) für die SCH-Datei selbst verwendet werden? (Dies ist relevant für den richtigen Feldnamen und andere konfigurierbare Zeichen zu interpretieren.)
- Wie soll ich angeben, nicht druckbare Separator und Trennzeichen, beispielsweise ein Ansi Steuer-Zeichen wie "Unit Separator" ($ 1F) oder auch ein einfaches "Tab" ($ 09)? (In Anbetracht des Alters des Formats ich glaube, ich Caret Schreibweise verwenden sollte, aber es würde nur um sicher sein mögen.)
- Wie kann ich ein Trennzeichen nicht verwenden angeben? Soll ich einen leeren Wert specifiy, oder die Einstellung auslassen insgesamt?
TIA
PS: Beachten Sie, ich bin die BDE nicht mit sich selbst - es ist nur diese Schema-Dateien, die ich habe zu erzeugen und lesen richtig
.Lösung
Suchen Sie Ihre Festplatte nach einer Datei namens bde32.hlp dass mit Borland Delphi installiert ist. Es ist eine Windows-Hilfedatei, die eine Dokumentation des BDE-API enthält. Es enthält auch ein Thema „Bindung externen Schema Tabellen in Text“ betitelt, die das Format der * .sch Dateien beschreibt.
Unter dem Titel „Sprache Treiber“, die gleiche Hilfe-Datei enthält auch eine Liste der „Kurznamen“, die für den CharSet
Eintrag in der * .sch-Datei angegeben werden können.
So zum Beispiel, wenn Sie die Windows-Zeichensatz für westeuropäische Sprachen (Windows-1252) verwenden möchten, dass Sie sich für Französisch akzentuierten Zeichen oder Umlaute benötigen, ist der Wert, verwenden für CharSet
ANSIINTL
wie folgt aus:
[CUSTOMER]
Filetype=VARYING
Delimiter="
Separator=,
CharSet=ANSIINTL
Welche Codierung (en) für die verwendet werden, .sch Datei selbst? (Dies ist relevant für richtig zu interpretieren die Feldnamen und andere konfigurierbare Zeichen).
Just plain ASCII. Es gibt kein Szenario, das erfordern würde, oder lassen Sie 0-127 und von denen alles anderes als guten alten ASCII-Zeichen mit Zeichencodes verwenden (mit Ausnahme von Zeilenumbrüchen, die verschiedenen Linien zu trennen) nur druckbare Zeichen sinnvoll sind.
Zum Beispiel, keine anderen Zeichen (Umlaute, Akzente Zeichen, usw.) sind in den Tabellennamen oder Spaltennamen erlaubt.
Wie soll ich nicht druckbare angeben Separator und Trennzeichen Zeichen, beispielsweise eine ANSI-Zeichensteuer wie "Unit Separator" ($ 1F) oder sogar ein einfach "Tab" ($ 09)? (Angesichts des Alters von das Format Ich denke, ich sollte Caret verwenden Notation, aber es würde einfach sein mag sicher.)
Nicht möglich. Nur „sichtbar“ Zeichen können als Trennzeichen und Trennzeichen verwendet werden. Um eine Registerkarte zu verwenden, nur eine leere Zuordnung verwenden:
[CUSTOMER]
Filetype=VARYING
Delimiter="
Separator=
CharSet=ANSIINTL
Wie kann ich eine nicht-Verwendung angeben, Trennzeichen? Sollte ich eine leere specifiy Wert oder die Einstellung auslassen zusammen?
Im „Fixed“ Format, keine Separatoren und keine Trennzeichen verwendet. In „Unterschiedlich“ Format wird ein Trennzeichen immer für Spalten mit Zeichenkette / Zeichentyp verwendet wird und ein Trennzeichen ist nie für andere Spaltentypen verwendet. Um nicht ein Trennzeichen zu verwenden, nur eine leere Zuordnung im Schema verwenden:
[CUSTOMER]
Filetype=VARYING
Delimiter=
Separator=,
CharSet=ANSIINTL
Andere Tipps
Es wird wirklich schwer, eine endgültige Antwort auf Ihre Frage zu erhalten. BDE wurde seit Jahren als veraltet, und die meisten der ursprünglichen Entwickler haben andere Jobs weitergegangen.
Wenn ich recht erinnert, der Text (später ASCII) Unterstützung der BDE war bereits dort, als es zuerst ODAPI genannt wurde und später IDAPI (Independent Datenbank-API, eine gemeinsame Entwicklung von Borland, Novell, IBM und Wordperfect in den frühen 90er Jahren).
In der Zwischenzeit wurde Borland Inprise, zog seinen Fokus auf den Enterprise-Markt, wurde wieder Borland, getrennt, um die Entwickler-Tools und Datenbanken Gruppe in CodeGear und verkauft CodeGear zu Embarcadero (die schließlich war Entwickler centric wieder).
Ich werde versuchen, mit etwas Anständiges und erweitern Sie diese Antwort später zu kommen, oder fragen, um unter DelphiLive! nächste Woche.
Hang on: -)
Bearbeiten 1 : einige weitere Informationen
Unterstützung für ASCII ist in idasci32.dll
Wert Werte für diese Felder:
Dateityp:
- Fixed
- Trennzeichen
Trennzeichen: unbekannt
Separator: unbekannt
CharSet:
- ascii