Bonjour ou bonsoir!^^
Voilà depuis quelques jours, j'ai créer un logiciel qui génère des quêtes pour un script sur rpg maker vx ace.
J'ai une classe qui se nomme: "Quest", j'utilise ce code, pour sauvegarder:
Et la pour ouvrir: (Je voudrais savoir comment faire si l'utilisateur a cliquer sur ok dans le folderbrowserdialog, pour qui active le code, si il clique sur annuler sa fait rien)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 try { using (BinaryWriter binaryWriter = new BinaryWriter((Stream)File.Open(this.folderBrowserDialog1.SelectedPath + "\\Data\\Quests.rvdata2", FileMode.Create))) { binaryWriter.Write(this.quests.Length); for (int index1 = 0; index1 < this.quests.Length; ++index1) { binaryWriter.Write(this.quests[index1].Name); binaryWriter.Write(this.quests[index1].Giver); binaryWriter.Write(this.quests[index1].Location); binaryWriter.Write(this.quests[index1].Description); binaryWriter.Write(this.quests[index1].QuestNote); binaryWriter.Write(this.quests[index1].Level); binaryWriter.Write(this.quests[index1].IconIndex); binaryWriter.Write(this.quests[index1].NumberObjectives); for (int index2 = 0; index2 <= this.quests[index1].NumberObjectives; ++index2) binaryWriter.Write(this.quests[index1].Objectives[index2]); binaryWriter.Write(this.quests[index1].items.Count); for (int index2 = 0; index2 < this.quests[index1].items.Count; ++index2) { binaryWriter.Write(this.quests[index1].items[index2].type); binaryWriter.Write(this.quests[index1].items[index2].itemid); binaryWriter.Write(this.quests[index1].items[index2].itemnumber); } binaryWriter.Write(this.quests[index1].Catégorie); binaryWriter.Write(this.quests[index1].EvCommun); binaryWriter.Write(this.quests[index1].Banniere); binaryWriter.Write(this.quests[index1].Teinte); } } } catch (Exception) { MessageBox.Show("Aucun projet ouvert!", "Save impossible:"); }
Quand on ouvre un projet, la listbox1 sélectionne le premier, puis le textbox reste a la valeur d'actuel, c'est ta dire rien, il affiche pas la phrase de l'utilisateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 try { int num1 = (int)this.folderBrowserDialog1.ShowDialog(); if (File.Exists(this.folderBrowserDialog1.SelectedPath + "\\Data\\Quests.rvdata2")) { using (BinaryReader binaryReader = new BinaryReader((Stream)File.Open(this.folderBrowserDialog1.SelectedPath + "\\Data\\Quests.rvdata2", FileMode.Open))) { int length = binaryReader.ReadInt32(); this.quests = new Quest[length]; this.listBox1.Items.Clear(); for (int index1 = 0; index1 < length; ++index1) { this.quests[index1] = new Quest(""); this.quests[index1].Name = binaryReader.ReadString(); this.quests[index1].Giver = binaryReader.ReadString(); this.quests[index1].Location = binaryReader.ReadString(); this.quests[index1].Description = binaryReader.ReadString(); this.quests[index1].QuestNote = binaryReader.ReadString(); this.quests[index1].Level = binaryReader.ReadInt32(); this.quests[index1].IconIndex = binaryReader.ReadInt32(); this.quests[index1].NumberObjectives = binaryReader.ReadInt32(); this.listBox1.Items.Add((object)this.quests[index1].Name); this.quests[index1].Objectives.Clear(); for (int index2 = 0; index2 <= this.quests[index1].NumberObjectives; ++index2) this.quests[index1].Objectives.Add(binaryReader.ReadString()); int num2 = binaryReader.ReadInt32(); for (int index2 = 0; index2 < num2; ++index2) { this.quests[index1].items.Add(new Item(0, 0, 0)); this.quests[index1].items[index2].type = binaryReader.ReadInt32(); this.quests[index1].items[index2].itemid = binaryReader.ReadInt32(); this.quests[index1].items[index2].itemnumber = binaryReader.ReadInt32(); } this.quests[index1].Catégorie = binaryReader.ReadString(); this.quests[index1].EvCommun = binaryReader.ReadInt32(); this.quests[index1].Banniere = binaryReader.ReadString(); this.quests[index1].Teinte = binaryReader.ReadInt32(); } } } if (File.Exists(this.folderBrowserDialog1.SelectedPath + "\\Data\\Items.rvdata2")) File.Copy(this.folderBrowserDialog1.SelectedPath + "\\Data\\Items.rvdata2", "Projet\\Data\\Items.rvdata2"); if (File.Exists(this.folderBrowserDialog1.SelectedPath + "\\Data\\Armors.rvdata2")) File.Copy(this.folderBrowserDialog1.SelectedPath + "\\Data\\Armors.rvdata2", "Projet\\Data\\Armors.rvdata2"); if (File.Exists(this.folderBrowserDialog1.SelectedPath + "\\Data\\Weapons.rvdata2")) File.Copy(this.folderBrowserDialog1.SelectedPath + "\\Data\\Weapons.rvdata2", "Projet\\Data\\Weapons.rvdata2"); this.LoadTimer1.Enabled = true; this.ouvrirToolStripButton.Enabled = false; } catch (Exception) { MessageBox.Show("Un projet est ouvert!", "Ouverture impossible:"); }
Ou provient l'erreur?
Merci d'avance de m'aider.
Partager