tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
337
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von esdesign
    esdesign esdesign ist offline Grafikdesigner
    Registriert seit
    Mar 2010
    Ort
    Bremen
    Beiträge
    64
    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 If
     
    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

  2. #2
    luigied luigied ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    77
    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
     

  3. #3
    Avatar von esdesign
    esdesign esdesign ist offline Grafikdesigner
    Registriert seit
    Mar 2010
    Ort
    Bremen
    Beiträge
    64
    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

  4. #4
    luigied luigied ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    77
    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
     

  5. #5
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Zitat Zitat von esdesign Beitrag anzeigen
    Aber ich habe noch nie mit xml-Dateien gearbeitet. Wie schreibe ich das da rein und wie lese ich es aus?
    Die Infos im Netz zu finden sollte nicht all zu schwer sein oder?
    http://openbook.galileocomputing.de/...msvb100000.htm
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

Ähnliche Themen

  1. Logfiles weiterführen
    Von kirina im Forum Java
    Antworten: 4
    Letzter Beitrag: 31.03.08, 10:20
  2. Zahl automatisch weiterführen lassen?
    Von paulee im Forum PHP
    Antworten: 11
    Letzter Beitrag: 27.12.06, 13:45
  3. dynamisch Datei erzeugen und Daten darin speichern?
    Von heino-th im Forum Flash Plattform
    Antworten: 4
    Letzter Beitrag: 23.10.05, 16:14
  4. Exel: Buchstaben alphabetisch weiterführen
    Von CreatorX im Forum Office-Anwendungen
    Antworten: 2
    Letzter Beitrag: 17.10.04, 01:40
  5. Hintergrund nahtlos weiterführen
    Von LeoZwentendorf im Forum Photoshop
    Antworten: 13
    Letzter Beitrag: 29.01.04, 08:47