Boa noite,
Preciso de um Código para Delphi 7 com a Opção: Salvar? - Sim ou Não.
Quando coloco um ShowMessage(Deseja realmente Salvar?), o que acontece É que a única oção que me é exposta é Ok.
Preciso da Opção Sim ou Não para que eu escolha.
Obrigado
JOSE DE FREITAS
- Home
- >
- Fórum
- >
- Profissional
- >
- Programação, Sc...
- >
- Salvar com Opção de Sim o...
Use messagebox
? Home Page ? Plus Google ? Canal Youtube ? Superdownloads ? Twitter
if messagedlg('Para acessar as alternativas, você deve primeiramente salvar estas informações. Deseja Salvar Agora?',mtconfirmation,mbokcancel,0) = 1 then begin
1 = sim
pc xt genuine intel 8088 - 4.77mhz (8, teclando ctrl alt +) - 640kb ram - fd 360k - winchester de 10mb
user # 133910
Complementando o Eliseu F A Jr, eis a sintaxe:
if MessageBox(HANDLE, 'Deseja salvar?', 'Aviso', MB_YESNO + MB_ICONQUESTION) = idyes then
// aqui você coloca o código para salvar
ou mesmo
if Application.MessageBox('Deseja salvar?', 'Aviso', MB_YESNO + MB_ICONQUESTION) = idyes then
// aqui você coloca o código para salvar
Pesquise sobre o MessageBox. Tem coisas bem interessantes.
Abraço.
Contribua para um fórum melhor: pense antes de postar.
"It isn't a contest. Just enjoy the ride." -> Seth Vidal
Hardware.com.br no Youtube!
Agradeço a atenção de vocês que estão tentando me ajudar. Quero informar-lhes que sou iniciante, com pouca experiência em Programação. Mas Vamos lá:
Baixei da Internet o Código abaixo e o Adaptei para o meu Caso:
procedure Tfrm_CorPersonalizada.Btn_SalvarClick(Sender: TObject);
Var
Result: Integer;
begin
Result:= Application.MessageBox('Deseja realmente Salvar?','',MB_YESNOCANCEL+ MB_ICONINFORMATION);
case Result of
2: ADOQuery1.Cancel;
6: ADOQuery1.Post;
7: ADOQuery1.Cancel;
end;
Desse jeito ele funciona porém me dá as Opções de : "Sim, Não e Cancelar".
Eu quero usar só "Sim e Não", portanto quero cancelar a Opção Cancelar.
Se eu alterar o Código acima para:
procedure Tfrm_CorPersonalizada.Btn_SalvarClick(Sender: TObject);
Var
Result: Integer;
begin
Result:= Application.MessageBox('Deseja realmente Salvar?','',MB_YESNO+ MB_ICONINFORMATION);
case Result of
2: ADOQuery1.Cancel;
6: ADOQuery1.Post;
end;
Mesmo eu Clicando em Não ele Salva o Arquivo.
Dá pra me ajudar a resolver esse problemas.
Grato
JOSE DE FREITAS
procedure Tfrm_CorPersonalizada.Btn_SalvarClick(Sender: TObject);
begin
if Application.MessageBox('Deseja realmente Salvar?','',MB_YESNO+ MB_ICONINFORMATION) = ID_YES then
ADOQuery1.Post
else
ADOQuery1.Cancel;
end;
pc xt genuine intel 8088 - 4.77mhz (8, teclando ctrl alt +) - 640kb ram - fd 360k - winchester de 10mb
user # 133910
Reginaldo, muito obrigado. Agora já estou no trabalho mas à noite, em casa, vou implementar no meu Form e deverá dar certo.
Valeu Eliseu.
Valeu TerraSkilll
Meu muito obrigado a todos
Abraços
JOSE DE FREITAS
Boa noite, deu certo realmente o Código indicado. Agora mais uma dica , vocês que são cobas no assunto. Quando abro um arquivo e o edito, por exemplo mudo seu nome e salvo abro o DBGrid com o nome antido então clico na coluna "Nome" no DBGrid para ordenar em ordem alfabética o Arquivo aparece com o nome editado. Parece que o Programa não está atualizando.
Como fazer para isso não acontecer.
Usei o ADOQuery1. Refresh mas não resolveu.
Um abraço
JOSE DE FREITAS
Não entendi muito bem o que você está fazendo. Esse DBGrid é uma lista de arquivos, é isso? E, ao salvar as alterações, você queria gravar a alteração do nome do arquivo na tabela?
Abraço.
Contribua para um fórum melhor: pense antes de postar.
"It isn't a contest. Just enjoy the ride." -> Seth Vidal
Hardware.com.br no Youtube!
Bom dia, é justamente isso. Vou gravando os nomes dos produtos e eles vão aparecendo no DBGrid onde faço a consulta. Então quando altero o nome de um produto já gravado e salvo só depois de eu clicar no BDGrid para ordenar por qualquer uma das colunas é que o produto aparece com o nome alterado . Quando abro o DBgrid o nome do produto ainda está o antigo ao clicar para ordenar por exemplo na Coluna Código aí o novo nome aparece no DBGrid atualizado.
Um abraço
JOSE DE FREITAS
Se a sua função de ordenar ao clicar fecha (Close ou Active := false) e abre novamente o ADOQuery1, é por isso que ele funciona, já que os dados são recarregados. O que você pode fazer (não é a melhor solução, na minha opinião) é fechar e abrir o ADOQuery1 a cada alteração. Por exemplo:
[CODE=rich]procedure Tfrm_CorPersonalizada.Btn_SalvarClick(Sender: TObject);
begin
if Application.MessageBox('Deseja realmente Salvar?','',MB_YESNO+ MB_ICONINFORMATION) = ID_YES then
ADOQuery1.Post
else
ADOQuery1.Cancel;
ADOQuery1.Close;
ADOQuery1.Open;
end;[/CODE]
Abraço.
Contribua para um fórum melhor: pense antes de postar.
"It isn't a contest. Just enjoy the ride." -> Seth Vidal
Hardware.com.br no Youtube!
Bom, quero agradecer a atenção de todos vocês. Consegui com a ajuda de vocês resolver os problemas que tinha no meu Programa.
Muito obrigado
Um abraço
JOSE DE FREITAS