in Variable Verzeichnisse hinterlegen

  • VB6

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von LaMa5.

    in Variable Verzeichnisse hinterlegen

    Hallo,

    ich nuß ein Programm in VB umschreiben. Da ich aber mehr mit C++ gearbeitet habe läuft das Programm nicht einwandfrei!! Ich muß bei einem Programm die Verzeichnisse umschreiben d.h. das Programm soll jetzt auf dem Server verschiedene Daten abspeichern oder vom Server verschiedene Daten holen. Die Verzeichnisse sollen in Variablen hinterlegt sein damit es auch später leicht geändert werden kann.

    Ich habe die Variable folgend deklariert:

    Public strOrdner_Anlage1 As String

    und das Verzeichnis hinterlegt:

    strOrdner_Anlage1 = "X:\Anlage\Anlage1"

    die Datei wir auch in den meisten Fällen mit der Variable "geöffnet" wie in folgendem Programm Ausschnitt:

    ff = Free File
    open strOrdner_Anlage1 & " \Standardabweichung.txt"

    aber in den folgenden Fälle funktioniert es nicht! Wie in folgendem Beispiel:


    ...
    Index_Einheit = IndexE
    PfadE = strOrdner_Anlage1 & "\Umrrechnung\"
    ...
    open strOrdner_Anlage1 & "\Datensatz.txt" For Input As #ff

    ...

    pfad = strOrdner_anlage1 & "\Oberflächenspannung\"

    if index0=0then Anzahl0=Oberflächenspannung_laden (pfad + Klasse1_Tabelle2.txt): Richtung = "E" : Ansteigend0 = True



    Was ich schon gefunden habe ist, das wenn ich mit Input arbeite das nur bis zu bestimmten Zeichen in einem String gerlesen wird. Dadurch konnte ich einige Fehler finden aber die drei Fehler sind übrig geblieben.

    Für Hilfe schon Danke im vorraus.

    Gruß

    GrauerSchlumpf
    Hallo,

    erstmal danke für die schnelle Antwort. Ich kann das Programm jetzt nicht testen. Wenn ich aber den Pfad ausführlich schreibe:

    PfadE = "X:\Anlage\Anlag1\Umrrechnung\"

    funktioniert es. Es wird dann auf eine Datei im Verzeichnis Umrrechnug zugegriffen. :?:
    Aber das hier:

    PfadE = "X:\Anlage\Anlag1\Umrrechnung\"
    ... = PfadE & "\Datensatz.txt"

    ergibt "X:\Anlage\Anlag1\Umrrechnung\\Datensatz.txt", also mit zwei Backslashes. Das kann doch nicht korrekt sein.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Habe es getestet funktioniert nicht.

    Der Programmabschnitt: open strOrdner_Anlage1 & "\Datensatz.txt" For Input As #ff

    ist ein anderer als: PfadE = strOrdner_Anlage1 & "\Umrrechnung\"

    es wird hier auf einen anderen Ordner/Datei zugegriffen!

    Im ersten Programmabschnitt funktioniert es! Beim zweiten Programmabschnitt bekomme ich die Fehler Meldung: Datei nicht vorhanden.

    PfadE = strOrdner_Anlage1 & "\Umrrechnung\" wird danach über eine Auswahl der vollständige Pfad hinterlegt und darüber zugegriffen.

    Wenn ich den Pfad vollständig schreibe also mit PfadE = X:\Anlage\Anlage1\ usw. funktioniert es.

    Ich hoffe ich konnte mein Problem jetzt besser beschreiben.
    Hi,

    mal ne ganz blöde Frage zwischendurch:
    Ist es richtig das "Umrrechnung" mit zwei "r" geschrieben wird ?? Existiert das Verzeichnis auch ??


    bye ...

    LaMa5.
    Die Wissenschaft wird nie ein besseres Kommunikationssystem in den Büros erfinden können als die Kaffeepause.
    (Autor: Earl Wilson, amerik. Schriftsteller)

    https://www.serviceteam-md.de
    Das war ein Schreibfehler von mir den ich beibehalten habe. :P

    Und an den 2 "\\" liegt es aber nicht!!

    Hab den Quellcode leider jetzt nicht zur Hand sonst würde ich ein Programmabschnitt hier noch mit einfügen, und wo seht ihr überhaupt die 2"\\" ?? Das mit dem Datensatz ist schon eine anderer Pfad bei dem ich aber dasselbe Problem habe!!



    Gruß

    GrauerSchlumpf
    Hi,

    poste bitte mal etwas mehr zusammenhängenden (!!) Quelltext inkl. der Stelle an der das Problem auftritt. (VB-Tag nutzen!)

    An den obigen Beispielen (1. Beitrag) kann ich leider überhaupt kein Problem erkennen, weil es ziemlich zusammenhanglos ist.


    bye ...

    LaMa5.
    Die Wissenschaft wird nie ein besseres Kommunikationssystem in den Büros erfinden können als die Kaffeepause.
    (Autor: Earl Wilson, amerik. Schriftsteller)

    https://www.serviceteam-md.de
    Hallo hier ist der eine Teil bei dem mir die Variable PfadE Probleme bereitet (rot makiert). ?(



    Visual Basic-Quellcode

    1. Public Sub Einheiten_umschalten()
    2. On Error Resume Next
    3. Dim PfadE As String
    4. ' Menüauswahl für Einheit visualisieren
    5. Menülänge_Einheiten = 20
    6. Dim Einheiten(0 To 100) As String
    7. Einheiten(0) = "Kg/m3"
    8. Einheiten(1) = "g/cm3"
    9. Einheiten(2) = "%M Sacc W"
    10. Einheiten(3) = "%M Bierw."
    11. Einheiten(4) = "%M Alkohol"
    12. Einheiten(5) = "% Vol. 20°C"
    13. Einheiten(6) = "Baume 15°C"
    14. Einheiten(7) = "Baume 20°C"
    15. Einheiten(8) = "API 60°F"
    16. Einheiten(9) = "SP/GR 15/15"
    17. Einheiten(10) = "SP/GR 15,56/15,56"
    18. Einheiten(11) = "SP/GR 17,5/17,5"
    19. Einheiten(12) = "SP/GR 20/20"
    20. Einheiten(13) = "SP/GR 25/25"
    21. Einheiten(14) = "SP/GR 27,5/27,5"
    22. Einheiten(15) = "SP/GR 28,9/28,9"
    23. Einheiten(16) = "Twaddel"
    24. Einheiten(17) = "Oechsle 20°C"
    25. Einheiten(18) = "Plato"
    26. Einheiten(19) = "Proof"
    27. Einheiten(20) = "Tralle"
    28. 'alle Häkchen aus
    29. For i = 0 To Menülänge_Einheiten
    30. Einheit(i).Checked = False
    31. Next i
    32. 'gewählte Einheit = Häkchen beim Laden kommt Index aus Datei
    33. If laden = True Then IndexE = Index_Einheiten
    34. Einheit(IndexE).Checked = True
    35. ' Einheiten schreiben
    36. Label24 = Einheiten(IndexE)
    37. Label25 = Einheiten(IndexE)
    38. Label36 = Einheiten(IndexE)
    39. Label37 = Einheiten(IndexE)
    40. Label38 = Einheiten(IndexE)
    41. Label39 = Einheiten(IndexE)
    42. Label40 = Einheiten(IndexE)
    43. Label43 = Einheiten(IndexE)
    44. Label6 = Einheiten(IndexE)
    45. Index_Einheiten = IndexE
    46. PfadE = strOrdner_Cuckow1 & "\Umrechnung\" '<--- Problemstelle
    47. ' Nachkommastellen für die Ausgabe bei Prüfung von Aräometern
    48. If IndexE = 0 Then Anzahl = Umrechnung_laden(PfadE + "kg-m3.txt"): Richtung = "E": AnsteigendE = True: Nachkommastellen = "0.00" 'ok
    49. If IndexE = 1 Then Anzahl = Umrechnung_laden(PfadE + "g-cm3.txt"): Richtung = "E": AnsteigendE = True: Nachkommastellen = "0.00000" 'ok



    Edit by LaMa5:
    - VB-Tag eingefügt, das nächste mal bitte selbst verwenden; erhöht die Lesbarkeit des Quelltextes!!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „LaMa5“ ()

    Hi,

    wo ist denn strOrdner_Cuckow1 deklariert bzw. der Wert zugewiesen?

    ändere einfach mal den Quelltext ab

    Visual Basic-Quellcode

    1. '...
    2. MsgBox "1: " & strOrdner_Cuckow1
    3. PfadE = = strOrdner_Cuckow1 & "\Umrechnung\"
    4. MsgBox "2: " & PfadE


    und poste mal die beiden Ausgaben!!


    bye ...

    LaMa5.
    Die Wissenschaft wird nie ein besseres Kommunikationssystem in den Büros erfinden können als die Kaffeepause.
    (Autor: Earl Wilson, amerik. Schriftsteller)

    https://www.serviceteam-md.de
    Die Variable ist in einem anderem Programmteil deklariert und zugewiesen:

    Quellcode

    1. 'Variablen für Ordner Cuckow1 und Cuckow2Public strOrdner_Cuckow1 As String
    2. Public strOrdner_Luftdruckabfrage As String
    3. '
    4. Sub Verzeichnis()
    5. strOrdner_Cuckow1 = "X:\CUCKOW\Cuckow1"
    6. End Sub


    Du hast bei PfadE zwei "==" verwendet warum??

    Wir damit der Inhalt der Variable anderst zugewiesen??

    Damit wir doch PfadE mit strOrdner_Cuckow1 gleich gesetzt oder??

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „GrauerSchlumpf“ ()

    Hi,

    Du hast bei PfadE zwei "==" verwendet warum??


    Das war einfach nur ein Tippfehler!! Zwei == gibt es in VB eigentlich nicht. Sorry.

    Hast du mal die beiden MsgBoxen eingebaut und geschaut wie PfadE hinterher aussieht ??
    Wenn alles sauber deklariert ist, müsste es eigentlich auch hinhauen!!!!


    bye ...

    LaMa5.

    EDIT:
    - schreib mal in jedes Modul, Formular, etc. als allererste Zeile: Option Explicit
    - dann kontrolliert VB ob alle Variablen auch deklariert sind. Wenn nicht startet das Prog nicht.
    Die Wissenschaft wird nie ein besseres Kommunikationssystem in den Büros erfinden können als die Kaffeepause.
    (Autor: Earl Wilson, amerik. Schriftsteller)

    https://www.serviceteam-md.de
    Hi,

    ich vermute mal Deine Sub Verzeichnisse wird vorher nicht ausgeführt oder die Variable wird irgendwo überschrieben.

    Debugge mal mit Haltepunkten (F9) und gehe den Code schrittweise (F8) durch!!


    bye ...

    LaMa5.
    Die Wissenschaft wird nie ein besseres Kommunikationssystem in den Büros erfinden können als die Kaffeepause.
    (Autor: Earl Wilson, amerik. Schriftsteller)

    https://www.serviceteam-md.de