Forum: PC-Programmierung Hilfe bei Free Pascal-Lazarus


von Wolfgang S. (wsm)


Angehängte Dateien:

Lesenswert?

Ich möchte ein altes PASCAL-Programm reaktivieren.

Der Compiler meckert nicht, aber ich benötige bei Free-PASCAL Eingabe- 
und Ausgabefenster.

Wie öffne bzw. erstelle ich diese in beiliegendem Beispiel?

Danke
W.

von test (Gast)


Lesenswert?

Bin mir nicht sicher was du meinst. Aber evtl. hilft das
http://wiki.freepascal.org/Console_Mode_Pascal

von c-hater (Gast)


Lesenswert?

Wolfgang S. schrieb:

> Der Compiler meckert nicht, aber ich benötige bei Free-PASCAL Eingabe-
> und Ausgabefenster.
>
> Wie öffne bzw. erstelle ich diese in beiliegendem Beispiel?

Also ich habe jetzt noch nicht wirklich viel mit Lazarus gemacht 
(nämlich praktisch garnix), aber ich würde mal davon ausgehen, dass der 
Trick ist, einfach ein geeignetes "Projekttemplate" zu wählen, nämlich 
irgendwas mit "Kommandozeile" oder "CLI" im Namen.

Und natürlich: das fertige Binary auch in der entsprechenden Umgebung 
laufen zu lassen, eben von der Kommandozeile. Dann IST nämlich diese 
Umgebung ganz automatisch sowohl das Eingabe- als auch das 
Ausgabefenster...

Warum kann ich das so vermuten, obwohl ich nie was mit Lazarus gemacht 
habe? Weil's schlicht logisch ist und in praktisch jeder 
(ernstzunehmenden) IDE für jede (ernstzunehmende) Sprache deshalb auch 
so oder zumindest ähnlich läuft...

von test (Gast)


Lesenswert?

Naja, unter Delphi funktionierte auch ein "AttachConsole" (um beim nicht 
Consolen Programm ne Console zu bekommen), aber ich glaube unter 
PreePascal geht das nicht.

Man kann auch nen normales Fenster mit ner Textbox öffnen und die 
Ausgaben dort reinschreiben.


Aber das einfachste ist einfach als Target gleich nen Consolen Programm 
zu erstellen. Ist im verlinkten Artikel ja beschrieben.

von Guido B. (guido-b)


Lesenswert?

Wolfgang S. schrieb:
> Wie öffne bzw. erstelle ich diese in beiliegendem Beispiel?

Erst Konsole öffnen (Eingabeaufforderung?) und darin das
compilierte .exe starten.

von Ernstl (Gast)


Lesenswert?

Frage im deutschsprachigen Lazarus-Forum. Dort gibt es kompetente Leute.

von W.S. (Gast)


Angehängte Dateien:

Lesenswert?

Wolfgang S. schrieb:
> Der Compiler meckert nicht, aber ich benötige bei Free-PASCAL Eingabe-
> und Ausgabefenster.

Tja, du mußt eben für die grafische Oberfläche ein Fenster aufmachen - 
und das in deinem Falle eben direkt auf dem API von Windows und ohne VCL 
etc.

Nimm die angehängte Quelle mal als Anregung, wie man das macht. Die 
Quelle ist so etwa 20 Jahre alt, ich hatte die damals mit Virtual Pascal 
gemacht und es ist das Frontend meines eigenen Assemblers für die PIC16 
Controller. Da du aber einen PIC-Crossassembler wohl nicht schreiben 
willst, hab ich den eigentlichen Assembler hier mal weggelassen.

Diese Frontend arbeitet stumm, wenn es mit Argumenten aufgerufen wird 
und es öffnet ein Fenster, wenn es ohne Argumente aufgerufen wird. Dann 
kann man sich ne Quelldatei aussuchen und übersetzen lassen.

Ich denk mal, die Unterschiede zwischen VP und FP sind nicht so riesig, 
so daß du es mit nur kleinen Änderungen zum Laufen kriegst.

W.S.

von Ernstl (Gast)


Lesenswert?

W.S. schrieb:
> Tja, du mußt eben für die grafische Oberfläche ein Fenster aufmachen -
> und das in deinem Falle eben direkt auf dem API von Windows und ohne VCL
> etc.

Ach Quark. Das sind Writelns und Readlns. Das geht in der Konsole und 
Lazarus kann das direkt nach dem Kompilieren starten.

Frag im Lazarus-Forum. Da gibt es kompetente Leute.

von Frank S. (_frank_s_)


Lesenswert?

Hallo Wolfgang,

leider habe ich deine includierten Dateien

(*$I C:\USERS\SM64\DESKTOP\ASTROPAS\MATH\SN.PAS         *)
(*$I C:\USERS\SM64\DESKTOP\ASTROPAS\MATH\CS.PAS         *)
(*$I C:\USERS\SM64\DESKTOP\ASTROPAS\MATH\QUAD.PAS       *)
(*$I C:\USERS\SM64\DESKTOP\ASTROPAS\TIME\MJD.PAS        *)
(*$I C:\USERS\SM64\DESKTOP\ASTROPAS\TIME\CALDAT.PAS     *)
(*$I C:\USERS\SM64\DESKTOP\ASTROPAS\TIME\LMST.PAS       *)
(*$I C:\USERS\SM64\DESKTOP\ASTROPAS\SUN\MINISUN.PAS     *)
(*$I C:\USERS\SM64\DESKTOP\ASTROPAS\MOON\MINIMOON.PAS   *)

nicht. Somit mault FreePascal. Sonst könnte ich mir einmal die 
Ein-/Ausgaben ansehen, denn entsprechende READLN/WRITELN-Aufrufe sind im 
Quelltext vorhanden. Es sollte somit in der Konsole mit Ein- und 
Ausgaben laufen.

MfG von der Spree
Frank

von 2⁵ (Gast)


Angehängte Dateien:

Lesenswert?

Wolfgang S. schrieb:
> Der Compiler meckert nicht, aber ich benötige bei Free-PASCAL Eingabe-
> und Ausgabefenster.
>
> Wie öffne bzw. erstelle ich diese in beiliegendem Beispiel?

In dem du auf der Console compilierst?
1
user@HPi7:~$ fpc sunset2.pas 
2
Free Pascal Compiler version 3.0.4+dfsg-18ubuntu1 [2018/07/02] for x86_64
3
Copyright (c) 1993-2017 by Florian Klaempfl and others
4
Target OS: Linux for x86-64
5
Compiling sunset2.pas
6
sunset2.pas(17,3) Fatal: Cannot open include file "C:/USERS/SM64/DESKTOP/ASTROP"
7
Fatal: Compilation aborted
8
Error: /usr/bin/ppcx64 returned an error exitcode
9
user@HPi7:~$

Leider kann ich es für dich nicht kompilieren, da fehlt Quelltext...

Du kannst auch von der Console fp starten, dann hast du die alte 
TurboPascal Oberfläche (siehe Bild)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.