Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    321

    Delphi Gestione Della Finestra Confirm

    Salve sto realizzando un editor di testo, il mio primo programmino per capirci. Devo fare una funzione che all'uscita del programma se il file ha ricevuto delle modifiche appare la nota finestrella di confirm per richiedere se salvare il file con le opzioni SI NO ANNULLA.
    Ho creato la finestrella con questo codice:

    procedure TFMain.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    messagedlg('salvare le modifiche apportate al file?',mtConfirmation,[mbYes,mbNo,mbCancel],0)
    end;

    è La finestra va bene ma vorrei capire come accedere alle costanti: mbYes
    mbNo
    mbCancel

    Ovviamente per gestire il comportamento in base alla risposta scelta dall'utente.

    Grazie a tutti del forum, Un saluto grande.

  2. #2
    prendi spunto......

    var
    replay : integer;
    begin
    replay := MessageDlg('Ok to quit?', mtConfirmation, [mbYes, mbNo], 0);
    if replay = mrYes then
    close;

    ciao!

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    321
    Grazie avevo trovato la sintassi su internet delle finestre di dialogo e ho sviluppato questo codice ma in fase di runtime da problemi.


    SE premo Il pulsante SI, Va tutto bene.
    Se premo il pulsante No mI RIPROPONE DI nuovo la finestra di dialogo
    stessa cosa per il pulsante annulla. Non capisco perchè

    procedure TFMain.esci1Click(Sender: TObject);
    begin
    if
    messagedlg('salvare le modifiche apportate al file?',
    mtConfirmation,[mbYes,mbNo,mbCancel],0) = mrYes
    then
    begin
    FMain.Salva1;
    end

    else
    if messagedlg('salvare le modifiche apportate al file?',
    mtconfirmation,[mbYes,mbNo,mbCancel],0) = mrNo
    then
    begin
    FMain.Close;
    end
    else
    if messagedlg('salvare le modifiche apportate al file?',
    mtconfirmation,[mbYes,mbNo,mbCancel],0) = mrCancel
    then
    begin

    end
    end;


    Grazie ancora

  4. #4
    procedure TFMain.esci1Click(Sender: TObject);
    var
    i:integer;
    begin
    i:=messagedlg('salvare le modifiche apportate al file?',
    mtConfirmation,[mbYes,mbNo,mbCancel],0);
    if i = mrYes then
    FMain.Salva1
    else
    if i = mrNo then
    FMain.Close
    else
    if i = mrCancel then
    exit;

    end;

    ciau!

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    321
    Mi da errore di sintassi!
    Che versione hai?
    Io il codegear 2007
    Ciao

  6. #6
    delphi 7 quel codice l'ho testato su d7 appunto e funge...!

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    321
    Se non sbaglio la sintassi del 2007 per la condizionale if/else è cambiata...
    infatti non riesco a trovare maniera di effettuare più di un else. Io programmo abbastanza bene in php/mysql e onestamente in php posso usare if e poi else if oppure switch case che va bene anche su espressioni e non necessariamente su Dati integer...Insomma mi lascia un po così il delphi quando vedo un po di cose, a mio avviso sono un po anomale queste cose cmq va beh...
    Ho dovuto eliminare il pulsante annulla farlo solo con il pulsante si e no e il codice per i pulsanti e cosi funge, Grazie Ciao.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.