AGB  ·  Datenschutz  ·  Impressum  







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

Sonderzeichen in TEdits (Charset?)

Ein Thema von uligerhardt · begonnen am 2. Nov 2010 · letzter Beitrag vom 3. Nov 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#1

Sonderzeichen in TEdits (Charset?)

  Alt 2. Nov 2010, 12:17
Wir haben eine ältere Prä-Unicode-Anwendung, die mittlerweile auf D2007 portiert ist. In dieser kann der Anwender auswählen, welches Charset für TEdits verwendet wird. Wenn der Benutzer (auf einem deutschen System) z.B. Russisch auswählt und dann äöüÄÖÜß eintippt, sieht das im Edit wie im Anhang aus - soweit so gut. Jetzt versuche ich dieses Verhalten in einer "jungfräulichen" D2007-VCL-Anwendung nachzuvollziehen (Form1 mit einem Edit1 drauf) und kriege es nicht hin. Offensichtlich reicht ein
  Edit1.Font.Charset := RUSSIAN_CHARSET;
nicht aus. Habt ihr eine Idee, was ich da vergessen habe? Im Quelltext der Anwendung, wo es funktioniert, springt mir leider nichts einschlägiges ins Auge.
Angehängte Grafiken
 
Uli Gerhardt
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

AW: Sonderzeichen in TEdits (Charset?)

  Alt 2. Nov 2010, 17:11
Bei meinem Delphi 5 funktioniert das auf Abhieb nur durch Umstellen von Font.Charset im Objektinspektor.
Natürlich muss dein Windows auch ClearType- oder Truetype-Fonts installiert haben, bei denen die russischen Zeichen enthalten sind.
Die Codepage 1251 Cyrilic wird nicht von jedem Font unterstützt.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Sonderzeichen in TEdits (Charset?)

  Alt 2. Nov 2010, 17:33
Bei meinem Delphi 5 funktioniert das auf Abhieb nur durch Umstellen von Font.Charset im Objektinspektor.
Natürlich muss dein Windows auch ClearType- oder Truetype-Fonts installiert haben, bei denen die russischen Zeichen enthalten sind.
Die Codepage 1251 Cyrilic wird nicht von jedem Font unterstützt.
Im konkreten Fall ist der Font in beiden Fällen Courier New.
Kannst du bitte mal dein Projekt anhängen, am besten Quelltext + Exe, damit ich es mal auf meinem System laufen lassen kann?
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Sonderzeichen in TEdits (Charset?)

  Alt 2. Nov 2010, 17:56
Die Codepage 1251 Cyrilic wird nicht von jedem Font unterstützt.
Wahrscheinlich klemmt es hier.

Ohne den richtigen Font bist mit der Codepage ziemlich verloren.

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

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Sonderzeichen in TEdits (Charset?)

  Alt 2. Nov 2010, 18:03
Die Codepage 1251 Cyrilic wird nicht von jedem Font unterstützt.
Wahrscheinlich klemmt es hier.

Ohne den richtigen Font bist mit der Codepage ziemlich verloren.
Wenn ich im Debugger nichts übersehen habe, ist der Font sowohl im funktionierenden als auch im nichtfunktionierenden Fall Courier New, und das Charset in beiden Fällen 204 aka RUSSIAN_CHARSET.
Uli Gerhardt
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

AW: Sonderzeichen in TEdits (Charset?)

  Alt 2. Nov 2010, 18:08
Demo-Programm im Anhang.
Courier New unterstützt die Codepages auf meinem System (Windows XP SP3).
Angehängte Dateien
Dateityp: zip CharsetTest.zip (163,5 KB, 5x aufgerufen)
Andreas

Geändert von shmia ( 2. Nov 2010 um 18:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#7

AW: Sonderzeichen in TEdits (Charset?)

  Alt 2. Nov 2010, 18:20
Demo-Programm im Anhang.
Danke!
Ich hab's jetzt rausgefunden - es ist das Theming.
Ein XPMan ins uses deines Testprogramms und bumm - nix mehr Kyrillisch.
Na, mal schauen, ob man da was machen kann...

Update: Ich bin nicht der Einzige mit dem Problem:
http://groups.google.de/group/borlan...59cb953c3e502/
http://groups.google.de/group/borlan...11b795ea52aee/
Eine Lösung habe ich aber noch nicht gefunden.
Uli Gerhardt

Geändert von uligerhardt ( 2. Nov 2010 um 18:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Sonderzeichen in TEdits (Charset?)

  Alt 2. Nov 2010, 21:28
Wenn du kein Win9x/ME benötigst nimm die letzte freie Version der TNTWare-Kompos (oder die neuen von TMS) und schmeiß die Codepage/Charset-Krücke weg.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#9

AW: Sonderzeichen in TEdits (Charset?)

  Alt 2. Nov 2010, 21:56
Wenn du kein Win9x/ME benötigst nimm die letzte freie Version der TNTWare-Kompos (oder die neuen von TMS) und schmeiß die Codepage/Charset-Krücke weg.
Da hätte ich mal ne Frage - hab leider kein Delphi hier, um's auszuprobieren: Der Benutzer kann dann in ein TNT-Edit das komplette Unicode-Spektrum eingeben, sagen wir auf einem russischen System auch griechische oder türkische (chinesische? arabische?) Zeichen, richtig? Was passiert dann, wenn ich die ohne irgendwelche Umcodierungen direkt als AnsiString (genauer gesagt als string[N]) speichere, also:
Delphi-Quellcode:
type
  TMyStoredRecord = record
    EinString: string[50];
  end;
var
  rec: TMyStoredRecord;
begin
  rec.EinString := TntEdit1.Text;
...
Das ist ja wohl verlustbehaftet. Kann mas das TNT-Edit irgendwie veranlassen, nur "passende" Eingaben zuzulassen? Und wenn wir schon dabei sind: Wie wäre das mit einem Unicode-VCL-TEdit?
Uli Gerhardt
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Sonderzeichen in TEdits (Charset?)

  Alt 2. Nov 2010, 21:58
Der Inhalt solcher Komponenten ist dann WideString.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:05 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