Vous n'êtes pas identifié.
1- comment on creer un fichier basic ?
g tt compris sauf zone_id .
2- comment on le supprime ?
g trouvé aucune fonction pour .
voila, 2072 repond a mes question ke je puisse avancer merci ;-)
Hors ligne
Bin il semblerai que zone_id soit a voir ac le 2em menu constructeur caché ...
Seulement, j' avais plein de prog basic, ca a fait erreur mémoire !
ms ss tt éfacé
et seulement quand je met le curseur ds prog sur mon nw prog, ARFF ( ca c du nom de prog basic !!) !
Hors ligne
Y'a un exemple dans le readme.
Tu n'as pas à utiliser huge_movedata
ni de char far *tell_mem_zone_seg( unsigned char id );
Zone_id correspond au type de donnée mémoire que tu veux créer pour les fichiers basic c'est 0x01
et pour l'instant on ne peut pas supprimer ou réduire la taille d'un fichier basic.
Je n'ai pas fait le readme pour m'amuser...
Hors ligne
Y'a un exemple dans le readme.
Tu n'as pas à utiliser huge_movedata
ni de char far *tell_mem_zone_seg( unsigned char id );
Zone_id correspond au type de donnée mémoire que tu veux créer pour les fichiers basic c'est 0x01
et pour l'instant on ne peut pas supprimer ou réduire la taille d'un fichier basic.
Je n'ai pas fait le readme pour m'amuser...
La contradiction par 2072 ...
dommage pour la supression de file basic :-(
Hors ligne
g un pb :
TCX me crée bien un fichier, seulement, il plante juste apres !
Ensuite quand on reboot, il m' efface la mem principal aléatoirement, cad parfois, et sinon, quand je relance TCX, il initialise bien le fichier basic (g vu ca en éditant celui ci ac prgm et g vu les bon raccourcis ), seulement, il lit que des conneries a partir ...
Ms ce pb, je l' ai deja resolue ds le passé (X-win et SPACE+), ya un pb au niveau de mon prog, le vrai pb c le plantage apres la création du fichier basic .
Dc ce post s' adresse aussi a Casiomax, comment a tu fait pour que apres la création du fichier basic, ca ne plante plus ?
Hors ligne
c'est ton programme qui doit faire des overflow a tour de main en écrivant n'importe où dans la mémoire, essaye de faire un programme tout simple. Normalement t'as rien à changer pour utiliser mes libs (elles fonctionnent parfaitement dans pas mal de prog (Platinium à tout de suite fonctionné avec ces nouvelles lib sans aucun problem)).
vérifie que tu compiles bien en tiny mode.
@+
Hors ligne
voila comment je fais pr chercher le fichier basic, ms pr écrire deds ben g encore qqes petits pbs, mais je V me faire un prog de test pr voir là où ça peut bugguer, car les overflow (n'importe lesquels) ça me connait! lol
bon vla le code:
//recherche le fichier basic void find_sfile(void) { int size=0; size=search_basic_file("BSAVE",&bf); // cherche le fichier basic if(size<155) { if(size>0) create_mem_zone(0x1,"BSAVE",155,RESIZE_ZONE); if(size<0) create_mem_zone(0x1,"BSAVE",155,CREATE_ZONE); } formatfile(); search_basic_file("BSAVE",&bf); return; }
Hors ligne
voila comment je fais pr chercher le fichier basic, ms pr écrire deds ben g encore qqes petits pbs, mais je V me faire un prog de test pr voir là où ça peut bugguer, car les overflow (n'importe lesquels) ça me connait! lol
bon vla le code:Code:
//recherche le fichier basic void find_sfile(void) { int size=0; size=search_basic_file("BSAVE",&bf); // cherche le fichier basic if(size<155) { if(size>0) create_mem_zone(0x1,"BSAVE",155,RESIZE_ZONE); if(size<0) create_mem_zone(0x1,"BSAVE",155,CREATE_ZONE); } formatfile(); search_basic_file("BSAVE",&bf); return; }
8O fo faire une recherche APRES avoir modifier la taille ?
dc c ok!
je vais essayé ...
...
transfert ...
...
Bon la console s' affiche correctement ...
TCX.INI INITIALISE ...
ZUT !
il initialise tout le temps !
pb au niveau de la lecture ...
Sinon, je vais essayer de le creer ...
MERCI, casiomax, ca marche!
reste plus ke le pb pour lire dedans ...
Bon ...
C ma fonction read1basic qui merde ...
(celle ci renvoie un unsigned char, et n' a que offset comme argument .)
A ?
Je crois que g trouvé !
Bon transfert ...
...
Plantage et dans la console !
Je vais essayer un autre combinaison ...
je vais mettre sizeof(unsigned char) en longueur ...
CHUIS UN CON !!!!
g mis return read_bfile o lieu de return octetlu !!!!
Bon transfert ...
...
CA MARCHE !!!!!!!!!!!!!!!!!!!!!!!!!!!!
:boire: :boire2: :fete: :fou: :vert: :jump:
:oops: g laissé débordé ma joie !
Hors ligne
oui il faut faire une recherche de fichier basic après la création aussi, pour si t vx en quelques sorte mettre à jour la structure bf!
et tant mieux ça marche!
Hors ligne
il ,vaut mieux tenter de créer directement le fichier basic et s' assurer que la fonction de création ne retourne pas l'erreur mémoire.
Le CREATE_ZONE ne sert que si on veut s'assurer que le fichier basic n'existe pas déjà au quel cas il renvoie une erreur.
il vaut mieux appeller la fonction avec RESIZE_ZONE directement si la taille demandée est plus grande que celle du fichier existant il le retaille si c'est la même il ne fait rien et si elle est inférieur il retourne une erreur.
Regarder l'exemple dans le readme ! enfin puisque vous
Example: int main (void) { struct BASICfile bf; char text[16]; 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); }
Hors ligne
Bon a mon tour de pa y arriver (G bien lu ton read me !!) Bon voila alors je voulais mettre ces fonxions ds Winderx3 donc je change les fichiers 1.0 par les 2.0 ds mon rep de travail. Alors ds le readme tu di ki fo ke j'ajoute le BASICf-u.cpp ds mon projet sinon ca marhe po ! J'utilise TC3 etr je me suis jamais servi des projet mais soit j'en crée un j'y met la source de mon jeu et le fameux fichier... Compilation et la linker error : undefined symbol suivi des trucs ke j'utilise de tes fonxions... Alors je voudrait savoir pkoi un simple #include ne suffi pa (ou un copier coller) et d'ou vien mon erreur j'espere avoir été clair ds mes explications (!) Merci !
Hors ligne
faut que tu mettes tes fichiers sources (.c) et le .c de mes libs dans ton projet et surtout que tu include le .h de mes lib dans ton(tes) fichier(s) soure(s) où tu utilises mes fonctions. (sinon le compilateur n'a aucune chance de savoir ce que sont mes fonctions)
et dans ton fichier source il faut que tu initialise la variable global (que tu dois définir) segm_video avec ce qui est marqué dans le readme.
dans mes lib cette variable est définie en tant que "externe" donc si tu inclu le comportement est imprévisible...
et au moin le projet évite de compiler 36000 fois les même fonctions alors que leur sources n'ont pas changée d'un octet.
et le projet ou makefile et une bonne habitude à prendre, ça permet de mieux s'organiser plutôt que d'avoir 1 seul fichier .c de 36 Ko...
@+
Hors ligne
Mais le pire c ke je fais tout ce ke tu dis a part ke mes sources sont en .cpp ca pe venir de la ?? (L'aide du compilo fait une allusion à ca...)
Hors ligne
Et tes sources sont vraiment en C++ ?
Hors ligne
ben plus ou moins disons ke je prog en c en utilisant la souplesse du c++... Mais je fais pa de POO(Programmation Orientée Objet)......
Hors ligne
ok j'essayerai a l'avenir......
Hors ligne
ben oui, g vu dans les sources de ktr, y'a des déclarations de variables DANS une boucle for, style for(int i;....) ce qui n'est pas autorisé en .cpp
mais voila....
Hors ligne
tu ve dire en .c ?? Ca marche tjrs po o fait !
Hors ligne
c'est pas dure à corrogé ça...
sinon tu fait un .obj à part et tu l'ajoute à ton projet peut-être que ça marchera...
mais je te conseille de refaire en C ce sara sûrement plus rapide qu'en C++
Hors ligne
c'est pas dure à corrogé ça...
sinon tu fait un .obj à part et tu l'ajoute à ton projet peut-être que ça marchera...
mais je te conseille de refaire en C ce sara sûrement plus rapide qu'en C++
Comment on fait un .obj ?
Et comment on l' exploite (pour faire comme un stdio.h, par exemple, ms ac nos routines !) ?
Hors ligne
Ok j'essayerai et je te dirai........
Hors ligne