trollnumber1
Messages postés12Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention28 avril 2003
-
9 avril 2003 à 16:54
cs_Bestiol
Messages postés833Date d'inscriptiondimanche 6 janvier 2002StatutMembreDernière intervention 3 novembre 2005
-
12 avril 2003 à 17:14
Troll 8-)
Bonjours,
Jai un probleme quand je load mes images l'image n'apparait pas mes les hints s'affiche et je ne suis plus capable de faire du glisser déplacer sur les images. la je ne comprend plus rien est ce que quelqun peut m'aider s.v.p.
Voici ma procédure.
procedure TForm2.Enregistrer1Click(Sender: TObject);
type
TinfImage = Packed Record
Hint: String[23];
Left: Integer;
Top: Integer;
Taille: Integer;
end;
var
i : integer;
Edit : TImage;
fichier : TMemoryStream;
Fiche: TinfImage;
Fs: TFileStream;
Count: integer;
begin
SaveDialog1.FileName:='';
if SaveDialog1.Execute then
begin
if( pos( '.dat', SaveDialog1.FileName )=0 )then SaveDialog1.FileName := SaveDialog1.FileName + '.dat';
ShowMessage( SaveDialog1.FileName );
end;
if SaveDialog1.Filename='' then exit;
Try
Count:=0;
Fichier:= TMemoryStream.Create;
Fichier.Size:=0;
Fs:= TfileStream.Create(SaveDialog1.Filename,FmCreate);
for i:=0 to ComponentCount - 1 do
if Components[i] is TImage then if i>221 then
begin
Inc(Count);
Edit:= TImage(Components[i]);
Fichier.Size:=0;
Edit.Picture.Bitmap.SaveToStream(Fichier);
Fiche.Hint:=Edit.Hint;
Fiche.Left:=Edit.Left;
Fiche.Top:=Edit.Top;
Fiche.Taille:=Fichier.Size;
Fs.Write(Fiche, Sizeof(TinfImage));
Fs.CopyFrom(Fichier,0);
if i>370 then
begin
Fs.Seek(SizeOf(integer), SoFromEnd);
Fs.Write(Count,Sizeof(integer));
Fs.Free;
Fichier.Free;
exit;
end;
end;
finally;
Fs.Free;
Fichier.Free;
end;
end;
procedure TForm2.Ouvrir1Click(Sender: TObject);
type
TinfImage = Packed Record
Hint: String[23];
Left: Integer;
Top: Integer;
Taille: Integer;
end;
var
i : integer;
fichier : TMemoryStream;
Fiche: TinfImage;
Fs: TFileStream;
Count: integer;
Adresse: Integer;
Image: TImage;
begin
OpenDialog1.FileName:='';
if OpenDialog1.Execute then
begin
if( pos( '.dat', OpenDialog1.FileName )=0 )then OpenDialog1.FileName := OpenDialog1.FileName + '.dat';
ShowMessage(OpenDialog1.FileName );
end;
if OpenDialog1.Filename='' then exit;
Try
count:=0;
Fichier:= TMemoryStream.Create;
Fichier.Size:=0;
Fs:= TFileStream.Create(OpenDialog1.Filename,FmOpenReadwrite);
Fs.Seek(Fs.Size - SizeOf(integer), SoFromBeginning);
Fs.Read(Count, SizeOf(Integer));
Adresse:=0;
ouverture:=True;
For i := 1 to Count Do
Begin
Fs.Seek(Adresse, SoFromBeginning);
Fs.Read(Fiche, SizeOf(TinFImage));
Inc(Adresse, SizeOf(TinfImage));
Fs.Seek(Adresse, SoFromBeginning);
Fichier.CopyFrom(Fs, Fiche.Taille);
Image:= Timage.Create(Form2);
Image.Picture.bitmap.LoadFromStream(Fichier);
Image.visible := True;
Image.Parent := Form2;
Image.top := Fiche.Top;
Image.Left := Fiche.Left;
Image.ShowHint := True;
Image.Hint := Fiche.Hint;
Image := nil;
Image.Free;
Inc(Adresse, Fiche.Taille);
Fichier.Size := 0;
end;
finally;
Fichier.Free;
FS.Free;
end;
end;