Ir para conteúdo
Fórum Script Brasil

Limas

Membros
  • Total de itens

    16
  • Registro em

  • Última visita

Sobre Limas

Limas's Achievements

0

Reputação

  1. Olá amigos que sempre nos ajudam, Eu estou com problemas na manipulação de imagens, estou utilizando o delpui 7, banco db paradox, eu preciso criar um diretório (C:Fotos) e dentro do diretório Fotos um Subdiretório para guardar cada grupo de fotos de imóveis (para a imobiliária) e depois quando necessário eu seleciono o caminho em um campo de um dbgrid e o sistema deveria abrir aquele diretório e me mostrar uma foto de cada vez. Conforme código abaixo eu já consigo criar os dois diretório e gravo a imagem e o path na tabela atual mas o path vem sempre no primeiro registro da tabela e não no registro (codgo) que estou editando, este é um problema, o outro é no onCellClick abrir outro formulário com as insformações do Path (caminho) das fotos e exibir uma de cada vez no AfterScroll ou em um CtrlGrid. procedure T_imovel.BitBtn3Click(Sender: TObject); var Origem, Destino, caminho: string; begin if not DirectoryExists('C:Fotos') then CreateDir('C:Fotos'); caminho := 'C:\Fotos\' + qim.FieldByName('CODIGO').AsString; if not DirectoryExists(caminho) then CreateDir(caminho); if OpenPictureDialog1.Execute then begin origem := OpenPictureDialog1.FileName; Delete (Origem, 1, Lenght(ExtractFilePath(OpenPictureDialog1.FileName))); Destino:=caminho + '\' + origem; CopyFile(PChar(Origem), Pchar(Destino), False); Tabimovel.Open; Tabimovel.Edit; Tabimovelcaminho.AsString:= Caminho; Tabimovel.Post; Image1.Picture.LoadFromFile(Tabimovelcaminho.value); end; end; Já pesquisei na internet e já tentei de várias formas mas não consegui, se alguém puder me ajudar desde já eu agradeço. Atenciosamente. Limas
  2. Olá amigos, Estou com uma dificuldade para inserir na mesma linha do Memo um texto mais data (concatenar). Com o código abaixo ele gera o seguinte erro: Incompatible types: 'String' and 'Integer' Quando é o texto somente o sistema insere normalmente. procedure T_conscomprador.DBLookupComboBox2CloseUp(Sender: TObject); begin Editmemo.text:=TabmemoImovel.Text; DBMemo2.Lines.Add(Editmemo.text) + FormatDateTime('dd/mm/yyyy',now); end; Já tentei de várias formas mas não cosegui, se alguém puder me ajudar com este problema desde já eu agradeço. Atenciosamente. Valdir Lima
  3. Olá amigos do Delphi, Estou precisando de uma ajuda de vocês, estou desenvolvendo um programa que deve buscar fotos em um diretório no HD e gravar o caminho (path) em um campo da Table que vai estar alimentando um DBGrid. Eu não sei como gravar este caminho e nem a forma que eu possa visualizar estas fotos posteriormente em um TImage. Vejam o início da minha procedure: procedure T_imovel.BitBtn2Click(Sender: TObject); var Origem, Destino, caminho: string; begin caminho := 'C:\Fotos\' + qim.FieldByName('CODIGO').AsString; if not DirectoryExists(caminho) then CreateDir(caminho); if OpenPictureDialog1.Execute then begin //Aqui pego o caminho inteiro inclusive com o nome do arquivo origem := OpenPictureDialog1.FileName; //Aqui pego somente o nome do arquivo com a extenção Delete(Origem, 1, Length(ExtractFilePath(OpenPictureDialog1.FileName))); Destino := caminho + '\' + origem; CopyFile(PChar(Origem), PChar(Destino), False); Tabimovel.Open; Tabimovel.Edit; Tabimovelcaminho.AsString:= Destino; Tabimovel.Post; end; end; Se puderem me ajudar desde já eu agradeço, Atenciosamente. Valdir Lima
  4. Boa tarde amigos de Delphi, Gostaria de saber se o Delphi calcula Tan-¹, se sim alguém pode me ensinar como fazer esta fórmula? Desde já Agradeço, Atenciosamente. Valdir Lima
  5. Obrigado pela Resposta, agora funcionou. Abraço. Valdir
  6. Eu fiz uma rotina para calcular o Seno com resultado em Radiano mas o sistema retorna o seguinte erro:[Error] UCalculo.pas: Not enough actual parameters Function TFCALCULO.DegToRad( const Degrees : Extended ) : Extended; var float : single; begin float := Sin(DegToRad(30)); ShowMessage('Sine off 30 degrees = '+FloatToStr(float)); end; procedure TFCALCULO.BitBtn5Click(Sender: TObject); begin DegToRad; end; Se o pessoal que entende de Seno e Coseno puder me ajudar, Desde já eu agradeço. Valdir
  7. Bom dia Jhonas, O erro que ainda está ocorrendo é que o programa não está conseguindo localizar o produto na tabela de produtos, eu fiz as tres etapas conforme você passou abaixo, o programa faz a leitura do código de barras e depois carrega no EditCodBarra e no evento OnClick do Button1 o sistema não consegue identificar o código do produto na tabela de produto. Talvez no evento OnClick esteja faltando informar o que está carregado no EditCodBarra para que o sistema possa buscar na tabela e carregar na tabela itens ou ainda algum problema com a geração do código de barra onde eu estou somando (+) ao número fixo '789827287' o número gerado pelo autoincrement que está resultando um número com 9 dígitos. Já tentei resolver de várias maneiras do tipo "OnKeyPress", "OnExit" do Edit e outros mas não deu certo. Um Abraço. Valdir Lima
  8. Veja que voce esta usando o metodo OnKeyPress.... não deveria, pois o leitor funciona como se voce estivesse digitando cada numero do código, ou seja, o metodo será chamado uma vez para cada numero que o leitor está lendo. Esse código deveria estar no evento OnExit do Edit procedure TFvendas.EditCodBarraExit(Sender: TObject); begin try tbproduto.IndexDefs.Clear; tbproduto.IndexName := 'bycodbarra'; tbproduto.IndexDefs.Update; tbproduto.open; tbproduto.FindNearest([trim(EditCodbarra.Text)]); except on EDBEngineError do MessageDlg('Erro na busca! Tente novamente.', mtError, [mbOK], 0); end; begin if EditCodPed.Text='' then begin Showmessage('Escolha Nova Venda, para continuar'); abort; end; tbitem.insert; tbitem['codigo']:= tbproduto['codigo']; tbitem['nome']:= tbproduto['item']; tbitem['Qtd']:= 1; tbitem['vrunit']:= tbproduto['venda']; tbitem['data']:=DateTostr(now); tbitem.post; EditCodbarra.Clear; EditCodbarra.SetFocus; end; end; abraço Olá Jhonas, estamos aqui novamente. Ainda não consegui fazer o leitor de código de barras funcionar, ao passá-lo em uma barra, pode ser o primeiro registro ou outro qualquer, o programa lança sempre o "primeiro" e o "último" registro da minha tabela produto duas ou tres vezes para tabela itens. Talvez eu esteja fazendo confusão onde eu deva usar o evento EditCodBarraKeyDown que você citou na resposta do dia 11/09 e o evento EditCodBarraExit que está na resposta do dia 18/09, eu devo usar um dos dois ou os dois eventos em procedures diferentes? Segue abaixo o font que está gerando este erro. procedure TFvendas.EditCodBarraKeyPress(Sender: TObject; var Key: Char); begin try tbproduto.IndexDefs.Clear; tbproduto.IndexName := 'bycodbarra'; tbproduto.IndexDefs.Update; tbproduto.open; tbproduto.FindNearest([trim(EditCodbarra.Text)]); except on EDBEngineError do MessageDlg('Erro na busca! Tente novamente.', mtError, [mbOK], 0); end; begin if EditCodPed.Text=' then begin Showmessage('Escolha Nova Venda, para continuar'); abort; end; tbitem.insert; tbitem['codigo]:= tbproduto['codigo']; tbitem['nome']:= tbproduto['item']; tbitem['Qtd']:= 1; tbitem['vrunit']:= tbproduto['venda']; tbitem['data']:=DateTostr(now); tbitem.post; EditCodbarra.Clear; EditCodbarra.SetFocus; end; end; Um abraço. Valdir Lima
  9. Bom dia Jhonas, Quero te agradecer por ter me ajudado até aqui mas eu continuo com problema para fazer a leitura, ao passar o leitor no código de barra o sistema passa para tbitem vários produtos e varias vezes ao invés de passar o produto do código de barra uma vez só. Eu acho que está faltando associar o produto na tbproduto para poder transferir este para tbitem. Se você puder me ajudar mais uma vez, eu te agradece muito. Segue abaixo o font do jeito que está no programa. procedure TFvendas.EditCodBarraKeyPress(Sender: TObject; var Key: Char); begin try tbproduto.IndexDefs.Clear; tbproduto.IndexName := 'bycodbarra'; tbproduto.IndexDefs.Update; tbproduto.open; tbproduto.FindNearest([trim(EditCodbarra.Text)]); except on EDBEngineError do MessageDlg('Erro na busca! Tente novamente.', mtError, [mbOK], 0); end; begin if EditCodPed.Text='' then begin Showmessage('Escolha Nova Venda, para continuar'); abort; end; tbitem.insert; tbitem['codigo']:= tbproduto['codigo']; tbitem['nome']:= tbproduto['item']; tbitem['Qtd']:= 1; tbitem['vrunit']:= tbproduto['venda']; tbitem['data']:=DateTostr(now); tbitem.post; EditCodbarra.Clear; EditCodbarra.SetFocus; end; end; Atenciosamente. Valdir Lima.
  10. Olá Jhonas, Eu fiz a correção conforme sua orientação mas na hora de abrir o programa ele apresenta o seguinte erro: [Error] UVenda.pas(253): There is no overloaded version of 'Trim' that can be called with these arguments [Error] UVenda.pas(253): Incompatible types: 'Integer' and 'TCaption' Este erro aparece na linha abaixo: tbproduto.FindNearest(trim[EditCodbarra.Text]); Estou tentando resolver por aqui mas não estou conseguindo. Abraço. Valdir
  11. Boa tarde pessoal, Meu programa não esta conseguindo ler o código de barras, gerei os códigos de barra tipo btCodeEAN13 do CJVBarcode desta forma: procedure Tfproduto.DBGrid1ColExit(Sender: TObject); begin if (DbGrid1.SelectedIndex=12) then begin tbproduto.edit; tbproduto['codbarra'] := '789827287' + tbproduto['codigo']; tbproduto.post; end; end; O delphi (banco paradox) grava na tabela o código sem o digito identificador mas imprime a etiqueta com o identificador, o que pode estar errado, o sistema pode identificar no banco um código sem o digito identificador? Para a leitura do código eu escrevi o font abaixo que também pode estar errado pois o leitor traz sempre o primeiro registro. procedure TFvendas.EditCodBarraKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin try tbproduto.Open; tbproduto.IndexFieldNames := 'codbarra'; tbproduto.Editkey; tbproduto.FindNearest([EditCodbarra.Text]); tbproduto.Refresh; except on EDBEngineError do MessageDlg('Erro na busca! Tente novamente.', mtError, [mbOK], 0); end; begin if EditCodPed.Text='' then begin Showmessage('Escolha Nova Venda, para continuar'); abort; end; tbitem.insert; tbitem['codigo']:= tbproduto['codigo']; tbitem['nome']:= tbproduto['item']; tbitem['Qtd']:= 1; tbitem['vrunit']:= tbproduto['venda']; tbitem['data']:=DateTostr(now); tbitem.post; EditCodbarra.Clear; EditCodbarra.SetFocus; end; end; end; Se os colegas puderem me ajudar eu agradeço antecipadamente. Abraço. Valdir Lima
  12. Limas

    (Resolvido) TBarCode

    Voce vai achar o componente e exemplos no primeiro endereço http://www.tec-it.com/en/download/tbarcode...s/Download.aspx http://www.brothersoft.com/tbarcode-for-delphi-9346.html http://www.softpedia.com/progDownload/TBar...load-82123.html http://superdownloads.uol.com.br/download/...barcode-delphi/ abraço Ok!!!! Muito obrigado pela dica, Um abraço. Valdir
  13. Bom dia a todos, Estou desenvolvendo um programa que deve gerar e ler código de barra, e neste programa eu escrevi o código abaixo mas falta o componente TBarCode, como faço para instalar este componente e de acordo com o código como eu devo fazer para iniciar a geração de códigos de barra? Aos que puderem me ajudar desde já eu agradeço. Att. Valdir Lima procedure Tfproduto.SpeedButton9Click(Sender: TObject); Var I:Integer; begin BOK:=InputQuery ('Etiquetas', 'Digite o nº de etiquetas a ser impressa',st); if BOK then begin I:=0; BarCode1.Digits:='789827287' + tbproduto['codbarra']; tbcodbarra.close; tbcodbarra.emptytable; tbcodbarra.open; While I < StrToInt(st) do Begin tbcodbarra.Insert; tbcodbarra['Codigo']:=tbproduto['codigo']; fcodbarra.LProduto.Caption:=tbproduto['nome']; fcodbarra.LIngrediente.Caption:=tbproduto['marca']; I:=I + 1; end; BarCode1.BarcodeCopy; fcodbarra.QRImage1.Picture.Assign (ClipBoard); //FormEtiqueta.LData.Caption := MaskEdit1.Text; // FormEtiqueta.LPeso.Caption := EditPeso.Text; // FormEtiqueta.LMS.Caption := Edit1.Text; fcodbarra.Preview; clipboard.clear; end;
  14. Valeu Daniel, obrigado pela dica, problema resolvido. Abraços. Valdir
  15. Boa tarde a todos, Estou instalando um programa em uma rede pequena com um servidor e dois cliente, no servidor eu configurei como Z:\MELISSA\Delphi Solutions\Banco de dados onde MELISSA é o nome da maquina servidor, Delphi Solutions é a pasta dentro do Drive C e Banco de dados é a pasta com o .exe, e no NET DIR dos usuários eu coloquei \\MELISSA\Delphi Solutions\Banco de dados. Todas as máquina tem o BDE instalado mas os dados são atualizados cada um no banco local e não no servidor, o que tem de diferente é que no servidor já tem um outro programa em Delphi usando o DBASE e no INIT DO BDE o Default Drive está setado para o DBASE. O que está errado, o que devo fazer para que os dados sejam atualizados no Servidor? Aos que puderem me ajudar desde já eu agradeço. Valdi Lima.
×
×
  • Criar Novo...