Ir ao conteúdo

Dúvida, iniciante em Delphi


giovani_pt

Posts recomendados

Postado

Bom, não sei nada de Delphi!

Mas preciso desse código (preciso fazer ele funcionar!)

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, RXClock;

type
TForm1 = class(TForm)
Button1: TButton;
Timer1: TTimer;
RxClock1: TRxClock;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
lig : integer = 0;
implementation

{$R *.DFM}


function SetNewTime(Hora, Min, Seg: word): boolean;
var
st: TSYSTEMTIME;
begin
GetLocalTime(st); // Pega hora corrente
st.wHour := Hora;
st.wMinute := Min;
st.wSecond := seg;
if not SetLocalTime(st) then
Result := FALSE
else
Result := true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
Present: TDateTime;
Hour, Min, Sec, MSec: word;
hh, mm, ss : shortstring;
begin
Present:= Now;
DecodeTime(Present, Hour, Min, Sec, MSec);

sec := sec - 1; // mantem o relogio parado entre um segundo e outro

hh := IntToStr(hour);
mm := IntToStr(min);
ss := IntToStr(sec);

SetNewTime(StrToInt(hh),StrToInt(mm),StrToInt(ss));
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
lig := lig + 1;
if lig = 1 then
Timer1.Enabled := true
else
begin
Timer1.Enabled := false;
lig := 0;
end;
end;



end.

Alguém poderia me ensinar como por esse código no DELPHI? Passo a passo :S

Eu tenho o Delphi 7!

O código é para pausar o relógio do windows, se alguém conhecer outro também aceito! Obrigado!

(SE ALGUÉM PUDER FAZER O PROGRAMA PARA MIM também ACEITO! MAS PREFERIA APRENDER!)

Postado

Olá giovani_pt!

Posso tentar lhe ajudar. Vamos lá...

Preparação do Formulário:

Abra o Delphi 7.

Redimensione o Form alterando suas propriedades Height para 164 e Width para 244.

Insira um Button no Form. Para isso clique no Button localizado na guia Standard da palheta de componentes. Isso selecionará o componente Button e permitirá que ao clicar no Form o componente seja inserido.

Insira um Timer no Form. Esse componente está disponível na guia System da paleta de componentes do Delphi 7. Para inseri-lo siga o mesmo procedimento usado para inserção do Button.

Altere a propriedade Caption do Form para "StopClock for Windows".

Altere a propriedade BorderStyle do Form para "bsDialog".

Altere a propriedade Caption do Button para "ATIVAR Relógio".

Ao término desse processo o seu formulário deverá ter a seguinte aparência:

http://sites.google.com/site/felipegomestinfor/Home/Projeto.JPG?attredirects=0

Edição do Código:

Tecle F12 para acessar a Unit1.

Apague todo o código contido na Unit1.

Copie e cole o seguinte código para a Unit1:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Timer1: TTimer;

procedure Timer1Timer(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

lig : integer = 0; // Variável global.

implementation

{$R *.dfm}

function SetNewTime(hora, min, seg : word): boolean;

var

st: TSystemTime;

begin

GetLocalTime(st); // Pega hora corrente.

st.wHour:= hora;

st.wMinute:= min;

st.wSecond:= seg;

if not SetLocalTime(st) then

result:= false

else

result:= true;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

var

present: TDateTime;

hora, min, seg, mseg: word;

hh, mm, ss: ShortString;

begin

present:= now;

DecodeTime(present, hora, min, seg, mseg);

seg:= seg -1; //Mantém o relógio parado entre um segundo e outro.

hh:= IntToStr(hora);

mm:= IntToStr(min);

ss:= IntToStr(seg);

SetNewTime(StrToInt(hh), StrToInt(mm), StrToInt(ss));

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

lig:= lig + 1;

if lig = 1 then

begin

Timer1.Enabled:= false;

Button1.Caption:=('PARAR Relógio');

end

else

begin

Button1.Caption:=('ATIVAR Relógio');

Timer1.Enabled:= true;

lig:= 0;

end;

end;

end.

Tecle F9 para rodar o projeto. Isso fará que o relógio seja interrompido imediatamente.

Se eu não cometi nenhum erro e você fizer tudo certinho deverá ver uma janelinha com o título StopClock for Windows contendo um botão escrito ATIVAR Relógio. Assim:

http://sites.google.com/site/felipegomestinfor/Home/Execucao.JPG?attredirects=0

Ao clicar no botão ATIVAR Relógio o mesmo terá o seu caption alterado para PARAR Relógio. Isso torna o uso do programinha muito lógico, pois, se o botão estiver com o caption ATIVAR Relógio significa que o relógio está parado e você poderá ativá-lo clicando no botão. Se o caption do botão for PARAR Relógio significa que o relógio não está parado e que você poderá para-lo clicando no botão.

Para ver o efeito do programa abra as Propriedades de Data e hora executando um duplo clique no relógio do Windows. Ao clicar no botão PARAR Relógio você perceberá que os segundos do relógio do Windows terá o seu progresso interrompido. Ao clicar no botão ATIVAR Relógio os segundos voltarão a funcionar corretamente.

Espero que entenda e consiga praticar tanta informação.

Qualquer dúvida estarei à disposição para ajudar...

Abraço! :)

  • Membro VIP
Postado

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...