2017-10-17 1 views
1

Ich arbeite derzeit an einem D & D Programm für meine Freunde und mich. Es ist ziemlich fertig außer der Tatsache, dass es für meine Freunde extrem schwer sein wird, all ihre hinzuzufügen Statistiken in das Programm. Ich speichere gerade alle Informationen für den Personencharakter in einem .txt Dokument und rufe es zu meinem Programm auf, wie unten gesehen.Wie man ein organisiertes Textdokument macht

labelCharisma.Text = line[0]; 
labelStrength.Text = line[1]; 

aber das mein Problem folgen kein Format für meine Freunde dabei sein ist. Sie müssten im Code meines Programms nachsehen und herausfinden, welches Label oder welche Textbox mit welcher Zeile des Textdokuments übereinstimmt. Gibt es eine Möglichkeit für mich, eine Art Indikator im .txt-Dokument vor den Wert zu setzen, um ihnen anzuzeigen, was sie wo in das .txt-Dokument setzen müssen? IE (Zeile 0 ist für Charisma): 16 (Zeile 0 ist für Stärke): 14 aber beim Aufruf der Zeile lassen Sie alles außer dem Wert aus. Ich weiß, dass es viel einfacher wäre, eine Datenbank zu verwenden, aber zu diesem Zeitpunkt möchte ich es einfach halten, indem ich das .txt-Dokument benutze. Oder gibt es eine Möglichkeit, ein .xlsx zu referenzieren?

+1

Ich würde Ihnen empfehlen zu untersuchen, ob XML oder JSON formatierte Dateien Ihren Anforderungen entsprechen würden. –

Antwort

1

Ein einfaches Format für Einstellungen ist die gute alte *.INI format. Es sieht wie folgt aus:

[Section1]
Einst.1 = Wert 1
Einst.2 = Wert 2

[Ein weiterer Abschnitt]
Setting3 = Wert 3
Charisma = hoch
Stärke = 2

Während andere Formate wie XML oder JSON vielseitiger sind und erlauben Zusammenarbeit zu bauen Mplex hierarchische Strukturen, INI-Dateien sind für jeden leicht verständlich, auch für Nicht-Programmierer.

Sie können wie diese es

public class IniSettings 
{ 
    private string _filename; 

    public IniSettings(string filename) 
    { 
     _filename = filename; 
    } 

    [DllImport("kernel32")] 
    private static extern long WritePrivateProfileString(string section, string key, 
     string val, string filePath); 

    [DllImport("kernel32")] 
    private static extern int GetPrivateProfileString(string section, string key, 
     string def, StringBuilder retVal, int size, string filePath); 

    public string this[string section, string key] 
    { 
     get 
     { 
      StringBuilder sb = new StringBuilder(1024); 
      GetPrivateProfileString(section, key, String.Empty, sb, 1024, _filename); 
      return sb.ToString(); 
     } 
     set 
     { 
      WritePrivateProfileString(section, key, value, _filename); 
     } 
    } 
} 

verwenden wie diese eine Klasse für den Zugang dieser Einstellungen schreiben:

var settings = new IniSettings(myIniFile); 
string charisma = settings["Another section", "Charisma"]; 
0

auf der Technologie Je Sie verwenden, würden Sie wahrscheinlich wollen Verwenden Sie XML oder JSON. Beide sind strukturierte Textdateien und haben eine große Unterstützung beim Navigieren, Zugreifen und Erweitern des Inhalts. Wenn Sie Microsoft Tech verwenden, würde ich vorschlagen, XML zu verwenden, und wenn es eine Website-Anwendung ist, würde ich vorschlagen, JSON zu suchen. Persönlich mag ich XML mehr, da ich denke, dass es sauberer und einfacher zu pflegen ist.

ein Beispiel dafür, wie Ihre Struktur in xml aussehen wird so etwas wie dieses ...

<character> 
    <name>Wizard King</name> 
    <strength>3</strength> 
    <intelligence>9</intelligence> 
etc. 

hoffe, es hilft.