📄 functions.bas
字号:
Attribute VB_Name = "functions"
'================================================================
'================================================================
'*** SMS Messenger v1.0 ***
'================================================================
'================================================================
'*** For any Questions or Comments concerning this program ***
'*** Homepage : http://xt.tp//www.sms.com ***
'*** Email : kanthji@rediffmail.com ***
'*** Yahoo : lucky_kanth ***
'================================================================
'================================================================
'*** Mobule Name : functions.bas ***
'*** Date & Time : 21st October 2002, 04:30(IST) ***
'================================================================
'================================================================
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Public Ssend As Integer
Public Srow As Integer
Public id As Integer
Public tes As String
Public Log As String
Public Function sendsms(SMSC, Phno, SMS)
Srow = Srow + 1
SMSmainfrm.SMSgrid.TextMatrix(Srow, 0) = "Sending.."
SMSmainfrm.SMSgrid.TextMatrix(Srow, 1) = Phno
SMSmainfrm.SMSgrid.TextMatrix(Srow, 2) = SMS
If SMSmainfrm.Option1.Value = True Then
SMSmainfrm.SMSgrid.TextMatrix(Srow, 3) = "NORMAL"
Else
If SMSmainfrm.Option2.Value = True Then
SMSmainfrm.SMSgrid.TextMatrix(Srow, 3) = "FLASH"
Else
If SMSmainfrm.Option3.Value = True Then
SMSmainfrm.SMSgrid.TextMatrix(Srow, 3) = "BLINK"
End If
End If
End If
SMSmainfrm.SMSgrid.Rows = SMSmainfrm.SMSgrid.Rows + 1
If SMSmainfrm.DReport.Value = 1 Then DR = "31" Else DR = "11"
If Len(Phno) < 12 Then FO = "81" Else FO = "91"
If SMSmainfrm.Option1.Value = True Then
mf = "00"
Else
If SMSmainfrm.Option2.Value = True Then
mf = "F0"
Else
If SMSmainfrm.Option3.Value = True Then
mf = "08"
End If
End If
End If
SMSC = revnum(SMSC)
Phno = revnum(Phno)
If mf = "08" Then
SMS = ConvToblinkhex(SMS)
LS = hex2(Len(SMSmainfrm.Text1.Text) * 2)
Else
SMS = ConvToHex(SMS)
LS = hex2(Len(SMSmainfrm.Text1.Text))
End If
mva = hex2(SMSmainfrm.Combo1.ListIndex)
tep = DR & "00" & hex2(Len(Phno)) & FO & Phno & "00" & mf & mva & LS & SMS
lnth = (Len(tep)) / 2
msg = "0791" & SMSC & tep
If Ssend = 1 Then
Call sendmsg(lnth, msg)
SMSmainfrm.SMSgrid.TextMatrix(Srow, 0) = "SENT"
Else
Call savemsg(lnth, msg)
SMSmainfrm.SMSgrid.TextMatrix(Srow, 0) = "SAVED"
End If
'SMSmainfrm.Text1.Text = SMSmainfrm.SMS.Input
End Function
Public Function sendmsg(lnth, msg)
SMSmainfrm.SMS.Output = "AT" & Chr$(13) & Chr(10)
SMSmainfrm.SMS.Output = "AT+CMGF=0" & Chr$(13) & Chr(10)
SMSmainfrm.SMS.Output = "AT+CMGS=" & lnth & Chr$(13) & Chr(10)
SMSmainfrm.SMS.Output = msg & Chr$(26)
End Function
Public Function savemsg(lnth, msg)
SMSmainfrm.SMS.Output = "AT" & Chr$(13) & Chr(10)
SMSmainfrm.SMS.Output = "AT+CMGF=0" & Chr$(13) & Chr(10)
SMSmainfrm.SMS.Output = "AT+CMGW=" & lnth & ",3" & Chr$(13) & Chr(10)
SMSmainfrm.SMS.Output = msg & Chr$(26)
End Function
'reversing phone numbers
Public Function revnum(numb)
s = 1
ma = ""
While (s <= Len(numb))
ta = Mid(numb, s, 2)
A = Mid(ta, 1, 1)
B = Mid(ta, 2, 1)
If B = "" Then B = "F"
ma = ma & B & A
s = s + 2
Wend
revnum = ma
End Function
Public Function ConvToblinkhex(Text)
Dim MainTextTemp As String
MainTextTemp = Text
Text = ""
For B = 1 To Len(MainTextTemp)
If Mid(MainTextTemp, B, 1) = "|" Then
X = "01"
Else
X = hex2(Asc(Mid(MainTextTemp, B, 1)))
End If
Text = Text & "00" & X
X = ""
Next B
ConvToblinkhex = Text
End Function
Public Function ConvToHex(Text)
'This converts text to hex
Dim B, g As Integer
Dim MainTextTemp As String
Dim X As String
ReDim lbit(160), rbit(160), fin(140) As String
MainTextTemp = Text
g = 8
For B = 1 To Len(MainTextTemp)
If g = 0 Then
g = 8
End If
X = binary(Asc(Mid(MainTextTemp, B, 1)))
If g <= 8 Then
lbit(B) = Mid(X, g, 7)
rbit(B) = Mid(X, 1, g - 1)
g = g - 1
End If
X = ""
Next B
J = 0
For i = 0 To Len(MainTextTemp)
If i <> Len(MainTextTemp) Then
If (lbit(i + 1) & rbit(i)) <> "" Then
fin(J) = lbit(i + 1) & rbit(i)
J = J + 1
End If
Else
If (rbit(i)) <> "" Then
fin(J) = rbit(i)
End If
End If
Next i
Text = ""
For i = 0 To J
If fin(i) <> "" Then
Text = Text & Hex1(fin(i))
End If
Next i
ConvToHex = Text
MainTextTemp = ""
End Function
Public Function findstr(strp, str)
txt = strp
B = 1
For B = 1 To Len(txt)
D = Mid(txt, B, Len(str))
If D = str Then findstr = 1
Next B
End Function
Public Function binary(Ascii As Integer)
Dim A As Integer, B As Integer, C As Integer, D As Integer, E As Integer, F As Integer, g As Integer, h As Integer
Dim Final As String
If Ascii < 128 Then
A = 0
Else
A = 1
Ascii = Ascii - 128
End If
If Ascii < 64 Then
B = 0
Else
B = 1
Ascii = Ascii - 64
End If
If Ascii < 32 Then
C = 0
Else
C = 1
Ascii = Ascii - 32
End If
If Ascii < 16 Then
D = 0
Else
D = 1
Ascii = Ascii - 16
End If
If Ascii < 8 Then
E = 0
Else
E = 1
Ascii = Ascii - 8
End If
If Ascii < 4 Then
F = 0
Else
F = 1
Ascii = Ascii - 4
End If
If Ascii < 2 Then
g = 0
Else
g = 1
Ascii = Ascii - 2
End If
If Ascii < 1 Then
h = 0
Else
h = 1
End If
binary = B & C & D & E & F & g & h
End Function
Public Function Hex1(y)
s = Len(y)
r = ""
A = 0
B = 1
While (s > 0)
r = Mid(y, s, 1) * B
s = s - 1
B = B * 2
A = A + r
Wend
Hex1 = hex2(A)
End Function
Public Function hex2(he)
y = Hex(he)
If Len(y) = 1 Then
y = "0" & y
End If
hex2 = y
End Function
Public Function addcombo()
h = 1
For h = 1 To 3
SMSmainfrm.Combo1.AddItem h
Next h
SMSmainfrm.Combo2.AddItem "9600,n,8,1"
SMSmainfrm.Combo2.AddItem "19200,n,8,1"
SMSmainfrm.Combo2.AddItem "38400,n,8,1"
SMSmainfrm.Combo2.AddItem "57600,n,8,1"
h = 0
Hrs = 0
Min = 1
sp = 4
For h = 0 To 143
SMSmainfrm.Combo3.AddItem Space(sp) & h & " - " & Hrs & " hrs " & Min * 5 & " Min"
Min = Min + 1
If Min = 12 Then
Min = 0
Hrs = Hrs + 1
End If
If h = 9 Then sp = 2
If h = 99 Then sp = 0
Next h
Hrs = 12
Min = 30
For h = 144 To 167
SMSmainfrm.Combo3.AddItem h & " - " & Hrs & " hrs " & Min & " Min"
If Min = 30 Then
Min = 0
Hrs = Hrs + 1
Else
Min = 30
'Hrs = Hrs + 1
End If
Next h
days = 2
For h = 168 To 196
SMSmainfrm.Combo3.AddItem h & " - " & days & " days"
days = days + 1
Next h
weeks = 5
For h = 197 To 255
SMSmainfrm.Combo3.AddItem h & " - " & weeks & " weeks"
weeks = weeks + 1
Next h
SMSmainfrm.Combo1.ListIndex = 2
SMSmainfrm.Combo2.ListIndex = 0
SMSmainfrm.Combo3.ListIndex = 167
End Function
Public Sub SaveValue(Key As String, Value As String)
WritePrivateProfileString "SMS Messenger v1.0", Key, Value, App.Path & "\settings.ini"
End Sub
Sub GetPrefs()
SMSmainfrm.Combo1.ListIndex = ReadValue("Port")
SMSmainfrm.Combo2.ListIndex = ReadValue("Settings")
SMSmainfrm.Combo3.ListIndex = ReadValue("Msgvalidity")
SMSmainfrm.Text3.Text = ReadValue("SMSC")
End Sub
Sub SetPrefs()
SaveValue "Port", SMSmainfrm.Combo1.ListIndex
SaveValue "Settings", SMSmainfrm.Combo2.ListIndex
SaveValue "Msgvalidity", SMSmainfrm.Combo3.ListIndex
SaveValue "SMSC", SMSmainfrm.Text3.Text
End Sub
Public Function ReadValue(Key As String, Optional Default As String, Optional Section As String = "SMS Messenger v1.0", Optional File)
Dim sReturn As String
If IsMissing(File) Then File = FullPath(App.Path, "settings.ini")
sReturn = String(255, Chr(0))
ReadValue = Left(sReturn, GetPrivateProfileString(Section, Key, Default, sReturn, Len(sReturn), File))
End Function
Function FullPath(lpPath As String, lpFile As String) As String
If Right(lpPath, 1) <> "\" Then lpPath = lpPath & "\"
FullPath = lpPath & lpFile
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -