Linha em branco num arquivo INI

Delphi

14/05/2008

Preciso popular um arquivo INI usando WriteString. Até tudo bem, funcionando perfeitamente. Para ter uma estética melhor, gostaria de fazer com que o arquivo após ser populado, que fosse dando uma linha em branco, como abaixo e eu não sei fazer:

[Server] Banco=C:\Teste\Teste.Fdb Host=127.0.0.1 [ECF] Porta=Com2 Velocidade=9600

Entre a chave Server e a chave ECF há um espaço. Como faço isso no momento que estou carregando? Eu carrego assim:

HostParam := TIniFile.Create(ExtractFilePath(Application.ExeName)+´SAC_GARBO.INI´); HostParam.WriteString(´Server´,´C:\Teste\Teste.Fdb ´); HostParam.WriteString(´´Server´´,´Host´,´127.0.0.1´);

E como dou agora o espaço para fazer a chave ECF?


Paulo

Paulo

Curtidas 0

Respostas

Landersongomes

Landersongomes

14/05/2008

Não é necessario... basta apontar normalmente...
tipo
... WriteString(´ECF´, ´PORTA´, ´COM3´);

Não eh necessario.. o ini se encarrega do posicionamento.


GOSTEI 0
Paulo

Paulo

14/05/2008

Isto é que está feito e não há nenhuma separação entre as chaves, ou seja, ele cria uma chave e em seguida outra sem dar um espaço entre elas, que é o que eu gostaria. Veja como está feito na mão e veja como ele faz:
[LOJA] 1=0051 [CAIXA] 1=01 2=02 [ECF] PORTA=1 VELOCIDADE=9600 TIMEOUT=2 LOG=1 ERRO=0 MARCA=SWEDA MODELO=IF ST100 FABRICANTE=SW010500000000000232 VERSAO=01.00.04 NSERIE=MFDSW00000003300

Agora veja sem espaço, como ele faz automaticamente:
[LOJA] 1=0051 [CAIXA] 1=01 2=02 [ECF] PORTA=1 VELOCIDADE=9600 TIMEOUT=2 LOG=1 ERRO=0 MARCA=SWEDA MODELO=IF ST100 FABRICANTE=SW010500000000000232 VERSAO=01.00.04 NSERIE=MFDSW00000003300



GOSTEI 0
Paullsoftware

Paullsoftware

14/05/2008

Olá amigo, usando o arquivo INI diretamente não creio que seja possivel, mas você pode usar uma StringList, adicionar os valores depois pedir para salvá-la para um arquivo como no exemplo abaixo:
procedure SimulaIniComStringList;
var
StringList  : TStringList;
NomeArquivo : String;
begin
 NomeArquivo := ExtractFilePath(ParamStr(0)) + ´Configuracoes.ini´;
 try
  StringList := TStringList.Create;
  with StringList do
   begin
     Add(´[BLOCO1]´);
     Add(´ITEM 1=VALOR 1´);
     Add(´ITEM 2=VALOR 2´);
     Add(´ITEM 3=VALOR 3´);
     Add(´ITEM 4=VALOR 4´);
     Add(´´);
     Add(´[BLOCO2]´);
     Add(´ITEM 1=VALOR 1´);
     Add(´ITEM 2=VALOR 2´);
     Add(´ITEM 3=VALOR 3´);
     Add(´ITEM 4=VALOR 4´);
     Add(´´);
     Add(´[BLOCO3]´);
     Add(´ITEM 1=VALOR 1´);
     Add(´ITEM 2=VALOR 2´);
     Add(´ITEM 3=VALOR 3´);
     Add(´ITEM 4=VALOR 4´);
     Add(´´);
     Add(´[BLOCO4]´);
     Add(´ITEM 1=VALOR 1´);
     Add(´ITEM 2=VALOR 2´);
     Add(´ITEM 3=VALOR 3´);
     Add(´ITEM 4=VALOR 4´);
     SaveToFile(NomeArquivo);
   end;
 finally
    FreeAndNil(StringList);
 end;
end;
Espero ter ajudado :wink:


GOSTEI 0
Paulo

Paulo

14/05/2008

Não deixa de ser uma forma de atingir o objetivo. Vou tentar assim, já que não achei nada de forma direta. Valeu!!!


GOSTEI 0
POSTAR