Variable String

  • VB6

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von ThomasG82.

    Variable String

    Ich möchte mit Public SeiteOn as String als Variable im Modul ein vorhandenes Formular öffnen und ein anderes schließen.

    SeiteOn.Show
    SeiteOff.Hide

    Nur gibt er mir in der Variable es aber als Text aus. Also mit "---"
    So erkennt er es aber nicht an.
    Hat jemand eine Idee wie ich das umgehen kann?
    :S X/
    Tatsächlich VB6??
    Welche Entwicklungsumgebung verwendest du?

    Suse100 schrieb:

    ein vorhandenes Formular

    Visual Basic-Quellcode

    1. Public SeiteOn As Form


    P.S.:
    Du verrätst nicht viel, aber ich fürchte, dein Datenmodell ist kein guter Ansatz.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    naja eigendlich ist es vb5
    das problem ist das der inhalt von der Variable "SeiteOn" nicht zu nutzen ist.
    Das zu öffnende Formular heißt "Auswahl"
    wenn ich
    Auswahl.show schreibe geht es

    wenn ich
    public SeiteOn as sting
    SeiteOn.show
    schreibe geht es nicht

    denke das es am string liegt
    @Suse100 Willkommen im Forum. :thumbup:
    Mit einer Variable vom Typ String geht so was überhaupt nicht, Du brauchst eine Form, wie schon @petaod schreibt.
    Meinst Du eventuell so was:

    Visual Basic-Quellcode

    1. If SeiteOn = "xxx" Then Auswahl.Show()
    Allerdings würde icg Dir ganz dringend raten, auf eine aktuelle Entwicklungsumgebung und .NET umzusteigen.
    Mit VB5 hat hat hier fast niemand noch was zu tun.
    Lade Dir das Studio 2019 runter, das bekommst Du kostenlos.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Gegenfrage: Woher soll Dein Programm wissen, dass Du mit einem String namens SeiteOn ein Formular namens Auswahl in irgendeiner Weise bearbeiten willst?
    Das wär, als ob Du eine Integer-Variable namens Anzahl hernimmst und damit direkt versuchst, das Internet zu löschen. Der Zusammenhang ist überhaupt nicht erkennbar. Weder für uns noch für das Programm.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Denke auch das ich das programm wechseln muss.

    Aber wenn ich im string den namen des formular speicher und dann .show anfüge, ist es doch so als würde ich das formular selber schreiben.

    dim variable as string
    variable = Auswahl
    variable.show dann heißt es doch "Auswahl".show

    so als würde ich direkt
    Auswahl.show schreiben oder

    wenn es nicht geht, dann geht es halt nicht.
    wäre aber so leichter für mich.

    Aber die idee mit der if abfrage ist auch gut.
    dank euch erstmal

    Suse100 schrieb:

    Aber wenn ich im string den namen des formular speicher und dann .show anfüge, ist es doch so als würde ich das formular selber schreiben.
    Nee, noch nicht mal annähernd.
    "Auswahl".Show() bedeutet: »Führe die String-Funktion namens Show auf den String mit dem Inhalt "Auswahl" aus.« Da ein String aber solch eine Funktion nicht kennt, scheitert das. Es wäre absolut chaotisch, wenn das Programm erkennen sollte, dass der String für ein Form mit diesem Namen steht. Das widerspricht total der Art der Programmierung. Das geht vielleicht in irgendeiner mir nicht bekannten Sprache, aber nicht in VB5, VB6, VB.NET und hoffentlich auch niemals in irgendeinem zukünftigen VB-Dialekt.

    "Auswahl" und Auswahl sind zwei grundverschiedene Dinge. Das erste ist ein String, das zweite ein Form. Mit einem Zettel, auf dem BMW steht, kannst Du auch nicht über die Autobahn heizen.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Suse100 schrieb:

    variable.show dann heißt es doch "Auswahl".show
    Ich glaube, wir reden völlig aneinander vorbei. Sorry.
    Du solltest Dich zunächst mit den elementaren Typen von Variablen befassen, die es so gibt und mit Methoden, die mit diesern Typen verknüpft sind.
    docs.microsoft.com/de-de/dotne…age-reference/data-types/
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Im Prinzip geht es auch mit Strings, auch wenn ich mich frage, was der Sinn sein soll:

    Visual Basic-Quellcode

    1. Dim variable As String
    2. Dim frm As Form
    3. variable = "Form2"
    4. Load Form2
    5. For Each frm In Forms
    6. If frm.Name = variable Then frm.Show: Exit For
    7. Next
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Ich glaube das ist genau das, was er/sie meinte. Für Anwendungen, in denen sich Fenster überlagern und gegenseitige Werte nutzen kann es schon Sinn ergeben zu prüfen ob das ein oder andere Formular bereits geöffnet ist. Halt um fehlerhafte Eingaben zu umgehen, oder sowas ähnliches. Ob es auf diese Art und Weise sinnvoll ist sei dahingestellt.
    Wenn man halt ne Liste hat und Abhängigkeiten festlegt kann man so prüfen ob da im Hintergrund noch was schlummert was erst geschlossen werden muss, wäre jetzt ein Beispiel.
    Ich glaube der Fehler hier lag aber wirklich in dem falschen Verständnis von Variablentypen und Objekttypen, so wie @RodFromGermany das gesagt hat.
    @ThomasG82 Mag sein.
    Trotzdem würde ich @Suse100 dringendst raten, auf Visual Studio und VB.NET umzusteigen, bevor sie sich Steinzeitwissen aneignet und verinnerlicht :!:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Vollzitat des direkten Vorgängerposts an dieser Stelle entfernt ~VaporiZed

    Das auf alle Fälle

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