Write- & Readln nur in Console Mode möglich?
-
- Lazarusforum e. V.
- Beiträge: 208
- Registriert: Fr 11. Nov 2016, 14:09
- OS, Lazarus, FPC: Linux Mint 20 (WinXP VBox)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Write- & Readln nur in Console Mode möglich?
Hallo
Viele Beispielprogramme verwenden die Befehle Readln und Writeln. Wie es scheint funktionieren diese aber nur in der Konsole?
Ist das korrekt, oder gibt es in einer GUI Applikation eine einfach Möglichkeit ein Fenster (Konsole) für solche Operationen zu öffnen?
Danke zum Voraus.
Viele Beispielprogramme verwenden die Befehle Readln und Writeln. Wie es scheint funktionieren diese aber nur in der Konsole?
Ist das korrekt, oder gibt es in einer GUI Applikation eine einfach Möglichkeit ein Fenster (Konsole) für solche Operationen zu öffnen?
Danke zum Voraus.
Good code comes from experience, experience comes from bad code.
Re: Write- & Readln nur in Console Mode möglich?
Du kannst aus bestimmten Grafischen Elementen den String auslesen und manipulieren. Bei einem Button kann das so aussehen:
Als erstes must du einen Button im Designer anlegen, dieser hat den Namen "button1", wenn du Ihn nicht änderst. Dann machst du einen Doppelklick auf den Button im Designer, wodurch ein ON_Click_Event angelegt wird. In dieses schreibt man dann, um den Text des Buttons zu verändern:
Falls du den Inhalt eines Buttons in einen String einlesen musst, funktioniert das so:
Du musst den String initiieren und dann so den Text des Buttons darin speichern:
Falls noch Fragen sind, ich helfe gerne, notfalls auch über Skype.
Als erstes must du einen Button im Designer anlegen, dieser hat den Namen "button1", wenn du Ihn nicht änderst. Dann machst du einen Doppelklick auf den Button im Designer, wodurch ein ON_Click_Event angelegt wird. In dieses schreibt man dann, um den Text des Buttons zu verändern:
Code: Alles auswählen
button1.Text := "Anderer Text";
Du musst den String initiieren und dann so den Text des Buttons darin speichern:
Code: Alles auswählen
s1 := button1.Text; // Das liest den Button Text in den String
-
- Lazarusforum e. V.
- Beiträge: 208
- Registriert: Fr 11. Nov 2016, 14:09
- OS, Lazarus, FPC: Linux Mint 20 (WinXP VBox)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Write- & Readln nur in Console Mode möglich?
Hallo ITJump
Danke für die schnelle Antwort. Ich glaube aber das Du auf eine andere Frage geantwortet hast?
Oder habe ich meine Frage unglücklich formuliert?
Danke für die schnelle Antwort. Ich glaube aber das Du auf eine andere Frage geantwortet hast?
Oder habe ich meine Frage unglücklich formuliert?
Good code comes from experience, experience comes from bad code.
Re: Write- & Readln nur in Console Mode möglich?
Ich habe auf deine Frage geantwortet, wahrscheinlich aber falsch Verstanden wie es aussieht. Sorry, dann verstehe ich nicht, was du mit der Frage meinst. Entschuldige, falls das jetzt irgendwie komisch war
Re: Write- & Readln nur in Console Mode möglich?
Ich nehme an, die bist unter Windows: Dann gehe zu "Projekte Einstellungen" > "Compiler-Einstellungen" > "Konfiguration und Ziele": Häkchen vor Win32-GUI-Anwendung entfernen.
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: Write- & Readln nur in Console Mode möglich?
Unter Windows kannst du mit AllocConsole eine Konsole für deine Anwendung hervorrufen.
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
-
- Lazarusforum e. V.
- Beiträge: 208
- Registriert: Fr 11. Nov 2016, 14:09
- OS, Lazarus, FPC: Linux Mint 20 (WinXP VBox)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Write- & Readln nur in Console Mode möglich?
Ja kein Problem und danke für die Mühe.. Bin ja wirklich der Anfänger. Auch im richtige Fragen stellen.
Ich suche Beispielcode um Lazarus zu lernen. Also GUI Anwendung mit Buttons, Labels usw. Graphische Oberfläche eben, nicht Textmodus (Konsole).
Viele Beispiele die ich finde verwenden die Anweisungen 'writeln' oder 'readln'. Zum Beispiel auch um Files zu lesen oder schreiben. Diese Anweisungen fünktionieren aber nur wenn ich ein Programm für die Konsole schreibe.
In einer GUI Oberfläche gibts eine Fehlermeldung, wahrscheinlich weil ja nicht definiert ist wohin geschrieben werden soll?
Die Frage ist nun, soll man solche Anweisungen (in einer GUI) einfach nicht verwenden, oder lässt sich irgendwie einfach so eine Konsole öffnen?
Hoffe das das verständlicher ist?
Ich suche Beispielcode um Lazarus zu lernen. Also GUI Anwendung mit Buttons, Labels usw. Graphische Oberfläche eben, nicht Textmodus (Konsole).
Viele Beispiele die ich finde verwenden die Anweisungen 'writeln' oder 'readln'. Zum Beispiel auch um Files zu lesen oder schreiben. Diese Anweisungen fünktionieren aber nur wenn ich ein Programm für die Konsole schreibe.
In einer GUI Oberfläche gibts eine Fehlermeldung, wahrscheinlich weil ja nicht definiert ist wohin geschrieben werden soll?
Die Frage ist nun, soll man solche Anweisungen (in einer GUI) einfach nicht verwenden, oder lässt sich irgendwie einfach so eine Konsole öffnen?
Hoffe das das verständlicher ist?
Good code comes from experience, experience comes from bad code.
Re: Write- & Readln nur in Console Mode möglich?
Wenn du wirklich Anfänger bist, reicht es zu wissen, das solche Befehle bei GUI Programmen nicht benutzt werden, alles andere würde zu weit gehen. Mein Beispielcode oben funktioniert. Zu Lazarus findest du leider vermutlich recht wenig Tutorials, da Pascal eine sterbende Sprachen ist (Bitte kein Flame, das ist einfach so, auch wenn es schade ist). Wenn dann würde ich an deiner stelle nach Delphi Tutorials schauen, da diese in 99% der fälle auch bei Lazarus anwendbar sind.Marc hat geschrieben:Ja kein Problem und danke für die Mühe.. Bin ja wirklich der Anfänger. Auch im richtige Fragen stellen.
Ich suche Beispielcode um Lazarus zu lernen. Also GUI Anwendung mit Buttons, Labels usw. Graphische Oberfläche eben, nicht Textmodus (Konsole).
Viele Beispiele die ich finde verwenden die Anweisungen 'writeln' oder 'readln'. Zum Beispiel auch um Files zu lesen oder schreiben. Diese Anweisungen fünktionieren aber nur wenn ich ein Programm für die Konsole schreibe.
In einer GUI Oberfläche gibts eine Fehlermeldung, wahrscheinlich weil ja nicht definiert ist wohin geschrieben werden soll?
Die Frage ist nun, soll man solche Anweisungen (in einer GUI) einfach nicht verwenden, oder lässt sich irgendwie einfach so eine Konsole öffnen?
Hoffe das das verständlicher ist?
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: Write- & Readln nur in Console Mode möglich?
Ich würde solche Anweisungen nicht nutzen, falls du aber doch aus irgendeinem Grund unbedingt eine Konsole benötigen solltest, kannst du (unter Windows) AllocConsole verwenden.
EDIT: Da war itjump schneller als ich
EDIT: Da war itjump schneller als ich
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: Write- & Readln nur in Console Mode möglich?
Fast. Es ist Button1.Caption statt Button1.Text, aber sonst jaitjump hat geschrieben:Mein Beispielcode oben funktioniert.
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Re: Write- & Readln nur in Console Mode möglich?
Ja, wenn man so viele Programmiersprachen beherrscht wie ich (ich glaube es sind momentan 10), dann verwechselt man mal das eine oder anderecompmgmt hat geschrieben:Fast. Es ist Button1.Caption statt Button1.Text, aber sonst jaitjump hat geschrieben:Mein Beispielcode oben funktioniert.
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: Write- & Readln nur in Console Mode möglich?
Kenn ich auch. Ich schreib unter C# meistens Button.Caption statt Button.Text ^^.itjump hat geschrieben:Ja, wenn man so viele Programmiersprachen beherrscht wie ich (ich glaube es sind momentan 10), dann verwechselt man mal das eine oder andere
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Re: Write- & Readln nur in Console Mode möglich?
Ja, ich mache gerade viel aus dem Studium, weshalb ich eher an C und C++ hänge, weil das in meinem Studium dran kommen wird. Die Mathematischen Funktionen sind dafür sehr wichtig, weshalb jemand, der nicht in die Oberstufe geht, es nicht schafft, diese meist nur schlecht verstehen kann (Keine Ahnung, welchen Bildungsgang du hast). GUI ist da eher die Spitze des Eisbergescompmgmt hat geschrieben:Kenn ich auch. Ich schreib unter C# meistens Button.Caption statt Button.Text ^^.itjump hat geschrieben:Ja, wenn man so viele Programmiersprachen beherrscht wie ich (ich glaube es sind momentan 10), dann verwechselt man mal das eine oder andere
-
- Beiträge: 6918
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Write- & Readln nur in Console Mode möglich?
Für die Files funktioniert WriteLn und ReadLn auch mit einer GUI-Anwendung. Nur gibt es dafür meisten etwas modernes, Ausnahmen vorbehalten.Viele Beispiele die ich finde verwenden die Anweisungen 'writeln' oder 'readln'. Zum Beispiel auch um Files zu lesen oder schreiben. Diese Anweisungen fünktionieren aber nur wenn ich ein Programm für die Konsole schreibe.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Lazarusforum e. V.
- Beiträge: 208
- Registriert: Fr 11. Nov 2016, 14:09
- OS, Lazarus, FPC: Linux Mint 20 (WinXP VBox)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Write- & Readln nur in Console Mode möglich?
Hallo, ja genau das wollte ich wissen. Ihr verwendet diese Befehle nicht. Weil eben nur für Konsole gedacht.
Das Häkchen vor Win32-GUI-Anwendung entfernen, hat leider nichts gebracht.
Ich möchte nacher auch das mein Code auch auf Linux läuft, desshalb lasse ich das mal mit AllocConsole.
Es ist wirklich nicht einfach vernünftigen Code zu finden. Der für Anfänger verständlich genug ist.
Das meiste bezieht sich ja auf Free Pascal. Oder dann sind es nur Teile eines Programms.
Das die Sprache sterbend ist stört mich nicht, das sind wir ja alle.
Solange da noch daran entwickelt wird, ist es nicht tot.
Vieleicht ist es einfach etwas schwierig sich da einzuarbeiten.
Brauche die meiste Zeit beim suchen nach vernünftigem Code.
Aber ja, vieleicht muss ich da eher in Richtung Delphi suchen.
Danke an alle Antwortenden
Das Häkchen vor Win32-GUI-Anwendung entfernen, hat leider nichts gebracht.
Ich möchte nacher auch das mein Code auch auf Linux läuft, desshalb lasse ich das mal mit AllocConsole.
Es ist wirklich nicht einfach vernünftigen Code zu finden. Der für Anfänger verständlich genug ist.
Das meiste bezieht sich ja auf Free Pascal. Oder dann sind es nur Teile eines Programms.
Das die Sprache sterbend ist stört mich nicht, das sind wir ja alle.

Solange da noch daran entwickelt wird, ist es nicht tot.
Vieleicht ist es einfach etwas schwierig sich da einzuarbeiten.
Brauche die meiste Zeit beim suchen nach vernünftigem Code.
Aber ja, vieleicht muss ich da eher in Richtung Delphi suchen.
Danke an alle Antwortenden

Good code comes from experience, experience comes from bad code.