Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Калькулятор, Проблема с умножением и делением дробных 
:(
    Опции темы
JIuTEoH
  Дата 10.4.2009, 07:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Люди добрые,помогите с калькулятором,он не хочет делить и умножать дробные числа,я не понимаю,что не так,укажите на ошибку,вот код:
Код

#include <vcl.h>
#pragma hdrstop

#include "Calculator.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
double accum;
int op;
double f;
TForm1 *Form1;
//Form---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{ f=0;
  op=0;
  StaticText1->Caption=0;
}
//Button 0---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{ if(f!=0)
  StaticText1->Caption=StaticText1->Caption+'0';

}
//Button1
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{ if(f==0)
  { StaticText1->Caption='1';
    f=1;
  }
  else StaticText1->Caption=StaticText1->Caption+'1';
}
//Button2
void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{ if(f==0)
  {
  StaticText1->Caption='2';
  f=1;
  }
  else StaticText1->Caption=StaticText1->Caption+'2';
}
//Button3
void __fastcall TForm1::BitBtn4Click(TObject *Sender)
{ if(f==0)
  {
    StaticText1->Caption='3';
    f=1;
  }
  else StaticText1->Caption=StaticText1->Caption+'3';
}
//Button4
void __fastcall TForm1::BitBtn5Click(TObject *Sender)
{ if(f==0)
  {
    StaticText1->Caption='4';
    f=1;
  }
  else StaticText1->Caption=StaticText1->Caption+'4';
}
//Button5
void __fastcall TForm1::BitBtn6Click(TObject *Sender)
{ if(f==0)
  {
    StaticText1->Caption='5';
    f=1;
  }
  else StaticText1->Caption=StaticText1->Caption+'5';
}
//Button6
void __fastcall TForm1::BitBtn7Click(TObject *Sender)
{ if(f==0)
  {
    StaticText1->Caption='6';
    f=1;
  }
  else StaticText1->Caption=StaticText1->Caption+'6';
}
//Button7
void __fastcall TForm1::BitBtn8Click(TObject *Sender)
{ if(f==0)
  {
    StaticText1->Caption='7';
    f=1;
  }
  else StaticText1->Caption=StaticText1->Caption+'7';
}
//Button8
void __fastcall TForm1::BitBtn9Click(TObject *Sender)
{ if(f==0)
  {
    StaticText1->Caption='8';
    f=1;
  }
  else StaticText1->Caption=StaticText1->Caption+'8';
}
//Button9
void __fastcall TForm1::BitBtn10Click(TObject *Sender)
{ if(f==0)
  {
    StaticText1->Caption='9';
    f=1;
  }
  else StaticText1->Caption=StaticText1->Caption+'9';
}
//Point
void __fastcall TForm1::BitBtn11Click(TObject *Sender)
{ if(f==0)
  {
    StaticText1->Caption="0.";
    f=1;
  }
  else
  { if(StaticText1->Caption.Pos(".")==0)
      StaticText1->Caption=StaticText1->Caption+'.';
  }
}
//Sbros(C)
void __fastcall TForm1::BitBtn12Click(TObject *Sender)
{ StaticText1->Caption='0';
  accum=0;
  op=0;
  f=0;
}
//Operation
void __fastcall TForm1::DoOp(void)
{ float op2=StrToFloat(StaticText1->Caption);
  switch(op)
  { case 0 : accum = op2; break ;
    case 1 : accum += op2; break;
    case 2 : accum -= op2; break;
    case 3 : accum *= op2; break;
    case 4 : accum /= op2; break;
  }
  StaticText1->Caption = FloatToStrF(accum,ffGeneral,10,3);
}
//Button(+)
void __fastcall TForm1::BitBtn13Click(TObject *Sender)
{ if(f!=0)
  { DoOp();
    f=0;
  }
  op=1;
}
//Button(-)
void __fastcall TForm1::BitBtn14Click(TObject *Sender)
{ if(f!=0)
  { DoOp();
    f=0;
  }
  op=2;
}
//Ravno
void __fastcall TForm1::BitBtn15Click(TObject *Sender)
{ if(f!=0)
  { DoOp();
    f=0;
  }
  op=0;
}
//Button(*)

void __fastcall TForm1::BitBtn16Click(TObject *Sender)
{ if(f!=0)
  { DoOp();
    f=0;
  }
  op=3;
}
//Button(/)
void __fastcall TForm1::BitBtn17Click(TObject *Sender)
{ if(f!=0)
  { DoOp();
    f=0;
  }
  op=4;
}



Да и еще,подскажите,как сделать так,чтобы цифры отображались в правой стороне statictext`a.

Заранее сем огромное спасибо

Это сообщение отредактировал(а) JIuTEoH - 10.4.2009, 07:32
PM MAIL   Вверх
Usper
Дата 10.4.2009, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А в чём проблема? У меня вроде умножает....
По поводу выравнивания:  
Код

StaticText->AutoSize=false;
StaticText->Alignment=taRightJustify;



--------------------
На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник.
PM MAIL   Вверх
JIuTEoH
Дата 10.4.2009, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Так,за выравнивание спасибо),а вот проблема с умножением и делением осталось,заметил кстати,что не делит и не умножает только тогда,когда и с самого начала ввожу дробное число,а вот если перед операцией(*,/) была операция,при которой ответ получился дробноым,то все отлично получается...что такое,ума не приложу
PM MAIL   Вверх
Usper
Дата 10.4.2009, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Что значит не умножает и не делит? Неправильный результат? Возникает исключение?
Напишите при каких условиях возникает проблема. У меня Ваш код работает.

Это сообщение отредактировал(а) Usper - 10.4.2009, 09:51


--------------------
На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник.
PM MAIL   Вверх
JIuTEoH
Дата 10.4.2009, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



После того как я ввел дробное число,например 53.6,я нажимаю на кнопку деления или умножения и у меня выскакивает сразу же ошибка
user posted image

Это сообщение отредактировал(а) JIuTEoH - 10.4.2009, 10:40
PM MAIL   Вверх
Artemon
Дата 10.4.2009, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

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



JIuTEoH, у вас в региональных настройках в качетстве разделителя стоит запятая, поменяй ее на точку и ошибка уйдет.


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
JIuTEoH
Дата 10.4.2009, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Извините за нубский вопрос,но где это,региональные настройки?)
PM MAIL   Вверх
Artemon
Дата 10.4.2009, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

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



Пуск->Панель Управления -> Региональные стандарты


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Usper
Дата 10.4.2009, 14:10 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Лучше поменять код, заменив точки на запятые:
Код

void __fastcall TForm1::BitBtn11Click(TObject *Sender)
{ if(f==0)
  {
    StaticText1->Caption="0,";
    f=1;
  }
  else
  { if(StaticText1->Caption.Pos(",")==0)
      StaticText1->Caption=StaticText1->Caption+',';
  }
}


А ещё лучше вместо точек и запятых воткнуть DecimalSeparator. Например: 
Код

StaticText1->Caption=StaticText1->Caption+DecimalSeparator;





--------------------
На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник.
PM MAIL   Вверх
Artemon
Дата 10.4.2009, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

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



Если делать по-нормальному, то необходимо вместо разделителя использовать DecimalSeparator.
Т.к. могут быть не только точка и запятая в разделителях.

Это сообщение отредактировал(а) Artemon - 10.4.2009, 15:09


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Anikmar
Дата 10.4.2009, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

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



Цитата(Usper @  10.4.2009,  14:10 Найти цитируемый пост)
А ещё лучше вместо точек и запятых воткнуть DecimalSeparator.

Самый лучший вариант, на мой взгляд. Я так тоже делаю - повышает дуракоустойчивость.
PM MAIL ICQ   Вверх
JIuTEoH
Дата 13.4.2009, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем огромное спасибо,все исправил,все работает,но есть еще одна загвоздка,деление на ноль,не получается реализовать,чтобы при деление на 0 выдовало сообщение о том что так делать нехорошо)Хоть намекните через что
PM MAIL   Вверх
artsb
Дата 13.4.2009, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

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



Перед делением проверяете делитель на наличие в нём нуля и, если он обнаружен, выкидываете:
Код

ShowMessage("На ноль делить нельзя!");


Это сообщение отредактировал(а) artsb - 13.4.2009, 22:34


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
JIuTEoH
Дата 14.4.2009, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Дак вот я как раз и не знаю,как сделать эту гребаную проверку
PM MAIL   Вверх
JIuTEoH
Дата 14.4.2009, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помогите пожалуйста,сегодня сдавать,а я то что знаю перепробывал уже и нихрена ни че не получилось
PM MAIL   Вверх
JIuTEoH
Дата 14.4.2009, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код


#include <vcl.h>
#include <math.h>
#pragma hdrstop

#include "Calculator.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
double accum;
int op;
int f,z;
TForm1 *Form1;
//Form---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{ f=0;
  op=0;
  StaticText1->Caption=0;
}
//Button 0---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{ if(f!=0)
  StaticText1->Caption=StaticText1->Caption+'0';
}
//Button1
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{ if(f==0)
  { StaticText1->Caption='1';
    f=1;
  }
  else StaticText1->Caption=StaticText1->Caption+'1';
}
//Button2
void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{ if(f==0)
  {
  StaticText1->Caption='2';
  f=1;
  }
  else StaticText1->Caption=StaticText1->Caption+'2';
}
//Button3
void __fastcall TForm1::BitBtn4Click(TObject *Sender)
{ if(f==0)
  {
    StaticText1->Caption='3';
    f=1;
  }
  else StaticText1->Caption=StaticText1->Caption+'3';
}
//Button4
void __fastcall TForm1::BitBtn5Click(TObject *Sender)
{ if(f==0)
  {
    StaticText1->Caption='4';
    f=1;
  }
  else StaticText1->Caption=StaticText1->Caption+'4';
}
//Button5
void __fastcall TForm1::BitBtn6Click(TObject *Sender)
{ if(f==0)
  {
    StaticText1->Caption='5';
    f=1;
  }
  else StaticText1->Caption=StaticText1->Caption+'5';
}
//Button6
void __fastcall TForm1::BitBtn7Click(TObject *Sender)
{ if(f==0)
  {
    StaticText1->Caption='6';
    f=1;
  }
  else StaticText1->Caption=StaticText1->Caption+'6';
}
//Button7
void __fastcall TForm1::BitBtn8Click(TObject *Sender)
{ if(f==0)
  {
    StaticText1->Caption='7';
    f=1;
  }
  else StaticText1->Caption=StaticText1->Caption+'7';
}
//Button8
void __fastcall TForm1::BitBtn9Click(TObject *Sender)
{ if(f==0)
  {
    StaticText1->Caption='8';
    f=1;
  }
  else StaticText1->Caption=StaticText1->Caption+'8';
}
//Button9
void __fastcall TForm1::BitBtn10Click(TObject *Sender)
{ if(f==0)
  {
    StaticText1->Caption='9';
    f=1;
  }
  else StaticText1->Caption=StaticText1->Caption+'9';
}
//Point
void __fastcall TForm1::BitBtn11Click(TObject *Sender)
{ if(f==0)
  {
    StaticText1->Caption="0,";
    f=1;
  }
  else
  { if(StaticText1->Caption.Pos(",")==0)
      StaticText1->Caption=StaticText1->Caption+',';
  }
}
//Sbros(C)
void __fastcall TForm1::BitBtn12Click(TObject *Sender)
{ StaticText1->Caption='0';
  accum=0;
  op=0;
  f=0;
}
//Operation
void __fastcall TForm1::DoOp(void)
{ float op2=StrToFloat(StaticText1->Caption);
  switch(op)
  { case 0 : accum = op2; break ;
    case 1 : accum += op2; break;
    case 2 : accum -= op2; break;
    case 3 : accum *= op2; break;
    case 4 : accum /= op2; break;
    case 5 : accum = sin(op2); break;
    case 6 : accum = cos(op2); break;
    case 7 : accum = sqrt(op2); break;
    case 8 : accum = op2*op2; break;
  }
  StaticText1->Caption = FloatToStrF(accum,ffGeneral,5,3);
}
//Button(+)
void __fastcall TForm1::BitBtn13Click(TObject *Sender)
{ if(f!=0)
  { DoOp();
    f=0;
  }
  op=1;
}
//Button(-)
void __fastcall TForm1::BitBtn14Click(TObject *Sender)
{ if(f!=0)
  { DoOp();
    f=0;
  }
  op=2;
}
//Ravno
void __fastcall TForm1::BitBtn15Click(TObject *Sender)
{ if(f!=0)
  { DoOp();
    f=0;
  }
  op=0;
}
//Button(*)

void __fastcall TForm1::BitBtn16Click(TObject *Sender)
{ if(f!=0)
  { DoOp();
    f=0;
  }
  op=3;
}
//Button(/)
void __fastcall TForm1::BitBtn17Click(TObject *Sender)
{ if(f!=0)
  { DoOp();
    f=0;
  }
  op=4;
}
//(-/+)--------------------------------------------------------------------------
void __fastcall TForm1::BitBtn18Click(TObject *Sender)
{ float c=StrToFloat(StaticText1->Caption);
  if(c>0)
  { c-=c*2;
    StaticText1->Caption = FloatToStrF(c,ffGeneral,5,3);
  }
  else
  { c+=c*(-2);
    StaticText1->Caption = FloatToStrF(c,ffGeneral,5,3);
  }
}
//Sin------------------------------------------------------------------------
void __fastcall TForm1::BitBtn19Click(TObject *Sender)
{ op=5;
  DoOp();
  f=0;
}
//Cos---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn20Click(TObject *Sender)
{ op=6;
  DoOp();
  f=0;
}
//Koren----------------------------------------------------------------------
void __fastcall TForm1::BitBtn22Click(TObject *Sender)
{ op=7;
  DoOp();
  f=0;
}
//Square---------------------------------------------------------------------

void __fastcall TForm1::BitBtn21Click(TObject *Sender)
{ op=8;
  DoOp();
  f=0;
}

Вот полностью код программы,не понимаю где нужно провести проверку делителя,чтобы он не был равен нулю.Помогите,подскажите
PM MAIL   Вверх
xvr
Дата 14.4.2009, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Я фигею, дорогая редакция  smile Нафигачить прогу в 200 строк и не смочь поставить один if в строке 132 - это что то
Код

    case 4 : if (op2==0) ShowMessage("На ноль делить нельзя!"); else accum /= op2; break;

PM MAIL   Вверх
JIuTEoH
Дата 14.4.2009, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Пробовал так,ни черта не выводит
PM MAIL   Вверх
xvr
Дата 14.4.2009, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(JIuTEoH @ 14.4.2009,  12:11)
Пробовал так,ни черта не выводит

А что получается? Можно еще проверять не на 0, а на нечто маленькое
Код

case 4: if (fabs(op2)<1e-6) ShowMessage("На ноль делить нельзя!"); else accum /= op2; break;

PM MAIL   Вверх
JIuTEoH
Дата 14.4.2009, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Не,чет ваще ни как,просто сообщение это не выводит
Ошибок нет
Значит так,ввожу я число,нажимаю на кнопку деления,затем наждимаю на ноль,все,больше ни чего не происходит,на равно если нажать,тоже ни чего
PM MAIL   Вверх
xvr
Дата 14.4.2009, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Значит деление тут не при чем - оно а вас ничем не отличается от остальных операций. Где то косяк с логикой работы программы. Посмотрите в отладчике, что присходит в DoOp при нажатиях / и =, и вызывается ли она вообще  smile 

PM MAIL   Вверх
Anikmar
Дата 15.4.2009, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

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



Цитата(xvr @  14.4.2009,  12:19 Найти цитируемый пост)
А что получается? Можно еще проверять не на 0, а на нечто маленькое

ИМХО
Не можно, а нужно. К float оператор == лучше не применять.
PM MAIL ICQ   Вверх
xvr
Дата 15.4.2009, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Anikmar @ 15.4.2009,  08:40)
Цитата(xvr @  14.4.2009,  12:19 Найти цитируемый пост)
А что получается? Можно еще проверять не на 0, а на нечто маленькое

ИМХО
Не можно, а нужно. К float оператор == лучше не применять.

Вообще да, но в данном конкретном случае можно

PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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