YB28
Messages postés38Date d'inscriptionlundi 23 avril 2012StatutMembreDernière intervention29 juillet 2012
-
13 juin 2012 à 11:57
YB28
Messages postés38Date d'inscriptionlundi 23 avril 2012StatutMembreDernière intervention29 juillet 2012
-
13 juin 2012 à 14:32
Bonjour,
Dans mon programme je cherche à ouvrir un fichier, le modifier et enfin l'enregistrer. J'aimerais que tout ceci ce fasse à l'appui d'un seul bouton. J'ai effectué le code suivant :
procedure TForm1.bt_modifHClick(Sender: TObject);
var fichierH : textfile;
ligne : string;
StringList: TStringList;
nb,Compte: Integer ;
begin
if OpenDialog1.Execute then
begin
assignfile(fichierH,OpenDialog1.filename);
reset(fichierH); //initialise
while not eof(fichierH) do begin //cette boucle répètera la lecture d'une ligne tant que nous n'aurons pas atteint la fin du document EOF
readln(fichierH,ligne);//à chaque fois que l'on utilisera readln on passera à la ligne suivante.
memo3.lines.add(ligne); // ajoute notre ligne au memo
end;
{Pour rechercher IHM_NB_TRADUCTIONS dans le fichier}
StringList:= TStringList.Create;
Edit7.Text:=OpenDialog1.filename;
StringList.LoadFromFile(OpenDialog1.filename);// fichier de recherche
for nb:=0 to StringList.Count-1 do
begin
Compte:=AnsiPos(edit4.text,StringList.Strings[nb]);
if(Compte>0)then
begin
Memo3.Lines[nb]:='#define IHM_NB_TRADUCTIONS'+#9#9+ inttostr(strtoint(Edit6.Text)-strtoint(Edit5.Text)+1);
label7.Caption:='Item trouvé à la ligne '+IntToStr(nb+1) +' à la position '+IntToStr(Compte);
break;
end;
end;
StringList.Clear;
StringList.Free;
{Fonction de sauvegarde}
if SaveDialog1.Execute then
begin
Edit7.Text:=SaveDialog1.filename;
if fileExists(Edit7.Text) then
begin
if Application.MessageBox('Êtes-vous sûr de vouloir écraser le fichier existant ?','ATTENTION',MB_YESNO)=IdNo then
ShowMessage('Fichier non enregistré')
else
Memo3.Lines.SaveToFile(Edit7.Text);// ne fonctionne pas...
end
else
Memo3.Lines.SaveToFile(Edit7.Text);// Fonctionne
end;
end;
end;
Sauf que je n'arrive pas à enregistrer le fichier sous le même nom.
Merci de votre aide ;)
YB
A voir également:
Ouverture, modif et sauvegarde. (sauvegarde ne fonctionne pas...)
cs_walidlam
Messages postés107Date d'inscriptionlundi 30 mai 2011StatutMembreDernière intervention29 avril 20131 13 juin 2012 à 13:40
salut !!
essayer avec l'extension de fichier et effacer le..
if fileExists(Edit7.Text'+'extension fichier) then
begin
if Application.MessageBox('Êtes-vous sûr de vouloir écraser le fichier existant ?','ATTENTION',MB_YESNO)=Idyes then begin
DeleteFile('Edit7.Text'+'extension fichier');
Memo3.Lines.SaveToFile(Edit7.Text'+'extension fichier);
end else
ShowMessage('Fichier non enregistré')
end;