Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #26
11.04.2008 17:24

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 796
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: Знатокам WinAPI, help!

Nex написал:

ASBer написал:

TQE в сокращении.

Будут путать с TGE.

Это точно. Может, учитывая, что под квестами обычно понимают менюшки, сменить название на Text Adventure Russian Engine  или Text Adventure Russian Kit?

Отредактировано Korwin (11.04.2008 17:35)

Неактивен

0    0    #27
11.04.2008 17:35

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Знатокам WinAPI, help!

СИстема Реализации Интерактивного Нарратива, сокращенно СИРИН. smile
Простенько и со вкусом.

Неактивен

0    0    #28
11.04.2008 17:56

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Знатокам WinAPI, help!

Это точно. Может, учитывая, что под квестами обычно понимают менюшки, сменить название на Text Adventure Russian Engine  или Text Adventure Russian Kit?

Вообще есть что-то глубоко символичное в том, чтобы давать Исконно Русской Платформе (тм) английское название...

Неактивен

0    0    #29
11.04.2008 18:40

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Знатокам WinAPI, help!

Text Adventure Russian System тогда может быть? (TARS)
А к русским названиям софта существует устоявшееся негативное отношение.
Да и неудобно это - расширения и имена файлов должны вытекать из названия системы, а делать их русскими у меня рука никогда не подвернется.
А так:
tars_con.exe - консольный проигрыватель
tars.dll - двигатель
xxx.trs - файлы игр

Неактивен

0    0    #30
11.04.2008 18:47

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: Знатокам WinAPI, help!

Да, английские аббревиатуры для "исконно русской платформы" не катят.
Пусть называется РКД - Русский Квестовый Движок!

Или вообще без аббревиатур, как Милена.

Неактивен

0    0    #31
11.04.2008 19:01

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Знатокам WinAPI, help!

Тогда пусть будет просто РА!
Язык Ра,
файлы:
ra_con.exe
ra.dll
xxx.ra

p.s. РКД очень на РКПб смахивает...

Неактивен

0    0    #32
11.04.2008 21:44

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: Знатокам WinAPI, help!

Неактивен

0    0    #33
11.04.2008 22:04

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Знатокам WinAPI, help!

Nex lollollol

Неактивен

0    0    #34
12.04.2008 02:56

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 796
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: Знатокам WinAPI, help!

А без названия система будет страдать и плакать "штука без названия", "noname system" долго выговаривать и как-то несолидно.
"Как Вы яхту назовете, так она и поплывет!" - в общем, к названию следует относиться серьезно. Пока мне больше всего понравились Сирин, ТАРС и Ра. Причем без аббревиатур - просто по звучанию. Можно ведь никак не расшифровывать. smile

а теперь извините за начатый мною же оффтопик но мы отклонились от темы. Как там проблема, решена?

Неактивен

0    0    #35
12.04.2008 10:23

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Знатокам WinAPI, help!

Korwin написал:

Как там проблема, решена?

Временно добавил сообщение при старте, но это нельзя считать хорошим решением, нужно копать в глубь...
Проблема, как мне кажется, где-то в атрибутах консольного окна.

И еще один вопрос из той-же области: переключение раскладки на русский язык при старте.
LoadKeyboardLayout("00000419",KLF_ACTIVATE); для консольного окна почему-то не работает...

Неактивен

0    0    #36
12.04.2008 19:53

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Знатокам WinAPI, help!

fireton написал:

СИстема Реализации Интерактивного Нарратива, сокращенно СИРИН. smile
Простенько и со вкусом.

нечто подобное уже есть smile

Неактивен

0    0    #37
13.04.2008 04:54

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 796
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: Знатокам WinAPI, help!

Сходство в названии на четыре буквы. Как у кинолога и киноактера, демиурга и демикотона. Не страшно smile, а зато название Сирин действительно очень русское. И имеет отношение и мифу, сказке, а значит и литературе. Впрочем, как и Ра - которое короче. Надо покопаться, может и ТАРС что-то в языке значит.

Неактивен

