Code.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /******************************************************************************/
  2. #include "stdafx.h"
  3. /******************************************************************************/
  4. /******************************************************************************/
  5. void Code::del()
  6. {
  7. current.del();
  8. base .del();
  9. }
  10. bool Code::save(File &f)C
  11. {
  12. f.cmpUIntV(3);
  13. f<<current<<base;
  14. return f.ok();
  15. }
  16. bool Code::load(File &f)
  17. {
  18. switch(f.decUIntV()) // 0 is special case of invalid data
  19. {
  20. case 3:
  21. {
  22. f>>current>>base;
  23. if(f.ok())return true;
  24. }break;
  25. case 2:
  26. {
  27. GetStr2(f, current);
  28. GetStr2(f, base );
  29. if(f.ok())return true;
  30. }break;
  31. case 1:
  32. {
  33. GetStr(f, base );
  34. GetStr(f, current);
  35. if(f.ok())return true;
  36. }break;
  37. }
  38. del(); return false;
  39. }
  40. bool Code::load(C Str &name)
  41. {
  42. File f; if(f.readTry(name))return load(f);
  43. del(); return false;
  44. }
  45. /******************************************************************************/