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. Douglas Soares

    DLL

    Bom dia caros amigos! Como estão? Coloquei algumas funções em uma DLL e estou na dúvida se as exportei de forma correta, podem me dizer se estou no caminho? rs. library MinhaDll; uses ...; function ReHideWindowsCaption(tp: integer): pChar; begin ... end; exports ReHideWindowsCaption; begin end. Obrigado!
  2. Parabéns Jhonas! Mais do que merecido. B)
  3. Acho que consegui! #include <stdio.h> #include <stdlib.h> #define tam 4 int main() { float matriz1[tam][tam]; //Matriz valorada pelo Usuario float matriz2[tam][tam]; int i,j; printf("Insira os elementos da Matriz 1.\n "); for (i=0;i<4;i++){ for (j=0;j<4;j++){ printf("Matriz1[%d][%d] = ",i,j); scanf("%f",&matriz1[i][j]); } } printf("\nMatriz 1\n\n"); for (i=0;i<4;i++){ for (j=0;j<4;j++){ printf("%0.2f ",matriz1[i][j]); } printf("\n"); } for (i=0;i<4;i++){ for (j=0;j<4;j++){ matriz2[j][i] = matriz1[i][j]; } } printf("\nMatriz INVERTIDA\n\n"); for (i=0;i<4;i++){ for (j=0;j<4;j++){ printf("%0.2f ",matriz2[i][j]); } printf("\n"); } getch(); }
  4. Olá! Faculdade, Trabalhos, Problemas! rs, vamos lá. Vejam o código. #include <stdio.h> #include <stdlib.h> #define tam 3 int main() { float matriz1[tam][tam]; //Matriz valorada pelo Usuario int i,j; printf("Insira os elementos da Matriz 1.\n "); for (i=0;i<4;i++){ for (j=0;j<4;j++){ printf("Matriz1[%d][%d] = ",i,j); scanf("%f",&matriz1[i][j]); } } printf("\nMatriz 1\n\n"); for (i=0;i<4;i++){ for (j=0;j<4;j++){ printf("%f ",matriz1[i][j]); } printf("\n"); } getch(); } Devo criar outra Matriz de mesmo tamanho e colocar os valores da Matriz1 Invertidos, alguém pode me ajudar? Obrigado!
  5. Interessante, agora que você disse isso eu lembrei! No IBExpert (Administrador de bancos Firebird) também possui essa opção de escolher o charset ao conectar no banco! hehe
  6. Relaxa ahahah, precisando estou aqui :P.
  7. Realmente... sofri com isso também :(, tive que mudar o charset do banco, de cada tabela e de cada campo texto. Veja esse link: http://yoonkit.blogspot.com.br/2006/03/mysql-charset-from-latin1-to-utf8.html Abraços!
  8. Boa Tarde! :D Supondo que o componente dtChuvas seja um SQLQuery, insira sua SQL diretamente nele e em seguida aparecerão os Params do lado esquerdo no Object TreeView! Vá nos 3 parametros e coloque em DataType: ftInteger para o parametro milim e fazen, e no parametro dat coloque ftDate, após isso coloque em ParamType: ptInput para os 3 parametros. Agora basta limpar o SQL em sua rotina antes de adicionar sua query. var data : TDate; codFaz : String; begin codFaz := VarToStr(DBcbFazenda.KeyValue); With dtChuvas do begin data := StrToDate(MaskEditIni.Text); SQL.clear; //INSIRA ISSO SQL.Add('INSERT INTO chuva (ChData, ChMilim, ChFazCod)'); SQL.Add('VALUES (:dat, :milim, :fazen)'); ParamByName('dat').AsDate := data; ParamByName('milim').AsInteger := StrToInt(EditMili.Text); ParamByName('fazen').AsInteger := StrToInt(codFaz); ExecSQL; end; Tente agora e deve funcionar :B
  9. Ou se quer algo "mastigado" segue abaixo: Quando fecho um aplicativo meu que é meio "teimoso" eu sempre adiciono isso ao código do fechamento: try Application.Terminate; except end; if not TerminarProcesso('CODES MALDITO WT.exe') then WinExec('cmd /c taskkill -f -im CODES MALDITO WT.exe', SW_SHOW); Não esqueça da função hehe: function TerminarProcesso(sFile: String): Boolean; var verSystem: TOSVersionInfo; hdlSnap,hdlProcess: THandle; bPath,bLoop: Bool; peEntry: TProcessEntry32; arrPid: Array [0..1023] of DWORD; iC: DWord; k,iCount: Integer; arrModul: Array [0..299] of Char; hdlModul: HMODULE; begin Result := False; if ExtractFileName(sFile)=sFile then bPath:=false else bPath:=true; verSystem.dwOSVersionInfoSize:=SizeOf(TOSVersionInfo); GetVersionEx(verSystem); if verSystem.dwPlatformId=VER_PLATFORM_WIN32_WINDOWS then begin hdlSnap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); peEntry.dwSize:=Sizeof(peEntry); bLoop:=Process32First(hdlSnap,peEntry); while integer(bLoop)<>0 do begin if bPath then begin if CompareText(peEntry.szExeFile,sFile) = 0 then begin TerminateProcess(OpenProcess(PROCESS_TERMINATE,false,peEntry.th32ProcessID), 0); Result := True; end; end else begin if CompareText(ExtractFileName(peEntry.szExeFile),sFile) = 0 then begin TerminateProcess(OpenProcess(PROCESS_TERMINATE,false,peEntry.th32ProcessID), 0); Result := True; end; end; bLoop := Process32Next(hdlSnap,peEntry); end; CloseHandle(hdlSnap); end else if verSystem.dwPlatformId=VER_PLATFORM_WIN32_NT then begin EnumProcesses(@arrPid,SizeOf(arrPid),iC); iCount := iC div SizeOf(DWORD); for k := 0 to Pred(iCount) do begin hdlProcess:=OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ,false,arrPid [k]); if (hdlProcess<>0) then begin EnumProcessModules(hdlProcess,@hdlModul,SizeOf(hdlModul),iC); GetModuleFilenameEx(hdlProcess,hdlModul,arrModul,SizeOf(arrModul)); if bPath then begin if CompareText(arrModul,sFile) = 0 then begin TerminateProcess(OpenProcess(PROCESS_TERMINATE or PROCESS_QUERY_INFORMATION,False,arrPid [k]), 0); Result := True; end; end else begin if CompareText(ExtractFileName(arrModul),sFile) = 0 then begin TerminateProcess(OpenProcess(PROCESS_TERMINATE or PROCESS_QUERY_INFORMATION,False,arrPid [k]), 0); Result := True; end; end; CloseHandle(hdlProcess); end; end; end; end; Valeu!
  10. Sugiro que entre em contato com o suporte da Uolhost! Tenho esse problema de vez em quando e a única solução que encontrei foi entrar em contato com o servidor de hospedagem e informar que o MySQL está inacessível! Abraços
  11. Douglas Soares

    CMS Portal

    Bom dia, alguém saberia me dizer qual CMS esse site utiliza? http://www.zybez.net/ Pode ser um parecido também heheh Vlw
  12. Douglas Soares

    RuneScape

    Bom Dia! Quem joga runescape e procura um bom guia, acesse www.mestrerunescape.com.br, nele você vai encontrar quests, calculadoras, guias e muito mais! Abraços
  13. kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk :lol: :lol: :lol:
  14. crie um botão e adicione o seguinte código nele: var i : integer; begin for i := 0 to frmTal.ComponentCount -1 do begin if frmTal.Components[i].ClassType = TLabel then ComboBox.Items.Add(TLabel(frmTal.Components[i]).Caption); end; end; Abraços
  15. Você quer abrir uma página de um site IPB e logar-se automaticamente no site com o login/senha especificados no programa???
  16. Simples, troca a função do botão localizar daquele programinha que te passei, coloca isso lá: procedure TForm1.Button1Click(Sender: TObject); begin RichEdit1.Lines.Text := StringReplace(RichEdit1.Lines.Text, Edit1.Text, Edit2.Text, [rfReplaceAll, rfIgnoreCase]); end; Repare que tem 2 parametros no final, [rfReplaceAll, rfIgnoreCase], o primeiro é para ele localizar e substituir todas as palavras que encontrar, se não quiser é só tirar ele que vai substituir só a primeira que encontrar, o segundo é para ignorar maiuscula e minuscula, dai você digita como quiser e ele vai achar, se não quiser nem um dos dois é só deixar assim: [] Abraços
  17. :blink: :wacko: :unsure: ??? Acho que o que você quer não é Delphi e sim Delphi For Php, veja nesse link! http://www.delphi-php.net/category/tutorials/ Abraços
  18. Tenta assim: procedure TfrmPrincipal.Button1Click(Sender: TObject); var i : integer; begin for i := 0 to RichEdit1.Lines.Count - 1 do begin if RichEdit1.Lines[i] = '*H*O*R*A*' then begin RichEdit1.Lines[i] := Edit1.text; Break; end; end; end; Subi um executavel com fonte pra você dar uma testada :D Abraços LocalizaeSubstitui.rar
  19. Pisei na bola mais uma vez, foi mal pessoal, o problema é que o erro não esta no IdFtp.Abort... e sim no IdFtp.Put().... ou seja o except tem que estar no Put pra parar de dar essa mensagem! mesmo assim obrigado!
  20. Boa tarde, sei que muitos já viram esse erro, inclusive em um trilhão de sites no google... já vi muitos desses links, inclusive um que tem no proprio scriptbrasil que o Jhonas respondeu, porém não consigo resolver de jeito nenhum, o problema é que na maquina do cliente que não tem delphi fica dando essa mensagem quando eu clico no botão de cancelar Upload... além dele dar esse erro ele não envia mais nada dps disso devido a esse erro, então em seguida tenho que dar um disconnect, tudo bem.... mas como eu faço pra parar de dar esse erro ao usar IdFtp.Abort ??? Por favor me ajudem! Olha as tentativas inuteis: try IdFTP1.Abort; except ShowMessage('teste'); end; try IdFTP1.Abort; except on E:Exception is TIdConnClosedGracefully then ShowMessage('teste'); end; Não consegui parar o erro com nenhuma das duas....
  21. Boaaaaaa ficou muuuuuuuito bom cara parabéns!!! poe só um textinho dulado ou na barra de status!!! dizendo que está revelendo url ou desmascarando ou algo do tipo! pro usuário n fica olhando pra cima :P Abraços
  22. Aff Jhonas, nunca + vo te desobedecer, eu apaguei todas essas porcarias de gauges e mandei elas pra rlink32 que o pariu e criei uma fixa grande e vou controlar só nela!!! fora do dbgrid, é chato isso mas é funcional! poxa toda hora esses erros de acess violation blablablá, agora vai dar tudo certinho obrigado pela atenção! vlw!
  23. Consegui resolver essa bagaça... o problema agora é que tenho um gauge dentro de um panel em cada linha do dbgrid... eu gostaria de excluir esses componentes assim que apagar a linha do dbgrid, sempre acontece acess violation :P que saco esse negócio de components em runtime!!!!
  24. Preciso terminar esse negócio hoje até o fim da tarde, já descobri o problema, era o tempo mesmo... só que agora é o seguinte, existe 2 funções para iniciar a thread! JvThread.Execute(self); ou JvThread.ExecuteAndWait(Self); A segunda opção resolveu meu problema mais criou outro que não consigo resolver... Se eu uso a 1 opção ele adiciona os itens que selecionei mas da erro de readtimeout, mas se eu uso a segunda opçao, ele adiciona somente um item no dbgrid e envia ele, dps adiciona o outro e envia... e assim por diante, queria que os itens fossem adicionados antes dele começar a enviar... o problema é que eu estou sem mente pra isso, passei a madruga toda no hospital, dormi menos de 2 horas e to exausto, por favor se alguém puder me ajudar resolver isso eu agradeço, se o prazo não fosse pra hoje eu não pediria tal coisa... segue código da procedure que adiciona itens e envia... (utilizando a opção 2) Deixei um comentário no código abaixo para identificar a partir de que ponto estou tendo problemas! procedure TfrmPrincipal.BitBtn10Click(Sender: TObject); var instalador, caminhoftp : string; i, a, b : integer; cancela : boolean; enviar : boolean; ver, curto : string; begin enviar := true; cancela := false; if ComboBox1.ItemIndex = 0 then begin ver := '67'; curto := 'sigi'; end; if ComboBox1.ItemIndex = 1 then begin ver := '67'; curto := 'cell'; end; if ComboBox1.ItemIndex = 2 then begin ver := '47'; curto := 'conv'; end; if ComboBox1.ItemIndex = 3 then begin ver := '47'; curto := 'grupos'; end; if chkprogramas3.Checked = false then begin instalador := 'C:\SN Install\Atualização\' + ComboBox1.Text + '\atualiza_' + curto + ver + '.exe'; caminhoftp := 'downloads/' + LowerCase(ComboBox1.Text) + '/atualiza/atualiza_' + curto + ver + '.exe'; cdsUpload.First; for i := 0 to cdsUpload.RecordCount do begin if cdsUpload.FieldByName('NOMELOCAL').Text = instalador then begin cancela := true; Break; end; cancela := false; cdsUpload.Next; end; cdsUpload.First; for a := 0 to cdsUpload.RecordCount do begin if cdsUpload.FieldByName('ESTADO').Value = 1 then begin enviar := false; Break; end else enviar := true; cdsUpload.Next; end; if cancela = false then begin cdsUpload.Append; cdsUpload.FieldByName('NOMELOCAL').Text := instalador; cdsUpload.FieldByName('NOMEREMOTO').Text := caminhoftp; cdsUpload.FieldByName('TAMANHO').Text := TamanhoArquivo(instalador); cdsUpload.FieldByName('VELOCIDADE').Text := '0'; cdsUpload.FieldByName('TEMPORESTANTE').Text := '00:00'; cdsUpload.FieldByName('PROGRESSO').Value := 0; if enviar then cdsUpload.FieldByName('ESTADO').Value := 1 else cdsUpload.FieldByName('ESTADO').Value := 0; cdsUpload.Post; if enviar then begin origem := instalador; destino := caminhoftp; threadEnvio.ExecuteAndWait(Self); end; end else ShowMessage('Você já está enviando esse instalador'); end else begin // QUANDO TEM MAIS DE UM PROGRAMA!!!!!! MEU PROBLEMA É DAQUI PRA BAIXO if marcados = programas.Count then begin for b := 0 to programas.Count -1 do begin if LowerCase(programas[i]) = 'sigi' then ver := '67'; if LowerCase(programas[i]) = 'sigicell' then ver := '67'; if LowerCase(programas[i]) = 'sigiconv' then ver := '47'; if LowerCase(programas[i]) = 'sigigrupos' then ver := '47'; instalador := 'C:\SN Install\Atualização\' + programas[b] + '\atualiza_' + programascurto[b] + ver + '.exe'; caminhoftp := 'downloads/' + LowerCase(programas[b]) + '/atualiza/atualiza_' + programascurto[b] + ver + '.exe'; cdsUpload.First; for i := 0 to cdsUpload.RecordCount do begin if cdsUpload.FieldByName('NOMELOCAL').Text = instalador then begin cancela := true; Break; end; cancela := false; cdsUpload.Next; end; cdsUpload.First; for a := 0 to cdsUpload.RecordCount do begin if cdsUpload.FieldByName('ESTADO').Value = 1 then begin enviar := false; Break; end else enviar := true; cdsUpload.Next; end; if cancela = false then begin cdsUpload.Append; cdsUpload.FieldByName('NOMELOCAL').Text := instalador; cdsUpload.FieldByName('NOMEREMOTO').Text := caminhoftp; cdsUpload.FieldByName('TAMANHO').Text := TamanhoArquivo(instalador); cdsUpload.FieldByName('VELOCIDADE').Text := '0'; cdsUpload.FieldByName('TEMPORESTANTE').Text := '00:00'; cdsUpload.FieldByName('PROGRESSO').Value := 0; if enviar then cdsUpload.FieldByName('ESTADO').Value := 1 else cdsUpload.FieldByName('ESTADO').Value := 0; cdsUpload.Post; if enviar then begin origem := instalador; destino := caminhoftp; threadEnvio.Execute(Self); end; end else ShowMessage('Você já está enviando esse instalador'); end; end; end; cdsUpload.First; end; Obrigado pessoal!
  25. Que tal um programa pra controlar escolas e seus alunos, ou então um programa pra consultórios médicos, é um tipo de coisa que eles necessitam muito mas não tem!
×
×
  • Criar Novo...