FreePascal Text in Grafik
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
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
-
- Beiträge: 153
- Registriert: Sa 30. Jan 2010, 18:17
- OS, Lazarus, FPC: Windows 10 64Bit/ lazarus 3.0 mit FPC 3.2.2 (32Bit + 64bit)
- CPU-Target: 64Bit
- Wohnort: Berlin
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.
Ganz ohne Umbau wirst du damit nicht davon kommen, aber sollte sich in Grenzen halten.
-
- Beiträge: 6160
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
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 grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6160
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
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.
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 grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
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
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
-
- Beiträge: 6160
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
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:
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 grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: FreePascal Text in Grafik
Super ! Danke, danke , danke !
Genau diese Info fehlte mir. Es funktioniert!
Gruß
Peter
Genau diese Info fehlte mir. Es funktioniert!
Gruß
Peter
-
- Beiträge: 6160
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
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.
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 grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
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
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
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
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