ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
337
337
EMPFEHLEN
-
Hallo,
ich bin immernoch dabei mein Anwesenheitsprogramm zu schreiben. Zur Grafischen Ansicht nehme ich Textdateien, zum Programm ini-Dateien.
Ich speicher also wenn ich auf nen Button klicke die Uhrzeit und die Sektion ist der Name der anwesenden Person. So weit so gut. Nun mache ich das gleiche beim Austragen: In die Sektion einen zweiten Schlüssel mit der zweiten Uhrzeit. Auch das klappt. Nun möchte ich aber wenn ich mich ein zweites mal eintrage, an einem Tag... Das er dann folgendes macht:
Code :1 2 3
[Max Mustermann] eingetragen = 18:09 ausgetragen = 19:07
so.... und jetzt trage ich mich also ein zweites mal ein...
Code :1 2 3 4
[Max Mustermann] eingetragen = 18:09 ausgetragen = 19:07 eingetragen2 = 20:08
das möchte ich aber dynamisch weiterführen... bedeutet wenn er sich jetzt wieder austrägt, dann steht da eintsprechend noch
Code :1
ausgetragen2 = 21:07
und trage ich mich jetzt nochmal ein, dann steht da
Code :1
eingetragen3 = 21:18
usw... Wie mache ich das, beim eintragen und natürlich auch beim austragen...
mein Code:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If ComboBox1.Text = "" Then MsgBox("Nichts drin") Else Dim pr As String pr = WertLesen(ComboBox1.Text, "Ausgetragen", PFAD) If pr = "" Then WertSchreiben(ComboBox1.Text, "Eingetragen", Format(Now, "HH:mm"), PFAD) Else WertSchreiben(ComboBox1.Text, "Eingetragen2", Format(Now, "HH:mm"), PFAD) End If End If End Sub
und beim austragen
Code :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
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim pr As String pr = WertLesen(ComboBox1.Text, "Ausgetragen", PFAD) Dim pr1 As String Dim pr2 As String pr1 = WertLesen(ComboBox1.Text, "Eingetragen", PFAD) If pr1 = "" And pr2 = "" Then MsgBox("Der Nutzer wurde noch nicht eingetragen") Else If pr = "" Then WertSchreiben(ComboBox1.Text, "Ausgetragen", Format(Now, "HH:mm"), PFAD) Dim sEingetragen As String sEingetragen = WertLesen(ComboBox1.Text, "Eingetragen", PFAD) Dim sAusgetragen As String sAusgetragen = WertLesen(ComboBox1.Text, "Ausgetragen", PFAD) Dim Eingetragen As TimeSpan = TimeSpan.Parse(sEingetragen) Dim Ausgetragen As TimeSpan = TimeSpan.Parse(sAusgetragen) ' Zeitdifferenz in Minuten berechnen Dim nMin As Integer = 0 With Ausgetragen.Subtract(Eingetragen) nMin = .Hours * 60 + .Minutes End With ' Ausgabe der Zeit-Differenz MsgBox("Die Differenz beträgt " & CStr(nMin) & " Minuten") Dim nStu As String nStu = nMin / 60 WertSchreiben(ComboBox1.Text, "Gesamtstunden", nStu, PFAD) End IfLieben Gruß,
Eike Schlüter
**** Bitte erledigte Beiträge auch so markieren! ****
Besuche auch meine neue Homepage: http://www.eshb.org und http://www.eike.schlueter.ws
-
Moin,
ich würde dir da prinzipiell empfehlen XML-Dateien zu verwenden. So kannst du proplemlos über DOM deine Datei erweitern und musst nicht in den Textdateien "von Hand" nach der richtigen Stelle suchen. Sowas wäre ziemlich leicht fehleranfällig und nur schwer erweiterbar, wenn du das einmal möchtest.
Mit XML-Dateien kannst du zum Beispiel an den entsprechenden Personenknoten ganz einfach ein Element <check id="2" ein="20:08" aus=""> anhängen (das 2. Mal an dem Tag eingetragen)
Beim Austragen brauchst du dann nur das Attribut "aus" des Knotens mit der letzten id zu setzen.
mfg LuigiEd
-
Hallo und vielen Dank!
Grundsätzlich wirst Du Recht haben. Aber ich habe noch nie mit xml-Dateien gearbeitet. Wie schreibe ich das da rein und wie lese ich es aus? Bei Ini-Dateien habe ich mir selber eine Funktion geschrieben zum eintragen und austragen.
Hätte da jemand eine Idee für eine Lösung über INI-Dateien. Ich werde mir aber auf jeden Fall mal die Lösung mit xml-Dateien anschauen!
Danke schonmal!Lieben Gruß,
Eike Schlüter
**** Bitte erledigte Beiträge auch so markieren! ****
Besuche auch meine neue Homepage: http://www.eshb.org und http://www.eike.schlueter.ws
-
Hi Eike,
ini-Dateien sind eigentlich (wie der Name schon sagt) dazu gedachte einem Programm beim Starten (Initialisieren) Parameter mit zu geben.
Sicherlich kannst du dein Problem trotzdem auf diese Art lesen. Du müssest dazu die Datei öffnen, den gesamten Inhalt einlesen, dann die Stelle finden, an der du etwas hinzufügen willst und das dann tun.
Willst du alle Nutzer in EINER Datei abspeichern oder für jeden Nutzer eine seperate Datei anlegen?
Bei XML-Dateien hast du den Vorteil, dass es ein fertiges Modell (DOM) dafür gibt und .NET (sowie die meisten Programmiersprachen (-Frameworks) schon eine API dafür mitbringen. Des Weiteren ist es durch den Aufbau der XML-Dateien leichter die Stelle zu finden und zu erweitern, die du willst. Du musst dich also nicht mit solchen Low-Level-Sachen wie Stringverarbeitung und ähnlichem Rumärgern.
Wenn du Syntaxfragen zu dem einen oder anderen hast, sag bescheid.
mfg
-
Die Infos im Netz zu finden sollte nicht all zu schwer sein oder?
http://openbook.galileocomputing.de/...msvb100000.htmGrüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
Ähnliche Themen
-
Logfiles weiterführen
Von kirina im Forum JavaAntworten: 4Letzter Beitrag: 31.03.08, 10:20 -
Zahl automatisch weiterführen lassen?
Von paulee im Forum PHPAntworten: 11Letzter Beitrag: 27.12.06, 13:45 -
dynamisch Datei erzeugen und Daten darin speichern?
Von heino-th im Forum Flash PlattformAntworten: 4Letzter Beitrag: 23.10.05, 16:14 -
Exel: Buchstaben alphabetisch weiterführen
Von CreatorX im Forum Office-AnwendungenAntworten: 2Letzter Beitrag: 17.10.04, 01:40 -
Hintergrund nahtlos weiterführen
Von LeoZwentendorf im Forum PhotoshopAntworten: 13Letzter Beitrag: 29.01.04, 08:47





Zitieren


Login





