SkinFile.cpp
上传用户:hxb_1234
上传日期:2010-03-30
资源大小:8328k
文件大小:1k
源码类别:

VC书籍

开发平台:

Visual C++

  1. /**************************************************************************************
  2.  *                                                                                    *
  3.  *                                                                                    *
  4.  **************************************************************************************/
  5. #include "SkinFile.h"
  6. /*
  7.  * 外壳配置文件类
  8.  */
  9. SkinFile::SkinFile(char *directory) {
  10. this->configFile = NULL;
  11. if(directory != NULL) {
  12. char *filename;
  13. filename = (char *) new char[strlen(directory) + 12];
  14. strcpy(filename, directory);
  15. this->configFile = fopen(strcat(filename, "\config.txt"), "rt");
  16. free(filename);
  17. }
  18. }
  19. SkinFile::~SkinFile() {
  20. }
  21. int SkinFile::getColor(char *section) {
  22. if(this->configFile) {
  23. char buffer[256];
  24. DWORD found = 0;
  25. int r = 0, g = 0, b = 0;
  26. fseek(this->configFile, 0, SEEK_SET);
  27. while(!found) {
  28. fgets(buffer, 256, this->configFile);
  29. if(strstr(buffer, "[background]") != NULL) {
  30. fgets(buffer, 256, this->configFile);
  31. sscanf(buffer, "%d, %d, %d", &r, &g, &b);
  32. found = 1;
  33. }
  34. }
  35. return r + 256*g + 65536*b;
  36. }
  37. return 0;
  38. }
  39. void SkinFile::Close() {
  40. if(this->configFile) {
  41. fclose(this->configFile);
  42. }
  43. }