Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    48

    VB-stampa di tutti i caratteri alfanumerici

    vorrei sapere come posso in visual basic dire all'applicazione di effettuare la stampa di tutti i caratteri alfanumerci e al termine della stampa di questi riprendere dall'inizio e continuare cosi' in modo ciclico fino a quando l'utente decide di sospendere.

  2. #2
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    dim cancelpressed

    Private Sub Command9_Click()
    Dim ch$
    KeyPreview = True
    cancelpressed = False
    ch$ = ""
    While cancelpressed = False
    For i = 0 To 255
    ch$ = Chr$(i)
    Form1.Print ch$
    DoEvents
    If cancelpressed = True Then Beep: MsgBox ("ora esco dal ciclo"): Exit Sub
    Next i
    Wend
    End Sub

    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
    Case vbKeyEscape
    cancelpressed = True
    End Select
    End Sub


    link
    homepage
    http://%77%77%77%2e%74%77%6f%72%6b%2e%69%74/
    software
    http://%77%77%77%2e%74%77%6f%72%6b%2...programmi.html
    forum
    http://%77%77%77%2e%74%77%6f%72%6b%2...um/default.asp

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    48
    scusa, non ho molto capito come funziona(sono abbastanza inesperta)
    io dovrei usare l'oggetto printer e inoltre devo contare tutti i caratteri che stampo.

  4. #4
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    questo listato ti stampa sul form tutti i caratteri alfanumerici e tutti i valori ascii in stringa

    Se vuoi uscire da ciclo, come tu hai richiesto basta che digiti il tasto ESC che sarebbe il primo in alto a sinistra sulla tua tastiera, così termini la routine.

    se vuoi stmpare col la stampante e non sul form sostituisci
    Form1.Print ch$
    con
    Printer.Print ch$ nel listato........
    ........nel listato quì è già sostituito

    fai un nuovo progetto vuoto e copia e incollaci questo listato
    sul form immetti un controllo pulsante command1
    poi premi il tasto F5 della tua tastiera
    buon lavoro............

    '-------taglia da quì-----------------
    dim cancelpressed

    Private Sub Command1_Click()
    Dim ch$
    KeyPreview = True
    cancelpressed = False
    ch$ = ""
    While cancelpressed = False
    For i = 0 To 255
    ch$ = Chr$(i)
    'Form1.Print ch$
    Printer.Print ch$
    DoEvents
    If cancelpressed = True Then Beep: MsgBox ("ora esco dal ciclo"): Exit Sub
    Next i
    Wend
    End Sub

    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
    Case vbKeyEscape
    cancelpressed = True
    End Select
    End Sub

    '-----------a quì--------------------

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    48
    ok, ho provato.
    Giustamente mi stampa i caratteri, ma non uno di seguito all'altro come vorrei bensì uno a capo dell'altro.
    Se poi schiaccio esc mi pare che non risponda.

  6. #6
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    Printer.Print ch$;
    col punto e virgola
    così ti stampa i caratteri in orizzontale uno vicino all'altro.

    se hai fatto copia e incolla del listato e premi il tasto esc si deve visualizzare una finestrella con scritto ora esco dal ciclo, quindi clicchi sul pulsante ok e la stampa si interrompe.

    aggiungi anche questa istruzione per fininire il processo di stampa

    If cancelpressed = True Then Beep:Printer.EndDoc: MsgBox ("ora esco dal ciclo"): Exit Sub

    per funzionare il tasto esc devi incollare anche questa routine:

    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
    Case vbKeyEscape
    cancelpressed = True
    End Select
    End Sub

  7. #7
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    per eseguire spazi tra un carattere e l'altro sostituisci con:
    Form1.Print ch$; Spc(2);
    il carattere stampato, non sarà attacato ma distante 2 spazi dal precedente

    ............per il prossimo post

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    48
    :-) grazie....

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    48
    rieccomi qui.
    non capisco...
    lancio il programma e inizia a stampare i caratteri, premo esc e mi compare la msg box, preemo ok e non capita nulla, la stampante continua a stampare.
    Io vorrei che non appena premo esc la stampa venga bloccata, eliminata dai processi in stampa.
    ...grazie!

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    48
    ...ho provato a scrivere:
    If cancelpressed = True Then Beep: Printer.EndDoc: Printer.KillDoc: MsgBox ("ora esco dal ciclo"): Exit Sub

    ..praticamente ho aggiunto killDoc ma niente.
    msn dice in proposito del killdoc:
    Se Print Manager del sistema operativo sta gestendo l'operazione di stampa, ovvero è in esecuzione ed è attivata la stampa in background, KillDoc eliminerà il processo di stampa corrente e la stampante non riceverà alcun input.

    Se Print Manager non sta gestendo l'operazione di stampa, ovvero la stampa in background non è attivata, è possibile che alcuni o tutti i dati siano inviati alla stampante prima che il metodo KillDoc abbia effetto. In questo caso, il driver della stampante reimposterà la stampante non appena possibile e terminerà il processo di stampa.

    cosa vuol dire che print manager sta gestendo l'operazione di stampa?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.