| 
                     
                      | Problema winspool.drv |   
                      | 
                           
                            |  marco |  06/06/2004 | Difficoltà: 
                                Principiante |  |  
                    
                    Intanto  
                    
                    ciao  
                    
                    a  
                    
                    tutti,  
                    
                    contento  
                    
                    di  
                    
                    trovarmi  
                    
                    tra  
                    
                    tanti  
                    
                    esperti  
                    
                    e  
                    
                    competenti.  
                    
                      
                    Spero  
                    
                    di  
                    
                    fare  
                    
                    tanta  
                    
                    strada  
                    
                    insieme  
                    
                    a  
                    
                    voi.
 Il  
                    
                    mio  
                    
                    problema  
                    
                    è  
                    
                    principalmente  
                    
                    questo:
 Utilizzo  
                    
                    VB6,  
                    
                    devo  
                    
                    stampare  
                    
                    su  
                    
                    etichette,  
                    
                    ho  
                    
                    bisogno  
                    
                    che  
                    
                    la  
                    
                    stampa  
                    
                    si  
                    
                    fermi  
                    
                    dopo  
                    
                    ogni  
                    
                    battitura,  
                    
                    senza  
                    
                    scrollarmi  
                    
                    tutto  
                    
                    la  
                    
                    pagina  
                    
                    fuori,  
                    
                    e  
                    
                    fin  
                    
                    qui  
                    
                    il  
                    
                    problema  
                    
                    l'ho  
                    
                    risolto.  
                    
                    Ecco  
                    
                    appunto  
                    
                    il  
                    
                    codice  
                    
                    che  
                    
                    uso  
                    
                    per  
                    
                    eseguire  
                    
                    la  
                    
                    stampa  
                    
                    line  
                    
                    by  
                    
                    line:
 Option  
                    
                    Explicit
 
 Private  
                    
                    Type  
                    
                    DOCINFO
 pDocName  
                    
                    As  
                    
                    String
 pOutputFile  
                    
                    As  
                    
                    String
 pDatatype  
                    
                    As  
                    
                    String
 End  
                    
                    Type
 
 Private  
                    
                    Declare  
                    
                    Function  
                    
                    ClosePrinter  
                    
                    Lib  
                    
                    "winspool.drv"  
                    
                    (ByVal  
                    
                    _
 hPrinter  
                    
                    As  
                    
                    Long)  
                    
                    As  
                    
                    Long
 Private  
                    
                    Declare  
                    
                    Function  
                    
                    EndDocPrinter  
                    
                    Lib  
                    
                    "winspool.drv"  
                    
                    (ByVal  
                    
                    _
 hPrinter  
                    
                    As  
                    
                    Long)  
                    
                    As  
                    
                    Long
 Private  
                    
                    Declare  
                    
                    Function  
                    
                    EndPagePrinter  
                    
                    Lib  
                    
                    "winspool.drv"  
                    
                    (ByVal  
                    
                    _
 hPrinter  
                    
                    As  
                    
                    Long)  
                    
                    As  
                    
                    Long
 Private  
                    
                    Declare  
                    
                    Function  
                    
                    OpenPrinter  
                    
                    Lib  
                    
                    "winspool.drv"  
                    
                    Alias  
                    
                    _
 "OpenPrinterA"  
                    
                    (ByVal  
                    
                    pPrinterName  
                    
                    As  
                    
                    String,  
                    
                    phPrinter  
                    
                    As  
                    
                    Long,  
                    
                    _
 Byval  
                    
                    pDefault  
                    
                    As  
                    
                    Long)  
                    
                    As  
                    
                    Long
 Private  
                    
                    Declare  
                    
                    Function  
                    
                    StartDocPrinter  
                    
                    Lib  
                    
                    "winspool.drv"  
                    
                    Alias  
                    
                    _
 "StartDocPrinterA"  
                    
                    (ByVal  
                    
                    hPrinter  
                    
                    As  
                    
                    Long,  
                    
                    Byval  
                    
                    Level  
                    
                    As  
                    
                    Long,  
                    
                    _
 pDocInfo  
                    
                    As  
                    
                    DOCINFO)  
                    
                    As  
                    
                    Long
 Private  
                    
                    Declare  
                    
                    Function  
                    
                    StartPagePrinter  
                    
                    Lib  
                    
                    "winspool.drv"  
                    
                    (ByVal  
                    
                    _
 hPrinter  
                    
                    As  
                    
                    Long)  
                    
                    As  
                    
                    Long
 Private  
                    
                    Declare  
                    
                    Function  
                    
                    WritePrinter  
                    
                    Lib  
                    
                    "winspool.drv"  
                    
                    (ByVal  
                    
                    _
 hPrinter  
                    
                    As  
                    
                    Long,  
                    
                    pBuf  
                    
                    As  
                    
                    Any,  
                    
                    Byval  
                    
                    cdBuf  
                    
                    As  
                    
                    Long,  
                    
                    _
 pcWritten  
                    
                    As  
                    
                    Long)  
                    
                    As  
                    
                    Long
 
 Dim  
                    
                    lhPrinter  
                    
                    As  
                    
                    Long
 Sul  
                    
                    pulsante  
                    
                    inserisco  
                    
                    questo:
 Private  
                    
                    Sub  
                    
                    Command1_Click()
 Dim  
                    
                    lReturn  
                    
                    As  
                    
                    Long
 Dim  
                    
                    lpcWritten  
                    
                    As  
                    
                    Long
 Dim  
                    
                    sWrittenData  
                    
                    As  
                    
                    String
 Dim  
                    
                    lDoc  
                    
                    As  
                    
                    Long
 Dim  
                    
                    MyDocInfo  
                    
                    As  
                    
                    DOCINFO
 lReturn  
                    
                    =  
                    
                    OpenPrinter(Printer.DeviceName,  
                    
                    lhPrinter,  
                    
                    0)
 If  
                    
                    lReturn  
                    
                    =  
                    
                    0  
                    
                    Then
 MsgBox  
                    
                    "The  
                    
                    Printer  
                    
                    Name  
                    
                    you  
                    
                    typed  
                    
                    wasn't  
                    
                    recognized."
 Exit  
                    
                    Sub
 End  
                    
                    If
 MyDocInfo.pDocName  
                    
                    =  
                    
                    "AAAAAA"
 MyDocInfo.pOutputFile  
                    
                    =  
                    
                    vbNullString
 MyDocInfo.pDatatype  
                    
                    =  
                    
                    vbNullString
 lDoc  
                    
                    =  
                    
                    StartDocPrinter(lhPrinter,  
                    
                    1,  
                    
                    MyDocInfo)
 Call  
                    
                    StartPagePrinter(lhPrinter)
 
 sWrittenData  
                    
                    =  
                    
                    "How's  
                    
                    that  
                    
                    For  
                    
                    Magic  
                    
                    !!!!"  
                    
                    +  
                    
                    Chr(10)  
                    
                    +  
                    
                    Chr(20)
 lReturn  
                    
                    =  
                    
                    WritePrinter(lhPrinter,  
                    
                    Byval  
                    
                    sWrittenData,  
                    
                    _
 Len(sWrittenData),  
                    
                    lpcWritten)
 
 
 lReturn  
                    
                    =  
                    
                    EndPagePrinter(lhPrinter)
 lReturn  
                    
                    =  
                    
                    EndDocPrinter(lhPrinter)
 lReturn  
                    
                    =  
                    
                    ClosePrinter(lhPrinter)
 End  
                    
                    Sub
 Il  
                    
                    programma  
                    
                    esegue  
                    
                    tutto  
                    
                    in  
                    
                    maniera  
                    
                    abbastanza  
                    
                    semplice,  
                    
                    proprio  
                    
                    come  
                    
                    volevo  
                    
                    io...ehm...tranne  
                    
                    un  
                    
                    piccolo  
                    
                    particolare  
                    
                    (se  
                    
                    non  
                    
                    non  
                    
                    sarei  
                    
                    qui).  
                    
                    Il  
                    
                    carattere.  
                    
                    Come  
                    
                    ca##!$  
                    
                    faccio  
                    
                    a  
                    
                    impostare  
                    
                    la  
                    
                    dimensione  
                    
                    del  
                    
                    carettere  
                    
                    che  
                    
                    deve  
                    
                    essere  
                    
                    stampato?  
                    
                    La  
                    
                    stampante  
                    
                    utilizza  
                    
                    il  
                    
                    carattere  
                    
                    di  
                    
                    default,  
                    
                    credo  
                    
                    sia  
                    
                    12,  
                    
                    ma  
                    
                    per  
                    
                    impostarlo  
                    
                    a  
                    
                    10,  
                    
                    oppure  
                    
                    ad  
                    
                    8,  
                    
                    come  
                    
                    devo  
                    
                    fare????
 Spero  
                    
                    di  
                    
                    essere  
                    
                    stato  
                    
                    chiaro  
                    
                    nel  
                    
                    porre  
                    
                    la  
                    
                    domanda.  
                    
                    A  
                    
                    risentirci  
                    
                    a  
                    
                    presto.
 Hola  
                    
                    hombre.
 
 
         |