UIMLUtils.cpp 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #include "UIMLUtils.h"
  2. int* getUIMLTargetAddress(Framework::Text address, int& addressLength)
  3. {
  4. int* result = 0;
  5. if (address.hat(','))
  6. {
  7. Framework::Text* part1
  8. = address.getTeilText(0, address.positionVon(",", 0) + 1);
  9. Framework::Text* part2 = address.getTeilText(
  10. address.positionVon(",", 0) + 1, address.positionVon(",", 1));
  11. Framework::Text* part3 = address.getTeilText(
  12. address.positionVon(",", 1) + 1, address.positionVon(",", 2));
  13. if (address.hat(":"))
  14. {
  15. Framework::Text* part4 = address.getTeilText(
  16. address.positionVon(",", 2) + 1, address.positionVon(":"));
  17. Framework::Text* part5
  18. = address.getTeilText(address.positionVon(":") + 1);
  19. addressLength = 5;
  20. result = new int[5];
  21. result[4] = (int)*part5;
  22. result[3] = (int)*part4;
  23. part5->release();
  24. part4->release();
  25. }
  26. else
  27. {
  28. Framework::Text* part4
  29. = address.getTeilText(address.positionVon(",", 2) + 1);
  30. addressLength = 4;
  31. result = new int[4];
  32. result[3] = (int)*part4;
  33. part4->release();
  34. }
  35. result[0] = (int)*part1;
  36. result[1] = (int)*part2;
  37. result[2] = (int)*part3;
  38. part1->release();
  39. part2->release();
  40. part3->release();
  41. }
  42. else
  43. {
  44. if (address.hat(":"))
  45. {
  46. Framework::Text* part1
  47. = address.getTeilText(0, address.positionVon(":"));
  48. Framework::Text* part2
  49. = address.getTeilText(address.positionVon(":") + 1);
  50. addressLength = 2;
  51. result = new int[2];
  52. result[0] = (int)*part1;
  53. result[1] = (int)*part2;
  54. part1->release();
  55. part2->release();
  56. }
  57. else
  58. {
  59. addressLength = 1;
  60. result = new int[1];
  61. result[0] = (int)address;
  62. }
  63. }
  64. return result;
  65. }