Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Trabalhando com arquivo INI e TXT


FFernando

Pergunta

Bom Dia Galera,

Estou com um programinha que lerá um arquivo txt de posições fixas e um .ini com os seguintes dados:

Arquivo TXT

01 Henrique  020305
02 Fernando 010205
Arquivo INI
01 Mercedez
02 Chevrolet
03 Audi
04 BMW
05 Ferrari
Eu preciso fazer o seguinte, ele ler o arquivo TXT e quando chegar na posicao dos numeros "020305" Ele tera que verificar no arquivo .INI o numero e o nome da marca, ai ele vai pegar e alterar ou gerar um novo arquivo assim:
01 Henrique  02Chevrolet03Audi05Ferrari
02 Fernando 01Mercedez02Chevrolet05Ferrari
Eu consegui fazer o seguinte, armazenei os dados do .INI:
N := Arquivo.Count-1;      // Identifica quantas linhas tem o arquivo
  {Verifica até que seja final de arquivo}
  for I := 0 to N do
    begin
      Linha     := Arquivo.Strings[I];  // Verifica linha por linha
      NovaLinha := '';

      repeat
        Y                       := Pos(';', Linha);
        Palavras.DelimitedText  := Copy(Linha, 1, Y-1);
        Linha                   := Copy(Linha, Y+1, Length(Linha));

      until Y = 0;

    Arquivo.Strings[I] := Linha;
  end;

Agora estou com dificuldades para ler o arquivo txt, encontrar a posição dos numeros e altera-las. Alguém pode me ajuda?

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Obrigado Jhonas, consegui fazer bastante coisa aki no programinha, só estou com uma duvida de como fazer dinamicamente o meu programa ler no final da linha o codigo

020309101112131416

e eu armazenei o valor do arquivo INI em um TStringList:

ArquivoINI.Strings

o programa tem quem pegar em "pares"

02

03

09

Link para o comentário
Compartilhar em outros sites

  • 0

só estou com uma duvida de como fazer dinamicamente o meu programa ler no final da linha o codigo

020309101112131416

e eu armazenei o valor do arquivo INI em um TStringList:

ArquivoINI.Stringso programa tem quem pegar em "pares"

02

03

09

Modifique este codigo para o seu uso

procedure TForm1.Button1Click(Sender: TObject);
var tam : integer;  s : string;
begin
   //Edit1.Text := '020309101112131416'
   s := Edit1.Text;
   tam := length(s);
   Memo1.Clear;
   while tam > 0 do
      begin
      Memo1.lines.append(copy(S,1,2));  // pegar os numeros de 2 em 2 
      delete(s,1,2);  // deletar da string os numeros que já foram pegos
      tam := length(s);
      end;
end;

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...