Taille d1 image svp.

Résolu
Becracker Messages postés 116 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 25 septembre 2005 - 26 juil. 2005 à 19:04
moldov Messages postés 165 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 10 novembre 2008 - 27 juil. 2005 à 19:07
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

moldov Messages postés 165 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 10 novembre 2008
27 juil. 2005 à 13:40
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
3
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 11
26 juil. 2005 à 20:28
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 !
0
Becracker Messages postés 116 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 25 septembre 2005
26 juil. 2005 à 20:42
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
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 11
26 juil. 2005 à 21:29
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 !

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Becracker Messages postés 116 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 25 septembre 2005
26 juil. 2005 à 21:50
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
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 11
26 juil. 2005 à 22:06
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 !

0
Becracker Messages postés 116 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 25 septembre 2005
26 juil. 2005 à 22:10
Pour la taille ca mache mais pour la date il me dit "Identificateur non déclaré :FileTimeToDateTime"
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 11
26 juil. 2005 à 22:17
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 !

0
Becracker Messages postés 116 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 25 septembre 2005
26 juil. 2005 à 22:29
et mnt pour le label 2 je mets koi ?? et vraiment dsl pour le gros dérangement
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 11
26 juil. 2005 à 22:33
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 !

0
Becracker Messages postés 116 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 25 septembre 2005
26 juil. 2005 à 22:38
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 ?
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 11
26 juil. 2005 à 23:11
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 !

0
Becracker Messages postés 116 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 25 septembre 2005
26 juil. 2005 à 23:20
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;
0
moldov Messages postés 165 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 10 novembre 2008
27 juil. 2005 à 11:07
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
0
Becracker Messages postés 116 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 25 septembre 2005
27 juil. 2005 à 11:17
et pour le label qui doit contenir la date de création, je mets koi ?
0
Becracker Messages postés 116 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 25 septembre 2005
27 juil. 2005 à 15:29
merci bcp moldov et ca te rapporte koi d'avoir plusieurs réponses validés à ton actif ?
0
moldov Messages postés 165 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 10 novembre 2008
27 juil. 2005 à 19:07
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
0
Rejoignez-nous