-
:: NoName :: schrieb:
int nPos = str.ReverseFind( '\\'); str = str.Mid(1, pos-1);
Schreibfehler, richtige Version:
int nPos = str.ReverseFind( '\\'); str = str.Mid(1, nPos-1);
Denke aber, dass du das selbst gemerkt hast
MfG me
-
Hmm, stimmt. Manchmal bin ich nicht ganz bei der Sache...
Gruß
:: NoName ::
-
hi
klasse, vielen Dank für eure Hilfe
-
wie kann ich Zeichen abschneiden
z.B steht in de, String str jetzt z.B.
"\\A\DRUCKERNAME"Ich möchte aber nur das DRUCKERNAME in dem String drin steht
Also das \\A\ soll wegfallen
SO wollt ich das eigentlichwenn so aussieht:
int nPos = str.ReverseFind( '\\'); str = str.Mid(1, nPos-1);
Dann sieht der String so aus "\A"
Aber ich möcht nur DRUCKERNAME drin stehen haben
WIe würde das dann aussehen
dankewenn ich das schreibe : int nPos = str.ReverseFind( '\');
funktioniert's nicht
-
Du musst doch nur andere Positionen nehmen.
In Zahlen ausgedrückt:
Nicht
(0, 4) // Startzeichen, Anzahl
sondern
(4, 11)Auf die 11 kommst du mit der Funktion GetLength und etwas nachdenken.
-
aso ist das, jetzt gehts
-
Hallo,
weiß jemand wie man zeilenweise Drucken kann?
Also das hier hab ich hier mal gefunden: Aber ich glaub das ist nicht das richtige oder?
CPrintDialog dlgPrint(FALSE,PD_ALLPAGES,this); CString printAusgabe; //AU zeilenweise auslesen //sofort jede Zeile drucken if (dlgPrint.DoModal()==IDOK) { CDC dcPrint; dcPrint.Attach(dlgPrint.GetPrinterDC()); DOCINFO myPrintJob; myPrintJob.cbSize = sizeof(myPrintJob); myPrintJob.lpszDocName = "Drehen32: Arbeitsunterweisung drucken"; myPrintJob.lpszOutput = NULL; myPrintJob.lpszDatatype = NULL; myPrintJob.fwType = NULL; if (dcPrint.StartDoc(&myPrintJob)>=0) { dcPrint.StartPage(); //Schleife zum AU-file auslesen string filename=AU_File_Name; FILE *aufile; char c; string s,a; CString printAusgabe; int linecnt=0; string au_file=AU_Pfad; au_file.append(AU_File_Name); aufile = fopen(au_file.c_str(),"r"); while(!feof(aufile)) { c=fgetc(aufile); if(c=='\n') { //s.append(" \n\r"); printAusgabe=s.c_str(); printAusgabe.OemToAnsi(); dcPrint.TextOut(0,linecnt,printAusgabe); linecnt+=100; s=""; } else { a=c; s.append(a); } if(linecnt>(66*100)) { // Seite auswerfen dcPrint.EndPage(); linecnt=0; dcPrint.StartPage(); } } printAusgabe=s.c_str(); printAusgabe.OemToAnsi(); //dcPrint.DrawText(printAusgabe,rect,DT_WORDBREAK); // Seite auswerfen dcPrint.EndPage(); // Dokument schließen dcPrint.EndDoc(); } // Druckergerätekontext löschen dcPrint.DeleteDC(); }
-
hi
Geht soetwas?
Es soll eine Zeile oder Text
gedruckt werden und dann angehalten werden .Sprich die
Seite soll nicht durchgezogen werden .
Später kommt dann vielleicht nochmal eine Zeile aber
dann einen bestimmten Absatz drunter (das geht
automatisch mit so einem Plotter)Aber keine Ahnung ob das überhaupt möglich ist
Jemand ne Ahnung?Merci
-
hi
nochmal eine Frage:Drucken tu ich so, hab ich ja hier in der "Suche" gefunden:
//Drucken CPrintDialog dlgPrint(FALSE,PD_ALLPAGES,this); UpdateData(TRUE); if (dlgPrint.DoModal()==IDOK) { CDC dcPrint; dcPrint.Attach(dlgPrint.GetPrinterDC()); DOCINFO myPrintJob; myPrintJob.cbSize = sizeof(myPrintJob); myPrintJob.lpszDocName = "PrintingTest"; //Name des Druckauftrages, wie er im Spooler erscheint myPrintJob.lpszOutput = NULL; myPrintJob.lpszDatatype = NULL; myPrintJob.fwType = NULL; if (dcPrint.StartDoc(&myPrintJob)>=0) { dcPrint.StartPage(); RECT rctA; rctA.left = 20; rctA.top = 30; rctA.right = 800; rctA.bottom = 800;; dcPrint.DrawText(m_strText, &rctA, DT_LEFT); dcPrint.EndPage(); dcPrint.EndDoc(); } dcPrint.DeleteDC(); }
Wenn ich nun auf mein "Drucken" Button drück, wird immer das "Drucker auswählen" Menü hochgepoppt.
Weiß jemand wie man das ausschalten kann. Es soll einfach gedruckt werden , wie im Word,wenn man in der Symbolleiste auf den Drucker klickt
Vielen Dank!!
-
Du hast die ganzen Druckbefehle in eine if-Abfrage eingepackt die mit der DoModal() - Funktion des PrintDialogs aufgerufen wird. Lass mal das DoModal() bzw die if-Abfrage weg.