Assegnare valore a una variabile

sabato 21 gennaio 2012 - 14.53
Tag Elenco Tags  C#  |  .NET 4.0  |  Visual Studio Express

82_marco Profilo | Junior Member

ciao vorrei assegnare ad ogni pressione di un pulsanteil valore della colonna di u file txt dove e' contenuto il determinato carattere.
Provo a spiegarmi meglio:
Ho un file txt dove ho questa riga: #900 1002111033<
il codice dovrebbe cercare la riga con contenuto #900 e poi partendo dal sesto carattere di questa riga fino a quando trova < dovrebbe ricavarmi il numero delle colonne dove e' contenuto il valore 1 ed assegnarlo ad una variabile ogni volta che premo un pulsante. dopo avere assegnato l'ultimo valore alla pressione successiva assegno ancora il primo

quindi alla prima pressione devo avere 6, alla seconda 10, poi 11 e cosi via finche non assegno tutti i valori e poi ricomincio da 6

Jeremy Profilo | Guru

Ciao Marco.
Devi lavorare di RegulaExpression ... mentre per la lettura di un file puoi liberamente usare la classe "File" che trovi sotto il namespace System.IO

Facci sapere...
Ciao

82_marco Profilo | Junior Member

Ciao avresti un esempio da propormi? devo cercare prima la riga con indice #900 e poi dal sesto carattere fino a < devo cercare tutti i caratteri 1 ed assegnare ad una variabile da ogni pressione di un pulsante il numero di colonna dove sono contenuti.

Jeremy Profilo | Guru

Ciao Marco.
Una cosa del genere dovrebbe aiutarti

Facci sapere...
Ciao

82_marco Profilo | Junior Member

Ciao, non riesco ad aprirla, mi sembra sia in visualbasic, io dovrei farlo in c#

Jeremy Profilo | Guru

Già dimenticavo ....

82_marco Profilo | Junior Member

Ciao piu' o meno ci siamo
vorrei che il controllo venisse fatto all infinito, ho modificato un attimo una parte del codice cosi:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

ho aggiunto la variabile indi, che assume il valore di i quando trova il valore 1, ora vorrei che quando ha letto tutta la riga, assegnando ad indi tutti i valori di i che mi servono ricominci ad inizio riga

82_marco Profilo | Junior Member

mi potresti spiegare questa riga?
Result = Regex.Match(RichTextBox1.Text, "(?<=#900 )\\d+").Value;

Jeremy Profilo | Guru

Ciao
Intanto ti allego il nuovo progettino di esempio.....
Result = Regex.Match(RichTextBox1.Text, "(?<=#900 )\ \d+").Value;
questa riga di codice consente di recuperare i valori che hai chiesto, utilizzando la classe RegularExpression, impostando un pattern.
Prova a dare un occhio a questa discussione http://www.dotnethell.it/forum/messages.aspx?ThreadID=40095
dovresti trovare informazioni utili.
Guarda soprattutto i link di riferimento ad alcune guide che mi hanno molto aiutato in passato.

Per il resto ... facci sapere....
Ciao

82_marco Profilo | Junior Member

Grazie dell aiuto che mi stai dando

E se in vece del pulsante per assegnare il valore usassi un comando while (true) in modo di riperete all infinito l'operazione (quando non ci sono piu' valori si ricomincia dal primo) e visualizzassi il valore in una label?

82_marco Profilo | Junior Member

"(?<=#900 )\\d+") dice di cercare sulla riga che comincia con #900 fino al carattere < giusto?

Jeremy Profilo | Guru

>E se in vece del pulsante per assegnare il valore usassi un comando
>while (true) in modo di riperete all infinito l'operazione (quando
>non ci sono piu' valori si ricomincia dal primo) e visualizzassi
>il valore in una label?
Puoi fare tutto quello che vuoi ..... basta scrivere il codice
Gli esempi che ti diamo sono solo esempi che dovrebbero servirti a metterti sulla strada giusta ..... poi tu devi fare il resto ...
Poi, se incontri qualche difficoltà, facci sapere....
Ciao

Jeremy Profilo | Guru

>"(?<=#900 )\ \d+") dice di cercare sulla riga che comincia
>con #900 fino al carattere < giusto?
Non dice proprio quello ..... ma il concetto è quello.
Dice di cercare tutti i numeri "\d+" che si trovano a destra di "#900", quindi, non essendo "<" un numero ..... si ferma e restituisce il valore.

82_marco Profilo | Junior Member

Finalmente ci siamo
Ho fatto le modifiche del caso e dovrebbe funzionare
Al momento si blocca perche faccio un loop infinito, ma quando andro' ad inserirlo dentro un thread nel resto del codice, dovrebbe andare bene.

Se incontrero' dei problemi ti faccio sapere

GRazie, spero che un giorno riesca ad essere utile a qualcuno come voi lo siete per me
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5