Ir para conteúdo
Fórum Script Brasil

Livio Neiva

Membros
  • Total de itens

    160
  • Registro em

  • Última visita

Tudo que Livio Neiva postou

  1. eu criei uma tabela onde estou com dois campos noot null. no delphi eu criei o formulário para essa tabela eu quero seguinte, quando eu confirmar a inserção dados para a tabela quero q mee mande um aviso q estar faltando preencher os dois campos que estão com noot null, caso eles estejam vazio. veja o procedimento q fiz procedure TF_Funcionarios.BtnConfirmarClick(Sender: TObject); begin if EditNome.Text = '' then begin // >> teria como acrescentar aki pois quero dois ou mais campos não podem ficar vazio beep; ShowMessage('O campo "Nome,Departamento" não pode ficar vazio!!!'); EditNome.SetFocus; exit; end; com base no procedimento acima, teria como vocês me ajudarem??
  2. por favor vocês que estam me ajudando, ou alguém pode me mandar uma apostila ou um link q eu baixe uma apostila explicando como criar os codigo fontes no delphi ficarei muito grato!!!
  3. Eu criei um cadastro de produto no meu sistema e quero criar um botão q gere um codigo de barra para os produtos q não tem codigo de barra, com base no q eu expliqeui....data, hora,segundos...... A data, hra segundos, seve para diferencia um codigo do outro, não acontecer de gerar dois codigos iguais Eu criei um cadastro de produto no meu sistema e quero criar um botão q gere um codigo de barra para os produtos q não tem codigo de barra, com base no q eu expliqeui....data, hora,segundos...... A data, hra segundos, seve para diferencia um codigo do outro, não acontecer de gerar dois codigos iguais então gostaria de saber como criar no delphi?? obrigado pela atenção
  4. Questão resolvida...muito obrigado a todos xau Livio Neiva, você quer dizer: quando não houver nada no DBGrid - é isto? Para a "automação" tem um jeito simples: use o evento OnDataChange do TDataSource. Se o componente TDataSource ligado ao seu TDBGrid estiver neste form, beleza. Já se estiver em um datamodulo, acione um ao form e lique ele ao mesmo dataset que está sendo usado no seu DBGrid. No evento OnDataChange coloque: procedure TForm1.DataSource1DataChange(Sender :TObject); begin if Assigend(DataSource1.DataSet) then BtnExcluir.Enabled := (DataSource1.State = dsBrowse) and (DataSource1.DataSet.RecordCount > 0); else BtnExcluir.Enabled := False; end;O que vai acontecer é que qualquer alteração que seja feita no seu dataset, irá disparar este evento, mas não vai tornar sua aplicação mais lenta por conta disto. Então, logo que você abrir seu dataset este evento ocorrerá (também) e conforme avaliação, o botão de exclusão ficará inibido - só vai liberar se seu dbgrid tiver alguma linha e se ele não estiver em edição ou inserção. O código no seu botão de exclusão não muda nada. Abraços questão resolvida...muito obrigado a todos xau
  5. Codigo barra alguém tem um material apostilado explicando como criar os procedimentos no delphi na seguinte forma. codigo de barra com 13 caracteres Criar um botão q gere o código de barras com 12 números base na hora e na data atual para q não se repita inclusive com segundos, e décimo terceiro numero deve ser um dígito verificador dos outros 12, ensinando como calcular dígito verificador do código EAN13. eu instalei os seguintes componentes. cbarra e CJV se precisar de outros componentes mande o nome e local onde devo baixa-lo. por favor se for possivel. por favor preciso muito fazer esse procedimento
  6. Eu criei um dBGrid e um botão excluir Ao clicar em excluir quando não tiver item selecionado, da erros. Eu quero q botão excluir fique inativo quando não estiver nada para excluir ou q informe q não há itens para ser excluídos. Application.MessageBox('Confirma Exclusão?','Exclusão de Registros',Mb_YesNo + Mb_IconQuestion); F_Dados.Q_Bancos.Delete; end; Seria possivel me mandar os procedimentos correto para essa função valeu obrigado
  7. Ivalido nome de usuario ou senha .... pode tentar este mysql>SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('newpwd'); SET PASSWORD FOR root@localhost = OLD_PASSWORD("myownnewpasswordhere"); verifique este artigo pode ajudar : http://dev.mysql.com/doc/refman/5.0/en/old-client.html outra possivel soluçao ou ainda ve se ajuda .... abraço ô meu grande amigo, eu não entendi nada, (não consequi faer) Seria possivel você digitar os passos detalhados sobre os procedimentos q você me passou. Ficarei muito agradecido Lívio Neiva ô meu grande amigo me desculpe!!! mais acho eu q o problema é q eu so tenho o DBDesigner4 instalado no meu pc. Sera q eu não precisaria de nunhum programa MYSQL instalado no meu PC?? Se for esse o problema qual qual você me indicaria para instalar, e de preferencia em português??? mais uma vez me desculpa e me dê mais essa ajuda. Obrigado Lívio Neiva
  8. Ivalido nome de usuario ou senha .... pode tentar este mysql>SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('newpwd'); SET PASSWORD FOR root@localhost = OLD_PASSWORD("myownnewpasswordhere"); verifique este artigo pode ajudar : http://dev.mysql.com/doc/refman/5.0/en/old-client.html outra possivel soluçao ou ainda ve se ajuda .... abraço ô meu grande amigo, eu não entendi nada, (não consequi faer) Seria possivel você digitar os passos detalhados sobre os procedimentos q você me passou. Ficarei muito agradecido Lívio Neiva
  9. Eu já coloquei com senha. já fiz de todas as formas e da sempre o mesmo erro
  10. Eu estou trabalhando com DBDesigner 4.0 Conectar as tabelas feita no DBDesigner 4.0 com Banco de Dados eu preciso enviar as tabelas para banco de dados, e pede para q eu faça a sicronização. Eu clico em Sync MySQL ---> New Database Connection e aparece a seguinte janela * Database Connection Editor informo o nome da conection --> MySQL Hostname --> Localhost(127.0.0.1) DataBase --> Siscom Username --> root e cliko OK quando eu peço para conectar, aparece a sequinte menssagemde erro!!! Connection to database failed dbExpress Error: Invalid Usename/Password Como faço para resolver esse problema?? Agradeço sua atenção Lívio Neiva Jaguaribe-ce
  11. Ola amigos, eu tenho um nobreaker e pretendo comprar uma bateria de um carro para por no nobraker. Gostaria de saber como faço essa instalação, com detalhes, os nomes dos cabos q devo comprar e onde encontrar o tipo de batéria, para qual tipo de nobreak. Meu Nobreak é 12 VDC, STAY 600net tudo. Com detalhes. Valeu e boa sorte para todos. livio_neiva@hotmail.com
  12. Eu não sei por qual motivo o gerenciador de tarefas parou de abrir. Quando eu faço CTRL+ALT+DELETE P/ abrir o gerenciador de tarefas, aparece a seguinte menssagem; O GERENCIADOR DE TAREFAS FOI DESATIVADO PELO ADMINISTRADOR Como faço para ativa-lo novamente??? Agradeço a atenção de todos!!! Lívio Neiva
  13. Meu grande amigo Jhonas!!! eu troquei o nome chtgrafico (componenteTshape) pelo Chart1 (componente Tchart) E o sistema compilou correatamente!!! Problema resolvido Agradeço muito sua atenção Lívio Neiva
  14. Procedimentos a serem executados: Crie uma tela nova no sistema, altere as propriedades Name = FrmGrafico e Caption = Gráfico de Clientes por Cidade. Insira um objeto Chart (Additional) à tela. Altere as propriedades Name = chtGrafico, Align = alClient e dê um duplo-clique sobre o mesmo. Escolha o tipo de gráfico a ser utilizado: Bar (Barras). Para isto, clique nas guias Chart, Series e nos botões Add (Desmarque a opção 3D) e OK. Clique no botão Titles e altere o título da série para Cidades. Selecione a guia Titles e digite o título do gráfico: Clientes por Cidade, na caixa de texto e selecione o Alignment = Center . Clique no botão Close. Faça referência à unit da tela DM. File -> Use Unit (UDM) Insira um objeto ADOQuery à tela e altere as propriedades: Name: QCliCid Connection: Dm.Conexao SQL: Select Count(*) as Qtde, CliCid From Clientes Group By CliCid Dê duplo-clique na query QCliCid e tecle [Ctrl] + [F] para inserir os campos. Copie o botão Btn_Imprimir da tela FrmCadCliente para a tela FrmGrafico. Insira um componente PrintDialog da guia Dialogs na tela FrmGráfico. procedure TFrmGrafico.FormShow(Sender: TObject); begin CliCid.Clear; chtGrafico.Title.Text.Clear; --> ERRO ( [Error] UGrafico.pas(41): Undeclared identifier: 'Title' ) chtGrafico.Title.Text.Add('Gráfico Clientes por Cidade'); QCliCid.Open; While (Not QCliCid Eof) do Begin CliCid.AddY(QCliCidQtde.Value,QCliCidCliCid.AsString, ClSkyBlue); QCliCid.Next; end; end; Digite os comandos a seguir no evento OnClick do botão Imprimir: procedure TFrmGrafico.SpeedButton2Click(Sender: TObject); begin if PrintDialog1.Execute then begin chtGrafico.BackColor := clWhite; chtGrafico.Print; end; end; END.
  15. ola grande já resolvi o problema. Mais ai vai a resposta, caso alguém se encontre o problema parecido com meu. o usuário tem q entender de diretivas executar o comando GPEDIT.MSC CONFIGUR. COMPUTADOR --> Configuração do windows --> Config. Segurança --> Configuração locais --> atribuição de direito de usuário --> e alterar a hora do sistema. Desculpe pelos erros cometidos e muuuuito obrigado pela ateção. O trabalho da scriptbrasil é exemplo de profissionalismo. livio neiva
  16. ô grande amigo churc, o problema resolveu sim, mais apareceu outro!!! O programa compila, mas o comando Ferramentas -> Backup/Restore fica inativo. Fico sem possibilidade de testalo, para saber se realmente ele faz o backup ou restore do sistema como faço para resolver isso. Agradeço muito sua atenção!!!
  17. ola para todos?? Eu instalei um programa chamado Dep Freezer (Congelador de H.D) e já desistalei o programa, mesmo assim quando eu klico 2x no relógio da barra de tarefa aparece a sequinte menssagem!!! Você não tem o nível de previlégio necessário para alterar a hora do sistema. Como faço para resolver esse probema?? Agradeço a atenção de todos!! Livio Neiva
  18. Procedimentos a serem executados: Crie uma opção no menu principal: Ferramentas -> Backup/Restore. Crie a tela a seguir com o Name = FrmBkpRst, contendo os objetos: RadioGroup (Standard) – use as propriedades Caption e Items DriveComboBox e DirectoryListBox (Win 3.1), 02 SpeedButton Animate (Win 32) – Visible = False, CommonAvi = aviCopyFile Digite os comandos abaixo no evento OnClick do botão Confirma: procedure TFrmBkpRst.spdConfirmarClick(Sender: TObject); begin if MessageDlg('Antes de confirmar a operação, feche o banco de dados' +#13 +#13 + 'Deseja efetuar' + RadioGroup1.Items[RadioGroup1.ItemIndex]+'?',mtConfirmation, [mbYes,mbNo],0)=mrNo then Abort; Try Animate1.Visible := True; Animate1.Active := True; if RadioGroup1.ItemIndex =0 then Begin FrmMenuPrin.Compactar; Copia(ExtractFilePath(Application.ExeName)+'\Banco.mdb',DirectoryListBox1.Directory); end; if RadioGroup1.ItemIndex =1 then begin Dm.Conexao.Connected := False; Copia(DirectoryListBox1.Directory+'\Banco.mdb',ExtractFilePath(Application.ExeName)); dm.Conexao.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;DataSource=' +ExtractFilePath(Application.ExeName)+'\Banco.mdb;Persist Security info=False;JetOLEDB:Database Passoword=Senha'; Dm.Conexao.Connected := True; end; Finally Animate1.Visible := False; Animate1.Active:=False; MessageDlg('Operação concluída.',mtinformation,[mbOK],0); end; end; Faça referência à unit UFunProGeral na cláusula Uses da unit da tela FrmBkpRst: Crie uma procedure denominada Copia, na unit UFunProGeral, conforme mostrada a seguir: Procedure Copia(Origem,Destino:String); Var FileOpInfo : TSHFileOpStruct; ERRO-> menssag( [Error] UfunProGeral.pas(37): Undeclared identifier: 'TSHFileOpStruct' ) Begin With FileOpInfo Do Begin Wnd := Application.Handle; wFunc := FO_COPY; pFrom := Pchar(Origem+#0+#0); pTo := Pchar(Destino); fFlags := FOF_WANTMAPPINGHANDLE; END; SHFileOperation (FileOpInfo); ShFreeNameMappings(GlobalHandle(FileOpInfo.hNameMappings)); end; FileOpInfo : TSHFileOpStruct; ERRO menssagem de erro quando eu compilo!!! ( [Error] UfunProGeral.pas(37): Undeclared identifier: 'TSHFileOpStruct' ) Agradeço a atenção de todos
  19. Este tópico vai mostrar como compactar o banco de dados criado no Access para eliminar todo seu espaço excedente, reduzindo assim, o tamanho do arquivo de banco de dados. Procedimentos a serem executados: Acrescente um Panel invisível (Visible = False) na tela FrmMenuPrin. Na Unit da tela FrmMenuPrin, acrescente a unit ComObj na sua cláusula Uses e crie a procedure abaixo: Procedure TFrmMenuPrin.Compactar; Var dao : OLEVariant; Begin Panel1.Visible := True; Dm.Conexao.Connected := False; Try Panel1.Caption := 'Compactando.Tabela'; Panel1.Repaint; dao := CreateOleObject('ADO.DBEngine.36'); dao.CompactDataBase(ExtractFileDir(Application.ExeName)+'\Banco.mdb', ExtractFileDir(Application.ExeName)+'\Banco2.mdb','',0,''); Panel1.Caption:='Apagando Arquivo Temporário'; Panel1.Repaint; if FileExists(ExtractFileDir(Application.ExeName)+'\Banco2.mdb')then DeleteFile(ExtractFileDir (Application.ExeName)+'\Banco.mdb'); Panel1.Caption:='Renomeando Arquivo'; Panel1.Repaint; if FileExists(ExtractFileDir(Application.ExeName)+'\Banco2.mdb') then RenameFile(EXtractFileDir(Application.Exename)+'\Banco2.mdb', ExtractFileDir (Application.ExeName)+'\Banco.mdb'); Panel1.Caption:='Arquivo Banco.mdb Compactado'; Panel1.Repaint; Except Panel1.Caption:='Ocorreu um erro durante a Compactação'; end; Dm.Conexao.ConnectionString := 'provider=Microsoft.jet.OLEDB.4.0;Data Souser='+ ExtractFilePath(Application.ExeName)+'Banco.mdb;Persist Security info=False;'; DM.Conexao.Connected := True; Panel1.Visible := False; end; procedure TFrmMenuPrin.actCompExecute(Sender: TObject); begin if MessageDlg('Antes de confirmar esta operação, feche o banco de dados.'+#13+ 'Deseja efetuar a compactação do Banco de Dados?', mtConfirmation, [mbYes,mbNo], 0) = mrNo then abort; Compactar; end; O programa compila!!! e abre o sistema mais quando eu peço para compactar o banco de dados da erro e informa essa menssagem: Não foi possivel encontrar o ISAM instalável Como faço para resolver esse problema agradeço a atenção de todos livio_neiva@hotmail.com
  20. ok Jhonas, que vacilo; obrigado pela atenção problema resolvido
  21. linhas de comandos!!! Procedure TFrmMenuPrin.Compactar; Var dao : OLEVariant; Begin Panel1.Visible := True; Dm.Conexao.Connected := False; Try Panel1.Caption := 'Compactando.Tabela'; Panel1.Repaint; dao := CreateOleObject('ADO.DBEngine.36'); dao.CompactDataBase(ExtractFileDir(Application.ExeName)+'\Banco.mdb', ExtractFileDir(Application.ExeName)+'\Banco2.mdb',",0,"); --------------------> ERRO Panel1.Caption:='Apagando Arquivo Temporário'; Panel1.Repaint; if FileExists(ExtractFileDir(Application.ExeName)+'\Banco2.mdb')then DeleteFile(ExtractFileDir (Application.ExeName)+'\Banco.mdb'); Panel1.Caption:='Renomeando Arquivo'; Panel1.Repaint; if FileExists(ExtractFileDir(Application.ExeName)+'\Banco2.mdb') then RenameFile(EXtractFileDir(Application.Exename)+'\Banco2.mdb', ExtractFileDir (Application.ExeName)+'\Banco.mdb'); Panel1.Caption:='Arquivo Banco.mdb Compactado'; Panel1.Repaint; Except Panel1.Caption:='Ocorreu um erro durante a Compactação'; end; Dm.Conexao.ConnectionString := 'provider=Microsoft.jet.OLEDB.4.0;Data Souser='+ ExtractFilePath(Application.ExeName)+'Banco.mdb;Persist Security info=False;'; DM.Conexao.Connected := True; Panel1.Visible := False; end; Menssagem de erro; [Error] UMenuPrin.pas(149): Undeclared identifier: '\Banco2.mdb' AGRADEÇO A ATENÇÃO!!!
  22. Ola grande amigo!!! O banco de dados q estou usando foi criado no access, e todos os campos estão no dataset, tentei mais não consegui resolver. Agradeço a sua atenção obrigado
  23. Eu fiz essas linhas de comandos Para ordenar os dados da grade ao clicar no título do campo O programa compila, mais quando eu cliclo no titulo do campo aparece a seguinte menssagem de erro!!! Project sistema.exe raised exception class EOleException with message 'O item não pode ser encontrado na coleção correspondente ao nome ou ao ordinal solicitado'. Process stopped. Use step or Run to continue. Eu cliko no OK e essa outra menssagem de erro volta aparecer. O item não pode ser encontrado na coleção correspondente ao nome ou ao ordinal solicitado. os procedimentos das linhas de comando foi feita através da propriedade de tabela IndexFieldNames, que define o nome do índice para a classificação, conforme o campo clicado na grade (Column.FieldName) Crie na tela padrão uma variável global chamada Ascendente do tipo Boolean para que todas as telas de cadastro passem a utilizá-la. No evento OnShow, da tela padrão, digite: Ascendente := False; Em FrmCadCliente, no evento OnTitleClick do DBGrid digite: Ascendente:= not Ascendente; If Ascendente then Dm.tab_Clientes.IndexFieldNames := Column.FieldName + ' ASC' <---- (o erro estar nessa linha de comando) else Dm.tab_Clientes.IndexFieldNames := Column.FieldName + ' DESC'; end; Como faço para corrigir esse problema!!! Agradeço a atenção q a scriptbrasil e seus usuários tem me dado todo esse tempo. Um excelente incentivo ao aprendizado. Lívio Neiva
  24. Problema resolvido Valeu grande amigo, agradeço muito sua atenção!!! Obrigado
  25. Eu criei essa unit não vinculada ou forms e apareceu a menssagem de erro sobre o camando StrToInt linha de comando d1 := d1 + (11 - xx) * StrToInt (Copy(xCPF, nCount, 1)); menssagem de erro [Error] UfunProGeral.pas(19): Undeclared identifier: 'StrToInt' abaixo esta todo o procedimento; unit UfunProGeral; interface Function CPF (xCPF : String) : Boolean; implementation Function CPF (xCPF : String) : Boolean; Var d1 ,d4 ,xx ,nCount, resto, digito1, digito2 : integer; check : String; Begin d1 := 0; d4 := 0; xx := 1; For nCount := 1 to length (xCPF) - 2 do begin if Pos (copy(xCPF, nCount, 1), '/-.') = 0 then begin d1 := d1 + (11 - xx) * StrToInt (Copy(xCPF, nCount, 1)); -------------> erro d4 := d4 + (12 - xx) * StrToInt (Copy(xCPF, nCount, 1)); end; end; end; end. como resolvo esse problema??? Obrigado pela atenção de todos
×
×
  • Criar Novo...