![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Sniper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
Значит нужно прочитать файл типа конфиг!
такие для игр делают типа: wireframe off snd_freq 22khz vid_bpp 16 vid_mode 1024x768 Т.е конфиг может изменяться on изменяться на off 22khz изменяться на 44khz 16 изменяться на 32 1024x768 может изменяться на 800x600 а то и на 640x480 Как это сделать РАЦИОНАЛЬНО!!!??? -------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
1) Завести INI
2) Поработать со строкой, т. е. копировать всё, после пробела, а далее if, изменение и т. п. |
|||
|
||||
| Maverick |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1307 Регистрация: 22.9.2003 Где: Odessa, Ukraine Репутация: 2 Всего: 10 |
INI, конечно, хорошо.... спору нет....
а неудобнее ли табличкой воспользоваться? |
|||
|
||||
| Sniper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
Да я вот и спрашиваю как культурно реализовать пункт №2 строки же местами могут меняться! -------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
|||
|
||||
| Гость_Vasya |
|
|||
|
Unregistered |
Ну, я сделал бы так:
type TConfig = record wireframe: Boolean; snd_freq: Integer; vid_bpp: Integer; vid_mode_x: Integer; vid_mode_y: Integer; end; Далее для записи его в файл: FileStr: TFileStream; Config: TConfig; with Config do begin Тут отутюживаем Config end; FileStr := TFileStream.Create('Conf.cgf', fmOpenWrite); FileStr.WriteBuffer(Config, SizeOf(Config)); FileStr.Free; И читаем: FileStr.ReadBuffer(Config, SizeOf(Config)); |
|||
|
||||
| Pakshin A. S. |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Открой любую статейку по работе состроками, глянь в FAQ'и. Попробуй разобраться сам, ну а если не получится, что заставляет задуматься, напишем... |
||||
|
|||||
| Sniper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
Я могу только так написать ;-(
wireframe off snd_freq 22khz vid_bpp 16 vid_mode 1024x768 Более того оно написано и работает! procedure LoadUserConfig; var Fconfig: TextFile; S: String; begin AssignFile(fconfig,'user.cfg'); Reset(fconfig); while not EOF(fconfig) do begin Readln(fconfig,s); if s = 'rs_fullscreen' then begin Readln(fconfig,s); if s = 'on' then rs_fullscreen := true; if s = 'off' then rs_fullscreen := false; end; if s = 'rs_wireframe' then begin Readln(fconfig,s); if s = 'on' then rs_wireframe := true else rs_wireframe := false; end; end; end; -------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
|||
|
||||
| z-END |
|
||||||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
Вот мой вариант решения:
1. обявим новый тип и ее переменную:
2. Создадим функцию
3. в теле самой программы такой цикл:
Я не проверял, так что может вариант и нерабочий ps а вообще-то наверное проще через форматирование строки т.е. RegEx -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
||||||
|
|||||||
| remax |
|
||||
|
Доцент ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 686 Регистрация: 7.4.2002 Где: Украина, Харьков Репутация: 1 Всего: 5 |
Можно конечно и с текстовыми файлами играться
Процедура для чтения из ини-файла
Процедура для записи в ини-файла
p.s. возможны мелкие ошибки - написано без проверки на делфи Это сообщение отредактировал(а) remax - 3.3.2004, 22:00 -------------------- Как бы ты не старался быть хорошим и правильным человеком с принципами и уважительным отношением к другим, всегда найдется кто-то, кто бросит в тебя какашку |
||||
|
|||||
| Sniper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
Я вообще не знал про такую функцию как "trim"! ;-(
Позор мне и порицание! -------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
|||
|
||||
| Sniper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
remax Да Ini файлами я пользоваться умею....(все равно спасибо что написал!
-------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
|||
|
||||
| remax |
|
|||
|
Доцент ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 686 Регистрация: 7.4.2002 Где: Украина, Харьков Репутация: 1 Всего: 5 |
В каком смысле "большинство"? Это сообщение отредактировал(а) remax - 3.3.2004, 22:04 -------------------- Как бы ты не старался быть хорошим и правильным человеком с принципами и уважительным отношением к другим, всегда найдется кто-то, кто бросит в тебя какашку |
|||
|
||||
| Sniper |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
Впрямом! У всех игрушек конфиги сделаны по такому принципу Quake III CS DOOM III S.T.A.L.K.E.R. -------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
||||
|
|||||
| Cheba |
|
|||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 1 Всего: 62 |
2 Sniper
|
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Модератор: Давайте вернемся к теме обсуждения.
-------------------- |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |