Il linguaggio di programmazione Delphi
 

Stampa su stampante di rete

Dario A. 30 Mar 2017 14:41
Ciao a tutti,

quello che sto cercando di fare è creare una connessione verso una stampante
termica di cui conosco l'indirizzo IP e la porta senza utilizzare drivers ne (di
conseguenza) il TPrinterSetupDialog. Dovrei aprire la connessione e quindi
inviare direttamente delle stringhe di stampa alla stampante.

Qualcuno di voi si è mai imbattuto in questo genere di cose? Idee?

Surfando su Internet immagino che gli oggetti TPrinter - TPrinterDevice facciano
al caso mio, ma non ho trovato il modo per indicargli l'indirizzo IP della mia
stampante.

Utilizzo Delphi 10 Berlin.


Grazie mille a coloro che mi daranno qualche consiglio.

Dario
Dario A. 30 Mar 2017 15:53
Il giorno giovedì 30 marzo 2017 14:41:18 UTC+2, Dario A. ha scritto:

Forse intravedo qualcosa...

Continuando a googlare ho scovato che una soluzione può essere l'utilizzo del
IdTCPClient. Ho quindi scritto questo b*****issimo codice:

procedure TFrmMain.Button5Click(Sender: TObject);
begin

try
IdTCPClient.Connect;

IdTCPClient.SendCmd('hello world');
IdTCPClient.SendCmd('how are you today?');


IdTCPClient.Disconnect;
except
showmessage('Errore di connessione alla stampante');
end;

end;

Al componente Indy ho assegnato alla proprietà Host l'indirizzo IP della mia
stampante, alla Port (ovviamente) il numero di porta e ho settato il timeout a
300.

Risultato:

Mi viene stampata la prima riga (Hello word) e stop... il programma si inchioda
lì, come se fosse in loop. Perché? Dove sbaglio?


Dario
Alberto Salvati 30 Mar 2017 15:58
TIdTcoClient ha altri metodi per inviare stringhe, stream etc.
Prova con uno di quelli e vedi cosa succede.

Altra cosa.
So che era solo un test veloce, ma ti suggerisco di gestire l'eccezione in
questo modo:


except
on E:Exception do begin
showmessage('Errore di connessione alla stampante:' + e.ClassName + ' ' +
e.message);
end;

A.
brunello 30 Mar 2017 16:13
prova con IdTCPClient.SendCmd('hello world' + #13 + #10);

>
> IdTCPClient.SendCmd('hello world');

Links
Giochi online
Dizionario sinonimi
Leggi e codici
Ricette
Testi
Webmatica
Hosting gratis
   
 

Il linguaggio di programmazione Delphi | Tutti i gruppi | it.comp.lang.delphi | Notizie e discussioni delphi | Delphi Mobile | Servizio di consultazione news.