Ir para conteúdo
Fórum Script Brasil

Jhonas

Monitores
  • Total de itens

    9.657
  • Registro em

Tudo que Jhonas postou

  1. Veja estes posts : http://scriptbrasil.com.br/forum/index.php...mp;highlite=vpn abraço
  2. Oi Eder... Vou te dar um exemplo: Uses Math; function TBRound(Value: Extended; Decimals: integer): Extended; var Factor, Fraction: Extended; begin Factor := IntPower(10, Decimals); { A conversão para string e depois para float evita erros de arredondamentos indesejáveis. } Value := StrToFloat(FloatToStr(Value * Factor)); Result := Int(Value); Fraction := Frac(Value); if Fraction >= 0.5 then Result := Result + 1 else if Fraction <= -0.5 then Result := Result - 1; Result := Result / Factor; end; procedure TForm1.Button1Click(Sender: TObject); Var V1, V2 : Real; begin V1:=StrTofloat('1,23'); V2:=StrToFloat('2,10'); Showmessage(FloatToStr(trunc(V1+V2))); Showmessage(FloatToStr(TBRound(V1+V2+0.60,0))); end; abraço
  3. Estou com uma duvida: Voce não esta com duvida, o correto seria dizer que não sabe como fazer.... vou lhe dar uma ajuda....mas só desta vez unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Iniciar: TButton; Cancelar: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure IniciarClick(Sender: TObject); procedure CancelarClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; botao : array[1..4] of integer; num : integer = 0; implementation {$R *.DFM} uses MMSystem, Urlmon, WinInet; function DetectarInternet: Boolean; var Flags : dword; begin Result := InternetGetConnectedState(@Flags, 0); end; procedure TForm1.Button1Click(Sender: TObject); begin num := num + 1; botao[num] := 1; end; procedure TForm1.Button2Click(Sender: TObject); begin num := num + 1; botao[num] := 2; end; procedure TForm1.Button3Click(Sender: TObject); begin num := num + 1; botao[num] := 3; end; procedure TForm1.Button4Click(Sender: TObject); begin num := num + 1; botao[num] := 4; end; procedure TForm1.IniciarClick(Sender: TObject); var i : integer; begin // executar os botoes for i := 1 to 4 do begin case botao[i] of 1 : begin // Ejetar a bandeja do CDROM mciSendString('Set cdaudio door open wait', nil, 0, handle); end; 2 : begin // Fechar a bandeja do CDROM mciSendString('Set cdaudio door closed wait', nil, 0, handle); end; 3 : begin // Abrir Navegador em uma URL HlinkNavigateString(nil,'http://www.google.com.br'); end; 4 : begin // Detectar Internet if DetectarInternet = true then showmessage('Internet Conectada') else showmessage('Internet Desconectada'); end; end; end; end; procedure TForm1.CancelarClick(Sender: TObject); begin // zerar todas as açoes num := 0; end; end. OBS: voce clica nos botoes que quer realizar as açoes, e os mesmos serão guardados na sequencia dos clicks quantas vezes voce quiser. Depois quando clicar no botao iniciar, será executado as açoes na sequencia dos clicks; Para zerar a sequencia, basta clicar no botao Cancel Observe que no comando For eu utilizei um contador ate 4 ... mas para mais que 4 clicks nos botoes voce tera que contar quantos itens de array existem e colocar no comando For abraço
  4. A resposta para este problema http://www.sqlmanager.net/products/tools/advancedexport abraço
  5. Não entedi muito bem isso, mas o componente MonthCalendar1 da paleta WIN32 o default é domingo e pode ser alterado pela propriedade FirstDayOfWeek. abraço
  6. 1 - Se o BD está em um servidor, use a politica de segurança do servidor, sem a senha de acesso ao servidor, niguem tira uma copia do seu BD. 2 - Se o BD esta em uma maquina em outras pessoas tem acesso, voce poderia criptografar os registros das tabelas, e neste caso voce teria " Segurança X Performance ". Ou seja ... mais segurança menos performance. Existem alguns componentes para isto. 3 - Deixar invisivel o BD em uma pasta criada por voce em um caminho especifico ( não aparece para usuario nenhum e nem pesquisar econtra ), que seria acessada apenas atraves do seu programa .... li alguma coisa a respeito a muito tempo atraz na internet, mas nem me lembro mais onde. abraço
  7. Jhonas

    Comando SQL

    exemplo procedure TForm1.Button1Click(Sender: TObject); var hora1, hora2, Tothoras : TTime; begin hora1 := strtotime(Edit1.Text); // '08:35' hora2 := strtotime(Edit2.Text); // '07:25' tothoras := hora1 + hora2; label1.Caption := timetostr(tothoras); // '16:00' end; abraço
  8. Jhonas

    Arquiteturas

    Alguns endereços sobre o assunto: http://www.guiadohardware.net/faq/linux-sl...-diferenca.html http://www.guiadohardware.net/comunidade/i...itetura/726881/ http://www.linuxbsd.com.br/forum/viewtopic...d968dbab9f6a0f5 http://pt.wikipedia.org/wiki/Anexo:Lista_d...e_processadores http://www.intel.com/portugues/technology/...ctions-1006.htm http://www.ic.unicamp.br/~rodolfo/Cursos/m...uperh-texto.pdf abraço
  9. acho que não será possivel, pois ao compilar o programa voce terá este erro: Cannot assign to a read-only property melhor é criar outro campo .. pode ser até tabalhoso para voce agora, mas vai simplificar muito depois abraço
  10. O evento OnDrawCell é um evento que se repete indefinidamente enquanto voce estiver com o foco do mouse no form onde está a grid. Cells[ACol, ARow] := Cells[ACol, ARow]; //Para atualização da células voce com este comando está mantendo um loop infinito, o que acaba consumindo mais processamento que tal fazer este procedimento apenas quando voce selecionar uma celula procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); begin with grid_alunos do begin //Colorir a linha qd selecionada if ARow = aluno_selecionado then Canvas.Brush.Color := $7FFFFF; if ARow <> aluno_selecionado then Canvas.Brush.Color := clwhite; Canvas.Brush.Style := bsSolid; canvas.Font.Style := []; canvas.Font.Color := clblack; rect.Right := rect.Right + grid_alunos.GridLineWidth; canvas.FillRect(rect); Canvas.TextOut(Rect.Left,Rect.Top,Cells[ACol, ARow]); Cells[ACol, ARow] := Cells[ACol, ARow]; //Para atualização da células end; panel1.Update; end; abraço
  11. Oi Eder.. Sim ... use uma query com o comando select distinct que voce não tera registros repetidos exemplo select distinct tipo_ligação from Nome_sua_Tabela depois é só linkar o DBLookupComboBox com a query abraço
  12. Uma das maneiras procedure TForm1.Button1Click(Sender: TObject); var hora : TTime; begin hora := now; label1.caption := timetostr(hora); if (timetostr(hora) >= '06:00:00') and (timetostr(hora) <= '12:00:00') then showmessage('Manha'); if (timetostr(hora) >= '12:01:00') and (timetostr(hora) <= '18:01:00') then showmessage('Tarde'); if (timetostr(hora) >= '18:01:00') and (timetostr(hora) <= '23:59:00') then showmessage('Noite'); if (timetostr(hora) >= '00:01:00') and (timetostr(hora) <= '05:59:00') then showmessage('Madrugada'); end; abraço
  13. Faltou voce definir o uses TLHelp32; Eu até poderia te passar uma solução pronta, mas o que voce aprenderia ? Então vou te propor um exercicio de raciocínio ... vou te dar parte da solução e vamos ver como voce se sai...ok ? Qual a lógica ou raciocínio para obter o resultado esperado para este problema: 1 - o que eu quero: elaborar um programa que liste os processos em andamento no windows, faça uma comparação de tempos em tempos com uma lista de amostra dos mesmos processos x segundos atraz, e caso o processo tenha parado mostrar o nome do processo e atualizar a lista de amostra. 2 - o que eu preciso: a) uma rotina para listar todos os processos B) fazer uma copia desta lista para servir de amostra c) uma rotina de tempo para comparar as duas listas d) mostrar o nome do processo parado e atualizar novamente a lista de amostra 3 - que componentes usar: a) um Form B) dois listview c) um bitbtn d) um timer ----------------------------------------------------------- Para começar vou te dar o endereço de uma rotina para listar os processos do windows http://www.swissdelphicenter.ch/torry/showcode.php?id=593 Desta maneira vou te ensinar a pensar sobre o problema e como chegar na solução. abraço
  14. Aparecem estas telas de suporte da microsoft, porque o XP está encontrando varias incompatibilidades entre o software e o hardware, e neste caso voce teria que baixar as atualizações corretas para que o seu hardware funcione corretamente. abraço
  15. qual é a versão do Delphi qu está usando ? qual o seu nivel de conhecimento na linguagem ? qual a lógica que voce esta usando para conseguir resolver o problema ? o que voce já codificou ? quais os erros que está encontrando ? qual a finalidade deste programa ? abraço
  16. Voce pode usar estes componentes ou usar os do IBX...a maneira de usar não será muito diferente não. Os codigos de inserção, deleção, etc serão escritos manualmente se voce utilizar botões para cada comando, ou pode usar o DBNavigator e só terá que acrescentar poucos comandos. Veja este Tutorial do IBX http://www.delphibr.com.br/tutoriais.php abraço
  17. Se voce procurasse na pesquisa do forum pela palavra mp3 acabaria encontrando este post entre outros http://scriptbrasil.com.br/forum/index.php...st&p=481924 abraço
  18. Não... após a inserção, voce tem que dar o commit para que seu banco de dados seja atualizado para toda a rede, entretanto no outro micro para poder ver esta atualização, voce deve fechar e abrir novamente a query ou dar um refresh, caso contrario voce não vera a atualização do registro. OBS: lembre-se que o seu programa rodara independente em cada micro ( executaveis em cada micro ) , no entanto todos estarão apontando o mesmo caminho para o banco de dados na rede ... então em cada um voce deve comandar a atualização, como foi dito acima. abraço
  19. Faça uma verificação no edit, se nada for digitado então não executa o comando ex: if edit1.text = '' then exit; Arrais ... peço a voce que faça uso da pesquisa do forum, pois como já disse, voce vai solucionar muitas das suas duvidas, uma vez que já existem posts respondidos com a mesma duvida ... ok se voce procurasse pela palavra "tradução" acabaria encontrando este post http://scriptbrasil.com.br/forum/index.php...st&p=443189 abraço
  20. Consegui sanar a sua dúvida neste post ? http://scriptbrasil.com.br/forum/index.php...st&p=449133 E mais, eu devo usar mesmo um MDOTransaction pra cada tabela? Posso usar Botoes com Actionlist sem problemas? Voce pode usar o mesmo MDOTransaction para todas as tabelas e pode usar Botoes com Actionlist sem problemas. abraço
  21. Se voce leu o tutorial do ADO saberia como colocar os componentes e fazer os links eu te passei somente um exemplo... não é para coloca-lo no seu codigo como esta, voce deve fazer as modificações que forem necessarias select * from Nome_Da_Sua_Tabela WHERE Nome_Do_Campo_Da_Sua_Tabela LIKE :NOM ORDER BY Nome_Do_Campo_Da_Sua_Tabela // Ordena alfabeticamente o conteudo do campo coloco onde? O comando select ira dentro do componente ADOQuery .... o que voce entende por Nome_da_sua_tabela ou Nome_do_campo_da_sua_tabela ? procedure TForm1.SpeedButton1Click(Sender: TObject); begin adotable1.Filtered := False; adotable1.Filter := 'nomedofilme like ' + #39 + '%' + Edit1.Text + '%' + #39; adotable1.Filtered := True; end; se voce consegue filtrar os registros desta maneira então use o mesmo codigo dentro do Edit1 no evento OnChange e veja o que acontece Procure utilizar a pesquisa do forum ... já temos varios posts respondidos com a sua duvida exemplo: procure pelas palavras ADO, SQL, Select, Pesquisa , Access ... entre outras ... voce vai conseguir tirar muitas das suas duvidas. Lembre-se ... Um Bom Programador .... é sinônimo de muita leitura e anos de testes práticos abraço
  22. Existem alguns programas que convertem NWFS para NTFS ou FAT Veja estes endereços: http://diskpatch-partition-repair.diy-data...alienpicks.com/ http://www.itshareware.com/prodview-code_3...ry-software.htm http://portuguese.articlespublish.com/comp...o-software.html http://www.click-now.net/html/PartitionMagic.htm abraço
  23. CDS_Nome_Da_Tabela // componente ADODataSet Nome_Da_Tabela_IB // componente ADOQuery Tutorial do ADO http://www.delphibr.com.br/artigos/AccessADO.php Tutorial do IBX http://www.delphibr.com.br/tutoriais.php abraço
  24. Procure com calma que voce vai achar Voce montara uma rotina dentro de um timer que será executado a cada x segundos, coparando a lista atual com a lista de amostra... ( por exemplo um listbox ) nesta comparação o processo que não mais estiver rodando será mostrado em um showmessage ou num MessageDlg. Saber Pesquisar tambem faz parte do aprendizado. abraço
  25. Jhonas

    atualizando form

    Tente esta modificação: dm.ZQuery1.SQL.Clear; dm.ZQuery1.SQL.Add('SELECT nome'); dm.ZQuery1.SQL.Add('FROM materia_prima'); dm.ZQuery1.Open; cmbNome.Items.Clear; // limpar o combobox. while not dm.zquery1.eof do begin cmbNome.Items.Append(dm.zquery1.FieldByName('nome').asString); dm.zquery1.next; end; abraço
×
×
  • Criar Novo...