PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Чтение INI из интернета


Чтение INI из интернета

Сообщений 1 страница 6 из 6

1

Здравствуйте, опять я со своими вопросами, не получается считать содержимое ini файла, который лежит на удаленном сервере. Что я пробовал:

Код:
Procedure.s OpenURL(Url.s, OpenType.b) 
  isLoop.b=1 
  INET_RELOAD.l=$80000000 
  hInet.l=0: hURL.l=0: Bytes.l=0 
  Buffer.s=Space(2048) 
  
  hInet = InternetOpen_("PB@INET", OpenType, #Null, #Null, 0) 
  hURL = InternetOpenUrl_(hInet, Url, #Null, 0, INET_RELOAD, 0) 
  
  Repeat 
    
    Delay(1) 
    InternetReadFile_(hURL, @Buffer, Len(Buffer), @Bytes) 
    If Bytes = 0 
      isLoop=0 
    Else 
      res.s = res + Left(Buffer, Bytes) 
    EndIf 
  Until isLoop=0 
  InternetCloseHandle_(hURL) 
  InternetCloseHandle_(hInet) 
  ProcedureReturn res 
EndProcedure 
 
Url$ = "http://mta-resource.ru/s.ini" 
Html$ =  OpenURL(Url$,0)

LoadPreferences:
OpenPreferences(Html$) 
PreferenceGroup("UserDataBase") 
User1 = ReadPreferenceLong("User1",0) 
Pass1 = ReadPreferenceLong("Pass1",0) 
ClosePreferences() 



MessageRequester("Сообщение",""+User1$)

Но не получется, в интернете ничего полезного найти не смог. Помогите пожалуйста. Меня интересует именно считывание файла из интернета, закачать на компьютер и считать я могу и сам. жду ответа, заранее спасибо.

Отредактировано Racer (27.07.2013 00:30:33)

0

2

Функция OpenPreferences() работает только с файлами.

0

3

Жаль

0

4

Пользуясь случаем хочу спросить, как правильно записать значение переменных в DLL что бы их значение не ровнялось 0 при вызове. Пробовал брать их в Global, а также записывать в другую процедуру так и не получилось, нужно чтобы переменная a сохранила значение 10, помогите пожалуйста.

.exe

Код:
If OpenLibrary(0, "PureBasic.dll")
CallFunction(0, "Change")
MessageRequester("Test", ""+a)
CloseLibrary(0)
EndIf

.dll

Код:
Global a.l
  
Procedure Change()

EndProcedure
  
  a = 10
  Change()

ProcedureDLL MyFunction()
EndProcedure

0

5

Код в DLL должен быть только в процедурах.
Переменные "a" в EXE и DLL это разные переменные.

0

6

Racer написал(а):

Код:

Global a.l
 
Procedure Change()

EndProcedure
 
  a = 10
  Change()

ProcedureDLL MyFunction()
EndProcedure

Что это было???
Процедура в PureBasic может возвращать значение. Если ты её вызываешь хоть из DLL, хоть просто при отладке, то  должно что вернутся.

Код:
ProcedureDLL Change()
a = 10
ProcedureReturn a
EndProcedure

Если надо вернуть строку, то так

Код:
 Global ReturnString$
  
  ProcedureDLL.s MyFunction(var.s)
    ReturnString$ = var + " test"
    ProcedureReturn ReturnString$
  EndProcedure

Как прочитать строку - см справку, и пример в ней - DLL example file

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Чтение INI из интернета