AGB  ·  Datenschutz  ·  Impressum  







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

Delphi7 mit nur einer Unit Unicode fähig machen

Ein Thema von derMischka · begonnen am 10. Jun 2013 · letzter Beitrag vom 22. Okt 2019
 
somby

Registriert seit: 21. Jun 2016
12 Beiträge
 
#32

AW: Delphi7 mit nur einer Unit Unicode fähig machen

  Alt 17. Aug 2016, 09:23
Hallo "derMischka",
schön, dass du wieder mal an der Unit oWinApiUnicode.pas
gearbeitet hast. Zu deiner Version habe ich auch noch
einiges ergänzt:

- TextOut
- PeekMessage
- GetTextExtentExPoint

Beim testen mit einer kyrillischen Bildschirmtastatur
fiel mir auf, dass keine WideChar-Tastencodes ankamen.
Das lag daran, dass Delphi7 in der Klasse TWinControl der
Unit Controls in der Botschaft WM_CHAR die protected Funktion
DoKeyPress aufruft, die wiederum KeyPress aufruft und hier das
WideChar auf Char beschneidet.
Um das zu umgehen, wurde in der Klasse TWinControl die Botschaft
WM_CHAR durch eine Hilfsklasse TChWinControl neu belegt.
Bei der Verwendung von OnKeypress kann, obwohl nur
ein Char übergeben wird, trotzdem das WideChar abgefragt werden:
z.B.:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
var UniKey: WideChar absolute Key;
begin
....
end;

Ich nutze oWinApiUnicode schon seit einiger Zeit mit gutem
Erfolg.

Noch eine kleine Bemerkung betrifft meine vielleicht eigenartige
Blockstruktur im Quellcode (begin am ende usw.), z.B.:

if ... then begin
...
end;


Ich nutze diese
Struktur schon seit vielen Jahren mit gutem Erfolg, da diese Struktur im Gegensatz
zu
if ... then
begin
...
end;
eine sehr gute Blocklesbarkeit garantiert. Also bitte nicht ärgern wenn das
für dich und die anderen Nutzer etwas merkwürdig erscheint.

Viele Grüße
Somby
Angehängte Dateien
Dateityp: zip oWinApiUnicode.zip (17,8 KB, 8x aufgerufen)
  Mit Zitat antworten Zitat
 

 

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 01:53 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