Ciao.
Ho scritto questo :
DIM utente AS String
DIM alice AS String
DIM hfile AS File
utente = TextBox1.text
hfile = OPEN User.Home &/ "Memoria.txt" FOR CREATE
IF utente = "ciao" THEN
TextBox2.text = "Ciao anche a te !"
alice = TextBox2.Text
hfile.Save(User.Home &/ "Memoria.txt", utente & " " & alice)
END IF
In pratica, se l'utente scrive ciao nella textbox1, nella textbox2 il programma scrive Ciao anche a te e salva le due stringhe in un file di testo.
Ecco il problema => se io, la prossima volta che apro il programma e scrivo ciao, esso va a cercare nel file la risposta di ciao ( che è Ciao anche a te ) e non me la scrive più sul file.
Così si crea una specie di dizionario di frasi.
Un aiutino, grazie ! ;D
Ecco il codice per il primo programma ( editor di domanda e risposta ) :
DIM memoria AS File
DIM domanda AS String
DIM risposta AS String
risposta = TextBox1.Text
domanda = TextBox2.Text
memoria = OPEN User.home &/ "Memoria.txt" FOR CREATE
memoria.Save(User.home &/ "Memoria.txt", domanda & " " & risposta)
Ecco l'esempio di cosa scrive sul file :
Adesso, devo fare in modo che , se nel programma della chat scrivo ciao, esso va a cercare la stringa ciao e trova la risposta .
Non so che codice posso usare !
Aiutino ;D
Scusate la mia modesta intromissione, ma il risultato cercacto da Will32 mi pare di semplice soluzione e sinceramente non credo che sia necessario un secondo programma, nè che ci sia la necessità si scomodare un DB.
É vero che tutte le soluzioni che producano lo stesso risultato sono buone, ma analizzando la tematica dell'argomento e considerando inoltre anche lo scopo esercitativo che serve a Will32, io, al suo posto, utiluzzerei un semplice file sequenziale che potrei aprire con l'opzione FOR READ per svolgere la ricerca del terminine contenuto nella TextBox1.text, mentre lo aprirei con l'opzione FOR APPEND per registrare gli accodamenti dei nuovi termini che di volta in volta troverei nella TextBox2.text. Organizzerei perciò il file con record, ciascunio contenente due campi:
DIM Path_Dizionario as String
DIM Dizionario AS File
DIM RecDizio AS String[2]
DIM bEsitoas boolean
Path_Dizionario= /home/percorso
Dizionario = OPEN Path_Dizionario FOR READ
FOR EACH RecDizio
if TextBox1.text=RecDizio[0]
TextBox2.text=RecDizio[1]
Esito=TRUE
BREAK
endif
next
if Esito=FALSE
Message.Info("Termine sconosciuto")
Invece per accodare il nuovo termine:
Dizionario = OPEN Path_Dizionario FOR APPEND
RecDizio[0]=TextBox1.text
RecDizio[1]=TextBox2.text
WRITE # Dizionario
Il codice, scritto di getto è da verificare e correggere, ma contiene tutto il concetto
@ Will32:
Scusa se non ho risposto prima, ma la home del sito al quale ho acceduto più volte oggi, mi dava sempre come ultima rispo alla discussione, la mia, quindi non mi sono accorto se non a tarda ora che la discussione è andata avanti. Spero di non essere arrivato tropppo tardi. Se ti piace la mia soluzione, ti consiglio di prendere il codice scritto qui sopra come spunto per uno studio prima di inserirlo nel tuo programma. Così potrai farlo tuo e continuare costruttivamente la tua esercitazione :D :D
Ciao a tutti.