Newsgroup: it.comp.lang.c++
Titolo: Come stampare .txt ? (URGENTE!)

Salve a tutti!  
Il mio problemino del giorno che mi sta facendo disperare... (scherzo...)
e' questo: devo stampare un file.txt in windows 98 ... USANDO il vecchio 
compilatore borland c++ 3.1;  HO SEMPRE ADOPERATO LA SEGUENTE PROCEDURA,
che e' sempre funzionata bene fino a w95 INCLUSO.
ADESSO HA DECISO di smettere.  
Non so se sia colpa delle nuove schede madri... che hanno vari settaggi
ecp epp  ..... (a cosa servono?)
*************************************************************************
// ##############################################################
// UTILITY PER STAMPANTE AD AGHI NEC P20 COMPATIBILE
ifstream   infile;
ofstream   outfile;
ofstream   printer;
char       NomeFile[20];
char       un_car;
int Controlla_Stampante(HWND hDlg)   // CONTROLLO DELLA STAMPANTE
// Ritorna 0 se la stampante e' pronta per iniziare la stampa
// 	   5 se c'e' un errore da sistemare prima di stampare...  
{union REGS myr;
 myr.h.ah  = 2;
 myr.x.dx  = 0; // lpt1
int86(0x17,&myr,&myr);  //DEBUGN( ((int)(myr.h.ah)) , hDlg);
switch ((int)(myr.h.ah))
      { case 40 : DEBUG("Errore I/O !! Manca la carta !!",hDlg); return 5;
	case 144: DEBUG("Stampante OK!!",hDlg); return 0;
	case 8  : DEBUG("Carta OK ! Ma stampante non e' selezionata...",hDlg);
return 5;
	case 48 : DEBUG("Attenzione! La stampante non e' accesa...",hDlg); return 5;
      };
return 5; // per default torno messaggio di errore
};
void  Reset_Stampante(char *LPTX,HWND hDlg,char *NomeFile)
{infile.open (NomeFile,ios::nocreate);
 if (!infile)
   { DEBUG("Attenzione !!  PROBLEMI CON LA CARTA !!",hDlg);return; };
 printer.open(LPTX);
 printer << (char)27;  /* resettare la stampante */
 printer << (char)64;  printer.close();
 return;
};
void  Stampa_TXT(char * NomeFile,char *LPTX,HWND hDlg,int flag)
// flag =0  default
// flag =1  Cancello il file stampato dopo la stampa
// flag =2  Compresso
// flag =3  Se foglio singolo =true
{if (!Controlla_Stampante(hDlg))
   { DEBUG("Stampante OK !!",hDlg);
   }
 else  { DEBUG("Errore sulla stampante...",hDlg); return ; };
if (strcmp(NomeFile,"")==0) return;
infile.open (NomeFile , ios::nocreate);
if (!infile) 
     { DEBUG("ERRORE!! Il file non esiste (forse percorso errato)",hDlg); 
       infile.close();      
       return; };
 printer.open(LPTX);
 printer << (char)27;  /* resettare la stampante */
 printer << (char)64;
 printer << (char)27; printer << (char)120;  /* modo draft */
 printer << (char)0;
 printer << (char)27; printer << (char)77;  /* per settare il modo  pitch
12  */
 printer << (char)28;  /* alta velocita' */
 printer << (char)83;  printer << (char)1;
 printer << (char)27; printer << (char)108;  /* per settare margine
sinistro  */
 printer << (char)6;
 printer << (char)27; printer << (char)83;  /* altezza dei caratteri */
 printer << (char)1;
 printer << (char)27;
 printer << (char)43;  /* spaziatura tra le righe */
 printer << (char)37;
 if (flag==2)   // si compresso
 {//er << (char)27;
  //printer << (char)77;  /* per settare il modo  pitch 12  */
  //  printer << (char)27;
  //printer << (char)83;  /* altezza dei caratteri */
  //printer << (char)1;
 }
 else
 {
 };
 while (infile.get(un_car))	 printer.put(un_car);
 if (flag==3)   // foglio singolo = TRUE ?
    { printer << (char)12; }  /* salta alla pagina dopo */
    else
    { printer << (char)13;  printer << (char)13;
      printer << (char)13; };
infile.close();  
printer.flush(); printer.close();
if (flag==1)  unlink(NomeFile);
return;
};
// Esempio: 	Stampa_TXT("pippo.txt","LPT1",hDlg,0);
// ########################################################
COME DEVO FARE PER CORREGGERE QUESTO CODICE?
E' BEN accetto qualsiasi piccolo suggerimento!!!	
 
 
						GRAZIE MILLE.
							Maurizio.
 
cri...@hotmail.com
*****************************************************************************
+                                                                          
+	HAPPY SURFING ON THE NET !!                     	Ciao!!!
+        								
+	                                by
+
+							  C R I X 98
+
***************************************************************************
--
Posted from 
mta2.iol.it
 [195.210.91.152]
via Mailgate.ORG Server - 
http://www.mailgate.org

...
