Oppure

Loading
08/09/11 11:37
Il Totem
Come ti ho già ribadito più volte, se non esiste un programma adatto alla stampa associato a quel tipo di file, non puoi stamparla. Se nel registro di sistema non esiste la voce print allora anche se il programma c'è, comunque il file non verrà stampato.
D'altro canto, è molto semplice stampare le immagini con l'altro metodo.
aaa
08/09/11 14:46
wuolfit
Grazie mille ho capito ..... ho un ultima domanda io avrei la necessità che la mia stampa non venga fatta dalla stampante predefinita ma da una che scelgo io di cui conosco il nome è possibile far si che le 4 righe che tu hai scritto, facendo le dovute modifiche mi stampino su la stampante che gli indico io e non quella di default? Altrimenti se scegliessi di usare PrintDocument qual'è il parametro che gli dovrei passare per dirgli "stampami questo file"? Grazie mille
aaa
09/09/11 9:16
Il Totem
Per l'ennesima volta, devi lasciar fare al programma delegato. Lui deciderà se mostrare il dialog di scelta della stampante.
Guarda qui per l'altro metodo:
totemslair.org/guide/…
aaa
09/09/11 12:05
wuolfit
Scusa Totem hai ragione mi sono espresso male, quello che intendevo dire quando ti ho detto che mi serviva stampare da una stampante diversa da quella predefinita non intendevo dire che mi deve aprire il print dialog per farmi scegliere la stampante su cui mandare il documento in stampa, ma a me serve che passandogli il nome della stampante da sorgente, cosa che con PrintDocument1 posso fare tranquillamente con il comando :

PrintDocument1.PrinterSettings.PrinterName = "nomestampante"


lui stampi il file sulla stampante che ho definito io programmatore in fase di sviluppo, senza far selezionare all'utente alcun che e mantenendo invariata la periferica di default.
Ora ho due problemi che ti espongo di seguito :

1) se decido di usare PrintDocument1 come faccio a dire al programma stampami il file che l'utente ha selezionato dalla OpenFileDialog senza usare la PrintDialog?

2) se invece decido di usare il metodo creato da te posso dirgli non usare la stampante predefinita, ma questa che ti dico io come con PrintDocument1?

Grazie mille
aaa
10/09/11 10:08
Il Totem
1) Semplicemente, non usi la printdialog...
2) No. Non puoi dire nulla al programma. Nulla. Niente. Nichts. Nisba. Nada.
aaa
14/09/11 8:21
wuolfit
Quindi Totem fammi capire bene, in visual basic net hanno tolto delle funzioni che erano presenti in vb6 ????? Quindi avrebbero limitato l'utente invece di migliorare ed aggiungere nuove funzioni ????
Affermo questo perché se io provo a fare ciò che ti ho chiesto in vb6 il sorgente del bottone che mi fa la stampa di un file usando la stampante che gli indico io senza usare la print dialog e senza cambiare la stampante di default sarebbe il seguente :

Private Sub btnStampa_Click()
    Dim objPrinter As Printer
    Dim TempPrinter As Printer
    Dim imgStampa As StdPicture
    Set imgStampa = LoadPicture("c:\miaimmagine.jpg")
    For Each objPrinter In Printers
        If objPrinter.DeviceName = "nomestampante" Then
            Set TempPrinter = objPrinter
            Exit For
        End If
    Next
    If Not TempPrinter Is Nothing Then
        Set Printer = TempPrinter
    End If
    Printer.PaintPicture imgStampa, 0, 0, 12300, 17200
    Printer.EndDoc
End Sub


ovviamente in questo caso voglio stampare un immagine, ma se volessi stampare un qualsiasi altro file con qualche piccola modifica il risultato rimarrebbe identico, cioé premendo il bottone stampa senza aprire programmi esterni e senza scegliere la stampante il file viene stampato proprio nella stampante che voglio io (scusate il giro di parole e le ripetizioni), c'è da dire anche che l'ho provato facendo selezionare all'utente un file (quindi non potevo mettere path e nome del file da codice visto che non li conoscevo) ebbene anche passando path e nome file con una variabile di tipo stringa in vb6 riesco a fare ciò che volevo, quindi ti ripongo la domanda che forse ho scritto in una maniera non chiara....come faccio a dire a PrintDocument1 stampami il file che l'utente ha selezionato dalla OpenFileDialog? Grazie
aaa
14/09/11 9:40
Il Totem
VB.NET non è la continuazione di VB6, non è un suo successore. E' un linguaggio nuovo che da VB6 eredita solo la sintassi. Nessuna funzionalità è stata tolta o aggiunta, migliorata o limitata. Il modo di affrontare i problemi è diverso, quindi anche le soluzioni cambiano.

Puoi andare avanti all'infinito a fare quella domanda e io ti darò sempre la medesima risposta. Piuttosto che continuare a sbattere la testa contro il muro, perché non decidi di girargli attorno? Leggi i link che ti ho dato. Le soluzioni ci sono, ma se non guardi più in là del tuo naso non riuscirai a vederle.
aaa