// BDE - (C) Copyright 1995 by Borland International // format.c #include "snipit.h" static const char szTblName[] = "FORMAT"; static const char szTblType[] = szPARADOX; // Field descriptor used in creating a table. static SNIPFAR FLDDesc fldDesc[] = { { // Field 1 - DATE 1, "DATE", fldDATE, fldUNKNOWN, 0, 0, 0, 0, 0, fldvNOCHECKS, fldrREADWRITE }, { // Field 2 - TIME 2, "TIME", fldTIME, fldUNKNOWN, 0, 0, 0, 0, 0, fldvNOCHECKS, fldrREADWRITE } }; // Array of field descriptors. // The number of fields in the table. static const unsigned uNumFields = sizeof(fldDesc) / sizeof (fldDesc[0]); //===================================================================== // Function: // Format(); // // Description: // This example shows how to change the formatting of // Date and Time fields. //===================================================================== void Format (void) { hDBIDb hDb; // Handle to the database hDBICur hCur; // Handle to the table CRTblDesc crTblDesc; // Create table descriptor FMTDate fmtDate; // Date format FMTTime fmtTime; // Time format UINT16 uDispNumRecs = 10; // Number of records to add and // display DBIResult rslt; // Return value from IDAPI functions Screen("*** Changing the format of Date and Time ***\r\n"); BREAK_IN_DEBUGGER(); Screen(" Initializing IDAPI..."); if (InitAndConnect(&hDb) != DBIERR_NONE) { Screen("\r\n*** End of Example ***"); return; } Screen(" Setting the database directory..."); rslt = DbiSetDirectory(hDb, (pCHAR) szTblDirectory); ChkRslt(rslt, "SetDirectory"); Screen(" Initializing the table descriptor..."); memset((void *) &crTblDesc , 0, sizeof(CRTblDesc)); strcpy(crTblDesc.szTblName, szTblName); strcpy(crTblDesc.szTblType, szTblType); crTblDesc.iFldCount = uNumFields; crTblDesc.pfldDesc = fldDesc; Screen(" Creating the %s table...", szTblName); rslt = DbiCreateTable(hDb, TRUE, &crTblDesc); if (ChkRslt(rslt, "CreateTable") != DBIERR_NONE) { CloseDbAndExit(&hDb); Screen("\r\n*** End of Example ***"); return; } Screen(" Fill the table with random data..."); FillTable(hDb, (pCHAR) szTblName, (pCHAR) szTblType, uDispNumRecs); Screen(" Open the %s table...", szTblName); rslt = DbiOpenTable(hDb, (pCHAR) szTblName, (pCHAR) szTblType, NULL, NULL, 0, dbiREADONLY, dbiOPENSHARED, xltFIELD, FALSE, NULL, &hCur); if (ChkRslt(rslt, "OpenTable") != DBIERR_NONE) { CloseDbAndExit(&hDb); Screen("\r\n*** End of Example ***"); return; } Screen(" Display the %s table with default date and time formats...", szTblName); DisplayTable(hCur, uDispNumRecs); // Get the format of the date. rslt = DbiGetDateFormat(&fmtDate); ChkRslt(rslt, "GetDateFormat"); Screen("\r\n Change the date format: toggle between MM/DD/YY and" " DD/MM/YY..."); if (fmtDate.iDateMode) { fmtDate.iDateMode = 0; } else { fmtDate.iDateMode = 1; } // Change the format of the date. rslt = DbiSetDateFormat(&fmtDate); ChkRslt(rslt, "SetDateFormat"); // Get the time format. rslt = DbiGetTimeFormat(&fmtTime); ChkRslt(rslt, "GetTimeFormat"); Screen(" Change the time format: toggle between 12 and 24 hour" " clock..."); if (fmtTime.bTwelveHour) { fmtTime.bTwelveHour = 0; } else { fmtTime.bTwelveHour = 1; } // Change the time format. rslt = DbiSetTimeFormat(&fmtTime); ChkRslt(rslt, "SetDateFormat"); // Set the cursor to the beginning of the table. rslt = DbiSetToBegin(hCur); ChkRslt(rslt, "SetToBegin"); Screen(" Display the \"%s\" table with the date and time" " formats changed...", szTblName); DisplayTable(hCur, uDispNumRecs); Screen("\r\n Close the %s table...", szTblName); rslt = DbiCloseCursor(&hCur); ChkRslt(rslt, "CloseCursor"); Screen(" Deleting the %s table...", szTblName); rslt = DbiDeleteTable(hDb, (pCHAR) szTblName, (pCHAR) szTblType); ChkRslt(rslt, "DeleteTable"); Screen(" Close the database and exit IDAPI..."); CloseDbAndExit(&hDb); Screen("\r\n*** End of Example ***"); }