Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi 1-Byte-Char in BDS2010 (https://www.delphipraxis.net/166785-1-byte-char-bds2010.html)

LeisureSuitLarry 29. Feb 2012 08:06

1-Byte-Char in BDS2010
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich habe folgendes Problem:

beim Einlesen einer Textdatei mit mehreren Char-Feldern ist die Satzlänge doppelt so hoch. Delpi2010 scheint für ein Char 2 Byte zu verwenden.

Die Projekteinstellungen habe ich angehängt. Gibt es eine Art ShortChar?

Grüße
Manfred

himitsu 29. Feb 2012 08:08

AW: 1-Byte-Char in BDS2010
 
Nicht nur scheint, sondern es ist so.
Seit Delphi/RAD 2009 ist Unicode der Standard und davor war es ANSI.

Char
AnsiChar
WideChar
PChar
PAnsiChar
PWideChar
String
ShortString
AnsiString
WideString
UnicodeString

BDS? Es heißt jetzt RAD. :wink:

DeddyH 29. Feb 2012 08:12

AW: 1-Byte-Char in BDS2010
 
Oder anders ausgedrückt:
Delphi bis 2007
- Char = AnsiChar
- PChar = PAnsiChar
- String = AnsiString

Delphi ab 2009
- Char = WideChar
- PChar = PWideChar
- String = UnicodeString

LeisureSuitLarry 29. Feb 2012 08:24

AW: 1-Byte-Char in RAD2010
 
Danke für die schnellen Antworten.

Wie bekomme ich jetzt Daten eingelesen, die Daten mit fester Feldlänge enthält?

Zum Beispiel:
000001Herr Max Mustermann Testr. 1 12345Musterhausen

Grüße
Manfred

DeddyH 29. Feb 2012 08:29

AW: 1-Byte-Char in BDS2010
 
Z.B. mit einem Array of AnsiChar oder einem String mit fester Länge (z.B. string[50]), die sind AFAIK immer Ansi.

LeisureSuitLarry 29. Feb 2012 08:33

AW: 1-Byte-Char in RAD2010
 
Danke.
Die Satzlänge ist leider 361 Zeichen.

vagtler 29. Feb 2012 08:34

AW: 1-Byte-Char in RAD2010
 
Zitat:

Zitat von LeisureSuitLarry (Beitrag 1153597)
[...] Die Satzlänge ist leider 361 Zeichen.

Äh, ja. Und?

DeddyH 29. Feb 2012 08:36

AW: 1-Byte-Char in BDS2010
 
Dann nimm doch das Array of AnsiChar, oder deklarier einfach einen AnsiString und kopier da die 361 Zeichen raus (je nachdem, wie Du einliest).

LeisureSuitLarry 29. Feb 2012 08:49

AW: 1-Byte-Char in BDS2010
 
Einen Ansistring einlesen geht erst mal.
Dummerweise ist die Datei CP850 kodiert.

DeddyH 29. Feb 2012 08:59

AW: 1-Byte-Char in BDS2010
 
Hilft Dir MSDN-Library durchsuchenOemToChar evtl. weiter?

[edit] Oder wohl besser MSDN-Library durchsuchenOemToCharBuff, wenn man die Warnung beachtet. [/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:43 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz