Memo vers fichier avec blockwrite

MoveX Messages postés 230 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 16 juillet 2005 - 2 oct. 2004 à 10:36
MoveX Messages postés 230 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 16 juillet 2005 - 6 oct. 2004 à 13:16
bonjour, j ai un ptit probleme, avant tout, voici mon code
procedure TForm1.OpenDialog1CanClose(Sender: TObject;
  var CanClose: Boolean);
begin
  AssignFile(Fichier1, OpenDialog1.FileName);
  Reset(Fichier1, 1);
  repeat
    BlockRead(Fichier1, Buf, 1024, lus);
    Memo1.Text:= Memo1.Text+Buf;
  until lus=0;
  CloseFile(Fichier1);
end;

procedure TForm1.SaveDialog1CanClose(Sender: TObject;
  var CanClose: Boolean);
begin
  AssignFile(Fichier2, SaveDialog1.FileName);
  Rewrite(Fichier2, 1);
  repeat
    BlockWrite(Fichier2, ???, 1024, ecrit); ///// erreur !!
  until ecrit=0;
  CloseFile(Fichier2);
end;


par quoi remplacer les ??? pour faire en sorte que le contenu du memo1 aille sur le fichier2?

merci

6 réponses

MoveX Messages postés 230 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 16 juillet 2005 1
2 oct. 2004 à 10:39
au fait lerreur se trouve peut etre au niveau du until egalement, il faut mettre

until ecrit=memo1.lines.Count;


ou un truc du genre
....
0
MoveX Messages postés 230 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 16 juillet 2005 1
2 oct. 2004 à 12:57
j ai remplace le memo1.lines.count par length(memo1.text), je crois que cest mieux.

cepedant jarrive toujours pas a passer du memo1 au fichier2. HELP

par contre j arrive a copier le fichier1 vers le fichier2 avec ce code:

  AssignFile(Fichier2, SaveDialog1.FileName);
  Reset(Fichier1, 1);
  Rewrite(Fichier2, 1);
  repeat
    BlockRead(Fichier1, Buf, 1024, lus);
    BlockWrite(Fichier2, Buf, 1024, ecrit);
  until ecrit<>lus;
  CloseFile(Fichier1);
  CloseFile(Fichier2);


le probleme, cest que dans ce cas, ca ne sert strictement a rien dediter le fichier1 !!!!

sil vous plait aidez moi !!!
0
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
4 oct. 2004 à 08:09
Et pourquoi pas

Memo1.Lines.SaveToFile(SaveDialog1.FileName);


Ca pose un problème particulier ?

Ken@vo
____________________
Code, Code, Codec !
0
MoveX Messages postés 230 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 16 juillet 2005 1
4 oct. 2004 à 18:48
disons que je fais ca pour mentrainer avant de mattaquer a l enregistrement de variables dans un exe...
0

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

Posez votre question
Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
4 oct. 2004 à 21:16
salut,

voilà comment j'aurais remplacé tes ???, j'en ai profité pour modifier le code de lecture tout en restant dans ta façon de faire.

procedure TForm1.Button1Click(Sender: TObject);
var
  Fichier1 : File;
  Buf      : array [0..1023] of char;
  sText    : string;
  lus      : integer;
begin
  if OpenDialog1.Execute then
  begin
    AssignFile(Fichier1, OpenDialog1.FileName);
    Reset(Fichier1, 1);
    Memo1.Clear;

    repeat
      BlockRead(Fichier1, Buf, 1024, lus);
      Memo1.Text := Memo1.Text + Copy(Buf,1,lus);
    until lus=0;

    CloseFile(Fichier1);
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  Fichier2 : file;
  ecrit    : integer;
begin
  if SaveDialog1.Execute then
  begin
    AssignFile(Fichier2, SaveDialog1.FileName);
    Rewrite(Fichier2, 1);

    BlockWrite(Fichier2, Memo1.Text[1], Length(Memo1.Text), ecrit);

    CloseFile(Fichier2);
  end;
end;


Bonne Prog,

Olivier.
0
MoveX Messages postés 230 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 16 juillet 2005 1
6 oct. 2004 à 13:16
merci beaucoup !!!!!!!!!!!
0
Rejoignez-nous