Fórum Leitura de arquivo ini com condiçao #475430

07/04/2014

0

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).
 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

Lucas Ascencio

Responder

Posts

07/04/2014

Thiago Irrazabal

Não entendi muito bem tua dúvida mas, não seria o caso de um if assim?

if (Ini.ReadString('ATIVIDADE', '001', aTexto)) = '022' then




Att,
Thiago Irrazabal de Oliveira.
Responder

Gostei + 0

07/04/2014

Lucas Ascencio

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
Responder

Gostei + 0

07/04/2014

Thiago Irrazabal

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.
Responder

Gostei + 0

07/04/2014

Lucas Ascencio

ok vo fazer isso obrigado
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar