ProgParams.cpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //---------------------------------------------------------------------------
  2. #include <WinPCH.h>
  3. #pragma hdrstop
  4. #include "ProgParams.h"
  5. //---------------------------------------------------------------------------
  6. static std::unique_ptr<TProgramParams> ProgramParamsOwner;
  7. //---------------------------------------------------------------------------
  8. TProgramParams * __fastcall TProgramParams::Instance()
  9. {
  10. if (ProgramParamsOwner.get() == NULL)
  11. {
  12. ProgramParamsOwner.reset(new TProgramParams());
  13. }
  14. return ProgramParamsOwner.get();
  15. }
  16. //---------------------------------------------------------------------------
  17. __fastcall TProgramParams::TProgramParams()
  18. {
  19. Init(CmdLine);
  20. }
  21. //---------------------------------------------------------------------------
  22. __fastcall TProgramParams::TProgramParams(const UnicodeString & CmdLine)
  23. {
  24. Init(CmdLine);
  25. }
  26. //---------------------------------------------------------------------------
  27. void __fastcall TProgramParams::Init(const UnicodeString & CmdLine)
  28. {
  29. UnicodeString CommandLine = CmdLine;
  30. UnicodeString Param;
  31. CutToken(CommandLine, Param);
  32. Parse(CommandLine);
  33. }
  34. //---------------------------------------------------------------------------
  35. UnicodeString __fastcall TProgramParams::FormatSwitch(const UnicodeString & Switch)
  36. {
  37. return FORMAT(L"/%s", (Switch));
  38. }