bonjour
encore un probleme...
je ne sais pas trop comment marche l opendialog et je voudrai
sauvegarder une liste de point dans un fichier typé avec cet outil.
voici ce que j ai fai:
procedure TF_Courbe_de_Bezier.Enregistrer1Click(Sender: TObject);
var
NomFichier: String;
Ext: string;
fic :T_save;
begin
//F_enregistrement.Show;
if savedialog1.execute
then
NomFichier:= SaveDialog1.FileName; //loadcourbe(opendialog1.filename);
if NomFichier[Length(NomFichier) - Length(Ext) + 1] <> '.'
then
begin
NomFichier:= NomFichier + Ext;
assignfile(fic,NomFichier);
if FileExists(NomFichier)
then
begin
{$I-}
Reset(fic);
{$I+}
SAUVEGARDE(pdebpc, fic);
end
else
showmessage('le fichier n''existe pas');
end;
end;
---------------------------------------------------------------------------------------
procedure SAUVEGARDE(pdebpc:T_ptr_pc; var fac :T_save);
//sauvegarde de la liste de points de controle dans un fichier typé
//Pe: pdeb: pointeur pointant sur le premier élément de la liste des points de controle
//PS: fac: fichier typé contenant la liste sauvegardée
var
paux: T_ptr_pc; //pointeur auxiliaire
info: T_fic; //article du fichier typé
begin
if pdebpc=nil
then //la liste est vide
ShowMessage('la liste est vide.Sauvegarde impossible')
else //la liste est non vide
begin
rewrite(fac);
paux:=pdebpc;
//tant que l'on a pas atteint la fin de la liste
while paux<>nil do
begin
info.x:=paux^.x;
info.y:=paux^.y;
info.pond:=paux^.pond;
info.pos:=paux^.pos;
write (fac,info);
paux:=paux^.psuiv;
end;
end;
end;
-------------------------------------------------------------------------------------------
T_fic= record
x: integer;
y: integer;
pond: integer;
pos: integer;
end;
T_save = file of T_fic;
_-------------------------------------------------------------------------------------------
Le module SAUVEGARDE doit etre bon, le probleme est dans:
procedure TF_Courbe_de_Bezier.Enregistrer1Click(Sender: TObject);
si vous avez une autre solution pour enregistré un fichier typé ou si vous voyez ce qui ne va pas, faite moi en part
merci
killerdam
Afficher la suite