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

    Finestra confirm è misterioso else if

    C'è qualcuno che mi sa dire perchè mi capita questo...
    il codice sotto riportato apre una finestra confirm al click del menu esci:
    suppongo che l'errore sia negli else if, uso delphi 2007. Grazie

    se premo salva va bene l'operazione se premo No mi prima di chiudere il file mi propone due volte la finestra confirm se premo annulla me la propone tre volte. Cè qulcuno che mi sa aiutare?

    procedure TFMain.esci1Click(Sender: TObject);
    begin
    if
    messagedlg('salvare le modifiche apportate al file?',
    mtConfirmation,[mbYes,mbNo,mbCancel],0) = mrYes
    then
    begin
    if (Sd.FileName='') then
    begin
    Sd.Execute;
    end
    else
    if (statusbar1.Panels[0].Text= 'untitled.txt')
    or (statusbar1.Panels[0].Text= 'untitled.php')
    or (statusbar1.Panels[0].Text= 'untitled.css')
    or (statusbar1.Panels[0].Text= 'untitled.html')
    then
    begin
    Sd.Execute;
    richedit1.Lines.SaveToFile(Sd.FileName);
    end
    else
    begin
    richedit1.Lines.SaveToFile(Sd.FileName)
    end
    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;

  2. #2
    hai un errore concettuale, la tua procedura la devi scrivere così
    codice:
    procedure TFMain.esci1Click(Sender: TObject);
    var
      rst : tipo_risposta_messagedlg;
    begin
    
    rst := messagedlg('salvare le modifiche apportate al file?', mtConfirmation,[mbYes,mbNo,mbCancel],0);
    
    if (rst = mrYes) then
    begin
      if (Sd.FileName='') then
      begin
        Sd.Execute;
      end
      else if (statusbar1.Panels[0].Text= 'untitled.txt') or (statusbar1.Panels[0].Text= 'untitled.php') or (statusbar1.Panels[0].Text= 'untitled.css') or (statusbar1.Panels[0].Text= 'untitled.html') then
      begin
        Sd.Execute;
        richedit1.Lines.SaveToFile(Sd.FileName);
      end
      else
      begin
        richedit1.Lines.SaveToFile(Sd.FileName)
      end
    end
    else if (rst =  = mrNo) then
    begin
      FMain.Close
    end
    else (rst = mrCancel) then
    begin
    end
    
    end;
    non mi ricordo il tipo ritornato dalla messageDlg, guardalo nella guida on line.
    ciao
    sergio

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Se non utilizzi i tag code nel riportare il tuo codice nel forum questo risultera' illeggibile.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    321
    Innanzi tutto grazie per l'interessamento, Oregon, e mi scuso se non ho utilizzato i tag code rendendo difficilmente leggibile il mio codice. Volevo Farti notare che il tuo collegamento punta a una guida di visual basic...

    MA QUESTO è DELPHI!!

    e se ho aperto un forum è perche non riesco a trovare una guida che mi spieghi bene come utilizzare più condizionali...

    esempio:
    if
    condizione
    then
    begin
    espressione
    end
    else if
    condizione
    then
    begin
    espressione
    end


    e cosi via ne devo analizzare tre di condizioni...



  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da TEODORO
    Volevo Farti notare che il tuo collegamento punta a una guida di visual basic...
    Lo so ... quel link sta nella mia "firma" ... c'e' in tutte le risposte a prescindere dalla risposta ...

    MA QUESTO è DELPHI!!
    So anche questo ... vedi sopra ...

    se ho aperto un forum
    Semmai hai aperto un thread ... non tutto il forum ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    321
    oh scusa non avevo fatto caso...
    ho appena risolto Prendendo spunto dal codice che mi è stato riportato dall'utente mondobimbi
    alcuni errori di sintassi me li dava anche il suo codice ma erano errori semplici di distrazione facilmente risolvibili..Grazia a tutti per l'aiuto che mi avete dato per qualsiasi cosa il mio link messanger è teodoro.basta@hotmail.it

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 © 2026 vBulletin Solutions, Inc. All rights reserved.