create_Lib.p 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. DEF VAR cPath AS CHAR NO-UNDO
  2. INIT 'C:\Entwicklung\subversion\Ge_MIS\TRUNK\OE102A\'.
  3. DEF VAR xPath AS CHAR NO-UNDO.
  4. DEF VAR xName AS CHAR NO-UNDO.
  5. DEF VAR cParam AS CHAR NO-UNDO.
  6. DEF VAR cExt AS CHAR NO-UNDO.
  7. DEF VAR cNext AS CHAR NO-UNDO
  8. INIT 'r,wrx,bmp,jpg,ico,tif,gif'.
  9. DEF VAR iNum AS INT NO-UNDO.
  10. DEF TEMP-TABLE TDateien FIELD cName AS CHAR FORMAT "x(15)"
  11. FIELD cPath AS CHAR FORMAT "x(40)"
  12. FIELD cType AS CHAR.
  13. EMPTY TEMP-TABLE TDateien.
  14. RUN Fuellen_TDateien ( INPUT cPath ).
  15. OUTPUT TO 'CreateLibListe' NO-ECHO NO-MAP.
  16. cParam = '-add'.
  17. xPath = ''.
  18. DO WHILE TRUE:
  19. FOR EACH TDateien.
  20. IF TDateien.cType = 'D' THEN DO:
  21. IF TDateien.cName = '.' THEN DO:
  22. DELETE TDateien.
  23. NEXT.
  24. END.
  25. IF TDateien.cName = '..' THEN DO:
  26. DELETE TDateien.
  27. NEXT.
  28. END.
  29. IF TDateien.cName <> 'adm2' AND
  30. TDateien.cName <> 'grafik' AND
  31. TDateien.cName <> 'v8' AND
  32. TDateien.cName <> 'src_dlcv91c' AND
  33. TDateien.cName <> 'src' AND
  34. TDateien.cName <> 'template' AND
  35. TDateien.cName <> 'TRIGGERS' AND
  36. TDateien.cName <> 'super' THEN DO:
  37. DELETE TDateien.
  38. NEXT.
  39. END.
  40. NEXT.
  41. END.
  42. IF TDateien.cType <> 'F' THEN DO:
  43. DELETE TDateien.
  44. NEXT.
  45. END.
  46. iNum = NUM-ENTRIES(TDateien.cName, '.').
  47. IF iNum < 2 THEN DO:
  48. DELETE TDateien.
  49. NEXT.
  50. END.
  51. cExt = ENTRY(iNum, TDateien.cName, '.').
  52. IF LOOKUP(cExt, cNext, ',') = 0 THEN DO:
  53. DELETE TDateien.
  54. NEXT.
  55. END.
  56. xName = REPLACE(TDateien.cPath, cPath, '').
  57. IF (LENGTH(xName) + LENGTH(cParam)) > 230 THEN DO:
  58. PUT CONTROL cParam.
  59. PUT ' ' SKIP.
  60. cParam = '-add'.
  61. END.
  62. cParam = cParam + ' ' + xName.
  63. DELETE TDateien.
  64. END.
  65. FIND FIRST TDateien NO-LOCK NO-ERROR.
  66. IF NOT AVAILABLE TDateien THEN LEAVE.
  67. xPath = REPLACE(TDateien.cPath, cPath, '') + '\'.
  68. DELETE TDateien.
  69. RUN Fuellen_TDateien ( INPUT xPath ).
  70. END.
  71. PUT CONTROL cParam.
  72. PUT ' ' SKIP.
  73. OUTPUT CLOSE.
  74. RETURN.
  75. PROCEDURE Fuellen_TDateien:
  76. DEF INPUT PARAMETER ipDir AS CHAR NO-UNDO.
  77. INPUT FROM OS-DIR(ipDir) NO-ECHO.
  78. REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
  79. CREATE TDateien.
  80. IMPORT TDateien.
  81. END.
  82. INPUT CLOSE.
  83. END PROCEDURE.