Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

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

 

  Вопрос: Help плиз помогите! Добавлено: 12.03.06 13:50  

Автор вопроса:  Dwarf
Вот у меня есть в игре такие веши как количество побед скоко денег порожений имя игрока имя его робота! Аснастка робота!

Так вот вопрос как осушествить регистрацию новых играков
И сохранения их статистик паролей Имён и всего выше перчисленого в фаил с его именем для каждого пользователя свой! А потом и его загрузку в игру!

Прошу помогите!

Ответить

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

Номер ответа: 1
Автор ответа:
 Billi Gates



ICQ: 242-026-281 

Вопросов: 25
Ответов: 57
 Профиль | | #1 Добавлено: 12.03.06 15:19
можно в ини(*.ini)(с ини на сайте есть примеры, пошщи, с ини на много удобнее сам так делал! :)) всё запихнуть или в текстовый файл. Это всё пр нажатии сохранение. А вот тебе код из учебника Падре
Запись в *.ini файл.
Как всегда сделаем программу, на форму кинь текст. поле, кнопку(Caption = "Запись";), вот код:


' Объявляем API
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 Sub Command1_Click()
Dim Left As String, Top As String, Text As String
' Устанавливаем значение переменных
Left = Form1.Left
Top = Form1.Top
Text = Text1.Text

WritePrivateProfileString "Setup", "Left", Left, App.Path & "/set.ini" ' Записываем в раздел Setup в переменную Left значение переменной Left(Form1.Left), и все это записываем в файл set.ini(при помощи App.Path узнаем путь к программе), если этого файла нет то он создается.
WritePrivateProfileString "Setup", "Top", Top, App.Path & "/set.ini" ' Записываем значение переменной Top
WritePrivateProfileString "Text", "Text1", Text, App.Path & "/set.ini" ' Записываем текст, который находится в текстовом поле(в переменной Text)
End Sub




Чтение из *.ini файлов
Для чтения файлов есть API GetPrivateProfileString, ща мы сделаем программу, которая при загрузке перемещает форму на то значение, которое указанно в файле set.ini, в разделе Setup, переменной Left. Код:


'Объявляем API для чтения
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 Sub Form_Load()
Dim Htenie
Dim z As String
z = Space(255) ' Выделяем место в памяти из 255 пробелов(можно написать так z="255 раз нажми на пробел(хотя можно и меньше(я вписал 255 т.к. это 1 строчка))";), для записи(см. ниже) значения читаемой переменной
Htenie = GetPrivateProfileString("Setup", "Left", "no", z, 255, App.Path & "/set.ini";) ' Считываем из ключа Setup, значение переменной Left. Я написал слово "no";(можно вписать любое), это слово нам потом пригодится(если ключа/переменной нет, то z будет равно слову no).
z = Left(z, Htenie) ' убираем все ненужные символы с правой стороны у строки, чтобы получить настоящее значение.
If z = "no" Then
MsgBox "Такого раздела/переменной не существует" ' Если ключа/переменной нет, то сообщем об этом
Else
Form1.Left = val(z) ' Ставим форму на то место, которое указано в файле ini. (в разделе Setup переменной Left)
End If
End Sub

Успехов в работе и удачи!
:) А я ещё раз извиняюсь перед формулянями! (см."Помогите не опозориться" (Простите-е-е-е!!!) :(

Ответить

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



ICQ: 301424893 

Вопросов: 28
Ответов: 277
 Web-сайт: www.vbkoders.info
 Профиль | | #2
Добавлено: 12.03.06 15:29
А ещё для работы с ini файлами можешь скачать IniEditor (кстати мне его посоветовал Billi Gates) :-)

Ответить

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



Вопросов: 2
Ответов: 12
 Профиль | | #3 Добавлено: 12.03.06 15:54
Все конечно супер а можно ли сдесь

WritePrivateProfileString "Setup", "Left", Left, App.Path & "/X.ini"

WritePrivateProfileString "Setup", "Top", Top, App.Path & "/X.ini"

WritePrivateProfileString "Text", "Text1", Text, App.Path & "/X.ini"

Где X перменая с именем игрока и чёто с загрузкой не то!

Ответить

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



Вопросов: 2
Ответов: 12
 Профиль | | #4 Добавлено: 12.03.06 16:04
ВСё я разобрался а как обратно я не понял!

Ответить

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



Вопросов: 2
Ответов: 12
 Профиль | | #5 Добавлено: 12.03.06 16:58
Народ я понял что он загружает токо положение формы а как загрузить текст обратно!

Ответить

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



Вопросов: 2
Ответов: 12
 Профиль | | #6 Добавлено: 12.03.06 17:49
Вот чё получилось

[PlayerИгрок 1]
Name=Игрок 1
Name bot=Робот1
Money=0
Wins=pµ)@AA
Defit=0
________________________________________________

"pµ)@AA" вместо етого должен быть 0
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 Sub Command1_Click()

Dim Name As String, Bot As String, Fin As String, Winsss As String, def As String

Name = NameP.Caption
Bot = NameBot.Caption
Fin = Money.Caption
Winsss = Wins.Caption
def = Defite.Caption

WritePrivateProfileString "Player" & NameP.Caption, "Name", Name, App.Path & "/set.ini"
WritePrivateProfileString "Player" & NameP.Caption, "Name bot", Bot, App.Path & "/set.ini"
WritePrivateProfileString "Player" & NameP.Caption, "Money", Fin, App.Path & "/set.ini"
WritePrivateProfileString "Player" & NameP.Caption, "Wins", Wins, App.Path & "/set.ini"
WritePrivateProfileString "Player" & NameP.Caption, ";Defit", def, App.Path & "/set.ini"

End Sub


Вчём ошибка и ка ето обратно засунуть!

Ответить

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



Вопросов: 0
Ответов: 1066
 Профиль | | #7 Добавлено: 12.03.06 18:41
Option Explicit не пробовал использовать?

Ответить

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



Вопросов: 2
Ответов: 12
 Профиль | | #8 Добавлено: 12.03.06 19:07
Hooligan ты хотьбы обьяснил что ето и как ето!

Ответить

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



Вопросов: 0
Ответов: 1066
 Профиль | | #9 Добавлено: 12.03.06 19:24
Option Explicit пишется в начале модуля (формы или общего модуля).
При этом переменные надо будет объявлять явно, т.е. Dim MyVar As <чего-нибудь>
Если переменная не объявлена, и Option Explicit указано, то vb ругнется на твою неуказанную переменную, и возможно, ты заметишь, что Wins.Caption была считана в переменную Winsss, а в файл записывается совсем другая переменная - Wins, которая не была объявлена и не инициализирована.

Ответить

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



Вопросов: 2
Ответов: 12
 Профиль | | #10 Добавлено: 12.03.06 19:34
Так так попродробней!!!

Ответить

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



Вопросов: 60
Ответов: 808
 Профиль | | #11 Добавлено: 12.03.06 20:30
Option Explicit необходим для быстрой генерации имен, не просматривая весь код на тему непонятных названий. Классная вещь. Но чтобы не заморачиваться с написанием этого каждый раз, необходимо указать в опциях компилера Require Variable Declaration.

Ответить

Номер ответа: 12
Автор ответа:
 [root]



Вопросов: 45
Ответов: 1212
 Web-сайт: bit.pirit.info
 Профиль | | #12
Добавлено: 12.03.06 20:53
Ты ни чего не путаешь?
Require Variable Declaration - требует обязательного объявления
переменных

Ответить

Номер ответа: 13
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #13 Добавлено: 12.03.06 21:10
Ты ни чего не путаешь?
Require Variable Declaration - требует обязательного объявления
переменных

Ну? При установленной галке Require variable declaration в каждый созданный после установки галки модуль автоматически дописывается Option Explicit. В модули, созданные ранее, дописывать Option Explicit нужно ручками.

Кстати, советую почитать тему "Странная странность в VB6", чтобы посмотреть, к каким глупым последствиям может привести неиспользование Option Explicit.

Ответить

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



Вопросов: 60
Ответов: 808
 Профиль | | #14 Добавлено: 12.03.06 21:39
Рут,звезд больше а ничего не знаешь. Открой MSDn

Ответить

Номер ответа: 15
Автор ответа:
 [root]



Вопросов: 45
Ответов: 1212
 Web-сайт: bit.pirit.info
 Профиль | | #15
Добавлено: 13.03.06 06:55
Ссори за офф-топ.
Fever объясни что ты понимаешь под быстрой генерацией имени?

не просматривая весь код на тему непонятных названий

Какие такие не понятные названия? - Если ты автор этих строк, то
каждая имя каждой переменный ты знаешь и помнишь. Я не говорю о
больших проектах, с большим числом форм.

звезд больше а ничего не знаешь

Во первых, кол-то звезд не зависит от степени знания юзера, а является
только счетчиком отправленных ответов и заданных вопросов.

Во вторых, извини меня - не тебе судить о глубине моих знаний, причем
я тебе задал вопрос, а ты начинаешь коментировать степень моих знаний,
прежде чем доказал свою правоту!

Ответить

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

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



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