VERSION 5.00
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
Begin VB.Form Define 
   Caption         =   "Eventdefinierung"
   ClientHeight    =   4815
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   7335
   BeginProperty Font 
      Name            =   "Verdana"
      Size            =   8.25
      Charset         =   0
      Weight          =   400
      Underline       =   0   'False
      Italic          =   0   'False
      Strikethrough   =   0   'False
   EndProperty
   LinkTopic       =   "yehaaaaaaaaaaaaaaaa ;-)"
   ScaleHeight     =   4815
   ScaleWidth      =   7335
   StartUpPosition =   3  'Windows Default
   Begin VB.CommandButton cmdFarbe 
      Caption         =   "Zonen Farbe"
      Height          =   375
      Left            =   1320
      TabIndex        =   10
      Top             =   3480
      Width           =   5535
   End
   Begin VB.CommandButton cmdLink 
      Caption         =   "Link in Linie einfügen"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   1320
      TabIndex        =   9
      Top             =   3000
      Width           =   5535
   End
   Begin VB.CommandButton cmdNeu 
      Caption         =   "Event Neu"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   735
      Left            =   1320
      TabIndex        =   8
      Top             =   3960
      Width           =   2655
   End
   Begin VB.ComboBox cmbNr 
      BeginProperty Font 
         Name            =   "Verdana"
         Size            =   8.25
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   315
      Left            =   6000
      TabIndex        =   7
      Top             =   1080
      Width           =   855
   End
   Begin VB.TextBox txtText 
      Height          =   1365
      Left            =   1320
      MultiLine       =   -1  'True
      TabIndex        =   1
      Top             =   1560
      Width           =   5535
   End
   Begin VB.TextBox txtTitel 
      Alignment       =   2  'Center
      BeginProperty Font 
         Name            =   "Verdana"
         Size            =   9.75
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   315
      Left            =   1320
      TabIndex        =   0
      Top             =   1080
      Width           =   3135
   End
   Begin VB.CommandButton cmdok 
      Caption         =   "OK"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   735
      Left            =   4200
      TabIndex        =   5
      Top             =   3960
      Width           =   2655
   End
   Begin MSComDlg.CommonDialog cmFarbe 
      Left            =   120
      Top             =   4200
      _ExtentX        =   847
      _ExtentY        =   847
      _Version        =   393216
   End
   Begin VB.Line Line1 
      X1              =   240
      X2              =   7080
      Y1              =   1440
      Y2              =   1440
   End
   Begin VB.Label lblEventNr 
      Alignment       =   1  'Right Justify
      Caption         =   "Event. Nr.:"
      BeginProperty Font 
         Name            =   "Verdana"
         Size            =   9.75
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   255
      Left            =   4680
      TabIndex        =   6
      Top             =   1080
      Width           =   1095
   End
   Begin VB.Label lblText 
      Alignment       =   2  'Center
      Caption         =   "Menu:"
      BeginProperty Font 
         Name            =   "Verdana"
         Size            =   9.75
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   255
      Index           =   0
      Left            =   120
      TabIndex        =   4
      Top             =   1560
      Width           =   1095
   End
   Begin VB.Label lblTitel 
      Alignment       =   2  'Center
      Caption         =   "Titel:"
      BeginProperty Font 
         Name            =   "Verdana"
         Size            =   9.75
         Charset         =   0
         Weight          =   400
         Underline       =   -1  'True
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   255
      Left            =   120
      TabIndex        =   3
      Top             =   1080
      Width           =   1095
   End
   Begin VB.Label lblName 
      Alignment       =   2  'Center
      Caption         =   "Eventbenennung:"
      BeginProperty Font 
         Name            =   "Verdana"
         Size            =   18
         Charset         =   0
         Weight          =   400
         Underline       =   -1  'True
         Italic          =   -1  'True
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   1680
      TabIndex        =   2
      Top             =   240
      Width           =   4215
   End
End
Attribute VB_Name = "Define"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

' Gebrauchte Variablen Deklarieren
Dim event_Control   As Integer
Dim event_save      As Integer
Dim linie_aktiv     As Integer

'Wenn manuell die Event Nr. Gewächselt Wirt:
Private Sub cmbNr_Change()
    'ist Eingabe eine Zahl:
    If IsNumeric(cmbNr.text) Then
        'Wenn eingabe Grösser oder Kleiner der Existierenden Events ist:
        If cmbNr.text > event_counter Or cmbNr.text < 0 Then
            'Altes Even laden und Fehlermeldung Anzeigen
            cmbNr.text = event_save
            MsgBox "Es ist nicht möglich Events manuel hinzuzufügen !", vbCritical, "Error !"
        Else
            'Eingabe Erlauben
            txtTitel.Enabled = True
            txtText.Enabled = True
            cmdFarbe.Enabled = True
            cmdNeu.Enabled = True
            cmdOK.Enabled = True
            
            'Speichern der eingabe
            Call Speicherung(event_save)
            
            'Event Laden
            txtTitel.text = event_(cmbNr.text).titel
            txtText.text = event_(cmbNr.text).text
            event_save = cmbNr.text 'neues Event als altes abspeichern
        End If
    ElseIf cmbNr.text = "" Then
        'Eingabe verhinder und eingegebenes abspeichern
        Call Speicherung(event_save)
        txtTitel.text = ""
        txtText.text = ""
        txtTitel.Enabled = False
        txtText.Enabled = False
        cmdFarbe.Enabled = False
        cmdNeu.Enabled = False
        cmdOK.Enabled = False
        event_save = 0
    Else
        'Altes Event Laden und Fehlermeldung Anzeigen
        cmbNr.text = event_save
        MsgBox "Event Nr. bestehet nur aus Nummern !", vbCritical, "Error !"
    End If
