Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Consiglio
Forum - Visual Basic 6 - Consiglio

Avatar
Aangelus (Normal User)
Pro


Messaggi: 143
Iscritto: 29/03/2011

Segnala al moderatore
Postato alle 19:12
Domenica, 22/05/2011
Ciao ragazzi sto cercando di eseguire un programmino che mi aggiunga del testo ad una porzione scritta su un'altra text, in pratica il testo viene aggiornato quindi con copia ed incolla ci sarebbero parti duplicate(cosa che non voglio che avvenga) avete consigli su come eseguire questo programmino es
text1
io ti guarderò
illuminata con il neon
delle vetrine
poi ti nutrirò di coca-
cola e di popcorn
------------------------------------
text2
io ti guarderò                     parte già esistente
illuminata con il neon           parte già esistente
delle vetrine                       parte già esistente
poi ti nutrirò di coca-          parte già esistente
cola e di popcorn                parte già esistente
dentro ad un cine               parte inesistente nella text1 riportarla
ti racconterò le mie             parte inesistente nella text1 riportarla

      'dovrà aggiungere solo

dentro ad un cine
ti racconterò le mie

c'è un alternativa al metodo instr dato che ho provato, e si verificano in alcuni testi instr = 0 quindi sballa tutto anche se il testo prelevato dalla text1 esiste nella text2 che viene aggiornata ;)

mi scuso per essermi spiegato male abbiamo due text una dove faccio seleziona tutto copia ed incolla nella text2 e l'altra è dove dovrebbe apparire il testo senza ricopiare tutto filtrare la parte mancante e aggiungerla

il codice generato da me è

Private Sub Command1_Click()
conta = Len(Text1.Text)
contatot = Len(Text2.Text)
If Text1.Text = "" Then
Text1.Text = Text2.Text

Else
If conta > 20 Then

porzionetesto = Mid$(Text1.Text, (conta - 20), 20)
iniziocopia = InStr(1, Text2.Text, porzionetesto)
porzionetesto2 = Mid$(Text2.Text, iniziocopia + 20, (contatot - iniziocopia))
Text1.Text = Text1.Text & porzionetesto2
End If
End If

solo che come avevo scritto prima raramente si verifica che instr = 0 e copia parti sbagliate:nono:  consigli?  Migliorie ?

Ultima modifica effettuata da Aangelus il 22/05/2011 alle 20:20
PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Up
0
Down
V
Segnala al moderatore
Postato alle 19:37
Domenica, 22/05/2011
purtroppo non credo che tu ti sia spiegato...

Innanzi tutto mi scuso per non essere stato chiaro, poi mi chiedo se sono io a non visualizzare il tasto rispondi o non lo trovo :( - Aangelus - 22/05/11 19:53
PM
Avatar
gibra (Normal User)
Pro


Messaggi: 155
Iscritto: 16/04/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 8:54
Lunedì, 23/05/2011
Devi
1. prima copiare il testo esistente dal textbox ad una variabile
2. aggiungere alla variabile il nuovo testo
3. sovrascrivere il contenuto del textbox

Meglio ancora, si può fare una routine che faccia tutto il lavoro:

Private Sub AggiungiTesto(byval sTestoDaAggiungere as string)
    Dim sTmp as string
    sTmp = Text1.Text
    Text1.Text = sTmp & vbcrlf & sTestoDaAggiungere
End Sub

Quando devi aggiungere delle righe di testo a Text1 la usi così:

AggiungiTesto "dentro ad un cine"
AggiungiTesto "ti racconterò le mie"


;)



Ultima modifica effettuata da gibra il 23/05/2011 alle 9:05
ciao grazie mille per il consiglio ti chiedo per cortesia se mi potresti spiegare la procedura del codice perchè non riesco a capire dove avviene il riconoscimento delle righe che già esistono nella text e quindi scartare Grazie mille - Aangelus - 25/05/11 23:54
PM
Avatar
gigisoft (Member)
Guru


Messaggi: 696
Iscritto: 11/10/2008

Up
0
Down
V
Segnala al moderatore
Postato alle 13:20
Lunedì, 23/05/2011
Prova così:


Codice sorgente - presumibilmente VB.NET

  1. Private Sub AggiungiTesto(byval sTestoDaAggiungere as string)
  2.     Text1.Text = Text1.Text & vbcrlf & sTestoDaAggiungere
  3. End Sub



Ciao. :k:

PM