CommandLine Options Parameter Visual C++ 6.0
-
Hallo
Ich habe ein Problem.
Leider komme ich nicht so weiter wie erhofft.Ich habe eine MFC-Anwendung geschrieben, läuft gut

Nun möchte ich dieses Programm über die Commandozeile aufrufen.
Dabei möchte ich mehrere Parameter übergeben.der Aufruf würde wie folgt aussehen:
viewer.exe -d "user/pass@db" -r "Report.rpt" -p "Pfad" -u "logon"
Mit dieser m_lpCmdLine Variable kann ich mir die Kommandozeile anzeigen lassen.
Nun möchte ich diese Zeile nicht als ganzen String, SONDERn ich möchte einzeln die OPTIONS-Parameter aus der CommandLine lesen.
Ich glaube bei perl gibt es eine Funktion getopt(d:r:p:u:/.....)
die das ermöglicht.Aber ich brauche das in VC++
kann mir da jemand helfen, ist wichtig für mich.
damit wäre mein Programm fertiggestellt u ich kann mich anderen Aufgaben witmen.Vielen DANK im Voraus
Reci (ManagerRichie@gmx.de)
-
Servus,
erst klasse erstellen.
.h
class CMyCmdLineInfo : public CCommandLineInfo { public: CMyCmdLineInfo(); virtual ~CMyCmdLineInfo(); virtual void ParseParam(LPCSTR pszParam, BOOL bFlag, BOOL bLast); };dann mit ParseParam auslesen
.cppCMyCmdLineInfo::CMyCmdLineInfo() { m_bWasweissich=FALSE; } CMyCmdLineInfo::~CMyCmdLineInfo() { } void CMyCmdLineInfo::ParseParam(LPCSTR pszParam, BOOL bFlag, BOOL bLast) { if (bFlag) { if (!stricmp("a",pszParam)) m_bIrgendwasMember=TRUE; if (!strnicmp("e:",pszParam,2)) //Erster Parameter danach folgt noch was m_strSourceDir=(pszParam+2); } CCommandLineInfo::ParseParam(pszParam, bFlag, bLast); }Alle Paramter werden mit "/wasweissich" angegeben.
Steht auch glaube ich in der FAQ, wenn nicht vielleicht wärs was dafür. Ist ein einfaches Beispiel Params auszulesen.*winke*
Hellsgore
-
Wieso kommt denn jetzt ne Fehlermeldung?
"Unerwartetes Dateiende waehrend der Suche nach der Direktive fuer die vorkompilierte Header-Datei"
Wenn ich ne .cpp datei habe
#include "CMyCmdLineInfo.h" CMyCmdLineInfo::CMyCmdLineInfo() { } CMyCmdLineInfo::~CMyCmdLineInfo() { } void CMyCmdLineInfo::ParseParam(LPCSTR pszParam, BOOL bFlag, BOOL bLast) { CCommandLineInfo::ParseParam(pszParam, bFlag, bLast); }??
-
Heisst die Datei nicht #include "MyCmdLineInfo.h" anstatt include "CMyCmdLineInfo.h"???
und dann brauchst du noch afxwin.h. entweder in die stdafx.h oder bindest die dort ein.*winke*
Hellsgore