Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [VB6] Info su stampante

    Ciao amici, ho scritto con VB6 un programmino per ricavare info (area stampabile, nome stampante, margini..) sulla stampante di default. Ci avevo provato prima con vb.net ma la visualizzazione delle informazioni sulla stampante era molto più lenta. Come mai?
    Allora VB6 non è del tutto superato?
    Grazie.
    Giorgio
    L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, e poi ti spiega la lezione. (Oscar Wilde)

  2. #2
    Per poterti dare qualunque risposta bisogna vedere il codice con cui effettui questa operazione in VB6 e in VB.NET (e in ogni caso non credo che questo c'entri qualcosa con il fatto che VB6 sia superato o meno).
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Originariamente inviato da MItaly
    Per poterti dare qualunque risposta bisogna vedere il codice con cui effettui questa operazione in VB6 e in VB.NET (e in ogni caso non credo che questo c'entri qualcosa con il fatto che VB6 sia superato o meno).
    Ciao MItaly,
    ti ringrazio per la risposta.
    Dunque: il problema da me esposto si presenta soltanto nel mio caso specifico: la stampante che io utilizzo normalmente è una stampante fisicamente collegata a un notebook che è in un'altra stanza. Io sono conneso in rete wireless alla stampante.
    Comunque con VB6 il problema non si presenta mai .
    Il codice che utillizzo in VB.net è questo:

    codice:
    Public Class Form1
    
        Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Me.TextBox1.Text = Math.Round(Me.PrintDocument1.DefaultPageSettings.PaperSize.Width * 2.54 / 100, 2)
            Me.TextBox2.Text = Math.Round(Me.PrintDocument1.DefaultPageSettings.PaperSize.Height * 2.54 / 100, 2)
            Me.TextBox3.Text = Math.Round(Me.PrintDocument1.DefaultPageSettings.PrintableArea.Width * 2.54 / 100, 2)
            Me.TextBox4.Text = Math.Round(Me.PrintDocument1.DefaultPageSettings.PrintableArea.Height * 2.54 / 100, 2)
            Me.TextBox5.Text = Me.PrintDocument1.DefaultPageSettings.PrinterResolution.Y
            Me.Label1.Text = Me.PrintDocument1.PrinterSettings.PrinterName
        End Sub
    End Class

    Il codice che utilizzo in VB6 è:

    codice:
    Private Sub Form_Load()
    Label1.Caption = Printer.DeviceName
    Printer.ScaleMode = vbMillimeters
    Me.txtResolution = Round(Printer.ScaleX(Printer.Width, vbTwips, vbPixels) / _
             Printer.ScaleX(Printer.Width, vbTwips, vbInches))
    Me.txtForWidth = Round(Printer.ScaleX(Printer.Width, vbTwips, vbMillimeters), 2)
    Me.txtForHeight = Round(Printer.ScaleY(Printer.Height, vbTwips, vbMillimeters), 2)
    Me.txtArStWidth = Round(Printer.ScaleWidth, 2)
    Me.txtArStHeight = Round(Printer.ScaleHeight, 2)
    Me.txtMargLeft = Round(Printer.ScaleX(Printer.CurrentX, vbTwips, vbMillimeters), 2)
    Me.txtMargTop = Round((Printer.ScaleY(Printer.Height, vbTwips, vbMillimeters) - Printer.ScaleHeight), 2) / 2
    End Sub
    e non mi da mai problemi, ripeto. Quindi in questo caso non mi sembrebbe tanto superato VB6.
    Giorgio
    L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, e poi ti spiega la lezione. (Oscar Wilde)

  4. #4
    Il rallentamento quando si verifica esattamente? Ogni volta che viene eseguito il codice che hai mostrato, durante la creazione dell'oggetto PrintDocument1 (ossia nel costruttore del form) o in altri punti del codice?
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Ciao,
    il rallentamento si verifica ogni volta che viene eseguito questo codice codice.
    Giorgio
    L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, e poi ti spiega la lezione. (Oscar Wilde)

  6. #6
    Grazie a tutti.
    Giorgio
    L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, e poi ti spiega la lezione. (Oscar Wilde)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.