Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создание интерфейса на си++ под дос 
:(
    Опции темы
_hunter
Дата 16.3.2006, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



да много кто писал. только двно это было.
сам разбирайся...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
xcf
Дата 16.3.2006, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 31.1.2006

Репутация: нет
Всего: нет



byNet,
седня у нас в библиотеке нашел книжку " програмирование графики на си" 1991
седня небыло впремени ее изучать завтра в читалке будуу изучать, если там будет пример интерфеса обезательнго напишу
PM ICQ   Вверх
profispb
Дата 16.3.2006, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 27.12.2005
Где: Санкт - Петербург

Репутация: 1
Всего: 1



xcf, Вот пример писал давно на Си, к сожалению только меню, и то не до конца, готовый потерял.
Код

#include<stdio.h>
#include<graphics.h>
#include<conio.h>
#define DR "c:\\tc\\bgi\\"

void menu(int, int);
void blok(int, int);
void ends(int, int);

main()
 {
  int gd=VGA, error;
  int gm=VGAHI,x,y,x2,y2,xm,ym;
  char key;
  xm=0;
  ym=0;
  x=5;
  x2=50;
  y=0;
  y2=16;
  initgraph(&gd,&gm,DR);
  error=graphresult();
  if(error!=0)
   {
    printf("Ошибка:%s\n",grapherrormsg(error));
    printf("Нажмите любую клавишу");
    getch();
    exit(1);
   }
  setbkcolor(BLUE);
  cleardevice();
  blok(xm,ym);
  bar(x,y,x2,y2);
  menu(xm,ym);
do
 {
  key=getch();
  switch(key)
    {
case 77:
     if(x==245)
     {
      x+=320;
      x2+=322;
      cleardevice();
      blok(xm,ym);
      bar(x,y,x2,y2);
      menu(xm,ym);
     }
     else {
     if(x==55)
     {x+=100; x2+=90;
     cleardevice();
     blok(xm,ym);
     bar(x,y,x2,y2);
     menu(xm,ym);
     }
     else {
      if(x==155)
      {
      x+=40; x2+=0;
      cleardevice();
      blok(xm,ym);
      bar(x,y,x2,y2);
      menu(xm,ym);
      }
     x+=50;
     x2+=100;
     cleardevice();
     blok(xm,ym);
     bar(x,y,x2,y2);
     menu(xm,ym);}}
     break;
case 75:
     if(x==565)
     {
      x-=320; x2-=322;
      cleardevice();
      blok(xm,ym);
      bar(x,y,x2,y2);
      menu(xm,ym);
     }
     else {
     if(x==155)
     {
     x-=100; x2-=90;
     cleardevice();
     blok(xm,ym);
     bar(x,y,x2,y2);
     menu(xm,ym);
     }
     else {
     if(x==245)
      {
      x-=40;
      cleardevice();
      blok(xm,ym);
      bar(x,y,x2,y2);
      menu(xm,ym);
      }
     x-=50;
     x2-=100;
     cleardevice();
     blok(xm,ym);
     bar(x,y,x2,y2);
     menu(xm,ym);}}
     break;
case 13: if(x==5)
     {
      ends(150,250);
     }
     else continue;
     break;
default: break;
    }
 }
while(key!=45);
 ends(150,250);
 }

void menu(int x1, int y1)  //Вывод меню и строки состояния
 {
  /******Главное меню******/
  outtextxy(x1+10,y1+5,"Выход");
  outtextxy(x1+60,y1+5,"Кат.Фильмов");
  outtextxy(x1+160,y1+5,"Настройка");
  outtextxy(x1+250,y1+5,"Статистика");
  outtextxy(x1+580,y1+5,"Помощь");
  /******Строка состояния******/
  outtextxy(x1+10,y1+470,"Выход(Alt+X)");
 }

void blok(int x1, int y1)
{
setfillstyle(1,WHITE);
setcolor(BLACK);
bar(x1,y1,x1+640,y1+16);
bar(x1,y1+464,x1+640,y1+480);
setfillstyle(1,GREEN);
}

void ends(int x, int y)
{
 cleardevice();
 setbkcolor(MAGENTA);
 setcolor(GREEN);
 settextstyle(0,HORIZ_DIR,2);
 outtextxy(x,y,"Д О    В С Т Р Е Ч И ! ! !");
 getch();
 closegraph();
}

Да сразу скажу что не лучший вариант. Полноценный к сожалению найти не могу. Когда - то нужно было курсовик писать и пришлось что новенькое придумать, вот и придумал. Да чуть не забыл лучше условия переделать на switch() case..., т.е. переход по координатам.
Удачи!
--------------------
В жизни, я люблю делать, то что я люблю. А не то что модно, престижно и выгодноЛюблю когда начинает работать, то что без меня не работало!
PM MAIL ICQ   Вверх
xcf
Дата 17.3.2006, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 31.1.2006

Репутация: нет
Всего: нет



profispb,
у меня этот файл не компилируется не может найти ф-ию exit (1)
PM ICQ   Вверх
profispb
Дата 17.3.2006, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 27.12.2005
Где: Санкт - Петербург

Репутация: 1
Всего: 1



xcf, Компилируй на Borland C/C++ 3.1 for DOS. Должно все работать только что проверил все ОК.
--------------------
В жизни, я люблю делать, то что я люблю. А не то что модно, престижно и выгодноЛюблю когда начинает работать, то что без меня не работало!
PM MAIL ICQ   Вверх
xcf
Дата 18.3.2006, 05:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 31.1.2006

Репутация: нет
Всего: нет



profispb,
я на нем и компилирую
PM ICQ   Вверх
profispb
Дата 18.3.2006, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 27.12.2005
Где: Санкт - Петербург

Репутация: 1
Всего: 1



xcf, Значит так поскольку код на С, то установи компилятор Borland C 3.0 for DOS и все будет работать. Я щас вспомнил что в версии 3.1 хоть и можно писать на С, но нужно соблюдать синтаксис языка С++.
--------------------
В жизни, я люблю делать, то что я люблю. А не то что модно, престижно и выгодноЛюблю когда начинает работать, то что без меня не работало!
PM MAIL ICQ   Вверх
bncom
Дата 18.3.2006, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 2.11.2005

Репутация: нет
Всего: 1



xcf, а что там с книжкой из библиотеки?
Нашел оформление под консольные приложения?
Меня этот вопрос тоже очень интересует....
--------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер 
PM MAIL   Вверх
xcf
Дата 18.3.2006, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 31.1.2006

Репутация: нет
Всего: нет



profispb, на 3 версии еще больше ошибок
Добавлено @ 17:15
bncom, в той книжке нет примера интерфейса. но есть др книжка которую сли надо могу выожить ждесь
PM ICQ   Вверх
bncom
Дата 19.3.2006, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 2.11.2005

Репутация: нет
Всего: 1



Хорошо, давай.
--------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер 
PM MAIL   Вверх
byNet
Дата 21.3.2006, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 14.11.2005
Где: Беларусь

Репутация: нет
Всего: нет



Чтобы не выдовало ошибку exit(1) надо добавить <dos.h> to profispbт большое спасибо. Может у кого что-нибудь еще есть?
PM MAIL   Вверх
Rezzonans
Дата 21.3.2006, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 21.4.2005

Репутация: нет
Всего: нет



по идее можно заменить exit(1) на return 1. У меня работает, правда после выполнения программы окно не закрывается smile
--------------------
Первый детектор лжи был собран из ребра мужчины. Впрочем, до сих пор, никаких изменений не притерпел
PM MAIL   Вверх
profispb
Дата 23.3.2006, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 27.12.2005
Где: Санкт - Петербург

Репутация: 1
Всего: 1



xcf, Вышли мне на почтовый ящик интересно посмотреть книжку, где создание интерфейса описано.
email: [email protected]
--------------------
В жизни, я люблю делать, то что я люблю. А не то что модно, престижно и выгодноЛюблю когда начинает работать, то что без меня не работало!
PM MAIL ICQ   Вверх
Штык
Дата 24.3.2006, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 9.5.2005
Где: Москоу

Репутация: нет
Всего: 1



есть книжка издатеьства Диалог МИФИ там есть описани е реализации графического интерфейса..только там сделано не через графику(graphics.h) а окна создаються из ASCII символов.. аля как в sysinstall в freeBSD
--------------------
Lachetes familieresQui nous rendent guerrieres
PM MAIL WWW ICQ   Вверх
bncom
Дата 25.3.2006, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 2.11.2005

Репутация: нет
Всего: 1



код бы желательно, и через graphics.h все-таки.....
--------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер 
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0613 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.