Jump to content
Fórum Script Brasil

Gabriel Cabral

Membros
  • Posts

    406
  • Joined

  • Last visited

About Gabriel Cabral

  • Birthday 01/04/1989

Contatos

Perfil

  • Gender
    Male
  • Location
    São José dos Campos - SP

Gabriel Cabral's Achievements

0

Reputation

  1. Muito obrigado, Jhonas. Eu já utilizava o primeiro passo que você citou, e só agora percebi que não estava mandando a imagem pro TImage porque eu não tinha chamado o evento OnTwainAcquire. Mas me ocorre outra coisa. Quando abre a tela de captura, se eu clicar em Cancelar ou sair sem obter imagens, não consigo mais abrir esta tela novamente. Sabe o que pode ser?
  2. Boa tarde. Estou utilizando o componente DelphiTwain para captura de imagem através de webcam. Quando chamo o evento para capturar a imagem, ele abre uma tela do próprio windows e faz quantas capturas você quiser. O problema é que essas imagens capturadas não são gravadas em nenhum outro lugar, a não ser no dispositivo de imagem (webcam). Elas ficam armazenadas no dispositivo como Imagem 001, Imagem 002, e assim por diante. Gostaria de saber se há um jeito de já gravar com um nome e em um caminho escolhido por mim. Ou então se tem algo no Delphi que copie essas imagens do dispositivo para uma outra pasta. Obrigado.
  3. Os nomes que aparecem no combobox são: CyberLink Webcam Splitter HP Webcam-50 U2 EE Cam Então, se eu quiser conectar a webcam USB (U2 EE Cam), devo usar SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 2, 0);, certo?! Pois fiz o teste e não conecta. Já esperei mais de três minutos e não conectou.
  4. Boa tarde, Jhonas. Fiz o teste com o exemplo que você passou. Fiz num notebook que tem uma câmera acoplada e mais uma webcam USB. Obtive o seguinte retorno: FriendlyName: CyberLink Webcam Splitter DevicePath: \\?\root#media#0000#{65e8773d-8f56-11d0-a3b9-00a0...\global CLSID: {17CCA71B-ECD7-11D0-B908-00A0C9223196} FriendlyName: HP Webcam-50 DevicePath: \\?\usb#vid_05c8&pid_0223&mi00#7&1d1c0389&0&0...\global CLSID: {17CCA71B-ECD7-11D0-B908-00A0C9223196} FriendlyName: U2 EE Cam DevicePath: \\?\usb#vid_05e3&pid_0512&mi_00#6&1374dce8&0&0...\global CLSID: {17CCA71B-ECD7-11D0-B908-00A0C9223196} O que devo colocar no lugar do parametro DeviceID, para conectar a câmera? SendMessage(mCapHwnd, WM_CAP_CONNECT, DeviceID, 0); Tentei passar o FriendlyName, mas acusa erro, dizendo que precisa ser um Integer. Também tentei colocar 1, 2... mas a tela fica preta e não conecta nenhuma câmera. Só está conectando quando coloco 0. Nesse caso, conecta a câmera acoplada.
  5. Bom dia, Jhonas. Muito obrigado pelas dicas, mas não me dei bem com nenhum componente até agora. Preciso mesmo fazer sem utilizar componentes. Acredito que a linha onde escolho a webcam é esta SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0); Onde o parâmetro 0 indica a webcam padrão. E isso realmente funciona, pois num notebook ela liga a webcam acoplada em vez da webcam USB. Mas tentando mudar o parâmetro para 1, nada acontece. Nenhuma das câmeras é ligada.
  6. Boa tarde, pessoal. Tudo bem?! Estou precisando de uma grande ajuda para utilizar mais de uma webcam. Preciso de algo que liste as webcams instaladas ou alguma outra forma que eu possa escolher qual webcam utilizar. Já vi inúmeros tópicos relativos a webcam, mas nada que me ajudasse neste caso. O programa está fazendo a captura de imagem da seguinte forma: var frmCapturaImg: TfrmCapturaImg; hWndC: THandle = 0; rg: string; implementation uses U_frmCadMoradores; {$R *.dfm} const WM_CAP_START = WM_USER; const WM_CAP_STOP = WM_CAP_START + 68; const WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10; const WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 11; const WM_CAP_SAVEDIB = WM_CAP_START + 25; const WM_CAP_GRAB_FRAME = WM_CAP_START + 60; const WM_CAP_SEQUENCE = WM_CAP_START + 62; const WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START + 20; const WM_CAP_SEQUENCE_NOFILE =WM_CAP_START+ 63; const WM_CAP_SET_OVERLAY =WM_CAP_START+ 51 ; const WM_CAP_SET_PREVIEW =WM_CAP_START+ 50; const WM_CAP_SET_CALLBACK_VIDEOSTREAM = WM_CAP_START +6; const WM_CAP_SET_CALLBACK_ERROR=WM_CAP_START +2; const WM_CAP_SET_CALLBACK_STATUSA= WM_CAP_START +3; const WM_CAP_SET_CALLBACK_FRAME= WM_CAP_START +5; const WM_CAP_SET_SCALE=WM_CAP_START+ 53 ; const WM_CAP_SET_PREVIEWRATE=WM_CAP_START+ 52; function capCreateCaptureWindowA(lpszWindowName : PCHAR; dwStyle : longint; x : integer; y : integer;nWidth : integer;nHeight : integer;ParentWin : HWND; nId : integer): HWND; STDCALL; EXTERNAL 'AVICAP32.DLL'; ///// === CONECTA WEBCAM === ///// if hWndC <> 0 then exit; hWndC := capCreateCaptureWindowA('WINACESSO',WS_CHILD or WS_VISIBLE ,image1.Left,image1.Top,image1.width,image1.height,frmCapturaImg.Handle,0); if hWndC <> 0 then begin SendMessage(hWndC, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, 0); SendMessage(hWndC, WM_CAP_SET_CALLBACK_ERROR, 0, 0); SendMessage(hWndC, WM_CAP_SET_CALLBACK_STATUSA, 0, 0); SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0); SendMessage(hWndC, WM_CAP_SET_SCALE, 1, 0); SendMessage(hWndC, WM_CAP_SET_PREVIEWRATE, 66, 0); SendMessage(hWndC, WM_CAP_SET_OVERLAY, 1, 0); SendMessage(hWndC, WM_CAP_SET_PREVIEW, 1, 0); end; ///// === CAPTURA IMAGEM === ///// rg := frmCadMoradores.txtCadMoradores_RG.Text; if hWndC <> 0 then begin SendMessage(hWndC,WM_CAP_SAVEDIB,0,longint(pchar('C:\WINACESSO\FOTOS\' + rg + '.bmp'))); end; ///// === DESCONECTA WEBCAM === ///// if hWndC <> 0 then begin SendMessage(hWndC, WM_CAP_DRIVER_DISCONNECT, 0, 0); hWndC := 0; end;
  7. Olá, amigos. Estou fazendo um relatório de comissão, que faz uma busca na tabela de vendas (ESTAVEN) e na tabela de vendedores (ESTAVND). Na própria instrução SQL eu já faço o cálculo da comissão de cada vendedor. SQL.Add('SELECT (VEN.VENTOT-VEN.VENDEC) AS TOTAL, VEN.VENCOD, '); SQL.Add('VEN.VENTOT, VEN.VENDEC, VND.VNDCOD, VND.VNDCOM, VND.VNDACI, '); SQL.Add('((VEN.VENTOT-VEN.VENDEC)*(VND.VNDCOM/100)) AS COMISSAO'); SQL.Add('FROM ESTAVEN AS VEN, ESTAVND AS VND'); SQL.Add('WHERE VND.VNDCOD = VEN.VENVEN'); SQL.Add('ORDER BY VEN.VENNVD, VEN.VENDAT, VEN.VENNUM'); Mas o cliente pediu um algo a mais. Ele pediu pra criar um campo para estipular o valor em que cada vendedor teria direito a calcular sua comissão. Por exemplo: O valor estipulado foi de 500,00. Se o cara vendeu 520,00, sua comissão será calculada apenas em cima de 20,00. E se o cara vendeu menos que 500,00, ele não tem direito à comissão. Ou seja, preciso fazer nessa instrução SQL, alguma condição do tipo: if totalVenda > valorEstipulado then comissão calculada sobre (totalVenda-valorEstupilado) else comisão é igual a zero Eu trabalho com BDE e tabelas DBF (por incrível que pareça). Já tentei utilizar IIF e CASE, mas sem sucesso. Alguém tem alguma sugestão? Muito obrigado.
  8. Boa tarde, amigos. Tenho uma tabela com alguns registros repetidos, e para selecioná-los, fiz da seguinte maneira: with dm.QueryESTACAI_DUPL do begin Close; SQL.Clear; SQL.Add('SELECT DISTINCT CAIDAT, CAIHIS, CAIHO2 FROM ESTACAI'); Open; end; Utilizo três campos, pois a tabela não possui chave primária. Porém, preciso "marcar" esses registros que foram selecionados, com um X no campo CAIDEL. Então fiz da sequinte forma: with dm.QueryESTACAI_DUPL do begin Close; SQL.Clear; SQL.Add('UPDATE ESTACAI SET CAIDEL = "X" WHERE (SELECT DISTINCT CAIDAT, CAIHIS, CAIHO2 FROM ESTACAI) IS NOT NULL'); ExecSQL; end; Mas o UPDATE não funcionou e nada foi marcado. Como eu poderia fazer essa edição nos registros que foram selecionados? Muito obrigado.
  9. O cliente me informou o código do cedente, e este também possui 9 dígitos. A carteira é Rápida com Registro. Estava na esperança de que o código do cedente tivesse 7 ou 11 dígitos.
  10. Amigos, já verifiquei todas as documentações possíveis de Banespa, Real, Santander, mas ainda não consegui chegar a uma resolução. A conta do meu cliente possui 9 dígitos, mas todas as documentações trata o código do cedente com 7 ou 11 dígitos. Sei que nem sempre a conta e o código do cedente são a mesma coisa. Mas o que posso fazer neste caso? Existe alguma outra documentação que trate o código do cedente com 9 dígitos? Ou alguém poderia me esclarecer, o que compõe o código do cedente? Muito obrigado.
  11. Muito obrigado, Alberto Mota. Só fiquei com uma dúvida. Veja se pode me ajudar. No caso do Banco Real, a conta tinha 7 dígitos. E pelo que percebo, o Santander possui conta de 10 dígitos. Essa diferença traria uma certa dificuldade para utilizar este layout do antigo Banco Real, não é?! Se você já trabalhou com este layout, pode me informar como procedeu?
  12. Bom dia, amigos. Estou desenvolvendo emissão de boletos de diversos bancos, mas ainda não fiz para o Santander, pois não encontro o layout na internet e não consigo ir a qualquer agência procurar informações, por causa da greve. Se alguém tiver o layout para geração de boletos do Santander e puder compartilhar, entre em contato comigo, por favor. [email protected] Muito obrigado.
  13. Mas o Rave Reports possui essa banda Title? Não encontrei aqui.
  14. Tudo bem, pessoal.. Faz tempo que não apareço por aqui, hein?! Então, minha dúvida não tem nada a ver com formulário contínuo. É que eu não achei um título bom, mas vocês devem entender com a minha explicação. Estou fazendo uma carta de correção para nota fiscal, em rave. Eu preciso de um cabeçalho que fique apenas na primeira página, em seguida, preciso mostrar dados de uma tabela, então utilizo um DataBand. Logo depois, tem uma parte que deve ter o "tamanho variável".. e embaixo disso, apenas textos. Meu problema é que não consigo deixar o cabeçalho apenas na primeira página. Como proceder? Já o outro problema, explico melhor... ___________________ IRREGULARIDADES campo1 campo2 campo3 ___________________ textos e textos Essa quantidade de campos de irregularidades é variável.. Por isso, precisava que ele fosse "empurrando" (inclusive pra próxima página) a parte dos textos, conforme o número de campos for aumentando. Mas nessa próxima página, só deve imprimir essa "continuação".. e não o cabeçalho e o DataBand... por isso o "contínuo" ali no título. Espero realmente que alguém tenha entendido e possa me ajudar. Muito obrigado.
  15. Grande Jhonas!!! Funcionou certinho. Muitíssimo obrigado. Abraço.
×
×
  • Create New...