Рекомендуемый способ читать и записать .ini файлы в VBA

Пожалуйста, попробуйте это,
Я не знаю, почему вы использовали результат в возвращении модели, но я изменил две строки
Модель:

public function GetCusOrderItemID($id = NULL){
      $this->db->select('oi.id as oid');//changes
      $this->db->from('order_items oi');
      $this->db->join('order o', 'oi.order_id = o.id');
      $this->db->where('o.id');

      $query = $this->db->get();
      return $query->row('oid');//changes
    }
8
задан Andre 13 September 2018 в 12:57
поделиться

4 ответа

Вот некоторые фрагменты кода, которые мы используем, это должно помочь Вам получить идею. Эти стандартные программы используют вызовы API. Две функции включены в чтение / пишут строковую установку на определенный раздел в ini файле.

Private 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
Private 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 Function IniFileName() As String
  IniFileName = "c:\[yourpath here]\settings.ini"
End Function


Private Function ReadIniFileString(ByVal Sect As String, ByVal Keyname As String) As String
Dim Worked As Long
Dim RetStr As String * 128
Dim StrSize As Long

  iNoOfCharInIni = 0
  sIniString = ""
  If Sect = "" Or Keyname = "" Then
    MsgBox "Section Or Key To Read Not Specified !!!", vbExclamation, "INI"
  Else
    sProfileString = ""
    RetStr = Space(128)
    StrSize = Len(RetStr)
    Worked = GetPrivateProfileString(Sect, Keyname, "", RetStr, StrSize, IniFileName)
    If Worked Then
      iNoOfCharInIni = Worked
      sIniString = Left$(RetStr, Worked)
    End If
  End If
  ReadIniFileString = sIniString
End Function

Private Function WriteIniFileString(ByVal Sect As String, ByVal Keyname As String, ByVal Wstr As String) As String
Dim Worked As Long

  iNoOfCharInIni = 0
  sIniString = ""
  If Sect = "" Or Keyname = "" Then
    MsgBox "Section Or Key To Write Not Specified !!!", vbExclamation, "INI"
  Else
    Worked = WritePrivateProfileString(Sect, Keyname, Wstr, IniFileName)
    If Worked Then
      iNoOfCharInIni = Worked
      sIniString = Wstr
    End If
    WriteIniFileString = sIniString
  End If
End Function
9
ответ дан 5 December 2019 в 11:27
поделиться

Это не приятно, но можно использовать Windows API. Вот ссылка и другой от MS.

4
ответ дан 5 December 2019 в 11:27
поделиться

kpini Karl Peterson имеет примерно все, в чем Вы, вероятно, будете нуждаться: объявления API, класс Cinifile, наполняют как этот. Я запустил бы с этого и превратил бы его для дегустации, который не должен занимать много времени.

1
ответ дан 5 December 2019 в 11:27
поделиться

Объект FileSystemObject с [TextStream] (http://msdn.microsoft.com/en-us/library/314cz14s (По сравнению с 85) .aspx) является обычно рекомендуемым методом для чтения и записи текстовых файлов в VBA.

1
ответ дан 5 December 2019 в 11:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: