baltimora Inserito: 9 marzo 2011 Segnala Inserito: 9 marzo 2011 Stò realizzando un'applicazione per un controllo accessi mediante badge magnetico che al verificarsi di alcuni eventi vengano stampati mediante una stampante seriale alcune informazioni, tipo l'ora di accesso, il nome dell'utente associata a quel badge, ecc. ecc.Ora il mio problema è il seguente: La stampante non stampa immediatamete le informazione, ma credo che attenda che il buffer della stampante sia pieno, pertanto se la stringa che invio è inferiore a 42 caratteri, non viene stampata. La stampa avverrà in concomitanza di un altro evento che cumulati superano i 42 caratteri.Ora ho risolto il problema inserendo quando la stringa è inferiore a 42 caratteri, degli spazi vuoti, ma mi piacerebbe capire se esiste un'altra soluzione.Inoltre esistono delle istruzioni specifiche per far compiere alla stampante alcune operazioni? tipo l'avanzamento automatica della carta? da inserire tra i seguenti segni <> come se volessi premere il tasto CTRL o altrò?Grazie
Livio Orsini Inserita: 9 marzo 2011 Segnala Inserita: 9 marzo 2011 Dipende molto dalla stampante. Ci sono caratteri di controllo che, in genere, permettono di effettuare il salto pagina. Se la stampante è conforme in toto ad ASCII c'è il comando per "pagina nuova" similmente a "riga nuova" (LF == line feed).
baltimora Inserita: 9 marzo 2011 Autore Segnala Inserita: 9 marzo 2011 (modificato) Grazie per la risposta.Dove posso trovare una eventuale tabella dei comandi di controllo con la relativa associazione/funzioni che svolgono?Un'ultima cosa, tali comandi vanno sempre inseriti tra i simboli <>? ad esempio <LF==>Grazie Modificato: 9 marzo 2011 da baltimora
Livio Orsini Inserita: 10 marzo 2011 Segnala Inserita: 10 marzo 2011 Cerca una tabella ASCII, se non ce l'hai su di un manuale la trovi senz'altro in rete. Dalla tabella ritrovi il numero esadecimale che corrisponde a ciascun comando: Ad esempio LF = 0Ah, CR = 0Dh (ritorno a capo), etc.Se la tua stampante è "normale" inviando la sequenza 0A 0D esegue un salto di riga con ritorno a capo. Cito questi perchè li so a memoria.
Livio Orsini Inserita: 10 marzo 2011 Segnala Inserita: 10 marzo 2011 Il form feed (FF) ha codice esadecimale 0Ch (12 decimale)Questo è il link alla tabella completa con spiegazioni
jumpjack Inserita: 3 maggio 2011 Segnala Inserita: 3 maggio 2011 Non dovrebbe bastare un comando "flush" sulla seriale, a prescindere dalla stampante?
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora