Ådriano 9 Denunciar post Postado Outubro 25, 2006 Ola...tenho a seguinte duvida :como esconder itens do menu....POe exemplo cadastro o usuario e neste cadastro tem um campo da tabela que é um campo logico(sim/não )certo.....Ai quando a pessoa loga e este campo estiver TICADO(true) ele libera o menu e se estiver apagado(false )ele não libera tentei aqui de tudo que foi Jeito mas não fununcia.RSRSRSRStipo assimif campotabela.value=true thenbeginmainmenu1.items.enable:=false;mas não fununcia de jeito nenhum ....Alguem poderia me dar uma LUZ...... Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 25, 2006 Se quiser sumir com ele, precisa usar o Visible:=False; Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Outubro 25, 2006 você quer fazer dinâmico??? Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 25, 2006 Não se esqueça tb que o MainMenu trabalha em níveis, ou seja, existe os .Items que você precisa controlar para dexar invisível algo, exemplo: Digamos o menu neste contexto: Teste - Teste2 - Teste3 - Teste4 - Teste5Executando o comando: MainMenu1.Items[0].Items[0].Items[0].Visible:=False;Iremos ficar com: Teste - Teste2 - Teste4 - Teste5Ou seja, o Teste3 acaba sumindo, nesta questão que você terá de criar o seu controle de menu, utilizando os .Items, ou então de forma direta dando um .Visible:=False na opção, tipo: Teste3.Visible:=False; Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Outubro 25, 2006 No clique de um botão para testar... procedure TForm1.Button1Click(Sender: TObject);Var i,j,w : Integer;begin //Grava na tabela de Permissão os itens do menu... For i := 0 to MainMenu1.Items.Count - 1 do Begin TblPermissaoCampo.Value := (MainMenu1.Items[i].Caption); For j := 0 to MainMenu1.Items[i].Count - 1 do Begin TblPermissaoCampo.Value := (MainMenu1.Items[i].Items[j].Caption); For w := 0 to MainMenu1.Items[i].Items[j].Count - 1 do Begin TblPermissaoCampo.Value := (MainMenu1.Items[i].Items[j].Items[w].Caption); End; End; End;end; Compartilhar este post Link para o post Compartilhar em outros sites
Ådriano 9 Denunciar post Postado Outubro 25, 2006 E aproveitano este tópico ...ja deixando claro que vou testar estes codigos que me passaram....a outra duvida foi a seguinte:em um outro projeto estava eu usando tabelas em access então o codigo de procurar por datas era:adoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add('select *');adoquery1.SQL.Add('from tabela1');adoquery1.SQL.Add('where tabela1.dataabertura between :dtInicio and :dtFim');adoquery1.SQL.Add('and tabela1.CLIENTE = ''' + edit1.Text + '''');adoquery1.Parameters.ParamByName('dtInicio').Value:=StrToDate(DateToStr(dtInicio.Date));adoquery1.parameters.ParamByName('dtFim').Value:=StrToDate(DateToStr(dtFim.Date));adoquery1.Open;agora estou usando tabelas paradox...onde é que tem que mudar ???? Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Outubro 25, 2006 adoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add('select *');adoquery1.SQL.Add('from tabela1');adoquery1.SQL.Add('where tabela1.dataabertura between :dtInicio and :dtFim');adoquery1.SQL.Add('and tabela1.CLIENTE = ''' + edit1.Text + '''');adoquery1.Parameters.ParamByName('dtInicio').asDate:= dtInicio.Date;adoquery1.parameters.ParamByName('dtFim').asDate:= dtFim.Date;adoquery1.Open; Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 25, 2006 Estranho, pelo certo não precisaria mudar em nada no seu projeto... Compartilhar este post Link para o post Compartilhar em outros sites
Ådriano 9 Denunciar post Postado Outubro 26, 2006 vamos láa minha conecção agora é em bde e tabelas paradox..então da erro na setima linha.... Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Outubro 26, 2006 Tente isso: query1.Close;query1.SQL.Clear;query1.SQL.Add('select *');query1.SQL.Add('from tabela1');query1.SQL.Add('where tabela1.dataabertura between :dtInicio and :dtFim');query1.SQL.Add('and tabela1.CLIENTE = '+ QuotedStr(Edit1.Text));query1.ParamByName('dtInicio').asDate:= dtInicio.Date;query1.ParamByName('dtFim').asDate:= dtFim.Date;query1.Open; Aguardo um retorno seu... Compartilhar este post Link para o post Compartilhar em outros sites
Ådriano 9 Denunciar post Postado Outubro 26, 2006 olha só da um erro ainda...olha só o código resolvi mudar ..não colocar um edit para pesquisar simplismente os dois datetime...então fiz assim:query1.Close;query1.SQL.Clear;query1.SQL.Add('select *');query1.SQL.Add('from dados');query1.SQL.Add('where dados.nomedono between :dtInicio and :dtFim');query1.ParamByName('dtInicio').asDate:= dtInicio.Date;query1.ParamByName('dtFim').asDate:= dtFim.Date;query1.Open;mas ainda da um erro de" type mismatch in expression" Compartilhar este post Link para o post Compartilhar em outros sites
bdexterholland 0 Denunciar post Postado Outubro 26, 2006 dá o erro em que linha?como estão os campos da tabela? Compartilhar este post Link para o post Compartilhar em outros sites
Ådriano 9 Denunciar post Postado Outubro 26, 2006 Não mostra linha não mas qdo vai pesquisar da este erro que descrevi..... Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Outubro 26, 2006 query1.Close; query1.SQL.Clear; query1.SQL.Add('select *'); query1.SQL.Add('from dados'); query1.SQL.Add('where dados.nomedono between :dtInicio and :dtFim'); query1.ParamByName('dtInicio').asDate:= dtInicio.Date; query1.ParamByName('dtFim').asDate:= dtFim.Date; query1.Open; O erro seu esta na linha marcada em vermelho... no caso você se confundiu.... utilizando o campo nome do dono que no caso é texto, com um between, que serve pára intervalo de valores, datas.... e ai deu Tipo Trocado na Expressão.... troque o campo em vermelho por um do tipo data e ele irá filtrar... Espero ter ajudado.... http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif/> Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 26, 2006 Realmente, isso é erro com campo string, de uma olhada ainda se o seu campo dataabertura é do tipo Date no BD... Compartilhar este post Link para o post Compartilhar em outros sites
Ådriano 9 Denunciar post Postado Outubro 26, 2006 então vamos la.....este é o código que useiquery1.Close;query1.SQL.Clear;query1.SQL.Add('select *');query1.SQL.Add('from dados');query1.SQL.Add('where dados.dtemprestado between :dtInicio and :dtFim');query1.ParamByName('dtInicio').asDate:= dtInicio.Date;query1.ParamByName('dtFim').asDate:= dtFim.Date;query1.Open;o campo dtemprestado é do tipo data agora mas mesmo assim continua dando o mesmo erro.....(será que só acontece comigo ...rsrsrsr),Então só para lembrar estou usando tabelas paradox e componentes da paleta bde.....mesmo assim ta dando o mesmo erro VIXI que treta feia.... Compartilhar este post Link para o post Compartilhar em outros sites
Ådriano 9 Denunciar post Postado Outubro 26, 2006 Consegui que erro tão infantil....eu tinha trocado o campo para data mas não tinha salvo ....puxa que vergonha....Mas muito obrigado a todos vcs que novamente me deram esta luz deu certinho depois que consertei o campo.......Meu muito obrigado e sinseras desculpas pela falta de atenção com o campo....valeu gente até a próxima.... Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 26, 2006 :P/> Acontece http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif/> Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Outubro 27, 2006 rsrs... Acontece nos melhores programas.... vamos fingir que ninguem viu!!!! http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif/> abraço!!! Compartilhar este post Link para o post Compartilhar em outros sites
Ådriano 9 Denunciar post Postado Outubro 28, 2006 Agora a duvida é a seguinte:Códigoquery1.Close;query1.SQL.Clear;query1.SQL.Add('select *');query1.SQL.Add('from dados');query1.SQL.Add('where dados.dtemprestado between :dtInicio and :dtFim');Query1.SQL.Add('and Dados.Checkemprestimo');query1.ParamByName('dtInicio').asDate:= dtInicio.Date;query1.ParamByName('dtFim').asDate:= dtFim.Date;query1.Open;estou colocando mais um campo da tabela para pesquisar (este campo é um campo Lógico)mas sempre da erro na linha deste campo..... E agora meus amigos....??? Compartilhar este post Link para o post Compartilhar em outros sites