Advertisement
qiangqiang101

Untitled

Nov 2nd, 2017
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 KB | None | 0 0
  1. Option Strict Off
  2. Option Explicit On
  3. Module INIwrite
  4.  
  5. Public Function WriteIniValue(ByRef INIpath As String, ByRef PutKey As String, ByRef PutVariable As String, ByRef PutValue As String) As Object
  6. Dim Temp As String
  7. Dim LcaseTemp As String
  8. Dim ReadKey As String
  9. Dim ReadVariable As String
  10. Dim LOKEY As Short
  11. Dim HIKEY As Short
  12. Dim KEYLEN As Short
  13. Dim VAR As Short
  14. Dim VARENDOFLINE As Short
  15. Dim NF As Short
  16. Dim X As Short
  17.  
  18. AssignVariables:
  19. NF = FreeFile
  20. ReadKey = vbCrLf & "[" & LCase(PutKey) & "]" & Chr(13)
  21. KEYLEN = Len(ReadKey)
  22. ReadVariable = Chr(10) & LCase(PutVariable) & "="
  23.  
  24. EnsureFileExists:
  25. FileOpen(NF, INIpath, OpenMode.Binary)
  26. FileClose(NF)
  27. SetAttr(INIpath, FileAttribute.Archive)
  28.  
  29. LoadFile:
  30. FileOpen(NF, INIpath, OpenMode.Input)
  31. Temp = InputString(NF, LOF(NF))
  32. Temp = vbCrLf & Temp & "[]"
  33. FileClose(NF)
  34. LcaseTemp = LCase(Temp)
  35.  
  36. LogicMenu:
  37. LOKEY = InStr(LcaseTemp, ReadKey)
  38. If LOKEY = 0 Then GoTo AddKey
  39. HIKEY = InStr(LOKEY + KEYLEN, LcaseTemp, "[")
  40. VAR = InStr(LOKEY, LcaseTemp, ReadVariable)
  41. If VAR > HIKEY Or VAR < LOKEY Then GoTo AddVariable
  42. GoTo RenewVariable
  43.  
  44. AddKey:
  45. Temp = Left(Temp, Len(Temp) - 2)
  46. Temp = Temp & vbCrLf & vbCrLf & "[" & PutKey & "]" & vbCrLf & PutVariable & "=" & PutValue
  47. GoTo TrimFinalString
  48.  
  49. AddVariable:
  50. Temp = Left(Temp, Len(Temp) - 2)
  51. Temp = Left(Temp, LOKEY + KEYLEN) & PutVariable & "=" & PutValue & vbCrLf & Mid(Temp, LOKEY + KEYLEN + 1)
  52. GoTo TrimFinalString
  53.  
  54. RenewVariable:
  55. Temp = Left(Temp, Len(Temp) - 2)
  56. VARENDOFLINE = InStr(VAR, Temp, Chr(13))
  57. Temp = Left(Temp, VAR) & PutVariable & "=" & PutValue & Mid(Temp, VARENDOFLINE)
  58. GoTo TrimFinalString
  59.  
  60. TrimFinalString:
  61. Temp = Mid(Temp, 2)
  62. Do Until InStr(Temp, vbCrLf & vbCrLf & vbCrLf) = 0
  63. Temp = Replace(Temp, vbCrLf & vbCrLf & vbCrLf, vbCrLf & vbCrLf)
  64. Loop
  65.  
  66. Do Until Right(Temp, 1) > Chr(13)
  67. Temp = Left(Temp, Len(Temp) - 1)
  68. Loop
  69.  
  70. Do Until Left(Temp, 1) > Chr(13)
  71. Temp = Mid(Temp, 2)
  72. Loop
  73.  
  74. OutputAmendedINIFile:
  75. FileOpen(NF, INIpath, OpenMode.Output)
  76. PrintLine(NF, Temp)
  77. FileClose(NF)
  78.  
  79. End Function
  80. End Module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement