Ir para conteúdo
Fórum Script Brasil

Eduardo - São Paulo

Membros
  • Total de itens

    12
  • Registro em

  • Última visita

Sobre Eduardo - São Paulo

  • Data de Nascimento 05/07/1971

Contatos

  • MSN
    clovis_eduardo@hotmail.com

Perfil

  • Gender
    Male
  • Location
    Assis

Eduardo - São Paulo's Achievements

0

Reputação

  1. Sandrelle, é o seguinte, vamos ver se resolvemos os dois ítens de uma só vez: Utilizo um RadioGroup para que dados serão filtrados(no meu caso - Nome - CPF - RG) (RgProcura) Utilizo um Edit para Digitar (EdtPes) Um DBGrid para mostrar os Dados na tela Uma Query que aqui chamarei de ADOCli e um DataSource ligado no DBGrid Este é um código que utilizo para fazer a filtragem de acordo com o que é digitado e foi selecionado em um RADIOGROUP eu coloco este código no ONChange do EDIT procedure TForm.LocReg(Sender: TObject); begin Case RgProcura.ItemIndex Of 0:Begin AdoCli.Close; AdoCli.SQL.Clear; AdoCli.SQL.Add('Select * From CadCli '); AdoCli.SQL.Add('Where Cli_Nom ' + ' Like ' + QuotedStr(EdtPes.Text +'%')); AdoCli.ExecSQL; AdoCli.Active:= True; End; 1:Begin AdoCli.Close; AdoCli.SQL.Clear; AdoCli.SQL.Add('Select * From CadCli '); AdoCli.SQL.Add('Where Cli_CPF ' + ' Like ' + QuotedStr(EdtPes.Text +'%')); AdoCli.ExecSQL; AdoCli.Active:= True; End; 2:Begin AdoCli.Close; AdoCli.SQL.Clear; AdoCli.SQL.Add('Select * From CadCli '); AdoCli.SQL.Add('Where Cli_RG ' + ' Like ' + QuotedStr(EdtPes.Text +'%')); AdoCli.ExecSQL; AdoCli.Active:= True; End; End; end; Quando mostrar o resultado e você quizer mandar ele para o outro form (Form de Cadastro) eu utilizo o ONDblClick do Grid e fecho o form quando dou dois cliques nele, assim o ítem será mostrado no Form de Cadastro - acontece que como você utiliza o DB, quando um for fechar tem que fazer um locate do ítem que você selecionou na tabela que você utiliza para mostrar no cadastro de cliente e dai sim fechar... Como você disse que já sabe como filtrar apenas o ítem desejado, fica fácil ... faça isso no OnDblClick do DBGrid Espero que tenha ajudado, ou te dado uma idéia... Abraços Eduardo
  2. Para você mostrar em um EDIT os valores que esta selecionando no TreeView, você pode fazer assim: no evento OnClique do TreeView, insira o seguinte código: 1) Tree é o nome dado ao meu Componente TREEVIEW 2) No meu caso tenho vários níveis para um plano de contas Somente um exemplo OK (1.00) = 01 - ENTRADAS (RECEBER) (1.10) = 01.001 - OPERACIONAIS (RECEBER) (1.01) = 01.001.01 - RECEBIMENTO EM DINHEIRO (RECEBER) (1.02) = 01.001.02 - RECEBIMENTO EM CHEQUE (RECEBER) (1.03) = 01.001.03 - RECEBIMENTO EM CARTÃO (RECEBER) (1.20) = 01.002 - NÃO OPERACIONAIS (RECEBER) (1.30) = 01.003 - DIVERSAS (RECEBER) (2.00) = 02 - SAÍDAS (PAGAR) (2.10) = 02.001 - OPERACIONAIS (PAGAR) (2.01) = 02.001.01 - PAGAMENTO EM DINHEIRO (PAGAR) (2.02) = 02.001.02 - PAGAMENTO EM CHEQUE (PAGAR) (2.20) = 02.002 - NÃO OPERACIONAIS (PAGAR) procedure TForm1.MostraNome(Sender: TObject) Var Geral, sRed, sCod1, sCod2, sCod3, N1, N2, N3: String; begin //Quando estiver no primeiro nível If (Tree.Selected.Level = 0) Then Begin // Nome completo do ítem selecionado por exemplo = (1.00) = 01 - ENTRADAS (RECEBER) Geral:= Tree.Selected.Text; // Somente o código exemplo = 1.00 sRed:= Trim(Copy(Tree.Selected.Text,2,Pos(')', Geral)-2)); // Somente o código e seu número exemplo = 1.00 = 01 Cod1:= Trim(Copy(Tree.Selected.Text,1,Pos('-', Geral)-1)); // Somente seu número exemplo = 01 N1 := Trim(Copy(Tree.Selected.Text,10,Pos('-', Geral)-10)); End; //Quando estiver no segundo nível If (Tree.Selected.Level = 1) Then Begin // Nome completo do ítem selecionado por exemplo = (1.10) = 01.001 - OPERACIONAIS (RECEBER) Geral:= Tree.Selected.Text; // Copia o número = 1.10 sRed:= Trim(Copy(Tree.Selected.Text,2,Pos(')', Geral)-2)); // Copia o número = 01 Cod1:= Trim(Copy(Tree.Selected.Text,10,Pos('.', Geral)-1)); // Copia o número = 001 Cod2:= Trim(Copy(Tree.Selected.Text,13,Pos('.', Geral))); // Copia o número = 01.001 N2:= Trim(Copy(Tree.Selected.Text,10,Pos('-', Geral)-10)); End; //Quando estiver no terceiro nível If (Tree.Selected.Level = 2) Then Begin // Nome completo do ítem selecionado por exemplo = (1.01) = 01.001.01 - RECEBIMENTO EM DINHEIRO (RECEBER) Geral:= Tree.Selected.Text; // Copia o número = 1.01 sRed:= Trim(Copy(Tree.Selected.Text,2,Pos(')', Geral)-2)); // Copia o número = 01 Cod1:= Trim(Copy(Tree.Selected.Text,10,Pos('.', Geral)-1)); // Copia o número = 001 Cod2:= Trim(Copy(Tree.Selected.Text,13,Pos('.', Geral))); // Copia o número = 01 Cod3:= Trim(Copy(Tree.Selected.Text,17,Pos('-', Geral)-17)); // Copia o número = 01.001.01 N3:= Trim(Copy(Tree.Selected.Text,10,Pos('-', Geral)-10)); End; end; A questão toda é você verificar como vai implementar seu TreeView e depois fazer como no exemplo que estou passando ... para mostrar no edit fica fácil né é só atribuir o valor da variável no edit e pronto... Espero que tenha resolvido seu problema ... Abraços Eduardo Analista de Sistemas
  3. Jhonas o código que você postou, foi retirado do seguinte endereço http://delphi.about.com/od/usedbvcl/l/aa082101a.htm, e você não deve ter se atentado ao detalhe de que neste exemplo, o gráfico é feito em tipo BARRAS, e não PIZZA, que ele não tem legendas, e tb não utiliza a legenda com o movimento do mouse, exatamente os ítens que desejo e preciso resolver. Montar o gráfico como no exemplo esta feito. As dúvidas não consiste em montar mas sim no que esta errado em não aparecer a "COR" na legenda e como fazer para mostrar com o mouse .... Mesmo assim obrigado por tentar
  4. Jhonas, já fiz isso sim... conforme pode verificar em meu código... O exemplo do próprio delphi é para resoluções digamos simples... são gráficos já prontos que utilizam na maioria acessos randômicos. Postei aqui minha dúvida pois realmente já fiz muitas buscas. Desenvolvi todo meu gráfico de Barras do ZERO, utilizo até 15 Querys em determinados resultados, mostrando filtragens por dia, semana, quinzenal ou mensal. Há um formulário que você determina este ítem como tb o grupo de clientes, outro se é apenas um único cliente, vários clientes, ou todos clientes, se você quer ver o resultado de todos selecionados ou apenas os TOP mais, neste caso você seleciona a qtd de TOP mais... ou seja esta muito funcionando perfeito o gráfico em BARRAS... O problema é fazer isso no gráfico de PIZZA, quando a geração será feita comparando um com o outro... neste gráfico o meu problema como falei é que após criar-lo, o que faço e dá certo, as legendas esta aparecendo sem a cor respectiva ou seja só aparece na legenda o nome do cliente, e tenho um ítem no gráfico em Barras que utilizo para legenda que é composto de um SHAPE onde mostra a cor do gráfico, um label que mostra o nome do cliente e outro que mostra o valor, no gráfico de pizza não estou conseguindo fazer aparecer corretamente, a cor no shape não aparece seguindo onde o mouse esta, os nomes e valores tb não.... Atenciosamente Eduardo
  5. Boa tarde a todos, estou com um problema na geração de gráficos utilizando o DBChart (em DELPHI 7). Após quebrar muito a cabeça e várias pesquisas, consegui executar meu gráfico no TIPO BARRAS, este esta funcionando perfeitamente, mas quando fui tentar utilizar os mesmos princípios para a geração do gráfico TIPO PIZZA (TPIESERIES), ocorreu alguns problemas: 1º) A legenda apareçe apenas os nomes e a cor de cada cliente selecionado não aparece. 2º) Não consigo fazer mostrar o nome, a cor e o valor quando passa o mouse, coisa que no gráfico de barras já fiz. Alguém poderia me dar um auxílio.. Abaixo segue o código de como estou realizando este processo. Gráfico em BARRAS - esta OK If Qry1.RecordCount <> 0 Then Begin // Variável para a Cor iCor:= 0; Qry1.Active:= True; Qry1.First; For iFor1:= 0 To Qry1.RecordCount -1 Do Begin // ComboBox onde determino que tipo período Case CbSem.ItemIndex Of 0,1,2: Begin // Atribui a data a uma variável sDat:= Qry1.FieldByName('Dia').AsString; End; 3: Begin // Atribui a data a uma variável sDat:= Qry1.FieldByName('MesAno').AsString; End; End; // RadioGroup que determina o tipo de Valor para mostrar Case RgOrd.ItemIndex Of 0: Begin dValor:= Qry1.FieldByName('Qtd').AsFloat; End; 1: Begin dValor:= Qry1.FieldByName('Total').AsFloat; End; 2: Begin dValor:= Qry1.FieldByName('Comissao').AsFloat; End; End; // Cria a série do Gráfico tipo BARRA Grafico.AddSeries(TBarSeries.Create(Self)); // Busca a COR na função de cores iCor:= fGraCor(iNum); // Atribui a Cor na variável STRING sCor:= ColorToString(iCor); // Determina a COR Grafico.Series[iFor1].SeriesColor:= StringToColor(sCor); // Coloca o nome da série com o nome do CLIENTE Grafico.Series[iFor1].AddY(dValor, sDat, iCor); // Diz que o ítem a ser mostrado será o VALOR Grafico.Series[iFor1].Marks.Style:= smsValue; // Coloca o nome da série com o nome do CLIENTE Grafico.Series[iFor1].Title:= Qry1.FieldByName('Nome').AsString; // Atribui o Nome do CLIENTE a variável sNom:= Qry1.FieldByName('Nome').AsString; GraLeg(iNum); iNum := iNum + 1; iSer0:= iSer0 + 1; Qry1.Next; End; //***** Legenda *****\\ For iFor1:= 0 To Grafico.SeriesCount - 1 Do Begin GraSer(iFor1); End; End; Gráfico em PIZZA - (COM PROBLEMAS) If Qry1.RecordCount <> 0 Then Begin // Variável para a Cor iCor:= 0; Qry1.Active:= True; Qry1.First; For iFor1:= 0 To Qry1.RecordCount -1 Do Begin // ComboBox onde determino que tipo período Case CbSem.ItemIndex Of 0,1,2: Begin // Atribui a data a uma variável sDat:= Qry1.FieldByName('Dia').AsString; End; 3: Begin // Atribui a data a uma variável sDat:= Qry1.FieldByName('MesAno').AsString; End; End; // RadioGroup que determina o tipo de Valor para mostrar Case RgOrd.ItemIndex Of 0: Begin dValor:= Qry1.FieldByName('Qtd').AsFloat; End; 1: Begin dValor:= Qry1.FieldByName('Total').AsFloat; End; 2: Begin dValor:= Qry1.FieldByName('Comissao').AsFloat; End; End; // Cria a série do Gráfico tipo PIZZA Grafico.AddSeries(TPieSeries.Create(Self)); // Busca a COR iCor:= fGraCor(iNum); // Atribui a Cor na variável STRING sCor:= ColorToString(iCor); // Determina a COR Grafico.Series[0].SeriesColor:= StringToColor(sCor); // Coloca o nome da série com o nome do CLIENTE Grafico.Series[0].Add(dValor, sDat, iCor); // Diz que o ítem a ser mostrado será o VALOR Grafico.Series[0].Marks.Style:= smsValue; // Coloca o nome da série com o nome do CLIENTE Grafico.Series[0].Title:= Qry1.FieldByName('Nome').AsString; // Coloca o nome da série com o nome do CLIENTE Grafico.Series[0].LegendItemColor(iCor); // Atribui o Nome do CLIENTE a variável sNom:= Qry1.FieldByName('Nome').AsString; GraLeg(iNum); iNum := iNum + 1; iSer0:= iSer0 + 1; Qry1.Next; End; //***** Legenda *****\\ For iFor1:= 0 To Grafico.SeriesCount - 1 Do Begin GraSer(iFor1); End; End; A legenda esta feita da seguinte forma procedure EstLeg(Sender: TObject; Shift: TShiftState; X,Y: Integer); Var t: Longint; procedure HitSeries(ASeries:TChartSeries); Var tmp: Longint; iCor: Integer; begin tmp:= ASeries.Clicked(x,y); If tmp <> -1 Then Begin Case FrmGesRelProPacRea.RgOrd.ItemIndex Of 0: LblVal.Caption:= FloatToStr(ASeries.GetMarkValue(tmp)); 1: LblVal.Caption:= FormatFloat('R$ #,##0.00', ASeries.GetMarkValue(tmp)); 2: LblVal.Caption:= FormatFloat('R$ #,##0.00', ASeries.GetMarkValue(tmp)); End; ShCor.Brush.Color:= ASeries.ValueColor[tmp]; iCor:= fGraHin(ASeries.ValueColor[tmp]); LblDat.Caption:= Grafico.Series[0].Title; end; begin LblDat.Caption:= ''; LblVal.Caption:= ''; For t:=0 To Grafico.SeriesCount-1 Do Begin HitSeries(Grafico.Series[t]); End; LblDat.Visible:= LblDat.Caption <> ''; LblVal.Visible:= LblVal.Caption <> ''; If (LblVal.Caption <> '') = True Then Begin ShCor.Visible:= True; End Else Begin ShCor.Visible:= False; End; end;
  6. Voce está certo, e já existem softwares prontos para tal finalidade ... mas vou ver se acho alguma coisa mais acessível. abraço Jhonas, agradeço sua ciatação e o seu auxilio, fico no aguardo de uma possível resposta Abraço e Obrigado
  7. Paulo, Obrigado pela sua ciatção. Acontece que se formos pela lógica, eu tambem consigo diferente do que você citou, dados como recursos que estão sendo utilizados nos micros que eu selecionar através de API do Windows, então seguindo este raciocínio, creio que deva haver uma rotina na qual eu possa indicar o endereço como IP ou Nome do Micro que desejo obter as informações como Nº de série do HD do PC selecionado. Esta lógica deve-se pelo seguinte motivo principal se esta sendo localizado o nº serial do HD no micro onde se tem o processo em execução, este deve indicar um caminho para a busca desta informação, então quer dizer que se eu alterar este caminho deve me resultar em um processo do modo que necessito. Mesmo assim agradeço sua citação vou pesquisar a respeito. Mas ficarei no aguardo de alguém mais poder me auxiliar para tentarmos solucionar este processo.
  8. Bom dia. Por favor alguém poderia me auxiliar na seguinte questão: Desenvolvi um processo no qual eu localizo todos os PC´S que estão na rede e os coloco em um TreeView. Quando seleciono o PC no TreeView, eu obtenho os seguintes dados: IP do PC selecionado Nome do PC selecionado Minha questão é a seguinte, precisava obter os seguintes dados: Nome do usuário do PC selecionado Número de Série do HD (físico) do PC selecionado Número de Série da CPU do PC selecionado Sistema Operacional do PC selecionado estes dados eu consigo apenas do PC que estou utilizando a rotina e não dos que eu selecionei... alguém sabe como faço para obter essas informações
  9. Anderson eu agradeço pela ajuda. Estou iniciando em ASP e não sabia bem como executar essa concatenação. Muito obrigado mesmo... Abraços
  10. Olá pessoal. Bom antes de mais nada, sou novo aqui e também na linguagem ASP. Encontrei aqui um exemplo mostrado pela andreia_sp, local: "http://scriptbrasil.com.br/forum/index.php?showtopic=83196", a consegui executá-lo muito bem. Só que tenho um problema que não consigo resolver, é o seguite. Tenho na verdade a seguinte estrutura: combo A - Estado combo B - Regiões combo C - Sub Regiões combo D - Cidades Quando seleciono um ítem no "Combo A" após ter carregado ele, carrego tambem o "Combo B" e o "Combo D", até aí através do exemplo postado pela andreia_sp consegui. Mas quando seleciono um ítem no "Combo B", não consigo carregar o "Combo C" e o "Combo D". No exemplo, neste trecho a seguir somente consegi enviar um ID para uma variável no meu formulário em asp, sendo que para executar a seleção no "Combo B", necessito de dois ID ( o do "Combo A" e do Combo B") como posso faze-lo... var url="seleciona_cidade.asp" url=url+"?id_estado="+str url=url+"&sid="+Math.random() xmlHttp.onreadystatechange=stateChanged xmlHttp.open("GET",url,true) xmlHttp.send(null) Onde STR é valor que foi selecionado no combo. Neste caso foi selecionado o Estado e preenchido as Cidades com o valor do Estado passado através do str. No meu caso se eu selecionar o "Combo B" que seria REGIÃO, obteria como STR o valor do "Combo B", mas é do combo A, como faço para passa-lo também pois até mostralo no formulário ajax eu consigo, mas na hora de passar para receber no formulário asp, não consigo: id_estado = request.querystring("id_estado") - este não consigo. id_regiao = request.querystring("id_regiao") - este ok Há alguma forma de concatenar as variáveis por exemplo "url=url+"?id_regiao="+str+"?id_regiao="+estado tendo em vista que obter o estado é fácil. var Estado = document.getElementById('estados').value
×
×
  • Criar Novo...