Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Geovane Velmer

[Resolvido] Organizando Arquivos INI

Recommended Posts

Ae galera .. para que estiver precisando de algo do tipo..

Essa função organiza os arquivos ini do meu projeto..

 

Function OrganizaIni(sIniFile:String):Boolean;
var
sArquivo:TextFile;
sDados  :String;
sIni    :TStrings;
bInicio :Boolean;
i       :Integer;
bTemEspaco : Boolean;
begin

//-- Verifica se o arquivo existe
if not FileExists(sIniFile) then
   begin
   ShowMessage('Esse arquivo não existe!');
   Result:= False;
   Exit;
   end;

bTemEspaco:= False;
bInicio:= True; //-- Seta como True para dizer que é inicio de arquivo
sIni   := TStringList.Create; //-- Cria a variavel que guarda o Ini

try
AssignFile(sArquivo,sIniFile);
Reset(sArquivo);

while not Eof(sArquivo) do
begin
//-- Recolhe os dados
ReadLn(sArquivo,sDados);

if Trim(sDados) = '' then
   bTemEspaco:= True;

//-- Verifica se o primeiro caracter é "["
if (Copy(sDados,1,1) = '[') and (not bInicio) then
   begin
   if not bTemEspaco then  //-- Caso ja tenha não tenha uma linha em branco
      sIni.Add(''); //-- Pula uma linha

   bTemEspaco:= False;
   end;

//-- Seta como False para indicar
//-- que não é mais o inicio
bInicio:= False;


//-- Adiciona os dados
sIni.Add(sDados);
end;
finally
CloseFile(sArquivo);
end;
//---- Gera o arquivo organizado
try
AssignFile(sArquivo,sIniFile);
Rewrite(sArquivo);

for i:= 0 to sIni.Count -1 do
begin
WriteLn(sArquivo,sIni.Strings[i]); //-- Escreve os dados
end;

finally
CloseFile(sArquivo); //-- Fecha o Arquivo
end;

Result:= True;
//-- Descarrega a StringList
sIni.Free;
end;

vou dar um exemplo..

 

Arquivo ini antes de ser passado pela função

[DBNAME]
PATH DB=C:\DADOS\BASE.GDB
[VENDA]
Cfop=5102
[PRODUTO]
Localizar=1

[ECF]
Usa ECF=1
Marca ECF=3

Depois de passado pela função..

[DBNAME]
PATH DB=C:\DADOS\BASE.GDB

[VENDA]
Cfop=5102

[PRODUTO]
Localizar=1

[ECF]
Usa ECF=1
Marca ECF=3

Bom espero que possa ajudar .. Podem fazer melhorias ..

e comentar a vontade...

 

Abraços a todos!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.