Deklaration erwartet???

  • VB.NET

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

    Deklaration erwartet???

    Hallo zusammen,

    ganz nach dem Motto, es gibt keine einfachen Fragen, brauch ich wieder mal Hilfe.
    So einfache Fragen, wie man zb Texte eingibt, und damit arbeitet sind hier über die suche nicht so leicht zu finden...sorry.

    Wieso kann vb mit meiner Deklaration der Variablen "Auftragsname" nichts anfangen?

    VB.NET-Quellcode

    1. Public Class Auftrag
    2. Public Autragsnummer As Short
    3. Public Auftragsdatum As Date
    4. Public Auftragsname As String
    5. Auftragsname = textbox1.text
    6. .
    7. .
    8. .


    Er unterwellt mir hier bei der Zuweisung den Namen Auftragsname mit der Fehlermeldung: Deklaration erwartet.
    Ich möchte einen Text in einer textbox1 eingeben und dieser Variablen zuweisen.

    Die Variablen sind public, weil ich diese in einer anderen Form noch nutzen möchte.

    Kann mir wer helfen?

    vllt auch nicht nur die Lösung sagen, sondern auch was ich hier nicht bedacht habe?

    Besten Dank im vorraus!

    DerDude 8-)
    Also im Hauptfenster (Form1) kann ich mit

    Auftrag.Auftragsname = Label1.text

    wunderbar damit arbeiten. Warum also in Form2 komplett nach oben ziehen?

    Die Zuweisung der Variablen geschieht ja alles direkt unter der Deklaration der Variablen...also noch direkt in Form2.
    ich habe kein VB installiert, aber die ganze Deklarationen von Globalen Variablen muß vor "Public Class Auftrag" deklariert werden.
    Mich Interessieren nicht deine Form, sonder nur das Fehler, und wenn VB meckert dann hast du deine Deklaration in der falsche Zeile !

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

    ok,

    hab das mal versucht...globale Variablen gehören ja wirklich ganz nach oben...allerdings meckert er wenn ich die
    Deklaration vor "Public Class Auftrag" ziehe, dass er die Variable Auftragsname nicht kennt.

    Ich hab mir jetzt mal so geholfen. Es klappt auch, allerdings wird der Variablen beim ausführen nicht das zugewiesen, was ich in die Textbox tippe...?

    SQL-Abfrage

    1. Public Class Auftrag
    2. Public Auftragsname As String
    3. Private Sub Auftrag_speichern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles A_speichern.Click
    4. Auftragsname = TextBox1.Text
    5. Me.Close()
    6. End Sub
    7. End Class


    Muss ich das irgendwie mit enter bestätigenß hab jetzt gesagt, wenn die eingabe fertig ist, soll er das fenster schließen und den text im textfeld übernehmen.
    ja das wird nicht funktionieren weil deine Deklaraion an der falsche stelle stehen.
    Habe zwei Möglichkeiten
    1. probiere mit Private (vor Public Class Auftrag)

    2. schreibe deine Funktionen in Modul oder am besten eine Classe
    Speichern kannst du in Datei oder in My.Settings
    ok,

    das erste Thema hat sich erledigt. hab das jetzt anders gelöst.

    VB.NET-Quellcode

    1. Public Class Auftrag
    2. Public Auftragsname As String
    3. Private Sub Auftrag_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. Auftragsname = TextBox1.Text
    5. End Sub
    6. Private Sub A_speichern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles A_speichern.Click
    7. Me.Close()
    8. End Sub


    das Auftrag_Load bewirkt wohl erst, das das Fenster immer abgearbeitet wird. Wußt ich net. :S

    Muss der 2. Teil, also das zuweisen von einem text wirklich so kompliziert gemacht werden? also über abspeichern in settings oder so?

    wenn ich der Variablen bei der deklaration zB einen text direkt zuweise. wird der sofort ausgegeben wenn ich im anderen fenster schreibe

    "Label1.Text = Auftrag.Auftragsname"

    jetzt frag ich mich, warum er mir nen text, den ich in die textbox schreibe nicht in die variable packt und auch ausgibt?

    MFG
    bin ich ein.... :D :D :D

    Code in Form1

    VB.NET-Quellcode

    1. Private Sub CommanButton_Cllcik.....
    2. My.Forms.Form2.Auftrag = textbox.text
    3. Me.Closing
    4. End Sub


    Code in Form 2

    VB.NET-Quellcode

    1. Public Auftrag As String
    2. Public Class Auftragname
    3. Private Sub Form_Load ....
    4. label.text = Auftrag
    5. End Sub



    NEW EDIT

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

    ah, :)
    wir nähern uns der lösung...hatte das aber noch etwas anders gedacht. vllt guckste nochmal ist fast der gleiche code leider funktioniert er net.

    in Form1 wird die variable testname deklariert. (wenn ich sie vor public class form1 setzte hagelt es fehler)
    mit klick auf den button öffnet sich form2.
    in form1 befindet sich auch das label, das mir gleich den namen ausgeben soll.

    form1

    VB.NET-Quellcode

    1. Public Class Form1
    2. Public testname As String
    3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    4. Form2.Show()
    5. End Sub
    6. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    7. Label1.Text = testname
    8. End Sub
    9. End Class


    in form2 ist das textfeld wo ich den namen eingebe. mit klick auf den button1 in form2 bekommt die variable aus form1 das textfeld zugewiesen und form2 schließt sich.

    form2

    VB.NET-Quellcode

    1. Public Class Form2
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. My.Forms.Form1.testname = TextBox1.Text
    4. Me.Close()
    5. End Sub
    6. End Class


    wo ist da jetzt der haken? mein label bleibt leer? ?(