AGB  ·  Datenschutz  ·  Impressum  







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

Türkische Zeichen

Ein Thema von Bruzzler · begonnen am 29. Okt 2009 · letzter Beitrag vom 29. Okt 2009
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von himitsu
himitsu
Online

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

Re: Türkische Zeichen

  Alt 29. Okt 2009, 12:03
Zitat von Bruzzler:
Das mit UTF8ENcode funktioniert nicht, schon ausprobiert. Aber es muss doch auch ohne Fremdkomponenten gehen. Naja evtl. muss ich anders ansetzen.....
UTF8Encode bringt nur was, wenn die andere Seite auch das Unicode versteht, welches da rauskommt.
Und die VCL ist nunmal nur ANSI (bis D2007).

Der einzige Weg dort einen anderen "Zeichensatz" anzuzeigen, geht über .Font.CharSet
oder Man zeichent die Controls selber (OwnerDraw und Co.).
Dort kann man aus dem im AnsiString codierten Text, wie es beliebt, in Unicode umwandeln und dieses über unicodefähige DrawText-Funktionen selber ausgeben.

Oder man tauscht eben die Komponenten aus.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#12

Re: Türkische Zeichen

  Alt 29. Okt 2009, 12:17
Zitat von himitsu:
Wenn du einen passenden CharSet findest (siehe ersten verlinken Thread), dann kannst du es auch darüber versuchen.
  myComponent.Font.CharSet := TURKISH_CHARSET;
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Türkische Zeichen

  Alt 29. Okt 2009, 12:39
Zitat von Tyrael Y.:
  myComponent.Font.CharSet := TURKISH_CHARSET;
OK, die Delphi 7 IDE kannte es noch nicht (könnte man sich aber selbstdefinieren)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#14

Re: Türkische Zeichen

  Alt 29. Okt 2009, 13:24
Zitat von Bruzzler:
Naja nachrüsten, ist eben nicht so einfach und es geht nicht um eine WEB Anwendung......
Also eine Anwendung im IIS? Oder nur eine Anwendung die Webseiten darstellen kann?

Zitat von Bruzzler:
Das mit UTF8ENcode funktioniert nicht, schon ausprobiert.
UTF8Encode/Decode funktioniert schon seit D6. Was machst du genau?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Bruzzler

Registriert seit: 29. Okt 2009
9 Beiträge
 
#15

Re: Türkische Zeichen

  Alt 29. Okt 2009, 13:53
Zitat von Bernhard Geyer:
Zitat von Bruzzler:
Naja nachrüsten, ist eben nicht so einfach und es geht nicht um eine WEB Anwendung......
Also eine Anwendung im IIS? Oder nur eine Anwendung die Webseiten darstellen kann?
KEINE WEB ANWENDUNG!!!!!!

Zitat von Bruzzler:
Das mit UTF8ENcode funktioniert nicht, schon ausprobiert.
Zitat von Bernhard Geyer:
UTF8Encode/Decode funktioniert schon seit D6. Was machst du genau?
Ich habe mehrere Sachen getestet:

Delphi-Quellcode:
var
  temp: widestring;

begin

 temp := UTF8ENCODE('Türkische Zeichen');
 Label1.Caption := temp;
end
Delphi-Quellcode:
var
  temp: string;

begin

 temp := UTF8ENCODE('Türkische Zeichen');
 Label1.Caption := temp;
end
Delphi-Quellcode:
var
 temp: widestring;
 temp2: string;
begin

 temp := 'Türkische Zeichen';
 temp2 := UTF8ENCODE(temp);
 Label1.Caption := temp2;
end
Delphi-Quellcode:
begin
 Label1.Caption := UTF8ENCODE('Türkische Zeichen');
end
Kommt nur "Müll" raus.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: Türkische Zeichen

  Alt 29. Okt 2009, 14:00
Zitat von Bruzzler:
KEINE WEB ANWENDUNG!!!!!!
Blöder Zeilenumbruch

Zitat von Bruzzler:
temp := UTF8ENCODE('Türkische Zeichen');
Die Pas-Dateien werden alls Unicode/UTF8-Technisch gespeichert. Ich würde mal fast darauf tippen das u.U. hier schon der Compiler mist baut.
Was passiert hier:

