Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Aiuto stringhe...!!!
Forum - Visual Basic 6 - Aiuto stringhe...!!!

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 15:30
Lunedì, 24/09/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??????????

PM Quote
Avatar
iGuLy (Ex-Member)
Pro


Messaggi: 66
Iscritto: 17/05/2007

Segnala al moderatore
Postato alle 15:39
Lunedì, 24/09/2007
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Command1_Click()
  2.     wella = "hello ciaoo"
  3.     x = Mid(wella, 6, Len(wella))
  4.     Text1.Text = Trim(x)
  5. End Sub


Cosi dovrebbe funzionare

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 17:38
Lunedì, 24/09/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
PM Quote
Avatar
LuigiBiasi (Normal User)
Expert


Messaggi: 237
Iscritto: 15/09/2006

Segnala al moderatore
Postato alle 18:22
Lunedì, 24/09/2007
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
PM Quote
Avatar
LuigiBiasi (Normal User)
Expert


Messaggi: 237
Iscritto: 15/09/2006

Segnala al moderatore
Postato alle 18:44
Lunedì, 24/09/2007
Il codice è cosi:
Codice sorgente - presumibilmente VB.NET

  1. Dim c(2, 100) As String
  2. Dim i As Integer
  3.  
  4. Private Sub Command1_Click()
  5. Dim f As Integer
  6. dim ver as boolean
  7. ver = false
  8. For f = 0 To 100
  9.     If Text1.Text = c(0, f) Then
  10.         Text2.Text = c(1, f)
  11.         ver = true
  12.         Exit For
  13.     End If
  14. Next f
  15. if ver = false then
  16.     MsgBox("Parola non trovata")
  17. end if
  18. End Sub
  19.  
  20. Private Sub Form_Load()
  21. i = -1
  22. Dim a As String
  23. Dim d() As String
  24.  
  25. Open "C:\prova.txt" For Input As 1
  26.     Do
  27.     i = i + 1
  28.     Line Input #1, a
  29.         If a <> "" Then
  30.             d = Split(a, " ")
  31.             c(0, i) = d(0)
  32.             c(1, i) = d(1)
  33.         End If
  34.     Loop While a <> ""
  35. End Sub


Ultima modifica effettuata da LuigiBiasi il 24/09/2007 alle 18:57
PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 19:19
Lunedì, 24/09/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

PM Quote
Avatar
LuigiBiasi (Normal User)
Expert


Messaggi: 237
Iscritto: 15/09/2006

Segnala al moderatore
Postato alle 20:08
Lunedì, 24/09/2007
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

  1. Dim c(2,1000) as String


Ultima modifica effettuata da LuigiBiasi il 24/09/2007 alle 20:51
PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 13:07
Martedì, 25/09/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??

PM Quote
Avatar
LuigiBiasi (Normal User)
Expert


Messaggi: 237
Iscritto: 15/09/2006

Segnala al moderatore
Postato alle 14:56
Martedì, 25/09/2007
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

  1. Private Sub Form_Load()
  2. i = -1
  3. Dim a As String
  4. Dim d() As String
  5.  
  6. Open "C:\prova.txt" For Input As 1
  7. Do
  8. i = i + 1
  9. Line Input #1, a
  10.  
  11. d = Split(a, " ")
  12. If a<>"" then
  13. c(0, i) = d(0)
  14. c(1, i) = d(1)
  15. End If
  16. Loop While Not EOF(1)
  17. 'Loop While EOF(1) = False
  18. 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
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo