Проблема с INI

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
serix
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 177
Зарегистрирован: 09.11.2002 (Сб) 17:54
Откуда: Russia

Проблема с INI

Сообщение serix » 12.07.2003 (Сб) 14:45

Есть модуль для чтения\записи ini
Вот он:
Код: Выделить всё
Option Explicit

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

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

'Прочитать ini
Function ReadINIKey(FileName As String, Section As String, KeyName As String) As String
    Dim RetVal As String
    RetVal = String(255, Chr(0))
    ReadINIKey = Left$(RetVal, GetPrivateProfileString(Section, KeyName, "", RetVal, Len(RetVal), FileName))
End Function

'записать ini
Function WriteInIKey(FileName As String, Section As String, KeyName As String, KeyValue As String)
    WritePrivateProfileString Section, KeyName, KeyValue, FileName
End Function


При чтении ini VB пишет
Type-declaration character does nod match declarated data type
и показывает на
ReadINIKey = Left$(RetVal, GetPrivateProfileString(Section, KeyName, "", RetVal, Len(RetVal), FileName))

Если убрать значок $ после left то пишет
Compile error: Expected array
И выделяет тоже самое :?
Вообще код рабочий, но уменя почему-то не работает, почему :cry:
Кто-нибудь объясните please такой феномен...
ZU

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 12.07.2003 (Сб) 23:16

Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com

serix
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 177
Зарегистрирован: 09.11.2002 (Сб) 17:54
Откуда: Russia

Сообщение serix » 13.07.2003 (Вс) 18:47

Во-первых не надо ругаться.
Во-вторых указанный топик не имеет к моему вопросу отношения.
В-третьих я понял из-за чего(хотя так и не знаю почему?) модуль с ini не работал: к проекту был подключен RussianProjectButtons(клевые кнопочки, хотя это уже реклама), так вот если их убрать из проекта все работает!!! :D
ZU

Strayd
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 14.07.2003 (Пн) 4:22

Сообщение Strayd » 14.07.2003 (Пн) 7:04

Для того чтобы сделать ini СОВСЕМ НЕ НУЖЕН API
просто нужно оформить базу данных в виде файла
все тотже Open File.base As #1

serix
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 177
Зарегистрирован: 09.11.2002 (Сб) 17:54
Откуда: Russia

Сообщение serix » 14.07.2003 (Пн) 11:44

Не знаю как там с базой данных, я вроде с ошибкой уже разобрался.
Все работает, к тому же, зачем изобретать велосипед если для ini есть api-функции и легче чем с ними ничего не сделать...
ZU


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot], Yandex-бот и гости: 26

    TopList