Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23

Discussione: for each + un replace

  1. #1
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970

    for each + un replace

    dim stringa As String = "<TABLE>"
    for each stringa in txtCorpo.Text
    'qua X ESEMPIO mettere un replace ke da <TABLE> scriva <table>
    next

    1. in questo caso basta solo un lcase(stringa), no?

    2. e se volessi scrivere altre cose? come si fa un replace di una stringa con un'altra?

    3. e come faccio x "catturare" il testo tra un < ed un > ?

    grazie 100000



    Fra
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  2. #2
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449
    1. sì
    2. esiste l'istruzione
    codice:
      replace(a,b,c)
    che sostituisce tutte le occorrenze della stringa b nela stringa a con la stringa c
    3. funzione
    codice:
    instr(a,b)
    che restituisce la posizione della prima occorrenza della stringa b nella a
    S'i fosse foco, arderei 'l mondo

  3. #3
    dim stringa As String = "<TABLE>"
    for each stringa in txtCorpo.Text
    'questo rimpiazza la vecchia stringa con quella nuova
    'replace(vecchiastringa,nuovastringa)
    txtCorpo.text.replace(stringa,"table")
    next
    puoi usare diversi metodi per leggere il valore della stringa tra "<" e ">"
    ad esempio:
    if txtcorpo.text.substring(1,1)="<" then
    'nel caso in cui il carattere sta in testa alla stringa
    'qui metti il codice che ti serve
    end if
    oppure:
    if instr(txtcorpo.text,">")>0 then
    'idem come sopra
    end if

  4. #4
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    grazie ad entrambi!

    ma non ho capito bene come rispondere alla domanda 3...

    io devo fare cmq un ciclo for x rimpiazzare varie stringhe a seconda del nome dei tags (contenuto di < e >)

    come lo faccio?




    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  5. #5
    'qui dichiari i tag che ti interessa modificare
    Const TAG_TABLE As String = "TABLE"
    Const TAG_BODY As String = "BODY"
    Const TAG_HTML As String = "HTML"
    'e via di seguito gli altri tag che ti interessano

    Private Sub cmdSfoglia_Click()
    Dim myfile As String
    Dim Contenuto As String
    Dim f As Integer
    Dim Conta As Integer
    Dim i As Integer

    f = FreeFile
    txtCorpo.Text = ""
    'myfile = ShowOpen(Me, "Pagine web (*.htm)" & vbNullChar & "*.htm")
    myfile = "C:\test.htm"
    Open myfile For Input As f
    Do While Not EOF(f)
    Line Input #f, Contenuto
    ReDim Preserve Righe(Conta)
    Righe(Conta) = Contenuto
    Conta = Conta + 1
    Loop
    Close #f
    'richiami la funzione ControllaTAGg
    For i = 0 To Conta - 1
    Righe(i) = ControllaTAG(Righe(i))
    txtCorpo.Text = txtCorpo.Text & Righe(i) & vbCrLf
    Next
    End Sub
    Private Function ControllaTAG(Riga As String) As String
    Dim strTmp As String
    'visto che i TAG in HTML sono sempre gli stessi
    If InStr(Riga, TAG_TABLE) > 0 Then
    'in .NET
    'Riga.replace(tag_table,"CHENESO")
    'in VB6
    strTmp = Replace(Riga, TAG_TABLE, "CHENESOTABLE")
    ElseIf InStr(Riga, TAG_HTML) > 0 Then
    'come sopra
    strTmp = Replace(Riga, TAG_HTML, "CHENESOHTML")
    ElseIf InStr(Riga, TAG_BODY) > 0 Then
    'come sopra
    strTmp = Replace(Riga, TAG_BODY, "CHENESOBODY")
    'e via di seguito gli altri tag che ti interessano
    Else
    strTmp = Riga
    End If
    ControllaTAG = strTmp
    'oppure in .NET
    'return strtmp
    End Function

    piu di cosi non so che dirti :mavieni:

  6. #6
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    Originariamente inviato da Pieruccio
    'qui dichiari i tag che ti interessa modificare
    Const TAG_TABLE As String = "TABLE"
    Const TAG_BODY As String = "BODY"
    Const TAG_HTML As String = "HTML"
    'e via di seguito gli altri tag che ti interessano

    Private Sub cmdSfoglia_Click()
    Dim myfile As String
    Dim Contenuto As String
    Dim f As Integer
    Dim Conta As Integer
    Dim i As Integer

    f = FreeFile
    txtCorpo.Text = ""
    'myfile = ShowOpen(Me, "Pagine web (*.htm)" & vbNullChar & "*.htm")
    myfile = "C:\test.htm"
    Open myfile For Input As f
    Do While Not EOF(f)
    Line Input #f, Contenuto
    ReDim Preserve Righe(Conta)
    Righe(Conta) = Contenuto
    Conta = Conta + 1
    Loop
    Close #f
    'richiami la funzione ControllaTAGg
    For i = 0 To Conta - 1
    Righe(i) = ControllaTAG(Righe(i))
    txtCorpo.Text = txtCorpo.Text & Righe(i) & vbCrLf
    Next
    End Sub
    Private Function ControllaTAG(Riga As String) As String
    Dim strTmp As String
    'visto che i TAG in HTML sono sempre gli stessi
    If InStr(Riga, TAG_TABLE) > 0 Then
    'in .NET
    'Riga.replace(tag_table,"CHENESO")
    'in VB6
    strTmp = Replace(Riga, TAG_TABLE, "CHENESOTABLE")
    ElseIf InStr(Riga, TAG_HTML) > 0 Then
    'come sopra
    strTmp = Replace(Riga, TAG_HTML, "CHENESOHTML")
    ElseIf InStr(Riga, TAG_BODY) > 0 Then
    'come sopra
    strTmp = Replace(Riga, TAG_BODY, "CHENESOBODY")
    'e via di seguito gli altri tag che ti interessano
    Else
    strTmp = Riga
    End If
    ControllaTAG = strTmp
    'oppure in .NET
    'return strtmp
    End Function

    piu di cosi non so che dirti :mavieni:
    ammazza!! grazie!!! è una manna! questo va a prendersi il nome del tag, giusto? e lo cambia cn qualcos'altro..

    ma aspe...
    se voglio ke tutti i caratteri compresi tra ogni < e > vengano in minuscolo non c'è un modo più semplice?
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  7. #7

    Private Function CheckedTAG(Riga As String) As String
    Dim strTmp As String
    'queste le puoi dichiarare a livello form come le altre costanti
    Const TAG_APERTO As String = "<"
    Const TAG_CHIUSO As String = ">"


    If InStr(Riga, TAG_APERTO) > 0 Then
    strTmp = LCase(Mid(Riga, InStr(Riga, TAG_APERTO), InStr(Riga, TAG_CHIUSO)))
    Else
    strTmp = Riga
    End If
    CheckedTAG = strTmp
    end Function

  8. #8
    oppure in .NET utilizzando TRIM
    Private Function CheckedTAG(Riga As String) As String
    Dim strTmp As String
    if Riga.StartsWith("<") then
    strTmp=lcase(Riga.trim("<",">"))
    else
    strTmp=Riga
    end if
    return strTmp
    end function

  9. #9
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    Originariamente inviato da Pieruccio

    Private Function CheckedTAG(Riga As String) As String
    Dim strTmp As String
    'queste le puoi dichiarare a livello form come le altre costanti
    Const TAG_APERTO As String = "<"
    Const TAG_CHIUSO As String = ">"


    If InStr(Riga, TAG_APERTO) > 0 Then
    strTmp = LCase(Mid(Riga, InStr(Riga, TAG_APERTO), InStr(Riga, TAG_CHIUSO)))
    Else
    strTmp = Riga
    End If
    CheckedTAG = strTmp
    end Function
    mitico!!! so ke questo mi andrà bene!!
    il .net non ce l'ho ancora!

    :metallica

    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  10. #10
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449
    x pieruccio
    usa i tag altrimenti è un casino leggere il codice!!!!!
    S'i fosse foco, arderei 'l mondo

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.