Ir para conteúdo
Fórum Script Brasil

Douglas Soares

Veteranos
  • Total de itens

    864
  • Registro em

  • Última visita

Tudo que Douglas Soares postou

  1. Realmente o windows 7 tem esse bug dos infernos, consegui resolver usando o JvFileListBox da biblioteca JVCL, dai eu dou um refresh no componente e em seguida checo o tamanho do arquivo :rolleyes: !!!! Obrigado por toda ajuda prestada!
  2. Tipo, pra emular você teria que ter o InnoSetup e o ISTool, dai você poe pra compilar qualquer coisa e fica olhando a pasta que o executavel esta sendo compilado... daí você ve se ele muda de tamanho sempre ou só quando começa e quando termina.... no meu xp ele muda sempre, mas aqui no win 7 ele só muda quando começa e quando termina.... :unsure:
  3. O Problema é que assim ele não muda o valor nunca... o que quero fazer é tipo uma barra de progresso... o valor total é mais ou menos 10 megas... dai eu coloco isso no max do gauge... e o progress do gauge eu coloco o tamanho do arquivo usando a função GetFileSize... só que ela retorna sempre o mesmo valor, dai fica sempre parada a barrinha... o problema é que no windows xp funciona, mas no windows 7 não funciona... ele não atualiza os arquivos em tempo real... (é um bug)... por isso queria atualizar a pasta, se eu deixo ela aberta e fico apertando F5, a barrinha do programa atualiza normal.... Deu pra entender??? Obrigado!
  4. Bom dia... estou com um grande problema aqui... tenho um programa que compila um instalador do inno setup via linha de comando... pra pegar a porcetagem eu pego o tamanho atual do arquivo, até chegar ao tamanho completo... só que pra isso o windows tem que atualizar a pasta do executavel toda hora... até o windows xp meu programa funcionava, mas agora no windows 7 ele não atualiza mais... peguei um código na net: SetForegroundWindow(FindWindow(nil, 'Sigi')); SendKeys('{F5}', True); Realmente funciona, porém a pasta tem que estar aberta, e quando executo esse comando a pasta vem pra frente da aplicação...ou seja, é inutil... Como eu faria para atualizar essa pasta via código, mas sem a pasta vir na frente da aplicação... ela pode até ficar aberta se for o caso! Abraços
  5. Na verdade você perdeu porque postou aqui, ou seja você lembrou!!!! e eu também perdi ¬¬
  6. Faça uma pesquisa no fórum: http://scriptbrasil.com.br/forum/index.php...te=quick+report Abraços
  7. Douglas Soares

    Bate Papo

    Saudações Corinthianas!!!! 2x0 pra vocês, fora o baile! Vlw
  8. JOGO 01: AVAI-SC JOGO 02: FLAMENGO-RJ JOGO 03: VITORIA-BA JOGO 04: são PAULO-SP JOGO 05: SANTOS-SP JOGO 06: EMPATE JOGO 07: ATLETICO-MG JOGO 08: INTERNACIONAL-RS JOGO 09: EMPATE JOGO 10: ATLETICO-GO
  9. Não dá pra mim te ajudar agora se eu não tiver acesso ao site... não sei nem como se cadastrar, tá numa linguagem de outro mundo rsrsrs... se você tiver um login e senha e me explicar o que tenho que clicar talvez eu possa ajudar!
  10. no ExecuteScript você tá passando uma função javascript ou outra coisa???
  11. Aqui você checa se o webbrowser estiver nessa url: if URL = 'http://yonja.com/ApplicationPreview.jsp?app=22' then porém essa url http://yonja.com/ApplicationPreview.jsp?app=22 pode estar incorreta! por isso você tem que fazer um showmessage dentro, assim ó: if URL = 'http://yonja.com/ApplicationPreview.jsp?app=22' then begin ShowMessage('Entrei!'); script := 'open_link(_help_link);'; ExecuteScript(WebBrowser1.Document as IHTMLDocument2, script, 'javascript'); end; Caso não dê essa mensagem, quer dizer que a url está incorreta! Abraços
  12. Sei que a intenção é ajudar, porém responder um tópico de 2006 é complicado hehehe, não tem necessidade não é? :P !
  13. Esse erro na maioria das vezes é porque a linha de cima está faltando ponto e virgula no final! java não! javascript... isso é a chamada para uma função em javascript! Não abriu o link help pois a url que você colocou deve estar errada! Dá um showmessage dentro pra ver, e se ele não der a mensagem quer dizer que não entrou dentro do IF. Daí você pega e da um showmessage na var URL e descobre qual o verdadeiro link que você tem que colocar no if! Abraços
  14. Acho que pelo registro deve ter jeito, o problema é descobrir onde... você pode tentar fazer um webbrowser... mas pra isso teria que baixar a api do firefox para que o webbrowser comum seja substituido pelo do firefox!... daí quem sabe funcionaria.... ou então você pode tentar fazer um plugin pro firefox, hehehe
  15. Tenta assim então ó: DM.ClientDataSet.Params.ParamByName(‘CODIGO’).IsNull; Abraços
  16. no OnDocumentComplete do WebBrowser, acrescente uma variável chamada script do tipo string, depois adicione essa procedure no seu form: procedure ExecuteScript(doc: IHTMLDocument2; script: string; language: string); begin if doc <> nil then begin if doc.parentWindow <> nil then doc.parentWindow.ExecScript(script, Olevariant(language)); end; end; Agora você faz um teste... lá no OnDocumentComplete do WebBrowser, depois que fizer o processo de logar você vai checar se a url é = a url que ele vai quando loga no site: if URL = 'http://yonja.com/pagina' then begin script := 'gd_os_friends.prepare(0,true,'gd_os_friends.send_chips');'; ExecuteScript(WebBrowser1.Document as IHTMLDocument2, script, 'javascript'); end; Abraços
  17. O que você tem que fazer é entrar na página com o WebBrowser... Veja se tem todas essas Uses declaradas no seu projeto: uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw, StdCtrls, ExtCtrls, MSHTML, Buttons, ComObj; Agora coloque um componente WebBrowser no form. Em seguida adicione essas 2 funções ao seu projeto: function GetFormByNumber(document: IHTMLDocument2; formNumber: integer): IHTMLFormElement; var forms: IHTMLElementCollection; begin forms := document.Forms as IHTMLElementCollection; if formNumber < forms.Length then result := forms.Item(formNumber,'') as IHTMLFormElement else result := nil; end; procedure SetFieldValue(theForm: IHTMLFormElement; const fieldName: string; const newValue: string; const instance: integer=0); var field: IHTMLElement; inputField: IHTMLInputElement; selectField: IHTMLSelectElement; textField: IHTMLTextAreaElement; begin field := theForm.Item(fieldName,instance) as IHTMLElement; if Assigned(field) then begin if field.tagName = 'INPUT' then begin inputField := field as IHTMLInputElement; if (inputField.type_ <> 'radio') and (inputField.type_ <> 'checkbox') then inputField.value := newValue else inputField.checked := (newValue = 'checked'); end else if field.tagName = 'SELECT' then begin selectField := field as IHTMLSelectElement; selectField.value := newValue; end else if field.tagName = 'TEXTAREA' then begin textField := field as IHTMLTextAreaElement; textField.value := newValue; end; end; end; No evento OnShow do seu form você coloca isso: WebBrowser1.Navigate('http://yonja.com/'); E agora vá no evento OnDocumentComplete do componente WebBrowser e coloque isso: var document: IHTMLDocument2; theForm: IHTMLFormElement; index: integer; begin if (URL = 'http://yonja.com/') or (URL = 'http://www5.yonja.com/Login.jsp') then begin try WebBrowser1.OleObject.Document.All.Tags('input').item('nickname').value := 'usuario'; WebBrowser1.OleObject.Document.All.Tags('input').item('password').value := 'senha123'; document := WebBrowser1.Document as IHTMLDocument2; theForm := GetFormByNumber(document,0); SetFieldValue(theForm,'Form1', 'Login.jps'); theForm.submit; except end; end; P.S: não se esqueça de trocar o usuario e senha123 pelos respectivos dados! Abraços
  18. Adicione o instalador do firebird nos arquivos de instalação do InnoSetup, depois vá em executar na instalação e adicione o arquivo do firebird (o mesmo que já esta adicionado na lista de arquivos), e então se quiser colocar o parametro /SILENT ele vai executar em silencio... sem pedir nada, caso não queira instalar o aplicativo no painel de controle daí use /SILENT /NOCPL ou somente /NOCPL Abraços
  19. Tente fazer isso com o WebBrowser, veja os links abaixo: http://www.planetadelphi.com.br/artigo/97/...-pr%C3%A1tica./ http://aflsistemas.com.br/blog/2009/04/07/...-do-webbrowser/ Abraços
  20. Claro que vai dar o erro, pois você está passando um valor nulo para um campo que deve ser integer e primarykey, tente passar um número qualquer que você tenha em seu banco de dados e teste! dmTeste.ClientDataSetTeste.FetchParams; dmTeste.ClientDataSetTeste.Params.ParamByName('NUMERO').Value := 1; { ou dmTeste.SQLQuery.Params.ParamByName('NUMERO').Value := 1; } Abraços
  21. Primeiro vamos encolher um pouquinho a query assim: select a.id_fun, a.nome, b.cidade, c.estado from funcionario a, cidade b, estado c where a.id_cid = b.id_cid and a.id_est = c.id_est Você disse que a tabela ESTOQUEITEM não funciona corretamente, porém na query acima eu não vi você utilizando ela... tem como você postar a query com essa tabela adicionada pra podermos vizualizar o que está ocorrendo? Abraços
  22. Pelo firebird eu posso ir no ibexpert e alterar, ou então pela aplicação eu faço o seguinte... descubro o tipo do campo com essa query monstruosa: SELECT DISTINCT A.RDB$FIELD_POSITION AS ORDER_ID, A.RDB$FIELD_NAME AS F_NAME, B.RDB$FIELD_TYPE, B.RDB$FIELD_SCALE, B.RDB$CHARACTER_LENGTH, CASE WHEN B.RDB$FIELD_PRECISION > 0 THEN 'NUMERIC('||CAST(B.RDB$FIELD_PRECISION AS VARCHAR(2))||','||CAST(B.RDB$FIELD_SCALE*-1 AS VARCHAR(2))||')' WHEN C.RDB$TYPE_NAME='LONG' THEN 'INTEGER' WHEN C.RDB$TYPE_NAME='SHORT' THEN 'SMALLINT' WHEN C.RDB$TYPE_NAME='VARYING' THEN 'VARCHAR('||B.RDB$CHARACTER_LENGTH||')' WHEN C.RDB$TYPE_NAME='TEXT' THEN 'CHAR('||B.RDB$CHARACTER_LENGTH||')' WHEN C.RDB$TYPE_NAME='BLOB' THEN 'BLOB SUB_TYPE '||CAST(B.RDB$FIELD_SUB_TYPE AS CHAR(1)) ELSE C.RDB$TYPE_NAME END AS F_TIPO, CASE WHEN A.RDB$NULL_FLAG IS NULL THEN '' ELSE 'NOT NULL' END AS F_NULL, F.RDB$FIELD_NAME AS F_PRIMARY FROM RDB$RELATION_FIELDS A LEFT JOIN RDB$FIELDS B ON A.RDB$FIELD_SOURCE=B.RDB$FIELD_NAME LEFT JOIN RDB$TYPES C ON C.RDB$FIELD_NAME='RDB$FIELD_TYPE' AND B.RDB$FIELD_TYPE=C.RDB$TYPE LEFT JOIN RDB$RELATION_CONSTRAINTS E ON A.RDB$RELATION_NAME=E.RDB$RELATION_NAME AND E.RDB$CONSTRAINT_TYPE='PRIMARY KEY' LEFT JOIN RDB$INDEX_SEGMENTS F ON E.RDB$INDEX_NAME=F.RDB$INDEX_NAME AND A.RDB$FIELD_NAME=F.RDB$FIELD_NAME WHERE A.RDB$RELATION_NAME = 'TABELA' AND A.RDB$FIELD_NAME = 'CAMPO' Substitua TABELA pela sua tabela, e CAMPO pelo seu campo. Pra checar o tipo de campo faça assim: if qry1.FieldByName('F_TIPO').Text = 'LongInt'then begin // Código aqui! end; Agora você faz o seguinte, se ver que o tipo é longint ou outra tipo que você queira alterar, você pega e cria um novo campo e passa os dados pra ele, então você apaga o campo velho, cria ele denovo mas no tipo certo e então passa os dados do campo temporário para ele, daí é só você apagar o campo temporario que fica certo! Abraços
  23. Experimente usar o TJvBitBtn para essa finalidade! Abraços
  24. Essa você poderia ter descoberto eim :P var a, b : integer; begin a := length(edt_endereco.Text); b := pos(',', edt_endereco.Text); edt_numero.Text := Trim(copy(edt_endereco.Text, 1, b - 1)); end; Abraços
  25. Veja esses links: http://www.firebase.com.br/fb/artigo.php?id=584 http://www.firebase.com.br/fb/artigo.php?id=895 http://www.ramosdainformatica.com.br/art_r...s01.php?CDA=694 Abraços
×
×
  • Criar Novo...