Forum Graph100

Forum Graph100

Vous n'êtes pas identifié.

Annonce

Bonjour et bienvenue sur le nouveau Forum Graph100 !
L'intégralité des données a été transférée sur un forum PunBB et tout les comptes sont fonctionnels avec le même nom d'utilisateur et mot de passe.
Un wiki est aussi disponible avec le même compte ! N'oubliez pas de remettre votre avatar, bon surf !
Pour plus d'informations, consultez ce post.

#1 15 Oct 2002 18:06:32

Julien
C++iste convaincu
Lieu: Waterloo (Be)
Date d'inscription: 29 May 2002
Messages: 1456
Site web

"Line useless"... Mouais pas tant que ca en fait :(

Resalut a tous  smile

Je me suis attaqué aux routines de 2072 pour gérer les fichiers basic, et apres avoir traduit le readme ( ca serait qd meme mieux en francais mais bon  :? ), j'ai pu compiler des progs convenablement, donc tous les fichiers sont bien présents dans ce qui va suivre.

Pour etre sur d'avoir un algo correct, j'ai repris l'exemple de 2072:

Code:

#include <dos.h>
#include "basic-u.h"
unsigned int segm_video;

int main (void)
{
struct BASICfile bf;
char text[16];

segm_video=peek(0x4E,0);

if (create_mem_zone(1,"TEST", 230, RESIZE_ZONE) != -2) 
{
if (search_basic_file("TEST", &bf) != -1)
        printf("TEST found ! The size is %un", bf.b_size);
    else
        printf("TEST not found !n");//this line is useless since it cannot happen !?!
        write_toBfile(&bf, "Hello world !", 0, 13);

        read_toBfile(&bf, text, 0, 13);

        printf("%s", text);
    } 
       else printf("Not enough memory !"n);
       exit(0);
}

Je compile ca sans probleme, et puis quand j'exécute, ma calto m'affiche "TEST not found"... Cherchez l'erreur!
Pourtant quand je vais voir dans les fichiers basic, TEST a bien été créé, et avec la bonne taille en plus, seulement impossible de le repérer avec la fonction search_basic_file() !!

Si par contre je cherche un fichier que j'ai créé moi-meme ou bien un fichier venant d'un jeu (comme PLATDATA par exemple), alors la calto me trouve effectivement le fichier.

Donc créer un fichier ca marche, chercher un fichier ca marche, mais chercher un fichier que j'ai créé ca marche pas!!  8O

J'ai essayé tout ce que je pouvais, mais rien a faire... :cry:

Z'auriez pas une ptite idée pour moi? wink


Pensez à surveiller mes releases wink

Hors ligne

 

#2 15 Oct 2002 20:30:13

2072
Programmeur Graph100
Lieu: Somewherebourg
Date d'inscription: 29 Jan 2002
Messages: 2056
Site web

Re: "Line useless"... Mouais pas tant que ca en fait :(

Ahhh merci ! Ça m'apprendra à ne pas tester mes exemples ! lol

Code:

#include <dos.h>
#include <conio.h>
#include <bios.h>
#include <stdlib.h>
#include <stdio.h>
#include "basic-u.h"
unsigned int segm_video;

int main (void)
{
    struct BASICfile bf;
    char text[16];

    segm_video=peek(0x4E,0);

    if (create_mem_zone(1,"TEST", 230, RESIZE_ZONE) != -2)
    {
    if (search_basic_file((unsigned char *)"TEST", &bf) != -1) {
        printf("TEST found ! The size is %un", bf.b_size);
        write_toBfile(&bf, "Hello world !", 0, 14);

        read_toBfile(&bf, text, 0, 14);

        printf("%s", text);
    } else
        printf("TEST not found !n");//this line is useless since it cannot happen !?!
    }
    else printf("Not enough memory !n");
    bioskey(0);
    return 0;
}

Bon voilà le bug c'est que ma fonction create_mem_zone écris le nom de la zone (en l'ocurrence le nom du fichier basic) sauf que j'ai fait une erreur: elle copie toujours 8 charactère quelque soit la longueur du nom donc forcément comme TEST fait 4 charactères elle copie ce qu'il y a après dans la mémoire et du coup le nom du fichier basic dans la mémoire n'était pas "TEST" mais "TEST00TES" et comme ma fonction search... cherchait "TEST00000000" elle ne risquait pas de le trouver....

Utilise le code au-dessus cela marchera beaucoup mieux !

@+


PS les autre vérifier vos progs

sinon dans le fichier BASICf-u.c , à la ligne 184, remplacez

Code:

//if not existing: write the zone name
    if (!found)
        for (b=0; b<8;b++)
        write_from_here[3+b]=zonename[b];

par

Code:

//if not existing: write the zone name
    if (!found)
        for (b=0; b<8;b++) {
        write_from_here[3+b]=zonename[b];
        if (!zonename[b]) break;
        }

-~2072~-
Paid Emails
[URL=http://www.2072productions.com]2072productions.com[/URL]
[URL=http://www.casiocalc.org]casiocalc.org[/URL]

Hors ligne

 

#3 16 Oct 2002 02:25:45

Julien
C++iste convaincu
Lieu: Waterloo (Be)
Date d'inscription: 29 May 2002
Messages: 1456
Site web

Re: "Line useless"... Mouais pas tant que ca en fait :(

Merci d'avoir répondu aussi vite!  big_smile

c'est marrant en plus j'avais pensé a un probleme dans les noms, parce que j'arrivais a créer plusieurs fichiers avec un meme nom...  lol

Bon j'ai plus qu'a me mettre au boulot!  smile


Pensez à surveiller mes releases wink

Hors ligne

 

#4 19 Oct 2002 09:30:32

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: "Line useless"... Mouais pas tant que ca en fait :(

euh...
tu te trompe 2072 !
moi je met po des /0 apres des noms !

moi je crois que l' erreur vient de la :

if (create_mem_zone(1,"TEST", 230, RESIZE_ZONE) != -2)

c po plutot CREATE_ZONE a la place de RESIZE_ZONE ???
ou alors g rien capté a tes routines et ca marche kan meme ...


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#5 19 Oct 2002 11:36:35

casioworld
Programmeur Graph100
Lieu: Palaiseau (Essonne)
Date d'inscription: 08 Feb 2002
Messages: 1843
Site web

Re: "Line useless"... Mouais pas tant que ca en fait :(

bah ecoute je teste ce qu'a fait julien.... et 2072 a entierement raison !!!
que ce soit create ou pas, le code de julien buggue alors qu'avec 2072 ca marche impect !!!
merci 2072 parceque j'avais exactement le mem prob que julien et maintenant tout est clean.
au fait je tenais a te féliciter parceque tes routines sont remarquables !


- http://www.casioworld.wb.st  --> plus grande base de données pour Graph100+
- http://efreidelirium.free.fr --> vive l'EFREI mdr

Hors ligne

 

#6 20 Oct 2002 03:44:43

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: "Line useless"... Mouais pas tant que ca en fait :(

moi je fais ca :
je recherche;
c po bon, je creer;
la taille est po bonne, je resize;
je recherche;
j' initialise le basicfile ;

Et ca marche impec !


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#7 20 Oct 2002 04:13:05

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: "Line useless"... Mouais pas tant que ca en fait :(

ouias c ma méthode aussi ds un prog dont je tairai le nom wink

et un truc aussi que j'aurais aimé ds les libs de 2072, c ke les nombres retournés soient en définition ac des noms, car -2 ou -1 on comprend pas tjrs...


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#8 20 Oct 2002 04:23:55

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: "Line useless"... Mouais pas tant que ca en fait :(

le prog, ce sera po *-***.*** ?
La suite de ton ** ?


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#9 20 Oct 2002 05:17:38

Swifter
Programmeur Graph100
Lieu: Niort (79)
Date d'inscription: 06 Aug 2002
Messages: 980
Site web

Re: "Line useless"... Mouais pas tant que ca en fait :(

C'est aussi ma méthode dans Snake II !!!


Swifter, avec un T, n'attrapes pas la poussière mais toutes les remarques débiles :mrgreen:
              ** Swifter68@hotmail.com **

Hors ligne

 

#10 20 Oct 2002 05:24:19

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: "Line useless"... Mouais pas tant que ca en fait :(

bon, ms c bizzare que search_basic_file retourne -1, ce code, c pour les erreur, non?
moi, la taille, je la trouve direct, car c ce que ca retourne ...


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#11 20 Oct 2002 08:33:53

Swifter
Programmeur Graph100
Lieu: Niort (79)
Date d'inscription: 06 Aug 2002
Messages: 980
Site web

Re: "Line useless"... Mouais pas tant que ca en fait :(

ben vi....
Et si ya erreur ca retourne -1...
Mais si c bon ca retourne la taille du fichier...
Par contre je savais pô que que RESIZE_ZONE créait aussi le fichier basic!
En tous cas c un truc a savoir, si le nom du fichier basic fait pô 8 charactères, faut rajoutter des charactère ( c pour ca que ca marchait nickel dans Snake II -->fichier basic =  SNK.CFG avec un espace devant donc un nom a huit charactere)


Swifter, avec un T, n'attrapes pas la poussière mais toutes les remarques débiles :mrgreen:
              ** Swifter68@hotmail.com **

Hors ligne

 

#12 20 Oct 2002 10:00:05

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: "Line useless"... Mouais pas tant que ca en fait :(

8O
TCX.MOD
TCX.ICO
TCX.INI

8O
en +, g fait un test, g creer un file appelé 'ARF' (quelle nom originale !!!) et ca a marchait pr la recherche ...


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#13 20 Oct 2002 12:16:03

2072
Programmeur Graph100
Lieu: Somewherebourg
Date d'inscription: 29 Jan 2002
Messages: 2056
Site web

Re: "Line useless"... Mouais pas tant que ca en fait :(

je sais que je ne me trompe pas, il ya un bug lorsque ma fonction écris le nom de la zone dans la mémoire... le nom sera celui que t'aura demandé mais après le carcatère nul il risque d'y avoir autre chose, suivant ce qu'il y a dans la mémoire...

applique la corrction que j'ai mis dans mon post plu haut et ça marchera sans rajouter les caractère nulls.

Et la meilleur façon de créer un fichier basic est de faire comme dans l'exemple corrigé que j'ai donné plus haut.

la fonction create_zone renvoie une valeur < 0 en cas d'erreur (-2 c'est qund y'a plus assez de mémoire disponible pour créer le fihier basic ou pour la fonction elle-même).


-~2072~-
Paid Emails
[URL=http://www.2072productions.com]2072productions.com[/URL]
[URL=http://www.casiocalc.org]casiocalc.org[/URL]

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr