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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2013, 16:23   #1
vitalij-cher
Пользователь
 
Регистрация: 13.06.2007
Сообщений: 12
По умолчанию из с++ builder в с++

Здравствуйте.
У меня написан класс и программа в С++ builder, нужно переписать в С++ (по стандарту С++). Если переписать класс, то саму программу тоже нужно будет переписать? Помогите, ну или за чисто символическую плату)
вот код класса
Код:
#pragma package(smart_init)
#pragma resource "*.dfm"

class Ttime
{
  private:
  		int second;							
  public:
  		Ttime();		
        Ttime(byte h, byte m, byte s); 			
        Ttime(Ttime &time);					
        void SetTime(byte h, byte m, byte s);  
        byte GetHours();                       
        byte GetMinutes();                     
        byte GetSeconds();                     
        String FormatPrint(byte format);     	
        Ttime operator +(const Ttime &time);   
        Ttime operator -(const Ttime &time);    
};

Ttime::Ttime()
{
  byte h = StrToInt(FormatDateTime("hh",Time()));  
  byte m = StrToInt(FormatDateTime("nn",Time())); 
  byte s = StrToInt(FormatDateTime("ss",Time()));  
  second = h*3600 + m*60 + s;                      
};

Ttime::Ttime(byte h, byte m, byte s)
{
  if ((h>24) || (h<0)) h=23;                      
  if ((m>60) || (m<0)) m=59;                    
  if ((s>60) || (s<0)) s=59;                      
  second = h*3600 + m*60 + s;                
};

Ttime::Ttime(Ttime &time)
{
  second = time.second;
};

void Ttime::SetTime(byte h, byte m, byte s)
{
  if ((h>24) || (h<0)) h=23;
  if ((m>60) || (m<0)) m=59;
  if ((s>60) || (s<0)) s=59;
  second = h*3600 + m*60 + s;
};

byte Ttime::GetHours()
{
  return (div(second, 3600).quot);
};

byte Ttime::GetMinutes()
{
  return(div(second - GetHours()*3600,60).quot);
};

byte Ttime::GetSeconds()
{
  return (second - GetHours()*3600-GetMinutes()*60);
};

String Ttime::FormatPrint(byte format)
{
  String hs = GetHours();
  String ms = GetMinutes();
  String ss = GetSeconds();

  if (GetHours()<10)   hs = "0"+IntToStr(GetHours());
  if (GetMinutes()<10) ms = "0"+IntToStr(GetMinutes());
  if (GetSeconds()<10) ss = "0"+IntToStr(GetSeconds());

  switch (format)
  {
    case 2:
      return(hs + ":" + ms);    
    case 3:                    
      if (GetHours()<=12)
        {
          return(hs+":"+ms+" a.m");
        }
      else
        {
          return(IntToStr(GetHours()-12)+":"+ms+" p.m");
        }
    default:                   
      return(hs+":"+ms+":"+ss);
  }
};

Ttime Ttime::operator +(const Ttime & time)
{
  if (second+time.second <  86400)  
    {
      second = second + time.second;       
    }
  else second = 86399;                   
  return *this;                            
};


Ttime Ttime::operator -(const Ttime & time)
{
  if (second > time.second)              
    {
      second = second - time.second;       
    }
  else second = 0;                         
  return *this;
};
vitalij-cher вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CodeGear C++ Builder 2007 Lite не может откомпилировать исходники C++ Builder 6 Ecosasha C++ Builder 2 22.11.2013 15:02
переезд из C++ Builder 6 в C++ Builder 2009 NadS Помощь студентам 2 18.03.2012 06:44
Синтаксис Delphi Builder --> C++ Builder KingBelt C++ Builder 2 28.11.2010 16:25
C++ Builder Eugene_Rublev Помощь студентам 5 29.09.2009 17:50
Перенести код из C++ Builder 5 в C++ Builder 2009 Kreadlling C++ Builder 2 13.09.2009 14:00