📄 mfunctions.bas
字号:
Attribute VB_Name = "MFunctions"
'****************************************************************************
' :) 人人为我,我为人人 :)
'枕善居汉化收藏整理
'发布日期:06/06/26
'描 述:实时股票图表曲线示例 Ver 1.0
'网 站:http://www.mndsoft.com/
'e-mail :mndsoft@163.com 最新的邮箱,如果您有新的好的代码别忘记给枕善居哦
'OICQ :88382850
'****************************************************************************
Option Explicit
Private hHookCntrMsgBox As Long, lFrmHwndCntrMsgBox As Long
Public Function GetIni(File As String, Section As String, Key As String)
Dim RetVal As Long
Dim Value As String
Value = Space(2001) ' Initialize Return String
' Query Value
RetVal = GetPrivateProfileString(Section, Key, "", Value, 2000&, File)
' Trim Return String
Value = Left(Value, RetVal)
GetIni = Value
End Function
Public Sub WriteIni(File As String, Section As String, Key As String, Value As String)
WritePrivateProfileString Section, Key, Value, File
End Sub
Public Function GetNumIniKeys(File As String, Section As String) As Integer
Dim RetVal As Long, RetString As String, NullOffSet As Integer
Dim Keys As String, Counter As Integer
RetString = Space(2001) ' Initialize Return String
'RetVal = GetPrivateProfileString(Section, 0&, "", RetString, 2000&, File)
RetVal = GetPrivateProfileStringKeys(Section, 0&, "", RetString, 2000&, File)
Do
NullOffSet = InStr(RetString, Chr$(0))
If NullOffSet > 1 Then
Counter = Counter + 1 ' Increment Counter
Keys = Keys & Chr$(10) & Mid$(RetString, 1, NullOffSet - 1)
RetString = Mid$(RetString, NullOffSet + 1)
End If
Loop While NullOffSet > 1
GetNumIniKeys = Counter
End Function
Public Function GetIniKey(File As String, Section As String, KeyNumber As Integer) As String
Dim RetVal As Long, RetString As String, NullOffSet As Integer
Dim Keys As String, Counter As Integer
RetString = Space(2001) ' Initialize Return String
'RetVal = GetPrivateProfileString(Section, 0&, "", RetString, 2000&, File)
RetVal = GetPrivateProfileStringKeys(Section, 0&, "", RetString, 2000&, File)
Do
NullOffSet = InStr(RetString, Chr$(0))
If NullOffSet > 1 Then
Counter = Counter + 1 ' Increment Counter
If Counter = KeyNumber Then ' Key Found
GetIniKey = Mid$(RetString, 1, NullOffSet - 1)
Exit Do
End If
Keys = Keys & Chr$(10) & Mid$(RetString, 1, NullOffSet - 1)
RetString = Mid$(RetString, NullOffSet + 1)
End If
Loop While NullOffSet > 1
End Function
Public Sub GetIniSettings()
On Error Resume Next
sSymbol$ = GetIni(sINIsetFile, "DataInfo", "Symbol")
sFilePath$ = GetIni(sINIsetFile, "Settings", "LastFile")
sFileName$ = GetFileBaseExt(sFilePath$)
sDataDir$ = GetIni(sINIsetFile, "DLSettings", "DataDir")
iBackColor = Val(GetIni(sINIsetFile, "Settings", "BackColor"))
iForeColor = Val(GetIni(sINIsetFile, "Settings", "ForeColor"))
iGridColor = Val(GetIni(sINIsetFile, "Settings", "GridColor"))
iMouseLabelColor = Val(GetIni(sINIsetFile, "Settings", "MouseLabelColor"))
iTicBodyColor = Val(GetIni(sINIsetFile, "Settings", "TicColor"))
iTicOpenColor = Val(GetIni(sINIsetFile, "Settings", "OpenColor"))
iTicCloseColor = Val(GetIni(sINIsetFile, "Settings", "CloseColor"))
iTicType = Val(GetIni(sINIsetFile, "Settings", "TicType"))
iTicCandleUpColor = Val(GetIni(sINIsetFile, "Settings", "TicCandleUpColor"))
iTicCandleDnColor = Val(GetIni(sINIsetFile, "Settings", "TicCandleDnColor"))
iVolColor = Val(GetIni(sINIsetFile, "Settings", "VolColor"))
sFontName = GetIni(sINIsetFile, "Settings", "FontName")
iFontSize = Val(GetIni(sINIsetFile, "Settings", "FontSize"))
iFontBold = Val(GetIni(sINIsetFile, "Settings", "FontBold"))
iFontItalic = Val(GetIni(sINIsetFile, "Settings", "FontItalic"))
iDateMarkerColor = Val(GetIni(sINIsetFile, "Settings", "DateMarkerColor"))
iCrossHairMode = Val(GetIni(sINIsetFile, "Settings", "CrossHairMode"))
iCrossHairColor = Val(GetIni(sINIsetFile, "Settings", "CrossHairColor"))
iBlankSpace = Val(GetIni(sINIsetFile, "Settings", "BlankSpace"))
iBarSpacing = Val(GetIni(sINIsetFile, "Settings", "BarSpacing"))
iScrollIncrement = Val(GetIni(sINIsetFile, "Settings", "ScrollIncrement"))
rSplit1 = Val(GetIni(sINIsetFile, "Settings", "WindowSplit1"))
rSplit2 = Val(GetIni(sINIsetFile, "Settings", "WindowSplit2"))
CurrentIndicator = GetIni(sINIsetFile, "Settings", "CurrentIndicator")
End Sub
Public Sub SaveIniSettings()
WriteIni sINIsetFile, "DataInfo", "Symbol", UCase$(sSymbol$)
WriteIni sINIsetFile, "Settings", "BackColor", CStr(iBackColor)
WriteIni sINIsetFile, "Settings", "ForeColor", CStr(iForeColor)
WriteIni sINIsetFile, "Settings", "GridColor", CStr(iGridColor)
WriteIni sINIsetFile, "Settings", "MouseLabelColor", CStr(iMouseLabelColor)
WriteIni sINIsetFile, "Settings", "TicColor", CStr(iTicBodyColor)
WriteIni sINIsetFile, "Settings", "OpenColor", CStr(iTicOpenColor)
WriteIni sINIsetFile, "Settings", "CloseColor", CStr(iTicCloseColor)
WriteIni sINIsetFile, "Settings", "TicType", CStr(iTicType)
WriteIni sINIsetFile, "Settings", "TicCandleUpColor", CStr(iTicCandleUpColor)
WriteIni sINIsetFile, "Settings", "TicCandleDnColor", CStr(iTicCandleDnColor)
WriteIni sINIsetFile, "Settings", "VolColor", CStr(iVolColor)
WriteIni sINIsetFile, "Settings", "FontName", sFontName
WriteIni sINIsetFile, "Settings", "FontSize", CStr(iFontSize)
WriteIni sINIsetFile, "Settings", "FontBold", CStr(iFontBold)
WriteIni sINIsetFile, "Settings", "FontItalic", CStr(iFontItalic)
WriteIni sINIsetFile, "Settings", "DateMarkerColor", CStr(iDateMarkerColor)
WriteIni sINIsetFile, "Settings", "CrossHairColor", CStr(iCrossHairColor)
WriteIni sINIsetFile, "Settings", "CrossHairMode", CStr(iCrossHairMode)
WriteIni sINIsetFile, "Settings", "BlankSpace", CStr(iBlankSpace)
WriteIni sINIsetFile, "Settings", "BarSpacing", CStr(iBarSpacing)
WriteIni sINIsetFile, "Settings", "ScrollIncrement", CStr(iScrollIncrement)
WriteIni sINIsetFile, "Settings", "WindowSplit1", CStr(rSplit1)
WriteIni sINIsetFile, "Settings", "WindowSplit2", CStr(rSplit2)
WriteIni sINIsetFile, "Settings", "CurrentIndicator", CurrentIndicator
End Sub
Public Sub MakeIniFile()
'use for reseting default values also
Open sINIsetFile$ For Output Access Write As #1
Print #1, "[DataInfo]"
Print #1, "Symbol="
Print #1, sEmpty
Print #1, "[Settings]"
Print #1, "LastFile="
Print #1, "BackColor=0"
Print #1, "ForeColor=16777215"
Print #1, "GridColor=10066329"
Print #1, "MouseLabelColor=65535"
Print #1, "TicColor=65408"
Print #1, "OpenColor=65280"
Print #1, "CloseColor=16777215"
Print #1, "TicType=3"
Print #1, "TicCandleUpColor=65280"
Print #1, "TicCandleDnColor=255"
Print #1, "VolColor=65280"
Print #1, "FontName=MS Sans Serif"
Print #1, "FontSize=10"
Print #1, "FontBold=-1"
Print #1, "FontItalic=0"
Print #1, "DateMarkerColor=255"
Print #1, "CrossHairMode=15"
Print #1, "CrossHairColor=16711680"
Print #1, "BlankSpace=10"
Print #1, "BarSpacing=3"
Print #1, "ScrollIncrement=10"
Print #1, "WindowSplit1=430"
Print #1, "WindowSplit2=480"
Print #1, "CurrentIndicator=MACD"
Print #1, sEmpty
Print #1, "[DLSettings]"
Print #1, "DataDir=\Data"
Print #1, "LastURL="
Print #1, "Source=0"
Print #1, sEmpty
Print #1, "[Indicators]"
Print #1, "1=CCI"
Print #1, "2=MACD"
Print #1, "3=ROC%"
Print #1, "4=RSI"
Print #1, "5=STOCH"
Print #1, sEmpty
Print #1, "[CciSettings]"
Print #1, "CciColor=15655586"
Print #1, "CciAvgColor=13436626"
Print #1, "CciLen=13"
Print #1, "CciAvgLen=3"
Print #1, "CciAvgAvgLen=5"
Print #1, "PlotWidth=1"
Print #1, "CciUpperTrig=200"
Print #1, "CciLowerTrig=-150"
Print #1, sEmpty
Print #1, "[MACDSettings]"
Print #1, "MACDColor1=255"
Print #1, "MACDColor2=16711680"
Print #1, "MACDColor3=12100980"
Print #1, "PlotWidth=2"
Print #1, "MACDLen1=13"
Print #1, "MACDLen2=34"
Print #1, "MACDLen3=9"
Print #1, sEmpty
Print #1, "[ROC%Settings]"
Print #1, "ROC%Color=255"
Print #1, "PlotWidth=1"
Print #1, "ROC%Len=12"
Print #1, "ROC%UpperTrig=6.5"
Print #1, "ROC%LowerTrig=-6.5"
Print #1, sEmpty
Print #1, "[RsiSettings]"
Print #1, "RsiColor=255"
Print #1, "PlotWidth=1"
Print #1, "RsiLen=14"
Print #1, "RsiUpperTrig=70"
Print #1, "RsiLowerTrig=30"
Print #1, sEmpty
Print #1, "[StochSettings]"
Print #1, "StochKColor=255"
Print #1, "StochKSlowColor=16711680"
Print #1, "StochDColor=12100980"
Print #1, "PlotWidth=1"
Print #1, "KPeriod=14"
Print #1, "KPeriodSlow=4"
Print #1, "DPeriod=3"
Print #1, "StochUpperTrig=70"
Print #1, "StochLowerTrig=30"
Print #1, "StochSlow=true"
Print #1, sEmpty
Print #1, "[AvgSettings]"
Print #1, "AvgLen1=21"
Print #1, "AvgColor1=255"
Print #1, "AvgWidth1=1"
Print #1, "AvgLen2=50"
Print #1, "AvgColor2=16711680"
Print #1, "AvgWidth2=1"
Print #1, "AvgLen3=200"
Print #1, "AvgColor3=65535"
Print #1, "AvgWidth3=1"
Print #1, sEmpty
Close #1
End Sub
Public Function GetColorDlg(iPrevColor As Long) As Long
Dim f As Boolean, iColor As Long
iColor = iPrevColor
CenterDlgBox 0
f = VBChooseColor(Color:=iColor, _
FullOpen:=True, _
owner:=0)
If f Then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -