WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 25.04.2002, 18:47   #1
Max Mustermann
Inventar
 
Registriert seit: 17.01.2001
Beiträge: 3.774


Standard 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.
Max Mustermann ist offline   Mit Zitat antworten
Alt 25.04.2002, 19:17   #2
Max Mustermann
Inventar
 
Registriert seit: 17.01.2001
Beiträge: 3.774


Standard

Noch eine Frage hätte ich:
Warum funktioniert das nicht:
" MSComm1.Output = VScroll1.Value + Text4.Text "

(ohne ")
Max Mustermann ist offline   Mit Zitat antworten
Alt 25.04.2002, 20:14   #3
flinx
Inventar
 
Registriert seit: 08.04.2001
Beiträge: 3.101


Standard

Zitat:
MSComm1.Output = VScroll1.Value + Text4.Text
IMHO:
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.
flinx ist offline   Mit Zitat antworten
Alt 26.04.2002, 09:50   #4
Sonic
Master
 
Registriert seit: 28.03.2000
Alter: 45
Beiträge: 691


Sonic eine Nachricht über ICQ schicken
Standard

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
  Dim b As Integer
  a = 10
  b = 20
  MsgBox a + b 'Liefert "30"
  MsgBox a + 10 'Liefert "20"
  MsgBox a + str(b) 'Liefert "10 20"
Da kann man schnell den Überblick verlieren und zu einem falschen ergebniss kommen.
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
lg
____________________________________
__________________
|»»»»»SONIC««««««|
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Sonic ist offline   Mit Zitat antworten
Alt 26.04.2002, 13:49   #5
Max Mustermann
Inventar
 
Registriert seit: 17.01.2001
Beiträge: 3.774


Standard

Vielen Dank für die Hilfe, jetzt funktionierts.
Eine Frage hab ich noch 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??
Max Mustermann ist offline   Mit Zitat antworten
Alt 26.04.2002, 14:09   #6
Sesa_Mina
Schwarzfußfrettchen
 
Registriert seit: 28.01.2001
Beiträge: 2.071


Standard

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

____________________________________
Wann die kan Almdudler ham... \"Es gibt nur einen Weg zur Lunge, und der muss geteert werden, damit der Krebs nicht stolpert!\"
http://www.dream.at/gizmo/bunny.gif
Image is © 2001 Merle
Sterndalsäg.. ähh... jäger
Sesa_Mina ist offline   Mit Zitat antworten
Alt 26.04.2002, 14:38   #7
Max Mustermann
Inventar
 
Registriert seit: 17.01.2001
Beiträge: 3.774


Standard

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 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
Max Mustermann ist offline   Mit Zitat antworten
Alt 26.04.2002, 14:43   #8
Max Mustermann
Inventar
 
Registriert seit: 17.01.2001
Beiträge: 3.774


Standard

Das mit zweistellig hat jetzt funtioniert.. ich muss es natürlich bei Allgemein reinschreiben und nicht bei Form
Max Mustermann ist offline   Mit Zitat antworten
Alt 26.04.2002, 19:14   #9
Sesa_Mina
Schwarzfußfrettchen
 
Registriert seit: 28.01.2001
Beiträge: 2.071


Standard

objekt.backcolor=rgb(rot,grün,blau)

wobei rot, grün und blau jeweils eine Zahl von 0 bis 255 sein kann.
____________________________________
Wann die kan Almdudler ham... \"Es gibt nur einen Weg zur Lunge, und der muss geteert werden, damit der Krebs nicht stolpert!\"
http://www.dream.at/gizmo/bunny.gif
Image is © 2001 Merle
Sterndalsäg.. ähh... jäger
Sesa_Mina ist offline   Mit Zitat antworten
Alt 26.04.2002, 19:31   #10
Max Mustermann
Inventar
 
Registriert seit: 17.01.2001
Beiträge: 3.774


Standard

und wie verknüpfe ich das mit mscomm1.input?
Max Mustermann ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:51 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag