Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2008, 18:17   #1
ЕвгениуS
студент
Пользователь
 
Аватар для ЕвгениуS
 
Регистрация: 02.03.2008
Сообщений: 81
По умолчанию Как сделать графическую оболочку к программе?

мне по курсовой надо сделать калькулятор-аналог калькулятора в Винде..
Вот нашел рабочий код... как же теперь сделать графическую оболочку?
вот код программы
Код:
Begin Gr;
type
  TypeTok = (_num, _plus, _minus, _mul, _div, _lparent, _rparent, _stop);
var
  S: string;
  TTok: TypeTok;
  RTok: real;
  STok: string;
  _pos: byte;

procedure Expression(var x: real); forward;

procedure Get;
var
  e: integer;
begin
  if _pos>length(S) then begin
    TTok:=_stop;
    exit;
  end;

  STok:='';

  while S[_pos] in [' ', #9] do inc(_pos);
  case S[_pos] of
    '0'..'9': begin
                while S[_pos] in ['0'..'9'] do begin
                  STok:=STok+S[_pos];
                  inc(_pos);
                end;
                if S[_pos]='.' then begin
                  STok:=STok+S[_pos];
                  inc(_pos);
                  while S[_pos] in ['0'..'9'] do begin
                    STok:=STok+S[_pos];
                    inc(_pos);
                  end;
                end;
                TTok:=_num;
                val(STok, RTok, e);
              end;
    '+':      begin TTok:=_plus; inc(_pos); end;
    '-':      begin TTok:=_minus; inc(_pos); end;
    '*':      begin TTok:=_mul; inc(_pos); end;
    '/':      begin TTok:=_div; inc(_pos); end;
    '(':      begin TTok:=_lparent; inc(_pos); end;
    ')':      begin TTok:=_rparent; inc(_pos); end;
    else
      {error}
  end;
end;


procedure Factor(var x: real);
var
  e: integer;
begin
  case TTok of
    _num:     begin
                x:=RTok;
                Get;
              end;
    _lparent: begin
                Get;
                Expression(x);
                if TTok=_rparent then
                  Get
                else
                  {error};
              end;
  end;
end;

procedure Term(var x: real);
var
  y: real;
  op: TypeTok;
begin
  Factor(x);
  while TTok in [_mul, _div] do begin
    op:=TTok;
    Get;
    Factor(y);
    case op of
      _mul: x:=x*y;
      _div: x:=x/y;
    end;
  end;
end;

procedure Expression(var x: real);
var
  y:  real;
  op: TypeTok;
begin
  Term(x);
  while TTok in [_plus, _minus] do begin
    op:=TTok;
    Get;
    Term(y);
    case op of
      _plus:  x:=x+y;
      _minus: x:=x-y;
    end;
  end
end;

procedure init;
begin
  STok:='';
  RTok:=0.0;
  _pos:=1;
  Get;
end;

var

  x: real;
begin
  write('> ');
  readln(S);
  while S<>'' do begin
    init;
    expression(x);
    writeln('   result = ', x:0:5);
    write('> ');
    readln(S);
  end;
end.
помогите плиз...
ЕвгениуS вне форума Ответить с цитированием
Старый 29.12.2008, 20:37   #2
Rozalinda
Пользователь
 
Аватар для Rozalinda
 
Регистрация: 11.01.2007
Сообщений: 54
По умолчанию

А в чем, собственно, проблема? Кидаешь кнопочки, создаешь меню, TEdit для ввода циферок...
Это код под консоль, отсюда только процедуры понадобятся, хотя я бы и их брать на стала )))
какие вообще знания в этой области?
нашедшего выход - затаптывают
Rozalinda вне форума Ответить с цитированием
Старый 29.12.2008, 21:59   #3
ЕвгениуS
студент
Пользователь
 
Аватар для ЕвгениуS
 
Регистрация: 02.03.2008
Сообщений: 81
По умолчанию

