Codice: Seleziona tutto
op=file_text_open_read(global.dizionario);
numpar=1
for ( i=1 ; i < 100 ; i+=1)
{
ak=file_text_read_string(op)
// ecco qui devo settare la variabile solo se la linea letta ( ak ) contiene almeno 4 lettere della parola ma non altre ( tipo se la parola è uhahum deve prendere parole che contengono 4 o + lettere di questa parola ma che non ne contenga altre ..
// e qui non so come fare questo controllo..
global.parola[numpar]=
numpar+=1
}
file_text_close(op)
Codice: Seleziona tutto
// argument0: lettere da cercare
// argument1: stringa da verificare
var i,j,len1,len2,verifica,conto;
len1=string_length(argument0);
len2=string_length(argument1);
for (i=1;i<=len1;i+=1) verifica[i]=0;
for (i=1;i<=len1;i+=1)
{
for (j=1;j<=len2;j+=1)
{
if (string_char_at(argument0,i)==string_char_at(argument1,j))
{verifica[i]=1;break;}
}
}
conto=0;
for (i=1;i<=len1;i+=1) conto+=verifica[i];
if (conto==len1) return true;
return false;
Vuoi qualcosa di questo genere?Davidunz ha scritto:è ma vedi tipo pennagomma contiene PENNA ma contiene anche altre lettere come g-o-m...deve restituire solo parole con le al massimo le lettere della parola cercata
Codice: Seleziona tutto
file=file_text_open_read("ciao.txt");
while(!file_text_eof(file)) {
line=file_text_read_string(file)
if(string_pos('2008',line) != 0) {
//...trovata la stringa 2008...
break;
}
file_text_readln();
}
file_text_close(file)
l'ho tolto perchè sul gmd non funzionava, anche il gmk aveva qualche problema....ora ci riprovoHomunculus ha scritto:Il codice che ti ho scritto é il minimo essenziale per fare una cosa simile. Te hai tolto file_text_readln(); che serve a passare alla riga successiva, nel tuo codice rimane all'infinito nella prima riga (while si ferma solo quando si arriva all'ultima). Oltretutto hai tralasciato break; alla fine dell'if, che serve a interrompere la lettura del file (siccome hai trovato la parola)
Basta che usi una variabile che parte da 0 e viene incrementata di 1 ogni volta che trovi la parola nel codice precedente no?jumoonp ha scritto:e ci sarebbe un modo di sapere quante volte è contenuta nel testo la parola che cerco?
Mi interesserebbe eccome il gmk, per studiarlo un pò...io invece sto cercando di fare un programma in cui vengano catalogate, in un array, ogni parola contenuta nel testo.Davidunz ha scritto:http://www.madware.org/file/wordchallengehelper.rar
Praticamente stavo facendo un bot per word challenge ( un giochino di facebook )
il bot cerca nel dizionario le parole da 6 lettere e te le dice .
ma il punto è che avevo bisogno che trovasse anche quelle da 3 da 4 da 5 .
Però per ora trova solo quelle li da 6 lettere perchè appunto devono esserci tutte le lettere.
Se volete poi posto il Gmk.
Mio dio non oso immaginare la quantità di memoria che andrà ad utilizzareuna cosa simile. Ma a che ti serve?jumoonp ha scritto:
Mi interesserebbe eccome il gmk, per studiarlo un pò...io invece sto cercando di fare un programma in cui vengano catalogate ogni parola contenuta nel testo in un array.
Avevo già tentato l'anno scorso di fare una cosa simile, ho tirato fuori un array molto pesante.....non prendere per lettera quello che dico....mi sembra ovvio che non voglia dire quello che tu mi rispondi...non è certo nelle mie intenzioni catalogare migliaia di migliaia di parole.Homunculus ha scritto:Mio dio non oso immaginare la quantità di memoria che andrà ad utilizzareuna cosa simile. Ma a che ti serve?jumoonp ha scritto:
Mi interesserebbe eccome il gmk, per studiarlo un pò...io invece sto cercando di fare un programma in cui vengano catalogate ogni parola contenuta nel testo in un array.
non uso il messenger di msn, non ho alcun id su hotmail, mi spiaceDavidunz ha scritto:se mi aggiungi su msn te lo invio che mi fa fatica metterlo su internet
[email protected] ( due_ )
Codice: Seleziona tutto
op=file_text_open_read("hello.txt")
ak=file_text_read_string(op)
//prendiamo prima lettera e risalviamo il contenuto modificato nella stessa variabile
ak=string_char_at(ak,0) //prendo lettera n° 0
file_text_close(op)
idfile=file_text_open_write("hola.txt");
file_text_write_string(idfile,ak);
file_text_close(idfile);
maz85 ha scritto:Supponendo che nel file "hello.txt" ci sia scritto "ciao" si mette dentro "hola.txt" la prima lettera ovvero "c"
Adesso non ricordo se string_char_at identifica con 0 o 1 il primo carattere. Try it!Codice: Seleziona tutto
op=file_text_open_read("hello.txt") ak=file_text_read_string(op) //prendiamo prima lettera e risalviamo il contenuto modificato nella stessa variabile ak=string_char_at(ak,0) //prendo lettera n° 0 file_text_close(op) idfile=file_text_open_write("hola.txt"); file_text_write_string(idfile,ak); file_text_close(idfile);
avrei ancora un paio di cose da chiedere....maz85 ha scritto:Supponendo che nel file "hello.txt" ci sia scritto "ciao" si mette dentro "hola.txt" la prima lettera ovvero "c"
Adesso non ricordo se string_char_at identifica con 0 o 1 il primo carattere. Try it!Codice: Seleziona tutto
op=file_text_open_read("hello.txt") ak=file_text_read_string(op) //prendiamo prima lettera e risalviamo il contenuto modificato nella stessa variabile ak=string_char_at(ak,0) //prendo lettera n° 0 file_text_close(op) idfile=file_text_open_write("hola.txt"); file_text_write_string(idfile,ak); file_text_close(idfile);
ho trovato un tutorial che fa al caso mio...poi vediamo che si può fareHomunculus ha scritto:se la funzione file_text_write_string ti sovrascriveo ogni volta il testo non c'é altor modo che unire tutte le lettere e scriverle in una volta sola
Super_Slascio ha scritto:Ciao.
Premetto che non ho letto i post precedenti al tuo ultimo,ma
per risolvere il problema del leggere ogni riga basta usare un for.
Quindi, mettendo che la variabile file è il file_text aperto (file = file_text_open_read(fname))
in uno step metti:
line[0] = file_text_read_string(file);
for (i=1;i<=num;i+=1)
{
file_text_readln(file);
line = file_text_read_string(file);
}
//num = numero di righe che vuoi leggere
in un draw metti:
for (i=0;i<=num;i+=1)
draw_text(10,10+15*i,line);
Dove num non è per forza una variabile, ma lo ho riscritto per far capire che devi inserire
uno stesso numero nel for dello step e in quello nel draw.