Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » ich verstehe das nicht.............

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
30.01.2006, 21:33 Uhr
~chris
Gast


ich habe ein windows prog geschrieben, welches eine textdatei öffnen und den inhalt interpretiert.........
jedenfals wird der pfad und der name der datei per lpszArgument übergeben
wenn ich also mein prog in der console oder mit einem bat file und einem parameter, welcher auf eine textdatei verweist, starte funktioniert alles
auch wenn ich eine textdatei per drag and drop auf meinen kleinen interpreter ziehe funktioniert alles
Wenn ich allerdings zum beispiel alle dateien mit der endung txt mit meinem prog verknüpfe, kann die datei nicht geladen werden obwohl in lpszArgument genau das gleiche übergeben wird (habs mit ner msgbox ausgeben lassen)

Hier is mal der anfang vom prog.........


WinMain (HINSTANCE hInst,
HINSTANCE hPrev,
LPSTR lpszArgument,
int nShow)

{
///////////////////////////////////////////////////
/////////////////////////////einlesen des scripts


int functions[64];
int funcc=0;
char com[64][64];
int comc=0;
char *pch;
char dpoint[64]=":";
fstream f;
char cstring[256];//zeile
f.open(lpszArgument, ios::in);
if (f.is_open())
{
while (!f.eof()) // Solange noch Daten vorliegen
{
f.getline(cstring, sizeof(cstring));//hole zeile
//MessageBox( NULL, cstring, "Hinweis:", MB_OK );//zeige zeile an
if(cstring[0]==':')
{
pch = strtok (cstring,dpoint);
//MessageBox( NULL, pch, "Hinweis:", MB_OK );//zeige zeile an
strcpy(cstring,pch);
functions[funcc]=comc;
funcc++;
//MessageBox( NULL, "juhu", "Hinweis:", MB_OK );//zeige zeile an
}

strcpy(com[comc],cstring);
//MessageBox( NULL, com[comc], "Hinweis:", MB_OK );//zeige zeile an
comc++;
}
f.close(); // Datei wieder schließen
}
else
{
MessageBox( NULL, lpszArgument, "Fehler: Script konnte nicht geladen werden!", MB_OK );
}
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.01.2006, 22:04 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


wahrscheinlich steht das in der dateiverknüpfungseigenschaften falsch drin, der Aufruf muss halt

lw:/pfad/zur/exe/deine.exe "%1"

lauten. das "" um das "argument 1" ist für leerzeichenpfade wichtig.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.01.2006, 22:29 Uhr
~chris
Gast


hab den fehler

wenn ich die datei mit drag drop auf mein prog ziehe werden keine anführungszeichen mit übergeben (ARGUMENT)

wenn ich aber einer datei mein prog zuweise werden anfürungszeichen mit übergeben ("ARGUMENT")
ich schneid die einfach weg dann müstes ja funktionieren
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: