Autore Topic: [Risolto] Ma come si stampa in gambas?  (Letto 588 volte)

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 215
  • Non è mai troppo tardi!
    • Mostra profilo
[Risolto] Ma come si stampa in gambas?
« il: 15 Luglio 2017, 21:01:20 »
Forse non sono ancora nell'ordine giusto delle idee, ma....... come si stampa in gambas?

Per ora vi pongo il primo quesito, il mio sistema è dotato di due stampanti: una inkjet connessa attraverso una normale USB (HP Deskjet 5440) ed una ad impatto che si raggiunge tramite una parallela LPT(0), una ormai anziana Epson LQ 500. Come posso indirizzare il canale di stampa in modo da poter raggiungere la seconda?

Per ora mi fermo qui, non voglio mettere troppa carne al fuoco, ma non vi nascondo che ho un mucchio di domande da porvi, per ora questo argomento è ancora estremamente criptico e ciò che è peggio non riesco a trovare tutorial in grado di dissipare i mie dubbi, ne tanto meno ho trovato tra i listati dei codici che mi diano lo spunto per superare l'ostacolo.

Che dire.... cioè, che scrivere, non posso che dirvi grazie!

Ciao.
« Ultima modifica: 22 Luglio 2017, 13:51:11 da Franco_da_vc »
Bye by Afo

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Ma come si stampa in gambas?
« Risposta #1 il: 15 Luglio 2017, 21:46:12 »
In via generale l'invio di dati per la stampa su stampanti richiede l'utilizzo delle risorse della Classe speciale "Printer".

http://gambaswiki.org/wiki/comp/gb.qt4/printer
http://gambaswiki.org/wiki/howto/print

La nostra Wiki (che vi esorto sempre comunque a consultare) possiede anche pagine più specifiche sull'argomento:
http://www.gambas-it.org/wiki/index.php?title=Printer
http://www.gambas-it.org/wiki/index.php?title=Guide_della_comunit%C3%A0#Stampa_-_Printer
http://www.gambas-it.org/wiki/index.php?title=Stampare_un_file_PDF
http://www.gambas-it.org/wiki/index.php?title=Stampare_la_pagina_web_caricata


Come posso indirizzare il canale di stampa in modo da poter raggiungere la seconda?
A mio giudizio mediante il Metodo ".Configure( )" della predetta Classe "Printer", il quale consente di scegliere in modo manuale dalla classica finestra di dialogo la stampante da utilizzare:
http://gambaswiki.org/wiki/comp/gb.qt4/printer/configure
Puoi provare anche la proprietà ".Name" della Classe "Printer", la quale identifica il dispositivo di stampa dove i dati da stampare verranno inviati:
http://gambaswiki.org/wiki/comp/gb.qt4/printer/name?l=it

Va aggiunto che facendo una ricerca su questo forum e su quelli stranieri, nonché nelle loro rispettive Wiki, compaiono numerosi risultati sull'argomento da te posto.
« Ultima modifica: 28 Agosto 2023, 10:45:49 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Ma come si stampa in gambas?
« Risposta #2 il: 15 Luglio 2017, 23:14:12 »
Aggiungo solo che negli esempi di Gambas c'è un progetto (Printing) che ne spiega il funzionamento.
Potresti anche dare un occhio al progetto FormattaG a proposito del quale ponevo una domanda hai me inascoltata.

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Ma come si stampa in gambas?
« Risposta #3 il: 16 Luglio 2017, 00:01:34 »
V'è pure tutta la questione, varie volte sollevata, attinente alla corrispondenza fra quanto mostrato in video e quanto stampato su carta:
http://www.gambas-it.org/smf/index.php?topic=3259
http://www.gambas-it.org/smf/index.php?topic=4519

Insomma l'argomento "stampa" è vasto: ce n'è da studiare !   
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 215
  • Non è mai troppo tardi!
    • Mostra profilo
Re:Ma come si stampa in gambas?
« Risposta #4 il: 16 Luglio 2017, 21:06:05 »
Come al solito da voi trovo una grande collaborazione e di questo non posso che attestare la vostra disponibilità,  :ok:

Se ho capito bene in gambas si identifica le varie stampanti con il nome della stessa e quindi se io mi riferisco alla configurazione delle stampanti eseguite con il sistema le mie due stampanti si chiamano: la prima hpdeskjet5400series e la seconda epsonLQ500.

Quindi se io scrivo Printer.Name = "epsonLQ500" in automatico mi indirizzo sulla stampante ad aghi (correggetemi se scrivo castronerie)?

Per ora mi pare tutto (se ho capito ciò che mi state indicando).

Saluti.
Bye by Afo

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Ma come si stampa in gambas?
« Risposta #5 il: 16 Luglio 2017, 21:27:04 »
Quindi se io scrivo Printer.Name = "epsonLQ500" in automatico mi indirizzo sulla stampante ad aghi (correggetemi se scrivo castronerie)?
Come hai ben compreso, bisogna passare l'esatto nome identificatore del dispositivo della stampante, che non necessariamente corrisponde al nome della stampante.

Devi fare qualche prova empirica, magari anche servendoti dei codici presenti in questa pagina della nostra Wiki:

http://www.gambas-it.org/wiki/index.php?title=Individuare_le_stampanti_presenti_nel_proprio_sistema
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Ma come si stampa in gambas?
« Risposta #6 il: 16 Luglio 2017, 22:13:11 »
Con questo codice dovresti poter mostrare in una combo tutte le stampanti collegate al tuo computer e poi scegliere da li.

Codice: [Seleziona]
Public Sub Form_Open()

  Dim sNomeStampante, s As String
  Dim i, iA As Integer
 
  sNomeStampante = Printer.Default
  If sNomeStampante = "" Then
     sNomeStampante = "Nessuna stampante"
  Endif
  ' Riepe la combo con i nomi delle eventuali stampanti.
  ' Qui potrei controllare all'avvio e se non ce ne sono evitare di mostrare fax e stampanti pdf
  For i = 0 To Printer.List.Count - 1
    s = Printer.List[i]
    ' Controllo che non siano false stampanti (fax o pdf).
    iA = RInStr(UCase$(s), "FAX")
    If iA = 0 Then
        iA = RInStr(UCase$(s), "PDF")   
        If iA = 0 Then       
           ComboBox1.Add(s, i)
        End If
    Endif
  Next
  If sNomeStampante <> "Nessuna stampante" Then
    ComboBox1.Text = sNomeStampante
  Endif 

End

 :ciao:
« Ultima modifica: 16 Luglio 2017, 22:21:02 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro