filefunctions.bas

来自「超级C&C有没有搞错,VB还能编出这种即时策略游戏来!没错,这就是我们的超级C&」· BAS 代码 · 共 64 行

BAS
64
字号
Attribute VB_Name = "FileFunctions"
Function GetPropertyValueFromFile(Filename$, ValuePropertyName$)
On Error GoTo NotFound
Open Filename$ For Input As #1
  Do
    Line Input #1, a$
    If a$ = "[ENDOFFILE]" Then Exit Do
    If MiscFunctions.GetPropertyName(a$) = ValuePropertyName$ Then
      GetPropertyValueFromFile = MiscFunctions.GetPropertyValue(a$)
      Exit Do
    End If
  Loop
Close #1
NotFound:
Exit Function
End Function
Sub OpenGameFile(Filename$, Filenumber)
If Dir(Filename$) = Filename$ Then
  Call OpenFile(Filename$, Filenumber)
ElseIf Dir(Directory_GameData & Filename$) = Filename$ Then
  Call OpenFile(Directory_GameData & Filename$, Filenumber)
Else
  'File is not found in the directory
  Call OpenFile(Directory_GameData & GameEngine.GameDataFile$, Filenumber)
  Call FindFileEntry(Filename$, Filenumber)
End If
End Sub
Private Sub OpenFile(Filename$, Filenumber)
Select Case Filenumber
Case 1
  Open Filename$ For Input As #1
Case 2
  Open Filename$ For Input As #2
Case 3
  Open Filename$ For Input As #3
Case 4
  Open Filename$ For Input As #4
End Select
End Sub
Private Sub FindFileEntry(Filename$, Filenumber)
Do
  
  a$ = GetLineFromFile(Filenumber)
  If a$ = "[FILE]" Then
    a$ = GetLineFromFile(Filenumber)
    If MiscFunctions.GetPropertyValue(a$) = UCase$(Filename$) Then
      Exit Do
    End If
  End If
Loop
End Sub
Public Function GetLineFromFile(Filenumber)
Select Case Filenumber
Case 1
  Line Input #1, GetLineFromFile
Case 2
  Line Input #2, GetLineFromFile
Case 3
  Line Input #3, GetLineFromFile
Case 4
  Line Input #4, GetLineFromFile
End Select
End Function

⌨️ 快捷键说明

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