Ausgabe des Inhaltes einer Variablen in einem Formular was aufgerufen wird.

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Ausgabe des Inhaltes einer Variablen in einem Formular was aufgerufen wird.

    Hallo

    ich versuche mich daran einen Wertebereich aus einer Datei auszulesen und diesen in einem Formular als Hinweistext auszugeben.

    Ich habe ein Hauptmenü, in diesem gibt es neben Texten zwei Radio-Button. Wenn einer der Button aktiviert wird, wird ein Dialog zum öffnen einer Datei angezeigt. Aus dieser sollen Messwerte (Frequenz; Max; Min) ausgelesen werden. Den höchsten und den niedrigsten Messwert (Freq) möchte ich im nächsten Fenster als Hinweis; so nach dem Motto die Messwert-Ranges beträgt "niedrigster Freq-Wert" - "höchster Freq-Wert" ausgeben. Frage 1: Ist das realisierbar mit vb 2010? Die Überprüfung ob die Eingabewerte (Beginn Ende Auswertebereich) im Messbereich liegen wurde wie folgt gelöst:

    Damit will ich verhindern das fehlerhafte Auswertebereiche (die in diesem Fenster definiert werden sollen) festgelegt werden. So das der Anwender sieht in den Messdateien (*.csv) gibt es einen Wertebereich von bis. In diesem Formular ermöglichen es mehrere Checkboxen Freq.Bereiche festzulegen. Die Freq-Bereichs-Einträge werden durch das aktiv-schalten der Checkbox beschreibbar. Das bringt mich auch schon zu meiner 2ten Frage: Kann ich die Text-Box so formatieren das bei der Eingabe der Zahlen dies automatisch mit Tausender-Trennzeichen versehen werden? Das ist ziemlich wichtig, da in den meisten Fällen große Zahlen eingegeben werden müssen (liegen immer im Bereich von 10.000 und 10.000.000). Was ich damit aussagen möchte, der User tippt 100000 ein und in der Textbox erscheint automatisch 10.000. Ich habe es mit einem Maskierten Textfeld versucht aber habe kläglich versagt.

    Da ich erst wenige Tage beim "programmieren" bin, brauche ich dringend Eure Hilfe. Beim Suchen habe ich leider nicht gefunden - liegt sicherlich an den falschen Schlagwörtern. :)

    Ich habe mal die Fenster zum besseren Verständnis als jpg angehängt.

    Danke für eure Hilfe

    varo.biker
    Bilder
    • Anfrage Internet.jpg

      39,2 kB, 803×368, 91 mal angesehen
    @Jannik.S:
    Ich denke mal so wie er's beschrieben hat: "Aus dieser sollen Messwerte (Frequenz; Max; Min)"
    Vermutlich ein .txt File, welches mit ";" getrennt ist.

    varo.biker schrieb:

    Wenn einer der Button aktiviert wird, wird ein Dialog zum öffnen einer Datei angezeigt.
    Es gibt ein Event, das heisst "CheckedChanged". Dieses Event wird ausgelöst, sobald sich der Status des Radiobuttons verändert wird (true --> false oder false --> true).

    varo.biker schrieb:

    Aus dieser sollen Messwerte (Frequenz; Max; Min) ausgelesen werden.
    Falls das ein Textdokument ist (Oder was für ein Dateytyp ist das?), kanns du mit io.File.ReadAllText("Pfad") arbeiten.
    Danach kannst du mit Split arbeiten. Das würde dann ungefähr so aussehen:

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Frequenz As String = Nothing
    2. Public FrequenzMax As Integer = Nothing
    3. Public FrequenzMin As Integer = Nothing
    4. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    5. 'Auslesen
    6. Dim TextDerDatei As String = IO.File.ReadAllText("Pfad")
    7. 'Verarbeiten
    8. Frequenz = TextDerDatei.Split(CChar(";"))(0)
    9. FrequenzMax = TextDerDatei.Split(CChar(";"))(1)
    10. FrequenzMin = TextDerDatei.Split(CChar(";"))(2)
    11. End Sub
    In einer anderen Form kannst du dann die Werte mit Formname.Frequenz oder Formname.Max
    Frequenz auslesen.

    varo.biker schrieb:

    Den höchsten und den niedrigsten Messwert (Freq) möchte ich im nächsten Fenster als Hinweis; so nach dem Motto die Messwert-Ranges beträgt "niedrigster Freq-Wert" - "höchster Freq-Wert" ausgeben.

    So kannst du eine MessageBox mit den Zahlen ausgeben:

    VB.NET-Quellcode

    1. MessageBox.Show("Maximale Frequenz: " & Formname.MaxFrequenz.ToString & " // Minimale Frequenz: " & Formname.MinFrequenz.ToString,"Hinweis")


    varo.biker schrieb:

    2ten Frage: Kann ich die Text-Box so formatieren das bei der Eingabe der Zahlen dies automatisch mit Tausender-Trennzeichen versehen werden?

    Nimm eine MaskedTextBox, und stell in den Eigenschaften die "Mask" auf "##'###" ein.

    Mfg Dancger
    MESS WITH THE BEST, DIE LIKE THE REST! :evil:
    n'paar Links: DNS Tools, Steal WA DB, Droidsheep...
    Hi Dancger,

    Danke erst einmal für die schnelle Antwort - bin ganz perplex. :) :) :)

    ich glaube ich habe mein Anliegen nicht gut genug beschrieben.

    Das Problem des Auslesens der Daten habe ich schon gelöst. Ich brauche nur Hilfe bei der Ausgabe des Frequenzpärchens in dem Formular wo die Messbereiche eingegeben werden können und zwar ohne zusätzliche Messagebox (siehe roter Text im großen Formular - die roten Zahlen sollen die Ausgabe sein).

    Das Problem bei der MaskedBox ist das ich die Sichtbarkeit der Formatierung nicht unterdrücken kann und das es nicht egal wo in das Feld rein geklickt wird. Wahrscheinlich habe ich nur irgend eine Formatierung / Einstellung nicht beachtet.

    Ich hoffe auf weitere Hilfe

    varo.biker