Autore Topic: [risolto[...]]esiste una funzione che cerca un crt all'interno di una stringa  (Letto 3087 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 #30 il: 02 Maggio 2013, 18:31:44 »
bravo :ok: :ok: :ok:

non mi ero spigato bene :donkey: :donkey:
« Ultima modifica: 02 Maggio 2013, 18:33:20 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 #31 il: 02 Maggio 2013, 18:38:50 »
Allora, se l'obiettivo è sapere quante volte è presente un dato carattere in una stringa, io farei così:
Codice: gambas [Seleziona]

    Public Function ricerca(testo As String, lettera As String) As Integer  
    
    Dim l, trovato As Integer  
    
    For l = 1 To Len(testo)
 ' Se il carattere controllato è uguale a quello che si sta cercando....
      If Mid(testo, l, 1) = lettera Then
 '...allora incrementa di un'unità il valore della variabile integer che tiene il conto:
        Inc trovato
     Endif  
    Next  
    
     Return trovato
    
    End
« 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 #32 il: 02 Maggio 2013, 18:41:08 »
ecco, una mezza specie di quello che volevo fare io.... :-[
solo non avevo usato il mid.... :hatecomputer:

 
« Ultima modifica: 02 Maggio 2013, 18:46:16 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 #33 il: 02 Maggio 2013, 18:50:24 »
solo non avevo usato il mid.... :hatecomputer:
 

...effetti indesiderati della ceskhonite !    ;D
« 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 #34 il: 02 Maggio 2013, 18:52:39 »
 :rotfl: :rotfl: :rotfl:
ceskhonite  del cavolo :evil: :evil: :evil:
;D

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #35 il: 02 Maggio 2013, 21:59:02 »
 :o
Ad un certo punto della discussiome si legge:
lavorando solo con i numeri
doveva servire a limitare l'accesso alle text ai soli numeri e di non permettere di inserire più di un puntino/meno, in quel caso non sarebbe un numero e derebbe errore...
poi continuando...:
Citazione
in teoria solo l'utente non può inserire le lettere
Ma ciò che cosa a che fare con
Citazione
la variabile lettera è il carattere da cercare all'interno del testo....
la variabile lett invecie dovrebbe essere un carattere singolo del testo

Secondo me, prima di fare domande, occorrerebbe essere consapevoli di quello che si vuole fare, cosa si vuole veramente controllare e cosa si vuole ottenere. Credo, senza per questo volerti offendere, caro simo97, che dovresti mettere un pò di ordine nelle tue idee.
Facendo tanti ragionamenti porti fuori strada anche chi vorrebbe e potrebbe aiutarti.
Ti prego di considerare quanto appena ho scritto semplicemente come un consiglio.
 :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 #36 il: 02 Maggio 2013, 22:07:33 »
vero... :-[
;D

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Devo comunque complimentarmi per la tua buona volontà e le tue sicure capacità di inventiva.
Continua ad esercitarti e ... non demordere mai.  :D
 :ciao:
:ciao:

Offline simo97

  • Gran Maestro dei Gamberi
  • *****
  • Post: 501
    • Mostra profilo
;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 #39 il: 02 Maggio 2013, 22:19:05 »
Secondo me, prima di fare domande, occorrerebbe essere consapevoli di quello che si vuole fare, cosa si vuole veramente controllare e cosa si vuole ottenere. Credo, senza per questo volerti offendere, caro simo97, che dovresti mettere un pò di ordine nelle tue idee.


A volte succede che non si riesce ad essere chiari nelle premesse e negli obiettivi, ed effettivamente è difficile capire quello che l'utente vuole.

« 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 9bit

  • Grande Gambero
  • ***
  • Post: 191
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #40 il: 02 Maggio 2013, 23:04:51 »
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:
Scusami Picavbg, forse non ho capito, ma se elimino la riga "Else If", non si limita più a farmi inserire un solo "punto"...ma continua a farmeli inserire?  :-\

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #41 il: 02 Maggio 2013, 23:10:19 »

A volte succede che non si riesce ad essere chiari nelle premesse e negli obiettivi, ed effettivamente è difficile capire quello che si vuole.

Quello che dici tu è vero, ma riguarda un concetto più generale che sta a monte di un progetto, quando invece si entra nel dettagli, ormai la fase progettuale deve essere stata affrontata, ragionata e completata. Poi qualsiasi progetto, piccolo a grande che sia, dovrebbe essere sempre sostenuto da una traccia scritta che si dovrebbe seguire perchè il progetto si mantenga sempre dentro i binari del disegno logico da realizzare, secondo la formula
Citazione
dati di partenza -> programma -> risultato
il programma costituisce l'insieme dei processi tecnici occorrenti per produrre il risultato voluto coi dati pertinenti a disposizione.
L'aspetto a cui ho accennato or ora sarebbe stato un ottimo argomento da inserire fra gli articoli del nostro e-zine, ormai in stato di quarantena dal lontano dicembre 2010.  :'(
Ciò non significa che il Forum non possa essere d'aiuto; basta spiegare passo passo, senza timore di dilungarsi, partendo dall'idea di base. quello che si vorrebbe realizzare. In presenza di richieste di sostegno per la progettazione, i supporter, secondo me, dovrebbero limitarsi a dare opinioni progettuali teoriche, senza mai sostituirsi all'ideatore con soluzioni pratiche di realizzazione di Form e/o di classi. Non credo assolutamente che sia un vero aiuto. La soluzione pratica deve essere sempre scelta ed applicata dall'autore, unico proprietario dell'idea concettuale della realizzazione, salvo, naturalmente, una sua diversa indicazione durante tutta l'evoluzione della discussione. :)

Dopo lo sforzo sostenuto per scrivere codeste poche righe, ho riletto il tutto e, debbo dire, che mi sono capito. Spero di avere espresso il mio concetto chiaramente anche per chi, diversamente da me che hoavuto l'idea di scriverlo,  dovesse solamente leggere questo post.  ;D
 :ciao:


:ciao:

Offline 9bit

  • Grande Gambero
  • ***
  • Post: 191
    • Mostra profilo
Cristallino!! Grazie.  :ciao:

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: esiste una funzione che cerca una lettera all'interno di una stringa
« Risposta #43 il: 02 Maggio 2013, 23:19:20 »
Scusami Picavbg, forse non ho capito, ma se elimino la riga "Else If", non si limita più a farmi inserire un solo "punto"...ma continua a farmeli inserire?  :-\

Ma infatti io avevo capito che il "." fosse un crt da trascurare, mentre i numeri sarebbero comunque stati gli unici crt consentiti in digitazione. Però il prosieguo della discussione mi ha fatto capire che il problema fosse in realtà quello di individuare la ricorrenza di certi crt e la presenza singola di un certo crt. Non ne ho capito lo scopo perchè non è stato citato. Penso tuttavia, visto che è stato già considerato [Risolto], che possiamo benissimo risparmiarci qualsiasi approfondimento.
 :ciao:
« Ultima modifica: 02 Maggio 2013, 23:21:05 da Picavbg »
:ciao:

Offline 9bit

  • Grande Gambero
  • ***
  • Post: 191
    • Mostra profilo
Ok! L'importante che sia stato risolto. Chiudo anch'io.
 :ciao: