Forum: PC-Programmierung Hilfe bei Free Pascal-Lazarus


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Wolfgang S. (wsm)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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)


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

von c-hater (Gast)


Bewertung
-1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Frage im deutschsprachigen Lazarus-Forum. Dort gibt es kompetente Leute.

von W.S. (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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_)


Bewertung
0 lesenswert
nicht 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:
  • preview image for fp.png
    fp.png
    72,9 KB, 163 Downloads

Bewertung
0 lesenswert
nicht 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?
user@HPi7:~$ fpc sunset2.pas 
Free Pascal Compiler version 3.0.4+dfsg-18ubuntu1 [2018/07/02] for x86_64
Copyright (c) 1993-2017 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling sunset2.pas
sunset2.pas(17,3) Fatal: Cannot open include file "C:/USERS/SM64/DESKTOP/ASTROP"
Fatal: Compilation aborted
Error: /usr/bin/ppcx64 returned an error exitcode
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)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.