0    0    #38
09.05.2008 18:37

awa
Участник
Зарегистрирован: 09.05.2008
Сообщений: 1

Re: Знатокам WinAPI, help!

ASBer написал:

Проблема с вызовом стандартых диалогов:
При первом вызове GetOpenFileName() диалог Open прячется ПОД консольное окно программы, несмотря на то что в MSDNе обещано показавать стандартные диалоги поверх всех окон, как и положено модальным окнам.
Второй и все последующие вызовы GetOpenFileName() отрабатывают правильно и отображают диалог поверх основного окна программы.

Вопрос: как это лечить? smile

P.S. я и сам конечно еще покапаю, но вдруг есть тут Знатоки? Не может не быть...

Привет, ASBer!
Проблему твою повторить не удалось - создал консольное приложение и сразу вызвал там диалог выбора файла по твоему коду. Окно диалога выскакивает поверх консольного окна! Вывод - либо ты что-то нехорошее делаешь до вызова диалога ввода окна, либо у тебя проблема с виндозой. Сделай такой же тест, по результатам будет понятно, с чем бороться - с твоим кодом или виндозой. Кстати, у тебя там ошибка - строка фильтров должна заканчиваться двумя нулевыми символами, а не одним.
ЗЫ. На звонки ты не отвечаешь, в асе тебя нет, поэтому написал сюда.

Неактивен

0    0    #39
12.05.2008 09:30

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Знатокам WinAPI, help!

Привет, awa!

awa написал:

Проблему твою повторить не удалось - создал консольное приложение и сразу вызвал там диалог выбора файла по твоему коду. Окно диалога выскакивает поверх консольного окна!

Вот минимальный код, в котором проявляется ошибка:

Код:

#include <windows.h>
#pragma hdrstop
//---------------------------------------------------------------------------
//переменные для консоли
HANDLE WindowH, InputH;
_CONSOLE_SCREEN_BUFFER_INFO Info;
OPENFILENAME ofn;
char input[1024];
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{ //получаем дескрипторы консоли
  InputH =GetStdHandle(STD_INPUT_HANDLE);
  WindowH=GetConsoleWindow();
  //инициализируем структуры для диалогов save/load
  ofn.lStructSize=sizeof(OPENFILENAME);
  ofn.hwndOwner=WindowH;
  ofn.lpstrFilter=NULL;
  ofn.lpstrFile = input;
  ofn.nMaxFile = sizeof(input);
  ofn.lpstrFilter = "Text Quest\0*.TQE\0Text\0*.TXT\0";
  ofn.nFilterIndex = 1;
  ofn.lpstrFileTitle = NULL;
  ofn.nMaxFileTitle = 0;
  ofn.lpstrInitialDir = NULL;
  ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
  DWORD r;
  //-------------------------------------------------------
  if(ReadConsole(InputH,input,160,&r,NULL)) input[r]=0;
  else input[0]=0;
  input[0]=0;//обнуляем буфер
  if(GetOpenFileName(&ofn))//здесь диалог ПОД консолью
    MessageBox(WindowH,input,"Hello World!",MB_SYSTEMMODAL);
  //-------------------------------------------------------
  if(ReadConsole(InputH,input,160,&r,NULL)) input[r]=0;
  else input[0]=0;
  input[0]=0;//обнуляем буфер
  if(GetOpenFileName(&ofn))//здесь диалог НАД консолью
    MessageBox(WindowH,input,"Hello World!",MB_SYSTEMMODAL);
  //-------------------------------------------------------
  return 0;
}
//---------------------------------------------------------------------------

Диалог прячется под консоль только после первого вызова ReadConsole(). Если ввод с консоли не читать - все ок.

awa написал:

Кстати, у тебя там ошибка - строка фильтров должна заканчиваться двумя нулевыми символами, а не одним.

ofn.lpstrFilter = "Text Quest\0*.TQE\0Text\0*.TXT\0"; //2й нулевой символ поставляет компилятор smile

Отредактировано ASBer (12.05.2008 09:31)

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru