问题描述
请问谁有SCL2008LED的程式码?若调去vb.net该怎么修改?拜托!以下是我在这个论坛找到的程式码,但听说好像是不完整的。我对这些程式都不熟悉所以需要高手帮帮忙!感谢!..VERSION5.00BeginVB.FormForm1Caption="Form1"ClientHeight=1740ClientLeft=60ClientTop=345ClientWidth=4530LinkTopic="Form1"ScaleHeight=1740ScaleWidth=4530StartUpPosition=3'窗口缺省BeginVB.CommandButtonCommand2Caption="发送文本,直接静止显示"Height=375Left=720TabIndex=1Top=960Width=3255EndBeginVB.CommandButtonCommand1Caption="发送文本文件,带移动效果"Height=375Left=720TabIndex=0Top=240Width=3255EndEndAttributeVB_Name="Form1"AttributeVB_GlobalNameSpace=FalseAttributeVB_Creatable=FalseAttributeVB_PredeclaredId=TrueAttributeVB_Exposed=False'---------------------------------------------------------------------------------------------'FunctionsinDLLPrivateDeclareFunctionSCL_NetInitialLib"SCL_API_Stdcall"(ByValDevIDAsInteger,ByValPasswordAsString,ByValIPAsString,ByValTimeOutAsLong,ByValRetryAsLong,ByValUDPPortAsInteger,ByValSCL2008AsBoolean)AsBooleanPrivateDeclareFunctionSCL_ComInitialLib"SCL_API_Stdcall"(ByValDevIDAsInteger,ByValComPortAsLong,ByValBaudrateAsLong,ByValLedNumAsLong,ByValTimeOutAsLong,ByValRetryAsLong,ByValSCL2008AsBoolean)AsBooleanPrivateDeclareFunctionSCL_ShowStringLib"SCL_API_Stdcall"(ByValDevIDAsInteger,ByRefTextInfoAsInteger,ByValStrAsString)AsBooleanPrivateDeclareFunctionSCL_SendFileLib"SCL_API_Stdcall"(ByValDevIDAsInteger,ByValDrvNoAsLong,ByValPathAsString,ByValFileNameAsString)AsBooleanPrivateDeclareFunctionSCL_SendDataLib"SCL_API_Stdcall"(ByValDevIDAsInteger,ByValOffsetAsLong,ByValSendBytesAsLong,ByRefBuffAsByte)AsBooleanPrivateDeclareFunctionSCL_SaveFileLib"SCL_API_Stdcall"(ByValDevIDAsInteger,ByValDrvNoAsLong,ByValFileNameAsString,ByValLengthAsLong,ByValDaAsLong,ByValTiAsLong)AsBooleanPrivateDeclareFunctionSCL_GetFileDosDateTimeLib"SCL_API_Stdcall"(ByValFileNameAsString,ByRefDaAsLong,ByRefTiAsLong)AsBooleanPrivateDeclareFunctionSCL_RemoveFileLib"SCL_API_Stdcall"(ByValDevIDAsInteger,ByValDrvNoAsLong,ByValFileNameAsString)AsBooleanPrivateDeclareFunctionSCL_ReplayLib"SCL_API_Stdcall"(ByValDevIDAsInteger,ByValDrvAsLong,ByValIndexAsLong)AsBooleanPrivateDeclareFunctionSCL_CloseLib"SCL_API_Stdcall"(ByValDevIDAsInteger)AsBoolean'---------------------------------------------------------------------------------------------PrivateDeclareSubSleepLib"kernel32"(ByValdwMillisecondsAsLong)'---------------------------------------------------------------------------------------------'ConstantdefineConstbSCL2008=True'TRUE:控制器为SCL2008,FALSE:控制器为SuperCommConstIPAddr="10.1.1.100"'网络通讯:控制器IP地址ConstUDPPort=1024'网络通讯:UDP端口号ConstLedNum=0'串口通讯:控制器编号ConstComPort=1'串口通讯:计算机串口号ConstBaudrate=57600'串口通讯:通讯速率ConstbOnlyShowStatic=False'TRUE:只静止输出,不带移动效果,FALSE:试验发文件的方式ConstbSendFile=False'TRUE:用SendFile发送文件,FALSE:用SendData,SaveFile发送文件ConstbNet=False'TRUE:使用网络收发,FALSE:使用串口收发ConstmDevID=9'任意的2字节通讯设备编号ConstTimeOut=2'通讯超时上限ConstRetryTimes=2'通讯重发次数ConstLedWidth=128'区域宽ConstLedHeight=32'区域高ConstCharColor=255'文字颜色ConstFileName="Test.Txt"'文本文件名'---------------------------------------------------------------------------------------------'文本输出信息结构,PrivateTypeTextInfoTypeLeftAsIntegerTopAsIntegerWidthAsIntegerHeightAsIntegerColorAsLongASCFontAsIntegerHZFontAsIntegerXPosAsIntegerYPosAsIntegerEndTypePrivateSubCommand2_Click()DimSAsStringDimbOKAsBoolean,xbAsBooleanDimBuff(1024)AsByteDimDaAsLong,TiAsLongDimTextInfoAsTextInfoTypeIfbSCL2008ThenTextInfo.Left=4096-LedWidthElseTextInfo.Left=960-LedWidthEndIfTextInfo.Top=0TextInfo.Width=LedWidthTextInfo.Height=LedHeightTextInfo.Color=CharColorTextInfo.ASCFont=1TextInfo.HZFont=2TextInfo.XPos=0TextInfo.YPos=0S=""'Use6x12,12x12fontsS=S+"`A1`H2`C0000FF红色12点显示"'Use8x16,16x16fontsS=S+"`A3`H4绿色16点显示AB"'Use12x24,24x24fontsS=S+"`A5`H6黄色24点显示CD`Y000"'Use16x32,32x32fontsS=S+"`M3`A7`H8反白32点显示EF"'通讯初始化IfbNetThenbOK=SCL_NetInitial(mDevID,"",IPAddr,TimeOut,RetryTimes,UDPPort,bSCL2008)ElsebOK=SCL_ComInitial(mDevID,ComPort,Baudrate,LedNum,TimeOut,RetryTimes,bSCL2008)EndIfIfbOK=FalseThenMsgBox("初始化失败")IfbOnlyShowStatic=FalseThen'删除移动播出的文本文件'仅实现静止显示则可不调用这个函数IfbOKThenbOK=SCL_RemoveFile(mDevID,2,FileName)IfbOK=FalseThenMsgBox("删除文件失败")EndIf'重启节目表,使屏幕静止(因为节目表中的文本文件不存在了)'仅实现静止显示则可不调用这个函数IfbOKThenIfbSCL2008ThenbOK=SCL_Replay(mDevID,0,0)ElsebOK=SCL_Replay(mDevID,1,0)EndIfIfbOK=FalseThenMsgBox("重启节目表失败")Sleep(500)EndIfEndIf'显示文字串,自动排版,超出部分自动截断IfbOKThenbOK=SCL_ShowString(mDevID,TextInfo.Left,S)IfbOK=FalseThenMsgBox("文字直接输出失败")EndIfSCL_Close(mDevID)EndSubPrivateFunctionStringToByte(ByRefSAsString,ByRefByteBuf()AsByte)AsIntegerDimiAsIntegerDimjAsIntegerDimvAsIntegerDimxvAsIntegerDimLvAsLongj=0Fori=0ToLen(S)-1v=Asc(Mid(S,i+1,1))'取一个16位字符Ifv>0Then'普通字符ByteBuf(j)=vj=j+1Else'小于0则为中文字,实际是大于等于32768Lv=65536+vxv=Lv256ByteBuf(j)=xvj=j+1xv=LvMod256ByteBuf(j)=xvj=j+1EndIfNextiStringToByte=jEndFunction
解决方案
解决方案二:
应该去SCL板块问啊,