ayudenme a coregir mi codigo

deysi
18 de Mayo del 2005
me sobre escribe en el memo C:hola pero en el arhivo hola.txt me aparece exactmante lo que escribi en el memo
si alguien me puede ayudar se lo agradeceria mucho
gracias


procedure TForm1.GuardarLineasClick(Sender: TObject);
var
Archivo_Nombre:TextFile;
cadena:String;
begin
if SaveDialog1.Execute then
begin
cadena:=SaveDialog1.FileName;
AssignFile(Archivo_Nombre,cadena);
Rewrite(Archivo_Nombre);
Writeln(Archivo_Nombre,Memo1.Text);
Reset(Archivo_Nombre);
while not Eof (Archivo_Nombre) do //mientras no se llege al final
begin
Readln(Archivo_Nombre,cadena);
end;
closefile(Archivo_Nombre);
Showmessage('proceso concluido');
end;
end;
//****************************************************************//
procedure TForm1.GuardarCaracteresClick(Sender: TObject);
var
Archivo_Nombre:TextFile;
//Archivo_Nombre: file of char;
cadena: String;
caracter: Char;
Temp_pos:integer;
begin
if SaveDialog1.Execute then
begin
cadena:=SaveDialog1.FileName;
AssignFile(Archivo_Nombre,cadena);
Rewrite(Archivo_Nombre);
Write(Archivo_Nombre,Memo1.Text);
Reset(Archivo_Nombre);
while not Eof (Archivo_Nombre) do //mientras no se llege al final
begin
Read(Archivo_Nombre,caracter);
cadena:=cadena+caracter;
if caracter=#13 then begin
Temp_pos:=Pos(#10,cadena);
if Temp_pos>0 then
Delete(cadena,Temp_pos,1);
Temp_pos:=Pos(#13,cadena);
if Temp_pos>0 then
Delete(cadena,Temp_pos,1);
Memo1.Lines.Add(cadena);
cadena:='';
end;
end;
closefile(Archivo_Nombre);
Showmessage('proceso concluido');
end;
end;
end.