示例#1
0
文件: main.cpp 项目: zwug/homework
int CreateFormatFile(const char filename[]) {
    std::fstream file;
    file.open(filename, std::ios::binary | std::ios::out | std::ofstream::trunc);
    if (!file) {
        std::cout << "Не удается открыть файл\n";
        return 1;
    }
    // Запись пустых данных
    file.seekg(0, file.beg);
    for (int i = 0; i < EMPTY_ROWS_COUNT; i++) {
        contact emptyContact = { "NULL", "NULL", "8(   )   -    " };
        file.write((char*)&emptyContact, sizeof(contact));
    }
    // Запись заполненных данных
    file.seekg(0, file.end);
    for (int i = 0; i < TEST_ROWS_COUNT; i++) {
        contact testContact = {"Nikolai", "Kurilov", ""};
        generatePhone(testContact.phone);
        file.write((char*)&testContact, sizeof(contact));
    }

    printFile(file, filename);
    // Изменение данных
    char dataToWrite[NAME_LENGTH] = {};
    file.seekg(ROW_LENGTH * 80 + 2 * NAME_LENGTH, file.beg);
    file.write("8(999)999-9999", PHONE_LENGTH);
    file.seekg(ROW_LENGTH * 81, file.beg);
    strcpy_s(dataToWrite, 6, "Aaron");
    file.write(dataToWrite, NAME_LENGTH);
    file.seekg(ROW_LENGTH * 83 + NAME_LENGTH, file.beg);
    strcpy_s(dataToWrite, 5, "Paul");
    file.write(dataToWrite, NAME_LENGTH);
    file.seekg(ROW_LENGTH * 3 + NAME_LENGTH, file.beg);
    strcpy_s(dataToWrite, 8, "Johnson");
    file.write(dataToWrite, NAME_LENGTH);

    printFile(file, filename);
    file.close();
}
示例#2
0
	bool GenericSkin::init() {
		const char *dir = getenv("MOSYNCDIR");

		if(!dir) return false;

		if(!sSkinImage)
			sSkinImage        = loadPNGImage((std::string(dir)+"/skins/skinImage.png").c_str());
		if(!sSkinImage) return false;
		if(!sSelectedKeypad)
			sSelectedKeypad   = loadPNGImage((std::string(dir)+"/skins/keypadSelected.png").c_str());
		if(!sSelectedKeypad) return false;
		if(!sUnselectedKeypad)
			sUnselectedKeypad = loadPNGImage((std::string(dir)+"/skins/keypadUnselected.png").c_str());
		if(!sUnselectedKeypad) return false;
		if(!sMultiTouchImage)
			sMultiTouchImage = loadPNGImage((std::string(dir)+"/skins/multitouchMarker.png").c_str());
		if(!sMultiTouchImage) return false;

		int w = getWindowWidth();
		int h = getWindowHeight();

		unselectedPhone = createSurface(w, h);
		selectedPhone   = createSurface(w, h);

		generatePhone();

		int keysX=0, keysY=0;

		if(mProfile->mKeyboardType == DeviceProfile::DKT_KEYPAD) {
			keysX = w/2 - sUnselectedKeypad->w/2;
			keysY = h - sUnselectedKeypad->h - 24;
		} else if(mProfile->mKeyboardType == DeviceProfile::DKT_JOYSTICK) {
			keysX = w/2 - sUnselectedKeypad->w/2;
			keysY = h - 74 - 24;
		}

#define OFFSET_X (27-keysX)
#define OFFSET_Y (368-keysY)
		if(mProfile->mKeyboardType == DeviceProfile::DKT_JOYSTICK || mProfile->mKeyboardType == DeviceProfile::DKT_KEYPAD) {

			keyRects.push_back(KeyRect(MAK_UP, 132-OFFSET_X, 369-OFFSET_Y, 20, 20));
			keyRects.push_back(KeyRect(MAK_RIGHT, 159-OFFSET_X, 399-OFFSET_Y, 10, 20));
			keyRects.push_back(KeyRect(MAK_DOWN, 132-OFFSET_X, 426-OFFSET_Y, 12, 10));
			keyRects.push_back(KeyRect(MAK_LEFT, 107-OFFSET_X, 399-OFFSET_Y, 10, 20));

			keyRects.push_back(KeyRect(MAK_SOFTLEFT, 32-OFFSET_X, 378-OFFSET_Y, 80, 23));
			keyRects.push_back(KeyRect(MAK_SOFTRIGHT, 164-OFFSET_X, 378-OFFSET_Y, 80, 23));

			keyRects.push_back(KeyRect(MAK_FIRE, 120-OFFSET_X, 387-OFFSET_Y, 36, 36));
			keyRects.push_back(KeyRect(MAK_CLEAR, 222-OFFSET_X, 500-OFFSET_Y, 26, 60));
		}

		if(mProfile->mKeyboardType == DeviceProfile::DKT_KEYPAD) {
			keyRects.push_back(KeyRect(MAK_1, 54-OFFSET_X, 451-OFFSET_Y, 55, 23));
			keyRects.push_back(KeyRect(MAK_2, 110-OFFSET_X, 451-OFFSET_Y, 55, 23));
			keyRects.push_back(KeyRect(MAK_3, 166-OFFSET_X, 451-OFFSET_Y, 55, 23));
			keyRects.push_back(KeyRect(MAK_4, 54-OFFSET_X, 476-OFFSET_Y, 55, 23));
			keyRects.push_back(KeyRect(MAK_5, 110-OFFSET_X, 476-OFFSET_Y, 55, 23));
			keyRects.push_back(KeyRect(MAK_6, 166-OFFSET_X, 476-OFFSET_Y, 55, 23));
			keyRects.push_back(KeyRect(MAK_7, 54-OFFSET_X, 501-OFFSET_Y, 55, 23));
			keyRects.push_back(KeyRect(MAK_8, 110-OFFSET_X, 501-OFFSET_Y, 55, 23));
			keyRects.push_back(KeyRect(MAK_9, 166-OFFSET_X, 501-OFFSET_Y, 55, 23));
			keyRects.push_back(KeyRect(MAK_STAR, 54-OFFSET_X, 526-OFFSET_Y, 55, 23));
			keyRects.push_back(KeyRect(MAK_0, 110-OFFSET_X, 526-OFFSET_Y, 55, 23));
			keyRects.push_back(KeyRect(MAK_HASH, 166-OFFSET_X, 526-OFFSET_Y, 55, 23));
		}

		screenRect.x = w/2 - mProfile->mScreenWidth/2;
		screenRect.y = 24;
		screenRect.w = mProfile->mScreenWidth;
		screenRect.h = mProfile->mScreenHeight;

		windowRect.x = 0;
		windowRect.y = 0;
		windowRect.w = w;
		windowRect.h = h;

		return true;
	}