Autore Topic: [risolto[...]]esiste una funzione che cerca un crt all'interno di una stringa  (Letto 3088 volte)

Offline simo97

  • Gran Maestro dei Gamberi
  • *****
  • Post: 501
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #15 il: 01 Maggio 2013, 20:10:32 »
non ne conosco le proprietà... :-\ :-\
mai usata... :mad:
vedrò..ma non mi piace limitarmi la vita...
alla fine si dovra comunque lavorare con le stinge...

in teoria solo l'utente non può inserire le lettere il programma volendo dovrebbe poterlo fare...

grazie per i molti consigli pastrano... :2birre:
;D

Offline pastrank

  • Maestro Gambero
  • ****
  • Post: 266
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #16 il: 01 Maggio 2013, 21:08:41 »
non ne conosco le proprietà... :-\ :-\
mai usata... :mad:
vedrò..ma non mi piace limitarmi la vita...
alla fine si dovra comunque lavorare con le stinge...
in teoria solo l'utente non può inserire le lettere il programma volendo dovrebbe poterlo fare...

Non e' che l'uso sia cosi' difficile, se dopo 20 secondi che la stavo usando l'avevo capito io. Ne pare una limitazione, non sei obbligato a usarla ovunque ma solo dove serve, e dubito anche che appesantisca il programma, visto che e' solo una textbox "filtrata"

Offline simo97

  • Gran Maestro dei Gamberi
  • *****
  • Post: 501
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #17 il: 01 Maggio 2013, 21:42:05 »
hai anche ragione....

ma tornando al principio....

allora non c'è un funzione di ricerca e alla fine mi dà il numero di caratteri trovati in una stringa...
ne creo una...
;D

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #18 il: 01 Maggio 2013, 23:23:59 »
allora non c'è un funzione di ricerca e alla fine mi dà il numero di caratteri trovati in una stringa...
A me non risulta.


ne creo una...
E' la cosa più sensata.  :)
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #19 il: 01 Maggio 2013, 23:31:18 »
Se non ho capito male, si vuole limitare l'input ai soli caratteri numerici dentro una TextBox.
Il controllo si risolve assai facilmente, facendo intervenire l'evento "KeyPress", al cui interno si può testare il singolo crt(carattere) digitato e scartare tutti i caratteri diversi dai numeri:
Codice: gambas [Seleziona]
$Como = Key.Text
 Select Case $Como
              Case "a" to "z", "A" to "Z",".", ",", ecc.....
                    Stop Event
 End Select

Attenzione perchè oltre ai crt alfanumerici, esistono anche i Key.Code corrisoppondenti ai tasti funnzione, ai tasti "Invio", "Tab",...
 :ciao:
« Ultima modifica: 01 Maggio 2013, 23:58:30 da Picavbg »
:ciao:

Offline 9bit

  • Grande Gambero
  • ***
  • Post: 191
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #20 il: 02 Maggio 2013, 00:22:48 »
Oppure:
Codice: gambas [Seleziona]

Public Sub Filtro()
  If Key.Text Like "[^0-9.]" And Asc(Key.Text) > 31 Then
    Stop Event
  Else If Key.Text Like "." And InStr(text.Text, ".") Then
    Stop Event
  End If
End

Inserisce numeri e un solo punto (.)

Ps: da inserire nell'evento _KeyPress()
« Ultima modifica: 02 Maggio 2013, 00:27:21 da 9Bit »

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #21 il: 02 Maggio 2013, 13:32:55 »
Oppure:
Codice: gambas [Seleziona]

Public Sub Filtro()
  If Key.Text Like "[^0-9.]" And Asc(Key.Text) > 31 Then
    Stop Event
  Else If Key.Text Like "." And InStr(text.Text, ".") Then
    Stop Event
  End If
End

Inserisce numeri e un solo punto (.)

Ps: da inserire nell'evento _KeyPress()

l'istruzione successiva alla if ... Else
 
Codice: [Seleziona]
Else If Key.Text Like "." And InStr(text.Text, ".") Then
    Stop Event
mi sembra ridondante rispetto alla precedente, in quanto già la
Codice: [Seleziona]
 If Key.Text Like "[^0-9.]" And Asc(Key.Text) > 31 Then
    Stop Event
è sufficiente a trascurare il "."

Non vengono però trascurati tutti i crt digitati con CTRL+tasto-qualsiasi. Quindi bisogna estendere il controllo anche su combinazioni come quella appena indicata.
 :ciao:
:ciao:

Offline simo97

  • Gran Maestro dei Gamberi
  • *****
  • Post: 501
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #22 il: 02 Maggio 2013, 14:34:24 »
 :o :o :o
dovevo crearla io!!!
grazie per le "soluzioni"...

ok ma avevo qualcosa di diverso in mente...

;D

Offline simo97

  • Gran Maestro dei Gamberi
  • *****
  • Post: 501
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #23 il: 02 Maggio 2013, 16:11:25 »
Codice: gambas [Seleziona]
Public Function ricerca(testo As String, lettera As String) As Integer
Dim count, lef, righ, l As Integer
Dim lung As Integer = Len(testo)
Dim lett, par As String
count = 0
lef = 0
righ = lung
For l = 1 To lung
  lef += 1
  righ -= 1
  par = Left(testo, lef)
  lett = Right(par, righ)
  If lett = lettera Then
    count += 1
  Endif
Next
  Return count
End


perchè non funziona :hard: :hard: :hard: :hatecomputer: :hatecomputer: :hatecomputer:

comunque et voila!! ;D
« Ultima modifica: 02 Maggio 2013, 16:14:35 da simo97 »
;D

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #24 il: 02 Maggio 2013, 16:12:38 »
ok ma avevo qualcosa di diverso in mente...


...oddio, la ceskhonite !  :'(
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline simo97

  • Gran Maestro dei Gamberi
  • *****
  • Post: 501
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #25 il: 02 Maggio 2013, 16:15:12 »
...cronica :hatecomputer: :hatecomputer: :hatecomputer:
;D

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #26 il: 02 Maggio 2013, 18:07:28 »

perchè non funziona

Comunque, io non ho capito soprattutto una cosa: sei partito con il cercare semplicemente una lettera all'interno di una riga, e che il risultato fosse di tipo booleano.... poi........    :rolleyes:
« Ultima modifica: 02 Maggio 2013, 18:22:18 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline simo97

  • Gran Maestro dei Gamberi
  • *****
  • Post: 501
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #27 il: 02 Maggio 2013, 18:20:27 »
poi sono finito a creare una funzione che restituisce il numero di caratteri trovati in un qualunque testo...
« Ultima modifica: 02 Maggio 2013, 18:23:32 da simo97 »
;D

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #28 il: 02 Maggio 2013, 18:25:03 »
poi sono finito a creare una funzione che restituisce il numero di caratteri trovati....

Quindi in quest'ultimo codice l'obiettivo vuoi raggiungere è conoscere il numero complessivo dei caratteri trovati ?

Ma sembra che la variabile di tipo stringa lettera verrà sempre a contenere un carattere da cercare... e quindi il risultato sarà sempre 1 !  :-\

...o forse tu vuoi sapere quante volte la medesima lettera è presente in una riga ?!
« Ultima modifica: 02 Maggio 2013, 18:28:15 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline simo97

  • Gran Maestro dei Gamberi
  • *****
  • Post: 501
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #29 il: 02 Maggio 2013, 18:31:09 »
vuott non ti seguo....

la variabile lettera è il carattere da cercare all'interno del testo....
la variabile lett invecie dovrebbe essere un carattere singolo del testo
;D