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:

Selbststart

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


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 10.09.2007, 22:38    Titel: Selbststart Antworten mit Zitat

Wie bringe ich mein über QuickBasic 4.5 geschriebenes Programm dazu, sich selbst in einem neuen Fenster zu starten? Hab bis jetzt nämlich keine brauchbare Lösung gefunden...jedes Mal startet es das Programm im gleichen Fenster.
mit dem Kopf durch die Mauer wollen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Manuel



Anmeldungsdatum: 23.10.2004
Beiträge: 1271
Wohnort: Bayern

BeitragVerfasst am: 10.09.2007, 23:05    Titel: Antworten mit Zitat

Kurze Antwort: Das geht nicht! Dazu müsstest du eine Sprache benutzen, was mit Windows-Fenstern umgehen kann. Eine Möglichkeit wäre, nach FreeBasic umzusteigen, für das es hier auch ein Unterforum gibt. Die Syntax ist der von QuickBasic ziemlich ähnlich...

Begründung: QuickBasic 4.5 ist noch eine DOS-Sprache. Und MS-DOS beherrscht es schlicht einfach nicht, mehrere "Fenster" zu verwalten, weil es das zu der Zeit garnicht gab. Bei MS-DOS hat man eigentlich nur ein einziges (Vollbild-)Fenster. Windows selbst kann diese MS-DOS-Programme in Fenster zwängen, ein MS-DOS-Programm von sich aus kann das nicht.
_________________
DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger
MisterD



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

BeitragVerfasst am: 11.09.2007, 02:13    Titel: Antworten mit Zitat

du kannst versuchen mit
Code:
SHELL "start pfad\zu\qb.exe /run pfad\zum\programm.bas"

oder sowas in der richtung das ganze über die erweiterten funktionen der neueren windowskonsole zu regeln, müsste klappen.

bzw wenn dein programm als .exe vorliegt natürlich nur SHELL "start pfad\zum\programm.exe"
_________________
"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
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 11.09.2007, 11:42    Titel: Antworten mit Zitat

Es ist wohl, wie der Manuel gesagt hat. Es geht nicht...mit SHELL start und run und alles andere, was hätte sein können hab ich es schon versucht. Das einzige, was das Programm öffnen konnte war SHELL pfad\name.exe, allerdings im gleichen Fenster.
Trotzdem schon mal danke und wenn ich doch noch nen Weg finde, dann poste ich ihn hier hin...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 11.09.2007, 12:28    Titel: Antworten mit Zitat

dann mach doch mal folgendes:
Code:

shell "start /?"

da dann kommt eine liste mit allen befehlen
_________________
Bis irgendwann... grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



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

BeitragVerfasst am: 11.09.2007, 16:25    Titel: Antworten mit Zitat

welche windowsversion hast du? den start-befehl gibts erst ab xp (oder vllt schon 2000, weiß grade nich)
_________________
"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
Manuel



Anmeldungsdatum: 23.10.2004
Beiträge: 1271
Wohnort: Bayern

BeitragVerfasst am: 11.09.2007, 17:05    Titel: Antworten mit Zitat

MisterD hat Folgendes geschrieben:
welche windowsversion hast du? den start-befehl gibts erst ab xp (oder vllt schon 2000, weiß grade nich)
w00t? Nenene, den gibts schon mindestens seit 98SE (grade getestet), wahrscheinlich schon seit Win95... Ich vermute sogar, dass es ab einer bestimmten MS-DOS-Version mitgeliefert wurde^^.

EDIT: Achso, bei NT-basierten Windowsen... Hm, gute Frage verlegen
_________________
DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger
Jojo
alter Rang


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

BeitragVerfasst am: 11.09.2007, 17:42    Titel: Antworten mit Zitat

START an sich ist ein Windows-Befehl, geht unter DOS nicht. Aber garantiert unter win9x.

Start kann aber afaik wirklich kein neues fenster für DOS-programme öffnen...
_________________
» 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
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 11.09.2007, 21:13    Titel: Antworten mit Zitat

Vielleicht kann dir mein kleines Beispielprogramm etwas weiterhelfen.

