| Problème de lecture dans un fichier | |
|
+5theo2104 Pepsy daminetreg [TheDarkTiger] Dan_lizhot 9 participants |
Auteur | Message |
---|
Dan_lizhot Modérateur
Messages : 3463 Projet Actuel : Crypt Of Darkness
| Sujet: Problème de lecture dans un fichier Lun 16 Juil 2007 - 17:37 | |
| j'ai un petit problème de lecture d'un fichier et j'arrive pas à voir ce que c'est voici le bout de code ou ça bloque - Code:
-
open_file=file_text_open_read("C:\WINDOWS\system32\game.registration");
if registered = false { if not registry_exists("date") { if not file_exists("C:\WINDOWS\system32\game.registration") { registry_write_real("date",today); registry_write_real("end",date_inc_month(today,1)); file=file_text_open_write("C:\WINDOWS\system32\game.registration"); file_text_write_real(file,date_inc_month(today,1)); file_text_close(file); } else { if date_compare_datetime(today,file_text_read_real(open_file))>=0 { registry_write_real_ext(today,"date",date_create_datetime(year,month,day,hour,minute,second)); registry_write_real("end",file_text_read_real(open_file)); } else { show_message("l'essaie gratuit est expiré"); game_end(); break; } if registry_exists("date") { if date_compare_datetime(today,registry_read_real("date"))>=0 { registry_write_real_ext(today,"date",date_create_datetime(year,month,day,hour,minute,second)); } else { show_message("l'essaie gratuit est expiré"); game_end(); break; }; file_text_close(open_file); }; }; };
ça me met cette erreur - Citation :
- Error reading real
Un grand merci si vous trouvez l'erreur |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Problème de lecture dans un fichier Mar 17 Juil 2007 - 1:24 | |
| bha moi ce qui me parait zarb, c'est que tu ne lise à aucun moment, ni dans le registre, ni dans les fichier :hehe: _________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antiqueBienvenue au 2630eme utilisateur : Mike Kennedy ! |
|
| |
Dan_lizhot Modérateur
Messages : 3463 Projet Actuel : Crypt Of Darkness
| Sujet: Re: Problème de lecture dans un fichier Mar 17 Juil 2007 - 1:42 | |
| tu veux le script au complet si j'ai bien compris |
|
| |
Dan_lizhot Modérateur
Messages : 3463 Projet Actuel : Crypt Of Darkness
| Sujet: Re: Problème de lecture dans un fichier Mar 17 Juil 2007 - 22:42 | |
| Voilà le code au complet, mais je suis sûr que ça vient de la partie que j'ai posté - Spoiler:
- Code:
-
now=date_current_datetime(); second=date_get_second(now); minute=date_get_minute(now); hour=date_get_hour(now); day=date_get_day(now); month=date_get_month(now); year=date_get_year(now); registered = false; registered = registry_read_real('cdkey'); today=date_create_datetime(year,month,day,hour,minute,second); open_file=file_text_open_read("C:\WINDOWS\system32\game.registration");
if registered = false { if not registry_exists("date") { if not file_exists("C:\WINDOWS\system32\game.registration") { registry_write_real("date",today); registry_write_real("end",date_inc_month(today,1)); file=file_text_open_write("C:\WINDOWS\system32\game.registration"); file_text_write_real(file,date_inc_month(today,1)); file_text_close(file); } else { if date_compare_datetime(today,file_text_read_real(open_file))>=0 { registry_write_real_ext(today,"date",date_create_datetime(year,month,day,hour,minute,second)); registry_write_real("end",file_text_read_real(open_file)); } else { show_message("l'essaie gratuit est expiré"); game_end(); break; } if registry_exists("date") { if date_compare_datetime(today,registry_read_real("date"))>=0 { registry_write_real_ext(today,"date",date_create_datetime(year,month,day,hour,minute,second)); } else { show_message("l'essaie gratuit est expiré"); game_end(); break; }; file_text_close(open_file); }; }; };
switch (show_message_ext("option","s'enregistrer","continuer","quitter")) { case 1: cdkey = get_string("CD Key","(Entrer le CD Key ici)"); if cdkey = "24" || cdkey = "23" || cdkey = "25" || cdkey = "27" || cdkey = "29" || cdkey = "88" || cdkey = "89" {show_message("Le CD Key est valide."); registered = true; registry_write_real('cdkey',registered);break;} else{show_message("Le CD Key est Invalide"); game_restart();break;};
case 2: if date_compare_date(today,registry_read_real("end"))!=1 { check_date=registry_read_real("end"); show_message("Vous devez vous enregistrez avant le "+date_date_string(check_date)); }; else { show_message("l'essaie gratuit est expiré"); game_restart(); };;break; case 3: game_end(); }; };
|
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: Problème de lecture dans un fichier Mar 17 Juil 2007 - 23:28 | |
| C'est un problème tout bête de GM, en fait lorsque tu essaies de lires un réel avec file_text_read_real gm renvoie une erreur, mark ne l'a pour le moment pas corrigée. La solution c'est de lire ainsi: real(file_text_read_string(file)) Ton problème vient donc de cette ligne: - Code:
-
if date_compare_datetime(today,file_text_read_real(open_file))>=0 La solution est donc: - Code:
-
if date_compare_datetime(today,real(file_text_read_string(open_file)))>=0 Par contre méfies toi de comment gm écrit dans les fichiers, il risque d'écrire ton chiffre comme ça: 1,000 Or lorsque tu lis des réels il faut qu'ils puissent être lu, c'est donc 1.000 qu'il doit y avoir dans ton fichier. D'ailleurs l'erreur peut aussi venir de ça, mais la première cause que j'ai énoncé est celle dont je suis le plus sûr. _________________ Mon CV : fr - de - en Tous Ensemble! Réalisons! |
|
| |
Dan_lizhot Modérateur
Messages : 3463 Projet Actuel : Crypt Of Darkness
| Sujet: Re: Problème de lecture dans un fichier Mar 17 Juil 2007 - 23:40 | |
| merci beaucoup Dam, t'es vraiment un dieux de gm ok je vais vérifier qu'il écrit bien avec un . avec ça, on aura un script de version shareware assez sécuritaire |
|
| |
Pepsy Utilisateur confirmé: Rang ***
Messages : 608 Localisation : Devant mon ordinateur à écrire des lignes de codes Projet Actuel : RPG
| Sujet: Re: Problème de lecture dans un fichier Mar 17 Juil 2007 - 23:59 | |
| - daminetreg a écrit:
- C'est un problème tout bête de GM, en fait lorsque tu essaies de lires un réel avec file_text_read_real gm renvoie une erreur, mark ne l'a pour le moment pas corrigée.
La solution c'est de lire ainsi: real(file_text_read_string(file))
Ton problème vient donc de cette ligne: - Code:
-
if date_compare_datetime(today,file_text_read_real(open_file))>=0 La solution est donc: - Code:
-
if date_compare_datetime(today,real(file_text_read_string(open_file)))>=0 Par contre méfies toi de comment gm écrit dans les fichiers, il risque d'écrire ton chiffre comme ça: 1,000 Or lorsque tu lis des réels il faut qu'ils puissent être lu, c'est donc 1.000 qu'il doit y avoir dans ton fichier. D'ailleurs l'erreur peut aussi venir de ça, mais la première cause que j'ai énoncé est celle dont je suis le plus sûr. Comment ta pus trouvé sa direct, je me prosterne |
|
| |
theo2104 Débutant
Messages : 27
| Sujet: Re: Problème de lecture dans un fichier Dim 18 Nov 2007 - 11:18 | |
| Bonjour. Moi aussi j'ai un problème de lecture de fichier, meme si ce n'est pas du tout la meme chose que Dan_lizhot, je poste ici ^^ - Code:
-
fichier=file_text_open_read("C:\WINDOWS\system32\1041\version.txt"); version=file_text_read_string(fichier); file_text_readln(fichier); file_text_close(fichier); Donc la normalement j'obtient ma variable "version". Mon seul probleme, c'est qu'elle est sous forme de "variable mot" et non sous forme de "variable nombre". En gros je ne peut pas la comparer avec une autre variable en utilisant < et > Ca me met "Cannot compare arguments.". |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Problème de lecture dans un fichier Dim 18 Nov 2007 - 11:28 | |
| real(version) est la valeur numérique de ton string _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
theo2104 Débutant
Messages : 27
| Sujet: Re: Problème de lecture dans un fichier Dim 18 Nov 2007 - 11:38 | |
| je peux mettre a la fin du code : - Code:
-
version = real(version) Ca marchera? |
|
| |
Devil37 Utilisateur confirmé: Rang *****
Messages : 1815
| Sujet: Re: Problème de lecture dans un fichier Dim 18 Nov 2007 - 12:14 | |
| Oui cela marchera. Autrement si tu veux économiser une ligne : - Code:
-
fichier=file_text_open_read("C:\WINDOWS\system32\1041\version.txt"); version=real(file_text_read_string(fichier)); file_text_readln(fichier); file_text_close(fichier); Et encore tu peux enlever ton "file_text_readln(fichier);", il ne sert à rien dans la mesure où tu ferme le fichier juste après ... |
|
| |
theo2104 Débutant
Messages : 27
| Sujet: Re: Problème de lecture dans un fichier Dim 18 Nov 2007 - 12:49 | |
| Daccord! Merci beaucoup à tous pour vos réponses! |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Problème de lecture dans un fichier Dim 18 Nov 2007 - 14:02 | |
| Non! ça marchera pas! Tu demande à 'version' de ce transformer de stringà valeur... c'est pas possible ça, non? _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: Problème de lecture dans un fichier Dim 18 Nov 2007 - 14:11 | |
| Logiquement ca ne devrait pas marcher. essaie - Code:
-
file_text_read_real()
|
|
| |
PhoenixD Utilisateur confirmé: Rang **
Messages : 344 Localisation : Bonne question! Projet Actuel : Kingdom Hearts :: Animaniac
| Sujet: Re: Problème de lecture dans un fichier Dim 18 Nov 2007 - 15:17 | |
| Regarde plus haut : - Code:
-
file_text_read_real() Bug. |
|
| |
theo2104 Débutant
Messages : 27
| Sujet: Re: Problème de lecture dans un fichier Dim 18 Nov 2007 - 16:44 | |
| Je suis désolé mais ces metodes ne marches pas pour le cas suivant... J'ai sans doute fait une erreur, mais où??? Je lis un fichier: - Code:
-
fichier=file_text_open_read("C:\WINDOWS\system32\1041\fichier.txt"); variable=file_text_read_real(fichier); file_text_close(fichier); Je modifie la variable et je reecris le fichier. jai essayer deux facons diferentes: - Code:
-
fichier=file_text_open_write("C:\WINDOWS\system32\1041\fichier.txt"); file_text_write_string(fichier,variable); file_text_close(fichier); Là, le fichier est vide. - Code:
-
fichier=file_text_open_write("C:\WINDOWS\system32\1041\fichier.txt"); file_text_write_real(fichier,variable); file_text_close(fichier); Là, j'obtient un nombre a virgule de style " 10,000" (avec l'espace devant) Ce nombre n'est pas reconnu comme valeur numerique par la suite. |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: Problème de lecture dans un fichier Dim 18 Nov 2007 - 19:18 | |
| Bon ok v te faire unenouvelle fonction alors attend un peu j'y travaille |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: Problème de lecture dans un fichier Dim 18 Nov 2007 - 19:33 | |
| Voila j'ai fini : Tu dois utiliser au lieu de - Code:
-
file_text_read_real(id)
- Code:
-
read_real(id)
Voici le script que tu dois nommer read_real, et voici son contenu : - Code:
-
// read_real(fname) Lit le contenu d'un fichier en ignorant les caractères non réels et qui retourne les réels
str = file_text_read_string(argument0) ; len = string_length(str) value = "" ; for( i=0 ; i<=len ; i+=1 ) { if ord(string_char_at( str , i ))>=48 && ord(string_char_at( str , i ))<=57 { value += string_char_at( str , i ); } } result = real(value) ; return result ;
|
|
| |
theo2104 Débutant
Messages : 27
| Sujet: Re: Problème de lecture dans un fichier Dim 18 Nov 2007 - 19:52 | |
| Donc pour la lecture, jutilise le script avec comme argument0 "fichier". Et pour l'ecriture, j'utilise le code string ou real? (ceux de mon message plus haut) |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: Problème de lecture dans un fichier Lun 19 Nov 2007 - 17:40 | |
| En gros voila un exemple d'utlisisation de mon script : - Citation :
ID = file_text_open_append("version.txt") // Ouvre le fichier en append (= permet l'ecriture et la lecture) Version1 = read_real(ID) // On lit le fichier file_text_readln(ID) // Par exemple, le fichier contient plusieurs lignes, donc on vavance d'une ligne Version2 = read_real(ID) // On lit la deuxième ligne file_text_close(ID) // On ferme le fichier, comme d'hab
/* Et voila tu as obtenu les deux lignes de réels du fichier texte. La ligne 1 étant Version1 et la seconde Version2 */
|
|
| |
theo2104 Débutant
Messages : 27
| Sujet: Re: Problème de lecture dans un fichier Mar 20 Nov 2007 - 16:05 | |
| Ok merci pour le script. Et pour l'ecriture, j'utilise: - Code:
-
file_text_write_string(fichier,variable) ou - Code:
-
file_text_write_real(fichier,variable) ?? Désolé pour ces questions qui peuvent paretre evidentes pour beaucoup... |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: Problème de lecture dans un fichier Mar 20 Nov 2007 - 17:12 | |
| Tu utilise - Code:
-
file_text_write_string(ID,tonstring)
pour qu'il n'aille pas écrire des 10.0000 ou des 13.000, ca ralentit pour rien |
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: Problème de lecture dans un fichier Mar 20 Nov 2007 - 18:48 | |
| J'ai écris plus haut: - Citation :
- Par contre méfies toi de comment gm écrit dans les fichiers, il risque d'écrire ton chiffre comme ça: 1,000
Or lorsque tu lis des réels il faut qu'ils puissent être lu, c'est donc 1.000 qu'il doit y avoir dans ton fichier. D'ailleurs l'erreur peut aussi venir de ça, mais la première cause que j'ai énoncé est celle dont je suis le plus sûr. Et tu m'as demandé par mp, comment faire en sorte que ça écrive 1.000 à la place de 1,000. Pour que la lecture se fasse sans problème, je poste ici pour faire partager aux autres la chose. Tu n'as qu'à utiliser comme l'a dit Master: variable_nombre = 12.4; file_text_write_string(iddufichier,string(variable_nombre)); Et pour la lecture: variable_nombre = real(file_text_read_string(iddufichier)); N.B Ecrire 3 zeros ne ralentit en rien le programme, de toutes façons la variable est sauvegardée à la même précision en mémoire vive, donc enlever les 0 ou les enlever ne changera rien. _________________ Mon CV : fr - de - en Tous Ensemble! Réalisons! |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: Problème de lecture dans un fichier Mar 20 Nov 2007 - 20:08 | |
| CA ralentit si on utilise mon cript pour la lecture |
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: Problème de lecture dans un fichier Mar 20 Nov 2007 - 20:10 | |
| Ah ok, j'avais pas tout lu, excuse. Je suis débordé ces temps-ci. _________________ Mon CV : fr - de - en Tous Ensemble! Réalisons! |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: Problème de lecture dans un fichier Mar 20 Nov 2007 - 23:30 | |
| No stress Je suis aussi un peu surchargé de travail là les examens approchent et j'ai bcp de matière à revoir. |
|
| |
Contenu sponsorisé
| Sujet: Re: Problème de lecture dans un fichier | |
| |
|
| |
| Problème de lecture dans un fichier | |
|