Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

EXEC empfängt nur ein UBYTE?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 27.08.2009, 20:45    Titel: EXEC empfängt nur ein UBYTE? Antworten mit Zitat

Mit END zahl kann man einen INTEGER-Rückgabewert liefern, was auch funktioniert.
Code:
' Programm Test1
END 98765

Code:
./Test1 > ausgabe.txt

schreibt in die Datei die Zahl 98765. Aber
Code:
' Programm Test2
PRINT EXEC("./Test1", "")

gibt mir 205 aus. Warum? Referenzfehler oder Compilerfehler?


Nachtrag: Interessanterweise liefert END 255 mir -1
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 957
Wohnort: Austria

BeitragVerfasst am: 27.08.2009, 23:40    Titel: Antworten mit Zitat

Welchen Compiler verwendest du?

Mit dem FBC 0.20 win32 funktioniert alles korrekt:

test1.bas
Code:
END 98765


test2.bas
Code:
PRINT EXEC("Test1.exe", "")
sleep


255 statt 98765 funktioniert ebenso. Es wird immer der Parameter von End im Programm test2 ausgegeben.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 28.08.2009, 09:31    Titel: Antworten mit Zitat

Dann ist es wahrscheinlich ein Linux-Problem. So was blödes. traurig
Können andere Linuxler das Verhalten bestätigen?
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 28.08.2009, 09:37    Titel: Antworten mit Zitat

für was bitte braucht man tausende exit-codes? Oo überleg dir vielleicht ob du das problem nicht viel einfacher umgehen kannst..
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 28.08.2009, 10:35    Titel: Antworten mit Zitat

Ich wollte das einsetzen, um das Punkteergebnis des Programms zurückzugeben - und da reichen mir 254 Punkte eben nicht. Ich speichere das jetzt in einer temporären Datei.

Was ich blöd an der Sache finde, ist, dass es unter den Betriebssystemen unterschiedlich läuft. traurig
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
qbasicfan
gesperrt (Wird das nicht langweilig?)


Anmeldungsdatum: 29.07.2009
Beiträge: 45

BeitragVerfasst am: 28.08.2009, 11:13    Titel: Antworten mit Zitat

Was ich blöd an der Sache finde, ist, dass es unter den Betriebssystemen unterschiedlich läuft.

Ja, Windows hat auch vorteile.happy

Wer aber Linux kennt, der kann den Fehler schnell finden und ausbessern.

mfg
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 28.08.2009, 12:38    Titel: Antworten mit Zitat

Aha. Mir wäre nicht bekannt, dass die Linux-Version von FB OpenSource wäre, die Windows-Version dagegen nicht.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 28.08.2009, 13:34    Titel: Antworten mit Zitat

nemored hat Folgendes geschrieben:
Ich wollte das einsetzen, um das Punkteergebnis des Programms zurückzugeben - und da reichen mir 254 Punkte eben nicht. Ich speichere das jetzt in einer temporären Datei.


benutz einfach print und arbeite dann mit Pipes?
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 28.08.2009, 15:20    Titel: Antworten mit Zitat

Baue ich wahrscheinlich für die nächste Version entsprechend um. An Pipes habe ich schon für den (noch nicht eingebauten) Abruf der Versions-/Revisionsnummer gedacht, aber ich muss mich da erst noch genauer einarbeiten. Für die jetzige Version lasse ich es mal mit temporärer Datei, weil ich die endlich abschließen will. happy

Danke für die Rückmeldung!
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 01.09.2009, 23:55    Titel: Antworten mit Zitat

Mit OPEN PIPE ist es ja wunderbar einfach. Muss nur wegen dem Grafikfenster im aufgerufenen Programm zusätzlich mit OPEN CONS arbeitet, aber das hilft bei der Steuerung, was an das aufrufende Programm zurückgehen soll und was nicht.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz