Esempio n. 1
0
void TscalePreviewLabel::changeStyle(Tnote::EnameStyle style) {
	// Tnote::toRichText() method returns only names in user preferred according to settings
	// To cheat it and force note name in any given style we are resetting pointer of is7th_B 
	// then Tnote skips filtering of a style during name generation.
		bool* tmpPtr = TnameStyleFilter::is7th_B();
		TnameStyleFilter::setStyleFilter(0, TnameStyleFilter::solfegeStyle());
		QString c_majorScale = "";
		QString accidsLine = "";
		for (int i = 1; i < 8; i++) {
			Tnote tmpNote(i, 0, 0);
			c_majorScale += tmpNote.toRichText(style) + " &nbsp;&nbsp;";
		}
		if (m_withAccids) {
				accidsLine = "<br>";
				Tnote tmpNote(1, 0, 1); // Ces
				accidsLine += tmpNote.toRichText(style) + "&nbsp;&nbsp;&nbsp;";
				tmpNote = Tnote(2, 0, -1); // Des
				accidsLine += tmpNote.toRichText(style) + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
				tmpNote = Tnote(6, 0, -1); // Ais
				accidsLine += tmpNote.toRichText(style) + "&nbsp;&nbsp;&nbsp;";
				tmpNote = Tnote(7, 0, -1); // Bb or Hb
				accidsLine += tmpNote.toRichText(style);
		}
		setText(QString("<p style=\"font-size: x-large;\">") + c_majorScale + accidsLine + "</p>");
		TnameStyleFilter::setStyleFilter(tmpPtr, TnameStyleFilter::solfegeStyle()); // restore is7th_B settings
}
Esempio n. 2
0
int main(void)
{
	setlocale(LC_ALL, ".1251");// Русификация

	// Создание входящего потока и его открытие
	ifstream inStream("readme.txt");

	// Проверка на открытие файла
	if (!inStream.is_open()) {
		cout << "Ошибка открытия файла file.txt" << endl;
		system("pause");
		exit(1);
	}

	// Создание динамического массива NOTE
	NOTE *notes = new NOTE[8];

	char tmpSurname[200];// Временная переменная фамилии
	int tmpPhoneNumber(0);// Временная переменная номера телефона
	int tmpBirthday[3] = { 0 };// Временная переменная даты рождения
	char tmpSeparator(' ');// Символ разделяющий дату рождения

	// Цикл чтения из файла
	for (int i = 0; i < 8; i++)
	{
		// Считывание данных во временные переменные
		inStream >> tmpSurname >> tmpPhoneNumber >> tmpBirthday[0] >> tmpSeparator >> tmpBirthday[1] >> tmpSeparator >> tmpBirthday[2];

		// Создание временного объекта NOTE
		NOTE tmpNote(tmpSurname, tmpPhoneNumber, tmpBirthday[0], tmpBirthday[1], tmpBirthday[2]);

		// Вставка временного объекта в массив notes
		notes[i] = tmpNote;
	}

	// Закрываем поток
	inStream.close();

	/*
		Вывод массива до сортировки
	*/
	cout << endl << "Вывод массива до сортировки: " << endl << endl;

	for (int i = 0; i < 8; i++)
		notes[i].show();

	// Сортируем массив NOTE
	selectSort(notes, 8);

	/*
		Вывод массива после сортировки
	*/
	cout << endl << "Вывод массива после сортировки: " << endl << endl;

	for (int i = 0; i < 8; i++)
		notes[i].show();

	// Ввод месяца
	cout << "Введите пожалуйста фамилию для сравнения: ";
	cin >> tmpSurname;

	// Преобразование символов из иероглифов в русскую раскладку
	OemToCharA(tmpSurname, tmpSurname);

	// Очистка экрана
	system("cls");

	// Поиск информации
	for (int i = 0, count = 0; i <= 8; i++)
	{
		// Если пройдясь по всем записям и не нашлось ни одного совпадения
		if ((i == 8) && count == 0)
			cout << "Нет соответствующей записи" << endl;

		// Если прошлись по всем записям и нашлись совпадения
		else if (i == 8 && count != 0)
			break;

		// Если не закончились записи, ищем совпадения
		else if (notes[i] == tmpSurname) {
			
			// Вывод
			notes[i].show();

			// Увеличение счётчика
			count++;
		}
	}

	// Приостановка программы для просмотра результата
	system("pause");

	return NULL;// Передача управления операционной системе
}