 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
wolkensteyn

Anmeldungsdatum: 21.07.2008 Beiträge: 4
|
Verfasst am: 21.07.2008, 22:38 Titel: "Nachladen" von Dateien |
|
|
Heyho,
also mein Problem ist folgendes:
Ich möchte von meinem Basic-Programm (FreeBasic) ein Script-Starten. FreeBasic soll dann solange warten, bis das entsprechende Makro abgearbeitet und das Programm wieder geschlossen ist. Dabei tauchen im Moment für mich zwei unüberwindbar scheinende Hürden auf:
(1) Kann ich in FreeBasic nur ".EXE"-Files aufrufen? Oder auch dabei auch bestimmte Parameter angeben? (Unter Windows würde hier ein Doppelklick auf die Datei reichen und das entsprechende Programm würde die Datei ausführen).
In FreeBasic ist mir bisher nur gelungen, das Programm zu starten (es soll aber wie gesagt gleich eine bestimmte Datei dort geöffnet werden).
(2) Optimal wäre eine Lösung, mit der sich die Datei und das Programm aktivieren lässt und FreeBasic solange warten lässt, bis das Datei abgearbeitet/sich das Programm wieder schließt. Auch hier hab ich noch keine elegante Lösung gefunden
Wäre toll, wenn mir jemand weiterhelfen könnte.
__________
wolkensteyn
Zuletzt bearbeitet von wolkensteyn am 21.07.2008, 22:59, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
wolkensteyn

Anmeldungsdatum: 21.07.2008 Beiträge: 4
|
Verfasst am: 21.07.2008, 22:58 Titel: Mhm... |
|
|
Mhm...
@Sebastian: Danke für die schnelle Antwort!
Kann das sein, dass es eine Beschränkung bei den Buchstaben gibt, was die Pfadlänge angeht? ich bekomme jedenfalls eine Fehlermeldung beim ersten Ausprobieren und da erscheint der Pfad nur verkürzt...
Okay, Leerzeichen scheint er nicht zu vertragen - hab die Namen gekürzt, aber erst als ich die Leerzeichen weggemacht habe, hat es geklappt.
Gegenwärtig habe ich das Problem, dass das FreeBasic-Programm nur recht eigenwillig sein Betrieb wieder aufnimmt (Manchmal funzt es - manchmal nicht; bei zwei SHELL-Aufrufen hintereinander klappt es nie. Zufall? - hat jemand ne Idee, an was das liegt?
__________
wolkensteyn |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 22.07.2008, 00:46 Titel: |
|
|
Wenn der SHELL-Befehl auf ein Leerzeichen stößt, interpretiert er das dahinter als neuen Parameter. Sonst müsstest du den Dateinamen nochmal in Anführungszeichen einschließen.
Unter Linux gibt es auch die Möglichkeit, Leerzeichen zu schützen. Keine Ahnung, ob Windows das ebenfalls zur Verfügung stellt. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 22.07.2008, 09:50 Titel: |
|
|
Hallo,
mit dem SHELL-Befehl kann man nur ein Programm mit einem Parameter starten. Läuft das Programm erst mal, hat man mit SHELL keinen Einfluss mehr darauf, was es macht. Das bedeutet, dass man dem Programm mit SHELL keine Anweisung geben kann, nach Öffnen der Datei irgendwas damit zu machen oder die nächste Datei zu laden, sofern diese Funktionalität nicht direkt über Kommandozeilenparameter des ersten Programmaufrufs zu erreichen ist.
Zur Fernsteuerung von Programmen Dritter müsste man sich einiger WinAPI-Funktionen bedienen. Das ist gar nicht so einfach. Im Prinzip funktioniert das ähnlich wie die Programme, die ein Sternchenpasswort aus einem Eingabefeld irgendeiner Anwendung auslesen können. Man benötigt das jeweilige Handle und kann dann auf "fremde" Controls zugreifen.
Zurück zu SHELL: Der Pfad zur zu öffnenden Datei sollte idealerweise im 8.3-Format angegeben werden. Weil man den bei Dateien mit "langem" Pfadnamen nicht unbedingt weiß, gibt es eine Funktion, um den zu ermitteln. Eine erweiterte Fassung meines Beispiels sähe so aus: http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=654 (Längere Codes poste ich immer in dieser Code-Ablage, weil sie da gleich farblich hervorgehoben werden und direkt downloadbar sind => übersichtlicher und komfortabler. )
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
|
|
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.
|
|