Taille d1 image svp.

Résolu
Signaler
Messages postés
116
Date d'inscription
dimanche 12 décembre 2004
Statut
Membre
Dernière intervention
25 septembre 2005
-
Messages postés
165
Date d'inscription
mercredi 8 octobre 2003
Statut
Membre
Dernière intervention
10 novembre 2008
-
J'utilise Delphi 7, et je veux récupéré d'après une boite de dialogie
OpenPictureDialog le poids de l'image sélectionné ainsi que la date de
création si c possible. Voila le code que j'ai mis mais qui ne marche
malheuresement pas :



procedure TForm1.OuvrirClick(Sender: TObject);

begin

OpenPictureDialog1.Execute;

TxtEntree.Text:=OpenPictureDialog1.FileName;

Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);

TailleFichier := GetFileSize(OpenPictureDialog1.FileName);


TailleLabel.Caption := IntToStr(TailleFichier
);

end;



Merci à vous d'avance

17 réponses

Messages postés
165
Date d'inscription
mercredi 8 octobre 2003
Statut
Membre
Dernière intervention
10 novembre 2008

Salut



Alors le code ca donne ca :



unit Main;

interface

uses

Windows, Messages, Shellapi, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, ExtCtrls, Mask, ExtDlgs;

type

TForm1 = class(TForm)

B1: TBitBtn;

B2: TBitBtn;

B3: TBitBtn;

B5: TBitBtn;

B4: TBitBtn;

B6: TBitBtn;

B7: TBitBtn;

B8: TBitBtn;

PanelAbout: TPanel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

PanelSoutien: TPanel;

Label15: TLabel;

Label16: TLabel;

Label17: TLabel;

Label18: TLabel;

Label19: TLabel;

Label20: TLabel;

Label22: TLabel;

Label21: TLabel;

Label23: TLabel;

PanelLangue: TPanel;

Label24: TLabel;

Label30: TLabel;

Label28: TLabel;

Label29: TLabel;

Label25: TLabel;

PanelFichier: TPanel;

Label27: TLabel;

Label31: TLabel;

GroupBox1: TGroupBox;

TxtEntree: TEdit;

BitBtn1: TBitBtn;

Label32: TLabel;

Label33: TLabel;

Label34: TLabel;

Label35: TLabel;

Label36: TLabel;

lable37: TLabel;

Label38: TLabel;

Label39: TLabel;

Label40: TLabel;

OpenDialog1: TOpenPictureDialog;

SavePictureDialog1: TSavePictureDialog;

Image1: TImage;

procedure B7Click(Sender: TObject);

procedure B4Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure B1Click(Sender: TObject);

procedure B8Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure B5Click(Sender: TObject);

procedure GroupBox1Click(Sender: TObject);

function FileTimeToDateTime(FileTime: TFileTime): TDateTime;

function TailleFichier(fichier: string): longint;

function DateHeureCreationFichier(fichier: string): TDateTime;



private

public

end;

var

Form1: TForm1;

implementation

{$R *.dfm}



function TForm1.FileTimeToDateTime(FileTime: TFileTime): TDateTime;

var

LocalFileTime: TFileTime;

SystemTime: TSystemTime;

begin

FileTimeToLocalFileTime(FileTime, LocalFileTime);

FileTimeToSystemTime(LocalFileTime, SystemTime);

Result := SystemTimeToDateTime(SystemTime);

end;



function TForm1.DateHeureCreationFichier(fichier: string): TDateTime;

var

SearchRec:TSearchRec;

Resultat:LongInt;

begin

Result:=0;

Resultat:=FindFirst(fichier, FaAnyFile, SearchRec);

if Resultat=0 then Result:=FileTimeToDateTime(SearchRec.FindData.ftCreationTime);

FindClose(SearchRec);

end;



function TForm1.TailleFichier(fichier: string): longint;

var

SearchRec:TSearchRec;

Resultat:integer;

begin

Result:=0;

Resultat:=FindFirst(fichier, FaAnyFile, SearchRec);

if Resultat=0 then Result:=SearchRec.Size;

FindClose(SearchRec);

end;



procedure TForm1.BitBtn1Click(Sender: TObject);

begin

OpenDialog1.Execute;

TxtEntree.Text:=OpenDialog1.FileName;

