Datei öffnen
-
Hallo,
ich möchte bei meinem C++ Programme eine .doc Datei öffnen. Diese soll dann ganz normal mit Word geöffnet werden.
Ich habe das so probiertOpenFile("C://Dokumente//Test.doc");
Leider klappt es nicht, wo liegt mein Fehler???
-
Meine Kristallkugel sagt: "Alle Leitungen sind besetzt - bitte versuchen Sie es später nochmal"
Oder im Klartext - aus diesem Code-Fragment (und der Aussage "das klappt nicht") kann niemand ableiten, was du falsch gemacht hast. Da fehlt zumindest die Fehlermeldung des Compilers bzw. die Art, wie sich das "klappt nicht" äußert.
-
Fehler: Too few parameters in call to '___stdcall OpenFile(const char *,_OFSTRUCT *,unsigned int)'
Aber eine einfach Antwort wie ich eine Datei öffne würde reichen.
-
naja, steht doch in der fehlermeldung was falsch ist!
die funktion möchte 3 parameter, und du gibst ihr nur einen!
-
Ich bin nicht sehr gut im Programmieren, fange gerade erst damit an.
Kann mir bitte nicht jemand veraten wo genau mein Fehler liegt oder wie ich eine Datei öffne?Danke
-
Da steht doch ganz klar, was falsch ist - du hast zu wenige Parameter angegeben. OpenFile() Benötigt außer dem Dateinamen noch einen Zeiger auf eine OFSTRUCT (die er mit Werten füllen kann) und einen int-Wert, der angibt wie die Datei geöffnet wird.
Und nebenbei öffnet die Funktion auch die Datei so, daß du sie selber einlesen kann - und übergibt sie nicht an die zugehörige Anwendung.
-
Stellt sich zusätzlich noch die Frage, wie Du ausgerechnet an OpenFile geraten bist?!?
Auszug aus der Win32 Developer's Reference:The OpenFile function creates, opens, reopens, or deletes a file.
This function is provided for compatibility with 16-bit versions of Windows. In particular, the OpenFile function cannot open a named pipe. Win32-based applications should use the CreateFile function.
Außerdem könntest Du damit bestenfalls ein Handle auf die Datei erhalten. Du willst sie ja aber in Word öffnen...
Schau Dir mal ShellExecute() an, oder wenn Du mehr Kontrolle brauchst, CreateProcess().
-
Ich will die Datei so öffnen als würde ich im Explorer einen Doppelklick darauf machen und da .doc Dateien mit Word geöffnet werden öffnet sich die Datei logischerweise auch mit Word!
-
Joe_M. schrieb:
Schau Dir mal ShellExecute() an, oder wenn Du mehr Kontrolle brauchst, CreateProcess().
-
Wie Joe schon sagte - nimm da lieber ShellExecute():
ShellExectute(handle,"open","C:/Dokumente/Test.doc",NULL,NULL,SW_SHOWNORMAL);
-
CStoll schrieb:
ShellExectute(handle,"open","C:/Dokumente/Test.doc",NULL,NULL,SW_SHOWNORMAL);
Linuxuser? Wegen '/' statt '\'?
-
Joe_M. schrieb:
Linuxuser? Wegen '/' statt '\'?
Eigentlich nicht. Aber wenn das Moorhuhn damit anfängt,...
-
Ja wo Du recht hast... Zumindest hast Du es dann richtig gemacht und nur einen Slash verwendet.
-
Ich habe das jetzt auch ausprobiert, bei mir kommt die Fehlermeldung: Undefiniertes Symbol 'handle'.
Aber eigentlich sollte das doch funktionieren.........Bye,
Zoi101 :p
-
Hallo
Wenn du nur die eine Zeile mit dem ShellExecute kopiert hast, dann ist handle in der Tat noch undeklariert. Du brauchst es aber eigentlich nicht, übergib statt handle einfach 0.
bis bald
akari