Ir para conteúdo
Fórum Script Brasil

Kindelis

Membros
  • Total de itens

    136
  • Registro em

  • Última visita

Tudo que Kindelis postou

  1. é o seguinte eu estou desenvolvendo um programa de controle de caixa e estoque e estou utilizando um formulario fsMDIMAIN e formularios fsMDICHILD .... no form MAIN eu coloquei um grid que sempre que o usuario abre o programa se tiver algum item com quantidade abaixo do nível no estoque eu coloquei um GRID mostrando estes itens mais como um alerta e funciona direitinho o problema é que quando o grid está sendo exibido ele aparece por cima dos formularios MDICHILD ... eu queria saber como eu faço pra evitar isto e fazer os CHILD aparecerem por cima também deste grid.... obrigado pela atenção é que eu não sei como colocar uma imagem para mostrar mais creio que deu pra entender então obrigado a todos pela atenção ...
  2. Kindelis

    Esclarecimento

    eu ainda não fiz o teste pois meu computador nõa é dos melhores e eu preciso terminar uma outra coisa ainda .... mais caso o formulario não esteja sendo destruido realmente qual comando faria com que o formulario fosse destruido realmente? ... já que para abrir um form e não dou o comando "Form.show" e sim "application.create(Tform1, form1)" ou seja eu preciso de um comando que feche de vez o formulario eu já tentei o Form1.destroy porém esse só minimiza o formulario.... como eu faço para liberar realmente a memoria depois que eu mando fechar um formulario??????
  3. meus programas geralemente eu trabalho com um formulario principal fsMDIMain e formularios secundarios do tipo fsMDIChild .... ai para fechar os formularios do tipo child eu uso o comando DestroyWindowHandle .. eu queria saber se quando eu utilizo este comando o formulario é realmente fechado e o espaço da memoria utilizado por ele é liberado por que conforme se vai utilizando o meu programa ele constuma algumas vezes mandar uma mesagem "Insulficient Memory for this application" .... eu queria saber se o destroywindowhandle que pode estar causando isto e se for eu gostaria de saber como eu faço para liberar a memoria depois que eu fecho um formulario ... obrigadoi a todos pela atenção..
  4. vlew churc é que eu pensei que tinha como fazer algo direto na sql mesmo pra da menos trabalho XD ... mais assim também funcionou vlew churc
  5. é o seguinte quando se vai utiloutilizar um SUM normalmente exemplo: Select SUM(Valor_Total) from vendas.db where data_venda='18/08/2006' porem se não tiver nenhum valor no sum ele retorna uma reposta nula ou seja não exibe nada, tem como eu fazer algum tratamento na sql para o SUM nunca retorna um valor nulo, ou seja, quando o valor for nulo (não ouver nenhum registro para ele somar) ele exibir "0,00" ao invés de nada???? obrigado pela atenção de todos.
  6. brigadão pelas dicas micheus, é que eu sou meio inexperiente em programação então eu tenho muito que aprender ainda, brigadão mesmo
  7. acabei de achar o problema, é que o delphi não declarou na uses a variável global de banco de dados "BD", masi valeu pela ajuda cara
  8. proc é a variável que vai fazer a consulta no tbfechamento, que no caso é o código do produto mque eu quero localizar
  9. é o seguinte eu já to até com dor de cabeça de tnato pensa no por que, eu tenho duas tabelas uma de abertura do caixa e uma de fechamento do caixa eu tenho que transferir alguns dados de uma tabela para a outra ai eu fiz uma função, mais o que me atrapalha é um maldito locate que não funciona: o qr fechamento é onde estão as informa~çoes que eu quero ai eu fiz essa sql para selecionálos e mostra-los em um db grid, no caso o DBGrid3 abertura.qrfechamento.Close; abertura.qrfechamento.SQL.Clear; abertura.qrfechamento.SQL.Add('select P.Cod_cat, P.Qtd_disp'); abertura.qrfechamento.SQL.Add('from produtos.db as P, fechamento.db as F'); abertura.qrfechamento.SQL.Add('where F.Produto=P.Cod_cat and F.Data='+aspa+Edit3.Text+aspa+''); abertura.qrfechamento.SQL.Add('Order By P.Cod_cat'); abertura.qrfechamento.Open; abertura.qrfechamento.Active; while not abertura.qrfechamento.Eof do begin ai tem esse proc que vai localizar produto por produto pelo codigo do mesmo para poder alterar esse campo que eu quero alterar sem interferir nos outros registros do banco de dados proc:=abertura.DBGrid3.Fields[0].AsString; //captura o codigo do dbgrid if (proc<>'') then begin abertura.tbfechamento.Locate('Cod_cat', proc, [locaseinsensitive]); //ai aqui que está o problema, quando eu executo esse codigo esse maldito "[locaseinsensitive]" que da erro, eu executo e da o seguinte erro: "Undeclared Identifier: 'locaseinsensitive'" abertura.tbfechamento.Edit; abertura.DBEdit3.Text:=abertura.DBGrid3.Fields[1].AsString; abertura.tbfechamento.Post; showmessage(proc); abertura.qrfechamento.Next; end; end; o resto do código funciona é só no locaseinsensitive que o programa para e nãop vai de jeito nenhum, alguém ai pode me dar uma idéia do que fazer pois eu preciso entregar este programa com urgencia, se alguém puder me ajudar vo ser muito grato
  10. é o seguinte eu tenho 3 tabelas: carro, produto e carroxprod, onde tem vários vêículos cadastrados e produtos e na tabela carroxprod eu faço o relacionamento entre essas duas tabelas para mostrar em uma consulta quais produtos são compatíveis com determinado carro, e para os produtos que são compatíveis com todos os carros eu mando salvar no campo carro da tabela carroxprod o codigo "0" ai para fazer a consulta eu utilizei a seguinte sql: var aspa:string; begin aspa:=''''; qrprod.close; qrprod.sql.Clear; qrprod.sql.add('select P.Cod_prod, P.Cod_cat, P.Descricao, P.Preco_venda, P.Qtd_disp, F.Nome, CT.Categoria, C.Cod_car, Foto'); qrprod.sql.add('from carro.db as C, carroxprod.db as R, produtos.db as P, fornecedor.db as F, categoria.db as CT, montadora as M, veiculo as V'); qrprod.sql.add('where P.Categoria=CT.Cod_cat and P.Forn_cat=F.Cod_forn and C.Cod_car=R.Cod_carro and P.Cod_prod=R.Cod_prod and C.montadora=M.Cod_Montadora and C.Veiculo=V.Cod_veiculo and C.Montadora='+aspa+Edit1.Text+aspa+' '); qrprod.SQL.Add('or R.Cod_carro=''0'' and P.Categoria=CT.Cod_cat and P.Forn_cat=F.Cod_forn and P.Cod_prod=R.Cod_prod and C.montadora=M.Cod_Montadora and C.Veiculo=V.Cod_veiculo and C.Montadora='+aspa+Edit1.Text+aspa+''); qrprod.open; qrprod.Active; end; porém quando eu mando executar esta consulta o programa fica uns 2 minutos pensando para dar a resposta ou então ele trava e fala que não tem espaço sulficiente em disco (não sei por que), porém se eu tirar a linha onde começa o "or" a consulta funciona normal: var aspa:string; begin aspa:=''''; qrprod.close; qrprod.sql.Clear; qrprod.sql.add('select P.Cod_prod, P.Cod_cat, P.Descricao, P.Preco_venda, P.Qtd_disp, F.Nome, CT.Categoria, C.Cod_car, Foto'); qrprod.sql.add('from carro.db as C, carroxprod.db as R, produtos.db as P, fornecedor.db as F, categoria.db as CT, montadora as M, veiculo as V'); qrprod.sql.add('where P.Categoria=CT.Cod_cat and P.Forn_cat=F.Cod_forn and C.Cod_car=R.Cod_carro and P.Cod_prod=R.Cod_prod and C.montadora=M.Cod_Montadora and C.Veiculo=V.Cod_veiculo and C.Montadora='+aspa+Edit1.Text+aspa+' '); qrprod.open; qrprod.Active; end; alguém pode me ajudar eu so to com esse problema para resolver no meu programa se alguém puder me ajudar eu fico muito grato eu já pensei na ípotese de quando o produto for compatível com todos os veiculos criar um laço que vai adicionar cada veiculo na tabela carroxprod porém não iria fucnionar pois se eu adicioinar um vêículo novo esse mesmo não vai ser compatível com o produto que anteriormente eu marquei como compatível a todos vêículos.
  11. primeira duvida: eu estou fazendo uma aplicação de banco de dados no delphi 7 com database desktop 9, o delphi esta criando uns arquivos estranhos que eu nunca vi do tipo "_QSQ95.DB" eu usava delphi 4 antes e nunca vi o delphi criar esses arquivos, alguém saberia me responder qual a utilizadade deles?? segunda dúvida: eu tenho uma pesquisa através de uma query no meu programa porém tem horas que eu vou efetuar a pesquisa e o programa acusa o seguinte erro "Insulficient Disk Space", alguém pode me ajudar a resolver isto?
  12. vlew Micheus, você me ajudou muito
  13. Micheus eu n?estou conseguindo utilizar esta fun?, tem como voc?e dar um help?, o meu codigo para fazer o calculo ?ste: var compra, venda, total, total2, comissao:real; begin compra:=qrcompra.Fields.Fields[0].AsFloat; venda:=qrvendas.Fields.Fields[0].AsFloat; comissao:=qrvendas.Fields.Fields[1].AsFloat; total:=venda-compra; FormatFloat('#0.00', total); total2:=total-comissao; label11.Caption:=FloattoStr(total); label12.Caption:=FloatToStr(total2); end; eu inseri essa função amsi continua exibindo resultados com 3 casas após a virgula e sem o sinal de milhar. desculpa ai micheus já achei meu erro, era lerdeza mesmo masi agora me veio uma outra dúvida, tem como eu formatar um valor dentro de um query? ... eu tenho um query que pega o SUM(preço) tem como eu exibir o resultado da pesquisa com essas mesma formatação?
  14. Kindelis

    Erro Data

    table.Refresh ... atualiza, e eu costumo sempre depois de um table.refresh da também um "table.Active" só pra garantir que ela vai estar ativa..
  15. Kindelis

    Loop No Grid

    se você não estiver utilizando nenhum relacionamento entre duas tabelas nesse query você pode utilizar este codigo: Query1.First; while not Query1.EOF do begin Query1.Delete; end; senão você tiver utilizando algum tipo de relacionamento nesta tabela esse codigo não vai funcionar e ai eu aconselho utilizar um outro query para deletar o registro via sql, tipo Query1.First; while not Query1.EOF do begin delete from nome_da_tabela where Codigo=DBGrid1.fields[index_do_codigo].asValue; end; esse dois geitos funcionam, espero ter ajudado.
  16. tipo eu lembro que eu já fiz em pascal porém procurei os códigos aqui mais não achei nada, o que eu quero é formatar a forma de exibição de variáveis do tipo real, tipo quantidade de casas depois da vírgula, pois eu faço um calculo que de um valor inteiro ele não exibe virgula, eu quero que mesmo dando um valor inteiro apareça duas casas depois da vírgula, tipo "10,00" alguém ai pode me ajudar?
  17. vlew Churc ultimamente você tem sido um professor pra min XD huehue .. vlew mesmo cara você me ajudou muito
  18. vlew churc, já abusando um poco da sua boa vontade XD , tipo eu quero que quando o usuario mande fechar o programa antes do programa ser encerrado apareca uma caixa de confirmação perguntando se ele deseja mesmo fechar o programa se ele clicar em sim fecha se clicar em não o programa continua aberto, eu tentei fazer com este codigo no onclose do form até que apareceu a menssagem mais a janela fecha de qualquer jeito: var resp:integer; begin resp:=application.messagebox('Deseja mesmo sair do programa?','Confirmação',3+1); if resp=6 then application.terminate; end;
  19. o problema das message box eu já resolvi olhando no help do delphi mesmo ficou assim o codigo: var resp:integer; begin resp:=application.messagebox('Confirma remoção do registro?','Remover',3+1); if resp=6 then tbteste.delete; end; quanto ao problema das variáveis, é o seguinte é que quando eu pego a informa~çao do banco de dados quando é um tipo "Money" ele salva com o simbolo de real "R$" e é isso que faz dar o erro acusando que o valor não é real nem float, eu queria saber como eu faço para arrumar isto entendeu?
  20. é o seguinte eu tenho uma tabela no BD (paradox) que guarda os valores dos produtos em um campo do tipo "Money", ai o valor aparece tipo assim "R$20,00" por exemplo e esse valor é exibido em um label, o problema é que eu preciso fazer uns calculos com esse valor porém o delphi não deixa porque ele acusa que este não é um valor real, nem integer, alguém pode me dizer como eu posso manipular esse tipo de informação? .. obrigado des de já Editado: aproveitando essa mensagem já tenho outra dúvida, quando eu mando apagar um registro um antes passo por um codigo que exibe uma caixa de confirmação com o seguinte codigo: var resp:integer; begin resp:=application.messagebox('Confirma remoção do registro?','Remover',1+256); if resp=1 then tborc.delete; end; porém na caixa nos botões de opção tem o botão "OK" e o Botão "Cancelar", eu queria mudar o título desses botões para sim e não aguém pode me dizer se tem como eu fazer isto?
  21. vlw todo mundo aí que me ajudou, finalmente consegui soluciona o problema de uma forma até mesmo "boba" eu só adicionei no onclose do form a linha "form:=nil" que a dica do churc funcionou perfeitamente, valeu todo mundo se dispois a me ajuda agora fica aí a dica pra quem precisar disso , quando for chamar o form coloca esses codigos no local de onde você está chamando o form: if (Teste = nil) then application.createform(tteste, teste); if (not Teste.showing) then teste.show; e no onClose do forme "Teste" você adiciona a linha "Teste:=nil" que funciona belezinha.
  22. então micheus este codigo serve perfeitamente, no delphi 4, no caso eu uso o delphi 7 e quando eu tento fazer esta função ele fala que o query é Read Only ou seja somente leitura e não deixa executar o Qury1.EOF nesa linha ele acusa que o query é somente leitura , já no delphi 4 eu fiz esse mesmo codigo e funcionou, você sabe como eu tiro isso? eu já procurei a propriedade readOnly no object inspector mais não achei nada...
  23. então Churc eu tentei usar as suas alternativas mais eu abro ele não deixa abrir outro mesmo, mais depois que eu fecho o formulario ele não deixa abrir mais, na verdade eu tenho um form MDIMain e vários MDIChild então eu queria que enquanto o formulario estiver em exibição ele não possa ser aberto novamente entendeu, já a sua solução não permite que eu o execute mais de uma vez mesmo ..
  24. é o seguinte eu estou desenvolvendo uma aplicação apra controle de vendas e estoque e nessa aplicação tem a janela Vendas que no caso seria o caixa, ai eu criei uma função que conforme eu vou adicionando ítens a venda eles são descontados diretamente na tabela de estoque, (ex. venda de um 1 pneu o programa busca este pneu na tabela de estoque subtrai da quantidade disponível a quantidade vendida no caso pór exeplo esse pneu tinha 2 no estoque eu vendo um automaticamente a quantidade disponivel cai para 1) e exibe os ítens vendidos em um DBGrid, porém o meu problema é caso o usuario queira cancelar a venda eu queria uma função que devolvesse esses ítens comprados ao estoque, o cancelamento de um por um eu sei fazer porém com todos ao mesmo tempo complicou a minha cabeça, por isso eu preciso de ajuda, seria algo do tipo : enquanto dbgrid exibe alguma informação inicio informação exibida.delete; estoque.quantidadedisponivel=quantidadedisponivel + quantidadevendida; fim fim se alguém não conseguir entender esse "algoritimo" que eu tentei escrever XD é só postar uma resposta que eu tento explicar melhor.. obrigado pela atenção
  25. é o seguinte eu tenho um programa onde tem a janela principal do tipo MDIMain e formularios secundarios do tipo MDIChild ai para abrir os outros formulários eu utilizo o seguinte codigo Application.CreateForm(Tform, form); login.Show; só que se eu já estiver com um form aberto e mandar abrir o mesmo de novo ele abre e acaba ficando duas janelas iguais abertas, eu queria evitar isto eu queria que quando a janela já estivesse aberta não pudesse abri-lá novamente.
×
×
  • Criar Novo...