Consolen Programm ?

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Consolen Programm ?

Beitrag von pluto »

Hallo,
ich habe bisher noch nicht wirklich ein eigenes Konsolen Programm mit Delphi oder Lazarus erstellt und habe jetzt einige Fragen dazu:
01 - Wie kann ich ein Fenster erzeugen und benutzen in einem Consolen Programm ?
02 - Wie kann ich eine Text Ausgabe machen ? Normalerweise doch mit writeln oder nicht ?
aber sobald ich die Unit Interfaces einbinde sehe ich keine Ausgabe.

Währe toll wenn mir jemand die Fragen beantworten kann....
...Ich habe schon gesucht aber Leider nix gefunden... :(
MFG
Michael Springwald

bembulak
Beiträge: 370
Registriert: Di 6. Feb 2007, 09:29
OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
CPU-Target: 32bit i386, ARM
Wohnort: Oberösterreich

Beitrag von bembulak »

Fenster in einem Consolen-Programm? Ich denke, du meinst die "Curses"-Lib. Ich weiß nicht, ob es die auch für FPC gibt (gehe aber stark davon aus).

Projekt/Neues Projekt/Konsolenanwendung. Mehr brauchts eigentich nicht. Oder du siehst dir die "richtigen Pascal"-Turtoriale an, was vielleicht gar nicht so schlecht wäre. Links dazu gibt es hier ja genug.

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Ja Fenster sowas wie bei den ganzen Dialog Programm die es für Linux gibt....
Danke für deine Antwort werde ich bei Gelegenheit Testen
MFG
Michael Springwald

bembulak
Beiträge: 370
Registriert: Di 6. Feb 2007, 09:29
OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
CPU-Target: 32bit i386, ARM
Wohnort: Oberösterreich

Beitrag von bembulak »

Lazarus und Freepascal haben die Batterien aber auch schon dabei!^^
Das lässt echt kein Wünsche offen.

http://www.freepascal.org/packages/ncurses.html" onclick="window.open(this.href);return false;
http://www.freepascal.org/docs-html/pac ... index.html" onclick="window.open(this.href);return false;

Zu finden unter Windows: ROOT\lazarus\fpc\2.2.0\source\packages\extra\ncurses

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Interfaces brauchst du für ne Konsolen Anwendung nicht.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

@bembulak
Danke ! Verstehe ich das richtig das es sich hiebei um eine Extra LIB handelt wegen der GUI ?
oder wird intern einfach GTK benutz ?

@Christian
Und wie könnte ich sonst auf GUI-Komponenten zugreifen ? z.b. auf ein From ?
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Ich denk du willst ne Konsolen Anwendung machen, da gibts keine GUI Komponenten und kein Form. ncursis kann dir ein Fenster aus schriftzeichen basteln weiter nix. Das ist gaaaanz weit weg von Forms und GUI.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Gut dann anders gefragt: Wie kann ich einen Text in die Console schreiben ?

Also ich starte das Programm der User wählt z.b. aus einer Liste einen Eintrag aus drück ok oder doppelclick dann dachte ich einfach nur an einen writeln befehl, doch leider wird der nicht angezeigt...

MIr geht es im Prinzip um folgendes:
Ich habe mehrer Forms jede Form hat eine Aufgabe die eine Zeigt eine Listbox mit zwei Buttons und einem Label an.

Das andere soll eine ListView anzeigen

ein weiters soll ein Edit Feld anzeigen und soweiter....

Aber ich brauche davon immer nur eins Pro Programm start....
Darum möchte ich die Fenster "Manuel" Installisieren...

Genau hier fangen die Probleme an: Die Create Anweisung erwartet eine Komponente, doch ich habe keine....

Im Prinzip möchte ich sowas wie die Dialog Varianten die es unter Linux gibt schreiben....
(Einfach nur aus lust und Laune) und um zu sehen wie das Intern alles geht...

Weil sowas habe ich bisher noch nie geschrieben.
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

So jetzt reichts wieder, schau dir den Kram wenigstens an.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Deine Antwort verstehe ich nicht. Ich habe doch mein Ziel genau beschrieben jetzt.
Und was genau soll ich mir jetzt anschauen ?
MFG
Michael Springwald

creed steiger
Beiträge: 958
Registriert: Mo 11. Sep 2006, 22:56

Beitrag von creed steiger »

pluto hat geschrieben:
Also ich starte das Programm der User wählt z.b. aus einer Liste einen Eintrag aus drück ok oder doppelclick dann dachte ich einfach nur an einen writeln befehl, doch leider wird der nicht angezeigt...
Wo wird dein writeln nicht angezeigt?

Und vorallem,was hat eine Listbox etc. mit einer
Konsolenanwendung zu tun?

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Eigentlich nix. aber wenn ich auf einen Button Drücke möchte ich gerne eine Ausgabe in der Console haben wo das Programm gestartet wurde.... und die habe ich mit Writeln leider nicht....
MFG
Michael Springwald

bembulak
Beiträge: 370
Registriert: Di 6. Feb 2007, 09:29
OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
CPU-Target: 32bit i386, ARM
Wohnort: Oberösterreich

Beitrag von bembulak »

Lieber Pluto, ehrlich gesagt verstehe ich dich auch nicht und kann da ein wenig nachvollziehen, wenn dem Christian der Kragen platzt.

Und wie ich schon mal erwähnte: es ist sehr schwer deinen Ausführungen zu folgen, weil sie ... nunja, "schwammig" sind. Auch habe ich manchmal das Gefühl, dass dir teilweise der Background fehlt. Aber gut.
Ich habe mir hier mal zusammengereimt, was du meinen _könntest_. So vermute ich eben:
Verstehe ich das richtig das es sich hiebei um eine Extra LIB handelt wegen der GUI ?
oder wird intern einfach GTK benutz ?

GTK ist ein GUI-Toolkit. Aus und Punkt. Das kann man "intern" nicht benutzen und dann nach aussen in der Konsole "malen". NCurses ist eine eigene Lib, die es dir ermöglicht in der Konsole rudimentäre GUI-Elemente zu erzeugen. Falls du sowas noch nicht gesehen hast, es sieht in etwa so aus:

Bild


Die guten alten Installer waren so, unter Suse gab (gibt?) es den nCurses-Yast, andere erinnern sich vielleicht an den NortonCommander, oder gar an Turbo Pascal.
Wie kann ich einen Text in die Console schreiben ?
Mit Writeln(). Aber wenn die Curses erst mal initialisiert sind, dürfte das eigentlich nicht mehr gehen. Dann müsstest du schon ein Curses-Textfeld, Label oder was auch immer anlegen, wo du deinen Text reinschreibst. Ist doch klar, oder??
Also ich starte das Programm der User wählt z.b. aus einer Liste einen Eintrag aus drück ok oder doppelclick dann dachte ich einfach nur an einen writeln befehl, doch leider wird der nicht angezeigt...
Häh?? Ich habe kein Wort verstanden.
Nochmal: du hast eine normale Form (ich rede jetzt nicht von Curses sondern von LCL,...) mit Komponenten drin und möchtest irgendwelche Sachen in der Konsole ausgeben?

Wenn du eine nCurses-"Form" mit gemalten Elementen meinst, siehe oben: wenn Curses läuft, dürfte AFAIK ein writeln nicht mehr gehen. Du musst dir schon ein Textfeld bauen.
Darum möchte ich die Fenster "Manuel" Installisieren...
Wrong input, please try again. Wer ist Manuel??
So jetzt reichts wieder, schau dir den Kram wenigstens an.
Ja, ich hab dir die Links oben gepostet. Lies doch mal die Beispiele, nimm dir ne Stunde Zeit und frage einen guten Freund oder lies auf Wikipedia oder noch besser auf der Curses-Website, worum es geht, usw. Dann hast du mal etwas Background. Andere Möglichkeiten wäre dann nocht Tutoriale, vielleicht hilft dir das weiter:
http://invisible-island.net/ncurses/" onclick="window.open(this.href);return false;
http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/" onclick="window.open(this.href);return false;
Immerhin gibt es dazu ein deutschsprachiges Wikibook: http://de.wikibooks.org/wiki/Ncurses" onclick="window.open(this.href);return false;

Ich habe doch mein Ziel genau beschrieben jetzt.
Nein, das finde ich nicht. Sorry, ich verstehe mittlerweile echt nicht mehr, was du willst.
Eigentlich nix. aber wenn ich auf einen Button Drücke möchte ich gerne eine Ausgabe in der Console haben wo das Programm gestartet wurde.... und die habe ich mit Writeln leider nicht....
Wenn es sich um eine "normale" Lazarus Anwendung handelt, dann schon. Immerhin wissen wir ja schon, dass man WriteLn für Debug-Zwecke nutzen kann.
Also Pluto, bitte: sei doch so freundlich und informier dich ein wenig und mache von mir aus einen neuen Thread auf und sage uns ganz klar und deutlich, was du willst.
Mir scheint manchmal, du kennst deine eigenen Ziele nicht, da du sie nicht in Worte fassen kannst.
Beispiel oben: ich kann nicht unterscheiden, ob du GUI-Anwendungen meinst, oder nCurses-Anwendungen. Und das, obwohl wir schon im 2ten Post dieses Threads festgestellt haben, dass es sich "wahrscheinlich" bei dem, was du meinst um die Curses handelt.

Anders wird es echt schwierig dir zu helfen. Am Ende bekommst du noch den Titel eines Trolls. Das wäre schade. Foren sind doch dazu da, um sich zu helfen. Ich für meinen Teil würde das auch gerne, das geht aber nur, wenn du uns mit den richtigen Infos versorgst:
  • richtiger Inhalt nach bestem Wissen und Gewissen
  • richtige Sprache nach bestem Wissen und Gewissen
Danke.

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Mit Writeln(). Aber wenn die Curses erst mal initialisiert sind, dürfte das eigentlich nicht mehr gehen. Dann müsstest du schon ein Curses-Textfeld, Label oder was auch immer anlegen, wo du deinen Text reinschreibst. Ist doch klar, oder??
So ganz verstehe ich dich nicht, ich möchte doch nur wenn ich auf einen Button Klicke das er was in die Console schreibt.... nicht in ein Label oder sonst wo. Ich rufe eine Konsole auf und klicke dann auf OK dann soll er ein Text zurückgeben/schreiben
Häh?? Ich habe kein Wort verstanden.
Nochmal: du hast eine normale Form (ich rede jetzt nicht von Curses sondern von LCL,...) mit Komponenten drin und möchtest irgendwelche Sachen in der Konsole ausgeben?
RICHTIG, ich möchte was in die Konsole schreiben....
Darum möchte ich die Fenster "Manuel" Installisieren...

Wrong input, please try again. Wer ist Manuel??
ich verstehe zwar deine Antwort nicht so wirklich aber ich glaube du hast mich hier nicht verstanden.
Ich starte das Programm und immer ist nur ein Fenster sichtbar je nach dem welchen Parameter ich angeben habe gebe ich --ShowList an soll ein Fenster mit einer Listbox erscheinen gebe ich --ShowEdit ein soll ein Fenster mit einen Edit drauf erscheinen und soweiter...

Von diesen Dialogen werde ich einige Haben, jetzt wollte ich nur das Installisieren in der Projekt Datei(lpr) was ich auch brauche weiter nicht

halt so wie Dialog oder auch kDialog... unter Linux.

die habe ich mir angesehen Curses-Website leider komplet auf Englisch und sehr wenig text der mit weiter Hilft.

und das ist auch nicht das was ich wollte
Also Pluto, bitte: sei doch so freundlich und informier dich ein wenig und mache von mir aus einen neuen Thread auf und sage uns ganz klar und deutlich, was du willst.
Ich versuche meine Frage immer so genau zu beschreiben wie es nur geht... da habe ich immer wieder meine Probleme.... aber das wird sicher noch....
Beispiel oben: ich kann nicht unterscheiden, ob du GUI-Anwendungen meinst, oder nCurses-Anwendungen.
Da bin ich mir nicht so sicher, aber ich meine eigentlich eine GUI anwendung.... so wie ich es verstanden habe ist Cureses nix.... für mich.
habe ich manchmal das Gefühl, dass dir teilweise der Background fehlt
Das Teuscht, daran habe ich mich mittlerweile gewöhnt, das ihr mich für eine Anfänger haltet... das ist mir aber auch egal....

bembulak du versucht mir wenigenst zu helfen, vielen Dank dafür.

Ich dachte es es klar was ich vor haben, wenn ich Dialog schreibe und dazu sagen Linux... und Shell.... such mal mit Google nach kdialog oder ldialog.... dann dürfte euch klar sein, was ich vor habe.
http://www.linux-user.de/ausgabe/2004/0 ... index.html" onclick="window.open(this.href);return false;
da wird es beschrieben..... von dieser art Programmen gibt es schon einige
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Ich versuch dir wieder zu helfen sobald ich merke, das du auch versuchst weiterzukommen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten