-
02.05.2015, 07:39 #1
- Registriert seit
- 12.12.2012
- Beiträge
- 180
Thanked 55 Times in 41 Posts[c#] Tool um bestimmte Namen auszulesen bzw eintragen zu können
Halli Hallo :p
Ich brauche eure Hilfe, undzwar möchte ich mir ein kleines Tool basteln was mir ermöglicht bestimmte Namen aus 2 verschiedenen .txt Dokumenten auszulesen & sie ggf. ihre Werte dazu ausgeben.
Meine Form besitzt:
- Eine Textbox (Hier wird der Name eingeben)
- Eine Combobox (2 Einträge = Gezahlt & Nichtgezahlt)
- Ein Button zum "Loaden" & Ein zum "Saven"
- Eine Listview (Hier wird der Wert ausgegeben!)
Erste Funktion:
Ich habe 2 .txt Dokumente "Gezahlt.txt" & "Nichtgezahlt.txt" in diesen Dokumenten sind verschiedene Namen eingetragen! z.B PeterMustermann123 ist im Dokument "Nichtgezahlt" Wenn ich jetzt in meine Textbox "PeterMustermann123" eingebe und auf Load klicke, möchte ich das mir das Tool in meiner Listview(kann auch ein Label sein) einfach nur "Nichtgezahlt" auflistet, aber falls sich der Name in keiner der beiden Dokumenten befindet, soll mir das Tool einfach nur den Wert "Unknown" auflisten.
Zweite Funktion:
Ich trage ein Namen(in diesen Fall einen der noch in keiner der beiden Dokumente aufgelistet) in die Textbox ein & Wähle den Eintrag "Gezahlt" aus meiner ComboBox aus und Drücke auf Save so möchte Ich das der Name aus der Textbox in das Dokument "Gezahlt.txt"gespeichert wird
Das wars eigentlich auch schon, wer kann mir da Helfen?`würde auch 50 Knuddels dafür Zahlen falls erwünscht
-
02.05.2015, 09:48 #2
- Registriert seit
- 15.11.2011
- Beiträge
- 6.210
- Blog Entries
- 5
Thanked 9.130 Times in 3.005 PostsAW: [c#] Tool um bestimmte Namen auszulesen bzw einzutragen zu können
So mit zwei getrennten Dateien macht man das nicht. Jede Person ist ein Datensatz und hat ein Attribut für den Zahlstatus, also ganz einfach abgebildet könnte das Model dafür beispielsweise wie folgt aussehen:
class Person {
public string Name { get; set; }
public bool HasPaid { get; set; }
}
Für das Speichern würde ich JSON/XML nutzen. Da hast du ein einheitliches, fertiges Format, dass du mit einer Zeile serialisieren bzw. deserialisieren kannst. Und zwar ganz ohne jedes Gefrickel. Ab einer gewissen Anzahl an Datensätzen ist das abhängig von den gespeicherten Infos aber auch keine besonders gute Idee, da jedes mal die gesamten Datensätze geladen werden und die Lösung somit inperformant wird. Dann wäre eine Datenbank die bessere Lösung. Da werden dann nämlich auch nicht immer die gesamten Datensätze geladen, sondern lediglich jene welche auch gebraucht werden (z.B. anhand des Namens über eine Suchmaske) abgefragt. Wenn das eher in kleineren Dimensionen bleiben soll ist es durchaus okay eine Datei zu nutzen.
Generell frage ich mich aber, wo für diesen Anwendungszweck der Sinn/Mehrwert bei einer selbst entwickelten Anwendung liegen soll. Ist da noch eine Erweiterung/Automatisierung geplant, oder geht es mehr ums Lernen und weniger um das fertige Resultat? Ansonsten scheint es mir nämlich, als ob eine Excel-Tabelle mit zwei Spalten im Endeffekt dasselbe Ergebnis bringen würde, aber mit weniger Aufwand. Flexibler wäre es ggf. auch, da eine Tabelle auch problemlos auf Mobilgeräten bearbeitet werden kann - Mit einer .NET-Anwendung wird das schwierig, wenn man nicht gerade ein aktuelleres Windows-Phone/Table hat.
-
31.10.2015, 12:25 #3
- Registriert seit
- 31.10.2015
- Beiträge
- 7
Thanked 0 Times in 0 PostsAW: [c#] Tool um bestimmte Namen auszulesen bzw einzutragen zu können
Ich denke nicht das es sich hier um ein System handelt das produktiv genutzt werden soll. Deshabl erschließt sich mir der Sinn einer Datenbank nicht ganz. Wieso mit Kanonen auf Spatzen schießen (erstmal muss so ne Datenbank ja auch aufgesetzt werden, dann muss man etwas von SQL wissen und dann muss er wissen wie er diese Daten dann im Programm abruft).
Ansonst ist eine XML-Datei wirklich der beste Weg um diese Daten abzuspeichern. Wenn du die Daten neu ordnest pack um himmelswillen alles in eine Datei. Es wird dann um Längen einfacher.
Wenn du weiterhin aus zwei Dateien lesen willst würde sich in etwa so eine Lösung anbieten
Code:string[] paid = {"tom", "peter"}; string[] notpaid = {"kim", "harald"}; string nameToSearch = "kim"; if(paid.Contains(nameToSearch)) { return "Gezahlt"; } else if(notpaid.Contains(nameToSearch)) { return "Nicht Gezahlt"; } else { return "Unknown"; }
Ähnliche Themen
-
Suche ein Programm zum eintragen von Rohen, Leitungen etc
Von Flori im Forum SoftwareAntworten: 11Letzter Beitrag: 25.12.2013, 16:24 -
Domain registrieren was bei Nameserver eintragen?
Von Festplatte im Forum WebmasterAntworten: 7Letzter Beitrag: 17.06.2013, 04:22 -
BF3 bestimmte Spielmodi
Von ElkosMED im Forum BattlefieldAntworten: 2Letzter Beitrag: 24.05.2013, 21:21 -
ESL Gameaccount eintragen
Von Deluxe im Forum Ego-ShooterAntworten: 3Letzter Beitrag: 22.12.2012, 17:19 -
Können meine Eltern.....?
Von maydi96 im Forum Internet und TechnikAntworten: 17Letzter Beitrag: 29.02.2012, 01:18
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.