Sobald es gestartet wird, führt es ein paar PRINT's aus und startet nach Benutzerbetätigung sich selbst (via START.EXE von Microsoft Windows 95) in einem neuen Fenster erneut (Jedenfalls auf meinem Rechner. Ob es unter jedem Windows >= 95 funktioniert, habe ich nicht getestet, nehme es aber an... happy ).

Unter folgender Adresse habe ich es hochgeladen:

http://swurzinger.sw.funpic.de/files/START_ME.ZIP

Vielleicht ist es das, was du suchst.

LG,
St_W
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 12.09.2007, 12:25    Titel: Antworten mit Zitat

Ich hab XP und der Start-Befehl funktioniert auf jedenfall, da sich mein Programm ja selbst startet, nur eben im gleichen Fenster. Und zu dem Programm von St_W: Dein Programm funktioniert und öffnet ein neues Fenster, leider kann ich die BAS-Datei nicht öffnen. Es kommt nur die Fehlermeldung "Falscher Dateimodus".
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

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

Aufgrund einer eigenen Applikation kann ich folgendes bestätigen: START.EXE steht definitv ab Windows 95 und NT 4.0 und natürlich sämtlichen neueren Windows-Versionen einschliesslich Vista zur Verfügung.

START.EXE habe ich schon für synchron (=/WAIT-Option) ausgeführte REGEDIT /E-Aufrufe (Teil der Registry in eine Datei exportieren) gebraucht.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 13.09.2007, 14:46    Titel: Antworten mit Zitat

@MOD
Dass du die BAS-Datei nicht öffnen kannst liegt daran, dass ich sie mit QuickBasic 7.1 im Binärmodus (versehentlich) abgespeichert habe.
Ich habe eine leicht abgeänderte Version von TEST.BAS noch einmal hochgeladen, deren Quelltext auch in QB 4.5 ausführbar und ladbar ist:
http://swurzinger.sw.funpic.de/files/START_ME_QB45.ZIP

Unter meinem Windows XP Pro und QuickBasic 4.5 funktioniert alles, ich hoffe, es funktioniert auf deinem System ebenso...

LG
St_W
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 13.09.2007, 16:23    Titel: Antworten mit Zitat

@St_W
Das Programm läuft wunderbar und das war auch das, was ich gesucht habe. Auf die Lösung mit der Start.exe wäre ich aber nie gekommen, da ich die nicht hatte zwinkern
Eleganter wäre es zwar, es ohne eine zweite Exe zu machen, aber so geht's auch.
Thx nochmal.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 14.09.2007, 17:14    Titel: Antworten mit Zitat

@MOD : Jedes Windows Betriebssystem >= 95 hat einen "START" - Befehl bzw. eine "START.EXE". Bei XP habe ich keine START.EXE gefunden, hier ist der START-Befehl direkt in die CMD.EXE (Eingabeaufforderung) eingebaut.

Wenn du also die beiliegende START.EXE nicht verwenden willst, verwende im Programm einfach statt
"SHELL START.EXE [Programmname]",
"SHELL START [Programmname]".

Auf diese Weise könntest du dir die "START.EXE" ersparen und es sollte auch funktionieren...am Besten du probierst es einmal aus!

(Evt. habe ich im Quellcode vom vorigen Programm dazu schon eine Anmerkung gemacht, weiß' es nicht mehr)

LG,
St_W
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
zettelgirl



Anmeldungsdatum: 27.05.2007
Beiträge: 38

BeitragVerfasst am: 14.09.2007, 17:45    Titel: Antworten mit Zitat

Soweit ich weiß startet cmd.exe bzw. command.com in nem eigenem Fenster wenn man es aufruft. Beide haben Parameter um auch gleich einen Befehl aufzurufen, so könnte man das frickeln. Kann das jetzt aber mangels Windows nicht nachprüfen happy.
_________________
http://eiffel56.mybonsai.at/wordpress
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 14.09.2007, 18:21    Titel: Antworten mit Zitat

Ich hab's mit CMD und COMMAND versucht und auch mit SHELL START [progname], aber es kam immer eine Fehlermeldung. Das einzige was funktioniert hat, war SHELL [progname], allerdings wurde das Programm dann im gleichen Fenster geöffnet. Letztendlich hat es mit der START.EXE aber auch seinen Zweck erfüllt.
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 QBasic. 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