Salut,

J'ai un fichier.txt avec des valeurs séparées par un ";" et je l'affiche dans un TStringGrid
Grâce à la fonction GoEditing ( je crois que c'est son nom ) je peux éditer directement le TStringGrid et quand je ferme le Form1, il enregistre automatiquement les nouvelles valeurs du StringGrid dans un autre fichier .txt

Problème:

1/je voudrais que ce soit le premier fichier ( que j'utilise pour mettre les valeurs dans le StringGrid qui soit écrasé )

2/ Quand je compile mon projet, il me demande le chemin du fichier .txt pour remplir le StringGrid, ya possibilité qu'il prenne toujours le même fichier qui est dans le répertoire du projet sans me demander à chaque fois le chemin ?

Voici la lecture et l'enregistrement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 
 
int j, row;
		TReplaceFlags Flags = Flags << rfReplaceAll;
 
		AnsiString T1 = "Qualité\n";
		AnsiString T2 = "Prénom\n";
		AnsiString T3 = "Nom\n";
                AnsiString T4 = "Poste\n";
                AnsiString T5 = "Email\n";
                AnsiString T6 = "Prononciation\n";
 
 
		AnsiString N =  T1 + T2 + T3 + T4 + T5 + T6;
 
		if(OpenDialog1->Execute())
		{
			TStringList *Fichier = new TStringList;
			Fichier->LoadFromFile(OpenDialog1->FileName);
			AdvStringGrid1->RowCount = Fichier->Count+1; // + 1 ligne grisée
 
			// titres des colonnes
			AdvStringGrid1->Rows[0]->Text = N;
			for(j = 0; j < Fichier->Count; j++)
			{
				row = j+1;
				AdvStringGrid1->Rows[row]->Text = StringReplace(Fichier->Strings[j], ";", "\n", Flags);
 
			}
			Fichier->Clear();
			delete Fichier;
 
		}
 
}
 
//---------------------------------------------------------------------------
 
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
int i,j;
TStringList *StrGrd=new TStringList();
 
 
   for(i=1;i<AdvStringGrid1->RowCount;i++)
  {
   AnsiString Texte;
   Texte += AdvStringGrid1->Cells[0][i];
   Texte += ";";
   for(j=1;j<7;j++)
   {
    Texte += AdvStringGrid1->Cells[j][i];
    Texte += ";";
   }
   StrGrd->Add(Texte);
  }
 
StrGrd->SaveToFile(ChangeFileExt( Application->ExeName, ".txt" ) );
 
delete StrGrd;
}