Ir para conteúdo
Fórum Script Brasil

Churc

Veteranos
  • Total de itens

    1.198
  • Registro em

  • Última visita

Tudo que Churc postou

  1. opa se possível faça apenas um tópico amigo, senão o fórum fica zuado... http://scriptbrasil.com.br/forum/index.php?showtopic=85754# abraços
  2. Churc

    Erros Em Ends

    opa procedure TForm3.Edit3Change(Sender: TObject); begin if form2.RadioGroup1.ItemIndex=0 then edit1.text:='1' else edit5.Text:='0' end; pra texto(string) você precisa colocar entre '' senão o delphi interpreta como inteiro... abraços
  3. opa de um loop na sua tabela, inicie uma variável do tipo integer, o valor inicial dela é 1, então pra cada campo que o loop passar, você passa o valor pra + 1 e joga no campo CAMPO_REG. exemplo bem simples espero que compreenda usei InttoStr pois não sei que tipo o campo CAMPO_REG é, no exemplo abaixo seria como texto var i: Integer; begin i := 1; while not table1.eof do begin ..... table1.fieldbyname('CAMPO_REG').value := InttoStr(i); i := i + 1; end; .... mais ou menos isso, não tem como eu testar aqui qlq coisa posta ai que mais gente te ajuda também abraços
  4. opa adicione em uses ShlObj; function meusdocpath: string; var pidl : PItemIDList; path : array [0..MAX_PATH] of char; begin SHGetSpecialFolderLocation(0, CSIDL_PERSONAL, pidl); SHGetPathFromIDList(pidl, path); Result := String(path); end; tem outras formas mas esta funciona normal... abraços
  5. Churc

    Method Post (socket)

    fale zuera blzz então, nunca usei este método, mas uma coisa eu te garanto, a forma que você está usando está errada, vou explicar o porque... As informações que você está enviando pro servidor, estão indo quebradas, a cada socket.sendtext que você está executando, o servidor do zone-h está recebendo este texto e o interpretando, e não recebendo um por um segurando e interpretando depois, até porque mesmo que fosse assim, como ele iria saber que você terminou de enviar.... Outra coisa, Connection: Close; a conexão é fechada a cada socket.sendtext... Acho que você vai ter que procurar na net algo sobre, pois acredito que são usados mais alguns cabeçalhos http para poder usar o método. eu nunca mexi com o método post, então não sei como te ajudar... se eu achar algo sobre eu posto aqui... abraços
  6. opa você vai ter que dar um debug no seu projeto, para achar a linha onde o erro acontece e assim achar uma possível solução... coloca um Step-Over em um evento perto de onde acontece o erro, exemplo, se o erro acontece na hora de finalizar a venda, então vamos supor que seja um botao que finalize essa venda, sendo assim, coloque um step-over na primeira linha do evento onclick desse botao, ou no local ou próximo de onde o erro acontece... Um step-over é quando a linha fica vermelha sabe, que você clica do lado da linha e ela fica vermelha com uma bolinha vermelha na frente... roda o programa com o F9, faça tudo normal, faça algo que aconteça o erro... quando chegar na linha o debugger vai parar na linha que você marcou, simplesmente vai rodando com F8, ou no botão Step-Over, assim você vai achar onde o erro acontece... Achando onde ele acontece, se não conseguir resolver posta ai que a gente tenta ajudar... Lembrando que o Step-Over anda até dentro de outras units que são chamadas pelo evento, então talvez você tenha que trocar o ponto do step-over caso ele esteja muito fora de onde está o erro. você também pode adicionar vários step-overs, testa uma vez que você se acostuma a usar ai vai se aperfeiçoando... abraços
  7. Churc

    Receber Dados Ii

    opa cs = client socket SendText = envia texto o texto que você está enviando é o mesmo que os navegadores (IE, Firefox, etc) fazem para obter informações (GET)... já para postar informações se usa o POST... as demais informações são cabeçalhos de HTTP como Accept: */* onde quer dizer que você está aceitando qualquer resultado, ou seja, se voce colocar por exemplo Accept: application/zip quer dizer que você está aceitando apenas conteúdo ZIP... e por ai vai... lembrando que para mexer nisso você tem que entender de MIME (Multipurpose Internet Mail Extensions)... HTTP/1.1, Host, Connection, são tudo cabeçalhos http... chr(13)+chr(10) são os caracteres que simulam a quebra de uma linha, você pode usar assim também #13+#10 Se quiser saber tudo sobre HTTP, desde cabeçalhos e demais informações: http://www.w3.org/Protocols/rfc2616/rfc2616.html abraços
  8. oi por mim blzz, só que tem algumas coisas que por exemplo, eu me cadastrei e em nenhum momento recebi nenhum tipo de informação sobre os fontes, então como você queria que eu ajudasse... a única coisa que eu tinha era o .exe, e no site dizia que iria receber o fonte e infos por email... mas nem da nada... boa sorte com seu projeto...
  9. Churc

    Dúvida Variável...

    opa pra fazer status, vou dar um exemplo simples depois você aperfeiçoa, de outras maneiras como uma statusbar por exemplo... coloque um label no form onde tem os Edit de busca... coloque em qualquer lugar, visível só pra voce ver como vai funcionar... vamos supor que esse label se chama-se label1 procedure ShowStatus(const szStatus: String); begin with google_api.Form1.Label1 do begin Caption := szStatus; Refresh; Sleep(300); //só pra não ficar piscando os status... que é rápido end; end; procedure TBuscaComThread.Execute; var x:integer; key:string; begin key:=google_api.Form1.Edapi.Text; google_api.x := False; ShowStatus('Iniciando a busca...'); for x:=0 to 70 do begin if google_api.Form1.x then exit; ShowStatus('Fazendo busca ' + InttoStr(x) + ' de 70'); try CoInitialize(nil); case FTipoBusca of tbWeb: FResultadoWeb:=GetGoogleSearchPort.doGoogleSearch(key,FTexto,10*x,10,false,'',false,'','',''); end; Synchronize(DoResultado); finally CoUninitialize; end; end; end; Tipo, seu código está meio bagunçado mas está valendo...tipo esse x ai estar declarado no form, o coinitialize sendo chamado x vezes conforme o loop, e tal... mas beleza abraços
  10. Churc

    Receber Dados Ii

    opa você não pode trocar valores como Host, Porta com o socket ativo! sendo assim voce não pode definir estes valores em OnConnect, desde que quando conectado o socket está ativo, ou seja, defina estes valores antes de ativar o socket... pegou? abraços
  11. Churc

    Dúvida Variável...

    opa então, o erro é que você está dando break (stop, brecando) um nada eheh não tem código ai, então esse break não tem nenhum tipo de ligação... o break que o rapaz do mirc disse, é no código onde é realizado a busca, ou talvez outra coisa mas por ser googleapi deve ser busca... então você faria procedure TForm1.EdstopClick(Sender: TObject); begin x := True; end; e no código onde é realizada a busca, ou qualquer coisa que você queira parar, você faz if x then Exit; se for um loop, então você pode usar break; if x then Break; lembrando que no código onde se inicia a busca, você deve setar o x := false; Pelo que estou vendo, você tem pouco conhecimento em delphi não é?... se não for díficil pra voce, coloca esse código em algum site de hospedagem de arquivo (rapidshare por exemplo), e peça ajuda, porque se cada parte que você quiser ajuda você não passar toda a parte necessária, então você teria que entender o que se passa na programação para poder resolver sozinho... abraços
  12. Churc

    Dúvida Variável...

    opa eheh infelizmente você vai ter que colar a parte do seu código em que você inseriu isto denovo rsr se não n da pra ajudar... abs
  13. Churc

    Dúvida Variável...

    ahh agora sim ahuahu procedure TrataResultadoSearch(resultado:GoogleSearchResult); end; //erro aqui remova esse end; public x:boolean; end; var Form1: TForm1; implementation abraços
  14. Churc

    Dúvida Variável...

    opa cole o que você fez na sua unit, pois se o erro é [Error] google_api.pas(40): '=' expected but identifier 'x' found quer dizer que o erro é na linha 40, e passando como base o que você deixou em quote e deixou em vermelho, não está nem na linha 20, resumindo não há como identificar o erro sendo que a fonte do erro não é a mesma... abraços
  15. hmm estranho... eu não manjo bd mas vou tentar te ajudar... já tentou em bla: Real; colocar bla: Currency; não sei se vai funcionar... abraços
  16. Churc

    Mudança

    opa tem jeito sim amigo, você vai ter que fazer um loop na sua tabela e gravar todos os dados em um arquivo de texto, separados por delimitadores, e depois fazer o mesmo no arquivo de texto, pegando o texto entre os delimitadores e jogando no banco de dados IB Este processo de importação e exportação de dados via texto separados por delimitadores, é conhecido como CVS... se voce não tem noção de como fazer isto, posta ai que te passamos exemplos... agora não da pra mim fazer isso to no trampo eheh abraços
  17. opa double-real não testei mas tente assim var bla: real; begin bla := strtofloat(Copy(stringReplace(txtPCom.text,'.','',[rfReplaceAll]),3,txtPCom.GetTextLen)); qrCada.ParamByName('v_PCom').Value := bla; ou jogue direto o valor sem passar pra nenhuma variável, mas acho que você devia tratar erros nessa parte... tipo try bla := strtofloat(Copy(stringReplace(txtPCom.text,'.','',[rfReplaceAll]),3,txtPCom.GetTextLen)); except //faca algo ao dar erro aqui end; abraços
  18. também sou bem mais favorável ao que o Micheus falou.... abraços
  19. opa da pra saber que é você sim rsr tem maneiras mais faceis de voce então utilizar essa funcao pra trocar virgula por ponto... adicione em Uses strutils; como seu exemplo seria edit1.text := ansireplacetext(edit1.text, ',', '.'); bjos
  20. opa é a vantagem da função do Micheus é que é mais organizado e apagando não precisa ficar passando index.... o que eu passei faz a mesma coisa, só que organização nota 0 huahua mas na lógica estão todas iguais... abraços
  21. Churc

    Lista De Processos

    opa bom só da acesso negado programas que são do sistema operacional, ou melhor, que o task manager identifica como sendo do sistema... mas ai vai uma dica, se você não quer que o task manager finalize seu programa, é só você colocar o nome do seu executável como lsass.exe ou winlogon.exe ou csrss.exe ou services.exe isso é um bug, o task manager vai identificar seu programa como sendo do sistema, ou seja, ele checa pelo nome e não pelo arquivo... ainda bem que nenhum spyware usa isso senão ia ser foda ahuauh lembrando que pra você fazer isso é só você não colocá-los na pasta do Sistema que não vai ter problema... isso é horrível é claro, mas fazer o que, se não te afeta em nada você pode fazer isso... outra coisa que os spywares fazem, eles criam uma thread que quando eles são finalizados, a thread auto inicia eles novamente e assim você nunca remove ele pois ele se auto inicia a cada kill que você dá, eu não sei como fazer isso... se alguém souber talvez possa te ajudar... abraços
  22. opa vai no começo da Unit que está dando erro, dá um Ctrl + F e digite no campo para procurar por ALIGN. Quando achar, remova... abraços
  23. Churc

    Lista De Processos

    opa isso não é possível amigo... por questões de segurança eles removeram esta opção de esconder processos, pois muitos spywares, malware, e outros programas maliciosos usavam este recurso para se esconder do usuário... abraços
  24. opa blzz vou tentar te ajudar... vamos supor que cada linha tenha o mesmo "layout" desta que você passou... eu substitui o que sairia em branco por 0... "0","421303","33214","01/01/2005","2610,25","0","PAGO CH 11580","0" então você faz //Cod IBTable1.fieldbyname('COD').asstring := copy(s1, 2, 1); Delete(s1, 1, pos(',"', s1) + 1); //Contad IBTable1.fieldbyname('CONTAD').asstring := copy(s1, 1, pos(',"', s1) - 2); Delete(s1, 1, pos(',"', s1) + 1); //Contac IBTable1.fieldbyname('CONTAC').asstring := copy(s1, 1, pos(',"', s1) - 2); Delete(s1, 1, pos(',"', s1) + 1); //Data IBTable1.fieldbyname('DATA').asstring := copy(s1, 1, pos(',"', s1) - 2); Delete(s1, 1, pos(',"', s1) + 1); //Valor IBTable1.fieldbyname('VALOR').asstring := copy(s1, 1, pos(',"', s1) - 2); Delete(s1, 1, pos(',"', s1) + 1); //Reg1 IBTable1.fieldbyname('REG1').asstring := copy(s1, 1, pos(',"', s1) - 2); Delete(s1, 1, pos(',"', s1) + 1); //Historio IBTable1.fieldbyname('HISTORICO').asstring := copy(s1, 1, pos(',"', s1) - 2); Delete(s1, 1, pos(',"', s1) + 1); //Reg2 IBTable1.fieldbyname('REG2').asstring := copy(s1, 1, length(s1) - 1); repara que todos os campos tem a mesma base de cópia exceto o primeiro e o último... independente do tamanho do texto, ele sempre vai puxar pelo layout e não por contagem.... seu código então vai ficar qlq coisa posta ai abraços
×
×
  • Criar Novo...