Option Strict

  • VB.NET

Es gibt 53 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Option Strict

    Hallo liebe Community,
    Ich arbe an einem Programm und hab mir dafür ein Tutorial angeschaut. In dem Tutorial wurde das nicht Teoretisch erklärt somit wusste ich es nicht richtig. In dem Video wurde gesagt das man Strict aktivieren soll. Ich hab das mit nem Cod gemacht.

    VB.NET-Quellcode

    1. Option Strict On

    Der wurde somit auch angenommen nur stehe ich jetzt vor nem Neuen Problem alle Cods mit Labeltext wurden Als Fehler makiert also die:

    VB.NET-Quellcode

    1. Label1.Text = "Du musst das Passwort eingebem"

    Das ist aber auch nicht das einzisgste wenn ich zum Beispiel schreibe:

    VB.NET-Quellcode

    1. Textbox1.Text = "Passwort"

    oder

    VB.NET-Quellcode

    1. Label1.Text = Textbox1.Text

    Das ist so das hauptsächliche Problem
    ICh freue mich über Jede Antwort
    Das ist mein Bisheriger Cod:

    VB.NET-Quellcode

    1. TextBox1.Text = "Passwort"
    2. Button1.Click 'Ja ich weiß wollt nicht alles ausschreiben
    3. If Textbox1.Text = nothing then
    4. msgbox("Bitte Passwort eingeben")
    5. Label1.Text = "Kein Passwort"
    Ähm, daran ist nichts falsch, außer, dass man GUI und Daten trennen sollte, aber was wirft die IDE denn für Fehler?
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Willkommen im Forum. :thumbup:

    FaKstone schrieb:

    wurden Als Fehler makiert
    Seh ich auch nix, es sei denn, es ist ein anderer Fehler.
    Welcher?
    Statt If Textbox1.Text = nothing then machst Du besser
    If Not String.IsNullOrEmpty(Textbox1.Text) Then
    Und die msgbox heißt in .NET MessageBox.Show("").
    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!
    Was? Wie wäre es, wenn Du erstmal die Fehlermeldung postest?
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Fehler 4 "Option Strict On" lässt keine impliziten Konvertierungen von String in Integer zu. C:\Users\René\Desktop\Strong Ping Cannon\Strong Ping Cannon\Form1.vb 148 18 Strong Ping Cannon
    Fehler 6 "Option Strict On" lässt keine impliziten Konvertierungen von String in Double zu. C:\Users\René\Desktop\Strong Ping Cannon\Strong Ping Cannon\Form1.vb 150 9 Strong Ping Cannon

    Und ich hab das mit To string bfolgt

    VB.NET-Quellcode

    1. ToString(Label4.Text) = "Fehlversuche"
    2. ToString(Label5.Text) += 1


    Aber immernoch die Fehler

    Auch bei der Textbox

    VB.NET-Quellcode

    1. ToString(Textbox1.Text)

    FaKstone schrieb:

    ToString(Label5.Text) += 1

    Versuche Du mal die Gleichung x = Papier +1 zu lösen. ich bin gepsannt.

    Ebenso ist die Verwendung der ToString() Methode hier völlig fehl am platz.
    Du musst Daten von der GUI trennen:
    Lass dir den Text ausgeben und speichere sie in einer Variablen. Parse diese Variable in einen Integer. Addiere zu diesem 1 dazu, und parse das ergebnis wieder zurück in einen String, welchen du dann in der textbox, oder dem Label ausgibst.

    FaKstone schrieb:

    String in Integer
    Wenn Du sicher bist, dass in dem String ein Integer steht, mach Integer.Parse(DEIN_TEXT) draus, Double.Parse(DEIN_TEXT) äquivalent.
    Falls in dem Text "Roullade mit Klößen" drin steht, knallt es.
    Dann solltest Du
    Integer.TryParse(DEIN_TEXT, var1) bzw. Double.TryParse(DEIN_TEXT, var2) verwenden.
    Falls Du Double-Werte mit Komma und oder Punkt als Dezimalseparator zulässt, solltest Du Dich vorher auf eines einigen.
    Ansonsten nimm ein NumericUpDown-Control, dessen Value-Property ist vom Typ Decimal, die kannst Du per CInt() bzw. CDbl() konvertieren.
    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!
    @shaebich Kannst Du mir sagen, was Dein Code machen soll und was an CStr vorteilhaft ist?
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    @FaKstone Weißt du was Datentypen sind? Also String, Integer, Double, etc...? Dann steht in Post #8 und #9 alles was du brauchst um dein Problem zu lösen.

    hab mir dafür ein Tutorial angeschaut

    Ich wette das war Youtube ja? Dann vergiss Youtube zum lernen gleich wieder. Wenn du lernen willst nimm ein Buch zur Hand.
    Die guten Youtube Videos (ja es gibt doch ein paar) würdest du in deinem Wissensstadium garnicht erkennen.

    @shaebich Das war jetzt mehr Zitat als notwendig und die Lösung ein graus ;)
    Wer fragt, ist ein Narr für eine Minute. Wer nicht fragt, ist ein Narr sein Leben lang.

    Trade schrieb:

    @shaebich Kannst Du mir sagen, was Dein Code machen soll und was an CStr vorteilhaft ist?


    xD gar nix, habs nur überflogen und gelesen Option Strict On und fehler bei der direkten Deklaration. Also dachte ich kurz casten dann funktionierts.

    Aber ich schätze, der Kollege schreibt seinen Code ausserhalb einer Sub.

    Dazu kommt das die schleife nicht geschlossen wird. Die Frage ist einfach zu wage formuliert :D
    Aua, @shaebich.
    1. Was willst Du hier casten? Das ist bereits ein String. Das hat auch nix mit überfliegen zu tun.
    2. Gibt es keine If-Schleifen, sondern nur If-Abfragen.

    Ich empfehle dem TE und auch Dir dieses Buch hier.

    Da fehlen noch viele Grundlagen. Auch wenn die Information zu knapp war, die Antwort war so oder falsch.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Hab mir alles durchgelesen und verstehe nur 10% :/
    Wie gesagt ich lehre noch also bitte einfach sagen was ich zu tun aheb und ne LEICHTE erklärun f dazu abliefern ich bin erst seit einem Monat dabei und Lehrne das alles noch.
    MEin PRogramm soll zum Anmelden sein
    Also bitte gebt mir mal ne Verständliche Lösung denn ich hab immernoch kein Plan was ich machen soll :S ?(
    Den Tipp aus meinem Post annehmen.
    Option Strict
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Ich möchte dich nicht Bremsen aber ist es geschickt als erstes Projekt einen "Login" (womöglich schwer unsicher und in 2 Min geknackt) zu bauen?
    Ein Training in Datentypen usw. würde dir z.b. ein Taschenrechner bringen oder siehe hier --> [Sammelthread] Programmieren, aber was? (Programmideen)
    Da gäbe es noch z.b. dich mit dem Object Browser auseinandersetzen oder generell mit deinem Studio --> VisualStudio richtig nutzen (Google ist nicht deine Mami)
    Wer fragt, ist ein Narr für eine Minute. Wer nicht fragt, ist ein Narr sein Leben lang.
    Dein Ernst? Du verstehst absolut nichts von den Grundlagen der Grundlagen, weigerst Dich aber dann die Grundlagen zu lernen? Was ist das für ne Logik?
    Übrigens gilt Zeugs von YT nicht als "habe viel gemacht".
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: