Newsgroup: it.comp.lang.c++
Titolo: STREAM SU STAMPANTE (C++)

Qualcuno sa indicarmi qualche esempio di codice per indirizzare l'output
di un file su stream sulla stampante o su un dischetto? Consultando il
manuale ho trovato solo su video
Grazie a chi mi puņ aiutare.  
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Grazie a chi mi puņ aiutare.
I believe it depends on your operating system. On MS Windows, you can try:
#include <fstream>
std::ofstream floppy("a:\\try.txt");
if (floppy) {
	floppy << "try text\n";
	floppy << "try text2\n";
	floppy << "try text3\n";
	floppy << "try text4\n";
}
std::ofstream printer("LPT1:");
if (printer) {
	printer << "try text\n";
	printer << "try text2\n";
	printer << "try text3\n";
	printer << "try text4\n";
}
For redirecting the output, please have a look at:
http://groups.google.it/groups?hl=en&selm=560elj%24e93%241%40news.belwue.de
Regards,
Syde

 manuale ho trovato solo su video
L'unica cosa che puoi fare in C++ standard è redirigere l'output su file:
anche quando stampi a video non fai altro che indirizzare l'output sul file
stdout.
Devi rifarti a funzioni dipendenti dalla piattaforma che utilizzi, e di
conseguenza chiedere sul newsgroup specifico.
Ciao,
Cecco

Grazie a tutti!
Ciao


 }
Con il dischetto funziona, ma con la stampante no.Non la vede.Può
essere un problema di timeout?La mia stampante è lenta.Ecco il mio
codice:
#include <iostream>
#include<fstream>
using namespace std;
int main()
{
	ofstream out("TRY.txt");
	ifstream in ("TRY.txt");
	ofstream floppy("a:\\TRY.txt");
	ofstream printer("LPT1:\\TRY.txt");
	char cParola1[5];
	char cParola2[9];
	double fNum = 0;
	char cTutto[25];
 
	if(!out.is_open()) {cout << "ERRORE DI APERTURA OUT!"; return 1;}
	out << "CIAO "<< endl;
	out << " ANGOLO " << "45.23" << endl;
	out.close();
	for (int iCount = 0; ++iCount < 25;)
		cTutto[iCount] = '\0';
	if(!in.is_open()) {cout << "ERRORE DI APERTURA IN!"; return 1;}
 
	in >> cParola1;
	in >> cParola2 >> fNum;
	cout << cParola1 << " " << cParola2 << " " << fNum << endl;
	in.seekg(0);
	in.read((char *) &cTutto, sizeof(cTutto));
	cout << "cTutto: " << cTutto; 
 
	if (!floppy)
	{
		cout << "INSERIRE IL DISCHETTO!" << endl;
	}
	else
	{
		in.seekg(0);
		in.read((char *) &cTutto, sizeof(cTutto));
		floppy << "cTutto" << cTutto << endl;
	}
	if (!printer) 
	{
		cout << "NON ESISTE QUESTO STREAM" << endl;
	}
	else
	{
		in.seekg(0);
		in.read((char *) &cTutto, sizeof(cTutto));
		printer << "cTutto" << cTutto << endl;
	}
	in.close();
	return 0;
}
Grazie ancora, ciao.


Ciao

 Ehi, sei mica la tipa di "Tre parole"???
NNNooooooo.
Ma non sono riuscita a stampare.Mi aiutate lo stesso?


 	...
scusi il mio cattivo italiano.
Saluti,
Syde.

 wrote in message
news:6d5a16d1.02050...@posting.google.com
Grazie Syde, scrivi pure in inglese, va benissimo.
Ho provato anche senza specificare il nome del file all'apertura dello
stream, ma non funziona.Su dischetto invece funziona. Mi hanno consi-
gliato di disattivare lo spooler della stampante ed impostarla in mo-
dalità 'Row'. 
Infatti, ho provato anche con il Dos e fa le stesse cose.
Cosa ne pensi?
Ciao


 > codice:
Scrivi pure in inglese, va benissimo.
Ho provato anche senza il nome del file sull'apertura dello stream
Ho provato anche col Dos, su dischetto funziona 
ma la stampante fa un giro a vuoto e poi non stampa.Mi hanno suggerito
di disattivare lo spooler di stampa ed impostare "Row", che ne pensi?


 di disattivare lo spooler di stampa ed impostare "Row", che ne pensi?
Sembra che sia un problema di stampante o di configurazione.
Si riesce a stampare da alri applicazioni DOS ?
esempio, da console (finestra DOS):
DIR > LPT1:
Sotto Windows95/98, all'installazione del driver di una stampante, č
possibile specificare se abilitare o meno la stampa da DOS. Si
potrebbe provare a rinstallare il driver e attivare la stampa da DOS.
Pero, in tal caso, sarebbe un problema legato al sistema operativo, e
non piu alla programmazione C++.
Saluti,
Syde.

 Syde.
In effetti lo stream lo scrive, in Dos mi dice 1 file copiato, ma la 
stampante non stampa.In C++ lo stream viene aperto correttamente e non
stampa.Come dici tu, è il sistema operativo e devo vedere se la stam-
pante mi consente di settare la stampa su Dos.
Di nuovo grazie per la disponibilità.
Ciao e buon week end