Label36.Caption := IntToStr(TailleFichier(OpenDialog1.FileName))+' bits.';

Label36.Visible:=true;

TonLabel.Caption :=
TimeToStr(DateHeureCreationFichier(OpenPictureDialog1.FileName)) +';'+
DateToStr(DateHeureCreationFichier(OpenPictureDialog1.FileName));



end;



Voila ca devrait etre pas mal



Bonne Prog



Réponse Accepté si OK
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
fonction renvoyant la taille d'un fichier :

function TailleFichier(fichier: string): longint;

var

SearchRec:TSearchRec;

Resultat:integer;

begin

Result:= 0;

Resultat:=FindFirst(fichier, FaAnyFile, SearchRec);

if Resultat =0 then Result:= SearchRec.Size;

FindClose(SearchRec);

end ;



fonction renvoyant la date de création d'un fichier :

function DateHeureCreationFichier1(fichier: string): TDateTime;

var

SearchRec:TSearchRec;

Resultat:longint;

begin

Result: =0;

Resultat:= FindFirst(fichier, FaAnyFile, SearchRec);

if Resultat =0 then Result:= FileDateToDateTime(SearchRec.Time);

FindClose(SearchRec);

end ;



@+

Bonne Prog'

Nico [www.ni69.new.fr]

<hr size ="2" width="100%">

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
Messages postés
116
Date d'inscription
dimanche 12 décembre 2004
Statut
Membre
Dernière intervention
25 septembre 2005

salut et merci pour la réponse, mé je voudrai savoir ou mettre ces
fonctions paskenfait je veux que la taiille en bites de l'image
ainsique que la date de céation appraissent dans 2 lables différents et
merci
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
Désolé, j'ai fait une erreur dans la fonction renvoyant la date de création, il s'agit en fait de celle-ci :

function DateHeureCreationFichier(fichier: string): TDateTime;

var

SearchRec:TSearchRec;

Resultat:LongInt;

begin

Result:= 0;

Resultat:=FindFirst(fichier, FaAnyFile, SearchRec);

if Resultat =0 then Result:= FileTimeToDateTime(SearchRec.FindData.ftCreationTime);

FindClose(SearchRec);

end ;



Pour l'affichage dans les labels, fais comme ceci :

Label1.Caption : = IntToStr(TailleFichier(OpenPictureDialog1.FileName));

Label2.Caption := TimeToStr(DateHeureCreationFichier(OpenPictureDialog1.FileName)) + ' ; ' + DateToStr(DateHeureCreationFichier(OpenPictureDialog1.FileName));

@+
Bonne Prog'
Nico [www.ni69.new.fr]
<hr size="2" width="100%">


N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !

Messages postés
116
Date d'inscription
dimanche 12 décembre 2004
Statut
Membre
Dernière intervention
25 septembre 2005

une dernière question et je place ce code ou ? après la procédure
?? et tu peux stp juste m'expliquer les différents étapes du code de la
taille de l'image. Merci bcp de ton aide en tt cas. et j'oublierai pas de valider ben sûr
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
Mets les deux blocs 'fonctions' juste après
{$R *.DFM} et avant la première procédure.

Exemple :


[...]

implementation


{$R *.DFM}



function...

function...



procedure...

[...]



Pour le code d'affichage dans les labels, il faut bien évidement
le mettre à l'intérieur d'une procédure, après l'affichage de ton TOpenPictureDialog.



Explication de la fonction :

function TailleFichier(fichier: string): longint;
var
SearchRec:TSearchRec;
Resultat:integer;
begin
Result:= 0;

Resultat:=FindFirst(fichier, FaAnyFile, SearchRec); // Recherche du fichier...

if Resultat =0 then Result:= SearchRec.Size; //
Si le fichier est trouvé, extraction de sa taille

FindClose(SearchRec); // Clôture de la recherche

end ;


@+
Bonne Prog'
Nico [www.ni69.new.fr]
<hr size ="2" width="100%">


N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !

Messages postés
116
Date d'inscription
dimanche 12 décembre 2004
Statut
Membre
Dernière intervention
25 septembre 2005

Pour la taille ca mache mais pour la date il me dit "Identificateur non déclaré :FileTimeToDateTime"
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
ha dsl, c'est parce-que j'avais fait une autre fonction nommée comme ça :

