Stampare listbox

di il
15 risposte

Stampare listbox

Ciao, ho una lisbox con alcune righe contenenti più di 500 caratteri.
Quanto vado a esportarla in un file txt esporta tutte queste righe lunhissime. E' possibile che ogni riga può contenere al massimo 50 caratteri e poi va a capo?

15 Risposte

  • Re: Stampare listbox

    No
  • Re: Stampare listbox

    Come potrei risolvere facilmente il problema
  • Re: Stampare listbox

    Innanzitutto mostrando il codice che usi per 'esportare'.
  • Re: Stampare listbox

    andreas91 ha scritto:


    Come potrei risolvere facilmente il problema
    Non esiste un problema se non mostri il codice che lo genera.

    A parte il fatto che il "ritorno a capo" potrebbe stare all'interno del testo che stai mostrando.
  • Re: Stampare listbox

    Ecco il codice
    Public Function SalvaLista()
    Dim FileNum As Integer, ListCount As Integer
    FileNum = FreeFile()
    Open App.Path & "\Prova.txt" For Output As #FileNum
    For ListCount = 0 To listbox_dati.ListCount - 1
    Print #FileNum, listbox_dati.List(ListCount)
    Print #FileNum, ""
    DoEvents
    Next ListCount
    Close #FileNum
    End Function
  • Re: Stampare listbox

    Ma questa

    Print #FileNum, ""

    a che ti serve?

    Quale editor utilizzi per vedere il contenuto del file di testo? E' possibile che siano le impostazioni di questo editor a spezzare il testo?
  • Re: Stampare listbox

    Per lasciare uno spazio vuoto tra un rigo ed un altro
  • Re: Stampare listbox

    Voglio salvare il tutto in un file txt
  • Re: Stampare listbox

    andreas91 ha scritto:


    Voglio salvare il tutto in un file txt
    E' una risposta a quello che ti ho chiesto?

    Che senso ha?

    Quello che hai scritto salva su un file txt. Non vedo problemi. Quindi, rileggi il mio post precedente.
  • Re: Stampare listbox

    Allora dovresti spezzare la stringa qui:
    Print #FileNum, listbox_dati.List(ListCount)
    Puoi crearti una funzione UDF a cui passi la stringa, esempio
    Print #FileNum, SpezzaRiga(listbox_dati.List(ListCount))
    , che usa la funzione Mid$() per spezzare la stringa ogni 50 caratteri ed aggiunge il ritorno a capo vbCrLf in ogni spezzone.

    In teoria, dovrebbe funzionare.
  • Re: Stampare listbox

    Ah .... ma allora non avevo capito la domanda ... pensavo che ti stampasse 50 caratteri e non capivi perché (ecco perché ti avevo detto che non era possibile ...).

    Ma tu VUOI spezzarle in pezzi da 50 caratteri ... allora segui il consiglio di Gibra ...

    Oppure se non sai scrivere la funzione, scrivi nel ciclo di lettura direttamente un ciclo che spezza la stringa in tanti pezzi da 50 o minori ... Ovviamente userai la Mid$
  • Re: Stampare listbox

    Sto leggendo un po' di cose sul web ma non so come ipostare la funzione
  • Re: Stampare listbox

    La funzione Mid$ sai come si usa?
  • Re: Stampare listbox

    Ho provato così, ma poi non so come attaccare i vari spezzoni
    Public Function SalvaLista()
    Dim Spezza, str As String
    Dim FileNum As Integer, ListCount As Integer

    FileNum = FreeFile()
    Open App.Path & "\Prova.txt" For Output As #FileNum
    For ListCount = 0 To listbox_dati.ListCount - 1
    Spezza = listbox_dati.List(ListCount)
    str = Mid$(strProva, 1, 50)
    Print #FileNum, str
    Print #FileNum, ""
    DoEvents
    Next ListCount
    Close #FileNum
    End Function
Devi accedere o registrarti per scrivere nel forum
15 risposte