"@" in vb 2010 :|
- 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 20 Antworten in diesem Thema. Der letzte Beitrag () ist von ~blaze~.
-
-
-
Dann hab ich:
Und er sagt mir: "Der And-Operator ist für die Typen "Char" und "String" nicht definiert. -
Ja das kannst du so nicht machen..
Ja man kann einen String nicht mit einen Char verunden.. Allerdings vermute ich nicht das du hier eine Verundung vornehmen willst
Versuch es so, das Funktioniert aber nur in einer If Abfrage oder einer Schleifenbedingunglg.
LucaWelker
-
versuche es mal so
Sonst habe ich noch das hier gefunden:
msdn.microsoft.com/de-de/library/s9cz43ek.aspx
Hoffe konnte dir Helfen
Grüße GMT -
-
-
LucaWelker schrieb:
Ja das kannst du so nicht machen..
Ja man kann einen String nicht mit einen Char verunden.. Allerdings vermute ich nicht das du hier eine Verundung vornehmen willst
Versuch es so, das Funktioniert aber nur in einer If Abfrage oder einer Schleifenbedingung
Hat super funktioniert
(ja, sollte in IF für ein email feld^^) -
Das Problem an der Sache ist doch offensichtlich, Chr(65) gibt ein Char zurück, "." allerdings ist ein String, dieses Problem löst du - GMT - vielleicht nicht aber das, dass der Threadersteller IMHO die beiden Werte nicht Bitweiße Und-Verknüpfen möchte sondern das ganze in eine If-Abfrage o.ä. eingebaut wertden soll. Wenn dies der Fall ist, dann ist deinen Antwort absoluter Quatsch. Ansonsten, weiß ich nicht wie viel Sinn in deiner Antwort steckt, da ich nicht weiß wie man in Vb.NET Bitweiße verundet.lg.
LucaWelker
-
-
-
-
GMT schrieb:
ausserdem VERSUCHEN IST was anderes als MACH!
Spricht was gegen LIES MAL?
msdn.microsoft.com/de-de/library/dy85x1sa(v=vs.80).aspx
Also eine Funktion, die EINEN STRING ERWARTET (und nicht 2, 3 oder 192) und daraufhin einen Boolean zurückliefert.
Und was ergibt: "A" AND "B"?
Nix! Weil "AND" entweder eine logische Verknüpfung vornimmt (-> Boolean) oder aber eine BINÄRE Operation ausführt -> 2 AND 4 -> 0 bzw 1 AND 7 -> 1
BTW: Um einen String auf mehrere Zeichen zu prüfen, bietet sich IndexOfAny an ...
msdn.microsoft.com/de-de/library/11w09h50(v=VS.80).aspx
Keins der Zeichen wurde gefunden (Index < 0!) -
Gredsoft schrieb:
Chr(65).ToString? Gibt's das?
Thema wurde als erledigt markiert, sehe ich gerade, was war denn die Lösung, TE?
Lösung war:Ja das kannst du so nicht machen..
Ja man kann einen String nicht mit einen Char verunden.. Allerdings vermute ich nicht das du hier eine Verundung vornehmen willst
Versuch es so, das Funktioniert aber nur in einer If Abfrage oder einer Schleifenbedingung -
GMT schrieb:
versuche es mal so
Sonst habe ich noch das hier gefunden:
msdn.microsoft.com/de-de/library/s9cz43ek.aspx
Hoffe konnte dir Helfen
Grüße GMT
Sollte man so trotzdem nicht machen, da hier einem String ein Wert zugewiesen wird, der als Char definiert ist. Darum müsste der Debugger AFAIK bei Option Strict on auch streiken..
-
Hi
Also ehrlich gesagt geht mir die Inkompetenz ehrlich auf den Keks. Wenn man nicht weiß, was man tut oder einfach nur ins blaue rät, sollte man einfach mal die Klappe halten und nicht irgendeinen Müll daherlabern (Sorry, mich nervt das einfach so wahnsinnig). Ich mein, ich kann auch nicht behaupten, dass die Welt eine Scheibe ist, nur weil ich mir grad' mal einbild, dass es so sein könnte und ich aber keinen Plan von der Realität habe!
And ist ein Operator, der bei den primitiven Datentypen so ausgeführt ist, dass die einzelnen Bits mit und verknüpft werden. Hierbei läuft das so ab:
Für alle Bits der Ganzzahl wird folgende Operation ausgeführt:
And 0 1
0 | 0 0
1 | 0 1
Also:
Das heißt, man geht einfach alle Bits der Ganzzahl durch und wendet die Konjunktion ("und") auf das i-te Bit der linken und rechten Ganzzahl an. Das heißt, das i-te Bit des Resultats ist nur dann True, wenn sowohl das i-te Bit der linken, als auch der rechten Ganzzahl True ist.
Wie man leicht sieht, hat das "und" nichts mit der Sprache zu tun - ist ja klar! Woher soll Contains wissen, dass sein Parameter links And rechts ist und dass damit überprüft werden soll, ob beides enthalten wird. Contains erhält nur den Wert, der im Parameter erzeugt wird! Also wird erst das, was als Parameter übergeben wird, berechnet und anschließend dem Contains übergeben!
Gehen wir den Code doch mal durch. Erst legen wir einen Variable Text vom Typ String an. Danach weißen wir dem Text Chr(64) zu, was gleichbedeutend zu "@"c ist. Nun ja, Chr(64) ist ein Char, Text ein String, aber ok. Bei TextBox2.Text.Contains(text And ".") wird dann versucht, eine logische Verknüpfung zwischen zwei Strings zu erstellen. Funktioniert natürlich nicht, hab ich schon erklärt, nur, was ist der Unterschied zu dem TextBox2.Text.Contains("@" And ".")? "@" ist genauso ein String, wie Text!
Es gibt übrigens beim CType-Operator sowas wie Narrowing und Widening. Narrowing heißt, man benötigt das CType, Widening eben, dass man es nicht benötigt. Beispiel:
Sollte funktionieren, obwohl ein String kein Char-Array ist. Selbiges bei Integer->Single, aber NICHT bei Single->Integer. Integer hat einen unendlich kleineren Werte-Bereich, als Single, auch wenn die Kardinalität der Wertemenge von Singles der der Integer entspricht (haben ja beide 32 Bit, Integer ghet von -2^31 bis 2^31 -1, Single von -unendlich bis unendlich, wobei halt bei Werten > 2^8 -1 bzw. < -2^8 -1 ein Genauigkeitsverlust eintreten kann - wenn ich grad nicht falsch gedacht hab).
Gruß
~blaze~ -
-
-
GMT schrieb:
wer hat hier die "Fachliche Kompetenz"
Pauschal erstmal jeder, der LESEN kann. Da einige das entweder nicht können - oder wieder besseres Wissen einfach nicht tun - bleiben die übrig, die es können und tun.
Wie bereits ausgeführt wurde, handelt es sich um einen grundlegenden Denkfehler und jeder mit "Fachkompetenz" erkennt diesen sofort. Allen anderen, die "probier mal" rufen möchten, sei nahegelegt, das Ganze erstmal bei sich zu testen, bevor sie eine falsche Lösung anbieten. Das hat den ungeheuren Vorteil, dass das Forum nicht mehr so viel mit absolutem Nonsens zugequarkt wird und irgendwann einmal (die Hoffnung stirbt halt zuletzt) als WIRKLICH hilfreiche Quelle Einzug in den Olymp des Internet hält.
Wie üblich: IMHO, YMMV und JM2C
BTW:
Wir alle wollen nur helfen
Jemandem der seinen Autoschlüssel verloren hat, würdest du aber nicht pauschal erstmal die Scheibe einschlagen oder? Ggf würdest du doch auf den Schlüsseldienst warten und nur wenn du selbst schlüsseldiensttechnische Kenntnisse hast, würdest du selbst Hand anlegen? -
GMT schrieb:
...und wenn man mal falsch liegt dann kann jemand anderes es einem sagen.
Aber - was blaze vmtl. auf die Nerven geht - das weiß man sogar ohne Compiler, wenn man weiß, was ein String ist, und wozu der And-Operator gut ist.
Wenn einem aber der And-Operator nicht weiter bekannt ist, dann sollteman auch keine code-Beispiele damit posten, weil damit bringt man nur den TE völlig durcheinander.
-
Tags
-
Ähnliche Themen
-
husi012 - - Sonstige Problemstellungen
-
Side-by-Side-Konfiguration ungültig
Destiny971 - - Sonstige Problemstellungen -
progThis - - Sonstige Problemstellungen
-
-
6 Benutzer haben hier geschrieben
- Gast (13)
- LucaWelker (2)
- ErfinderDesRades (2)
- ~blaze~ (2)
- Manawyrm (1)
- enba (1)