AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi QuickReport drucken von polnischen Zeichen
Thema durchsuchen
Ansicht
Themen-Optionen

QuickReport drucken von polnischen Zeichen

Ein Thema von handson · begonnen am 10. Sep 2020 · letzter Beitrag vom 10. Sep 2020
Antwort Antwort
handson

Registriert seit: 18. Jan 2007
Ort: Delmenhorst
113 Beiträge
 
Delphi 2007 Professional
 
#1

QuickReport drucken von polnischen Zeichen

  Alt 10. Sep 2020, 14:24
Hallo!

Hat jemand Erfahrung mit QuickReport und polnischen Zeichen? Es ist ja ein anderer Zeichensatz. Wie kann ich ihm das beibringen, dass er die Zeichen richtig druckt. Beispiel, es gibt ja das durchgestrichene " ł ". Übergebe ich das so in der Property, macht er im Ausdruck ein normales " l " draus.
Kann er das nicht, ob muss man irgendwo noch was einstellen, andere Schriftart, o.ä.?

Vielen schon mal vorab!

Gruß,
Stephan
Stephan Faust
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: QuickReport drucken von polnischen Zeichen

  Alt 10. Sep 2020, 14:57
Update auf D2009 und neuer und das Problem hat sich erledigt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
handson

Registriert seit: 18. Jan 2007
Ort: Delmenhorst
113 Beiträge
 
Delphi 2007 Professional
 
#3

AW: QuickReport drucken von polnischen Zeichen

  Alt 10. Sep 2020, 15:00
Tja, ich habe D2007 und ich kann nicht so einfach updaten. Gibt es nicht eine Lösung für ältere Versionen?
Stephan Faust
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#4

AW: QuickReport drucken von polnischen Zeichen

  Alt 10. Sep 2020, 15:44
Zeichensatz Windows-1250

Geht sowas? Quickreport.Font.Charset := EASTEUROPE_CHARSET; Bei Google suchenDelphi EASTEUROPE_CHARSET
  Mit Zitat antworten Zitat
handson

Registriert seit: 18. Jan 2007
Ort: Delmenhorst
113 Beiträge
 
Delphi 2007 Professional
 
#5

AW: QuickReport drucken von polnischen Zeichen

  Alt 10. Sep 2020, 16:34
Das war ein gutes Hinweis! Jetzt funktioniert es!

Delphi-Quellcode:
:
:

  QRLabel15.Font.Charset := BALTIC_CHARSET;
:
:

procedure TDruckLieferscheinNeu.QRLabel15Print(sender: TObject;
  var Value: string);
begin
  If Lk = 'PLThen Value := 'Kwota '+Chr($F9)+Chr($E0)+'czna PLN'; // Kwota łączna PLN
end;
Vielen Dank!

Gruß,
Stephan
Stephan Faust
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: QuickReport drucken von polnischen Zeichen

  Alt 10. Sep 2020, 17:10
Wenn Windows oder zumindestens die Delphi-IDE und der Compiler mit der "passenden" CodePage laufen, dann könntest du auch direkt abeiten,
Value := 'Kwota łączna PLN';
so wie es seit Delphi 2009 durchgängig funktioniert, wenn die PAS als Unicode (z.B. UTF-8) gespeichert wird.

Value := 'Kwota '#$F9#$E0'czna PLN';

#zzz
#$xx
#$00xx // mathematisch macht es keinen Unterschid, aber für den Compiler schon
Chr($xx)
Char($xx)
WideChar($xx)

Bei AnsiChars und UnicodeChars im Code mußt du auch aufpassen wie und ob der Compiler da CodePages beachtet und womöglich übersetzt.
z.B. #$0085 und #$85 in einem UnicodeString sind nicht das Selbe, denn einmal wird es als UnicodeChar betrachtet und 1:1 übernommen, während es anderseits also ANSI angesehn und convertiert würde.
Einiges wird im Editor übersetzt (hier egal, wenn du dort nur mit ASCII arbeitest und Chars nur Ordinal [INT oder HEX] deklarierst),
anderes wird bereits vom Compiler behandelt/convertiert, also auf deinem PC,
und zuletzt kann es auch erst zur Laufzeit behandelt/convertiert werden, also auf dem Zielrechner.

Das betrifft auch deinen aktuellen Quellcode, falls du doch irgendwann mal auf ein neues Delphi umsteigst,
denn das was jetzt noch ANSI mit entsprechender Codepage darstellt, könnte später etwas Anderes sein. (Chr/Char = AnsiChar bis D2007, aber später wird es WideChar)

https://www.embarcadero.com/images/d...-migration.pdf
http://docwiki.embarcadero.com/RADSt..._in_RAD_Studio


Seit 2009 wird auch zur Laufzeit in der AnsiString-Variable die CodePage gespeichert und für Convertierungen verwendet.
Davor wird ausschließlich der Typ der Variable und nicht der aktuelle Inhalt dafür genutzt.
Den Grundtyp kann man bei der Deklaration angeben und teilweise auch später nochmal ändern. Delphi-Referenz durchsuchenSetCodePage

Delphi-Quellcode:
type
  CZString = AnsiString(1250);

var
  S: CZString;

S := 'Kwota '#$F9#$E0'czna PLN';


Der Vorteil beim Unicode ist, dass man sich nicht mehr so extrem mit CodePages auseinandersetzen muß,
wo jede Variable/Komponente mit einer anderen CodePage arbeiten könnte.
$2B or not $2B

Geändert von himitsu (10. Sep 2020 um 17:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: QuickReport drucken von polnischen Zeichen

  Alt 10. Sep 2020, 20:10
Tja, ich habe D2007 und ich kann nicht so einfach updaten.
Wieso den nicht?
(2 Mrd. Quellcodezeilen bei den angenommen wird das 1 Char = 1 Byte ist?
Oder einfach gar noch nicht versucht?

Gibt es nicht eine Lösung für ältere Versionen?
Die hast du jetzt.
Gehe davon aus das diese Wissen wegen mangelnder Notwendigkeit immer weniger Vorhanden sein wird.
Und die Zeit die du in Workarounds (die mal funktionieren und mal nicht) investierst, könntest du schon ein Delphi mit Generics, 64-Bit Compiler, ... haben.
Windows Vista - Eine neue Erfahrung in Fehlern.
  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 17:11 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