Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Programmation C » taille d'un fichier (3 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
kaz00 Ecrit le: Dimanche 21 août 2005 à 18:47 Déconnecté(e)    Voir le profil de kaz00 Envoyer un email à kaz00 Envoyer un message privé à kaz00  

Jai le chemin d'un fichier enregistré dans ue chaine : "main/fichier1"
Mais je n'arrive pas a recuperer la taille de ce fichier...
Comment faire?

merci
    
./Post n°1   Marquer comme non lu.
limmt Ecrit le: Dimanche 21 août 2005 à 19:11 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


cf doc de tigcc

Assume that you found a VAT symbol entry for a symbol (say symbol named "foo") which may be done for example using SymFindPtr:
SYM_ENTRY *sym;
...
sym = SymFindPtr (SYMSTR ("foo"), 0);

Then, do the following to find the size and type:
unsigned short size;
ESQ type;
...
size = ((MULTI_EXPR*) HeapDeref (sym->handle))->Size + 2;
type = *(HToESI (sym->handle));

After this, the variables 'size' and 'type' will contain exactly what do you want.
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°2   Marquer comme non lu.
Ephyx Ecrit le: Dimanche 21 août 2005 à 19:26 Déconnecté(e)    Voir le profil de Ephyx Envoyer un email à Ephyx Visiter le site WEB de Ephyx Envoyer un message privé à Ephyx  



unsigned short filesize(char *filename) {
  // conversion du nom pour être au format de nom de la VAT
  SYM_STR symstr = SYMSTR(filename);
  // obtention de la référence du symbol (du fichier)
  HSym hsym = SymFind(symstr);
  if (hsym.folder != 0) {
    // Déréférencement du Hsym
    SYM_ENTRY *symentry = DerefSym(hsym);
    if (symentry) {
      MULTI_EXPR *expr = HeapDeref(symentry->handle);
      if (expr)
        return expr->Size + 2;
    }
  }
  return 0; 
}

-Edité le Dimanche 21 août 2005 à 19:28 par Ephyx-
Lemuria & Sirius-B, chouette :D
    
./Post n°3   Marquer comme non lu.
kaz00 Ecrit le: Dimanche 21 août 2005 à 19:31 Déconnecté(e)    Voir le profil de kaz00 Envoyer un email à kaz00 Envoyer un message privé à kaz00  

merci tout les deux #top# #10#
Vous m'avez aidé à trouver ;)

    
  :: Index » Forum Ti68K » Programmation C » taille d'un fichier (3 réponse(s))
Pages : 1/1     « [1] » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 39.09ms avec 18 requetes