Fórum Ajudem me por favor com codigo!!!! #355414

16/03/2008

0

Bom tenho q fazer um programa que vai passar par uma outra form todos os codigos como nome produto, valor e quantidade e ao final ele vai somar todos os valores e quantidades de produtos processados(tipos de produtos) bom fiz tudo certinho porem ele ta fica rodando a msgdlg direto e só qund eu dar no alguem teria um comando pra esconder a messagedlg ?obrigado
codigo
procedure TForm2.Button1Click(Sender: TObject);
var x,y:integer;
total:real;
begin
x:=0;
while y<>1 do
Begin

form3.ListBox1.items.add(edit1.text);
form3.ListBox2.items.add(edit2.text);
form3.listbox3.Items.add(edit3.text);

if messagedlg (´Deseja cadastrar mais produtos ?´, mtConfirmation, [mbYes,mbNo], 1) = mrYes then
begin
inc(x,1);
total:=total+strtofloat(edit2.Text)*strtofloat(edit3.text);
form3.Edit1.text:=inttostr(x);
form3.Edit2.text:=floattostr(total);
end
else
begin
form3.Show;
form2.Hide;
y:=1;
end;


Rfaelcouto

Rfaelcouto

Responder

Posts

16/03/2008

Igo_so

olá, vc podeira usar um clientDataSet armazenando os dados no disco... usar os campos agregados para totalizar... e apenas colocar um grid com os dados no form seguinte para ser exibidos....
vc coloca um clientedataset no form sem vincunlar a um provider depois
no oncreate do form vc coloca esse codigo :
with clientDataset1 do
Begin
filename:=extractfilepath(paramstr(0))+´Venda.xlm´;
if not FileExists(filename) then
createdataset;
open;
end;

isso faz com que os dados seja amazenado no disco....assim vc pode faze um laço para salvar os dados no banco somente quando a venda for confirmada...
espero ter ajudado...
abraço....


Responder

Gostei + 0

16/03/2008

Rfaelcouto

Bom igor muito obrigado pela atenção amigo mais isso é um programa apenas com 1 form tpw..é um trabalho de faculdade que vale 7 pontos eu fiz ele roda tudinho eu tentei implementar algumas coisas a mais adicionar forms pra ficar + organizado + ele fica caindo em loop nessa messagedlg ela nao pediu banco por isso nao usei....preciso muito de ajuda se tiver outa dica aguardarei muito obrigado..


Responder

Gostei + 0

16/03/2008

Wanderok

Ué....

facil......

retire o while.

coloque um botao INCLUIR e outro ENCERRAR

INCLUIR: -> alimenta o FORM3 e para !!!!
ENCERRAR -> abre o FORM3

ok ? :D:D:D


Responder

Gostei + 0

16/03/2008

Wanderok

Assim, quem comanda o loop é o usuário e nao a aplicacao.

Se ele quer mais produto, clica em INCLUIR

Se nao quer - clica em ENCERRAR

:D:D:D


Responder

Gostei + 0

16/03/2008

Rfaelcouto

mano oque ta dando problema é na hora de fazer um contador entende....ele faz apenas uma vez sem o while me da uma idea de como fazer esse contador por favor alguem ;\ vlw....


Responder

Gostei + 0

16/03/2008

Wanderok

mano oque ta dando problema é na hora de fazer um contador entende....ele faz apenas uma vez sem o while me da uma idea de como fazer esse contador por favor alguem ;\ vlw....


O problema NAO É O CONTADOR...... :D:D:D

Acontece que nada na aplicação força a parada pro coitado do usuário informar os edits abaixo:

form3.ListBox1.items.add(edit1.text);
form3.ListBox2.items.add(edit2.text);
form3.listbox3.Items.add(edit3.text);


Logo, ele passa os dados para o outro form e volta para o comando abaixo:

if messagedlg (´Deseja cadastrar mais produtos ?´, mtConfirmation, [mbYes,mbNo], 1) = mrYes then

Entao, sugiro a criação dos botoes.

1) INCLUIR -> que faz os adds do form3
2) ENCERRAR -> pode até abrir o form3 já com os dados preenchidos.

é o q imagino... (se é que entendi a paradinha ai, né fiao :D:D:D)

abc

ps: se entendi mal. perdoe o ´mico que paguei´, ok ???? :D:D:D


Responder

Gostei + 0

17/03/2008

Rfaelcouto

Hehe ...

Nada oque voce sugeriu foi oque eu tinha feito de primeira só que eu fui burro o edit. text tava sem valor entao nao tinha como ele contar nada ... :x somente isso ai botei 1 volto a funcionar direitinho ;D...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar