FreePascal Text in Grafik

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut

FreePascal Text in Grafik

Beitragvon Peter-1 » 26. Jan 2018, 17:59 FreePascal Text in Grafik

Hallo zusammen,

ich bin ganz neu hier und habe ein kleines Problem.
Leider benötige ich einige alte TurboPascal Programme welche z.Zt. noch gut unter WIN XP laufen. Aber leider nicht unter WIN 7 64bit.
Also habe ich FreePascal geladen. Es läuft soweit gut wenn ich im Textmodus bleibe. Gehe ich in den Grafikmode, so gibt es nur eine Schrift. Die bisherigen Schriften über "setTextStyle" einzugeben hat kein Erfolg. Welche Möglichkeit besteht ?

Ich würde mich über Hilfe freuen.
Peter
Peter-1
 
Beiträge: 5
Registriert: 26. Jan 2018, 17:50

Beitragvon Thandor » 26. Jan 2018, 18:07 Re: FreePascal Text in Grafik

Um Grafikprogramme aus Turbopascal-Zeiten mit Lazarus zu kompileieren nutze ich gerne die Unit WinGraph.
Ganz ohne Umbau wirst du damit nicht davon kommen, aber sollte sich in Grenzen halten.
Thandor
 
Beiträge: 118
Registriert: 30. Jan 2010, 18:17
Wohnort: Berlin
OS, Lazarus, FPC: Windows 10 64Bit/ lazarus 1.6 mit FPC 3.0.0 (32Bit) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 26. Jan 2018, 18:21 Re: FreePascal Text in Grafik

Also habe ich FreePascal geladen. Es läuft soweit gut wenn ich im Textmodus bleibe. Gehe ich in den Grafikmode, so gibt es nur eine Schrift. Die bisherigen Schriften über "setTextStyle" einzugeben hat kein Erfolg. Welche Möglichkeit besteht ?


Hast du dies auf diese Weise probiert ?
https://www.freepascal.org/docs-html/rt ... graph.html

Hast du noch die BGI-Dateien von TP ?
Evtl. geht es mit diesen.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4342
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 26. Jan 2018, 18:42 Re: FreePascal Text in Grafik

Ich habe es gerade mit folgendem Code unter WinXP getestet, sollte auch mit Win10 gehen.
Einzige Bedienung, du musst die Font-Dateien von Turbo-Pascal kopieren.
Für die Grafik-Ausgabe erfolgt in einem einfachen GDI-Fenster.
Code: Alles auswählen
program Project1;
uses
  Graph;
var
   gd,gm : SmallInt;
   PathToDriver : string;
begin
   gd:=detect;
   gm:=0;
   PathToDriver:=''; { path to BGI fonts, drivers aren't needed }
   InitGraph(gd,gm,PathToDriver);
   Line(0, 0, 100, 100);
   SetTextStyle(GothicFont, 0, 10);
   OutTextXY(10, 10, 'Hello World');
 
   ReadLn;
   CloseGraph; { restores the old graphics mode }
end.   
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4342
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Peter-1 » 26. Jan 2018, 19:46 Re: FreePascal Text in Grafik

Danke,

das macht Hoffnung !
Ich habe noch die *.CHR und die *.OBJ Dateien für die Schriften. Muß ich diese einbinden? Und wohin soll ich diese Dateien kopieren ?

Peter
Peter-1
 
Beiträge: 5
Registriert: 26. Jan 2018, 17:50

Beitragvon Mathias » 26. Jan 2018, 20:05 Re: FreePascal Text in Grafik

Du musst nur die CHR-Dateien kopieren, in meinem Beispiel GOTH.CHR.
Der Speicherort kannst du selbst bestimmen, der kannst du bei InitGraph angeben. Im Beispiel, hat es dort sogar einen Kommentar.

Das Einfachste ist, du kopierst den ganzen BGI-Ordner in dein Programm, dann würde es so ausssehen:
Code: Alles auswählen
   PathToDriver:='BGI'; { path to BGI fonts, drivers aren't needed }
   InitGraph(gd,gm,PathToDriver);
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4342
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Peter-1 » 27. Jan 2018, 00:06 Re: FreePascal Text in Grafik

Super ! Danke, danke , danke !

Genau diese Info fehlte mir. Es funktioniert!

Gruß
Peter
Peter-1
 
Beiträge: 5
Registriert: 26. Jan 2018, 17:50

Beitragvon Mathias » 27. Jan 2018, 16:42 Re: FreePascal Text in Grafik

Noch ein Hinweis, wen du anstelle von Graph ptcGraph nimmst, dann läuft es unter Windows und Linux.
Und wen man anstelle von detect zB. EGA nimmt, hat das Ausgabe-Fenster eine vernümftige Grösse.
Code: Alles auswählen
uses
  ptcGraph;
var
  gd, gm: smallint;
  PathToDriver: string;
begin
//  gd := detect;
  gd := EGA;
  gm := EGA64Hi;
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4342
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Peter-1 » 28. Jan 2018, 12:16 Re: FreePascal Text in Grafik

Danke Mathias,

habe es getestet und es geht auch. Aber ich nutze nun den 1024x768 modus und habe ein schönes Fenster. Wichtig für mich dass die Schriften funktionieren und die üblichen Befehle für die Grafik.

Peter
Peter-1
 
Beiträge: 5
Registriert: 26. Jan 2018, 17:50

Beitragvon Peter-1 » 29. Jan 2018, 10:43 Re: FreePascal Text in Grafik

Noch eine Frage.

Wenn ich die div. Schriften *.CHR in die Datei BGI stecke und diese Datei im gleichen Ordner, wo auch das Programm steht habe, so läuft alles wie gewünscht. Wie aber kann ich diese Schriften in das Programm mit einbinden, damit ich nicht immer diese BGI Datei auch dabei haben muß ? Gibt es da einen Weg ?
Peter
Peter-1
 
Beiträge: 5
Registriert: 26. Jan 2018, 17:50

• Themenende •

Zurück zu Freepascal



Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 2 Gäste

cron
porpoises-institution
accuracy-worried