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 - striga.estrai.conta
Forum - Visual Basic 6 - striga.estrai.conta

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
mash_mash (Normal User)
Expert


Messaggi: 230
Iscritto: 25/07/2007

Segnala al moderatore
Postato alle 12:58
Venerdì, 28/09/2007
problemino :
avrei bisogno di estrarre da una stringa una lettera e di avere anche il numero delle lettere estratte.
es.  text1.text = "d100 + d100 + F + F"
.
vorrei che nella text2.text si ottenesse questo risultato : "2 F"
(cioe' nella stringa ci sono 2 F)
.
Ovviamento il valore da estrarre e' noto(la "F" in questo caso) , mentre non e' nota la stringa (e' una variabile).
E' possibile farlo ?

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 19:24
Venerdì, 28/09/2007
Con un semplice ciclo for ...

PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 15:49
Sabato, 29/09/2007
un semplice ciclo con mid o instr dovrebbe bastare.



for x = 1 to (len(text1.text)-len(stringa)+1)
if mid(text1.text,x,Len(stringa))=stringa then
quantevolte = quantevolte+1
end if
next x

se lo usi spesso crea una function.

Ultima modifica effettuata da P4p3r0g4 il 29/09/2007 alle 15:54
PM Quote
Avatar
mash_mash (Normal User)
Expert


Messaggi: 230
Iscritto: 25/07/2007

Segnala al moderatore
Postato alle 8:39
Martedì, 02/10/2007
ragazzi , vi stresso lo ammetto. ma e' cosi' interessante Vb che vorrei sempre saperne di piu'.
Ho provato a lavorare con il codice che mi hai scritto , ma ammetto ci ho capito pochino.
saro' piu chiaro nel descrivere il mio problema :

textbox1.text = "100 + 100 + F + F + "
-istruzioni
-istruzioni
-istruzioni
textbox2.text = "2 F"   'ovvero le 3 F della textbox1

saresti cosi gentile da descrivermi il codice inviatomi in modo tale da poterci capire meglio ?ograzie


PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 10:09
Martedì, 02/10/2007
Testo quotato

Postato originariamente da mash_mash:
saro' piu chiaro nel descrivere il mio problema :
...

textbox2.text = "2 F"   'ovvero le 3 F della textbox1
...



Meno male che volevi essere piu' chiaro ... :)

2 F ovvero le 3 F ????

PM Quote
Avatar
mash_mash (Normal User)
Expert


Messaggi: 230
Iscritto: 25/07/2007

Segnala al moderatore
Postato alle 13:11
Martedì, 02/10/2007
perdonami , ma la voglia di imparare e' tanta che mi mette fretta e sbaglio a digitare.
son 2 le "F" .
Cerco di essere + esplicito possibile (forse):
nel testo(che variera' di volta in volta) della textbox1 compaiono (nel mio esempio delle lettere F , ma potrebbero essere altre o addiruttura potrebbe essere una parola) delle lettere , che una volta "contate" dovro' inserire nel testo della textbox2.
ovvero :
textbox1.text = "100 + F + 100 + F"
-
-
-codice
-
risultato : textbox2 = "2 F".

oregon001 , visto che ormai ti ho eletto mio salvatore , avresti la cortesia di spiegarmi il codice che occorre ?
Ho provato con il ciclo for (come da te suggeritomi) :

for x = 1 to (len(text1.text)-len(stringa)+1)
if mid(text1.text,x,Len(stringa))=stringa then
quantevolte = quantevolte+1
end if
next x

, ma credimi purtroppo ho capito pochino.
grazie per la gentilezza

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 14:41
Martedì, 02/10/2007
Testo quotato

Postato originariamente da mash_mash:
oregon001



gantonio, l'altra e' l'email ...

Testo quotato

come da te suggeritomi



Per l'esattezza, quel codice non era mio ...

Comunque, nel caso di lettere (e non parole) prova

Codice sorgente - presumibilmente VB.NET

  1. Dim i As Long
  2.     Dim c As Long
  3.    
  4.     c = 0
  5.     For i = 1 To Len(s)
  6.         If Mid$(Text1.Text, i, 1) = "F" Then c = c + 1
  7.     Next i
  8.     Text2.Text = CStr(c) & " F"


PM Quote
Avatar
mash_mash (Normal User)
Expert


Messaggi: 230
Iscritto: 25/07/2007

Segnala al moderatore
Postato alle 16:23
Martedì, 02/10/2007
Oregon00 : grazie 1000.
ti ringrazio un sacco.
Ti chiedo l'ultima cortesia :
mi commenti questo codice (come da te ricordatomim non tuo) , vorrei capire meglio il suo funzionamento :

for x = 1 to (len(text1.text)-len(stringa)+1)
if mid(text1.text,x,Len(stringa))=stringa then
quantevolte = quantevolte+1
end if
next x

PM Quote
Avatar
mash_mash (Normal User)
Expert


Messaggi: 230
Iscritto: 25/07/2007

Segnala al moderatore
Postato alle 13:01
Mercoledì, 03/10/2007
per OREGON001 , ho provato ad usare il tuo codice , ma non gira.
Mi si ferma sull'ultima linea dicendomi che manca un oggetto .
Che posso fare ?

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo