Ir para conteúdo
Fórum Script Brasil

Arlon

Membros
  • Total de itens

    371
  • Registro em

  • Última visita

Tudo que Arlon postou

  1. É, concordo contigo não entendi.
  2. Fecha nãããããão!! O que é um registro do Windows?? E o que seria a sua chave??
  3. Só não entendi uma coisa: o que que os tais dos arquivos .LCK têm a ver com a história??
  4. Uma maneira simples de se fazer isso: procedure TFrmPesquisaNome.BtnOKClick(Sender: TObject); begin DM.QrConsClientes.Close; DM.QrConsClientes.SQL.Text := 'Select * from Clientes ' + 'Where Upper(Cliente) Like :ClienteBusca'; DM.QrConsClientes.Params[0].AsString := UpperCase(Edit1.Text + '%');// **** DM.QrConsClientes.open; FrmConsClientes.ShowModal; Close; end; **** com esse código se você tiver no banco um cara chamado Marcelo da Silva a consulta retorna esse registro, mesmo que você digite apenas Marcelo (ou então, apenas a letra M) na hora da consulta. Caso queira que o usuário digite o nome completo na busca ponha: DM.QrConsClientes.Params[0].AsString := UpperCase(Edit1.Text); e na linha do parâmetro do código do botão coloque: 'Where Upper(Cliente) =:ClienteBusca' Qualquer coisa, poste aí.
  5. O certo não seria: Query.sql.add('Select * from Classificacao where DataColeta = :data); // ou seja, tira o ".db". Quando você for fazer uma pesquisa não precisa por a extenção, ponha só o nome da tabela. query.parambyname('data').asdate := data; Bem Ricardo, qualquer coisa poste aí.
  6. Arlon

    Livros Delphi

    Sinceramente não conheço nenhum, mas como o nosso amigo aí indicou-os, eles devem ser bons. Diabloline, caso queira desembolsar mais uma grana (tipo, uns R$ 180,00 mais ou menos), aconselho que compre a Bíblia do Delphi, não sei se você conhece, o livro tem mais de 1000 páginas e é revisto e atualizado após cada nova versão lançada do Delphi. Além de códigos, ele traz todas (se não me engano) as mensagens de erro que o Delphi mostra quando agente erra alguma coisa.
  7. Arlon

    Ajuda!

    Não entendi o que você tá querendo. 1) o que você quer somar? valores(R$)? ou 2) strings. Tipo "somar" o que escrito no memo com o que está escrito o edit, em outras palavras, concatenar as strings?
  8. Por exemplo, se você quizer imprimir uma nota fiscal feita emum RichEdit, pode fazer o seguinte: coloque um componente PrintDialog (paleta Dialog), e no botão "Imprimir" coloque isso: if PrintDialog1.Execute then begin RichEdit1.Print('Nota Fiscal'); end;
  9. Que tipo de busca você quer fazer, as do tipo filtragem? Por exemplo, buscar todos os registros em que o nome contém "Marcelo", é isso que você quer?
  10. Amigo, eu não sei responder a sua dúvida, mas tenho uma observação a fazer: Moderadores não são deuses que sabem tudo, se alguém até agora não respondeu a sua dúvida é porque ninguém encontrou uma solução pra ela ainda. Os moderadores foram as pessoas escolhidas para organizar as seções e não sair respondendo o que sabem e o que não sabem; portanto, tenha um pouco de paciência, procure em outros sites, enfim, espere um pouco pra ver se a solução aparece.
  11. uhUHuHUAGAUEHUAHUUUUU Essa foi a melhor do ano!! -------- Ah, e vamos acabar com essa discussão sobre bandas e estilos que isso não leva a nada, cada um curte o seu e vai achar sempre que suas bandas preferidas são melhores que as de Fulano e Cicrano, certo.
  12. Arlon

    Quick Report

    Vai nos sites do tópico fixo de Links! Eu recomendo o Planeta Delphi, lá tem uma ferramenta de busca e tem apostilas muito boas é só você se cadastar e usar
  13. Por acaso as colunas não ultrapassaram os limites das margens dos relatórios?? Dê uma olhada no Obj. Inspector na propriedade "Pages" ou então dê um duplo clique no ralatório, faz uns tstes aumentado as margens e veja se isso resolve.
  14. Faça o seguinte: Substitua o dbedit respectivo ao cpf por um maskedit e ponha o seguinte código no OnExit dele: procedure TForm1.MaskEdit1Exit(Sender: TObject); var cod : string; Begin if BtnCancelar.Focused = false then begin DataModule.Tabela.Cancel; if (trim(MaskEdit1.text) <> '') and then begin cod := MaskEdit1.text; if DataModule.Tabela.FindKey([cod]) then begin Showmessage('CPF já cadastrado.'); MaskEdit1.SetFocus; end else begin MaskEdit1.Enabled := false; DBEdit2.SetFocus; DataModule.Tabela.Append; end; end; end; end; no evento OnChange do maskedit ponha o seguinte: DataModule.Tabela.Cancel; if (trim(Maskedit1.text) <> '') then cod := Maskedit1.text; if (DataModule.Tabela.FindKey([cod])) then begin BtnOK.Enabled := false; end; if (DataModule.Tabela.FindKey([cod])) or (MaskEdit1.Text = '') then begin BtnOK.Enabled := False; end else begin BtnOK.enabled := True; end; DataModule.Tabela.Append; end; o primeiro código verifica na saída do maskedit e o segundo código verifica no momento em que você escreve no maskedit se já existe um código igual aquele que está escrito e se estiver ele não desabilita o botão ok. Outra coisa, no botão ok inclua uma linha de código assim: DataModule.TabelaCPF := MaskEdit1.Text; //faça a devida conversão caso seja necessária. Quando for editar o registro e chamar o formulário faça o seguinte: MaskEdit1.text := DataModule.TabelaCPF.Value; No evento Onshow do formulário desabilite o botão ok, e quando for editar um registro desabilite o maskedit para que o cpf não possa ser alterado e não caia na rotina do OnChange nem do OnExit pois essas rotinas criam um novo registro (Tabela.Append) ---------------------------- Galera estive meio sumido do fórum porque eu tava até a tampa de trabalho, virando noite o os c****** trabalhando, tava f***, mas fazer o q né, tenho q ganhar dinheiro, estou voltando aos poucos agora.
  15. Pow, não quero esculachar, desculpe se me expressei mal... mas a piada é fraquinha!! Viva o Heavy Metal!! e abaixo ao Nirvana, viva o Guns n´ Roses, a maior banda de rock do mundo!!
  16. Essa foi a PIOR piada do ano!! huahuahauhahuauhahuahuhuauhauuuuuuu
  17. Arlon

    Controle De Acesso

    Seria melhor se você desabilitasse o botão ou comando de menu que chama esse formulário, tipo assim: ProcedureTFormXXXShow... if DataModule.QueryCampo = 'usuário' then BtnFormCadstro.Enabled := false; end; end. é só uma idéia, mas faça o seguinte: tem um tópico fixo de links (he, he, foi eu que postei) aqui na seção de delphi e ele tem exatamente o que você quer, dê uma olhadinha e posta aí depois caso continue com alguma dúvida.
  18. Arlon

    Pesquisa Entre Datas

    Resolvido!! O certo seria assim: DM.QrRelatPed.Close; DM.QrRelatPed.SQL.Clear; DM.QrRelatPed.Sql.Text := 'Select Data, OS, Desc_od, Fab_od, Desc_oe, Fab_oe, Total from Pedidos ' + 'Where Data between :DataInicial and :DataFinal'; DM.QrRelatPed.ParamByName('DataInicial').AsDate := StrToDate(MaskEdit1.Text); DM.QrRelatPed.ParamByName('DataFinal').AsDate := StrToDate(MaskEdit2.Text); DM.QrRelatPed.Prepare; DM.QrRelatPed.open; Close; pode fechar...
  19. Como fazer uma pesquisa por data usando parâmetros, ou seja, a propriedade params da Query receber o que está sendo digitado em um Edit ou MaskEdit. Pra fazer uma pesquisa por data simples eu uso o código abaixo e ele funciona. DM.QrConsPedidos.Close; DM.QrConsPedidos.Sql.Text := 'Select Cliente, Data, Hora, Atendente, Total From Pedidos ' + 'Where (Data) =:DataBusca'; DM.QrConsPedidos.Params[0].AsDate := StrToDate(MaskEdit1.Text); DM.QrConsPedidos.open; Close; Agora, como seria uma pesquisa entre datas com os textos do Edit ou MaskEdit sendo passados como parâmetros? Eu tentei o código abaixo, mas não deu certo. Agradeço qualquer ajuda. DM.QrRelatPed.Close; DM.QrRelatPed.SQL.Text := 'Select Data, OS, Desc_od, Fab_od, Desc_oe, Fab_oe, Total from Pedidos ' + 'Where Data Between (Data =:DataBusca1) and (Data =: DataBusca2)'; DM.QrRelatPed.Params[0].AsDate := StrToDate(MaskEdit1.Text); DM.QrRelatPed.Params[1].AsDate := StrToDate(MaskEdit2.Text); DM.QrRelatPed.open; O erro que dá quando eu executo o código acima é: "EDBEEngineError with message 'Invalid use of keyword' Token: =?) Line number: 1'
  20. Arlon

    Socorro Dbe

    você pode pegar o BDE no Super Downloads ele é free. Agora configurar são outros 500, eu tava com uns problemas para configurá-lo em rede e ainda estou procurando uma solução. Agora se você for usar em casa mesmo ou não for usá-lo em rede não precisa configurar nada, é só instalar e definir os caminhos dos seus aliases. Seguinte, vai nos sites da primeira resposta (a do Corposemalma) do tópico fixo de links q com certeza tem alguma informação útil pra vc.
  21. Se você estiver usando o NMSMTP é só ir no evento OnSuccess dele e digitar algo como: ShowMessage('Mensagem enviada com êxito!');
  22. Aí galera, alguém sabe a linha de comando para compilar um programa feito em Clipper?
  23. Alessandro, você ão precisa verificar todos os campos da tabela, apenas o campo chave primária, quando você registra duas chaves primárias com o mesmo valor o Delphi retorna a msg de erro Key Violation (violação de chave... dããããã). No campo chave primária, substitua o DBEdit por um MaskEdit e ponha o seguinte código no evento OnExit dele: procedure TFrmCadastro.MaskEdit1Exit(Sender: TObject); var cod : string; Begin if BtnCancelar.Focused = false then begin //se o foco sair do maskedit pro botão cancelar ele não roda o código abaixo DM.TBCadastro.Cancel; if (trim(MaskEdit1.text) <> '') then begin cod := MaskEdit1.text; if DM.TBCadastro.FindKey([cod]) then begin Showmessage('Cadastro já efetuado.'); MaskEdit1.SetFocus; end else begin DBEdit2.SetFocus;//o próximo campo após o MaskEdit DM.TBCadastro.Append;//já q não existe o registro é criado um end; end; end; end; end.
  24. Simples: se você fizer o sistema de logon usando Query, é só pegar o valor do campo login da Query (Query1Login.Value;//, por exemplo) e "jogá-lo" no Label, por exemplo: Label1.Caption := Quey1Logon.Value; ou então, uma outra forma também bem simples: Label1.Caption := FrmAcesso.DBEdit1.Text;
  25. Arlon

    Delphi E Sql

    Pegar um dado pra editá-lo? Se for isso é só fazer a busca e dapois dar um "edit" na tabela.
×
×
  • Criar Novo...