Ir para conteúdo
Fórum Script Brasil

paulobergo

Membros
  • Total de itens

    295
  • Registro em

  • Última visita

Tudo que paulobergo postou

  1. Olá... Bom... sem o código (ou parte dele), não é muito fácil entender o que pode estar acontecendo... Porém, uma pista: sempre que encontro esse tipo de erro, é porque me esqueci de criar alguma coisa... Por exemplo, defino uma StringList e me esqueço de criá-la... então, ao acessá-la, vem o erro. Veja: . . Var Cam4DropForm: TCam4DropForm; slStringList4: TStringList; . . . Procedure TCam4DropForm.FormActivate(Sender: TObject); Begin // Isso vai dar erro: slStringList4.Add('Ao tentar incluir uma linha, vai dar erro!'); . . . Procedure TCam4DropForm.FormActivate(Sender: TObject); Begin // Isso não dá erro: slStringList4 := TStringList.Create; slStringList4.Add('Agora dá certo...'); . . . Ok? Abraços! Espero ter ajudado!
  2. Oi Pessoal... Há algum tempo encontrei uma dica para exclusão de vários arquivos e até pastas acho que aqui mesmo no fórum e vinha usando a rotina - sem problemas. Agora, ao colocá-la num programa de captura de imagens, em um XP Home, ela tema em não funcionar em alguns casos... Criei uma função para excluir os arquivos referenciados em uma string que contém a pasta e a extensão dos arquivos a serem excluídos: Function Pasta2Del(sPasta2Del: String; bPastaFica: Boolean): Boolean; Var FileStru: TshFileOpStruct; bExclusao: Boolean; lpPasta: LPSTR; Begin lpPasta := PChar(sPasta2Del); bExclusao := False; FillChar(FileStru, SizeOf(FileStru), 0); FileStru.wFunc := FO_DELETE; FileStru.pFrom := lpPasta; // PChar(sPasta2Del); FileStru.fFlags := FOF_FILESONLY or FOF_SIMPLEPROGRESS or FOF_NOCONFIRMATION; // or FOF_SILENT Ative para não mostrar mensagens // or FOF_ALLOWUNDO Ative se quiser usar a lixeira bExclusao := ((ShFileOperation(FileStru)=0) and (not FileStru.fAnyOperationsAborted)); End; A função é chamada várias vezes; por exemplo, hoje, sexta-feira, é chamada para excluir todas as imagens de segunda-feira e também todas as que existirem na pasta de sábado (amanhã): Pasta2Del('c:\docume~1\alluse~1\docume~1\cameras\camera1\foto\segunda\*.jpg', true); Pasta2Del('c:\docume~1\alluse~1\docume~1\cameras\camera1\foto\sabado\*.jpg', true); Pasta2Del('c:\docume~1\alluse~1\docume~1\cameras\camera2\foto\segunda\*.jpg', true); Pasta2Del('c:\docume~1\alluse~1\docume~1\cameras\camera2\foto\sabado\*.jpg', true); Pasta2Del('c:\docume~1\alluse~1\docume~1\cameras\camera3\foto\segunda\*.jpg', true); Pasta2Del('c:\docume~1\alluse~1\docume~1\cameras\camera3\foto\sabado\*.jpg', true); Pasta2Del('c:\docume~1\alluse~1\docume~1\cameras\camera4\foto\segunda\*.jpg', true); Pasta2Del('c:\docume~1\alluse~1\docume~1\cameras\camera4\foto\sabado\*.jpg', true); O problema é que, em algumas pastas, não funciona... nada é excluído e a mensagem "Não é possível excluir arquivo. Não é possível ler o arquivo ou disco de origem." Alguma idéia? (ou há outra forma de excluir vários arquivos de uma só vez, «tipo» um del \pasta\*.jpg ? Grato! Abraços!
  3. Olá. Assim ainda não funcionou... a imagem criada até fica com as dimensões reduzidas - 352x288... porém aparece um barra lateral e outra vertical sem imagem... Então, a solução foi criar um segundo bitmap - bitmapdestino; assim, a página completa do webbrowser é copiada para o primeiro bitmap; deste, é recortada a parte desejada e copiada no bitmap destino; finalmente, do bitmap destino, a figura é convertida em jpeg e salva... O código: var viewObject : IViewObject; r : TRect; bitmapdst, bitmap : TBitmap; RectOrigem, RectDestino: TRect; BitmapFont, BitmapDest, MyBMPImage: TBitmap; begin if wb.Document <> nil then begin wb.Document.QueryInterface(IViewObject, viewObject); if Assigned(viewObject) then try bitmap := TBitmap.Create; bitmapdst := TBitmap.Create; try bitmap.Height := wb.Height; // 288; // 322wb.Height; bitmap.Width := wb.Width; // 322; // wb.Width; r := Rect(0, 0, bitmap.width-1, bitmap.height-1); viewObject.Draw(DVASPECT_CONTENT, 1, nil, nil, Application.Handle, bitmap.Canvas.Handle, @r, nil, nil, 0); RectOrigem := Rect(101, 101, 452, 388); RectDestino := Rect(0, 0, 351, 287); Bitmapdst.Width := 352; Bitmapdst.Height := 288; Bitmapdst.Canvas.CopyRect(RectDestino, Bitmap.Canvas, RectOrigem); with TJPEGImage.Create do try Assign(bitmapdst); SaveToFile(fileName); finally Free; end; finally bitmapdst.Free; bitmap.Free; end; finally viewObject._Release; end; end; end; Ok? espero que seja útil para outros... Grato! Abraços!
  4. Olá... Veja bem... você precisa aprender a lidar com os campos e com as variáveis... o fato do campo ser do tipo Money, apenas indica que, na apresentação dos seus valores, o nome da moeda (definido nas configurações regionais do Windows) irá aparecer... mas o campo continua sendo numérico... e, assim, não aceitará R$ nem o separador de milhar. Veja: 1) Criando uma tabela com campos "money" create table 'meuteste.db' ( idmeuteste autoinc, valorunitario money,ç.ol,mjljkiooohyouioiii quantidade numeric(7,3), valortotal money ); 0 rows were affected 2) Inserindo um registro. insert into 'meuteste.db' (valorunitario, quantidade, valortotal) values (1.50, 3, 1.5*3); 1 row were affected 3) Visualizando os registros da tabela. select idmeuteste, valorunitario, quantidade, valortotal from 'meuteste.db'; +------------+---------------+------------+------------+ | idmeuteste | valorunitario | quantidade | valortotal | +------------+---------------+------------+------------+ | 1 | R$ 1,50 | 3 | R$ 4,50 | +------------+---------------+------------+------------+ 4) Tentando inserir um registro com R$... insert into 'meuteste.db' (valorunitario, quantidade, valortotal) values (R$ 1.50, 3, R$ 1.5*3); * Invalid use of keyword. Token: 1.50, Line Number 4 insert into 'meuteste.db' (valorunitario, quantidade, valortotal) values ('R$ 1.50', 3, 'R$ 1.5'*3); * Type mismatch in expression. 5) Tentando inserir um registro com valores contendo milhar+decimal insert into 'meuteste.db' (valorunitario, quantidade, valortotal) values (1,250.00, 1, 1,250.00 * 1); Invalid parameter. Ah... e o campo subtotal, visto acima na tabela, é redundante e não devia ser criado, já que será o resultado da multiplicação dos outros dois campos... então, seria criado apenas na aplicação, com campo "calculado", quando necessário... Em tempo (aí é uma opinião)... não uso tabelas Paradox há mais de cinco anos... considero até Paradox muitissimo confiável SE todo o acesso aos dados, inclusão, alteração e exclusão for por TQuery (SQL)... usar TTable, para mim, é um desastre... bem... mas aí é só a minha opinião e, atualmente, fico com o MySQL 5.027 ou maior... Ok?
  5. Olá pessoal... Para capturar a imagem de um WebBrowser, estou usando o seguinte código: procedure WebBrowserScreenShot(const wb: TWebBrowser; const fileName: TFileName); var viewObject : IViewObject; r : TRect; bitmap : TBitmap; begin if wb.Document <> nil then begin wb.Document.QueryInterface(IViewObject, viewObject); if Assigned(viewObject) then try bitmap := TBitmap.Create; try r := Rect(0, 0, 351, 287); bitmap.Width := 352; // wb.Width; bitmap.Height := 288; // wb.Height; // * gerando uma imagem jpeg 352x288 pixels. viewObject.Draw(DVASPECT_CONTENT, 1, nil, nil, Application.Handle, bitmap.Canvas.Handle, @r, nil, nil, 0); with TJPEGImage.Create do try Assign(bitmap); SaveToFile(fileName); finally Free; end; finally bitmap.Free; end; finally viewObject._Release; end; end; end; Porém, preciso capturar apenas uma parte da página, a partir das coordenadas 201 x 101, ou seja, a imagem precisa capturar o retangulo do webbrowser 201, 101 a 552 x 388 ... Alguma dica? Grato! Abraços!
  6. Olá. Você precisa tirar o 'R$' antes de calcular qualquer coisa... Veja que a mensagem de erro já te diz o que está errado: a identificação da Moeda... pois R$ não é valor... Eu uso o componente HKComps (HKDBCurrEdit e HKCurrEdit) pois não preciso fazer qualquer conversão... pois o Edit já fornece um valor mesmo e não um texto... outra coisa, ele permite que você até mostre o nome da moeda (o R$) sem que isso interfira no valor... Creio que existam outros componentes similares... Agora, em tempo... não é usual colocar R$ nos valores, exceto quanto se usa mais de uma moeda... Se você pegar uma nota fiscal impressa por uma loja, observe que não vem R$ na frente dos valores... pois todo valor, no Brasil, deve estar em Reais... quando isso não acontece, aí sim você coloca o nome da moeda... US$, índices como UFIR, UFMG, etc... e o R$ ainda polui muito a tela, sobretudo com o alinhamento à direita dos valores. Veja: R$ 0,99 0,99 R$ 10,00 10,00 R$ 988,45 988,45 R$ 66,45 66,45 R$ 988,45 988,45 R$ 1.484,60 1.484,60 Ok? Bom... Consulte mais por aí (principalmente legislação e normas técncas para aplicações comerciais)... Espero ter ajudado...
  7. Camera IP... Olá pessoal... Não sei se esse é o melhor local... mas vamos lá... Estou tentando fazer a captura do vídeo de uma camera IP. O fabricante só disponibiliza uma página gerada pela própria camera sendo que em um frame é exibido o vídeo ao vivo... No entanto, gostaria de capturar o vídeo como se fosse uma fonte de WebCam... (programa em Delphi, com DSPack)... O código fonte da página principal está identificado abaixo. A forma de acessar a camera é simplesmente digitar o seu endereço, assim: http://192.168.190.34/ Só funciona no IEx 6 ou maior... no FireFox, nem pensar... Gostaria de saber também o que é a tal CLSID:6590568E... Alguma idéia? Grato! Abraços! <script language="JavaScript" src="cookie.js"></SCRIPT> <script language="JavaScript" src="monitor.js"></SCRIPT> <html> <head> <script>document.write("<title>"+parent.topo.idioma["titulom"]+"</title>");</script> </head> <body bgcolor="#C6C6C6"> <table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%" align="center"> <tr> <td background="fundoMonitorEsq.jpg" width="85"></td> <td valign="middle" align="center"> <table cellspacing="2" cellpadding="30" border="1" bordercolordark="#ffffff" bordercolorlight="#000000"> <tr> <td> <table cellspacing="0" cellpadding="0" border="0" align="center"> <tr> <td><img src="monitorEsqCim.jpg" border=0 alt=""></td> <td background="monitorCima.jpg" height="20"></td> <td><img src="monitorDirCim.jpg" border=0 alt=""></td> </tr> <tr> <td background="monitorEsquerda.jpg" width="20"></td> <td> <script> document.write("<object ID=\"DDKMpeg\" BORDER=\"0\" Name=\"Ax\" CLASSID=\"CLSID:6590568E-F697-4771-8F43-C5AA0A892847\" width="+ width +" height="+ height +"></object>"); window.setTimeout("FazConexao()", 50); </script> </td> <td background="monitorDireita.jpg" width="20"></td> </tr> <tr> <td><img src="monitorEsqBai.jpg" border=0 alt=""></td> <td background="monitorBaixo.jpg" height="20"></td> <td><img src="monitorDirBai.jpg" border=0 alt=""></td> </tr> </table> </td> </tr> </table> </td> <td background="fundoMonitorDir.jpg" width="85"></td> </tr> </table> </body> </html>
  8. Camera IP... Olá pessoal... Não sei se esse é o melhor local... mas vamos lá... Estou tentando fazer a captura do vídeo de uma camera IP. O fabricante só disponibiliza uma página gerada pela própria camera sendo que em um frame é exibido o vídeo ao vivo... No entanto, gostaria de capturar o vídeo como se fosse uma fonte de WebCam... (programa em Delphi, com DSPack)... O código fonte da página principal está identificado abaixo. A forma de acessar a camera é simplesmente digitar o seu endereço, assim: http://192.168.190.34/ Só funciona no IEx 6 ou maior... no FireFox, nem pensar... Gostaria de saber também o que é a tal CLSID:6590568E... Alguma idéia? Grato! Abraços! <script language="JavaScript" src="cookie.js"></SCRIPT> <script language="JavaScript" src="monitor.js"></SCRIPT> <html> <head> <script>document.write("<title>"+parent.topo.idioma["titulom"]+"</title>");</script> </head> <body bgcolor="#C6C6C6"> <table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%" align="center"> <tr> <td background="fundoMonitorEsq.jpg" width="85"></td> <td valign="middle" align="center"> <table cellspacing="2" cellpadding="30" border="1" bordercolordark="#ffffff" bordercolorlight="#000000"> <tr> <td> <table cellspacing="0" cellpadding="0" border="0" align="center"> <tr> <td><img src="monitorEsqCim.jpg" border=0 alt=""></td> <td background="monitorCima.jpg" height="20"></td> <td><img src="monitorDirCim.jpg" border=0 alt=""></td> </tr> <tr> <td background="monitorEsquerda.jpg" width="20"></td> <td> <script> document.write("<object ID=\"DDKMpeg\" BORDER=\"0\" Name=\"Ax\" CLASSID=\"CLSID:6590568E-F697-4771-8F43-C5AA0A892847\" width="+ width +" height="+ height +"></object>"); window.setTimeout("FazConexao()", 50); </script> </td> <td background="monitorDireita.jpg" width="20"></td> </tr> <tr> <td><img src="monitorEsqBai.jpg" border=0 alt=""></td> <td background="monitorBaixo.jpg" height="20"></td> <td><img src="monitorDirBai.jpg" border=0 alt=""></td> </tr> </table> </td> </tr> </table> </td> <td background="fundoMonitorDir.jpg" width="85"></td> </tr> </table> </body> </html>
  9. paulobergo

    DSPack

    Link correto Ok? Bom proveito!
  10. Bom dia... Para fazer o download de arquivos, inclusive imagens, via web, uso uma função genérica, mostrada a seguir (Delphi6): Function Download1URL(const a1Url, a1Dst: string): Boolean; Begin bStatFc1 := False; If bIsConDirect then hSession1 := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0) Else hSession1 := InternetOpen('MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); {EndIf} Try If Assigned(hSession1) then Begin hService1 := InternetOpenUrl(hSession1, PChar(a1Url), nil, 0, 0, 0); If Assigned(hService1) then Begin Try AssignFile(ftSaveFile1, a1Dst); ReWrite(ftSaveFile1, 1); bOpen2Save1 := True; While True do Begin dwBytesRead1 := iMemLimit; InternetReadFile(hService1, @lpBuffer1, iMemLimit, dwBytesRead1); iBytesRec1 := iBytesRec1+dwBytesRead1; If dwBytesRead1=0 then break; lpBuffer1[dwBytesRead1] := 0; BlockWrite(ftSaveFile1, lpBuffer1, dwBytesRead1); End;{While True} bStatFc1 := iBytesRec1>0; Finally InternetCloseHandle(hService1); If bOpen2Save1 then CloseFile(ftSaveFile1); {EndIf} End; End; {EndIf Assigned(hService)} End; {EndIf Assigned(hSession)} Finally InternetCloseHandle(hSession1); End; Download1URL := bStatFc1; End; {Observação: algumas variáveis, como iMemLimit, estão definidas em outros pontos do programa... iMemLimit, p.e., é inicializada com 16384... } Exemplo: Download1URL('http://200.251.137.2/logoprin.jpg', 'c:\temp\logoprin.jpg'); Bom... o que eu gostaria de saber é se existe alguma outra forma de baixar uma arquivo que seja mais rápida do que a "InternetReadFile" acima... Grato por quaisquer dicas!!!! Abraços!
  11. Bom dia. A URL "http://192.168.190.26/snap.jpg" não pode ser acessada através da Internet pois fica na rede exclusiva da PJF para acesso pela PMMG... Vou tentar colocar camera em um endereço Internet válido para que você possa ver como é o esquema... Grato e Abraços
  12. Grato pela ajuda! Bom... dentre os componentes sugeridos, já testei vários, mas nenhum funcionou tão bem como o DsPack... E especificamente para a PJF, não poderia adquirir o componente... Mas realmente o problema está mais em mudar a forma de adquirir o fluxo de imagem, que será a partir da Internet e não de uma fonte de vídeo do Windows, como no caso das webcam... De qualquer forma, continuo testando e aguardando que alguém saiba de algum componente, preferencialmente "free", para captura do vídeo de uma camera IP. Em tempo... ainda não consegui, também, uma resposta do fabricante da camera quanto a capturar o video... até o momento, o único arquivo que consigo ler diretamente da camera é a imagem instantanea que ela gera... (http://192.168.48.22/snap.jpg)... Nesse caso, é tranquilo... só falta eles liberarem "o sinal" do vídeo... se é que vão liberar... Grato! e grande abraço!
  13. Olá pessoal... De volta com a IP Cam! Consegui acessar o código fonte da página principal de uma das cameras IP (modelo DomoIP), arquivo "monitor.html": <script language="JavaScript" src="cookie.js"></SCRIPT> <script language="JavaScript" src="monitor.js"></SCRIPT> <html> <head> <script>document.write("<title>"+parent.topo.idioma["titulom"]+"</title>");</script> </head> <body bgcolor="#C6C6C6"> <table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%" align="center"> <tr> <td background="fundoMonitorEsq.jpg" width="85"></td> <td valign="middle" align="center"> <table cellspacing="2" cellpadding="30" border="1" bordercolordark="#ffffff" bordercolorlight="#000000"> <tr> <td> <table cellspacing="0" cellpadding="0" border="0" align="center"> <tr> <td><img src="monitorEsqCim.jpg" border=0 alt=""></td> <td background="monitorCima.jpg" height="20"></td> <td><img src="monitorDirCim.jpg" border=0 alt=""></td> </tr> <tr> <td background="monitorEsquerda.jpg" width="20"></td> <td> <script> document.write("<object ID=\"DDKMpeg\" BORDER=\"0\" Name=\"Ax\" CLASSID=\"CLSID:6590568E-F697-4771-8F43-C5AA0A892847\" width="+ width +" height="+ height +"></object>"); window.setTimeout("FazConexao()", 50); </script> </td> <td background="monitorDireita.jpg" width="20"></td> </tr> <tr> <td><img src="monitorEsqBai.jpg" border=0 alt=""></td> <td background="monitorBaixo.jpg" height="20"></td> <td><img src="monitorDirBai.jpg" border=0 alt=""></td> </tr> </table> </td> </tr> </table> </td> <td background="fundoMonitorDir.jpg" width="85"></td> </tr> </table> </body> </html> A encrenca toda é conseguir capturar o streamer da mesma forma que se captura a partir de uma webcam, como se pode fazer com o DSPack, por exemplo... Como a camera é uma camera de segurança, não consigo disponibilizar seu sinal para acesso externo, mas estou tentando descobrir alguma outra camera similar, com sinal aberto, para que os colegas possam ter uma idéia do problema... De qualquer forma, qualquer idéia ou sugestão é bem vinda! Grato! Abraços!
  14. Então o seu problema é com a query? Teste-a no DBExplorer... Coloque um frmEtiquetasClientes.ADOQuery1.SQL.savetofile('c:\temp\ver_essa_query.sql'); execute a aplicação e depois experimente abri-la no DBExplorer, colocando os parametros corretos na validação (between) e veja o resultado... Outra coisa... Experimente criar o formulário-exemplo do Delphi... file new other forms quick report labels depois substitua a rotina do banco de dados pelos componentes/queries dos seus dados... Ok?
  15. O DatabaseDesktop só permite autoincremento nas tabelas Paradox... Então, seria melhor você se familiarizar com a criação/alteração de tabelas usando TSQL, no DBExplorer (vem com o Delphi também)... Em troca de criar uma tabela no DatabaseDesktop, use uma query... exemplo: create table ":acme:produtos.dbf" (idproduto autoinc, nome char(40), unidade char(3) ); Quanto ao código ser preenchido com zeros, ficaria por sua conta validar isso também... Assim, se o código ficou inválido, você não deverá gravá-lo... No evento OnClick do botão Confirmar, poderia colocar: Begin If CodigoEdit.Text='00000' then Begin CodigoEdit.SetFocus; // Focar novamente o campo Código ou outro... Exit; End; {} // * Resto da procedure para salvar o registro... . . End; Outra coisa importante é que embora você possar ter alguma dificuldade em implementar um código "auto-incremento" agora, os benefícios que isso irá trazer serão imensos... pois isso de numeração automática não poderia, nesta altura do campeonato, estar tomando o seu tempo de desenvolvimento... e a outra coisa é a definição de chave única na tabela, que também evita que você fique perdendo tempo e matutando com coisas que já têm a solução pronta, no mínimo, uns 10 anos atrás... Ok? * (pessoal... me ajuda aí... acho que a primeira vez que vi um campo autoinc foi com paradox quando escrevia programas em turbo-pascal lá pelo de 1994 eu acho... mas acho que o Paradox surgiu ainda nos anos 80... agora... quando surgiu o campo autoinc?)
  16. Não há nada de mal em usar .dbf... Inclusive, você pode usar autoinc nas suas tabelas .dbf, apenas observando que não conseguiria mais abrí-las com o Clipper ou dBaseIIIPlus, pois elas passariam a ser VisualDbase7... Bom... quando ao seu código... eu iria talvez preferir usar isso: No OnExit do campo Codigo no form: Try codigoEdit.Text := FormatFloat('00000', StrToInt(codigoEdit.Text)); Except ShowMessage('O Código digitado não é válido. Será preenchido com zeros!'); codigoEdit.Text := '00000'; End; Ok? Espero haver ajudado...
  17. Oi Pessoal... Editei a mensagem e consegui incluir a imagem da temperatura (a anterior não conseguia ser exibida diretamente por bloqueio pelo Tripod)... Ok?
  18. Este código não evita nada... serve, sim, para pesquisar um usuário... Qual é realmente o código que cadastra o usuário (o que tem o comando Insert)? (pois o problema está nele e não no código que você colocou na mensagem)... * Se você definir que o campo "login" seja um campo chave, e único, mesmo que não queira controlar a inclusão, o próprio banco de dados impedirá que um mesmo nome seja cadastrado novamente... se sua tabela está no MySQL, poderia fazer isso: ALTER TABLE `acmd`.`usuarios` add unique index login(`login`); Ok?
  19. Olá... Na comparação, deve usar like Dando uma arrumada no seu código: Procedure tDataModule8.select(disciplina:tDisciplina); Var iRegistros: LongInt; Begin With Query1 do Begin Close; SQL.Clear(); SQL.Add('select codigo, nome '); SQL.Add('from disciplina '); if disciplina.nome<>'' then SQL.Add('where nome like "'+disciplina.nome+'%" '); {EndIf disciplina...} SQL.Add('order by nome;'); Try Open; iRegistros := RecordCount; Except SQL.SaveToFile('c:\temp\query_com_erro.sql'); iRegistros := -1; End; Close; End;{With Query1} If iRegistros<0 then ShowMessage('Falha na Query... examine o '+ 'arquivo c:\temp\query_com_erro.sql') Else If iRegistros=0 then ShowMessage('Não há ocorrências da disciplina!') Else If iRegistros=1 then ShowMessage('Existe apenas uma disciplina!') Else ShowMessage('Existem '+IntToStr(iRegistros)+' disciplinas!'); {EndIf iRegistros<0} End; O arquivo gravado em caso de erro permite que você consulte o resultado da query usando, por exemplo, o DBExplorer... Ok?
  20. Olá... Não vou sugerir que você não faça andanças pelo Google ou pelo Yahoo... agora, vou sugerir que você pegue o guia do próprio MySQL que é uma, digo duas, digo quatro ou dez mãos-na-roda!... Veja um trecho: ****************** 1.9.5.5. Foreign Keys In MySQL Server 3.23.44 and up, the InnoDB storage engine supports checking of foreign key constraints, including CASCADE, ON DELETE, and ON UPDATE. See Section 14.2.6.4, “FOREIGN KEY Constraints”. For storage engines other than InnoDB, MySQL Server parses the FOREIGN KEY syntax in CREATE TABLE statements, but does not use or store it. In the future, the implementation will be extended to store this information in the table specification file so that it may be retrieved by mysqldump and ODBC. At a later stage, foreign key constraints will be implemented for MyISAM tables as well. Foreign key enforcement offers several benefits to database developers: Assuming proper design of the relationships, foreign key constraints make it more difficult for a programmer to introduce an inconsistency into the database. Centralized checking of constraints by the database server makes it unnecessary to perform these checks on the application side. This eliminates the possibility that different applications may not all check the constraints in the same way. Using cascading updates and deletes can simplify the application code. Properly designed foreign key rules aid in documenting relationships between tables. ****************** * Em tempo... eu uso a versão em inglês, mas existe também a versão em português... ok? Não deixa de dar uma olhada... E seja bem-vindo!
  21. Ô Eduardo... Esses dados, obvia e naturalmente, você não pode obter... a não ser que invada os computadores... Então, o que você tem que fazer é criar seu próprio Trojan para obter os dados que precisa... Onde trabalho, os computadores, usuários, softwares instalados e alterações no hardware são monitorados pelo TraumaZero... e alguns antivirus (Avira e McAfee, p.e.) o consideram como um Trojan... Esse monitoramento permite até saber se um computador "andou" de um prédio para outro ou de um andar para outro, através do cruzamento do IP x mac x roteador... Procurando saber mais sobre esse programa (e outros... o Landesk também oferece esses recursos), você poderá dimensionar melhor aquilo que pretende e a idéia de criar o programa como um serviço, parece válida... Ok?
  22. paulobergo

    Conexão Remota

    Olá... Bom... é só uma idéia se você ainda estiver começando... Usando o MySQL, não há necessidade de VPNs... Você consegue um excelente desempenho até com um ADSL de 64k com IP dinâmico via DynDNS... Com o MySQL você só precisa que o seu servidor tenha um IP Válido. Tudo que desenvolvo hoje faço com o MySQL (5.0.27 é a versão que adoto atualmente)... mas dou suporte e assistência para outros com Firebird, SQLServer, Oracle, Post, VisualDBase, Clipper, etc... Se precisar de mais detalhes, posta aí... Ok?
  23. Bom dia pessoal... Além do desenvolvimento, eu também monitoro a temperatura de um datacenter, através de uma web-cam que fotografa o display do termômetro e atualiza uma página. Vejam uma foto: Bom... então, o que preciso é fazer um pequeno módulo no Delphi que obtenha a imagem e consiga "enxergar" 20 graus, como no caso da foto... creio que daria para fazer isso lendo a propriedade "cor" de um ou mais pixels... Então, alguém tem idéia de como saber a cor ou tonalidade de um pixel? (no caso, para diferenciar o cinza-escuro do cinza-claro da temperadura na foto)... Alguma idéia? Grato e Abraços!
  24. Use subqueries... veja o exemplo: select idcontato, substring(nome from 1 for 10) as nome, telefone, telefone_b, telefone_c from contato left outer join (select idcontato as id_b, telefone as telefone_b from contato ) as lista_b on (contato.idcontato=lista_b.id_b) left outer join (select idcontato as idc, telefone as telefone_c from contato ) as lista_c on (contato.idcontato=lista_c.idc) limit 10; Resultado, com algumas pessoas com um ou dois ou três telefones. +-----------+------------+-------------+-------------+-------------+ | idcontato | nome | telefone | telefone_b | telefone_c | +-----------+------------+-------------+-------------+-------------+ | 11612 | MARIANE DE | 21 14344901 | | | | 11613 | EVANGELINA | 21 26114806 | | | | 11614 | EDINELSON | 21 36329904 | | | | 11615 | CAROLINA D | 11 18145091 | 11 44203042 | | | 11616 | NATIRA SIL | 11 31314365 | | | | 11617 | EDNAMARA O | 11 48012474 | | | | 11618 | CARLOTA JO | 31 57134828 | 31 44231122 | 31 42344555 | | 11619 | MAURO MEND | 31 14674866 | 31 31444223 | 31 34123322 | | 11620 | JORGE DOS | 31 42767041 | | | | 11621 | EVILAZIO DE| 31 12744867 | | | +-----------+------------+-------------+-------------+-------------+ 10 rows in set (0.10 sec)
  25. A resposta está na sua própria pergunta... Quais os filmes que têm no resumo a palavra “Parker” e não têm a palavra “Maguire”? selecione os filmes desde que (resumo contenha "parker") e (resumo não contenha "maquire") ou, em sql select substring(resumo, 1, 36) as resumo from filmes where ( resumo like "%parker%" ) and (not resumo like "%maguire%"); +--------------------------------------+ | resumo | +--------------------------------------+ | sarah parker and andy garcia | | jonh parker and debby macgore | | roger parker and michelle didier | +--------------------------------------+ e isso: select substring(resumo, 1, 36) as resumo from filmes where (resumo like "%parker%" ) and (resumo like "%maguire%"); +--------------------------------------+ | resumo | +--------------------------------------+ | robert parker and jason maguire | | the parkers and ted maguire | +--------------------------------------+ Ok? agora... isso aí é bê-a-bá...
×
×
  • Criar Novo...