Fórum SpeedButton com enabled = true ou enabled = false? #338010
17/02/2007
0
procedure TForm6.SpeedButton1Click(Sender: TObject); begin dm.tagenda.append; dm.tagenda.fieldbyname(´horaini´).value:=speedbutton1.caption; dm.tagenda.Post; speedbutton1.enabled:=false; end;
procedure TForm6.BitBtn1Click(Sender: TObject); begin if application.messagebox(Pchar(´Deseja Excluir:´+ #13+ dm.tagenda.FieldByName(´horaini´).AsString), Pchar(´Excluir Associado ´+Self.Caption), MB_ICONQUESTION + MB_YESNO) = IDYES then begin dm.tagenda.delete; end; end;
Bom eh o seguinte, o que eu quero inventar eh um tipo de agenda que tenha ja os horarios no caption do sppedbuton por isso quando transporto para o dbgrid ele fica com o enabled=false, mais se alguem quiser desmarcar aquele horario gostaria de o speedbutton ficar livre(enabled=true) novamente para poder agendar outra pessoa.
Bom a ideia eh + ou - isso.
Pode ateh ser simples de fazer, mas to sem ideia como fazer :D
Grato a ajuda de todos
Adriano.
Adriano_servitec
Curtir tópico
+ 0Posts
19/02/2007
Adriano_servitec
A ideia tambem a principio seria usar o componente monthcalendar, para jogar as datas para o dbgrid, mais aceito ideias Very Happy
Obs: Estou falando do speedbutton, mais pode ser outro componente que ao clicar fazer o mesmo efeito
Seria algo + ou - assim
if NOT query1.isEmpty then begin with Query1 do begin close; sql.clear; sql.text := ´select * from teste WHERE data = :pdata and hora = :phora order by hora´; parambyname(´pdata´).asdate := strtodate(dbedit1.text); ParamByName(´phora´).astime := strtotime(speedbutton1.caption);//o correto seria TSpeedbutton eu acho speedbutton1.enabled:=false; //se tiver gravado no banco, tem que ficar com o enabled false open; end;
Mais acho que nao esta correto assim e alem do mais acho que deve usar o nome do TComponente tipo TSpeedButton e nao os nomes de cada um, bom eh soh uma ideia, mais acho que nao eh por aqui ainda.
Se alguem puder me dar uma dica, fico agradecido. :D
Adriano
Gostei + 0
20/02/2007
Marco Salles
Uma saida talves para isto é usar um arquivo Ini de configuraçaões
[CONFIG]
Pspeedbutton1=True
Pspeedbutton2=False
Pspeedbutton3=False
Pspeedbutton4=True
Para ler
uses IniFiles
var Config:TIniFile; Pspeedbutton1,Pspeedbutton2,Pspeedbutton3,Pspeedbutton4:String; i:integer; begin Config:=TIniFile.Create(CaminhoDoSeuArquivoIni); Pspeedbutton1:=ReadString(´Config´,´Pspeedbutton1´,Pspeedbutton1); Pspeedbutton2:=ReadString(´Config´,´Pspeedbutton1´,Pspeedbutton2); Pspeedbutton3:=ReadString(´Config´,´Pspeedbutton1´,Pspeedbutton3); Pspeedbutton4:=ReadString(´Config´,´Pspeedbutton1´,Pspeedbutton4); Config.free form1.speedbutton1.enabled:=StrToBool(Pspeedbutton1); form1.speedbutton2.enabled:=StrToBool(Pspeedbutton2); form1.speedbutton3.enabled:=StrToBool(Pspeedbutton3); form1.speedbutton4.enabled:=StrToBool(Pspeedbutton4);
com esta idéia voce recupera ascondiçoes do TspeedButon..
[b:59d88fb951]Para persistir as alterações Grave no Arquivo Config.Ini[/b:59d88fb951]
Se interrou na idéia Pesuise sobre Gravar a Idéia é a mesma
[b:59d88fb951]P:S ... Use Try Finally para proteger o código[/b:59d88fb951]
Gostei + 0
21/02/2007
Adriano_servitec
os captions do sppedbt assim
sb1.caption 08:00
sb2.caption 09:00
ai no dbgrid gravado assim
hora---------data-----------tipo
08:00-------21/02/2007----0
Bom no dia 21/02/2007 tenho agendado somente as 08:00 ai automaticamente o SB1 teria que ficar com o enabled = false neste dia, mais passando pela data do computador para outro dia que seja 25/02/2007 ele deve voltar a ficar com o enabled = true. Bom a ideia eh a principio verificar a data e o horario ja gravado no banco de dados que vou agendar para deixar o sbutton com enabled = true ou false.
Me parece estar meio complicado, ou eu nao estou entendendo.
:(
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)