Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Нужен специалист по ini файлам и TreeView Добавлено: 27.04.05 11:44  

Автор вопроса:  Mag | ICQ: 289414238 
Проверьте код. Который сохраняет правильно а открывает криво.

***************************************************
Public apl As String

Private Sub Command1_Click()
    Dim l As Integer
    Dim key As String
    Text = InputBox(" ")
    If Text = "" Then Exit Sub
    key = Text
    
    On Error Resume Next
    l = Int(Text)
    If l <> Int(key) Then
        On Error GoTo er1:
        TreeView1.Nodes.Add apl, 4, key, Text
    End If
    On Error Resume Next
    TreeView1.SelectedItem.Expanded = True
    TreeView1.SelectedItem.key = apl
    Exit Sub
    
er1: key = key & "k"
    Resume 0
End Sub

Private Sub Command2_Click()
    Dim masi As String
    IniNewSekPrivate "Предмет", App.Path & "\Private.ini"
    For i = 2 To TreeView1.Nodes.Count
        
        'создать секции и ключи с значениями
            a = TreeView1.Nodes.Item(i).Parent.key
            masi = masi & TreeView1.Nodes.Item(i) & "=" & a & "|"
    Next
    masi = masi
        lTemp = IniWriteMassPrivate("Предмет", masi & ";;", App.Path & "\Private.ini")

End Sub

Private Sub Form_Load()
    TreeView1.Nodes.Add , 0, "Предмет", "Предмет"
    
    Dim Str1 As String
    Str1 = IniMassKeyPrivate("Предмет", App.Path & "\Private.ini")
    Dim Nim As Integer
    Dim s1 As String
    Do
        Nim = InStr(Str1, ";")
            If Nim > 1 Then
                s1 = Mid$(Str1, 1, Nim - 1)
                key = s1
                t1 = IniStringPrivate("Предмет", s1, App.Path & "\Private.ini")
                On Error GoTo er:
                TreeView1.Nodes.Add t1, 4, key, s1
                Str1 = Mid$(Str1, Nim + 1)
            End If
    Loop While Nim > 1
    Exit Sub
er: key = key & "k"
    Resume 0
End Sub

Private Sub TreeView1_Click()
    On Error GoTo er:
    apl = TreeView1.SelectedItem.key
    Exit Sub
er: apl = 0
End Sub


Нужно сделать открытие правильное.
Форма содержит Treeview1, Command1 Command3
Открытие происходит при загрузке формы.

Ответить

  Ответы Всего ответов: 16  

Номер ответа: 1
Автор ответа:
 Mag



ICQ: 289414238 

Вопросов: 30
Ответов: 27
 Профиль | | #1 Добавлено: 27.04.05 11:45
Забыл модуль добавить

Option Explicit

'Читает целый параметр из файла Win.INI
Public Declare Function GetProfileInt Lib "kernel32" Alias "GetProfileIntA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal nDefault As Long) As Long
'Читает секцию из файла Win.INI
Public Declare Function GetProfileSection Lib "kernel32" Alias "GetProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
'Читает строку из файла Win.INI
Public Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
'Читает целый параметр из любого файла .INI
Public Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long
'Читает секцию из любого файла .INI
Public Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
'Читает строку из любого файла .INI
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
'Записывает секцию в любой файл .INI
Public Declare Function WritePrivateProfileSection Lib "kernel32" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
'Записывает строку в любой файл .INI
Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As Any, ByVal lpFileName As String) As Long
'Записывает секцию в файл Win.INI
Public Declare Function WriteProfileSection Lib "kernel32" Alias "WriteProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String) As Long
'Записывает строку в файл Win.INI
Public Declare Function WriteProfileString Lib "kernel32" Alias "WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As Long
'При изменении значений в файле Win.ini рассылает сообщение об изменении всем приложениям
Public Declare Function PostMessageByString Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Public Const WM_WININICHANGE = &H1A
Public Const HWND_BROADCAST = &HFFFF&


'+++++++++++++++++++++++++++++++++++++++++++++++++
'Работа с любыми (приватными) файлами .ini
'=================================================

Public Function IniLongPrivate(SekName As String, KeyName As String, IniFileName As String) As Long
'Читает целый параметр из любого файла .INI
'-------------------------------------------------
'SekName - имя секции (регистр не учитывается)
'KeyName - имя ключа (регистр не учитывается)
'9999 - возвращаемое функцией значение, если ключ не найден
'IniFileName - имя файла .ini (если путь к файлу не указан,файл ищется в папке Windows)
IniLongPrivate = GetPrivateProfileInt(SekName, KeyName, 9999, IniFileName)
End Function

Public Function IniStringPrivate(SekName As String, KeyName As String, IniFileName As String) As String
'Читает строковый параметр из любого файла .INI
'-------------------------------------------------
'SekName - имя секции (регистр не учитывается)
'KeyName - имя ключа (регистр не учитывается)
'"Нет ключа" - возвращаемое функцией значение, если ключ не найден
'IniFileName - имя файла .ini (если путь к файлу не указан,файл ищется в папке Windows)

Dim sTemp As String * 256 'строковый буфер(под значение ключа)
Dim nTemp As Integer 'в неё запишется количество символов в строке ключа

nTemp = GetPrivateProfileString(SekName, KeyName, "Нет ключа", sTemp, 255, IniFileName)
IniStringPrivate = Left$(sTemp, nTemp)
'ограничение - параметр не может быть больше 255 символов
End Function

Public Function IniMassivPrivate(SekName As String, IniFileName As String) As String
'Читает все имена и значения ключей в
' заданной секции, из любого файла .INI
'-------------------------------------------------
'SekName - имя секции (регистр не учитывается)
'IniFileName - имя файла .ini (если путь к файлу не указан,файл ищется в папке Windows)
'+++++++++++++++++++++++++++++++++++++++++++++++++
'Функция заполняется подстроками с ключами и их значениями,
'подстроки разделяются нуль-символами, два нуль-символа
'подряд завершают строку.
Dim sTemp As String * 256 'строковый буфер(для подстрок){в Win95 мах 32767}
Dim nTemp As Integer 'в неё запишется количество символов записаных в буфер

nTemp = GetPrivateProfileSection(SekName, sTemp, 255, IniFileName)

'обрезаем буфер слева на количество считанных символов
'и заменяем {нуль-символы} на {;}(чтобы использовать как простую строку)
IniMassivPrivate = Replace(Left$(sTemp, nTemp), Chr$(0), ";";)

End Function

Public Function IniMassSecionPrivate(IniFileName As String) As String
'Читает все имена секций из любого файла .INI
'-------------------------------------------------
'IniFileName - имя файла .ini (если путь к файлу не указан,файл ищется в папке Windows)
'+++++++++++++++++++++++++++++++++++++++++++++++++
'Функция заполняется подстроками с именами секций,
'подстроки разделяются нуль-символами, два нуль-символа
'подряд завершают строку.
Dim sTemp As String * 256 'строковый буфер(для подстрок){в Win95 мах 32767}
Dim nTemp As Integer 'в неё запишется количество символов записаных в буфер

nTemp = GetPrivateProfileString(vbNullString, "", "", sTemp, 255, IniFileName)

'обрезаем буфер слева на количество считанных символов
'и заменяем {нуль-символы} на {;}(чтобы использовать как простую строку)
IniMassSecionPrivate = Replace(Left$(sTemp, nTemp), Chr$(0), ";";)

End Function

Public Function IniMassKeyPrivate(SekName As String, IniFileName As String) As String
'Читает все имена всех ключей из любого файла .INI
'-------------------------------------------------
'IniFileName - имя файла .ini (если путь к файлу не указан,файл ищется в папке Windows)
'SekName - имя секции (регистр не учитывается)
'+++++++++++++++++++++++++++++++++++++++++++++++++
'Функция заполняется подстроками с именами ключей,
'подстроки разделяются нуль-символами, два нуль-символа
'подряд завершают строку.
Dim sTemp As String * 256 'строковый буфер(для подстрок){в Win95 мах 32767}
Dim nTemp As Integer 'в неё запишется количество символов записаных в буфер

nTemp = GetPrivateProfileString(SekName, vbNullString, "", sTemp, 255, IniFileName)

'обрезаем буфер слева на количество считанных символов
'и заменяем {нуль-символы} на {;}(чтобы использовать как простую строку)
IniMassKeyPrivate = Replace(Left$(sTemp, nTemp), Chr$(0), ";";)

End Function

Public Function IniWriteStrPrivate(SekName As String, KeyName As String, Param As String, IniFileName As String) As Long
'Записывает строковый параметр в любой файл .INI
'-------------------------------------------------
'SekName - имя секции (регистр не учитывается)
'KeyName - имя ключа (регистр не учитывается)
'Param - значение,записываемое в ключ (не пустая строка)
'IniFileName - имя файла .ini (если путь к файлу не указан,файл ищется в папке Windows)

Dim nTemp As Long
'Чтобы не удалить ключ, проверяем не пустой ли Param
If Param <> "" Then
    nTemp = WritePrivateProfileString(SekName, KeyName, Param, IniFileName)
    IniWriteStrPrivate = 1
Else
    IniWriteStrPrivate = 0
End If
End Function

Public Function IniWriteMassPrivate(SekName As String, Mass As String, IniFileName As String) As Long
'Записывает имена и значения ключей в секцию приватного файла .INI
'старые ключи уничтожаются и перезаписываются
'-------------------------------------------------
'SekName - имя секции (регистр не учитывается)
'Mass - строка с ключами и параметрами (не пустая строка)
'IniFileName - имя приватного файла .ini

Dim nTemp As Long
Dim nError As Long
'проверяем на наличие ошибок (пример)
If Mass = "" Then
    nError = 1 'ошибка-пустая строка (будут удалены все ключи)
Else
    If Right$(Mass, 2) <> ";;" Then
        nError = 2 'ошибка-строка не заканчивается двумя (;;)
    End If
End If
If Dir$(IniFileName, vbNormal) = "" Then nError = 3 'ошибка-не найден указанный файл .ini
If SekName = "" Then nError = 4 'ошибка-пустое имя ключа
If nError = 0 Then
Mass = Replace(Mass, "|", Chr$(0))
    nTemp = WritePrivateProfileSection(SekName, Mass, IniFileName)
    IniWriteMassPrivate = nError
Else
IniWriteMassPrivate = nError
End If

End Function

Public Function IniDelKeyPrivate(SekName As String, KeyName As String, IniFileName As String)
'Удаляет ключ в заданной секции в приватном файле .INI
'-------------------------------------------------
'SekName - имя секции (регистр не учитывается)
'KeyName - имя ключа (регистр не учитывается)
'IniFileName - имя файла .ini (если путь к файлу не указан,файл ищется в папке Windows)

Dim nTemp As Long
nTemp = WritePrivateProfileString(SekName, KeyName, vbNullString, IniFileName)

End Function

Public Function IniDelAllKeyPrivate(SekName As String, IniFileName As String)
'Удаляет все ключи в заданной секции в приватном файле .INI
'заодно удаляет и саму секцию!
'-------------------------------------------------
'SekName - имя секции (регистр не учитывается)
'IniFileName - имя файла .ini (если путь к файлу не указан,файл ищется в папке Windows)

Dim nTemp As Long
nTemp = WritePrivateProfileString(SekName, vbNullString, vbNullString, IniFileName)

End Function
Public Function IniNewSekPrivate(SekName As String, IniFileName As String)
'Создаёт новую секцию (пустую) в приватном файле .INI
'если секция существует - "ничего не происходит"
'-------------------------------------------------
'SekName - имя секции (регистр не учитывается)
'IniFileName - имя файла .ini (если путь к файлу не указан,файл ищется в папке Windows)

Dim nTemp As Long
    
    nTemp = WritePrivateProfileString(SekName, "xxxx", "xxxx", IniFileName)
    nTemp = WritePrivateProfileString(SekName, "xxxx", vbNullString, IniFileName)

End Function

