示例#1
0
SHDigitDate::SHDigitDate(QWidget *parent)
	:QLCDNumber(parent)
{
	setDigitCount(10);

	m_timer = new QTimer(this);
	QObject::connect(m_timer, SIGNAL(timeout()), this, SLOT(displayDate()));
	m_timer->start(1000);
}
示例#2
0
文件: clock.cpp 项目: poyu1990/Clock
void Clock::updateClock(){
     
     displayDate();
     mvprintw(0,0,"F1-Military Time F3-Show seconds F6-Enter/Exit time set mode Esc- exit clock");
     mvprintw(1,0,"F7-Time <-> Alarm in set mode F8-Hour+1 F9-Hour-1 F10-Minute +1 F11-Minute -1");
     mvprintw(2,0,"Space Bar- gives 10 minute snooze time Enter- on/off alarm");
     
     attron(COLOR_PAIR(1));
     if (alarmOn)
        mvprintw(8,69,"  ");
     attroff(COLOR_PAIR(1));
     
     attron(COLOR_PAIR(0));
     if (!alarmOn)
        mvprintw(8,69,"  ");
     attroff(COLOR_PAIR(0));
     mvprintw(8,72,"alarm on");
     
     
     switch(mode){
     case CLOCK:
          clockMode();
          attron(COLOR_PAIR(0));
          mvprintw(4, 69, "  ");
          attroff(COLOR_PAIR(0));  
          display(&clockTime);
          break;             
     case TIME_SET:
          clockMode();  
          if( (clockTime.tm_sec%2) || !blink )
              display(&clockTime);
          else
              clear();
          attron(COLOR_PAIR(1));
          mvprintw(4, 69, "  ");
          attroff(COLOR_PAIR(1));
          mvprintw(4, 72, "set-mode");
          break;
     case ALARM:
          clockMode();
          attron(COLOR_PAIR(0));
          mvprintw(4, 69, "  ");
          attroff(COLOR_PAIR(0));  
          display(&alarm);
          break;
     case ALARM_SET:
          clockMode();
          attron(COLOR_PAIR(1));
          mvprintw(4, 69, "  ");
          attroff(COLOR_PAIR(1));
          mvprintw(4,72,"set-mode");
          display(&alarm);
          break;    
     }
}
// The loop function is called in an endless loop
void loop()
{
	//horloge
	displayDate();
	displayTimeDigit();

	//if (update == ON) {
    	//informations
    	getData();
    	storeData();
    	displayInformation();
    //}
    delay(500);
}
示例#4
0
void tableDisplay(My570List *list) {

/*
    +-----------------+--------------------------+----------------+----------------+
    |       Date      | Description              |         Amount |        Balance |
    +-----------------+--------------------------+----------------+----------------+
    | Thu Aug 21 2008 | ...                      |      1,723.00  |      1,723.00  |
    | Wed Dec 31 2008 | ...                      | (       45.33) |      1,677.67  |
    | Mon Jul 13 2009 | ...                      |     10,388.07  |     12,065.74  |
    | Sun Jan 10 2010 | ...                      | (      654.32) |     11,411.42  |
    +-----------------+--------------------------+----------------+----------------+
Each line is exactly 80 characters long (followed by a single "\n" character).
The Date field spans characters 3 through 17. Please use ctime() to format the timestamp 
and remove unnecessary characters to make it look like what's in the table above. 
The Description field spans characters 21 through 44. (If a description is too long,
you must truncate it.) The Amount field spans characters 48 through 61. For a withdrawal,
a pair of paranthesis must be used as indicated. If the amount of a transaction
is more than or equal to 10 million, please print ?,???,???.?? (or (?,???,???.??))
in the Amount field. The Balance field spans characters 65 through 78.
If a balance is negative, a pair of paranthesis must be used.
If the absolute value of a balance is more than or equal to 10 million, please print ?,???,???.?? (or (?,???,???.??)) in the Balance field.
 */
	double balance = 0;
 	fprintf(stdout,"+-----------------+--------------------------+----------------+----------------+\n");
	fprintf(stdout,"|       Date      | Description              |         Amount |        Balance |\n");
	fprintf(stdout,"+-----------------+--------------------------+----------------+----------------+\n");
	My570ListElem *elem=NULL;
	int recnum = 0;
	for (elem=list->First(); elem != NULL; elem=list->Next(elem)) {
        struct record *temp =(struct record*)(elem->Obj());
		temp->recordnum =recnum;
		recnum++;

		fprintf(stdout,"| ");
		displayDate(temp->timestamp); 		///<will add a space at the end ---TIMESTAMP
		
		fprintf(stdout,"| ");				///< add a | on same line		---DESCRIPTION
		displayDescription(temp->description);
		
		fprintf(stdout,"| ");				///< add a | on same line		---AMOUNT
		displayAmount(temp);
		
		fprintf(stdout,"| ");				///< add a | on same line		---AMOUNT
		balance = displayBalance(balance,temp);
		
		fprintf(stdout,"|");
		fprintf(stdout,"\n");
    }
	fprintf(stdout,"+-----------------+--------------------------+----------------+----------------+\n");	
}
示例#5
0
// Start point
int main(void) {
	struct date d;
	
	printf("Initialize date (DD/MM/YYYY) > ");
	scanf("%i/%i/%i", &d.day, &d.month, &d.year);

	while(true)
	{
		displayDate(d);
		d = updateDate(d);
		getchar();
	}
	
	return 0;
}
示例#6
0
QVariant DiveItem::data(int column, int role) const
{
	QVariant retVal;

	switch (role) {
	case Qt::TextAlignmentRole:
		switch (column) {
		case DATE: /* fall through */
		case SUIT: /* fall through */
		case LOCATION:
			retVal = Qt::AlignLeft;
			break;
		default:
			retVal = Qt::AlignRight;
			break;
		}
		break;
		case DiveTripModel::SORT_ROLE:
		switch (column) {
		case NR:		retVal = (qulonglong) dive->when; break;
		case DATE:		retVal = (qulonglong) dive->when; break;
		case RATING:		retVal = dive->rating; break;
		case DEPTH:		retVal = dive->maxdepth.mm; break;
		case DURATION:		retVal = dive->duration.seconds; break;
		case TEMPERATURE:	retVal = dive->watertemp.mkelvin; break;
		case TOTALWEIGHT:	retVal = total_weight(dive); break;
		case SUIT:		retVal = QString(dive->suit); break;
		case CYLINDER:		retVal = QString(dive->cylinder[0].type.description); break;
		case NITROX:		retVal = nitrox_sort_value(dive); break;
		case SAC:		retVal = dive->sac; break;
		case OTU:		retVal = dive->otu; break;
		case MAXCNS:		retVal = dive->maxcns; break;
		case LOCATION:		retVal = QString(dive->location); break;
		}
		break;
	case Qt::DisplayRole:
		switch (column) {
		case NR:		retVal = dive->number; break;
		case DATE:		retVal = displayDate(); break;
		case DEPTH:		retVal = displayDepth(); break;
		case DURATION:		retVal = displayDuration(); break;
		case TEMPERATURE:	retVal = displayTemperature(); break;
		case TOTALWEIGHT:	retVal = displayWeight(); break;
		case SUIT:		retVal = QString(dive->suit); break;
		case CYLINDER:		retVal = QString(dive->cylinder[0].type.description); break;
		case NITROX:		retVal = QString(get_nitrox_string(dive)); break;
		case SAC:		retVal = displaySac(); break;
		case OTU:		retVal = dive->otu; break;
		case MAXCNS:		retVal = dive->maxcns; break;
		case LOCATION:		retVal = QString(dive->location); break;
		}
		break;
	}

	if (role == DiveTripModel::STAR_ROLE)
		retVal = dive->rating;

	if (role == DiveTripModel::DIVE_ROLE)
		retVal = QVariant::fromValue<void*>(dive);

	if(role == DiveTripModel::DIVE_IDX){
		retVal = get_divenr(dive);
	}
	return retVal;
}
示例#7
0
QVariant DiveItem::data(int column, int role) const
{
	QVariant retVal;
	struct dive *dive = get_dive_by_uniq_id(diveId);
	if (!dive)
		return QVariant();

	switch (role) {
	case Qt::TextAlignmentRole:
		retVal = dive_table_alignment(column);
		break;
	case DiveTripModel::SORT_ROLE:
		Q_ASSERT(dive != NULL);
		switch (column) {
		case NR:
			retVal = (qulonglong)dive->when;
			break;
		case DATE:
			retVal = (qulonglong)dive->when;
			break;
		case RATING:
			retVal = dive->rating;
			break;
		case DEPTH:
			retVal = dive->maxdepth.mm;
			break;
		case DURATION:
			retVal = dive->duration.seconds;
			break;
		case TEMPERATURE:
			retVal = dive->watertemp.mkelvin;
			break;
		case TOTALWEIGHT:
			retVal = total_weight(dive);
			break;
		case SUIT:
			retVal = QString(dive->suit);
			break;
		case CYLINDER:
			retVal = QString(dive->cylinder[0].type.description);
			break;
		case GAS:
			retVal = nitrox_sort_value(dive);
			break;
		case SAC:
			retVal = dive->sac;
			break;
		case OTU:
			retVal = dive->otu;
			break;
		case MAXCNS:
			retVal = dive->maxcns;
			break;
		case LOCATION:
			retVal = QString(get_dive_location(dive));
			break;
		}
		break;
	case Qt::DisplayRole:
		Q_ASSERT(dive != NULL);
		switch (column) {
		case NR:
			retVal = dive->number;
			break;
		case DATE:
			retVal = displayDate();
			break;
		case DEPTH:
			retVal = displayDepth();
			break;
		case DURATION:
			retVal = displayDuration();
			break;
		case TEMPERATURE:
			retVal = displayTemperature();
			break;
		case TOTALWEIGHT:
			retVal = displayWeight();
			break;
		case SUIT:
			retVal = QString(dive->suit);
			break;
		case CYLINDER:
			retVal = QString(dive->cylinder[0].type.description);
			break;
		case SAC:
			retVal = displaySac();
			break;
		case OTU:
			retVal = dive->otu;
			break;
		case MAXCNS:
			retVal = dive->maxcns;
			break;
		case LOCATION:
			retVal = QString(get_dive_location(dive));
			break;
		case GAS:
			const char *gas_string = get_dive_gas_string(dive);
			retVal = QString(gas_string);
			free((void*)gas_string);
			break;
		}
		break;
	case Qt::DecorationRole:
		if (column == LOCATION)
			if (dive_has_gps_location(dive)) {
				IconMetrics im = defaultIconMetrics();
				retVal = QIcon(":satellite").pixmap(im.sz_small, im.sz_small);
			}
		break;
	case Qt::ToolTipRole:
		switch (column) {
		case NR:
			retVal = tr("#");
			break;
		case DATE:
			retVal = tr("Date");
			break;
		case RATING:
			retVal = tr("Rating");
			break;
		case DEPTH:
			retVal = tr("Depth(%1)").arg((get_units()->length == units::METERS) ? tr("m") : tr("ft"));
			break;
		case DURATION:
			retVal = tr("Duration");
			break;
		case TEMPERATURE:
			retVal = tr("Temp(%1%2)").arg(UTF8_DEGREE).arg((get_units()->temperature == units::CELSIUS) ? "C" : "F");
			break;
		case TOTALWEIGHT:
			retVal = tr("Weight(%1)").arg((get_units()->weight == units::KG) ? tr("kg") : tr("lbs"));
			break;
		case SUIT:
			retVal = tr("Suit");
			break;
		case CYLINDER:
			retVal = tr("Cyl");
			break;
		case GAS:
			retVal = tr("Gas");
			break;
		case SAC:
			const char *unit;
			get_volume_units(0, NULL, &unit);
			retVal = tr("SAC(%1)").arg(QString(unit).append(tr("/min")));
			break;
		case OTU:
			retVal = tr("OTU");
			break;
		case MAXCNS:
			retVal = tr("Max CNS");
			break;
		case LOCATION:
			retVal = tr("Location");
			break;
		}
		break;
	}

	if (role == DiveTripModel::STAR_ROLE) {
		Q_ASSERT(dive != NULL);
		retVal = dive->rating;
	}
	if (role == DiveTripModel::DIVE_ROLE) {
		retVal = QVariant::fromValue<void *>(dive);
	}
	if (role == DiveTripModel::DIVE_IDX) {
		Q_ASSERT(dive != NULL);
		retVal = get_divenr(dive);
	}
	return retVal;
}
示例#8
0
void Devices::displayDate(time_t time, Stream* displayOn)
{
	tmElements_t _t;
	breakTime(time, _t);
	displayDate(&_t, displayOn);
}
bool Element::isInOneDayWithPrevious() const {
	return !data()->isEmpty() && !displayDate();
}
示例#10
0
文件: main.c 项目: pawelc06/STM32
int main(void) {
	FRESULT fresult;

	NVIC_InitTypeDef nvicStructure;

	SystemInit();

	GPIO_Config();
	SPI_Config();
	/*
	 for(i1=0;i1<TABLE_SIZE;i1++){
	 buffer[0][i1] = 4*i1;
	 }

	 for(i1=0;i1<TABLE_SIZE;i1++){
	 buffer[1][i1] = 2047*sin(currentPhase)+2047;
	 currentPhase += phaseIncrement;
	 }
	 */

	/* Configure LED3 and LED4 on STM32L100C-Discovery */
	STM_EVAL_LEDInit(LED3);
	STM_EVAL_LEDInit(LED4);



	/* SysTick end of count event each 1ms */
	//RCC_GetClocksFreq(&RCC_Clocks);
	// SysTick_Config(RCC_Clocks.HCLK_Frequency / 1000);
	//delay_init(72);//
	delay_init(16);
	Lcd_Init2();

	Lcd_Clear2(BLACK);

	/* RTC configuration */
	//RTC_Config();
	RTC_Config32768Internal();

	/* Configure RTC alarm A register to generate 8 interrupts per 1 Second */
	RTC_AlarmConfig();

	tft_puts(45, 20, "12:00", white, black);

	RCC_ClocksTypeDef RCC_Clocks;

	/* Initialize User_Button on STM32L100C-Discovery */
	STM_EVAL_PBInit(BUTTON_MODE, BUTTON_MODE_GPIO);
	STM_EVAL_PBInit(BUTTON_UP, BUTTON_MODE_GPIO);
	STM_EVAL_PBInit(BUTTON_DOWN, BUTTON_MODE_GPIO);
	//STM_EVAL_PBInit(BUTTON_MODE, BUTTON_MODE_EXTI);

	/* SysTick end of count event each 1ms */
	//   RCC_GetClocksFreq(&RCC_Clocks);
	//   SysTick_Config(RCC_Clocks.HCLK_Frequency / 1000);

	/*************************/

	//TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);

	nvicStructure.NVIC_IRQChannel = TIM2_IRQn;
	nvicStructure.NVIC_IRQChannelPreemptionPriority = 0;
	nvicStructure.NVIC_IRQChannelSubPriority = 1;
	nvicStructure.NVIC_IRQChannelCmd = ENABLE;
	NVIC_Init(&nvicStructure);

	TIM_TimeBaseInitTypeDef timerInitStructure;
	timerInitStructure.TIM_Prescaler = 3200; //32 MHz/3200 = 10000
	timerInitStructure.TIM_CounterMode = TIM_CounterMode_Up;
	//timerInitStructure.TIM_Period = 3332;
	timerInitStructure.TIM_Period = 100; //10 000/100 = 100 Hz - sampling frequency of buttons
	timerInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;

	//timerInitStructure.TIM_RepetitionCounter = 0;
	TIM_TimeBaseInit(TIM2, &timerInitStructure);
	TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
	TIM_Cmd(TIM2, ENABLE);

	/*************************/

	//GPIO_PinAFConfig(GPIOA, GPIO_PinSource4, GPIO_AF_SPI1);
	GPIO_PinAFConfig(GPIOA, GPIO_PinSource5, GPIO_AF_SPI1);
	GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_SPI1);
	GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_SPI1);





	fresult = f_mount(&g_sFatFs, "0:0", 1);

	//LCD_BMP("kasia.bmp");

	//Gui_DrawFont_GBK24_bk(20,120, BLUE, WHITE, "1234 abcd");

	//playWav("rct3.wav"); // fsamp 22050 Hz, 8bit



	/* tests */
	//playWav("m8m.wav"); // fsamp 44100 Hz, 8 bit
	//playWav("bj8.wav"); // fsamp 44100 Hz, 8 bit
	//playWav("im16.wav");  // fsamp 44100 Hz, 16 bit

	//playWavFromIntMemory(rooster3);


	displayDate();

	while (1) {
		if (updated) {
			displayTime();
			updated = false;

			if(updateDate){
							updateAndDisplayDate();
							updateDate = false;
					}

		}





	}

}
示例#11
0
/*
 * Prints date and time representation of the current time
 */
void Time::displayDateTime() {
  displayDate();
  displayTime();
}