Attribute VB_Name = "Module1"
'------------------------- Formattypen bestimmen -----------------------------

'Data-typ (Zonen)
Public Type Reverence
    start_X             As Integer
    start_Y             As Integer
    end_X               As Integer
    end_Y               As Integer
    Number              As Integer
End Type

'Event-Typ
Public Type Event_menu
    titel               As String
    text                As String
    Number              As Integer
    Farbe               As Long
End Type


'------------------------- Globale Farablen Dklarieren -----------------------------

'Data
Public Data(100)        As Reverence    'Variabel Der Zonen
Public data_counter     As Integer      'anzahl Datas

'Globaler Counter (kann als counter für For oder für Anzeige der zone eingesetzt werden (counter = zonen nr, danach "call Form1.Anzeige")
Public counter          As Integer

'Events
Public event_(100)      As Event_menu   'Variabel der Events
Public event_counter    As Integer      'anzahl Events
Public event_exist      As Integer      'Freigabe des Define routine (kann nicht solange kein Event existiert ( = 0)
Public event_virtual    As Integer      'speichert bei rechtsklick die zonen Nr. und kann so die veränderungen der richtigen data zuweisen

'Funktion um einzele Zeile zu lesen
Public Function ReadLine(ByVal sFile As String, _
  Optional ByVal nLine As Long = 1) As String

  ' Variablen Deklarieren
  Dim sLines() As String
  Dim oFSO As Object
  Dim oFile As Object
  
  ' Fehlerbehandlung aktivieren
  On Error GoTo ErrHandler
  
  ' Verweis auf das FileSystemObject erstellen
  Set oFSO = CreateObject("Scripting.FileSystemObject")
  
  ' Existiert die Datei überhaupt?
  If oFSO.FileExists(sFile) Then
    ' Datei öffnen
    Set oFile = oFSO.OpenTextFile(sFile)
    
    ' Alles lesen und in Array zerlegen
    sLines = Split(oFile.ReadAll, vbCrLf)
    
    ' Datei schließen
    oFile.Close
    
    Select Case Sgn(nLine)
       ' (nLine > 0)
      Case 1
        ' n-te Zeile von vorne beginnend
        ReadLine = sLines(nLine - 1)
      
      ' (nLine < 0)
      Case -1
        ' n-te Zeile von hinten beginnend
        ReadLine = sLines(UBound(sLines) + nLine + 1)
    End Select
  End If
  
ErrHandler:
  ' Objekte zerstören
  Set oFile = Nothing
  Set oFSO = Nothing
End Function