End Sub

' Beim wechseln des Event Nummers über maus oder Pfeiltasten:
Private Sub cmbNr_Click()
    'Text des neuen Events laden
    txtTitel.text = event_(cmbNr.text).titel
    txtText.text = event_(cmbNr.text).text
    
    'Eingabe Erlauben
    txtTitel.Enabled = True
    txtText.Enabled = True
    cmdFarbe.Enabled = True
    cmdNeu.Enabled = True
    cmdOK.Enabled = True
    
    'Event Abspeichern um wieder laden zu können bei falscher eingabe
    event_save = cmbNr.text
End Sub

'Bekommt Das Event_Nr den Focus
Private Sub cmbNr_GotFocus()
    'Knopf zum Link hinzufügen ausschaltne
    cmdLink.Enabled = False
    
    'wenn Etwas eingegeben wurde Abspeicher
    If txtTitel.text <> "" Or txtText.text <> "" Then
        'Speichern der eingaben
        Call Speicherung(cmbNr.text)
        
    End If
End Sub

Private Sub cmdFarbe_Click()
    'Farbauswahl öffnen
    cmFarbe.ShowColor
    'Wenn eine Farbe oder Neue Farbe ausgewählt wurde:
    If cmFarbe.Color <> event_(cmbNr.text).Farbe And cmFarbe.CancelError = False Then
        'in dazugehöriges event Abspeichern
        event_(cmbNr.text).Farbe = cmFarbe.Color
        
        ' Veränderung anzeigen:
        For counter = 0 To data_counter - 1
            ' Wenn Zone gleiches Event hat Farbe ändern
            If Data(counter).Number = cmbNr.text Then
                Call Form1.Anzeige
            End If
        Next
    End If
End Sub

Private Sub cmdLink_Click()
    ' Gebrauchte Variablen Deklarieren
    Dim länge   As Integer
    Dim länge2  As Integer
    Dim Mesage  As String
    
    'Link-knopf Ausschalten + Form für Benützer ausschalten
    cmdLink.Enabled = False
    Define.Enabled = False
    
    'Variablen Devinieren
    Mesage = ""
    counter = 1
    
        'Schlaufe einfügen des linkes Starten
        Do
            'Wenn sich der Coursor nicht am Anfang des Textes Befindet:
            If txtText.SelStart <> 0 Then
                txtText.SelStart = txtText.SelStart - 1
                txtText.SelLength = 1
            End If
            
            'Bei Vorhandenem Link
            If txtText.SelText = "#" Then
                'Variablen Devinieren
                länge = 1
                länge2 = 1
                
                'Schalaufe zum Erstzen des linkes aufrufen
                Do
                    'wenn Zeilenende erreicht ist: (an den anfang des linkes den Courser setzen)
                    If txtText.SelText = Chr(10) Or txtText.SelStart = 0 Then
                        'Variabel inizialisieren
                        länge = 1
                        'Buchstabe nach forn (# überspringen)
                        txtText.SelStart = txtText.SelStart + 1
                        
                        'Coursor Setzen:
                        Do
                            'Buchstabe nach forn
                            txtText.SelStart = txtText.SelStart + 1
                            'Selektionierter text = 1
                            txtText.SelLength = 1
                        'Sobalt zweiter # erreicht ist wird schlaufe ferlassen:
                        Loop Until txtText.SelText = "#"
                    Else
                        'Ein Buchstabe Rückwerts
                        txtText.SelStart = txtText.SelStart - 1
                        txtText.SelLength = 1
                        
                        'länge des Linkes speichern
                        länge = länge + 1
                        
                        'Sobalt "|" selektioniert ist (abtrennung zwischen link und Nachricht)
                        If txtText.SelText = "|" Then
                            'länge der nachricht abspeichern
                            länge2 = länge
                            
                            'Courser hinter Zeichen "|" setzen
                            txtText.SelStart = txtText.SelStart + 1
                            'Nachricht selektionieren (zu selektionierende länge = gespeicherte länge -| -# )
                            txtText.SelLength = länge - 2
                            
                            'Nachricht abspeichern
                            Mesage = txtText.SelText
                            'Courser vor Zeichen "|" setzen
                            txtText.SelStart = txtText.SelStart - 1
                        
                        'Ende des Linkes erreicht : (definiert durch das Zweite #)
                        ElseIf txtText.SelText = "#" Then
                            'Form zum Einlesen des Linkes Aufrufen, Define-Form für den User ausschalten
                            Define.Enabled = False
                            Link.Visible = True
                            
                            'Courser hinter Zeichen "#" setzen
                            txtText.SelStart = txtText.SelStart + 1
                            'Link Selektionieren (selektion = eingelesene länge - länge der nachricht (mit # und |) - letztes #)
                            txtText.SelLength = länge - länge2 - 1
                            
                            'Link und Nachricht in Link-Form einlesen
                            Link.txtdatei = txtText.SelText
                            Link.txtMessage = Mesage
                            
                            'Gesamter text zwischen den # selektionieren (so kann man nur kann Link-form nur Seltext ersetzen und link neu sehet)
                            txtText.SelStart = txtText.SelStart - 1
                            txtText.SelLength = länge
                            
                            'Variable zum verlassen der schlaufe setzen
                            counter = 2
                        End If
                    End If
                Loop Until counter = 2
                
                ' Variablel zum verlassen der schlaufe setzen
                counter = 0
            
            'Linie ohne Link auser 1. Linie
            ElseIf txtText.SelText = Chr(10) Then
                'Buchtaben zurück (Cursor an den Anfang der Linie)
                txtText.SelStart = txtText.SelStart + 1
                'Selektionierte Zone aufheben
                txtText.SelLength = 0
                'Form zum Einlesen des Linkes Aufrufen, Define-Form für den User ausschalten
                Define.Enabled = False
                Link.Visible = True
                ' Variablel zum verlassen der schlaufe setzen
                counter = 0
            
            'Erste linie ohne Link
            ElseIf txtText.SelStart = 0 Then
                'Selektionierte Zone aufheben
                txtText.SelLength = 0
                'Form zum Einlesen des Linkes Aufrufen, Define-Form für den User ausschalten
                Define.Enabled = False
                Link.Visible = True
                ' Variablel zum verlassen der schlaufe setzen
                counter = 0
            End If
        
        Loop Until counter = 0
