GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
Ciao!
Il mio programma oramai è quasi finito (ringrazio tutti, ma soprattuto Gatonio), però c'è un'ultimo problema.
Il mio problema e ke non sò come fare(se premuto un pulsante) a visualizzare in una textbox(text1) la parola dopo la parola cercata.
Mi spiego meglio con questo esempio:
hello ciao
Metiamo ke questa è una frase scritta nel documento C:\prova.txt, allora io vorrei ke nella text1.text si visualizzi ciao, ma non facendo
Text1.text = ciao
infatti la parola "ciao" non è fissa può cambiare
infatti può essere ke ci sia
hello salve
Io, quindi sò con certezza ke hello è una parola fissa, ma la parola dopo hello può cambiare...
Quindi come faccio a visualizzare la parola dopo hello nella text1.text??????????
|
|
iGuLy (Ex-Member)
Pro
Messaggi: 66
Iscritto: 17/05/2007
|
Codice sorgente - presumibilmente VB.NET |
Private Sub Command1_Click() wella = "hello ciaoo" x = Mid(wella, 6, Len(wella)) Text1.Text = Trim(x) End Sub
|
Cosi dovrebbe funzionare
|
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
Grazie x avermi risposto,
però nn era quello ke volevo io...
adesso ti spiego:
il mio programma è un traduttore ke ha un documento in cui ci sono i vocaboli.
Allora io vorrei che, se premuto un pulsante, il mio programma cerca la parola inserita nella text1.text in questo documento.
Fino a qui nn ci sn problemi.
Poi però vorrei che una volta trovata la parola "veda" quella accanto (ke è la traduzione) e ke poi la visualizzi sempre nella text1.text.
p.s. può andare bene anke visualizzare nella text1.text la parola sotto quella ke il mio programma trova.
es.
hello
ciao
nella text1.text quindi poi (se premuto il pulsante) viene visualizzato ciao..
Spero di essere stato kiaro..
Ultima modifica effettuata da GrG il 24/09/2007 alle 17:44 |
|
LuigiBiasi (Normal User)
Expert
Messaggi: 237
Iscritto: 15/09/2006
|
secondo me la cosa migliore è quella di leggere il file riga x riga e mettere ogni volta la prima parola della riga nel primo termine di una matrice e la seconda nel secondo termine della matrice, cosi quando uno scrive una parola la vai a trovare nei primi elementi della matrice e se la trova stampa il valore del secondo elemento di quella matrice.
Se hai problema scrivi pure.
Ciao.
Ultima modifica effettuata da LuigiBiasi il 24/09/2007 alle 18:44 |
|
LuigiBiasi (Normal User)
Expert
Messaggi: 237
Iscritto: 15/09/2006
|
Il codice è cosi:
Codice sorgente - presumibilmente VB.NET |
Dim c(2, 100) As String Dim i As Integer Private Sub Command1_Click() Dim f As Integer dim ver as boolean ver = false For f = 0 To 100 If Text1.Text = c(0, f) Then Text2.Text = c(1, f) ver = true Exit For End If Next f if ver = false then MsgBox("Parola non trovata") end if End Sub Private Sub Form_Load() i = -1 Dim a As String Dim d() As String Open "C:\prova.txt" For Input As 1 Do i = i + 1 Line Input #1, a If a <> "" Then d = Split(a, " ") c(0, i) = d(0) c(1, i) = d(1) End If Loop While a <> "" End Sub
|
Ultima modifica effettuata da LuigiBiasi il 24/09/2007 alle 18:57 |
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
mmmmm.......
purtroppo, una volta compilato, quando provo ad aprire il file (con all'interno il tuo codice)mi da l'errore seguente:
Errore di run-time "9":
Indice non compreso nell'intervallo
|
|
LuigiBiasi (Normal User)
Expert
Messaggi: 237
Iscritto: 15/09/2006
|
Non ho capito cosa hai fatto.
Devi creare un applicazione con il codice che ti ho scritto prima.
E rinomina nella formLoad il file C:\prova.txt nel nome del tuo file che contiene:
hello ciao
goodmorning buongiorno
...
Il problema c'è forse xke la lista delle tue parole è + grande d 100, allora quando vai a definire la matrice metti + di 100
Codice sorgente - presumibilmente Visual Basic 6 |
Ultima modifica effettuata da LuigiBiasi il 24/09/2007 alle 20:51 |
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
No, nn è questo il problema infatti come prova,
nel file c'è solo:
hello ciao
Però mò ciò riprovato solo ke mi dà quest'erroe:
Input oltre la fine del file
ed è un'errore run-time "69"
(Quello ke ti avevo detto ieri nn me lo dà più)
Come posso fare??
|
|
LuigiBiasi (Normal User)
Expert
Messaggi: 237
Iscritto: 15/09/2006
|
Quell'errore forse è data perche vai a leggere una riga che non esiste perchè il file è finito.
Quindi il codice dovrebbe essre cosi
Codice sorgente - presumibilmente VB.NET |
Private Sub Form_Load() i = -1 Dim a As String Dim d() As String Open "C:\prova.txt" For Input As 1 Do i = i + 1 Line Input #1, a d = Split(a, " ") If a<>"" then c(0, i) = d(0) c(1, i) = d(1) End If Loop While Not EOF(1) 'Loop While EOF(1) = False End Sub
|
Cambia solo il codice nella Load il resto rimane invariato.
Ciao
Ultima modifica effettuata da LuigiBiasi il 25/09/2007 alle 15:11 |
|