Oppure

Loading
31/01/13 19:47
xProgrammer89x
Salve, prima di tutto, mi presento col dire che studio informatica, e che ho trovato questo forum tramite google.

Ho dato un'occhiata ed ho visto che è fatto da gente esperta, con guide ottime, ed interessanti threads.

Ho aperto questo post per chiedere un piccolo aiutino.

Dunque ho una textbox multiline di 250 (TextBoxML) parole una sotto l'altra, quindi separate da un "newline/da capo"

Quello di cui avrei bisogno, è di controllare data una parola/stringa in input (inserita in un'altra textbox single line TextSearch), di cercarla all'interno della lista delle 250, e restituire tramite msgbox "è presente" o "non è presente"

Ho provato ad usare if (TextBoxML.Text.Contains(TextSearch.Text)) {/* Msg */}

C'è un problema, se nella lista c'è la parola TRONCO ed io faccio cercare ONCO il programma restituisce "è presente" perchè giustamente ONCO è presente in lista, ma io avrei bisogno confrontare la stringa in input con le parole intere nella lista.

Spero di essere stato chiaro, qualcuno può darmi qualche suggerimento? (Vanno bene entrambi i linguaggi come da titolo)

Grazie in anticipo.
aaa
31/01/13 20:20
hai 250 parole, fai un array e controlla lì........ tanto la dimensione è fissa e la sai.....
31/01/13 20:27
GrG
Io ti consiglio di non cercare la parola, ma cercare carattere di accapo + parola, in questo modo eviti l'inconveniente che la tua parola sia contenuta in un altra. L'unica eccezione che dovrai gestire usando questo escamotage è nel controllare singolarmente la prima parola, poichè essa non è preceduta da un carattere di ritorno e perciò non la troverebbe mai..

credo che da questo codice di esempio capirai più facilmente:

            if ((textBox2.Text.Substring(0, textBox1.Text.Length).Equals(textBox1.Text))||(textBox2.Text.Contains("\n" + textBox1.Text)))
            {
                MessageBox.Show("Presente");
            }
            else
                MessageBox.Show("Non Presente");
aaa
31/01/13 20:27
xProgrammer89x
Postato originariamente da TheDarkJuster:

hai 250 parole, fai un array e controlla lì........ tanto la dimensione è fissa e la sai.....


L'avevo pensato, ma l'ho subito scartata.

Non esiste un sistema alternativo?

Perchè dovrei fare in seguito la stessa cosa con dei numeri [ID] che nel giro di 1 mese diventeranno anche migliaia, e sinceramente non saprei nemmeno la dimensione massima di un array.

In ogni caso dovrei fare anche un algoritmo per controllare tutto l'array, e sarebbe ideale che ci impiegasse pochissimo tempo a fare il controllo.

Hai altre idee?
aaa
31/01/13 20:30
xProgrammer89x
Postato originariamente da GrG:

Io ti consiglio di non cercare la parola, ma cercare carattere di accapo + parola, in questo modo eviti l'inconveniente che la tua parola sia contenuta in un altra. L'unica eccezione che dovrai gestire usando questo escamotage è nel controllare singolarmente la prima parola, poichè essa non è preceduta da un carattere di ritorno e perciò non la troverebbe mai..

credo che da questo codice di esempio capirai più facilmente:

            if ((textBox2.Text.Substring(0, textBox1.Text.Length).Equals(textBox1.Text))||(textBox2.Text.Contains("\n" + textBox1.Text)))
            {
                MessageBox.Show("Presente");
            }
            else
                MessageBox.Show("Non Presente");


Mi sembra un'ottima idea, non sapevo che si potesse usare anche "\n" nel contains.

Per la prima parola problema non c'è, posso inserirne un'altra inutile ancora sopra, tanto per il lavoro che ho da fare non mi comporterebbe alcun fastidio.

Che dire, non appena termino un altro progetto, lo provo subito e ti faccio sapere, grazie mille.
aaa