PDA

Vollständige Version anzeigen : Public Function und 'Wertetabelle'..


frozen
28.10.2003, 05:50
Moin,
ich habe folgende Funktion in einem Modul:

Public Function moveX()
'Fahrbefehl
Dim i_Channel As Integer
Dim i_ReturnValue As Integer
Dim i_BoardHandle As Integer
Dim i_ChannelValue As Integer

OPENCOM "COM1,9600,N,8"
SENDSTRING "SPX:01:00193efb" + Chr$(13)
Sleep (200)
SENDSTRING "SPSTART:01" + Chr$(13)
Sleep (200)
CLOSECOM
End Function

Ich moechte jetzt den hexadezimalen String 00193efb nicht jedesmal neu in die Funktion reinschreiben und ihn als Parameter zu uebergeben ist mir auch zu 'nervig'. Kann ich den verschiedenen Hex-Strings keine IDs zuweisen, z.B. X4 = 00193efb? Dann koennte ich als Parameter fuer die Funktion moveX einfach X4 nehmen und der Hexstring wuerde automatisch eingefuegt...

Hab keinen Peil wie ich das machen soll, vielleicht ueber Cases?!

Thx im voraus,
Michael

frozen
28.10.2003, 05:51
Nachtrag: die Variablen sind natuerlich schon used, hab nur den Quellcode ein wenig beschnitten =)

Arne Dieckmann
28.10.2003, 08:51
Möchtest Du so etwas (ungetestet)?:

Public Function moveX(hx as String)
'Fahrbefehl
Dim i_Channel As Integer
Dim i_ReturnValue As Integer
Dim i_BoardHandle As Integer
Dim i_ChannelValue As Integer
Dim hexwert as String

Select case hx
case is ="x1"
hexwert="...."
case is ="x4"
hexwert= "00193efb"
case else ' "Standardwert"
hexwert= "00193efb"
End Select

OPENCOM "COM1,9600,N,8"
SENDSTRING "SPX:01:" & hexwert + Chr$(13)
Sleep (200)
SENDSTRING "SPSTART:01" + Chr$(13)
Sleep (200)
CLOSECOM
End Function

Aufruf erfolgt dann z.B. mit
movex("x4")

frozen
28.10.2003, 13:15
Jo, danke, genau richtig =)