Oppure

Loading
17/01/10 21:58
cesco_fran
Salve a tutti, ben ritrovai.

Probabilmente sbaglio dove cercare, ma non trovo un esempio in cui viene spiegato la procedura che è in oggetto.

Io ho un file txt, in questo file ci sono alcune informazioni intervallate da uno spazio.

Io ho dei valori in un Array, devo confrontarli riga per riga con i dati presenti nel file txt.

Che procedura devo seguire?

Grazie a tutti. :)
aaa
17/01/10 22:44
nessuno
Leggi i dati riga per riga e separali con la Split.

Poi confronta i dati ottenuti con quelli che hai ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
17/01/10 23:12
balto
Se possibile, specifica il linguaggio.
Comunque, vuoi confrontare ogni singolo elemento dell'array con tutti i dati del file di testo o semplicemente confrontare il primo elemento dell'array col primo dato del file, il secondo col secondo dato, e così via?

Penso tu intenda questo:

string Line;
List<string> Words = new List<string>();

//Sostituisci il percorso esatto
string FileName = @"C:\Testo.txt";
//Apri il file di testo
StreamReader strReader = File.OpenText(FileName);

//La variabile Line diventa, con un ciclo, ogni riga di testo
while ((Line = strReader.ReadLine()) != null)
{
//Per ogni riga di testo, la dividi per il carattere "spazio"
//E aggiungi ogni parola ad una lista, che conterrà tutte le parole
Words.AddRange(Line.Split(new char[] { ' ' }).ToList<string>());
}

//Inizializzi il nuovo array, modifica il numero delle stringhe a tuo piacimento
//E inserisci tutti i valori nell'array altrimenti non riceverai alcun risultato
string[] strArray = new string[10]; 

//Inizi un ciclo in un ciclo(uno che si ripete per tutti gli elementi dell'array
//E uno che si ripete per tutte le parole della lista)
foreach (string Word in Words)
{
for (int i = 0; i < strArray.Lenght; i++)
{
if (Word.Equals(strArray[i]))
MessageBox.Show("La parola " + Word + " è presente sia nel file di testo che nell'array.");
}
}


Il codice è stato scritto in C#. Se hai problemi a comprenderlo dimmelo.
aaa
18/01/10 6:27
cesco_fran
Ops

scusate! :D

Il linguaggio è Visual Basic (.net).
aaa
18/01/10 14:09
devi isolare ogni dato con la funzione split (che restituisce un array) e poi li confronti, non so se cè una funzione che lo fa...però con un ciclo non è difficile
18/01/10 15:38
Il Totem
Postato originariamente da balto:

Se possibile, specifica il linguaggio.
Comunque, vuoi confrontare ogni singolo elemento dell'array con tutti i dati del file di testo o semplicemente confrontare il primo elemento dell'array col primo dato del file, il secondo col secondo dato, e così via?

Penso tu intenda questo:

string Line;
List<string> Words = new List<string>();

//Sostituisci il percorso esatto
string FileName = @"C:\Testo.txt";
//Apri il file di testo
StreamReader strReader = File.OpenText(FileName);

//La variabile Line diventa, con un ciclo, ogni riga di testo
while ((Line = strReader.ReadLine()) != null)
{
//Per ogni riga di testo, la dividi per il carattere "spazio"
//E aggiungi ogni parola ad una lista, che conterrà tutte le parole
Words.AddRange(Line.Split(new char[] { ' ' }).ToList<string>());
}

//Inizializzi il nuovo array, modifica il numero delle stringhe a tuo piacimento
//E inserisci tutti i valori nell'array altrimenti non riceverai alcun risultato
string[] strArray = new string[10]; 

//Inizi un ciclo in un ciclo(uno che si ripete per tutti gli elementi dell'array
//E uno che si ripete per tutte le parole della lista)
foreach (string Word in Words)
{
for (int i = 0; i < strArray.Lenght; i++)
{
if (Word.Equals(strArray[i]))
MessageBox.Show("La parola " + Word + " è presente sia nel file di testo che nell'array.");
}
}


Il codice è stato scritto in C#. Se hai problemi a comprenderlo dimmelo.


:yup:
aaa
18/01/10 19:08
balto
        Dim Line As String
        Dim Words As New List(Of String)

        'Sostituisci il percorso esatto
        Dim FileName As String = "C:\Users\Valerio\Desktop\Testo.txt"
        Dim strReader As StreamReader
        'Apri il file di testo
        strReader = File.OpenText(FileName)

        'La variabile Line diventa la prima riga di testo
        Line = strReader.ReadLine()

        'E con un ciclo diventa ogni riga
        'Per ogni riga, divido la variabile Line per il carattere "spazio"
        'E aggiungo ogni parola ad una lista, che conterrà quindi tutte le parole
        Do While (Not Line Is Nothing)
            Words.AddRange(Line.Split(New Char() {" "}).ToList())
            Line = strReader.ReadLine()
        Loop

        strReader.Close()
        'Inizializzi un array (modifica la lunghezza a tuo piacimento
        'E inserisci tutti i valori nell'array altrimenti non avrai alcun risultato
        Dim strArray(10) As String


        'Inizi un ciclo in un ciclo(uno che si ripete per tutti gli elementi dell'array 
        'E uno che si ripete per tutte le parole della lista) 
        For Each Word As String In Words
            For i As Integer = 0 To strArray.Length - 1 Step 1
                If Word.Equals(strArray(i)) Then
                    MsgBox("La parola " & Word & " è presente sia nel file di testo che nell'array.")
                End If
            Next
        Next
Ultima modifica effettuata da balto 18/01/10 19:11
aaa
23/01/10 18:56
cesco_fran
Grazie a tutti per la disponibilità, proverò a fare qualche prova per vedere se riesco ad aggiungerlo a quello che avevo pensato. :)
aaa