Stampa su c++

di il
3 risposte

Stampa su c++

Salve a tutti.
Ho un grande problema e spero che mi siate di grande aiuto.
Ho fatto un piccolo programma di gestione magazzino in c++, sono riuscito a stampare (fatture, preventivi) su una stampante collegata in LPT ma non riesco in alcun modo a stampare su stampante USB. sarei grato se qualcuno mi desse dei suggerimenti oppure mi desse un indirizzo internet dove posso trovare informazioni che risolvino questo mio problema.


Grazie e ciao a tutti

3 Risposte

  • Re: Stampa su c++

    Ciao frank spero di esserti di aiuto.
    Io cerco di programmare in C penso sia +o- la stessa cosa.Ho creato un programma per il SuperEnalotto modesto.E per far fronte al problema ho usato uno strattagemma.Sempre che tu usi Winzoz fino a winME.Il resto non ho provato.Dovresti aprire uno stream su win.ini e cercare con le dovute funzioni la stringa[PrinterPorts] e di li trovare la porta collegata alla stampante USB,rete,LPT1 non fa differenza.Poi trovata la porta apri uno stream sulla porta collegata come faresti con LPT1.Se hai bisogno di vedere la mia funzione rigorosamente in c chiedi pure.
    Ciao.



    Modificato da: AB77 il 23/02/2003 alle 10:27:11

    Modificato da: AB77 il 23/02/2003 alle 10:29:06
  • Re: Stampa su c++

    Grazie per la risposta.
    Saresti cosi gentile da farmi vedere il codice della funzione che hai usato in c.

    Grazie ancora.
  • Re: Stampa su c++

    Ciao frank ti faccio vedere la funzione ma devi concentrarti su la parte che ti interessa, avendo creato io la funzione l'ho impostata per funzionare sul mio programma ma è comunque molto commentata perché dimentico sempre tutto (:

    /******************************Funzione PortStampSel**************************/
    char* PortStampSel(void)

    {

    FILE* Port; //Puntatore a file
    char NomeStamp[80]; //Pontatore nome stampante
    char Stampante[80]; //Nome stampante
    char *Porta; //Nome per selettore porta collegamento
    char PortaLPT[80]; //Nome porta
    int i; //contatore per for




    Jtextcolor(Fin_Norm.Fin_Bord_Col); //colore bordo

    Jtextback(Fin_Norm.Fin_Bac_Col); //colore di fondo

    ApreFinestra(Fin_Smol.XS-6,Fin_Smol.YS,Fin_Smol.XD,Fin_Smol.YD);

    Jtextcolor(Fin_Smol.Fin_Tex_Col);

    /***************************************************************************/

    Jgotoxy(25,24);//posizione scrittura

    //Messaggi di ricerca e controllo

    if( (Port=fopen("C:/windows/win.ini","rb")) == NULL )

    { CambiaCol("Errore nel set stampante!",YELLOW+LAM);

    Aspetta(70);

    ChiudeFinestra();

    return "Error";

    }else while( !feof(Port) )

    {

    if ( (strstr("[PrinterPorts]",fgets(NomeStamp,15,Port)) )//trova corrispondenza
    != NULL )
    {
    fgets(NomeStamp,80,Port);//Ripulisce il restante della stringa
    fgets(NomeStamp,80,Port);//Copia l'interessante
    break;
    }
    }

    if( strlen(NomeStamp) < 2 )

    {

    Wputs("No Printer");//non c'&#352; stampante

    Aspetta(70);

    ChiudeFinestra();

    fclose(Port);

    return "Error";

    }


    for(i=0;(NomeStamp[i] != '=') && (!feof(Port));i++)//Mostra solo il nome della Stampante

    {

    Stampante[i]=NomeStamp[i];
    Stampante[i+1]='\0';
    }

    Porta=memchr(NomeStamp,',',40); //TROVA LA PORTA DI COLLEGAMENTO STAMPANTE


    for(i=1;(Porta[i] != ':' && (Porta[i] != ',') &&
    (!feof(Port)) ); i++)

    {

    PortaLPT[i-1]=Porta[i];
    PortaLPT[i]='\0';
    }


    Jcursor(0);

    Jgotoxy(25,23);

    { //STAMPA RISULTATO RICERCA

    Wputs("Stampante riconosciuta: "); //stampa il risultato
    Jgotoxy(25,25);//posizione scrittura
    Wputs(Stampante);
    Jgotoxy(25,27);//posizione scrittura
    Wputs("Sulla porta:");
    Wputs(PortaLPT);
    }


    fclose(Port);

    Aspetta(60); //TICK

    ChiudeFinestra();

    Jcursor(1);

    return PortaLPT;

    }


    per chiarimenti non esitare.




Devi accedere o registrarti per scrivere nel forum
3 risposte