![]() |
kleine VB Frage:
sst + und & das selbe?? es geht darum dass ich daten über die serielle schnittstelle versenden will, und die daten setzen sich aus 2 textfeldern zusammen.
|
Noch eine Frage hätte ich:
Warum funktioniert das nicht: " MSComm1.Output = VScroll1.Value + Text4.Text " (ohne ") |
Zitat:
Vermute das VScroll1.Value irgend eine Zahl enthält. Daher umwandeln in einen String: MSComm1.Output = Trim(Str(VScroll1.Value)) + Text4.Text Mit Str wandelst einen Zahl in einen String um, wobei ein führendes Leerzeichen angehängt wird, welches mittels Trim wieder wegkriegst. |
Hi!
ad + und &: Die zwei Operatoren verhalten sich ident wenn es sich bei beiden (allen) werten/variablen um Strings handelt. Einen Unterschied macht es nur wenn du zahlen und Strings mit + zusammenfügen willst!! Vb nimmt dann nämlich eine Automatische Typenkonvertierung vor. Und addiert unter umständen zie zwei werte! Beispiele: Code:
Dim a As String Deswegen solltest du wenn du Strings zusammen stellen willst immer & benutzen. Das nimmt nie Typenkonvertierungen vor! Und wenn du einen Wert (Zahl oder Variable) in einen String umwandeln willst solltest du lieber CStr benutzen. Dann sparst du dir das trim um das führende leerzeichen wegzuschneiden! Deine Zeile sollte also am Besten so aussehen: Code:
MSComm1.Output = CStr(VScroll1.Value) & Text4.Text |
Vielen Dank für die Hilfe, jetzt funktionierts.
Eine Frage hab ich noch :D Ich will dass der Schiebebalken immer zweistellige Werte schickt. D.h auch wenn der Wert 1 ist soll 01 gesendet werden. Könnt ihr mir sagen wie das geht?? |
public function zweistellig(wert as long) as string
dim dummy as string dummy=cstr(wert) if len(dummy)<2 then dummy="0" & dummy:else dummy=right$(dummy,2) zweistellig = dummy end function aufrufen mit.. MSComm1.Output = zweistellig(VScroll1.Value) & Text4.Text :D |
Danke für die schnelle Antwort... aber, wo schreib ich das hinein?ß Ins haupt Form?? Da kommt dann die Fehlermeldung: End Sub erwartet... obwohl end sub eh da steht.
Gleich noch eine kleine Frage :D Ich möchte, dass ein Shape bei MsComm1.input = "C" seine Farbe von Schwarz auf Rot ändert... wie geht denn das? Ich dachte das geht so: e$ = MSComm1.Input Text1.Text = Text1.Text + e$ If Left$(e$, 1) = "C" Then Shape1.FillColor = &HFF& Else Shape1.FillColor = &H0& End If tut es aber nicht ;) |
Das mit zweistellig hat jetzt funtioniert.. ich muss es natürlich bei Allgemein reinschreiben und nicht bei Form ;)
|
objekt.backcolor=rgb(rot,grün,blau)
wobei rot, grün und blau jeweils eine Zahl von 0 bis 255 sein kann. |
und wie verknüpfe ich das mit mscomm1.input?
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag