Input darf nicht verlassen werden

  • Hallo Forum hallo Leute

    Ich habe wieder mal ein Proplem.

    In einer Gui befinden sich vier Input.

    Der Benutzer darf das einzelne Input nicht verlassen, bis er eine Eingabe gemacht hat.

    Ist das Möglich? Wenn ja bitte ich um ein Code- Schnipsel.

    In der Help habe ich nichts gefunden.

    Danke für Eure Mühe

    • Offizieller Beitrag

    Der Benutzer darf das einzelne Input nicht verlassen, bis er eine Eingabe gemacht hat.

    Das ist eine sehr vage Beschreibung. Wie definierst du "Eingabe" - ein Zeichen, eine Zeichenkette (mit Mindestlänge von n), oder andere Einschränkungen?

    Sinnvoll ist einen Button (z.B. "Weiter") einzubinden. Fokus ist im ersten Input, "Weiter" prüft ob Eingabe erfolgt und korrekt - wenn ja: Fokus setzen nächstes Input etc.

  • Hallo BugFix

    Zu erst danke ich für deine Antwort und Bemühen.

    Ich habe ein Muster Code erstellt um es besser verständlich zu machen

    Der Benutzer darf den einzelnen Input nicht verlassen bis er eine Eingabe macht.

    Also ein anderes Input auf der Gui darf er nicht auswählen können.

    Ich weis das es mit einer MSbox einfacher geht, aber mir liegt daran den Benutzer auf das jeweilige Input festzunageln bis er eine Eingabe macht.

    • Offizieller Beitrag

    Das Problem ist etwas umfangreicher:

    - der Benutzer kann die Inputs per Maus anwählen

    - er kann mit TAB zum nächsten Input springen

    Du musst also die Maus einfangen (_MouseTrap) und die TAB-Taste abfangen (z.B. mit GUISetAccelerators auf ein Dummy-Ctrl umrouten).

    Die Gültigkeitsprüfung der Eingabe und Weiterleitung zum nächsten Input solltest du, wie schon beschrieben, mit einem Button realisieren.

    Man kann zwar auch z.B. das über das Abfangen der Enter-Taste realisieren, aber das übersteigt im Moment deine Möglichkeiten noch deutlich.

  • @ BugFix

    Danke BugFix

    Den Befehl „_MouseTrap“ kannte ich nicht und ist sehr viel versprechend.

    Danke dir.

    alpines

    Diese Input Sache befindet sich auf der ersten Seite einer Gui mit 5 Tab’s.

    Durch die Altersangabe werden die restlichen Tabs freigeschalten.

    Daher braucht man es kein "Weiter" oder "OK"

  • Ich denke mal du suchst dies hier...

    Age (Alter) muss mindestens 18 sein, Male (Geschlecht) muss 1 (Mann), 2 (Frau) oder 3 (Zwitter) sein - erst wenn beide Bedingungen erfüllt sind, kann bei ShowXXX ein y|n eingegeben werden.

    3 Mal editiert, zuletzt von Bitnugger (30. November 2019 um 16:48)

  • @Silvermoon1: Für den Fall, dass dir @Bitnuggers Beispiel zu kompliziert erscheint, könntest du stattdessen einfach alle anderen GUI-Elemente wie Eingabefelder oder Tab-Reiter außer dem Alterseingabefeld nach Erzeugung deaktivieren und/oder ausblenden ($GUI_HIDE), mit einer Booleschen Variable (False, True) arbeiten und abfragen, ob der eingegebene Wert dem Mindestalter entspricht. Ist diese Bedingung erfüllt, kannst du alle anderen GUI-Elemente wieder aktivieren und/oder einblenden ($GUI_SHOW), also freischalten.

    Zum Beispiel so:

    Gruß, fee

    Einmal editiert, zuletzt von fee (30. November 2019 um 17:19)

  • Danke für eure Hilfe …

    @Silvermoon1: Bitte, gerne. :)

    … habe mit „_MouseTrap“ das Auslangen gefunden.

    Damit beschränkst du aber nur den Bewegungsbereich der Maus, sonst nichts. Sofern du nicht einen der anderen Lösungsansätze hier verwendest, kann deine Zugriffsbegrenzung mit der Tab-Taste locker umgangen werden.

    der Block kann geschlossen werden

    Das darfst/kannst du sogar selbst umsetzen: :)

    1. Hier anmelden/einloggen.
    2. Oben rechts vom Thementitel auf Thema bearbeiten linksklicken.
    3. Im Kontextmenü Erweitert auswählen.
    4. Im Fenster unter Labels auf Keine Auswahl linksklicken.
    5. In der Liste [ gelöst ] auswählen.
    6. Auf Speichern linksklicken.
    7. Nochmals auf Thema bearbeiten linksklicken.
    8. Im Kontextmenü Als erledigt markieren auswählen.

    Aber warte nicht zu allzu lange nach dem letzten Beitrag, sonst kannst du diese Einstellungen möglicherweise nicht mehr vornehmen.

    Gruß, fee

    Einmal editiert, zuletzt von fee (1. Dezember 2019 um 07:22)

  • Silvermoon1 und fee :

    Kleiner Tipp am Rande (allgemein - nicht nur auf dieses Thema bezogen) :

    Wenn ihr User mittels @-Zeichen und Name direkt ansprecht, müsst ihr auf die Schreibweise achten. Nur dann erhält der User, soweit ich weiß, eine gesonderte Benachrichtigung/Notification (siehe Glockensymbol im Header der Website). Beim Schreiben des Usernamens erscheint i.d.R. eine Pickliste.

    So kann man übrigens auch ältere Beiträge editdieren, falls man nur speziellen Usern eine Notification zukommen lassen möchte.

    1. Silvermoon1 : siehe Dein Beitrag #10 -> nicht ok

    2. fee : siehe Dein Beitrag #11 ->nicht ok

    Hat man es richtig gemacht, dann erscheint (bei versendeten Beiträgen) ein Kurzprofil, wenn man den Mauspfeil auf dieses Element plaziert (nicht Klicken) , z.B. :

    Beispiele :

    -> Musashi ==> ok

    -> @Musashi ==> nicht ok

    -> @ Musashi ==> nicht ok

    -> Musashi ==> nicht ok

    Der Forumseditor reagiert je nach Art der Eingabe unterschiedlich (habe ich nicht im Detail analysiert;)) - müsste man ggf. mal ausprobieren.

    EDIT :

    Hier ein Edittest speziell für fee;) -> Nun bekommst nur DU eine Benachrichtigung

    Gruß Musashi

    Bilder

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

    2 Mal editiert, zuletzt von Musashi (6. Dezember 2019 um 19:27) aus folgendem Grund: Typo

  • Wenn ihr User mittels @-Zeichen und Name direkt ansprecht, müsst ihr auf die Schreibweise achten.

    Ja, das ist mir auch "schon" aufgefallen.

    Nur dann erhält der User, soweit ich weiß, eine gesonderte Benachrichtigung/Notification (siehe Glockensymbol im Header der Website).

    Das ist auch meine Vermutung. Die Benachrichtigungsfunktion nutze ich ja selbst, weil komfortabel und logisch.

    Beim Schreiben des Usernamens erscheint i.d.R. eine Pickliste.

    Ja, aber wenn ich da draufklicke, schaut die Direktansprache im Editor nicht nach einem Link aus.

    So kann man übrigens auch ältere Beiträge editdieren, falls man nur speziellen Userb eine Notification zukommen lassen möchte.

    Du meinst in etwa dieser Form: Edit @User: Das hat sich geändert?

    Hat man es richtig gemacht, dann erscheint (bei versendeten Beiträgen) ein Kurzprofil, wenn man den Mauspfeil auf dieses Element plaziert …

    So sollte es eigentlich sein, ja. Aber offensichtlich kann man es auch gründlich falsch machen, sorry! ?(

    Der Forumseditor reagiert je nach Art der Eingabe unterschiedlich …

    Und da liegt auch vermutlich auch der Fehlerhund begraben: Es kommt wahrscheinlich auf eine ziemlich genaue Vorgehens-/Schreibweise an, sonst ist der Link der Direktansprache zerstört.

    Wie gehst du denn dabei bevorzugt vor? Hast du ja schon beschrieben.

    Bisher kopierte ich immer erst den Benutzernamen von unterhalb des jeweiligen Avatars und fügte ihn nach dem @ ein. Ich war bisher der Meinung, dass damit die Direktansprache inklusive Benachrichtigung funktioniert hat, aber offensichtlich ja nicht! ;(:cursing:

    Deshalb danke ich dir, Musashi , für den Hinweis! :)

    Gruß, fee

    Edit: Ach, deshalb habt ihr immer so hässliche Abstände um die Direktansprache herum, weil es in diesem Forum so sein muss. Und ich dachte schon, ihr mögt eure Leertaste besonders gerne! :P

    Edit 2 Musashi : Wenn ich nun die Direktansprachen in meinen anderen Beiträgen korrigieren würde, würde das vermutlich unnötige Benachrichtigungen nach sich ziehen, oder?

    Edit 3 Musashi : Letzte Frage zurückgenommen. Die erste aber nicht.

    3 Mal editiert, zuletzt von fee (1. Dezember 2019 um 11:58)

  • -> Musashi : ""Beim Schreiben des Usernamens erscheint i.d.R. eine Pickliste."

    Ja, aber wenn ich da draufklicke, schaut die Direktansprache im Editor nicht nach einem Link aus.

    Das passiert erst, nachdem Du den Beitrag abgesendet hast.

    Du meinst in etwa dieser Form: Edit @User: Das hat sich geändert?

    Ja ! Ich editiere gleich mal meinen Beitrag #12 -> Du müsstest dann eine Benachrichtigung erhalten.

    (das Wort Edit spielt dabei keine Rolle)

    Wie gehst du denn dabei bevorzugt vor?

    Mal Pickliste, mal den Usernamen in einem Rutsch ausschreiben.

    Ach ja, falls Du jemanden zitierst, dann erhält er auch eine Benachrichtigung. Da er dann aber i.d.R. im Thread bereits gepostet hat, bekommt er die eh (bei neuen Beiträgen).

    Bisher kopierte ich immer erst den Benutzernamen von unterhalb des jeweiligen Avatars und fügte ihn nach dem @ ein

    Ich vermute genau DAS mag der Forumseditor nicht ;).

    Edit 2 Musashi : Wenn ich nun die Direktansprachen in meinen anderen Beiträgen korrigieren würde, würde das vermutlich unnötige Benachrichtigungen nach sich ziehen, oder?

    Ja :P.

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • alpines :

    Okay, danke! Dann lasse ich meine Beiträge so, wie sie sind. :)

    Musashi :

    Auch dir vielen Dank für deine Mühe, mir all das so ausgezeichnet zu erklären! :)

    Die Extrabenachrichtigung in deinem Beitrag #12 hat geklappt. :thumbup:

    Das direkte Schreiben des Benutzernamens zusammen mit der Pickliste ist ja echt VIEL bequemer als meine Arbeitsweise zuvor. 8)

    Gruß, fee

    Einmal editiert, zuletzt von fee (1. Dezember 2019 um 12:21)