Цитата:
Сообщение от Rozalinda Посмотреть сообщение
А в чем, собственно, проблема? Кидаешь кнопочки, создаешь меню, TEdit для ввода циферок...
Это код под консоль, отсюда только процедуры понадобятся, хотя я бы и их брать на стала )))
какие вообще знания в этой области?
в том то и проблема.. никогда с графикой не работал((( а тут понадобилось.. возможно тут ничего сложного, но все равно хотелось бы чтобы кто-то подсказал...
ЕвгениуS вне форума Ответить с цитированием
Старый 29.12.2008, 22:04   #4
Rozalinda
Пользователь
 
Аватар для Rozalinda
 
Регистрация: 11.01.2007
Сообщений: 54
По умолчанию

графики тут никакой и нет. Просто приложение с кнопочками.
Под "с графикой никогда не работал" имеется ввиду, что только под консоль (console application)?
нашедшего выход - затаптывают
Rozalinda вне форума Ответить с цитированием
Старый 29.12.2008, 22:08   #5
Тупой
Форумчанин
 
Аватар для Тупой
 
Регистрация: 26.12.2008
Сообщений: 146
По умолчанию

да не проще набрать в поиске "калькулятор delphi"?
"Hello, world!" - 17 errors 56 warnings
Тупой вне форума Ответить с цитированием
Старый 29.12.2008, 22:09   #6
ЕвгениуS
студент
Пользователь
 
Аватар для ЕвгениуS
 
Регистрация: 02.03.2008
Сообщений: 81
По умолчанию

Цитата:
Сообщение от Тупой Посмотреть сообщение
да не проще набрать в поиске "калькулятор delphi"?
нее, не проще... я хочу разобраться во всем )))
ЕвгениуS вне форума Ответить с цитированием
Старый 29.12.2008, 22:12   #7
ЕвгениуS
студент
Пользователь
 
Аватар для ЕвгениуS
 
Регистрация: 02.03.2008
Сообщений: 81
По умолчанию

Цитата:
Сообщение от Rozalinda Посмотреть сообщение
графики тут никакой и нет. Просто приложение с кнопочками.
Под "с графикой никогда не работал" имеется ввиду, что только под консоль (console application)?
кнопочки с помощью модуля граф я например нарисую, а дальше что? как сделать привязку к формулам? чтобы человек мышкой нажимал на кнопочку как в виндоусовском калькуляторе
ЕвгениуS вне форума Ответить с цитированием
Старый 29.12.2008, 22:13   #8
Rozalinda
Пользователь
 
Аватар для Rozalinda
 
Регистрация: 11.01.2007
Сообщений: 54
По умолчанию

Тупой, ну, может, человек разобраться хочет?
это действительно вполне возможно в интернете найти.
http://articles.org.ru/docum/calculator.php например...
готового у меня нет, писать - не две минуты. могу только подсказать, как делать )
нашедшего выход - затаптывают
Rozalinda вне форума Ответить с цитированием
Старый 29.12.2008, 22:15   #9
Rozalinda
Пользователь
 
Аватар для Rozalinda
 
Регистрация: 11.01.2007
Сообщений: 54
По умолчанию

с помощью модуля граф Это что имеется ввиду??
На вкладке standart есть компонента TButton. двойное нажатие на ней создает в модуле программы обработчик события. там и пишете, что должно произойти при нажатии.
нашедшего выход - затаптывают
Rozalinda вне форума Ответить с цитированием
Старый 29.12.2008, 22:17   #10
ЕвгениуS
студент
Пользователь
 
Аватар для ЕвгениуS
 
Регистрация: 02.03.2008
Сообщений: 81
Радость

Цитата:
Сообщение от Rozalinda Посмотреть сообщение
с помощью модуля граф Это что имеется ввиду??
На вкладке standart есть компонента TButton. двойное нажатие на ней создает в модуле программы обработчик события. там и пишете, что должно произойти при нажатии.
мне надо в Паскале это написать..
модуль граф позволяет рисовать линии. круги.. цветами закрашивать... задавая всему этому координаты

а TButton это вероятно в дельфи?
ЕвгениуS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать имитацию хода даты и времени в программе? Bill Gates Общие вопросы Delphi 1 06.01.2008 15:21
Как сделать имитацию хода даты и времени в программе? Bill Gates Общие вопросы Delphi 1 05.01.2008 22:42
Как создать оболочку в стиле игромании? Stegoman Общие вопросы Delphi 1 06.08.2007 16:32
как сделать в программе регулировку звука }{@KeRnutyi Общие вопросы Delphi 6 02.12.2006 08:41