home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / zfamily.zip / zfamily / ZNLFUNCS / SAMPLE / TSTTIME.INC < prev    next >
Text File  |  1993-09-21  |  4KB  |  97 lines

  1. /*
  2. ** /----------------------------------------------------------------------\
  3. ** |             IBM Z Family Reusable Libraries/2 (5641-504)             |
  4. ** |----------------------------------------------------------------------|
  5. ** | (C) Copyright International Business Machines Corporation 1993, 1994 |
  6. ** |----------------------------------------------------------------------|
  7. ** |                       DISCLAIMER OF WARRANTIES                       |
  8. ** |                       ------------------------                       |
  9. ** | The following code is sample code created by IBM Corporation.        |
  10. ** | Such a code is provided to you solely for the purpose of assisting   |
  11. ** | you in the development of your applications. The code is provided    |
  12. ** | "AS IS", without warranty of any kind.  IBM shall not be liable for  |
  13. ** | any damages arising out of your use of the following code, even if   |
  14. ** | they have been advised of the possibility of such damages.           |                                                                         *
  15. ** \----------------------------------------------------------------------/
  16. **
  17. **  Header   : TSTTIME.INC
  18. **  Author   : Valerio Tavazzi (TAVAZZI at ROMEPPC)
  19. **  Reviewer : Dario de Judicibus (DEJUDICI at ROMEPPC)
  20. **  Created  : 14 Jul 1992
  21. **  Updated  : 21 Sep 1993
  22. **  Version  : 3.22
  23. **  Content  : Called by TMEFMTMsgProc in WM_INITDLG case statement
  24. **
  25. */
  26.  {
  27.    char pszRealDate [znlLONGBUFFER] ; // Date as returned by znlGetDateTime
  28.    char pszRealTime [znlLONGBUFFER] ; // Time as returned by znlGetDateTime
  29.    char pszTimein   [znlLONGBUFFER] ; // Time in internal format
  30.    char pszTempTime [znlLONGBUFFER] ; // Formatted time string to be converted in internal
  31.    char pszTime     [znlLONGBUFFER] ; // Formatted time string
  32.    char pszTime12   [znlLONGBUFFER] ; // Time in 12h format
  33.    char pszTime24   [znlLONGBUFFER] ; // Time in 24h format
  34.  
  35.   /*
  36.   **  Get actual date and time
  37.   */
  38.    if (!znlGetDateTime(pszRealDate, pszRealTime)) return(FALSE) ;
  39.  
  40.   /*
  41.   **  Get formatted time to be converted in internal format     
  42.   */
  43.    if (!znlMakeCtryTime(&Country, pszRealTime, pszTempTime)) return(FALSE) ;                                                                
  44.  
  45.   /*
  46.   **  Get internal time for test purposes 
  47.   */
  48.    if(!znlMakeInnerTime(&Country, pszTempTime, pszTimein)) return(FALSE) ;                                                           
  49.  
  50.   /*
  51.   **  Get pointer to the TMEFMT structure
  52.   */
  53.    Tmefmt = (TMEFMTStruct *)WinQueryWindowULong(hWndClient, OFFSET_TMEFMT) ;
  54.  
  55.    Tmefmt->TmeFmtFormat = (int)Country.CtryInfo.fsTimeFmt ;
  56.    strcpy(Tmefmt->TmeFmtSeparator , Country.CtryInfo.szTimeSeparator) ;
  57.  
  58.    if(!znlMakeCtryTime(&Country, pszTimein, pszTime)) break ;
  59.  
  60.   /*
  61.   **  Time might be 24h (\x01) or 12h (\x00) format
  62.   */
  63.    if(Country.CtryInfo.fsTimeFmt == '\x01')  
  64.    {
  65.      cwCheckDlgItem(hWndDlg, TMEFMT24HRDB, TRUE) ;
  66.      cwCheckDlgItem(hWndDlg, TMEFMT12HRDB, FALSE) ;
  67.  
  68.      Country.CtryInfo.fsTimeFmt = '\x00' ;
  69.  
  70.      if (! znlMakeCtryTime   (&Country, pszTimein, pszTime12))   break ;
  71.      if (! WinSetDlgItemText (hWndDlg, TMEFMT24HSTX, pszTime))   break ;
  72.      if (! WinSetDlgItemText (hWndDlg, TMEFMT12HSTX, pszTime12)) break ;
  73.  
  74.      Country.CtryInfo.fsTimeFmt = '\x01' ;
  75.    }
  76.    else
  77.    {
  78.      cwCheckDlgItem(hWndDlg, TMEFMT24HRDB, FALSE) ;
  79.      cwCheckDlgItem(hWndDlg, TMEFMT12HRDB, TRUE) ;
  80.  
  81.      Country.CtryInfo.fsTimeFmt = '\x01' ;
  82.  
  83.      if (! znlMakeCtryTime   (&Country, pszTimein, pszTime24))   break ;
  84.      if (! WinSetDlgItemText (hWndDlg, TMEFMT12HSTX, pszTime))   break ;
  85.      if (! WinSetDlgItemText (hWndDlg, TMEFMT24HSTX, pszTime24)) break ;
  86.  
  87.      Country.CtryInfo.fsTimeFmt = '\x00' ;
  88.    }
  89.  
  90.   /*
  91.   **  Initialize entry field control: TmeFmtSeparator
  92.   */
  93.    WinSendDlgItemMsg(hWndDlg, TMEFMTSEPFLD, EM_SETTEXTLIMIT, MPFROMSHORT(2), 0L) ;
  94.    if (Tmefmt->TmeFmtSeparator[0])
  95.      WinSetDlgItemText(hWndDlg, TMEFMTSEPFLD, Tmefmt->TmeFmtSeparator) ;
  96.  }
  97.