Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 07.09.2007, 18:45   #1
ChukCha
Форумчанин
 
Регистрация: 18.04.2007
Адрес: Украина,Киев
Сообщений: 80
Репутация: 48

icq: 374596509
По умолчанию Save in Game

Я хочу зделать сохранения в игре. Мне нужно сохранить значение SpinEdit в файл, пусть ето будет .ini файл. А потом мне нужно будет загрузить игру и прочитать тот файл. Подскажыте кому не лень.
ChukCha вне форума   Ответить с цитированием
Старый 07.09.2007, 20:16   #2
Азазель
Пользователь
 
Аватар для Азазель
 
Регистрация: 04.09.2007
Сообщений: 12
Репутация: 30
По умолчанию

Вот пример сохранения:
Код:
uses ...IniFiles

function GetCurrentDir(): String;
var
  len: Integer;
  Buf: String;
begin
  SetLength(Buf, MAX_PATH+1);
  len:=GetCurrentDirectory(MAX_PATH, PAnsiChar(buf));
  GetCurrentDir:=Copy(Buf, 1, len);
end;


var 
  Ini:TIniFile;
begin 
Ini:=TIniFile.Create(GetCurrentDir + '\Save.ini');
 Ini.WriteInteger('SpinEdit','Key1',SpinEdit1.Value);
 Ini.UpdateFile; 
 Ini.Free;
end;

Последний раз редактировалось Азазель; 07.09.2007 в 20:46.
Азазель вне форума   Ответить с цитированием
Старый 07.09.2007, 20:19   #3
Азазель
Пользователь
 
Аватар для Азазель
 
Регистрация: 04.09.2007
Сообщений: 12
Репутация: 30
По умолчанию

А вот и загрузка:
Код:
uses ...IniFiles

function GetCurrentDir(): String;
var
  len: Integer;
  Buf: String;
begin
  SetLength(Buf, MAX_PATH+1);
  len:=GetCurrentDirectory(MAX_PATH, PAnsiChar(buf));
  GetCurrentDir:=Copy(Buf, 1, len);
end;

var 
  Ini:TIniFile;
begin
  Ini:=TIniFile.Create(GetCurrentDir + '\Save.ini');
  SpinEdit1.Value:=Ini.ReadInteger('SpinEdit','Key1',0);
 Ini.UpdateFile;
 Ini.Free;
end;

Последний раз редактировалось Азазель; 07.09.2007 в 20:37.
Азазель вне форума   Ответить с цитированием
Старый 08.09.2007, 10:08   #4
pu4koff
ПрофессионалФорумчанин
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,491
Репутация: 3616
По умолчанию

ну тут наверно лучше заменить GetCurrentDir на ExtractFilePath(Application.ExeName ), т.к. CurrentDirectory вроде как после использования OpenDialog какого-нить изменится и ini не найдешь. А Ini.UpdateFile лично я ни разу не писал и все работало. Че этот UpdateFile вапще делает?
pu4koff вне форума   Ответить с цитированием
Старый 10.09.2007, 22:57   #5
Beermonza
Инженер ИС
Профессионал
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
Репутация: 746
По умолчанию

А проще нельзя?

Var
s, dir: String;
f: TextFile;


На создание формы
dir:=GetCurrentDir;

Сохранение
AssignFile(f, dir+'Save\1.ini');
Rewrite(f);
WriteLn(f, SpinEdit1.Value
);
CloseFile(f);

Загрузка
AssignFile(f, dir+'Save\1.ini');
Reset(f);
ReadLn(f, s);
CloseFile(f);
... строка из файла в переменной s , делайте с ней что хотите.

__________________
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его

Последний раз редактировалось Beermonza; 10.09.2007 в 23:01.
Beermonza вне форума   Ответить с цитированием
Старый 11.09.2007, 18:17   #6
ChukCha
Форумчанин
 
Регистрация: 18.04.2007
Адрес: Украина,Киев
Сообщений: 80
Репутация: 48

icq: 374596509
По умолчанию для Beermonza

У меня вопрос.
Я на форму кинул две кнопки:Save, Load, i SpinEdit.
Когда нажымаю сохранить и загрузить пишет "Invalid FileName".
AssignFile(f, dir+'Save\1.ini'); Когда я ету строку отредактировал на AssignFile(f, dir+'1.ini'); то сохраняет но сохраняет не в той директории где .ехе файл а папкой вверх и применяет имя папки где .ехе файл и 1 тоисть Save1.ini, программа сохраняет значение SpinEdit в етот файл но не загружает.
Проще посмотрите вложение.
Вложения
Тип файла: rar Save.rar (6.3 Кб, 11 просмотров)

Последний раз редактировалось ChukCha; 11.09.2007 в 18:20.
ChukCha вне форума   Ответить с цитированием
Старый 11.09.2007, 20:48   #7
Beermonza
Инженер ИС
Профессионал
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
Репутация: 746
По умолчанию Пояснения

ChukCha, у вас все проблемы из-за неправильного указания пути.
GetCurrentDir, т.е. переменная dir, хранит путь ...\Save\bin ,
AssignFile(f, dir+'1.ini'); - инициализирует файл bin1.ini в папке \Save, поскольку нет знака "\".
Следует написать так:
AssignFile(f, dir+'\1.ini'); , тогда файл появится в вместе со всеми файлами проекта, и при чтении будет искать его там же.
__________________
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума   Ответить с цитированием
Старый 11.09.2007, 21:00   #8
Beermonza
Инженер ИС
Профессионал
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
Репутация: 746
По умолчанию Дополнение

Spin'ов у меня нету, а вот простой пример на Edit1 есть.
Вложения
Тип файла: rar Save.rar (163.7 Кб, 10 просмотров)
__________________
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
game maker - Движок для создания игр! Vituskz Gamedev - cоздание игр: Unity, OpenGL, DirectX 8 29.06.2010 13:10
Вопрос по 3d game studio Goblin Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 10.05.2010 19:51
Знакомы вы с 3d game studio ? House Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 30.07.2008 12:56
Игра на Intel Game Contest kilometr Gamedev - cоздание игр: Unity, OpenGL, DirectX 10 23.07.2007 10:38


06:10.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.