Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [VB6] da testo formattato ad html

    ciao a tutti.
    piccola premessa: in vb6 ho iniziato solo da un mesetto e sto cercando di mettere su la mia prima applicazione per "prova".

    Magari la domanda e stupida, ma siate comprensivi...

    Ho approntato un form in cui posso formattare del testo esclusivamente in grassetto e corsivo. Fatto questo, vorrei inviarlo ad un database mysql, però vorrei che mantenesse la formattazione datagli con il RichText.

    Come posso fare a far diventare, ad esempio, la parola DonFabio in DonFabio.

    (ovviamente, credo, identico discorso sarà per il corsivo...)

    Grazie a tutti,

    bye

    Τί ουν ποιήσε ϕιλοσοϕίας πέρι; πή τρέψή άγνοουμένων τούτων;

  2. #2
    Utente di HTML.it L'avatar di Gugu
    Registrato dal
    Nov 2002
    Messaggi
    523
    Ciao,
    Come posso fare a far diventare, ad esempio, la parola DonFabio in DonFabio.
    Devi semplicemente fare così:
    Considerando di avere 2 label, la prima dove hai la tua stringa DonMario e la seconda dove vuoi andare a mettere quella ottenuta..
    codice:
    label1.caption = "DonMario"
    label2.caption="" & label1.caption & ""
    Alla fine vuoi creare una pagina html?
    Lo sai come si fa.. salvi un fiel tipo testo..
    nominato tuonome.htm...
    ecc..

    Ciao
    Gugu
    Ciao
    Andrea

  3. #3
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387

    Re: [VB6] da testo formattato ad html

    Originariamente inviato da DonFabio
    Come posso fare a far diventare, ad esempio, la parola DonFabio in DonFabio.
    Dando per scontato che tu abbia gia' fatto la parte di codice che ti permette di mettere in grassetto parte del testo del RichText, basta fare una cosa di questo tipo

    codice:
       With RichText
          VarTXT = ""
          For t = 0 To Len(.Text)
             .SelStart = t
             .SelLength = 1
             If .SelBold = True Then
                VarTXT = VarTXT + .SelText
             End If
          Next t
       End With
       VarDef= "" & VarTXT & ""
    ...in pratica fai un parsing di tutto il testo carattere per carattere vedi quello che all'interno del RichText e' in neretto (se cambi il test IF .SelBold Then in IF .SelItalic Then ti funziona anche per il corsivo) e te lo copi da un'altra parte.
    ...and I miss you...like the deserts miss the rain...

  4. #4
    uhmmm l'ho fatto.
    Ho allegato lo script in una sub (provata sia public che private) in un pulsante, ma nella richtext non mi cambia niente...
    La richtext ha nome RichTextBox1.
    Ma quando premo il pulsante il testo non varia...

    perche? cosa sbaglio?

    Τί ουν ποιήσε ϕιλοσοϕίας πέρι; πή τρέψή άγνοουμένων τούτων;

  5. #5
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Originariamente inviato da DonFabio
    uhmmm l'ho fatto.
    Ho allegato lo script in una sub (provata sia public che private) in un pulsante, ma nella richtext non mi cambia niente...
    La richtext ha nome RichTextBox1.
    Ma quando premo il pulsante il testo non varia...

    perche? cosa sbaglio?
    ...il testo in neretto convertito, resta nella variabile VarDef... puoi postare il codice della sub?
    ...and I miss you...like the deserts miss the rain...

  6. #6
    Private Sub vishtml_Click()
    With RichTextBox3
    VarTXT = ""
    For t = 0 To Len(.Text)
    .SelStart = t
    .SelLength = 1
    If .SelBold = True Then
    VarTXT = VarTXT + .SelText
    End If
    Next t
    End With
    VarDef = "" & VarTXT & ""
    End Sub


    ecco.

    In pratica, quando clicco sul pulsante di comando, dovrei convertire il contenuto della richtexbox3 (che è quella su cui formatto il testo) in testo formattato in html...

    Ho già chiaro quello che mi hai scritto sopra, però sono ancora un pò impedito sul da farsi in certe cose...

    bye

    Τί ουν ποιήσε ϕιλοσοϕίας πέρι; πή τρέψή άγνοουμένων τούτων;

  7. #7
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Ora che ho capito cosa volevi fare ti ho sofisticato un po di piu' la routine. prova e vedi.
    codice:
    Private Sub vishtml_Click() 
       ini = -1
       fin = 0
       bld = False
       With RichTextBox3 
          VarTXT = ""
          For t = 0 To Len(.Text)
             .SelStart = t
             .SelLength = 1
             If .SelBold = True Then
                If ini = -1 Then ini = t
                VarTXT = VarTXT + .SelText
                bld = True
             Else
                If bld = True Then
                   fin = t
                   bld = False
                End If
             End If
          Next t
          .Text = Mid(.Text, 1, ini - 1) & "" & VarTXT & "" & Mid(.Text, fin + 1)
       End With
    End Sub
    ...and I miss you...like the deserts miss the rain...

  8. #8
    alè! ha funzionato alla grande!

    ho provato a ripetere, nella stessa sub, il with per il corsivo, ma mi ha dato errore...

    alla fine per il corsivo non devo ripetere il procedimento descritto nel with?

    oppure c'è dell'altro?

    Τί ουν ποιήσε ϕιλοσοϕίας πέρι; πή τρέψή άγνοουμένων τούτων;

  9. #9
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Che errore ti ha dato?
    In sostanza per il corsivo basta fare la stessa cosa cambaindo il test
    codice:
    If .SelBold = True Then
    in
    codice:
    If .SelItalic = True Then
    ...non sapendo che errore ti ha dato, provo a ipotizzare:
    - probabilmente dipende da un mancato azzeramento di variabili, in questo caso ti conviene fare due sub separate (una per il corsivo e l'altra per il neretto) e chiamarle separatamente.

    - quella routine, non funziona se ci sono piu' "pezzi" di testo da "convertire" in bold, nel senso che se tu hai due parole in neretto all'interno del testo da convertire distanziate tra loro anche solo da 1 carattere in testo normale, fa un po' di casino ( l'ho fatta al volo )

    - hai ripetuto solo il pezzo di prg all'interno del With dimenticando di mettere le inizializzazioni delle variabili, queste per intenderci:
    codice:
      ini = -1
      fin = 0
      bld = False
    ...and I miss you...like the deserts miss the rain...

  10. #10
    perfetto, adesso provo...

    invece, sto pensando, per evitare che lo script entri in casino quando trova più aree differenti in grasseto, non sarebbe possibile fare una sorta di replace?

    del tipo:

    if (testo in grassetto) then
    replace "testo"
    end if

    magari ho detto una stronzata, ma riempire una variabile (facendo un parsing) fino a che si trova la fine del grasseto e poi sostituire può funzionare.
    Se dici che si può fare provo ad avventurarmi...

    Τί ουν ποιήσε ϕιλοσοϕίας πέρι; πή τρέψή άγνοουμένων τούτων;

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