AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

1-Byte-Char in BDS2010

Ein Thema von LeisureSuitLarry · begonnen am 29. Feb 2012 · letzter Beitrag vom 29. Feb 2012
Antwort Antwort
Seite 1 von 3  1 23      
LeisureSuitLarry

Registriert seit: 8. Dez 2005
Ort: Unterschleißheim
90 Beiträge
 
Delphi 2010 Professional
 
#1

1-Byte-Char in BDS2010

  Alt 29. Feb 2012, 08:06
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
Angehängte Grafiken
Dateityp: jpg ToolsOptionenDelpi-OptionenBibliothek.jpg (31,6 KB, 13x aufgerufen)
Manfred
Mein erster Rechner hatte eine Z80A-CPU mit 4MHz, 64KB Speicher, Musikkassetten als Speichermedium. Als Betriebssystem CP/M (dazu gekauft)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#2

AW: 1-Byte-Char in BDS2010

  Alt 29. Feb 2012, 08:08
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (29. Feb 2012 um 08:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: 1-Byte-Char in BDS2010

  Alt 29. Feb 2012, 08:12
Oder anders ausgedrückt:
Delphi bis 2007
- Char = AnsiChar
- PChar = PAnsiChar
- String = AnsiString

Delphi ab 2009
- Char = WideChar
- PChar = PWideChar
- String = UnicodeString
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
LeisureSuitLarry

Registriert seit: 8. Dez 2005
Ort: Unterschleißheim
90 Beiträge
 
Delphi 2010 Professional
 
#4

AW: 1-Byte-Char in RAD2010

  Alt 29. Feb 2012, 08:24
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
Manfred
Mein erster Rechner hatte eine Z80A-CPU mit 4MHz, 64KB Speicher, Musikkassetten als Speichermedium. Als Betriebssystem CP/M (dazu gekauft)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: 1-Byte-Char in BDS2010

  Alt 29. Feb 2012, 08:29
Z.B. mit einem Array of AnsiChar oder einem String mit fester Länge (z.B. string[50]), die sind AFAIK immer Ansi.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
LeisureSuitLarry

Registriert seit: 8. Dez 2005
Ort: Unterschleißheim
90 Beiträge
 
Delphi 2010 Professional
 
#6

AW: 1-Byte-Char in RAD2010

  Alt 29. Feb 2012, 08:33
Danke.
Die Satzlänge ist leider 361 Zeichen.
Manfred
Mein erster Rechner hatte eine Z80A-CPU mit 4MHz, 64KB Speicher, Musikkassetten als Speichermedium. Als Betriebssystem CP/M (dazu gekauft)
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#7

AW: 1-Byte-Char in RAD2010

  Alt 29. Feb 2012, 08:34
[...] Die Satzlänge ist leider 361 Zeichen.
Äh, ja. Und?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: 1-Byte-Char in BDS2010

  Alt 29. Feb 2012, 08:36
Dann nimm doch das Array of AnsiChar, oder deklarier einfach einen AnsiString und kopier da die 361 Zeichen raus (je nachdem, wie Du einliest).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
LeisureSuitLarry

Registriert seit: 8. Dez 2005
Ort: Unterschleißheim
90 Beiträge
 
Delphi 2010 Professional
 
#9

AW: 1-Byte-Char in BDS2010

  Alt 29. Feb 2012, 08:49
Einen Ansistring einlesen geht erst mal.
Dummerweise ist die Datei CP850 kodiert.
Manfred
Mein erster Rechner hatte eine Z80A-CPU mit 4MHz, 64KB Speicher, Musikkassetten als Speichermedium. Als Betriebssystem CP/M (dazu gekauft)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: 1-Byte-Char in BDS2010

  Alt 29. Feb 2012, 08:59
Hilft Dir MSDN-Library durchsuchenOemToChar evtl. weiter?

[edit] Oder wohl besser MSDN-Library durchsuchenOemToCharBuff, wenn man die Warnung beachtet. [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:54 Uhr.
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