Delphi-Quellcode:
var
temp: widestring;
temp2: string;
begin

temp := 'Türkische Zeichen';
temp2 := UTF8ENCODE(temp);
Label1.Caption := temp + ' -> ' + temp2;
Und welche Codepage hat dein Windows? Die Zuweisung String := WideString könnte eine zerstörende Codepagewandlung verursachen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Türkische Zeichen

  Alt 29. Okt 2009, 14:00
Ein normales Label kann auch keinen UTF8-(Unicode) anzeigen
Markus Kinzler
  Mit Zitat antworten Zitat
Bruzzler

Registriert seit: 29. Okt 2009
9 Beiträge
 
#18

Re: Türkische Zeichen

  Alt 29. Okt 2009, 14:09
Zitat von mkinzler:
Ein normales Label kann auch keinen UTF8-(Unicode) anzeigen
Sicher? Das erklärt einiges....*g*

Zitat von Bernhard Geyer:

Zitat von Bruzzler:
temp := UTF8ENCODE('Türkische Zeichen');
Die Pas-Dateien werden alls Unicode/UTF8-Technisch gespeichert. Ich würde mal fast darauf tippen das u.U. hier schon der Compiler mist baut.
Was passiert hier:

Delphi-Quellcode:
var
temp: widestring;
temp2: string;
begin

temp := 'Türkische Zeichen';
temp2 := UTF8ENCODE(temp);
Label1.Caption := temp + ' -> ' + temp2;
MH....kommt der gleiche Müll raus, aber laut mkinzler gehts ja eh nicht.

D.h. aber Türkisch muss sich auch ohne Unicode darstellen lassen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Türkische Zeichen

  Alt 29. Okt 2009, 14:17
jupp, UTF-8 kann die VCL nicht anzeigen ... alles was sie bekommt, wird als ANSI angesehn (egal was drinnen ist) und dieses wird dann von Windows über den gewählten CharSet interpretiert.

Und Unicode/WideString wird nach ANSI umgewandelt, wofür die aktuelle Standard-Codepage verwendet wird, welche in einem deutschen Windows natürlich deutsch spricht.

theoretischer Code:
wie gesagt, du mußt das schon selber in den gewünschen Zeichensatz umwandeln
und jetzt muß man nun noch die passende CodePage zum entsprechenden CharSet rausfinden.
Delphi-Quellcode:
var U: WideString;
  S: AnsiString;
  C: LongWord;
  i: Integer;

begin
// dieses besser gleich im OI einstellen
Label1.Font.CharSet := TURKISH_CHARSET;

U := 'türkische Zeichen';
C := 28599 {ISO 8859-9 Turkish};
//C := 1254 {ANSI Turkish; Turkish (Windows)};

i := WideCharToMultiByte(C, 0, PWideChar(U), -1, nil, 0, '?', nil);
SetLength(S, i - 1);
WideCharToMultiByte(C, 0, PWideChar(U), -1, PAnsiChar(S), i, '?', nil);
//Label1.Font.CharSet := TURKISH_CHARSET;
Label1.Caption := S;

Du willst praktisch das machen, was ich dort mit dem Chinesischen versucht hab:
(ein paar Posts weiter ist auch der QuellCode)
http://www.delphipraxis.net/internal...090323#1090323
und nun mußt du noch deinen Text in die passende Codepage/Charset umwandeln.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#20

Re: Türkische Zeichen

  Alt 29. Okt 2009, 14:18
Zitat von Bruzzler:
MH....kommt der gleiche Müll raus, aber laut mkinzler gehts ja eh nicht.
Ganz vergessen. Nach 7 Jahren ElPack weiß ich fast gar nicht mehr das Delphi 6 kein Unicode kann

Zitat von Bruzzler:
D.h. aber Türkisch muss sich auch ohne Unicode darstellen lassen.
Auf einem Türkischen rechner kein Problem - aber mit Codepages/Charsets keine Chance. Das ist eine Krückenlösung die nur teilweise funktioniert.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 20:50 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