tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
4933
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    ITiger ITiger ist offline Mitglied Bronze
    Registriert seit
    Oct 2002
    Ort
    BW
    Beiträge
    36
    Hallo !

    Folgendes: Ich möchte gerne Treeview für eine etwas andere Funktion als die Standardmässig vorgesehene verwenden...

    Ich möchte zum Beispiel alle Wochentage untereinander haben und darunter wiederum Termine...

    Weiss jemand wie das geht?

    Merci. ITiger.
     
    And God saw that "IT" was good...

  2. #2
    ITiger ITiger ist offline Mitglied Bronze
    Registriert seit
    Oct 2002
    Ort
    BW
    Beiträge
    36
    Ok, habs hinbekommen...

    Brauche jetzt aber noch eine Lösung, wie ich die Nodes unterhalb der Wochentage sortieren kann...

    Hier folgt der Code... das Ding dient dem Auslesen einer Crontab:

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    
            Dim nodX As Node
            Dim zeile As String
            Dim sar_zeilen() As String
            Dim counter As Integer
            Dim zeit_und_name As String
            
            Set nodX = TreeView1.Nodes.Add(, , "R", "Zeitplan")
            Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C1", "Montag")
            Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C2", "Dienstag")
            Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C3", "Mittwoch")
            Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C4", "Donnerstag")
            Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C5", "Freitag")
            Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C6", "Samstag ")
            Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C7", "Sonntag")
            
            Open "d:\program Files\vcron\crontab" For Input As #1
            
            counter = 1
                Do Until EOF(1)
                    
                    Line Input #1, zeile
                    If (Mid(zeile, 1, 1) <> "#") And zeile <> "" Then
                        
                        sar_zeilen() = Split(zeile, " ")
     
                        zeile = sar_zeilen(4)
                        counter = counter + 1
                        zeit_und_name = (sar_zeilen(1) & ":" & sar_zeilen(0) & " Uhr, " & sar_zeilen(5))
     
                        If InStr(1, zeile, "0", 1) Then
                                Set nodX = TreeView1.Nodes.Add("C7", tvwChild, "c7_" & counter, zeit_und_name)
                        End If
                        If InStr(1, zeile, "1", 1) Then
                                Set nodX = TreeView1.Nodes.Add("C1", tvwChild, "c1_" & counter, zeit_und_name)
                        End If
                        If InStr(1, zeile, "2", 1) Then
                                Set nodX = TreeView1.Nodes.Add("C2", tvwChild, "c2_" & counter, zeit_und_name)
                        End If
                        If InStr(1, zeile, "3", 1) Then
                                Set nodX = TreeView1.Nodes.Add("C3", tvwChild, "c3_" & counter, zeit_und_name)
                        End If
                        If InStr(1, zeile, "4", 1) Then
                                Set nodX = TreeView1.Nodes.Add("C4", tvwChild, "c4_" & counter, zeit_und_name)
                        End If
                        If InStr(1, zeile, "5", 1) Then
                                Set nodX = TreeView1.Nodes.Add("C5", tvwChild, "c5_" & counter, zeit_und_name)
                        End If
                        If InStr(1, zeile, "6", 1) Then
                                Set nodX = TreeView1.Nodes.Add("C6", tvwChild, "c6_" & counter, zeit_und_name)
                        End If
                        
                        If sar_zeilen(3) = "*" Then
                            If sar_zeilen(2) = "*" Then
                                If zeile = "*" Then
                                    
                                    Set nodX = TreeView1.Nodes.Add("C6", tvwChild, "c6_" & counter, zeit_und_name)
                                    Set nodX = TreeView1.Nodes.Add("C5", tvwChild, "c5_" & counter, zeit_und_name)
                                    Set nodX = TreeView1.Nodes.Add("C4", tvwChild, "c4_" & counter, zeit_und_name)
                                    Set nodX = TreeView1.Nodes.Add("C3", tvwChild, "c3_" & counter, zeit_und_name)
                                    Set nodX = TreeView1.Nodes.Add("C2", tvwChild, "c2_" & counter, zeit_und_name)
                                    Set nodX = TreeView1.Nodes.Add("C1", tvwChild, "c1_" & counter, zeit_und_name)
                                    Set nodX = TreeView1.Nodes.Add("C7", tvwChild, "c7_" & counter, zeit_und_name)
                            
                                End If
                            End If
                        End If
                        
                    End If
                
                Loop
            
            Close #1
            
            TreeView1.Sorted = True
            
    End Sub
     
    And God saw that "IT" was good...

  3. #3
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.091
    was sagt denn der debugger dazu und an welcher stelle in dem code kommst du nicht weiter? ich kann da nicht so viel zu sagen, weil ich nicht weiss, welche werte in deinen variablen stehen können.
    wäre vielleicht ganz praktisch, wenn du den aufbau deiner datei auch noch posten könntest.
     
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

  4. #4
    ITiger ITiger ist offline Mitglied Bronze
    Registriert seit
    Oct 2002
    Ort
    BW
    Beiträge
    36
    Hab die Lösung bereits...

    Sorry, dass ich nicht früher geschrieben habe, aber ich musste bei der Happy Hour meiner Abteilung aufbauen helfen... Mann, ich hab fast 3 Stunden damit verschwendet...

    Es gibt ein Attribut das muss man auf true setzen:

    Code :
    1
    
    TreeView1.Nodes("C1").Sorted = True

    Das Sourcefile ist (wie ich schon erwähnt hab) eine ganz normale crontab wie aus UNIX bekannt (Ist ein "Service" der ein Programm, bzw. ein Batchfile zu einem bestimmten Zeitpunkt auslöst...), Aufbau:

    Eine Leere Zeile oder eine Kommentarzeile ("#" am Anfang) soll nicht eingelesen werden, daher die erste IF-Abfrage...

    x1 x2 x3 x4 x5 Pfad/Dateiname

    x1 = Minuten
    x2 = Stunde
    x3 = Tag des Monats
    x4 = Monat
    x5 = Wochentag (0=Sonntag; mehrfachnennung möglich: 1,3,5 = Montag, Mittwoch, Donnerstag)
    Pfad/Dateiname = Beispiel: C:\mache_dies.bat

    Danke mal, ich meld mich wieder...
    ...Mit Sicherheit, denn hier bekommt man echt gut Hilfe!

    Gruss Matze.
    Geändert von ITiger (31.10.02 um 19:18 Uhr)
     
    And God saw that "IT" was good...

  5. #5
    ITiger ITiger ist offline Mitglied Bronze
    Registriert seit
    Oct 2002
    Ort
    BW
    Beiträge
    36
    Jo, ich möchte jetzt ein Element aus der Liste auswählen und einen Doppelklick drauf machen (dann dazu Informationen anzeigen...)

    Wie geht das? HitTest Methode? Wie wird die verwendet?

    Gruss ITiger...
     
    And God saw that "IT" was good...

  6. #6
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.091
    beispielsweise mit dem dblclick-ereignis der treeview. das könntest du beispielsweise so aufbauen:
    Code :
    1
    2
    3
    
    Private Sub TreeView_DblClick()
    Label1.Caption = TreeView1.Nodes(TreeView1.SelectedItem.Index).Text
    End Sub
    ist natürlich nur ein kleiner denkanstoss, aber so würde ich das machen.

    die hittest-methode liefert soweit ich weiss nur den knoten an einer bestimmten koordinate. das wäre unter anderem im mousedown-ereignis hilfreich. aber im dblclick kommst du auch ohne aus.
     
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

  7. #7
    ITiger ITiger ist offline Mitglied Bronze
    Registriert seit
    Oct 2002
    Ort
    BW
    Beiträge
    36
    hehehhh...

    Hatte es gelöst, kam hierher zurück und stelle fest das meine Lösung schon gepostet wurde .

    habs ebenfalls mit selecteditem und treeview_dblclick() gelöst...

    Nadenne. Bis demnächst.

    ITiger.
     
    And God saw that "IT" was good...

Ähnliche Themen

  1. Script für Termine
    Von JaePe im Forum PHP
    Antworten: 2
    Letzter Beitrag: 31.03.09, 07:39
  2. termine aus db anzeigen
    Von ropueh im Forum PHP
    Antworten: 3
    Letzter Beitrag: 23.03.09, 13:56
  3. Vergangene Termine ausblenden
    Von Newcomer1 im Forum PHP
    Antworten: 1
    Letzter Beitrag: 04.07.07, 09:57
  4. Termine sortieren
    Von oldputz1990 im Forum PHP
    Antworten: 18
    Letzter Beitrag: 22.02.07, 18:33
  5. Termine verknüpfen
    Von met im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 13.02.07, 15:55