lhadecode.cls

来自「awd bios文件的修改工具」· CLS 代码 · 共 73 行

CLS
73
字号
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "LHADecode"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
'AwardMod BIOS Manipulation Tool
'Copyright (C) 2001 Josef Hill
'
'This program is free software; you can redistribute it and/or
'modify it under the terms of the GNU General Public License
'as published by the Free Software Foundation; either version 2
'of the License, or any later version.
'
'This program is distributed in the hope that it will be useful,
'but WITHOUT ANY WARRANTY; without even the implied warranty of
'MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
'GNU General Public License for more details.
'
'You should have received a copy of the GNU General Public License
'along with this program; if not, write to the Free Software
'Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.


Option Explicit

Implements IWork
'Dim mLHA As New LHADec



Private mOS As String
Private mTt(0 To 1) As Double

Private Function IWork_GetOutput() As String
    IWork_GetOutput = mOS
End Function

Private Sub IWork_SetInput(iStr As String)
    mTt(0) = Timer
    
    lhaDecodeSetInput iStr, Len(iStr)
    
    mTt(1) = Timer
    Debug.Print "setInput " & mTt(1) - mTt(0)
End Sub

Private Sub IWork_Work()
Dim lS As String
Dim llS As Long
    mTt(0) = Timer
    
    'We KNOW that the function will attempt to return 8192 chars
lContinue:
    lhaDecodeWork
    lS = String(8192, Chr(0))
    llS = Len(lS)
    lhaDecodeGetOutput lS, llS
    mOS = mOS & VBA.Left(lS, llS)
    If llS = 8192 Then GoTo lContinue
    
    mTt(1) = Timer
    Debug.Print "work  " & mTt(1) - mTt(0)
End Sub

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?