function FileTimeToDateTime(FileTime: TFileTime): TDateTime;

var

LocalFileTime: TFileTime;

SystemTime: TSystemTime;

begin

FileTimeToLocalFileTime(FileTime, LocalFileTime);

FileTimeToSystemTime(LocalFileTime, SystemTime);

Result := SystemTimeToDateTime(SystemTime);

end ;

Il faut la mettre avant la fonction 'TailleFichier' dans le code.


@+
Bonne Prog'
Nico [www.ni69.new.fr]
<hr size ="2" width="100%">


N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !

Messages postés
116
Date d'inscription
dimanche 12 décembre 2004
Statut
Membre
Dernière intervention
25 septembre 2005

et mnt pour le label 2 je mets koi ?? et vraiment dsl pour le gros dérangement
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
tu mets :

Label2.Caption := TimeToStr(DateHeureCreationFichier(OpenPictureDialog1.FileName)) + ' ; ' +

DateToStr(DateHeureCreationFichier(OpenPictureDialog1.FileName));

comme prévu, il n'y a pas de changements de ce côté là



Ne t'inquiète pas, tu ne me déranges pas du tout



@+
Bonne Prog'
Nico [www.ni69.new.fr]
<hr size="2" width="100%">


N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !

Messages postés
116
Date d'inscription
dimanche 12 décembre 2004
Statut
Membre
Dernière intervention
25 septembre 2005

Pour le code :

function FileTimeToDateTime(FileTime: TFileTime): TDateTime;
var
LocalFileTime: TFileTime;
SystemTime: TSystemTime;
begin
FileTimeToLocalFileTime(FileTime, LocalFileTime);
FileTimeToSystemTime(LocalFileTime, SystemTime);
Result := SystemTimeToDateTime(SystemTime);
end;



Il me dit identificateur non délaré : DateHeureCreationFichier, je fais koi dans ce cas ?
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
passe moi ton code complet svp...

@+
Bonne Prog'
Nico [www.ni69.new.fr]
<hr size="2" width="100%">


N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !

Messages postés
116
Date d'inscription
dimanche 12 décembre 2004
Statut
Membre
Dernière intervention
25 septembre 2005

unit Main;

interface

uses

Windows, Messages, Shellapi, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, ExtCtrls, Mask, ExtDlgs;

type

TForm1 = class(TForm)

B1: TBitBtn;

B2: TBitBtn;

B3: TBitBtn;

B5: TBitBtn;

B4: TBitBtn;

B6: TBitBtn;

B7: TBitBtn;

B8: TBitBtn;

PanelAbout: TPanel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

PanelSoutien: TPanel;

Label15: TLabel;

Label16: TLabel;

Label17: TLabel;

Label18: TLabel;

Label19: TLabel;

Label20: TLabel;

Label22: TLabel;

Label21: TLabel;

Label23: TLabel;

PanelLangue: TPanel;

Label24: TLabel;

Label30: TLabel;

Label28: TLabel;

Label29: TLabel;

Label25: TLabel;

PanelFichier: TPanel;

Label27: TLabel;

Label31: TLabel;

GroupBox1: TGroupBox;

TxtEntree: TEdit;

BitBtn1: TBitBtn;

Label32: TLabel;

Label33: TLabel;

Label34: TLabel;

Label35: TLabel;

Label36: TLabel;

lable37: TLabel;

Label38: TLabel;

Label39: TLabel;

Label40: TLabel;

OpenDialog1: TOpenPictureDialog;

SavePictureDialog1: TSavePictureDialog;

Image1: TImage;

procedure B7Click(Sender: TObject);

procedure B4Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure B1Click(Sender: TObject);

procedure B8Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure B5Click(Sender: TObject);

procedure GroupBox1Click(Sender: TObject);



private

public

end;

var

Form1: TForm1;

implementation

{$R *.dfm}



function FileTimeToDateTime(FileTime: TFileTime): TDateTime;

var

LocalFileTime: TFileTime;

SystemTime: TSystemTime;

begin

FileTimeToLocalFileTime(FileTime, LocalFileTime);

FileTimeToSystemTime(LocalFileTime, SystemTime);

Result := SystemTimeToDateTime(SystemTime);

end;





function TailleFichier(fichier: string): longint;

var

SearchRec:TSearchRec;

Resultat:integer;

begin

Result:=0;

Resultat:=FindFirst(fichier, FaAnyFile, SearchRec);

if Resultat=0 then Result:=SearchRec.Size;

FindClose(SearchRec);

end;



procedure TForm1.BitBtn1Click(Sender: TObject);

begin

OpenDialog1.Execute;

TxtEntree.Text:=OpenDialog1.FileName;

Label36.Caption := IntToStr(TailleFichier(OpenDialog1.FileName))+' bits.';

Label36.Visible:=true;



end;
Messages postés
165
Date d'inscription
mercredi 8 octobre 2003
Statut
Membre
Dernière intervention
10 novembre 2008

Salut,





unit Main;

interface

uses

Windows, Messages, Shellapi, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, ExtCtrls, Mask, ExtDlgs;

type

TForm1 = class(TForm)

B1: TBitBtn;

B2: TBitBtn;

B3: TBitBtn;

B5: TBitBtn;

B4: TBitBtn;

B6: TBitBtn;

B7: TBitBtn;

B8: TBitBtn;

PanelAbout: TPanel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

PanelSoutien: TPanel;

Label15: TLabel;

Label16: TLabel;

Label17: TLabel;

Label18: TLabel;

Label19: TLabel;

Label20: TLabel;

Label22: TLabel;

Label21: TLabel;

Label23: TLabel;

PanelLangue: TPanel;

Label24: TLabel;

Label30: TLabel;

Label28: TLabel;

Label29: TLabel;

Label25: TLabel;

PanelFichier: TPanel;

Label27: TLabel;

Label31: TLabel;

GroupBox1: TGroupBox;

TxtEntree: TEdit;

BitBtn1: TBitBtn;

Label32: TLabel;

Label33: TLabel;

Label34: TLabel;

Label35: TLabel;

Label36: TLabel;

lable37: TLabel;

Label38: TLabel;

Label39: TLabel;

Label40: TLabel;

OpenDialog1: TOpenPictureDialog;

SavePictureDialog1: TSavePictureDialog;

Image1: TImage;

procedure B7Click(Sender: TObject);

procedure B4Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure B1Click(Sender: TObject);

procedure B8Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure B5Click(Sender: TObject);

procedure GroupBox1Click(Sender: TObject);

function FileTimeToDateTime(FileTime: TFileTime): TDateTime;

function TailleFichier(fichier: string): longint;



private

public

end;

var

Form1: TForm1;

implementation

{$R *.dfm}



function TForm1.FileTimeToDateTime(FileTime: TFileTime): TDateTime;

var

LocalFileTime: TFileTime;

SystemTime: TSystemTime;

begin

FileTimeToLocalFileTime(FileTime, LocalFileTime);

FileTimeToSystemTime(LocalFileTime, SystemTime);

Result := SystemTimeToDateTime(SystemTime);

end;





function TForm1.TailleFichier(fichier: string): longint;

var

SearchRec:TSearchRec;

Resultat:integer;

begin

Result:=0;

Resultat:=FindFirst(fichier, FaAnyFile, SearchRec);

if Resultat=0 then Result:=SearchRec.Size;

FindClose(SearchRec);

end;



procedure TForm1.BitBtn1Click(Sender: TObject);

begin

OpenDialog1.Execute;

TxtEntree.Text:=OpenDialog1.FileName;

Label36.Caption := IntToStr(TailleFichier(OpenDialog1.FileName))+' bits.';

Label36.Visible:=true;



end;



Voila ca devrais mieux marcher comme ca .



Bonne Prog
Messages postés
116
Date d'inscription
dimanche 12 décembre 2004
Statut
Membre
Dernière intervention
25 septembre 2005

et pour le label qui doit contenir la date de création, je mets koi ?
Messages postés
116
Date d'inscription
dimanche 12 décembre 2004
Statut
Membre
Dernière intervention
25 septembre 2005

merci bcp moldov et ca te rapporte koi d'avoir plusieurs réponses validés à ton actif ?
Messages postés
165
Date d'inscription
mercredi 8 octobre 2003
Statut
Membre
Dernière intervention
10 novembre 2008

Et bah je sais pas, mais bon c'ets pour eviter a d'autre de croire que
c'est pas validé, sinon je te rassure je gagne pas de sous