'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
'| Работа с файлом Win.ini |
'+++++++++++++++++++++++++++++++++++++++++++++++++++++
'| Используйте данные функции при работе с Win.in они|
'| работают быстрее. |
'|+++++++++++++++++++++++++++++++++++++++++++++++++++|
'| будте осторожны при изменении файла Win.in и не |
'| забывайте посылать сообщение WM_WININICHANGE если |
'| вы изменили данные других приложений. |
'////////////////////////////////////////////////////

Public Function WinIniMessage(SekName As String)
'Посылает сообщение об изменении файла Win.ini всем открытым приложениям
'SekName - имя секции (регистр не учитывается)
Dim nTemp As Long
nTemp = PostMessageByString(HWND_BROADCAST, WM_WININICHANGE, 0, SekName)
End Function

Public Function WinIniNewSeksion(SekName As String)
'Создаёт новую (пустую) секцию в Win.in
'если секция существует "ничего не происходит"
'-------------------------------------------------
'SekName - имя секции (регистр не учитывается)
Dim nTemp As Long
    
nTemp = WriteProfileString(SekName, "xxxxx", "xxxxx";)
nTemp = WriteProfileString(SekName, "xxxxx", vbNullString)

End Function

Public Function WinIniDelSeksion(SekName As String)
'Удаляет секцию вместе с ключами.
'-------------------------------------------------
'SekName - имя секции (регистр не учитывается)
Dim nTemp As Long
    
nTemp = WriteProfileString(SekName, vbNullString, vbNullString)

End Function

Public Function WinIniDelKey(SekName As String, KeyName As String)
'Удаляет ключ из заданной секции.
'-------------------------------------------------
'SekName - имя секции (регистр не учитывается)
'KeyName - имя ключа (регистр не учитывается)
Dim nTemp As Long
    
nTemp = WriteProfileString(SekName, KeyName, vbNullString)

End Function

Public Function WinIniWriteKeyString(SekName As String, KeyName As String, Param As String)
'Записывает (перезаписывает или создаёт) новое значение ключя в заданной секции.
'-------------------------------------------------
'SekName - имя секции (регистр не учитывается)
'KeyName - имя ключа (регистр не учитывается)
'Param - новое значение ключа
Dim nTemp As Long
    
nTemp = WriteProfileString(SekName, KeyName, Param)

End Function

Public Function WinIniWriteMassString(SekName As String, Mass As String)
'Записывает имена и значения ключей в секцию Win.ini
'старые ключи уничтожаются и перезаписываются
'если секции не существует она создаётся в конце файла
'-------------------------------------------------
'SekName - имя секции (регистр не учитывается)
'Mass - строка с ключами и параметрами (не пустая строка)

Dim nTemp As Long
Dim nError As Long
'проверяем на наличие ошибок (пример)
If Mass = "" Then
    nError = 1 'ошибка-пустая строка (будут удалены все ключи)
Else
    If Right$(Mass, 2) <> ";;" Then
        nError = 2 'ошибка-строка не заканчивается двумя (;;)
    End If
End If
If SekName = "" Then nError = 4 'ошибка-пустое имя секции
If nError = 0 Then
Mass = Replace(Mass, ";", Chr$(0))
    nTemp = WriteProfileSection(SekName, Mass)
End If
End Function

Public Function WinIniLong(SekName As String, KeyName As String) As Long
'Читает целый параметр из любого файла .INI
'-------------------------------------------------
'SekName - имя секции (регистр не учитывается)
'KeyName - имя ключа (регистр не учитывается)
'9999 - возвращаемое функцией значение, если ключ не найден
WinIniLong = GetProfileInt(SekName, KeyName, 9999)
End Function
Public Function WinIniString(SekName As String, KeyName As String) As String
'Читает строковый параметр из Win.ini
'-------------------------------------------------
'SekName - имя секции (регистр не учитывается)
'KeyName - имя ключа (регистр не учитывается)
'"Нет ключа" - возвращаемое функцией значение, если ключ не найден

Dim sTemp As String * 256 'строковый буфер(под значение ключа)
Dim nTemp As Integer 'в неё запишется количество символов в строке ключа

nTemp = GetProfileString(SekName, KeyName, "Нет ключа", sTemp, 255)
WinIniString = Left$(sTemp, nTemp)
'ограничение - параметр не может быть больше 255 символов
End Function

Public Function WinIniMassiv(SekName As String) As String
'Читает все имена и значения ключей в
' заданной секции, из файла Win.ini
'-------------------------------------------------
'SekName - имя секции (регистр не учитывается)
'+++++++++++++++++++++++++++++++++++++++++++++++++
'Функция заполняется подстроками с ключами и их значениями,
'подстроки разделяются нуль-символами, два нуль-символа
'подряд завершают строку.
Dim sTemp As String * 256 'строковый буфер(для подстрок){в Win95 мах 32767}
Dim nTemp As Integer 'в неё запишется количество символов записаных в буфер

nTemp = GetProfileSection(SekName, sTemp, 255)

'обрезаем буфер слева на количество считанных символов
'и заменяем {нуль-символы} на {;}(чтобы использовать как простую строку)
WinIniMassiv = Replace(Left$(sTemp, nTemp), Chr$(0), ";";)
End Function

Public Function WinIniMassSecion() As String
'Читает все имена секций из файла Win.ini
'+++++++++++++++++++++++++++++++++++++++++++++++++
'Функция заполняется подстроками с именами секций,
'подстроки разделяются нуль-символами, два нуль-символа
'подряд завершают строку.
Dim sTemp As String * 512 'строковый буфер(для подстрок){в Win95 мах 32767}
Dim nTemp As Integer 'в неё запишется количество символов записаных в буфер

nTemp = GetProfileString(vbNullString, "", "", sTemp, 511)

'обрезаем буфер слева на количество считанных символов
'и заменяем {нуль-символы} на {;}(чтобы использовать как простую строку)
WinIniMassSecion = Replace(Left$(sTemp, nTemp), Chr$(0), ";";)
End Function

Public Function WinIniMassKey(SekName As String) As String
'Читает все имена ключей в заданной секции в файле Win.ini
'+++++++++++++++++++++++++++++++++++++++++++++++++
'SekName - имя секции (регистр не учитывается)
'Функция заполняется подстроками с именами секций,
'подстроки разделяются нуль-символами, два нуль-символа
'подряд завершают строку.
Dim sTemp As String * 512 'строковый буфер(для подстрок){в Win95 мах 32767}
Dim nTemp As Integer 'в неё запишется количество символов записаных в буфер

nTemp = GetProfileString(SekName, vbNullString, "", sTemp, 511)

'обрезаем буфер слева на количество считанных символов
'и заменяем {нуль-символы} на {;}(чтобы использовать как простую строку)
WinIniMassKey = Replace(Left$(sTemp, nTemp), Chr$(0), ";";)
End Function

Ответить

Номер ответа: 2
Автор ответа:
 Sur



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #2
Добавлено: 27.04.05 13:11
1. Option Explicit в форме
2. TreeView1.Nodes.Add "Предмет", 4, key, s1
3. Не увлекайся On Error

PS с TreeView первый копаюсь...

Ответить

Номер ответа: 3
Автор ответа:
 Mag



ICQ: 289414238 

Вопросов: 30
Ответов: 27
 Профиль | | #3 Добавлено: 27.04.05 13:22
Дерево может состоять из нескольких веток.
А не только "Предмет".

Ответить

Номер ответа: 4
Автор ответа:
 Sur



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #4
Добавлено: 27.04.05 13:32
Я догадывался о чем-то подобном... :)
У тебя же есть IniMassSecionPrivate. Делай еще цикл по количеству имен секций.

Ответить

Номер ответа: 5
Автор ответа:
 Mag



ICQ: 289414238 

Вопросов: 30
Ответов: 27
 Профиль | | #5 Добавлено: 27.04.05 13:34
а как это? можешь пример скинуть или хотябы подробнее рассказать.

Ответить

Номер ответа: 6
Автор ответа:
 Sur



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #6
Добавлено: 27.04.05 14:06

Private Sub Form_Load()
    Dim Str0 As String
    Dim Str1 As String
    Dim Nim As Integer
    Dim Sim As Integer 'имя секции
    Dim s1 As String, s0 As String
    Dim key As String
    Dim t1 As String
    Dim iniFN As String
iniFN = App.Path & "\Private.ini"
Str0 = IniMassSecionPrivate(iniFN)

Do 'по секциям
 Sim = InStr(Str0, ";";)
 If Sim > 1 Then
    s0 = Mid$(Str0, 1, Sim - 1)
    TreeView1.Nodes.Add , 0, s0, s0
    Str1 = IniMassKeyPrivate(s0, iniFN)
 
    Do 'по ключам
        Nim = InStr(Str1, ";";)
            If Nim > 1 Then
                s1 = Mid$(Str1, 1, Nim - 1)
                key = s1
                t1 = IniStringPrivate(s0, s1, iniFN)
                TreeView1.Nodes.Add s0, 4, key, s1
                Str1 = Mid$(Str1, Nim + 1)
            End If
    Loop While Nim > 1 'по ключам
    
 Str0 = Mid$(Str0, Sim + 1)
 End If
Loop While Sim > 1 'по секциям
End Sub

Ответить

Номер ответа: 7
Автор ответа:
 Mag



ICQ: 289414238 

Вопросов: 30
Ответов: 27
 Профиль | | #7 Добавлено: 27.04.05 14:09
Спасибо сейчас проверим.

Ответить

Номер ответа: 8
Автор ответа:
 Mag



ICQ: 289414238 

Вопросов: 30
Ответов: 27
 Профиль | | #8 Добавлено: 27.04.05 14:23
Нет код неверный :(

Если имеется два динаковых поля он записывает его в один - самый первый. У меня такая же лажа получается.

Ответить

Номер ответа: 9
Автор ответа:
 Sur



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #9
Добавлено: 27.04.05 14:29
Ну на то они и одинаковые, и где тут лажа? У тебя что, в инишнике одинаковые имена секций? Где ты берешь данные для TreeView?

Ответить

Номер ответа: 10
Автор ответа:
 Mag



ICQ: 289414238 

Вопросов: 30
Ответов: 27
 Профиль | | #10 Добавлено: 27.04.05 14:36
создаю :
1)1 раздел
2)2 раздел
3)в 1 разделе создаю раздел с именем 2-го
4)сохраняю
5)перезапускаю
6)вот здесь о и лажа

Ответить

Номер ответа: 11
Автор ответа:
 Mag



ICQ: 289414238 

Вопросов: 30
Ответов: 27
 Профиль | | #11 Добавлено: 27.04.05 14:43
Я делаю электронный учебник.
и решил сохранять информацию не в БД, а в ini

Разделы там могут быть одинаковые. Например "Введение" в каждой теме. сохраняю я их меняя значение "key"
принажатии на кнопку Command2

Ответить

Номер ответа: 12
Автор ответа:
 Sur



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #12
Добавлено: 27.04.05 15:13
Дай тестовый пример ini файла, который у тебя не лезет в тривью плиз.

Ответить

Номер ответа: 13
Автор ответа:
 Mag



ICQ: 289414238 

Вопросов: 30
Ответов: 27
 Профиль | | #13 Добавлено: 27.04.05 16:45
[Предмет]
АСУ=Предмет
Введение=АСУ
ПОКС=Предмет
Введение=ПОКС
;;

Ответить

Номер ответа: 14
Автор ответа:
 Sur



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #14
Добавлено: 27.04.05 17:23
А в тривью как надо?
Предмет
   |
   |-АСУ
   |-Введение
   |-ПОКС
   |-Введение

или

Предмет
   |
   |-АСУ
   | |-Введение
   |-ПОКС
      |-Введение

Ответить

Номер ответа: 15
Автор ответа:
 Mag



ICQ: 289414238 

Вопросов: 30
Ответов: 27
 Профиль | | #15 Добавлено: 27.04.05 17:40
2 вариант

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам