Font Daten, Drucker Auflösung

Font Daten, Drucker Auflösung

Beitragvon Heinrich Wolf » 24. Mai 2011, 12:28 Font Daten, Drucker Auflösung

Hallo,

in Delphi 5 unter Windows benutze ich z.B.:

GetOutlineTextMetrics(Canvas.Handle, sizeof(Metric), Metric);
GetDeviceCaps(Printer.Handle, LogPixelsY);

Was sind die Äquivalente, um die Anwendung auf Lazarus unter Linux zu migrieren?

Vielen Dank im voraus
Heiner
Heinrich Wolf
 
Beiträge: 323
Registriert: 12. Apr 2011, 12:21
Wohnort: Fürth
OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1 | 
CPU-Target: 1core 1,8GHz 32Bit
Nach oben

Beitragvon Heinrich Wolf » 24. Mai 2011, 12:49 Re: Font Daten, Drucker Auflösung

Es geht um das Migrieren folgender Windows Anwendung:
http://www.Wolf-Fuerth.de/cal1_de.htm
http://www.Wolf-Fuerth.de/cal_zip.exe

Wenn GetOutlineTextMetrics() unter Windows fehlschlägt, benutze ich ersatzweise
Canvas.TextHeight('Üg') * 25 div 20;
Ich brauche es, um einen sauberen Zeilenabstand für Canvas.TextOut() zu berechnen.

Für GetDeviceCaps() habe ich keinen Ersatz.
Ich brauche es, um das Vorschaufenster sauber zu zeichnen, wenn der Benutzer in der Anwendung ein Layout bearbeitet.
Heinrich Wolf
 
Beiträge: 323
Registriert: 12. Apr 2011, 12:21
Wohnort: Fürth
OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1 | 
CPU-Target: 1core 1,8GHz 32Bit
Nach oben

Beitragvon monta » 24. Mai 2011, 13:33 Re: Font Daten, Drucker Auflösung

Dafür gibt es eine entsprechende Unit in Lazarus:

Code: Alles auswählen
uses Printers;
 //...
  Printer.SetPrinter(Printer.Printers[0]);
  Showmessage(IntToStr(Printer.XDPI) + ',' + IntToStr(Printer.YDPI));


Bei SetPrinter muss natürlich der entsprechende Name des Druckers noch eingefügt werden. Printer.Printers liefert automatisch eine Liste aller Drucker.

alternativ:
Code: Alles auswählen
if PrintDialog1.Execute then
  Showmessage(IntToStr(Printer.XDPI) + ',' + IntToStr(Printer.YDPI));
Johannes
monta
Lazarusforum e. V.
 
Beiträge: 2843
Registriert: 9. Sep 2006, 17:05
Wohnort: Dresden
OS, Lazarus, FPC: Winux (L trunk FPC trunk) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Heinrich Wolf » 24. Mai 2011, 18:35 Re: Font Daten, Drucker Auflösung

Das ist ja klasse, dass es eine Property von Printer ist. In Delphi 5 gibt's die nicht.
Heinrich Wolf
 
Beiträge: 323
Registriert: 12. Apr 2011, 12:21
Wohnort: Fürth
OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1 | 
CPU-Target: 1core 1,8GHz 32Bit
Nach oben

• Themenende •

Zurück zu Linux



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried