Textbox Integerwert
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 23 Antworten in diesem Thema. Der letzte Beitrag () ist von Manschula.
-
-
-
-
-
-
TheoTechnic schrieb:
Ich persönlich bevorzuge Val())
Weoß allerdings nicht, wass der Unterschied ist.
Einmal wusste einer im Forum nicht mal, was Val() ist -
-
OFFTOPIC:
Einmal wusste einer im Forum nicht mal, was Val() ist
Liegt vielleicht daran, dass Val im Microsoft.VisualBasic-Namespace zu finden ist. Das ist der Platz, wo solche Funktionen wie ltrim, int, msgbox,... usw auftauchen. Dies sind Elemente, die in der Vergangenheit benutzt wurden, und welche auch heute noch durch eben diesen Namespace funktionieren. Das sind auch die Funktionen, bei denen ein Teil der User dann z.B. sagt: "msgbox ist veraltet, nimm Messagebox.Show" Wenn man, wie viele hier - auch ich - von Quick-Basic über VB6 hierher kommt, ist man eben gewohnt, gewisse Funktionen zu benutzen, auch wenn es inzwischen wesentlich kraftvollere Möglichkeiten dafür gibt. (Bei vielen Lehrern ist es so, und die geben das nunmal so weiter, wie selbst gelernt.) Wenn die Macher von VB standardmäßig Option Strict auf On setzen würden, und den Microsoft-VisualBasic-Namespace deaktivieren (nicht löschen!), dann hätten wir hier eine andere Art der Programmierung...
@SenA: Rat für die nächsten Wochen: Option Strict auf ON setzen. Es werden sehr viele Zeilen in deinen Programmen unterstrichen werden. Und dann diese Daten ins richtige Format konvertieren. Wenn du die Konvertierung der Datentypen büffelst, werden - glaube ich - einige Lichter aufgehen... Es ist zwar ein anstrengender Weg, aber der Richtige..
-
OFFTOPIC:
der_Kurt schrieb:
auch wenn es inzwischen wesentlich kraftvollere Möglichkeiten dafür gibt. -
-
Was macht MessageBox.Show() so viel kraftvoller als MsgBox()?
Die neue Messagebox hat einfach mehr Einstellungsmöglichkeiten, zB. inklusive Angabe des Ownerfenster, einem Helpfilepath, den MessageBoxOptions ...
Der Begriff "kraftvoller" bezog sich auf die neuen Funktionen insgesamt, welche die alten ersetzen.
Ich selbst verwende zu schnellen Anzeigen eines Wertes auch noch Msgbox, weil es einfach schneller geschrieben ist.
ABER!!!!: in allen anderen Fällen wird ausnahmslos die neue Messagebox-Klasse verwendet.
BTW: der Umstieg auf C# wäre ziemlich witzig, wenn man oft den VisualBasic-Namespace nutzt... -
-
Die Konvertierung von String in Integer wird weder mit Val(), noch mit CInt(), noch mit Convert.ToInt32(), noch mit CType() noch mit DirectCast() noch mit TryCast() erledigt, auch nicht in einem Try-Block. Die korrekte Methode ist [Zieldatentyp].[Try]Parse(str, ByRef val). Warum? Die direkte Konvertierung von String in Int32 ist schlechter Stil, da die Konvertierungsmethoden und -Operatoren dafür gedacht sind, gleichartige Typen ineinander zu casten, nicht völlig verschiedene. Das Typcasting ist dafür gut, z.B. eine Subklassenreferenz in eine Basisklassenreferenz umzuwandeln oder um den Wertebereich eines Integers in den eines Int64 zu erweitern, aber nicht um Äpfel in Birnen umzuwandeln.Gruß
hal2000
-
-
Hey,
na klar funktioniert es in vielen Fällen, aber die richtige(!) Funktionsweise hat hal2000 schon erklärt. Wobei wir dann wieder beim Thema wären:hal2000 schrieb:
[...] schlechter Stil [...]
-
-
Was bei Manschula jetzt noch fehlt, ist ein Verweis auf diesen Thread:
[VB.NET] ='http://www.vb-paradise.de/pr…nd schlechten Code (Stil) -
Hey,
gute Anmerkung; dann allerdings bitte als korrekten Link: [VB.NET] Beispiele für guten und schlechten Code (Stil)
Deine Verlinkung funktioniert bei mir nicht....
Gruß, Manschula -
-
Int16 und Int32 ist ein großer Unterschied:
Int16 = Short
Int32 = Integer
Int64 = Long
es gibt ja noch Int16.Parse usw...mit Parse kannst du überprüfen, ob es auch wirklich zulässig ist und somit zuverlässig Konvertiert wurde(durch einen Error) stattdessen kann man direkt TryParse nehmen mit welchem man einen Boolschen Wert zurückbekommt...Ich wollte auch mal ne total überflüssige Signatur:
---Leer---
-
Ähnliche Themen
-
Kevin Hombre - - Sonstige Problemstellungen