- Dans le zip, vous trouverez une version tools de ce procédé.
- Ci-dessous les fonctions & procédures importantes réalisant cet affichage :
-
- //Nettoie un fichier INI
- //----------------------
- function NettoyerIni(Str:string; Avant:Boolean = True; Apres:Boolean = False;Deb:Boolean = False):string;
- var Cpt, Lg_Str:Byte;
- NewStr:string;
- begin
- Cpt := 1;
- Lg_Str := LenStr(Str);
- NewStr := '';
-
- while (Cpt <= Lg_Str) do
- begin
- if (Str[Cpt] = '[') then
- begin
- if (Deb) and (Avant) then
- begin
- if (Cpt >= 4) then
- begin
- if (Str[(Cpt - 4)] <> #13) or (Str[(Cpt - 3)] <> #10) then
- NewStr := NewStr + #13#10;
- end
- else
- NewStr := NewStr + #13#10;
- end;
- Deb := True;
- end;
-
- NewStr := NewStr + Str[Cpt];
-
- if (Str[Cpt] = ']') then
- begin
- if (Apres) then
- begin
- if (Str[(Cpt + 3)] <> #13) or (Str[(Cpt + 4)] <> #10) then
- NewStr := NewStr + #13#10;
- end;
- end;
-
- Cpt := Cpt + 1;
- end;
-
- Result := NewStr;
- end;
-
- function OpenIni(FileName:string):string;
- var File_Ini: TextFile;
- Ch:Char;
- Str:string;
- begin
- Str := '';
- Assignfile(File_Ini , FileName);
- Reset(File_Ini);
- while not Eof(File_Ini) do
- begin
- Read(File_Ini, Ch);
- Str := Str + Ch;
- end;
- CloseFile(File_ini);
-
- Result := Str;
- end;
-
- procedure SaveIni(FileName, Str:string);
- var File_Txt:TextFile;
- begin
- AssignFile(File_Txt, Filename);
- ReWrite(File_Txt);
- Write(File_Txt, Str);
- CloseFile(File_Txt);
- end;
-
- function LenStr(Str:string):Word;
- var Cpt:Word;
- begin
- Cpt := 1;
-
- while (Str[Cpt] <> #0) do
- begin
- Cpt := Cpt + 1;
- end;
- result := Cpt;
- end;
Dans le zip, vous trouverez une version tools de ce procédé.
Ci-dessous les fonctions & procédures importantes réalisant cet affichage :
//Nettoie un fichier INI
//----------------------
function NettoyerIni(Str:string; Avant:Boolean = True; Apres:Boolean = False;Deb:Boolean = False):string;
var Cpt, Lg_Str:Byte;
NewStr:string;
begin
Cpt := 1;
Lg_Str := LenStr(Str);
NewStr := '';
while (Cpt <= Lg_Str) do
begin
if (Str[Cpt] = '[') then
begin
if (Deb) and (Avant) then
begin
if (Cpt >= 4) then
begin
if (Str[(Cpt - 4)] <> #13) or (Str[(Cpt - 3)] <> #10) then
NewStr := NewStr + #13#10;
end
else
NewStr := NewStr + #13#10;
end;
Deb := True;
end;
NewStr := NewStr + Str[Cpt];
if (Str[Cpt] = ']') then
begin
if (Apres) then
begin
if (Str[(Cpt + 3)] <> #13) or (Str[(Cpt + 4)] <> #10) then
NewStr := NewStr + #13#10;
end;
end;
Cpt := Cpt + 1;
end;
Result := NewStr;
end;
function OpenIni(FileName:string):string;
var File_Ini: TextFile;
Ch:Char;
Str:string;
begin
Str := '';
Assignfile(File_Ini , FileName);
Reset(File_Ini);
while not Eof(File_Ini) do
begin
Read(File_Ini, Ch);
Str := Str + Ch;
end;
CloseFile(File_ini);
Result := Str;
end;
procedure SaveIni(FileName, Str:string);
var File_Txt:TextFile;
begin
AssignFile(File_Txt, Filename);
ReWrite(File_Txt);
Write(File_Txt, Str);
CloseFile(File_Txt);
end;
function LenStr(Str:string):Word;
var Cpt:Word;
begin
Cpt := 1;
while (Str[Cpt] <> #0) do
begin
Cpt := Cpt + 1;
end;
result := Cpt;
end;