IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Avoir la taille d'un executable


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 28
    Points : 24
    Points
    24
    Par défaut Avoir la taille d'un executable
    bonsoir
    je travaille sur un petit projet qui fait la compression d'un exécutable sous delphi2009
    la fonction GetFilesize renvoi 0 même quand il existe un fichier dans Tedit1
    voila le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    function TForm1.GetFileSize(  FileName: string): int64;
    var
      Sr : TSearchRec;
    begin
      if FindFirst(FileName,faAnyFile,Sr)=0 then
      try
        Result := Int64(Sr.FindData.nFileSizeHigh) shl 32 + Sr.FindData.nFileSizeLow;
      finally
        FindClose(Sr);
      end
      else
        Result := 0;
     
     end;
     
    procedure Tform1.GoClick(Sender: TObject);
     
    begin
     
    size:= GetFileSize(FileName);
     
     
    ClearMemo1;
    AddMemo1('  Size of section: '+IntToStr(size) );
     
    AddMemo1('  size after Packed' );
    AddMemo1 ('  Ratio of compression ' );
     
    end;
     
    procedure Tform1.openClick(Sender: TObject);
    begin
    if OpenDialog1.Execute then
         if FileExists(OpenDialog1.FileName) then
          begin
             Edit1.Text:= OpenDialog1.FileName;
             source:=ExtractFileName  (Edit1.Text) ;
             ClearMemo1;
          end;
     
    end;
    Pouvez-vous m'aider

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 421
    Points : 24 776
    Points
    24 776
    Par défaut
    C'est le code issu

    Comment recuperer la taille d'un fichier avec les fonctions de l'api ?
    Comment recuperer la taille d'un fichier ?

    la variable FileName faudrait lui fournir la valeur de OpenDialog1.FileName ?
    Simple confusion de variable
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    code issu de
    Comment récupérer la taille d'un fichier ?
    j'ai pas compris exactement ce que vous voulez dire
    il faut ajouter?
    FileName:=ExtractFileName(Edit1);
    le compilateur m'indique [DCC Avertissement] Unit1.pas(86): W1002 Le symbole 'FindData' est propre à une plate-forme
    dans la linge
    Result := Int64(Sr.FindData.nFileSizeHigh) shl 32 + Sr.FindData.nFileSizeLow;
    je pence que c l'origine de problème

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    ca marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    procedure TForm1.goclick(Sender: TObject);
    Var F: File of Byte;
    Fichier:String;
    begin
    Fichier:=Edit1.text;
    if FileExists(Fichier) then //Vérifie que le fichier existe
    begin
    AssignFile(F,Fichier); //Associe la variable F au fichier
    Reset(F); //Ouvre le fichier sans le modifier
    Label1.Caption:=IntToStr(FileSize(F)); //Taille en octets (FileSize ne peut être utilisée avec un fichier texte)
    CloseFile(F); //Ferme l'association entre la variable F et le fichier
    end;
    end;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Taille de l'executable entre 2 versions !
    Par jfcocu dans le forum GTK+
    Réponses: 6
    Dernier message: 24/05/2007, 15h56
  2. Optimiser taille d'un executable
    Par ced00 dans le forum Delphi
    Réponses: 17
    Dernier message: 07/10/2006, 10h07
  3. Taille de l'executable et les DLL
    Par aityahia dans le forum Delphi
    Réponses: 1
    Dernier message: 16/05/2006, 12h39
  4. Réponses: 5
    Dernier message: 23/10/2005, 12h47
  5. Taille de l'executable ENORME !!!
    Par kase74 dans le forum EDI
    Réponses: 12
    Dernier message: 21/10/2005, 20h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo