Leitura de arquivo ini com condiçao
ola tenho que fazer os seguintes parametros, para que meus sistema selecione as notas fiscais no arquivo ini por exemplo, na primeira linha ta 001=022, no codigo abaixo tem que fazer a leitura do 001 e compara com a tabela de fornecedor se existe, se existe ele faz a leitura do 2º valor que é o 022 se for igual ele faz a busca dos seguintes registros
sou novo nessa parte, mas eu preciso saber rs.(Trabalho).
O ARQUIVO INI ESTA MONTADO ASSIM
[ATIVIDADE]
001=021
002=006
003=022
004=099
005=005
006=004
007=003
008=002
009=001
010=099
011=026
012=023
013=099
014=099
015=006
016=099
017=025
018=024
019=026
020=099
021=009
022=099
023=030
024=029
025=062
026=042
027=007
[CODIGO]
COD=
Agradeço desde já
sou novo nessa parte, mas eu preciso saber rs.(Trabalho).
Glob.qy_Clifor.First;
begin
while not Glob.qy_Clifor.Eof do
begin
if (Glob.qy_Vendas.FieldByName('IV_CODATI').AsString = Ini.ReadString('ATIVIDADE', '001', aTexto)) then
begin
{ aTexto AQUI ONDE FICARIA A LEITURA DE CADA LINHA DO ARQUIVO INI COMPARANDO SE O COD 001 É IGUAL O 022 E ELE ME SELECIONA AS NOTAS }
CN_NOMECON := Glob.qy_Contatos.FieldByName('CN_NOMECON').AsString;
CF_CODCF := Glob.qy_Clifor.FieldByName('CF_CODCF').AsString;
CF_CNPJ_CPF := Sonumeros(Glob.qy_Clifor.FieldByName('CF_CNPJ_CPF').AsString);
CF_INS_RG := Sonumeros(Glob.qy_Clifor.FieldByName('CF_INS_RG').AsString);
CF_TIPOPES := Glob.qy_Clifor.FieldByName('CF_TIPOPES').AsString;
CF_RAZAO := Glob.qy_Clifor.FieldByName('CF_RAZAO').AsString;
CF_ENDER := Glob.qy_Clifor.FieldByName('CF_ENDER').AsString;
CF_NUMERO := Glob.qy_Clifor.FieldByName('CF_NUMERO').AsString;
CF_COMPLEMENTO := Glob.qy_Clifor.FieldByName('CF_COMPLEMENTO').AsString;
CF_BAIRRO := Glob.qy_Clifor.FieldByName('CF_BAIRRO').AsString;
CF_ESTADO := Glob.qy_Clifor.FieldByName('CF_ESTADO').AsString;
CF_CEP := Glob.qy_Clifor.FieldByName('CF_CEP').AsString;
CF_DDD := Glob.qy_Clifor.FieldByName('CF_DDD').AsString;
CF_FONE := Glob.qy_Clifor.FieldByName('CF_FONE').AsString;
CF_CODATI := Glob.qy_Clifor.FieldByName('CF_CODATI').AsString;
CI_CODMUNIC := Glob.qy_Cidades.FieldByName('CI_CODMUNIC').AsString;
writeln(txt, CF_CNPJ_CPF, '|', CF_INS_RG, '||', CF_TIPOPES, '|', CF_RAZAO, '|', CF_ENDER, '|', CF_NUMERO, '|', CF_COMPLEMENTO, '|',
CF_BAIRRO, '|', CF_ESTADO, '|', CF_CEP, '|', CF_DDD, '|', CF_FONE, '|', CF_CODATI, '|', CI_CODMUNIC, '|');
writeln(txt, '');
end;
Glob.qy_Clifor.Next;
end;
end;
finally
ShowMessage('Gravado Com Sucesso! ' + caminho + caminhoarquivo);
Closefile(txt);
end;
close;
end;
O ARQUIVO INI ESTA MONTADO ASSIM
[ATIVIDADE]
001=021
002=006
003=022
004=099
005=005
006=004
007=003
008=002
009=001
010=099
011=026
012=023
013=099
014=099
015=006
016=099
017=025
018=024
019=026
020=099
021=009
022=099
023=030
024=029
025=062
026=042
027=007
[CODIGO]
COD=
Agradeço desde já
Lucas Ascencio
Curtidas 0
Respostas
Thiago Irrazabal
07/04/2014
Não entendi muito bem tua dúvida mas, não seria o caso de um if assim?
Att,
Thiago Irrazabal de Oliveira.
if (Ini.ReadString('ATIVIDADE', '001', aTexto)) = '022' then
Att,
Thiago Irrazabal de Oliveira.
GOSTEI 0
Lucas Ascencio
07/04/2014
hm, tendi , sobre o direcionamento pra onde tem que ler o codigo, teria que criar uma variavel que receba aonde ta localizado o arquivo ini?
Ini:TiniFile;
aTexto:string;
Ini:='C:\Pasta\Arquivo.ini';
aTexto:=ReadString('ATIVIDADE', '001', aTexto);
if (Ini.ReadString('ATIVIDADE', '001', aTexto)) = '022' then
Nesse caso tenho que direcionar e ele fazer a leitura, como sao outros registros eu teria que fazer por Exemplo: 20 IFs para cada registro?
Agradeço desde ja
Ini:TiniFile;
aTexto:string;
Ini:='C:\Pasta\Arquivo.ini';
aTexto:=ReadString('ATIVIDADE', '001', aTexto);
if (Ini.ReadString('ATIVIDADE', '001', aTexto)) = '022' then
Nesse caso tenho que direcionar e ele fazer a leitura, como sao outros registros eu teria que fazer por Exemplo: 20 IFs para cada registro?
Agradeço desde ja
GOSTEI 0
Thiago Irrazabal
07/04/2014
Não compreendi ainda o que tu queres... porem tu sabe trabalhar com manipulação de INI? o primeiro parâmetro do ReadString é a SESSÃO, depois CHAVE e o por ultimo um valor padrão caso não tenha valor naquela chave, entende ? Então acredito que tu teria que pegar o valor de cada chave em determinada(s) váriave(is)l e depois testá-las.
Att,
Thiago Irrazabal de Oliveira.
Att,
Thiago Irrazabal de Oliveira.
GOSTEI 0
Lucas Ascencio
07/04/2014
ok vo fazer isso obrigado
GOSTEI 0