Ir para conteúdo
Fórum Script Brasil

Jhonas

Monitores
  • Total de itens

    9.657
  • Registro em

Tudo que Jhonas postou

  1. Eu te mostrei a lista de parametros que voce pode usar no seu código exempo: WS_EX_APPWINDOW Forces a top-level window onto the taskbar when the window is visible. Força uma janela no topo sobre a barra de tarefa quando a janela é visível. outro exemplo: WS_EX_TOPMOST Specifies that a window created with this style should be placed above all non topmost windows and should stay above them, even when the window is deactivated. To add or remove this style, use the SetWindowPos function. Especifica que uma janela criada com este estilo deveria ser colocada acima de todas as outras janelas e deveria ficar sobre elas, até mesmo quando a janela é desativada. Para adicionar ou remover este estilo, use a função de SetWindowPos. abraço
  2. Jhonas

    Quick Report

    O preview não possui esta propriedade... voce teria que construir um preview personalizado aproveitando a resposta do nosso amigo Micheus abraço
  3. LogN function Calcula logaritmo na base N. function LogN(N, X: Extended): Extended; Descrição LogN retorna o log base N de X. ........................................................... Log10 function Calcula o logaritmo na base 10. function Log10(X: Extended): Extended; Descrição Log10 retorna o log base 10 de X. abraço
  4. Uma das maneiras de se fazer: procedure TForm1.Button1Click(Sender: TObject); var S, ST : string; i : integer; begin ST := ''; for i := 0 to memo1.Lines.Count do begin S := memo1.Lines.Strings[i]; while Pos('name=', S) > 0 do begin delete(s,Pos('name=', S),5); delete(s,Pos('></TD></TR>', S),11); end; st := ST + s + #13; end; memo1.clear; memo1.Lines.text := st; end; abraço
  5. Se o seu windows não é original e voce fez alguma atualização do windows, provavelmente uma das atualizações (KB...) não irá deixar voce instalar este programa ... entretanto vale lembrar que muitos programas beta, tem muitos bugs não solucionados e uma versão mais antiga já sem esses bugs pode funcionar normalmente. abraço
  6. No botão liga-desliga Verifique se a fonte usada no relatório existe na impressora, caso contrário não irá imprimir nada abraço
  7. Instalando e configurando o Squid http://br.geocities.com/cesarakg/installin...ring-squid.html abraço
  8. Jhonas

    limitando a rede

    Há várias maneiras de fazer o que deseja; entre elas a instalação de três placas de rede no servidor. Outra maneira é mudar a máscara de sub-rede do TCP/IP. Uma rede usa a seqüência 192.168.1.x e a outra rede usa a série 192.168.0.x. Ambas usariam o Gateway em 192.168.0.1 e em 192.168.1.1, através de roteamento NAT. Outra solução seria usar grupos de trabalho diferentes para cada rede. Com isto uma rede veria a outra mas não conseguiria ler os arquivos ou mapear os drivers. Outra solução é colocar um Firewall no compartilhamento de Internet, definindo as regras de acesso estação por estação, por usuário ou por grupo. No caso relatado, provavelmente está sendo feito compartilhamento de Internet usando o ICS do Windows, que coloca a placa de rede ligada à rede local automaticamente no IP 192.168.0.1. Ao instalar a terceira placa, ela assume este IP e desconecta a rede antiga. abraço
  9. Use o assistente do windows para criar a rede para poder distribuir o sinal para os outros micros entre em Meu Computador - Meus locais de rede - Configurar uma rede doméstica ou de pequena empresa abraço
  10. Jhonas

    Protocolo Modbus

    Como fazer a comunicação com o Modbus: http://www.lcds.com.br/comunicacaoserial.asp http://www.crompton-instruments.com/rs485.pdf http://faq.novus.com.br:8080/phpmyfaq/pdf....&lang=pt-br http://www.prosoft-technology.com/content/...CM.OO.01.PO.pdf abraço
  11. uma das soluções é voce fazer um código em php para entrada automatica de logim e senha Outras informações http://inatitude.wordpress.com/2007/10/09/...-para-seu-site/ abraço
  12. Se postar o erro fica facil alguém lhe ajudar. abraço
  13. dm.q_telefones.close; dm.q_telefones.SQL.clear; dm.q_telefones.SQL.add('select * from tbl_telefones where empresa like '''+ Edit1.Text + '%'''); dm.q_telefones.Prepared; dm.q_telefones.open; Edit1.Clear; basta fazer esta modificação no código: dm.q_telefones.close; dm.q_telefones.SQL.clear; dm.q_telefones.SQL.add('select * from tbl_telefones where empresa like '''+'%'+ Edit1.Text + '%'''); dm.q_telefones.Prepared; dm.q_telefones.open; Edit1.Clear; abraço
  14. funciona para o interbase, firebird, paradox, mysql, dbase, etc abraço
  15. OBS : se eu fechar todo o programa e abrir de novo Corresponde a dizer que se voce fechar e abrir a tabela eles vão aparecer ... ou voce pode dar um refresh na tabela exemplo: dm.tblCadForn.Post; dm.tblCadForn.Last; dm.tblCadForn.Refresh; abraço
  16. A Bematech disponibiliza 3 componentes de comunicação WEB para as impressoras fiscais, não fiscais e de cheques. Seguem os links, caso deseje utiliza-los. BemaFisc.ocx OCX de comunicação com a BemaFI32.dll para acesso às impressoras fiscais Bematech na WEB. Acompanha um exemplo em VBScript, JavaScript e HTML. http://www.bematech.com.br/suporte/downloa...in/BEMAFISC.zip Importante: Faça o download da BemaFI32.dll para uso com esta OCX. http://www.bematech.com.br/suporte/downloa...in/BEMAFI32.zip BemaMP32.ocx OCX de comunicação com a Mp2032.dll para o acesso as impressoras não-fiscais da Bematech na WEB. Acompanha um exemplo em VBScript, JavaScript e HTML. http://www.bematech.com.br/suporte/downloa...in/bemaMP32.zip Importante: Faça o download da MP2032.dll para uso com esta OCX. http://www.bematech.com.br/suporte/downloa..._win/mp2032.zip Componente WEB Componente WEB para a impressão de cheques. Utiliza a DLL BemaDP32.DLL. Acompanha exemplo em VBScript, JavaScript e HTML. http://www.bematech.com.br/suporte/downloa...s/bemadpweb.zip Importante: Faça o download da BemaDP32.dll para uso com esta OCX. http://www.bematech.com.br/suporte/downloa...ws/BEMADP32.zip Ats, André Munhoz andre.munhoz@bematech.com.br ------------------------------------------------------------------------------------------------- abraço
  17. Veja nestes endereços: http://www.forum-invasao.com.br/novo/viewt...73&p=102497 http://www.juliobattisti.com.br/artigos/windows/tcpip_p4.asp http://www.freecode.com.br/forum/index.php?showtopic=6686 abraço
  18. É possivel, mas voce terá que usar o componente Webbrowser do delphi .... que através dele será chamada a pagina que voce quer submeter os dados digitados pelo programa. Neste exemplo que achei na internet, o cara quer transportar o CNPJ e o CPF para a pagina da receita ... estude o codigo e faça as modificações que necessarias para o seu uso. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw, MSHTML, StdCtrls,shellapi, Buttons; type TForm1 = class(TForm) GroupBox1: TGroupBox; LabelCNPJ: TLabel; LabelCPF: TLabel; LabelNR_Proc: TLabel; EdtCNPJ: TEdit; EdtCPF: TEdit; EdtNr_Proc: TEdit; BtnEnviar: TButton; GroupBox2: TGroupBox; WebBrowser1: TWebBrowser; procedure BtnEnviarClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function ExecuteScript(doc: IHTMLDocument2; script: string; language: string): Boolean; var win: IHTMLWindow2; Olelanguage: Olevariant; begin if doc <> nil then begin try win := doc.parentWindow; if win <> nil then begin try Olelanguage := language; win.ExecScript(script, Olelanguage); finally win := nil; end; end; finally doc := nil; end; end; end; procedure FillInGMXFormsCNPJ(WB: ShDocVW.IWebbrowser2; IDoc1: IHTMLDocument2; Document: Variant; P_CNPJ : string); const IEFields: array[1..2] of string = ('INPUT', 'text'); var IEFieldsCounter: Integer; i: Integer; m: Integer; ovElements: OleVariant; begin if Pos('Receita Federal', Document.Title) <> 0 then while WB.ReadyState <> READYSTATE_COMPLETE do Application.ProcessMessages; // contar os elementos e interagir por suas formas IEFieldsCounter := 0; for m := 0 to Document.forms.Length - 1 do begin ovElements := Document.forms.Item(m).elements; // interagir por elemento try // preencher os campos if (ovElements.item(0).tagName = IEFields[1]) and (ovElements.item(0).type = IEFields[2]) then begin ovElements.item(0).Value := P_CNPJ; Inc(IEFieldsCounter); end; except // falha... end; end; // se o campo estiver preenchido. if IEFieldsCounter = 3 then ExecuteScript(iDoc1,'','JavaScript'); end; {procedure FillInGMXFormsCPF(WB: ShDocVW.IWebbrowser2; IDoc1: IHTMLDocument2; Document: Variant; P_CPF : string); const IEFields: array[1..2] of string = ('INPUT', 'text'); var IEFieldsCounter: Integer; i: Integer; m: Integer; ovElements: OleVariant; begin if Pos('Receita Federal', Document.Title) <> 0 then while WB.ReadyState <> READYSTATE_COMPLETE do Application.ProcessMessages; // contar os elementos e interagir por suas formas IEFieldsCounter := 0; for m := 0 to Document.forms.Length - 1 do begin ovElements := Document.forms.Item(m).elements; // interagir por elemento try // preencher os campos if (ovElements.item(0).tagName = IEFields[1]) and (ovElements.item(0).type = IEFields[2]) then begin ovElements.item(0).Value := P_CPF; Inc(IEFieldsCounter); end; except // falha... end; end; // se o campo estiver preenchido. if IEFieldsCounter = 3 then ExecuteScript(iDoc1,'','JavaScript'); end;} procedure TForm1.BtnEnviarClick(Sender: TObject); var IDoc1: IHTMLDocument2; Web: ShDocVW.IWebBrowser2; VEdtCNPJ, VEdtCPF : String; begin Webbrowser1.Navigate('https://www8.receita.fazenda.gov.br/SimplesNacional/controleacesso/autentica.aspx?id=5'); while Webbrowser1.ReadyState <> READYSTATE_COMPLETE do Application.ProcessMessages; Webbrowser1.Document.QueryInterface(IHTMLDocument2, iDoc1); Web := WebBrowser1.ControlInterface; vEdtCNPJ := EdtCNPJ.Text; FillInGMXFormsCNPJ(Web, iDoc1, Webbrowser1.Document, vEdtCNPJ);//transporta o nr do edit CNPJ para o site da RF //vEdtCPF := EdtCPF.Text; //FillInGMXFormsCPF(Web, iDoc1, Webbrowser1.Document, vEdtCPF);//transporta o nr do edit CPF para o site da RF end; end. ...................................................................................... sem ela não conseguiria, pois não saberia interagir entre os forms, o que é necessário para você achar as item.tagname e item.name e item.type, tive que modificar a função para que achasse corretamente o CNPJ... tive que estudar o código html tb... eis ai um pedaço dele... Código: <input name="txtCNPJ" type="text" maxlength="14" id="txtCNPJ" tabindex="1" class="caixaTexto" onfocus="mostraTip('TiptxtCNPJ'); cara pensei que não ia conseguir, até que vi que tinha iteragir com os forms e que nem sempre o codigo somente contém apenas um form que no caso da funçào estava estava 0 (zero) e por isso o único que esta no form zero é caixa de texto de pesquisa... usei isto para saber em qual form estava... Código: Form1.Memo1.Lines.Add('Elemento: <Nº> '+IntToStr(I)); Form1.Memo1.Lines.Add('Elemento: <Name> '+ovElements.Item(I).name); Form1.Memo1.Lines.Add('Elemento: <Type> '+ovElements.Item(I).type); Form1.Memo1.Lines.Add('Elemento: <Id> '+ovElements.Item(I).id); veja uma função para mostrar os forms.. 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; outro exemplo: Fill form HTML web page form fields and submit DELPHIZones: estou usando o TWebBrowser para procurar e preencher os campos de um form WEB e submeter os comandos function FillForm(WebBrowser: TWebBrowser; FieldName: string; Value: string): Boolean; var i, j: Integer; FormItem: Variant; begin Result := False; //no form on document if WebBrowser.OleObject.Document.all.tags('FORM').Length = 0 then begin Showmessage('nera formu'); Exit; end; //count forms on document for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do begin FormItem := WebBrowser.OleObject.Document.forms.Item(I); for j := 0 to FormItem.Length - 1 do begin try //when the fieldname is found, try to fill out if FormItem.Item(j).Name = FieldName then begin FormItem.Item(j).Value := Value; Result := True; end; except ShowMessage('ajajai klaida'); Exit; end; end; end; end; // Step Number 1 // loading page procedure TfrmMain.Button1Click(Sender: TObject); begin WebBrowser1.Navigate(edDest.Text); end; // Step Number 2 // filling and submiting form procedure TfrmMain.Button2Click(Sender: TObject); const fields: array[1..11] of string=('title', 'location', 'description', 'age', 'contact_email', 'first_name', 'last_name', 'user_phone', 'user_email', 'password', 'policy_accepted'); values: array[1..11] of string=('title geras cia yra', 'lokacija', 'Deskripcija', '18', 'exga@yahoo.com', 'Ixmamud', 'ehmeda', '348665954', 'Car@yahoo.com', '123456789', '1'); var theForm: IHTMLFormElement; document: IHTMLDocument2; i: integer; begin // fill form fields for i:=1 to Length(fields) do begin if FillForm(WebBrowser1, fields[i], values[i]) = False then Showmessage ('Your Form could not be Filled !') end; // submit form document := WebBrowser1.Document as IHTMLDocument2; theForm := GetFormByNumber(document, 0); TheForm.submit; end; end; OBS : Testei este código e ele realmente preenche os campos da pagina sem ter que digitar ( delphi 7 ) para preencher login e senha voce terá que fazer algumas modificações no código voce pode procurar no Google pela palavra: Fill form HTML web page form fields and submit abraço
  19. É só baixar o codigo https://www.scriptbrasil.com.br/script/java...ir%20pagina.zip abraço
  20. Jhonas

    SOCKET e Conexao

    Seja mais completo em suas informações: Usa internet ? qual é o roteador e modem ? compartilha a rede interna com a internet ? os IPs são dinâmicos ou são fixos ? esta usando componentes sockets ? qual a versão do seu delphi ? etc.... com informações mais precisas, alguém pode lhe ajudar. abraço
  21. Veja este post http://scriptbrasil.com.br/forum/index.php...st&p=440847 abraço
  22. Reveja esta parte do código: procedure TForm1.Timer3Timer(Sender: TObject); var WND: HWND; ProcessId: DWORD; BytesWritten: DWORD; hProcess: THandle; i: Integer; Write: DWORD; begin WND := FindWindow('BlaBla', nil); Write := 0; if WND <> 0 then begin GetWindowThreadProcessId(WND, @ProcessId); hProcess := OpenProcess(PROCESS_ALL_ACCESS, False, ProcessId); try if hProcess = INVALID_HANDLE_VALUE then begin raise Exception.Create('Invalid Handle'); exit; end; finally CloseHandle(hProcess); Timer3.Enabled := False; end; end; end; end. abraço
  23. Jhonas

    Delphi oo Query

    procedure tControladorDisciplina.insert(disciplina: tDisciplina); begin try if disciplina.nome = '' then raise eErroException.create('Informar o Nome.'); if self.existeDisciplina(disciplina)then raise eErroException.create('Disciplina já Existe'); self.acessoDisciplina.insert(disciplina); except raise; end; end; mas quando eu faço a validação no controladorDisciplina e rodo o programa qualquer disciplina q eu tento adicionar abri a execeção como se ela já existise creio q falta mas alguma coisa na fução da classe Acesso, por favor alguém pode me informar OBS: Se a discipina já existe então é só fazer o insert procedure tControladorDisciplina.insert(disciplina: tDisciplina); begin try if disciplina.nome = '' then raise eErroException.create('Informar o Nome.'); if self.existeDisciplina(disciplina) then self.acessoDisciplina.insert(disciplina); except raise; end; end; abraço
  24. Gabriel ... voce vai achar a resposta neste endereço http://msdn.microsoft.com/en-us/library/ms632680(VS.85).aspx abraço
  25. Provavelmente não encontrou a sua tabela ( View ) // tabela Q_TAB_FROM_VIEW18 DMSISRET.Q_TAB_FROM_VIEW18_VOTO.next; como que ele não está achando a tabela ... a tabela é essa mesma TAB_FROM_VIEW18 ela é uma copia de uma VIEW Sera que estamos falando da mesma tabela ? abraço
×
×
  • Criar Novo...