Seite 1 von 1
Klasse zum Starten von programmen...
Verfasst: 15. Mai 2006 10:41
von jogibear9988
Gibt es In QT eine Klasse mit der Ich externe Programme ausführen usw kann???
Wenn nicht, dann wenigstens eine die mir einen Programm mit Parametern in 2 Qstrings, einen mit dem Programmnamen und einen mit den Parametern zerlegt???
Verfasst: 15. Mai 2006 11:49
von Christian81
danke...
Verfasst: 15. Mai 2006 12:30
von jogibear9988
danke erstmal... nun noch ne idee wie ich prg/pfad und parameter zerlege??
Verfasst: 15. Mai 2006 13:48
von macman
QString::split(...)?
Schon klar...
Verfasst: 16. Mai 2006 09:26
von jogibear9988
Schon klar das ich mit split einen string zerlgene kann... Aber dachte da gibts was fertiges, was mach ich nämlich z.B. wenn mein prgname+pfad+para:
/usr/aa ss/dd -uu heist??
ist dann pfad+prg: /usr/aa ss/dd
und para -uu
oder
pfad+prg: /usr/aa
und para: ss/dd -u
ne idee??
ah...
Verfasst: 16. Mai 2006 09:28
von jogibear9988
ah falsch... ich weis es ja genau.
wenn ein leerzeichen mit einem backslash maskiert ist gehört es ja zum programmnamen, aber wie kann ich das einfach zerlegen??? ideeen?? vieleicht ein regexp??
Re: ah...
Verfasst: 16. Mai 2006 16:14
von arne.anka
jogibear9988 hat geschrieben:ah falsch... ich weis es ja genau.
wenn ein leerzeichen mit einem backslash maskiert ist gehört es ja zum programmnamen, aber wie kann ich das einfach zerlegen??? ideeen?? vieleicht ein regexp??
du kannst es doch andhand der position und des - unterscheiden.
a) was mit - anfängt, ist ein parameter
b) was einem pfad entspricht ist eine datei
zu b kannst du vermutlich mit sowas wie QFile("xx/yy").exist() testen, ob das plausibel ist. eventuell kannst du das ja auch mit QUrl("xx/yy").isValid() machen, keine ahnung, schiesst mir nur gerade durch den kopf.
Verfasst: 16. Mai 2006 16:25
von Christian81
Wenn Du wirklich die optionen parsen willst (warum denn?), dann schau mal nach qt-4-src/src/corelib/kernel/qcoreapplication_win.cpp nach der Funktion
Code: Alles auswählen
template<typename Char>
static QVector<Char*> qWinCmdLine(Char *cmdParam, int length, int &argc)
So parst Qt die Optionen.
wll nichts parsen...
Verfasst: 18. Mai 2006 09:41
von jogibear9988
will nur programmname und parameter zerlegen.
nach - suchen geht nicht da ja der erste para auch eine datei sein kann.
ich müsste das erste nicht maskierte leerzeichen finden, aber wie mache ich das???
Re: wll nichts parsen...
Verfasst: 18. Mai 2006 10:12
von arne.anka
jogibear9988 hat geschrieben:nach - suchen geht nicht da ja der erste para auch eine datei sein kann.
ja und? welche formen kann denn die kommandozeile annehmen?
zuerst kommt der name des aufgerufenen programmes
dann kommt eine datei oder ein parameter mit - am anfang
dann kommt eine parameter mit - am anfang
?
dann fällt der erste teil schon weg. fängt der nächste teil _nicht_ mit - an, ist es eine datei. alle teile, die mit - anfangen, sind parameter.
ne...
Verfasst: 18. Mai 2006 10:19
von jogibear9988
nein, es können aber auch mehrere datenen als parameter folgen, oder gar keine oder parameter dateiname wieder parameter und wieder ein dateiname... aber ich denke ich habe die frage in meinem anderen thread besser formuliert. diesen kann man schließen!