{{notification.text}}

MirGames

mov, просто mov
23.08.06 02:53
0
Пишу коротко и надеюсь ясно.
В WinAPI я вобще ничего не знаю подскажите с чево начать?
#2
аксакал
23.08.06 03:15
0
Какова конечная цель? Чего от WinAPI хотел бы в итоге добиться? Зачем он тебе? :)
#3
mov, просто mov
23.08.06 03:35
0
Цитата(XProger @ 22.08.2006 - 23:15) [snapback]34927[/snapback]

Какова конечная цель? Чего от WinAPI хотел бы в итоге добиться? Зачем он тебе? :)

Уменьшить размер exe, убрать тормоза(хоть чуточку), и вообже охота узнать как там что делаеться. :)
#4
mov, просто mov
23.08.06 04:14
0
1-ю статью XProger'а прочитал. Ничё, нормально.
#5
аксакал
23.08.06 04:27
0
Если собираешься применять WinAPI при создании игр, то http://XProger.mirgames.ru/?id=2#DeMiner может стать неплохим шаблоном :)
Если пойдёшь дальше... смотри в сторону eXgine.
#6
23.08.06 04:28
0
О каких тормозах ты говоришь?
#7
Meat
23.08.06 04:59
0
Вот здесь начальные статьи по апи:
http://www.excode.ru/arttopic40.html
Правда к делфи(ну разница не большая=),а рядом вроде и для си есть.
#8
Dan
The One
23.08.06 08:38
0
MSDN всё тебе расскажет;)
#9
mov, просто mov
24.08.06 03:20
0
Кода чё нить напишу оповещу вас, большое спасибо. :)
#10
Mirage
24.08.06 20:48
0
Вообще доскональное знание WinAPI малоактуально сейчас. Куда нужнее уметь использовать его когда понадобится. Для этого надо знать общие принципы и уметь гуглить по проблеме. В основном, в MSDN'е. А также полезны всякие "как сделать" и поглядеть в исходники VCL.

Что касается размеров - юзай KOL вместо VCL. Почти также удобно (особенно если поставить примочку, позволяющую дизайнить интерфейс в IDE), а размеры маленькие.
#11
mov, просто mov
26.08.06 02:22
0
Пока буду пробовать на WinAPI
P.S. Мне понравилось на нём писать
#12
mov, просто mov
26.08.06 02:28
0
Пожскажите функцию проверки существования файла.
#13
Мастер XO
26.08.06 03:23
0
Код
function FileExists ( const FileName:string ) : boolean;
var
  Handle: THandle;
  FindData: TWin32FindData;
begin
  Handle := FindFirstFile(PChar(FileName), FindData);
  Result := Handle <> INVALID_HANDLE_VALUE;
end;


Подобная, но с ненужными наворотами есть в SysUtils, однако его подключение значительно прибавит веса exe-шнику...
#14
аксакал
26.08.06 04:09
0
Можно на чистом Delphi :)
Код
function FileExists(const FileName: string): Boolean;
var
  F : File;
begin
  FileMode:=64;
  AssignFile(F, FileName);
{$I-}
  Reset(F);
{$I+}
  Result := IOResult = 0;
  if Result then
    CloseFile(F);
end;

или http://www.rsdn.ru/article/qna/baseserv/fileex.xml
#15
статус
26.08.06 12:09
0
Мне функция ХПрогера больше нравица.
#16
Мастер XO
26.08.06 14:57
0
Но зато его функция может давать неверные результаты (если, например, файл уже занят другим процессом, то при попытке обращения к нему будет ошибка). Хотя с этим я, возможно, ошибаюсь...

Еще один побочный эффект - если сначала файл был открыт и из него считывались данные, а потом зачем-то была сделана проверка на его существование, то дальнейшее считывание информации будет невозможно - придется заново открывать файл и читать с самого начала... Случай, конечно, ламерский, однако всякое бывает...
#17
статус
26.08.06 15:37
0
Цитата(BadSmile @ 26.08.2006 - 12:57) [snapback]35179[/snapback]

Еще один побочный эффект - если сначала файл был открыт и из него считывались данные, а потом зачем-то была сделана проверка на его существование, то дальнейшее считывание информации будет невозможно - придется заново открывать файл и читать с самого начала... Случай, конечно, ламерский, однако всякое бывает...

Обычно делают наоборот, сначала проверяют существует файл или нет, а потом уже его открывают впринципе и тот и другой способы вполне подходят.
#18
Мастер XO
26.08.06 19:10
0
Цитата
Обычно делают наоборот
Ну я ж сказал, ламеский случай... ;)
Отредактировано: 26.08.06 19:10
#19
аксакал
26.08.06 19:14
0
BadSmile
1) FileMode изменяется именно во избежании этого
2) Reset работает для переменной F, а не для файла
Так что, моя функция не подходит под эти случаи :)
#20
mov, просто mov
27.08.06 03:40
0
вот я что-то сделал, это не игра и там один баг
#{{post.Index}}
{{post.Author.Login}}
{{post.CreatedDate | date:'dd.MM.yy HH:mm'}}
{{post.VotesRating}}
Отредактировано: {{post.UpdatedDate | date:'dd.MM.yy HH:mm'}}