.txt Datei aus Programm drucken c++
-
Hi,
ich möchten eine im Programm erstellte txt datei über den Standartdrucker(netzwerk- oder Lokaler Drucke) ausdrucken. Der Dateipfad ist aber in einer Variable abgespeichert. habt ihr da vl eine Lösung??
hier ein Teil code:char pfad[MAX_PATH] = { "" }; char rPfad[MAX_PATH] = { "" }; string rrPfad; const char *ers; char *nom1 = "blablabla"; char *nom2 = "blablablablablabladdddd"; //aktuelles verzeichnis GetModuleFileName(NULL, rPfad, sizeof(rPfad)); // konvertierung von char to string rrPfad = rPfad; //teilstring herauskopieren rrPfad = rrPfad.substr(0, rrPfad.rfind("\\xxx.exe")); //konvertierung von string to char ers = rrPfad.c_str(); // ANHÄNGEN der notwändigen zeichen strcat(&pfad[0], ers); strcat(&pfad[0], "\\xxx.txt"); strcat(&pfad[0], "\0"); //datei erstellen nochmal: ofstream f1 ("xxx.txt"); if( f1.is_open() != true) { goto nochmal; } f1 << nom1 << nom2 << "\n"; f1.close(); //druck ausführen ShellExecute( NULL, "print", "xxx.txt", NULL, pfad, SW_HIDE );
mfg N30xxx
-
entweder an prn: oder lpt1: schicken oder starten von "notepad /p bla.txt"
-
mhm das problem ist aber das es an den standarddrucke gesendet werden musss
der in manchen fällen ein Netzwerkdrucker ist und in anderen ein lokaler drucker!
und der pfad der datei ist dynamisch deshalb ist der pfad in der variable abgespeichertmfg
-
Und was ist nun das problem mit
ShellExecute( NULL, _T("print"), szFullPathForFile, NULL, NULL, SW_HIDE );
?
Das ist doch der richtige Ansatz.
-
Das Problem ist das er nicht druckt egal ob ich einen netzwerk oder lokalen drucker als standard habe.
meiner meinung nach sollte das ja funktionieren. der code wär syntax mäßig richtig aber iwas mit dem befehl seber stimmt was nicht
deshalb wollt ich fragen ob jemand vl eine bessere lösung weiß mit der man genauso über den standarddrucker drucken kann(am besten ganz ohne benutzer eingabe).
mfg
N30xxx
-
N30xxx schrieb:
Das Problem ist das er nicht druckt egal ob ich einen netzwerk oder lokalen drucker als standard habe.
meiner meinung nach sollte das ja funktionieren. der code wär syntax mäßig richtig aber iwas mit dem befehl seber stimmt was nicht
deshalb wollt ich fragen ob jemand vl eine bessere lösung weiß mit der man genauso über den standarddrucker drucken kann(am besten ganz ohne benutzer eingabe).
mfg
N30xxxaahhh sorry jetzt erst gesehen hab die zwei verwechselt
ShellExecute( NULL, "print", pfad, NULL, NULL, SW_HIDE );
danke jetzt funktioniert es