Newsgroup: it.comp.programmare.win32
Titolo: c++Builder:riconoscere file esistente e non sovrascrivere automaticamente

Ciao a tutti, stò sviluppando un applicazione con il c++ Builder 4,
provo a spiegarvi il mio problema, spero che qualcuno possa aiutarmi a
risolverlo
Ho una form composta da una serie di edit, di label, e di immagini;
all&#8217;event on-click di un bottone ho associato la generazione
della pagina html che contiene una tabella il cui contenuto delle
rispettive colonne è appunto:
-	il testo inserito nelle Edit
-	la caption  delle label 
-	 le immagini
Il mio problema non è la generazione delle pagine contenente i dati
desiderati; vorrei un modo per segnalare all&#8217;utente che qualora
si decide di dare un nome alla pagina che si stà generando identico ad
una già presente nella direttori scelta, questa verrà soprascritta
Allo stato attuale se decido, attraverso il save dialog, di creare una
pagina con un nome identico ad una già esistente, la sovrascrizione è
automatica e senza nessun avviso per l&#8217;utente e io questo vorrei
evitarlo
Scusate la brutalità, ma vi invio un frammento di codice che spero
chiarisca meglio la situazione
 //------------------------------------------------------------------------------------------------------
void __fastcall TNewSingleValuta::CreaFileCompilabile(TObject *Sender)
{
HtmlCompilabile=new TStringList();
AnsiString Risposta,Immagine;
try{
      if (SaveDialogHtmlPage->Execute())
      {
HtmlCompilabile->Add("<html><head><title>"+this->Caption+
                  "</title></head><body>");
        //TITOLO
        HtmlCompilabile->Add("<H2
ALIGN=CENTER>"""+ScelteIniziali->Titolo->Text+"""</H2><P>");
        HtmlCompilabile->Add("<H4 ALIGN=CENTER>""COSTRUZIONE
MATRICOLA""</H2><br>");
         HtmlCompilabile->Add("<TABLE WIDTH=98% CELLPADDING
BORDER=2>");
        HtmlCompilabile->Add("<TR>");
                          //INTESTAZIONE COLONNE TABELLA
                          HtmlCompilabile->Add("<TH
WIDTH=38%><B>""NUMERO CIFRA""</TH>");
                          //COLSPAN:TH OCCUPA 10 COLONNE
                          HtmlCompilabile->Add("<TH WIDTH=60%
COLSPAN=10><B>""IDENTIFICAZIONE CIFRA""</TH>");
        HtmlCompilabile->Add("</TR>");
                for (int
NumCifreIdUtente=0;NumCifreIdUtente<(ScelteIniziali->ScCifreId->Text.ToInt());NumCifreIdUtente++)
          {
            HtmlCompilabile->Add("<TR ALIGN=LEFT>");
            HtmlCompilabile->Add("<TD>""CIFRA"+AnsiString(NumCifreIdUtente+1)+"</TD>");
            //CICLO CHE SCRIVE LE CIFRE DA 0 A 9 NEL TAG TD
            for (int
CifraMatricola=0;CifraMatricola<10;CifraMatricola++)
            {
              HtmlCompilabile->Add("<TD>"+AnsiString(CifraMatricola)+"</TD>");
            }
            HtmlCompilabile->Add("</TR>");
          }
        HtmlCompilabile->Add("</TABLE>");
	.
	.
	.
	.
HtmlCompilabile->Add("</body></html>");
//SCRITTURA SU FILE
    HtmlCompilabile->SaveToFile(SaveDialogHtmlPage->FileName);
    //CHIUDE TRY
   }
__finally
   {
   delete HtmlCompilabile;
   }
}
Credo di aver capito che devo effettuare un controllo sulla stringa
HtmlCompilabile->SaveToFile(SaveDialogHtmlPage->FileName);
Ma come faccio nel momento in cui clicco sull&#8217;ok del Save dialog
a fare un controllo sul Filname inserito
Spero di essere riuscito a spiegarmi e che qualcuno possa darmi
qualche utile suggerimento
Grazie a tutti per l&#8217;aiuto ciao Fabio

     HtmlCompilabile->SaveToFile(SaveDialogHtmlPage->FileName);
ofOverwritePrompt=true nelle Options della Dialog;
oppure:
if(FileExist(SaveDialogHtmlPage->FileName))
{
	//quello che vuoi fare
}
else
{
	//quello che vuoi fare
}