Function im Sub aufrufen

  • VB6

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von derMoeller.

    Function im Sub aufrufen

    Moinsen.
    Habe ein kleines Programm geschrieben, in dem erst eine Datei eingelesen, dann verarbeitet und anschließend in eine neue Datei geschrieben wird. Mache ich das alles in einem Sub mit einen Function ist das kein Problem. Möchte ich allerdings das Lesen und schreiben jeweils seperat ausführen kommt beim Schreiben die Fehlermeldung "Unverträglicher Typ"
    Nach ewigen Recherchin und Ausprobieren komme ich zu keiner Lösung

    Hier mal der QuellCode

    Dim i As Integer

    Private Sub bnt_lese_Click()

    Dim file As String, zeichenkette As String
    file = FreeFile
    Dim name() As String


    Open "C:\Users\ch2678\Desktop\VB6\namen.txt" For Input As #file

    While Not EOF(1)
    Line Input #file, zeichenkette
    Wend
    name = Split(zeichenkette, ";")
    i = 0
    While name(i) <> ""
    Debug.Print name(i)
    i = i + 1
    Wend
    Close #file

    'Call schreiben(name)



    End Sub

    Public Function schreiben(ByRef name() As String)
    Dim file2 As String
    file2 = FreeFile
    i = 1
    Open "C:\Users\ch2678\Desktop\VB6\ausgabe.txt" For Output As #file2
    While name(i) <> ""
    Print #file2, name(i)
    i = i + 1
    Wend

    Close #file2

    End Function


    Private Sub bnt_schreiben_Click()

    Call schreiben(name)

    End Sub
    Hallo derMoeller,
    zum Posten von Code bitte den VB-Button verwenden. Du
    legst das Array Name auf Prozedurebene an. Um von anderen
    Sub's darauf zuzugreifen, muss es Private im Code der Form,
    oder Public in einem Modul angelegt werden. Name ist ein
    reserviertes Basicwort und sollte daher nicht als Variablen-
    name verwendet werden.
    Speichern und Laden von Arrays siehe hier:
    vbarchiv.net/tipps/tipp_1093-a…ern-und-wieder-laden.html
    Gruss,

    Neptun