|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
[C++]Stampare files
Come stampo un files???
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
cioè...
devi stampare il contenuto di un files oppure l'output che ti restituisce?
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Stampare files in genere dipende dal routine messe a disposizione dal sistema operativo...
|
![]() |
![]() |
![]() |
#4 | |
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
Re: cioè...
Quote:
Sto creando un engine , in C++ standard x portabilita, x un editor. P.S: c'è pure un mio post a riguardo |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
Codice:
#include <stdio.h> #include <stdlib.h> main() { FILE *fp; FILE *st; char buf[256]; st = fopen("LPT1","w"); if(!st) {// problemi} fp = fopen("miofile.txt","r"); if(!fp) {// problemi} // leggo da file e stampo while(fgets(buf,sizeof(buf),fp) != NULL) fprintf(st,"%s",buf); fclose(fp); // chiudo file fclose(st); // chiudo stampante } |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Comunque non è codice portabile...e non funziona su tutte le stampanti...
|
![]() |
![]() |
![]() |
#7 |
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
risolto:
Codice:
void Engine::Print() { #if defined(WIN32) #define PRINT "PRINT" #elif defined(POSIX) #define PRINT "lpr" #else #error Unknow Operating Sistem #endif #define FILE_TO_PRINT _filename system("PRINT FILE_TO_PRINT"); } |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Attento che con una stampante "Windows only" la stampa con print non funziona (purtroppo)...
|
![]() |
![]() |
![]() |
#9 | |
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
Quote:
Ma sono tanto diffuse? |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
La mia laser lo è
![]() Comuqnue puoi usare le API di Windows... void engine: ![]() { #ifdef WIN32 //usi le API Win32 #else //fai al stampa con lpr (sempre che sia un testo solamente) #endif } |
![]() |
![]() |
![]() |
#11 |
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
qual' è l'API?
![]() |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quali sono semmai... Un bel po'...
Codice:
PRINTDLG pd; DOCINFO di; ZeroMemory(&pd,sizeof (PRINTDLG)) ; pd.lStructSize = sizeof (PRINTDLG); pd.Flags = PD_ALLPAGES | PD_COLLATE | PD_RETURNDC |PD_USEDEVMODECOPIESANDCOLLATE | PD_HIDEPRINTTOFILE | PD_NOSELECTION; pd.nCopies = 1; di.cbSize = sizeof(DOCINFO); di.lpszDocName = "Stampa orario"; di.lpszOutput = NULL; di.lpszDatatype= NULL; di.fwType = 0; if(PrintDlg(&pd)!=0) { StartDoc(pd.hDC,&di); StartPage(pd.hDC); int y = GetDeviceCaps(pd.hDC, VERTRES)/55; //infilo 55 righe in una pagina TextOut(pd.hDC,x,y,(LPCTSTR)"ciao",4); EndPage(pd.hDC); EndDoc(pd.hDC); } DeleteDC(pd.hDC); |
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Nov 2002
Città: Cagliari
Messaggi: 844
|
Quote:
Codice:
void stampa(){ ofstream stampante("LPT1"); ifstream in("file.txt"); while(in.get(ch)){ stampante<<ch; } stampante.close(); in.close(); } ![]()
__________________
Non ho paura dei computer, ma della loro eventuale mancanza. (Asimov) Una delle principali cause della caduta dell'Impero Romano fu che, privi dello zero, non avevano un modo per indicare la corretta terminazione dei loro programmi C. (Firth) |
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
prova ad inviare invia un 'LF'
![]() |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Semmai un FF...Form Feed...però non mi ridordo il carattere da scrivere sulla porta...
|
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Nov 2002
Città: Cagliari
Messaggi: 844
|
stampante<<ff?
![]() Scusate ma non posso provarli direttamente perchè ho incasinato un pò il programma e adesso devo rimetterlo apposto! ![]()
__________________
Non ho paura dei computer, ma della loro eventuale mancanza. (Asimov) Una delle principali cause della caduta dell'Impero Romano fu che, privi dello zero, non avevano un modo per indicare la corretta terminazione dei loro programmi C. (Firth) |
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non mi ricordo il valore del form feed...ma era uno dei primi...un attimo che cerco...
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
stampante << (char)0x0C;
|
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
Quote:
bravo, non mi ricordavo più Form Feed=sputa il foglio ![]() |
|
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Nov 2002
Città: Cagliari
Messaggi: 844
|
Bene grazie mille ho finito tutto!
Adesso dovrei implementare la ricerca per nome invece che per id ma non riesco ad usare getline e la stampa di un singolo id o di più id. Ormai ho il cervello fuso lo farò un altra volta ![]() EDIT:ripensandoci...potri farlo anche con get e basta ma non ne ho la minima voglia in questo momento! ![]() Grazie ancora ciau!
__________________
Non ho paura dei computer, ma della loro eventuale mancanza. (Asimov) Una delle principali cause della caduta dell'Impero Romano fu che, privi dello zero, non avevano un modo per indicare la corretta terminazione dei loro programmi C. (Firth) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:20.