⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 doc.c

📁 个人日程管理系统
💻 C
📖 第 1 页 / 共 2 页
字号:
		// ask that this db be backed up	dbAttributes |= dmHdrAttrBackup;	if (DmSetDatabaseInfo(cardNo, docdbID, NULL, &dbAttributes, NULL, NULL, NULL,			NULL, NULL, NULL, NULL, NULL, NULL))	{		DEBUG1("can't set DB info");		return;	}	//	// Initialize DOC header	//	info = (DocInfo_t*)MemPtrNew(sizeof(DocInfo_t));	info->version = DOC_UNCOMPRESSED;	info->crap = 0;	info->uncompsizeoftext = 0;	info->count = 0;	info->uncomplength = 4096;	info->morecrap = 0;	//	// export each records	//	putp = docrcd = MemPtrNew(4096);	docrcdlen = 0;	last++;	putString(fmt->szDocPrefix, NULL, NULL);	for (index = first; index < last; index++)	{		TaskExtendedRecordType* pTask;		h = DmQueryRecord(gdbP, index);		pTask = MemHandleLock(h);		// ignore done task if it's require		if (! gMemoExportPrefs.exportDone && 			(pTask->fields.task.completed == 10))		{			MemHandleUnlock(h);			continue;		}		// calc level.		if (nCurrLevel < pTask->attr.bits.level - FIRST_LEVEL)		{			nLevelOpened++;			putString(fmt->szLevelPrefix, NULL, NULL);			if (pTask->attr.bits.level - FIRST_LEVEL < DOC_EXPORT_LEVELS_MAX)				autonum[pTask->attr.bits.level - FIRST_LEVEL] = 0;		}		while (nCurrLevel > pTask->attr.bits.level - FIRST_LEVEL)		{			nCurrLevel--;			nLevelOpened--;			putString(fmt->szLevelSuffix, NULL, NULL);		}		nCurrLevel = pTask->attr.bits.level - FIRST_LEVEL;		// calc autonumber		if (nCurrLevel < DOC_EXPORT_LEVELS_MAX)			autonum[nCurrLevel]++;		fmt->fnProc(index, pTask);		MemHandleUnlock(h);	}	while (nLevelOpened-- > 0)		putString(fmt->szLevelSuffix, NULL, NULL);	putString(fmt->szDocSuffix, NULL, NULL);	flushDocBuffer();	MemPtrFree(docrcd);	//	// Make DOC headder record	//	{		index = 0;		h = DmNewRecord(docdb, &index, sizeof(DocInfo_t));		rcd = MemHandleLock(h);		DmWrite(rcd, 0, info, sizeof(DocInfo_t));		MemHandleUnlock(h);		DmReleaseRecord(docdb, index, true);	}	MemPtrFree(info);		DmCloseDatabase(docdb);} // void ExportToDoc(UInt16 cardNo, char const* name, UInt16 first, UInt16 last)/**************************************************************************** * Name : ExportTask_RawText * Desc : export task for raw text mode * Parm :  *         -> task * Out  :  * Auth : seagull, 20.11.2000 ***************************************************************************/static void ExportTask_RawText(UInt16 index, TaskExtendedRecordType* pTask){	char tmpbuff[20];	Char* desc;	// put description	// TODO:  auto number	putString(gDocExportHeadings[nCurrLevel].szDescPrefix, NULL, NULL);		desc = TaskGetDescriptionByTaskPtr(pTask);	putString(desc, NULL, NULL);	MemPtrFree(desc);		// put progress	if (gMemoExportPrefs.exportProgress &&		pTask->format.bits.itemType != informativeType)	{		if (pTask->format.bits.itemType == actionType)			putString(				((pTask->fields.task.completed == ACTION_DONE)? "[x]": "[ ]"),				NULL, NULL);		else		{			StrIToA(tmpbuff, pTask->fields.task.completed);			putString(tmpbuff, "[", "0%]");		}	}		// put dueDate	if (gMemoExportPrefs.exportDueDate && pTask->fields.task.dueDate.month)	{		DateToAscii(pTask->fields.task.dueDate.month,					pTask->fields.task.dueDate.day,					pTask->fields.task.dueDate.year + YEAR_OFFSET,					gDateFormat, tmpbuff);		putString(tmpbuff, "(", ")");	}			// put priority	if (gMemoExportPrefs.exportPriority &&		pTask->fields.task.priority > 0 && pTask->fields.task.priority < 7)	{		StrIToA(tmpbuff, pTask->fields.task.priority);		putString(tmpbuff, " <", ">");	}		putString(gDocExportHeadings[nCurrLevel].szDescSuffix, NULL, NULL);	putString((char*)szNL, NULL, NULL);		// put note	if (gMemoExportPrefs.exportNote &&		*(&pTask->fields.task.description + StrLen(&pTask->fields.task.description) + 1) != '\0')	{		putString(&pTask->fields.task.description + StrLen(&pTask->fields.task.description) + 1,				  ( (nCurrLevel < DOC_EXPORT_LEVELS_MAX)?					gDocExportHeadings[nCurrLevel].szLinePrefix : NULL),				  NULL);		putString((char*)szNL, NULL, NULL);	}}/**************************************************************************** * Name : ExportTask_HtmlUL * Desc : export task for html <UL> mode * Parm :  *         -> task * Out  :  * Auth : seagull, 20.11.2000 ***************************************************************************/static void ExportTask_HtmlUL(UInt16 index, TaskExtendedRecordType* pTask){	char tmpbuff[20];	Char* txt;	Char* enc;	// put description	txt = TaskGetDescriptionByTaskPtr(pTask);	enc = encodeHTML(txt);	putString(enc, "<LI>", NULL);	MemPtrFree(txt);	MemPtrFree(enc);		// put progress	if (gMemoExportPrefs.exportProgress &&		pTask->format.bits.itemType != informativeType)	{		if (pTask->format.bits.itemType == actionType)			putString(				((pTask->fields.task.completed == ACTION_DONE)? "[x]": "[ ]"),				NULL, NULL);		else		{			StrIToA(tmpbuff, pTask->fields.task.completed);			putString(tmpbuff, "[", "0%]");		}	}		// put dueDate	if (gMemoExportPrefs.exportDueDate && pTask->fields.task.dueDate.month)	{		DateToAscii(pTask->fields.task.dueDate.month,					pTask->fields.task.dueDate.day,					pTask->fields.task.dueDate.year + YEAR_OFFSET,					gDateFormat, tmpbuff);		putString(tmpbuff, "(", ")");	}			// put priority	if (gMemoExportPrefs.exportPriority &&		pTask->fields.task.priority > 0 && pTask->fields.task.priority < 7)	{		StrIToA(tmpbuff, pTask->fields.task.priority);		putString(tmpbuff, " &lt;", "&gt;");	}		putString("<BR>", NULL, NULL);		// put note	if (gMemoExportPrefs.exportNote &&		*(&pTask->fields.task.description + StrLen(&pTask->fields.task.description) + 1) != '\0')	{		txt = &pTask->fields.task.description + StrLen(&pTask->fields.task.description) + 1;		enc = encodeHTML(txt);		putString(enc, NULL, NULL);		MemPtrFree(enc);	}	putString("\n", NULL, NULL);}/**************************************************************************** * Name : ExportTask_HtmlHeading * Desc : export task for html <H1><H2>... mode * Parm :  *         -> task * Out  :  * Auth : seagull, 20.11.2000 ***************************************************************************/static void ExportTask_HtmlHeading(UInt16 index, TaskExtendedRecordType* pTask){	char tmpbuff[20];	Char* txt;	Char* enc;	StrIToA(tmpbuff, pTask->attr.bits.level);	putString(tmpbuff, "<H", ">");	// put description	txt = TaskGetDescriptionByTaskPtr(pTask);	enc = encodeHTML(txt);	putString(enc, NULL, NULL);	MemPtrFree(txt);	MemPtrFree(enc);		// put progress	if (gMemoExportPrefs.exportProgress &&		pTask->format.bits.itemType != informativeType)	{		if (pTask->format.bits.itemType == actionType)			putString(				((pTask->fields.task.completed == ACTION_DONE)? "[x]": "[ ]"),				NULL, NULL);		else		{			StrIToA(tmpbuff, pTask->fields.task.completed);			putString(tmpbuff, "[", "0%]");		}	}		// put dueDate	if (gMemoExportPrefs.exportDueDate && pTask->fields.task.dueDate.month)	{		DateToAscii(pTask->fields.task.dueDate.month,					pTask->fields.task.dueDate.day,					pTask->fields.task.dueDate.year + YEAR_OFFSET,					gDateFormat, tmpbuff);		putString(tmpbuff, "(", ")");	}			// put priority	if (gMemoExportPrefs.exportPriority &&		pTask->fields.task.priority > 0 && pTask->fields.task.priority < 7)	{		StrIToA(tmpbuff, pTask->fields.task.priority);		putString(tmpbuff, " &lt;", "&gt;");	}	StrIToA(tmpbuff, pTask->attr.bits.level);	putString(tmpbuff, "</H", ">\n");		// put note	if (gMemoExportPrefs.exportNote &&		*(&pTask->fields.task.description + StrLen(&pTask->fields.task.description) + 1) != '\0')	{		txt = &pTask->fields.task.description + StrLen(&pTask->fields.task.description) + 1;		enc = encodeHTML(txt);		putString(enc, "<p>", "</p>");		putString((char*)szNL, NULL, NULL);		MemPtrFree(enc);	}}/**************************************************************************** * Name : ExportTask_HtmlHeading * Desc : export task for html <TABLE></TABLE>... mode * Parm :  *         -> task * Out  :  * Auth : seagull, 20.11.2000 ***************************************************************************/static void ExportTask_HtmlTable(UInt16 index, TaskExtendedRecordType* pTask){	char tmpbuff[20];	Char* txt;	Char* enc;	char const szOpenTD[] = "<TD>";	char const szCloseTD[] = "</TD>";		putString("<TR>", NULL, NULL);	StrIToA(tmpbuff, index);	putString(tmpbuff, szOpenTD, szCloseTD);	StrIToA(tmpbuff, pTask->attr.bits.level);	putString(tmpbuff, szOpenTD, szCloseTD);	// put description	txt = TaskGetDescriptionByTaskPtr(pTask);	enc = encodeHTML(txt);	putString(enc, szOpenTD, szCloseTD);	MemPtrFree(txt);	MemPtrFree(enc);		// put progress	if (gMemoExportPrefs.exportProgress)	{		if (pTask->format.bits.itemType != informativeType)		{			if (pTask->format.bits.itemType == actionType)				putString(					((pTask->fields.task.completed == ACTION_DONE)? "DONE": ""),					szOpenTD, szCloseTD);			else			{				StrIToA(tmpbuff, pTask->fields.task.completed);				putString(tmpbuff, szOpenTD, "0%");				putString(szCloseTD, NULL, NULL);			}		}		else			putString(szEmpty, szOpenTD, szCloseTD);	}		// put dueDate	if (gMemoExportPrefs.exportDueDate && pTask->fields.task.dueDate.month)	{		DateToAscii(pTask->fields.task.dueDate.month,					pTask->fields.task.dueDate.day,					pTask->fields.task.dueDate.year + YEAR_OFFSET,					gDateFormat, tmpbuff);		putString(tmpbuff, szOpenTD, szCloseTD);	}			// put priority	if (gMemoExportPrefs.exportPriority &&		pTask->fields.task.priority > 0 && pTask->fields.task.priority < 7)	{		StrIToA(tmpbuff, pTask->fields.task.priority);		putString(tmpbuff, szOpenTD, szCloseTD);	}		// put note	if (gMemoExportPrefs.exportNote &&		*(&pTask->fields.task.description + StrLen(&pTask->fields.task.description) + 1) != '\0')	{		txt = &pTask->fields.task.description + StrLen(&pTask->fields.task.description) + 1;		enc = encodeHTML(txt);		putString(enc, szOpenTD, szCloseTD);		MemPtrFree(enc);	}	putString("</TR>\n", NULL, NULL);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -