Klasse zum Starten von programmen...

Verschiedenes zu Qt
Antworten
jogibear9988
Beiträge: 12
Registriert: 17. April 2006 14:04

Klasse zum Starten von programmen...

Beitrag 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???
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
jogibear9988
Beiträge: 12
Registriert: 17. April 2006 14:04

danke...

Beitrag von jogibear9988 »

danke erstmal... nun noch ne idee wie ich prg/pfad und parameter zerlege??
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

QString::split(...)?
jogibear9988
Beiträge: 12
Registriert: 17. April 2006 14:04

Schon klar...

Beitrag 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??
jogibear9988
Beiträge: 12
Registriert: 17. April 2006 14:04

ah...

Beitrag 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??
arne.anka
Beiträge: 32
Registriert: 28. Dezember 2005 14:06

Re: ah...

Beitrag 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.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
jogibear9988
Beiträge: 12
Registriert: 17. April 2006 14:04

wll nichts parsen...

Beitrag 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???
arne.anka
Beiträge: 32
Registriert: 28. Dezember 2005 14:06

Re: wll nichts parsen...

Beitrag 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.
jogibear9988
Beiträge: 12
Registriert: 17. April 2006 14:04

ne...

Beitrag 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!
Antworten