Ir ao conteúdo

Posts recomendados

Postado

Estou trabalhando com um projeto, onde eu preciso exibir numa label, uma linha específica de um arquivo CSV. 
Por exemplo, meu arquivo tem 2 colunas. 

PRODUTO | CODIGO DE BARRAS

 

Na minha aplicação, eu tenho um editText onde o usuário irá informar o código de barras, e com isso, preciso percorrer o meu arquivo CSV procurando pelo código de barras informado, e quando achar, exibir o próprio código de barras com o nome do produto na frente em uma label.

 

 

Capturar.PNG.ce21fc213eef79b66f384c6f8c5251c8.PNG
 

Não tenho um código montado ainda para mandar, porque não consegui nem começar na leitura do meu CSV. 
 

Mas basicamente tenho um editText com nome de edtBuscaCod e um botão para executar a ação de buscar. 

E as duas label para exibir nome e codigo de barras. 

 

 

Postado

@kgin Nesse caso não posso usar um banco. Não é nem porque eu não quero, ou não sei, é que realmente não posso. Porque realmente preciso dessa aplicação para uso real, e não posso usar um banco. Posso no máximo usar um arquivo para leitura, como um csv, txt, enfim. 

 

E leitura de arquivo, eu não sei fazer. Precisaria ler um arquivo de texto e exibir da forma que mencionei. 

Postado
6 horas atrás, nilzon disse:

@kgin Nesse caso não posso usar um banco. Não é nem porque eu não quero, ou não sei, é que realmente não posso. Porque realmente preciso dessa aplicação para uso real, e não posso usar um banco. Posso no máximo usar um arquivo para leitura, como um csv, txt, enfim.

Mas para uso real (exemplo um trabalha para uma empresa) o melhor seria usar banco de dados.

7 horas atrás, nilzon disse:

E leitura de arquivo, eu não sei fazer. Precisaria ler um arquivo de texto e exibir da forma que mencionei.

Veja esse tutorial sobre aquivos Arquivos em pascal

O que você quer fazer e bem simples.

a ideia geral e passar por todo o arquivo checando se encontra a string correspondente.

exemplo de como ler uma arquivo texto.

program ler_arquivos;
uses
    Crt,
    SysUtils;
    
const
    NOME_ARQUIVO = 'arquivo';
var
    arquivo:text;
    str:string;
    
begin
    { Associa o arquivo com a variavel do tipo arquivo de texto }
    Assign(arquivo, NOME_ARQUIVO);
    { Desliga a checagem de erros }
    {$I-}
    reset(arquivo); { Abre o arquivo para leitura }
    { Liga a checagem de erros }
    {$I+}
    { Checa se foi possível abrir o arquivo }
    if IoResult = 0 then
    begin
        ClrScr;     { Limpa a tela }
        writeln('Conteudo do arquivo');
        { Lê o arquivo }
        while not eof(arquivo) do
        begin
            readln(arquivo, str);
            writeln(str);
        end;
        close(arquivo);     { Fecha o arquivo }
    end
    else
    begin
        writeln('não foi possível abrir o arquivo!');
        writeln('cheque se o arquivo existe');
    end;
end.

Clique aqui para rodar o algoritmo online.

 

Depois você pode usar função extractWord para retirar a parte que você deseja.

exemplo

program testes;
uses
    { Utilizado para manipular o terminal }
    Crt,
    { Funções padrões do sistema }
    SysUtils,
    { Funções para trabalhar com strings }
    StrUtils;
    
var
    str:string;
    
begin
    writeln('Digite duas palavras separadas por ;');
    readln(str);
    writeln('A primeira palavra e:', extractWord(1,str, [';']));
    writeln('A segunda palavra e:', extractWord(2,str, [';']));
end.

Clique aqui para rodar o algoritmo online.

 

Referencias em inglês

System

StrUtils

ExtractWord

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!