also momentan legt ihr ihm nur steine in den weg... na klar kann er auf controls zugreifen , die sich auf anderen forms befinden. ob es gut ist, ist ne andere sache...
Hier könnte meine Signatur stehen.
Das ist das Schlimmste, was man tun kann, da Du somit das OOP-Prinzip verletzt. Ohne Instanziierung geht nichts, das ist Unsinn. Klassen sind keine Objekte.
Es ist Schwachsinn, jemandem etwas falsch beizubringen, nur damit er es einfacher hat, so geht das nicht. Man muss sich im Leben auch mal etwas stellen und so viel Arbeit ist das jetzt echt nicht, einfach eine Instanz zu erstellen.
Höre doch bitte deshalb auf, zu widersprechen und seh' ein, dass man es richtig machen muss. Davon abgesehen, bereitet es nur mehr Probleme, als es löst.
Grüße
#definefor for(int z=0;z<2;++z)for // Have fun!
Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose!
Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da
es geht aber !!
Hier könnte meine Signatur stehen.
Ich will ja freundlich bleiben, aber warum macht Ihr es mir so schwer?
Es ist falsch! Und außerdem geht das nicht immer, da es diverse Probleme damit geben kann. Wenn Du eine Zeile mehr opferst und es richtig machst, dann passiert da gar nichts.
Außerdem ist über diesen Weg keine Übergabe von Properties usw. möglich.
Ich kann Dich/Euch zu nichts zwingen und bin sicher auch kein Lehrer, aber wer selbst solche simplen Dinge nicht einsieht, sollte es imo lieber sein lassen, da es beim Programmieren nicht nur darum geht, etwas zum Laufen zu bringen.
~ Trade out. :/
Grüße
#definefor for(int z=0;z<2;++z)for // Have fun!
Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose!
Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da
Zeige uns kompilierten laufenden IL-Code, der auf Member einer Klasse zugreifen kann, die nicht statisch sind. Geht nicht. VB macht aus der "Form" (blödeste Bezeichnung die es gibt, es ist eine Klasse, die von Form erbt und Klasseninstanzen die von Control erben beherbergt) eine Default-Instanz. Du greifst also auf eine im Hintergrund erstellte Instanz zu. Was syntaktisch absolut falsch ist und in jeder Programmiersprache stumpf in einem Compilerfehler enden würde. Dank Microsoft werden anfangenden Programmierern so etwas als gültig dargestellt und die verstehen die Welt nicht mehr "Läuft doch, also muss es richtig sein.". Wenn man so mutig ist und mit VB anfängt, dann unbedingt mit gescheiter Lektüre, am Besten sogar mitter Konsole. Wer OOP nicht versteht, kann auch nicht mit einer OO-Sprache arbeiten.
Hey zusammen,
Versuch mal das hier
VB.NET-Quellcode
IfIsNumeric(TextBox1.Text) =TrueThen'schaut nach ob nur ziffern im textfeld stehen
'wenn nur ziffern drin sind mach das....
Dim intvariabel AsInteger=CInt(TextBox1.Text) 'convertiere den string in ein int und packs in eine variabel
If intvariabel >0Then'wenn variabel mehr als 0 dann
MsgBox(" größer als 0")
Else'wenn variabel weniger als 0 dann
MsgBox("ist 0 oder kleiner")
EndIf
Else
'wenn was anderes als ziffern in den textfeld steht
MsgBox("mit buchstaben kann man schlecht rechnen hm")
EndIf
geht sicher auch einfacher , hab gerade aber wenig zeit.
solong
Ray
*oh gerade die 2. seite des postes gemerkt xD
Da wird versucht, dem TE zu erklären, daß es wichtig ist "sauberen code" zu schreiben und du kommst jezt mit VB6 Ranz !
jau klar isses wichtig sauberen code zu schreiben.
Wie gesagt hab die 2. Seite zu spät gelesen, und hab gerade noch wenig Zeit XD
Bin nu auch wieder unterwegs - euch einen schönen abend =)
Dennoch schreibst du den Code? Naja egal. Um dem TE gleich zu erklären, warum das Ranz ist:
1. IsNumeric ist unzuverlässig, deshalb nicht verwenden.
2. CInt ist veraltet. Lieber Integer.Parse verwenden.
3. MsgBox stammt von VB6 und ist demnach veraltet und wurde von MessageBox.Show abgelöst.
Auch wenn man es gut meint, bitte korrekten Code posten.
Dim intvariabel As Integer = CInt(TextBox1.Text) 'convertiere den string in ein int und packs in eine variabel
kürzer : dim intvariable = integer.parse(textbox1.text)
und msgbox ist auch nicht mehr so aktuell messagebox.show ist besser.
Hier könnte meine Signatur stehen.
Für sowas gibt es normal NumericUpDowns, ansonsten würde ich sogar Integer.TryParse verwenden, braucht man halt eine Referenz als Parameter, aber dafür stürzt das Programm nicht ab, wenn ein String in der TextBox steht.
Ansonsten mit einfachem Integer.Parse müsste man vorher den Input abfangen und beschränken.
Grüße
#definefor for(int z=0;z<2;++z)for // Have fun!
Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose!
Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da