2016-04-08 1 views
-1

avoir un problème lors de la sauvegarde des données, j'essaie de configurer si l'utilisateur essaie d'enregistrer leurs données de nom pour leur personnage et un fichier existe déjà, il va créer un deuxième fichier xml "NameData2.xml" et ainsi de suite jusqu'à un maximum de 3 fichiers, (donc l'utilisateur a des caractères différents à choisir) mais pour le moment il crée simplement 2 fichiers xml à la fois tous contenant le même nom (Je suppose que cela est dû à eux en vérifiant tout à la fois dans le même sinon d'autres déclarations possible? Tout ce que je pourrais trouver en essayant de trouver une réponse était comment vérifier l'existence d'un fichier et s'il ne peut pas trouver comment créer un Je vais poster mon code ci-dessous si quelqu'un a des suggestions qui seraient brillantes comme im tout à fait perplexe!Créer différents fichiers XML en fonction de l'existence d'autres C#

T Hankyou à l'avance.

// This will save the users generated name in a created file 
    // NameData.xml and will take the user to the partySelectionScreen. 
    private void continueButton_Click(object sender, RoutedEventArgs e) 
    { 

     try 
     { 
      NameSavingInformation nameInfo = new NameSavingInformation(); 
      nameInfo.GeneratedName = generatedNameTexbox.Text; 
      SaveXml.SaveData(nameInfo, "NameData.xml"); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 

     if(File.Exists("NameData.xml")) 
     { 
      NameSavingInformation nameInfo = new NameSavingInformation(); 
      nameInfo.GeneratedName = generatedNameTexbox.Text; 
      SaveXml.SaveData(nameInfo, "NameData2.xml"); 
     } 
     else if (File.Exists("NameData2.xml")) 
     { 
      NameSavingInformation nameInfo = new NameSavingInformation(); 
      nameInfo.GeneratedName = generatedNameTexbox.Text; 
      SaveXml.SaveData(nameInfo, "NameData3.xml"); 
     } 
     else if (File.Exists("NameData3.xml")) 
     { 
      MessageBox.Show("You have passed the limit of existing characters" + 
       "To continue please return to the main menu and delete at least 1 character"); 
     } 

Répondre

0

Vous devriez faire comme ça. Cela va effectuer une recherche sur les fichiers qui n'existe pas et les générera. Cela permettra à l'utilisateur de supprimer tous les caractères souhaités sans casser l'algorithme.

private void continueButton_Click(object sender, RoutedEventArgs e) 
{ 
    if(!File.Exists("NameData.xml")) 
    { 
     SaveFileInfo("NameData.xml"); 
    } 
    else if (!File.Exists("NameData2.xml")) 
    { 
     SaveFileInfo("NameData2.xml"); 
    } 
    else if (!File.Exists("NameData3.xml")) 
    { 
     SaveFileInfo("NameData3.xml"); 
    } 
    else 
    { 
     MessageBox.Show("You have passed the limit of existing characters" + 
      "To continue please return to the main menu and delete at least 1 character"); 
    } 
} 

public SaveFileInfo(string fileName) 
{ 
    try 
    { 
     NameSavingInformation nameInfo = new NameSavingInformation(); 
     nameInfo.GeneratedName = generatedNameTexbox.Text; 
     SaveXml.SaveData(nameInfo, fileName); 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show(ex.Message); 
    } 
} 
+0

c'est merveilleux merci beaucoup d'avoir pris le temps de répondre! – Ambitiousmilky