Ir para conteúdo
Fórum Script Brasil

Vivendo&Aprendendo

Membros
  • Total de itens

    856
  • Registro em

  • Última visita

Tudo que Vivendo&Aprendendo postou

  1. Olá Você pode utilizar a função WinExec; Abraços
  2. Ae pessoal estou migrando minhas aplicações para mysql e gostaria de saber como eu faço para exportar minha base de dados de Access para MySql, uso o Access 2003, MySql 5.1 e MySql Front para gerenciar os bancos. Alexandre
  3. Olá Greed! Na verdade você perguntou sobre o DbCombobox, mas está bem. Deixa eu te dar uma dica, não sei na verdade o porque do seu interesse em fazer usando o Combo, mas ai vai uma dica: Eu utilizo um ComboBox para selecionar em qual campo da tabela eu quero fazer a busca e um edit para buscar determinado registro nesta tabela e neste campo selecionado no Combo. Ai sim uso esse código que te passei que conforme eu vou digitando no Edit ele vai eliminando os registros que não coincidem com o que está sendo digitado. Outra opção é utilizar um edit e no evento onchange este código que auto completa o edit com os dados da tabela: procedure TFrmSaidas.EdtNomeChange(Sender: TObject); Var Aux : Integer; begin TABELA.Close; TABELA.Open; if TABELA.Locate('Nome',copy(Edit1.Text,1,Edit1.SelStart),[loCaseInsensitive,loPartialKey]) then begin Edit1.OnChange := nil; // Não ativar o evento agora. Aux := Edit1.SelStart; // Posição do cursor no EditFornecedor Edit1.Text := TABELA.FieldByName('Nome').AsString; // Foi o que encontramos pois o codigo só passa por aqui se existe a informação Edit1.SelStart := Aux; // Atualizamos a posição do cursor. Edit1.OnChange := Edit1Change; // Agora podemos chamar novamente. end; end; Qualquer coisa posta ai... Abraços
  4. Olá Denis Li sua resposta e gostaria de saber se pode me explicar o que é e como funciona o TABLE SCAN pois eu uso a consulta como abaixo e ai surgiu a curiosidade de saber o que é isso e se minhas consultas podem melhorar ou estão da forma correta... TABELA.Close; TABELA.SQL.Clear; TABELA.SQL.Add('SELECT * From TABELA); TABELA.SQL.Add('Where CAMPOLike :pCli '); TABELA.SQL.Add('Order By Codigo'); TABELA.Parameters[0].Value := Edit1.Text + '%'; TABELA.Open; Abraços
  5. Olá frnd! Se você deseja que seu form seja fechado em 5 segundos, então faça da seguinte forma: 1 - observe o que o colega Denis Courcy falou a respeito do Timer estar no form que será fechado; 2 - o laço que ele disse ficará da seguinte forma: Var I : Integer; begin Timer1.Enabled := True; For i := 1 to Timer1.Interval do If i = 5000 Then Form1.Close; end; Esse código deve estar no evento OnTimer do Timer. 5000 é o tempo de milisegundos que o form ficará aberto, ou seja, 5 sefundos, esse tempo deve ser declarado na propriedade Interval do componente. Espero ter ajudado. Abraços
  6. Olá Pirambu! Eu utilizo Access em algumas aplicações minhas e faço da seguinte forma para usa-lo em rede: - Criei dois arquivos: um que contém a string de conexão (ADOConection) e outro com o caminho do banco de dados); - Quando abro o sistema ele vai la nos arquivos e verifica a exsitencia do arquivo de banco de dados; - Caso não encontre ele me envia uma mensagem e abre um OpenDialog para eu selecionar o caminho do Banco de Dados; - A string de conexão do Ado Conection eu a deixo em branco, para que ela possa ser preenchida pelos dados que contém no arquivo. Mais ou menos é isso ai... Qualquer coisa posta ai.. Abraços Alexandre
  7. Olá Leandrocap!!! Segue abaixo a lista de definições de caracteres para mascaras: ! Faz com que a digitação da máscara fique parada no primeiro caracter, fazendo com que os caracteres digitados que se movam. Ex: !;0;_ > Todos os caracteres digitados serão convertidos para maiúsculas. Ex: >aaa;0;_ < Todos os caracteres digitados serão convertidos para minúsculas. Ex: <> Anula o uso dos caractes > e <, ou seja, utilizado para cancelar a opção de máscara para os caracteres a direita. Ex: >aaa<>aaa;0;_ \ Utilizado para marcar determinado caracter não especial como fixo. Ex: !\(999\)000-0000;0;_ L Exige caracteres alfabéticos obrigatórios para a posição, do tipo A-Z, a-z. Ex: LLL;1;_ l Somente caracteres alfabéticos para a posição, mas não-obrigatórios, do tipo A-Z, a-z. Ex: lll;1;_ A Exige caracteres alfanuméricos obrigatórios para a posição, do tipo A-Z, a-z, 0-9. Ex: AAA;1;_ a Somente caracteres alfanuméricos para a posição, mas não-obrigatórios, do tipo A-Z, a-z, 0-9. Ex: aaa;1;_ C Requer um caracter obrigatório para a posição. Ex: CCC;1;_ c Permite o uso de qualquer caracter para a posição, limitando apenas o número de caracteres. Ex: ccc;1;_ 0 Exige caracteres numéricos obrigatórios para a posição, do tipo 0-9. Ex: 000;1;_ 9 Somente caracteres numéricos para a posição, não-obrigatórios, do tipo 0-9. Ex: 999;1;_ # Somente caracteres numéricos para a posição e o uso dos sinais de - ou +, não-obrigatórios. Ex: ###;1;_ : Utilizado como separador de horas, minutos e segundos. / Utilizado como separador de dia, mês e ano. Veja ai qual resolve o seu problema é boa sorte....... Como o Kiko mencionou você deverá usar o 9 ou o 0 para fazer sua mascara........ Abraços
  8. Olá pessoal Estou com um HD de um cliente que sem mais ou menos travou, e quando ligo o pc ele faz um barulho como se a agulha dele estivesse travada e também ele não é reconhecido na BIOS, existe alguma forma de recuperar os dados deste HD sem ter que levar ele em firmas especializadas, pois na minha região não existem essas firmas? Alexandre
  9. Olá Micheus... Olha eu tenho os componentes Zeos, mas como faço para conectar ao banco não estou conseguindo. Desculpe ai, mas tem como fazer um tutorial básico para mim? Abraços Alexandre
  10. Olá Micheus e Jhonas, eu escolhi o mysql e já instalei tudo, agora como eu faço para conectar a aplicação com o banco de dados? É necessário usar ODBC ou não? Posso usar os componentes da ADO? Abraços Alexandre
  11. Olá Micheus e Jhonas, eu gostaria de migrar o meu banco para firebird ou outro banco que me possibilite fazer isso que estou querendo, mas não sei nada sobre firebird, não tenho muito conhecimento em delphi, apenas faço as aplicações com banco local... Onde posso encontrar o firebir? Qual a melhor versão? Como criar banco de dados nele? Existe algum gerenciador dele tipo o mysql-front? ou o DbTools? que gerencia a criação de banco, tabelas e campos? Abraços Alexandre
  12. Olá pessoal Vamos la Micheus Tenho uma aplicação em delphi 7, banco de dados em access, e acesso o banco por ADO, essa aplicação já esta em uso, ela foi instalada em 9 cidades, e pelo fato do dono viajar muito ele pediu para colocar o banco de dados de forma que onde ele estiver ele possa ter acesso aos dados de uma loja, a solução mais óbvia seria desenvolver um sistema no site para a empresa, mas eu não trabalho com sites e o sistema esta pronto e funcionando redondinho na empresa, então pensei em colocar o banco na internet seja em um ftp ou em outro lugar, o importante é que ele esteja na internet, para que o usuario leve apenas a aplicação com ele e em qualquer lugar ele instale o sistema e tenha o acesso as informações. Não sei por onde começar, tentei mudar a conexão do AdoConection para ele acessar o ftp mas não deu certo. Se alguém tiver outra maneira de fazer isso ou uma solução para essa forma, ficarei grato. Alexandre
  13. Nas minhas telas de vendas eu utilizo SQL no lugar de locate... ficaria mais ou menos assim no OnChange do edit AdoQuery.Close; AdoQuery.SQL.Clear; AdoQuery.SQL.Add('Select * From TABELA); AdoQuery.SQL.Add('Where Codigo Like :pCod '); AdoQuery.Parameters[0].Value := Edit1.Text; AdoQuery.Open; Flws Alexandre
  14. Olá pessoal Estou com um problemão.. pelo menos para mim. preciso colocar um banco em access em um ftp e conectar a minha aplicação em delphi 7 usando AdoConection com esse banco no ftp... não sei como fazer isso. Por favor alguém ai poderia me ajudar? Abraços Alexandre
  15. Deixe seu código assim: procedure TFrmLogin.BtnOkClick(Sender: TObject); begin Dm.tab_Usuarios.Open; FrmMenuPrin.StatusBar1.Panels[2].Text:= ' Usuário:' +FrmLogin.EdtApelido.Text + ' - ' + Dm.tab_UsuariosUsuDepto.AsSTring; if not (Dm.tab_Usuarios.Locate('UsuApelido', FrmLogin.EdtApelido.Text, [loPartialKey])) or (Dm.Tab_UsuariosUsuSenha.Value <> FrmLogin.EdtSenha.Text) then begin MessageDlg('Nome ou senha do usuário inválidos.'+#13+#13 + 'Se você esqueceu sua senha, consulte '+ #13 + 'o administrador do sistema', mtError, [mbOK], 0); EdtSenha.Clear; EdtSenha.SetFocus; end else begin FrmLogin.Hide; FrmMenuPrin.ShowModal; FrmLogin.Release; FrmLogin := Nil; end; end; end. Falta apenas um END; no final do seu código. Abraços
  16. Para utilizar o nome do componente basta indicar para a variável... Variavel := Componente.name; Abraços
  17. Ok vamos la por sequencia... [Error] ULogin.pas(46): Undeclared identifier: 'loPartialKey' Declare na Uses a Clausula DB para que ele aceite os LoPartialkey e o LoCaseinsensitive; [Error] ULogin.pas(46): Incompatible types: 'TLocateOption' and 'Integer' Esse erro indica que você esta comparando um número com um campo que não seja numérico.... como segue abaixo. Provavelmente ele ocorreu nesta linha de código abaixo, verifique se não existe algum campo numérico em seu banco de dados e você esteja comparando com outro tipo de campo if not (Dm.tab_Usuarios.Locate('UsuApelido', FrmLogin.EdtApelido.Text, [loPartialKey])) or (Dm.Tab_UsuariosUsuSenha.Value <> FrmLogin.EdtSenha.Text then Error] ULogin.pas(46): ')' expected but 'THEN' found [Error] ULogin.pas(60): ';' expected but '.' found Verifique a falta de um parenteses no final da linha do If.... Espero ter ajudado.... Abraços Alexandre
  18. Olá pessoal... Onde posso encontrar o componente para pegar um relatório no quick reports e exportar ele para Doc ou PDF? Abraços
  19. Resolvido, era o Close/Open do final do código acima....
  20. Olá pessoal, na minha aplicação quando cadastro ou altero um registro, e mando salvar ele demora muito para efetuar o procedimento e o engraçado é que isso só ocorre em um form, o de Alunos. Segue abaixo o código que uso no botão salvar: If ActiveMDIChild = FrmAlunos Then begin DSBotoes.DataSet.Post; DmDados.Log.Active := True; DmDados.Log.Append; DmDados.LogUsuario.value := Usu; DmDados.LogDataHora.Value := DateToStr(Date)+' - '+TimeToStr(Time); DmDados.LogAcessos.Value := DmDados.LogAcessos.Value + 'Alunos (Salvar); '; DmDados.LogMovimento.Value := 'Código: '+FrmAlunos.EdtCodigo.Text +' - '+ DmDados.AlunosNome.Value; DmDados.Log.Post; DmDados.Log.Active := False; for i := 0 to FrmAlunos.ComponentCount - 1 do if FrmAlunos.Components[i]is TCustomEdit then begin (FrmAlunos.Components[i] as TCustomEdit).Enabled := False; end; FrmAlunos.EdtBusca.Enabled := True; FrmAlunos.DbCbbMembro.Enabled := False; FrmAlunos.DBCbbEscolaridade.Enabled := False; FrmAlunos.DbCbbEstCivil.Enabled := False; FrmAlunos.DBCbbCargosIgreja.Enabled := False; FrmAlunos.DBCbbUltimosDias.Enabled := False; FrmAlunos.DBCbbNormalmente.Enabled := False; FrmAlunos.DBCbbComprometimento.Enabled := False; FrmAlunos.DBCbbFrequencia.Enabled := False; FrmAlunos.DBCbbPgto.Enabled := False; FrmAlunos.DBCbbSibin.Enabled := False; FrmAlunos.DbCbbUf.Enabled := False; FrmAlunos.DblCidades.Enabled := False; FrmRelAlunos.AdoAlunos.Close; FrmRelAlunos.AdoAlunos.Open; end; Uso banco de dados Access e delphi 7. Por favor alguém ai me ajude... Abraços Alexandre
  21. Não entendi com vou chamar este evento em outro form que contenha grid tb... Abraços
  22. Peguei este código que o Jhonas postou em uma resposta e agora gostaria de saber como faço para colocar esse componente no form principal e só chamar o procedimento nos outros forms que contenham o dbgrid. Testei aqui assim: FormPrincipal.ApplicationEvents.Activate; Mas não funcionou. Abraços
  23. Opa Vms Basta você colocar no evento OnDeactivate do form filho este código: Este código irá desmarcar o menu quando este não estiver ativo. Pegue a variável var MyMenu: TMenuItem; que está no OnCreate e coloque ela como variável global, porque o procedimento acima irá usar ela também. O seu OnCreate irá ficar da seguinte forma: O procedimento que traz o form clicado no menu para frente, deixe ele da seguinte forma: No Evento OnActivate do form filho coloque este código para que quando você abrir o form ele já esteja marcado no menu. O evento OnDestroy ficará da mesma forma. Qualquer dúvida posta ai. Abraços
  24. Olá Vms... Adicione no menu do seu form principal um menu Janela; Adicione na uses do seu form filho a clausula Menus; Adicione na uses do form filho a unit do form principal, porque é dele que será puxado o menu; No OnCreate do seu form filho coloque o seguinte código: procedure TForm1.FormCreate(Sender: TObject); var MyMenu: TMenuItem; begin FrmPrincipal.Janela1.Tag := FrmPrincipal.Janela1.Tag + 1; Mymenu := TMenuItem.Create(FrmPrincipal.Janela1); MyMenu.Caption := Caption; MyMenu.OnClick := FormToFront; MyMenu.Tag := FrmPrincipal.Janela1.Tag; Tag := MyMenu.Tag; FrmPrincipal.Janela1.Add(MyMenu); end; Esse evento fará aparecer o nome do form filho no menu. Onde Janela1 é o nome do Menu que você criou. No evento OnDestroy do form filho coloque o seguinte código: var I: Integer; begin for I := 0 to FrmPrincipal.Janela1.Count - 1 do begin if FrmPrincipal.Janela1.Items[i].Tag = Tag then begin FrmPrincipal.Janela1.Delete(I); Break; end; end; end; Este código irá excluir do menu caso o form seja fechado. Adicione este procedimento, que irá fazer ativar a janela clicada no menu procedure TForm1.FormToFront(Sender: TObject); begin BringToFront; end; Para esete código funcionar você terá que declarar ele junto com os procedimentos que o delphi declara automaticamente... É isso ai, qualquer dúvida posta ai Abraços
×
×
  • Criar Novo...