End Sub

Private Sub cmdNeu_Click()
    'Link-knopf Ausschalten
    cmdLink.Enabled = False
    
    'Schlaufe zur speicherung des momentan selektionierten linkes aufrufen
    Call Speicherung(cmbNr.text)
    
    'wenn ein eintrag im Letzen event vorhanden ist
    If event_Control = 1 Then
        'In der Eventauswahl ein neues event hinzufühgen
        cmbNr.AddItem (event_counter)
        'den Speichern das noch kein eintrag im event ist
        event_Control = 0
        'Eventauswahl auf neuen Event Setzen
        cmbNr.ListIndex = event_counter
    End If
    
    'Coursor auf Titeleingabe setzen
    txtTitel.SetFocus
End Sub

'Bei OK (bestätigen und verlassen der Form)
Private Sub cmdOK_Click()
    'Eingaben Speichern + Anzeigen
    Call Speicherung(cmbNr.text)
    
    'Form beenden
    Unload Me
End Sub

'Beim Laden der Form
Private Sub Form_Load()
    ' cmdLink knopf ausschalten
    cmdLink.Enabled = False
    
    ' Events in Form laden
    ' Bei Vorhanden Events
    If event_counter <> 0 Then
        'Eventauswahl Laden
        For counter = 0 To event_counter
            cmbNr.AddItem (counter)
        Next
        'Zum neusen Event Springen (ist noch leer, als neu)
        cmbNr.ListIndex = event_counter
    
    'Bei noch keinem Event:
    Else
        'Erstes Event laden und anzeigen
        cmbNr.AddItem (0)
        cmbNr.ListIndex = 0
    End If
    
End Sub

'Bei Verlassen der Form Haubtform wieder Aktivieren und anzeigen
Private Sub Form_Unload(Cancel As Integer)
    Form1.Enabled = True
    Form1.Visible = True
End Sub

' Speicherungsschlaufe:
Sub Speicherung(event_nr As Integer)
    'Wenn eine Eingabe vorhanden:
    If txtTitel.text <> "" Or txtText.text <> "" Then
        'Daten in Event abspeichern
        event_(event_nr).titel = txtTitel.text
        event_(event_nr).Number = event_nr
        event_(event_nr).text = txtText.text
        
        'Wenn das Event ein neues war counter um eines erhöhen:
        If event_counter <= event_nr Then
            event_counter = event_counter + 1
            event_Control = 1
        End If
        
        'signalisieren das es Events gibt (für Fehlermeldung in Haubtform beim Klicken auf Devinieren)
        event_exist = 1
    End If
    
    'Anzeige der Veränderung im Text der Zonen auf der Haubtform
    For counter = 0 To data_counter - 1
        If Data(counter).Number = event_nr Then
            Form1.lblDescription(counter).Caption = cmbNr.text & " - " & txtTitel.text
        End If
    Next
End Sub

'Wenn Text Angeklickt wirt Linkeingabeknopf Aktivieren
Private Sub txtText_GotFocus()
    cmdLink.Enabled = True
End Sub

'Wenn Titel Angeklickt wirt Linkeingabeknopf Deaktivieren
Private Sub txtTitel_GotFocus()
    cmdLink.Enabled = False
End Sub
