Jump to content

dia-do-acbr-online.png

Ganhe acesso a todas Palestras
Assinando o Suporte ACBr Comerecial

Saiba Mais


dia-do-acbr-online.png

logo_acbr_paygo.png

TEF ACBr PayGo
Seja um revendedor e ofereça uma solução completa para seu cliente.


botao.png

beneficios.png
  • Este tópico foi criado há 254 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui

Recommended Posts

Boa noite 

Queria saber se me podiam a ajudar ?

Eu estou aqui com muitas duvidas 

EU quero fazer um programa em lazarus que permita ir buscar um ficheiro excel e guarde em memoria e depois faça o update dos valores que vem da tabela na base de dados 

Link to post
Share on other sites

image.png

 

o que eu pretendo é  que o utilizador carregue no    button  (ler arquivo)  e vá abrir uma opção abrir um ficheiro excel  e que guarde na memoria  para depois fazer o update na base dados. 

 

var
excel :variant;
l,c: integer;
begin
Excel := CreateOleObject(´Excel.Application´);
Excel.Visible := False;
excel.WorkBooks.Add(FilenameFocusEdit1.Text);
l:=2;
for l := 2 to linhas.Value do
begin
cdsItens.Append;
cdsItensid.AsInteger := Excel.Cells.Item[l,1].Value;
if Excel.Cells.Item[l,2].Value <> ´´ then
cdsItensnrped.AsInteger := Excel.Cells.Item[l,2].Value;
cdsItensdata.AsDateTime := strtodate(Excel.Cells.Item[l,3].value);
cdsItensproduto.AsString := Excel.Cells.Item[l,4].Value;
cdsItens.Post;
end;
 

este é um  exemplo que vi na internet agora quero que vá buscar utilizador vá buscar o ficheiro

Não sei se está a perceber o que pretendo 

Link to post
Share on other sites

Usa o TOpenDialog para ele selecionar o arquivo. Tem como definir filtros para listar somente as extensões desejadas.

  if OpenDialog1.Execute then
    FilenameFocusEdit1.Text := OpenDialog1.FileName;

E para salvar, utiliza o TSaveDialog, assim permite ao "utilizador" escolher o nome do novo arquivo.

  if SaveDialog1.Execute then
    FilenameFocusEdit1.Text := SaveDialog1.FileName;

Usei no código o componente visual do seu exemplo o FilenameFocusEdit1.Text

Seria isso talvez?

 

 

  • Like 1
Link to post
Share on other sites

Não entendi, mas vou procurar um exemplo que fiz a alguns anos onde abria um arquivo, tratava as informações e salvava o arquivo tratado e anexo os fontes. Esse componente é um pouco complexo de trabalhar, lembro que tive algumas dificuldades.

Link to post
Share on other sites

Acho que já percebeu mais ao menos o que eu pretendo

 

Mas assim fica mais simples 

1-ler o ficherio de xls  (nesse folha de excel tem la o part-number que distingue os produtos )

2-por cada linha do ficheiro  de xls verificar-se o produto existe na bd (verifica se o part-number existe na base dados)

 a) se existir faz o update  //mas isto eu sei como e faz que e na base dados 

sim isto também está dar muitas disculdades

Link to post
Share on other sites

Bom dia 

Eu andei a pesquisar e encontrei este codico pode explicar o codico para entender melhor 

 

procedure Tprincipal1.procurar1Click(Sender : Tobject;ARow, ACol: Cardinal;constADataCell: PCell);

var
excel :variant;
l,c: integer;
begin
Excel := CreateOleObject(´Excel.Application´);
Excel.Visible := False;
excel.WorkBooks.Add(FilenameFocusEdit1.Text);
l:=2;
for l := 2 to linhas.Value do
begin
cdsItens.Append;
cdsItensid.AsInteger := Excel.Cells.Item[l,1].Value;
if Excel.Cells.Item[l,2].Value <> ´´ then
cdsItensnrped.AsInteger := Excel.Cells.Item[l,2].Value;
cdsItensdata.AsDateTime := strtodate(Excel.Cells.Item[l,3].value);
cdsItensproduto.AsString := Excel.Cells.Item[l,4].Value;
cdsItens.Post;
end;     

 

Link to post
Share on other sites
  • Este tópico foi criado há 254 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...