PREFER.C
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /**************************************************************************
  2.  *
  3.  *  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  4.  *  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  5.  *  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  6.  *  PURPOSE.
  7.  *
  8.  *  Copyright (C) 1993 - 1997  Microsoft Corporation.  All Rights Reserved.
  9.  * 
  10.  **************************************************************************/
  11. /*
  12.  * prefer.c - Routines to get and set user preferences.
  13.  */
  14. #include <windows.h>
  15. #include <mmsystem.h>
  16. #include <stdio.h>
  17. #include "midimon.h"
  18. #include "prefer.h"
  19. /* getPreferences - Reads .INI file and gets the setup preferences.
  20.  *      Currently, the only user preferences are window location and size.
  21.  *      If the .INI file does not exist, returns default values.
  22.  *
  23.  * Params:  lpPreferences - Points to a PREFERENCES data structure that
  24.  *              is filled with the retrieved user preferences.
  25.  *
  26.  * Return:  void
  27. */
  28. void getPreferences(LPPREFERENCES lpPreferences)
  29. {
  30.     lpPreferences->iInitialX = 
  31.         GetPrivateProfileInt(INI_DISPLAYWINDOW, INI_X, DEF_X, INI_FILENAME);
  32.     lpPreferences->iInitialY = 
  33.         GetPrivateProfileInt(INI_DISPLAYWINDOW, INI_Y, DEF_Y, INI_FILENAME);
  34.     lpPreferences->iInitialW = 
  35.         GetPrivateProfileInt(INI_DISPLAYWINDOW, INI_W, DEF_W, INI_FILENAME);
  36.     lpPreferences->iInitialH = 
  37.         GetPrivateProfileInt(INI_DISPLAYWINDOW, INI_H, DEF_H, INI_FILENAME);
  38. }
  39. /* setPreferences - Writes the .INI file with the given setup preferences.
  40.  *
  41.  * Params:  lpPreferences - Points to a PREFERENCES data structure containing
  42.  *              the user preferences.
  43.  *
  44.  * Return:  void
  45.  */
  46. void setPreferences(LPPREFERENCES lpPreferences)
  47. {
  48.     char szTempString[20];
  49.     while (1) { // This now aborts after one error.
  50. sprintf(szTempString, "%d", lpPreferences->iInitialX);
  51. if(WritePrivateProfileString(INI_DISPLAYWINDOW, INI_X,
  52.   (LPSTR) szTempString, INI_FILENAME) == 0)
  53. break;
  54.         
  55. sprintf(szTempString, "%d", lpPreferences->iInitialY);
  56. if(WritePrivateProfileString(INI_DISPLAYWINDOW, INI_Y,
  57.   (LPSTR) szTempString, INI_FILENAME) == 0)
  58. break;
  59.         
  60. sprintf(szTempString, "%d", lpPreferences->iInitialW);
  61. if(WritePrivateProfileString(INI_DISPLAYWINDOW, INI_W,
  62.   (LPSTR) szTempString, INI_FILENAME) == 0)
  63. break;
  64.         
  65. sprintf(szTempString, "%d", lpPreferences->iInitialH);
  66. if(WritePrivateProfileString(INI_DISPLAYWINDOW, INI_H,
  67.   (LPSTR) szTempString, INI_FILENAME) == 0)
  68. break;
  69. return;
  70. }
  71. Error(GetStringRes(IDS_WRITEERR));
  72. }