AGB  ·  Datenschutz  ·  Impressum  







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

Umwandlung von AnsiString und AnsiChar Werten

Ein Thema von Andidreas · begonnen am 6. Sep 2011 · letzter Beitrag vom 7. Sep 2011
Antwort Antwort
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Umwandlung von AnsiString und AnsiChar Werten

  Alt 6. Sep 2011, 14:34
konkret geht es darum das mir deutsch umlaute (äüöß) nicht korrekt im dbgrid angezeigt werden...
Könntest Du "nicht korrekt" einmal näher definieren?
Ist Ä mit ä vertauscht?
Fehlt das ß?
Gibt es Kästchen statt Buchstaben?
was ist es denn?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

AW: Umwandlung von AnsiString und AnsiChar Werten

  Alt 6. Sep 2011, 14:46
nicht korrekt heißt das mir die umlaute als "hyroglyphen" angezeigt werden z.b. wird beim "ä" ein großes a + enter zeichen ausgegeben und über das utf8toansi kann ich mir das wieder als ä anzeigen lassen
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.234 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Umwandlung von AnsiString und AnsiChar Werten

  Alt 6. Sep 2011, 14:48
nicht korrekt heißt das mir die umlaute als "hyroglyphen" angezeigt werden z.b. wird beim "ä" ein großes a + enter zeichen ausgegeben und über das utf8toansi kann ich mir das wieder als ä anzeigen lassen
Wie sind die Hex-Werte dieser Zeichen?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

AW: Umwandlung von AnsiString und AnsiChar Werten

  Alt 6. Sep 2011, 14:53
so hier jetzt mal ein konkretes bsp.

im dbgrid wird mir
"Test äöüß"

anstatt
"Test äöüß"

angezeigt

über utf8toansi kann ich mir den wert aber wieder zurück konvertieren damit mir "Test äöüß" angezeigt wird...
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

AW: Umwandlung von AnsiString und AnsiChar Werten

  Alt 6. Sep 2011, 16:14
dank der hilfe eines kollegens funktioniert die konvertierung jetzt

so gehts:
Delphi-Quellcode:
var
pData: PAnsiChar;
sData: String;
sAnsiData: AnsiString;

...

sData := SQLite3_Column_text(theStatement, i);
sData := UTF8ToAnsi(sData);
sAnsiData := AnsiString(sData);
pData := PAnsiChar(PAnsiString(sAnsiData));
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Umwandlung von AnsiString und AnsiChar Werten

  Alt 6. Sep 2011, 16:30
Du castest einen AnsiString in einen PAnsiString?
  • AnsiString = Zeiger auf seine Daten (Chars und Zusatzinfos)
  • PAnsiString = Zeiger auf den Zeiger auf seine Daten/Chars
  • PAnsiChar = Zeiger auf Char/CharArray

Was hat SQLite3_Column_text für einen Result-Type?
Wie ist der kodiert? (ANSI, UTF-8 oder ANSI)

Und welches Format braucht pData?
PWideChar, PAnsiChar+ANSI oder PAnsiChar+UTF-8



Delphi-Quellcode:
sAnsiData := UTF8ToAnsi(SQLite3_Column_text(theStatement, i));
pData := PAnsiChar(sAnsiData);
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 6. Sep 2011 um 16:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: Umwandlung von AnsiString und AnsiChar Werten

  Alt 6. Sep 2011, 16:33
ja da mir keine andere lösung eingefallen ist...

der rückgabe wert von SQLite3_Column_text steht im source meines ersten beitrages...
der typ für pdata steht in den deklarationen
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz