home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 9 Archive / 09-Archive.zip / af0_32b.zip / dansk.cmd < prev    next >
OS/2 REXX Batch file  |  1996-10-18  |  6KB  |  225 lines

  1. /* Dansk installations program for Archive Folder.
  2.    Skal kaldes fra afinst.cmd
  3. */
  4. call RxFuncAdd "SysLoadFuncs", "RexxUtil", "SysLoadFuncs"
  5. call SysLoadFuncs
  6.  
  7. Call SysCls
  8. lang = "Dansk"
  9.  
  10. Say
  11. Say "         AF - The Arkiv Folderen - Installations program"
  12. Say "         =============================================="
  13. Say
  14. Say "  Dette script vil kopiere programfilerne til installationsbiblioteket"
  15. Say "  danne et program objekt og oprette associationer og skabeloner"
  16. Say "  for Arkiv Folderen."
  17. Say
  18. Call charout, "  Vil du fortsætte? (j/N): "
  19.  
  20. answer = SysGetKey(echo)
  21.  
  22.  
  23. if answer <> "j" & answer <> "J" then return
  24. Say
  25.  
  26. say "  Skriv det FULDE stinavn til det bibliotek hvor du vil installere"
  27. say "  AF eller tryk ENTER for at installere fra det aktuelle bibliotek."
  28. Call charout, "  Bibliotek (ingen efterf¢lgende backslash!): "
  29. pull InstallDir
  30.  
  31. if length(InstallDir) = 0 then do
  32.   DontCopy = 1
  33.   InstallDir = Directory()
  34. end
  35. else do
  36.   DontCopy = 0
  37.   if SysFileTree(InstallDir, dir, D) <> 0 then do
  38.     Say "Ikke nok hukommelse!"
  39.     return
  40.   end
  41.   if dir.0 = 0 then do
  42.     Call charout, "  "InstallDir "findes ikke! vil du oprette det? (y/N): "
  43.     answer = SysGetKey(echo);say
  44.     if answer <> "y" & answer <> "Y" then return
  45.     if SysMkDir(InstallDir) <> 0 then do
  46.       Say "  Fejl ved oprettelse af" InstallDir"!"
  47.       return -1
  48.     end
  49.   end
  50. end
  51.  
  52. if exists(lang'.dll') then
  53.   'copy' lang'.dll' InstallDir'\af.dll'
  54. else do
  55.   say "  Kunne ikke finde" lang'.dll'
  56.   return -1
  57. end
  58.  
  59. if \DontCopy Then do
  60.   if exists(lang'.cmd') then
  61.     'copy' lang'.cmd' InstallDir'\'lang'.cmd'
  62.   else do
  63.     say "  Kunne ikke finde" lang'.cmd'
  64.     return -1
  65.   end
  66.  
  67.   if exists('af.exe') then
  68.     'copy af.exe' InstallDir
  69.   else do
  70.     say "  Kunne ikke finde af.exe"
  71.     return -1
  72.   end
  73.  
  74.   if exists('editarc.exe') then
  75.     'copy af.hlp' InstallDir
  76.   else do
  77.     say "   Kunne ikke finde editarc.exe"
  78.     return -1
  79.   end
  80.  
  81.   if exists('af.hlp') then
  82.     'copy af.hlp' InstallDir
  83.   else do
  84.     say "  Kunne ikke finde af.hlp"
  85.     return -1
  86.   end
  87.  
  88.   if exists('beta.txt') then
  89.     'copy beta.txt' InstallDir
  90.   else do
  91.     say "  Kunne ikke finde beta.txt"
  92.   end
  93.  
  94.   if exists('install.txt') then
  95.     'copy install.txt' InstallDir
  96.   else do
  97.     say "  Kunne ikke finde install.txt"
  98.   end
  99.  
  100.   if exists('whatsnew') then
  101.     'copy whatsnew' InstallDir
  102.   else do
  103.     say "  Kunne ikke finde WhatsNew"
  104.   end
  105.  
  106.   if exists(archiver.bb2) then
  107.     'copy archiver.bb2' InstallDir
  108.   else do
  109.     say "  Kunne ikke finde ARCHIVER.BB2"
  110.     return -1
  111.   end
  112. end
  113.  
  114. EAT_ASCII = REVERSE('FFFD'X)
  115.  
  116.  
  117. TypeText = 'Archive'
  118. Type     = EAT_ASCII || d2c(length(TypeText)) || '00'x || TypeText
  119. Name     = "Arkiv Skabeloner"
  120. LongName = EAT_ASCII || d2c(length(Name)) || '00'x || Name
  121.  
  122. if SysFileTree("TEMPLATE", dir, D) <> 0 then do
  123.   Say "  Ikke nok hukommelse!"
  124.   return
  125. end
  126.  
  127. if \ SysCreateObject( "WPFolder", "Arkiv Folder", "<WP_DESKTOP>","OBJECTID=<AF_FOLDER>;","u")
  128. then do
  129.   Say "  Kunne ikke oprette folder!"
  130.   return
  131. end
  132. else
  133.   say "  Oprettet folder."
  134.  
  135. rc = SysCreateObject( "WPProgram", "Arkiv Folder", "<AF_FOLDER>","PROGTYPE=PM;EXENAME="InstallDir"\AF.EXE;STARTUPDIR="Installdir";ASSOCTYPE=Archive;ASSOCFILTER=*.lzh,*.zip,*.arc,*.arj,*.rar;OBJECTID=<AF>;","r")
  136. if \rc then do
  137.   Say "  Fejl ved oprettelse af programobjekt for Arkiv Folder!"
  138.   return
  139. end
  140. else
  141.   say "  Oprettet programobjekt for Arkiv Folder."
  142.  
  143. rc = SysCreateObject( "WPProgram", "Rediger Arkivprogram", "<AF_FOLDER>","PROGTYPE=PM;EXENAME="InstallDir"\EDITARC.EXE;STARTUPDIR="Installdir";ASSOCTYPE=Archive;ASSOCFILTER=*.lzh,*.zip,*.arc,*.arj,*.rar;OBJECTID=<AF_REG>;","r")
  144. if \rc then do
  145.   Say "  Fejl ved oprettelse af programobjekt for Rediger Arkiv Program!"
  146.   return
  147. end
  148. else
  149.   say "  Oprettet programobjekt for Rediger Arkiv Program."
  150.  
  151. if dir.0 = 0 then do
  152.   if \ SysCreateObject( "WPFolder", "TEMPLATE", InstallDir,"OBJECTID=<AF_TEMPS>;","u")
  153.   then do
  154.     Say "  Fejl ved oprettelse af skabelon folder!"
  155.     say "   Har du en anden AF skabelonfolder?"
  156.     return
  157.   end
  158.   else
  159.     say "  Opretter skabelon folder."
  160. end
  161. else do
  162.   if \ SysSetObjectData(InstallDir"\TEMPLATE", "OBJECTID=<AF_TEMPS>;") then
  163.     Say "  Fejl ved oprettelse af Objekt ID på skabelon folder!"
  164.   else
  165.     say "  Sætter objekt ID på skabelonfolder."
  166. end
  167.  
  168. if SysPutEA( "TEMPLATE", ".LONGNAME", LongName ) <> 0 then
  169.   Say "  Kunne ikke sætte .LONGNAME Extended Attribute på skabelon folder!"
  170. else
  171.   say "  Sætter .LONGNAME Extended Attribute på skabelon folder."
  172.  
  173. if \ SysCreateObject( "WPShadow", "Archive templates", "<AF_FOLDER>", "SHADOWID=<AF_TEMPS>;OBJECTID=<AF_TEMPS_SHADOW>;","u" ) then
  174.   Say "  Fejl ved oprettelse af afspejling af skabelonfolder på Arbejdpladsen!"
  175.  
  176. Call SysOpenObject "<AF_TEMPS>", 1, 1
  177.  
  178. file = "Archive.Arj"; ID = "<AF_ARJ_TEMPLATE>"
  179. call SetData file ID
  180. file = "Archive.Arc"; ID = "<AF_ARC_TEMPLATE>"
  181. call SetData file ID
  182. file = "Archive.Rar"; ID = "<AF_RAR_TEMPLATE>"
  183. call SetData file ID
  184. file = "Archive.Zip"; ID = "<AF_ZIP_TEMPLATE>"
  185. call SetData file ID
  186. file = "Archive.Lzh"; ID = "<AF_LZH_TEMPLATE>"
  187. call SetData file ID
  188.  
  189. Say "  Arkiv Folder successfuldt installeret!"
  190. Say
  191. Say "  Du kan nu kopiere ARCHIVER.BB2 filen til et bibliotek i din PATH eller DPATH."
  192. Say
  193. '@pause'
  194.  
  195. return
  196.  
  197.  
  198. SetData:
  199. parse arg file ID
  200. updated = 0
  201. if \ exists( "TEMPLATE\"file ) then do
  202.   say "  Opretterskabelon" file "med objekt ID" ID
  203.   if \ SysCreateObject( "WPDataFile", file, "<AF_TEMPS>","TEMPLATE=YES;TYPE=Archive;OBJECTID="ID";","r")
  204.     then Say "  Fejl ved oprettelse af "file" skabelon! Eksisterer den i forvejen?"
  205.   else updated = 1
  206. end
  207. else do
  208.   say "  Opdaterer skabelon" file "med objekt ID ID" ID
  209.   if \ SysSetObjectData(InstallDir"\TEMPLATE\"file, "OBJECTID="ID";TEMPLATE=YES;TYPE=Archive;") then
  210.     Say "  Fejl ved oprettelse af skabelon data!"
  211.   else updated = 1
  212. end
  213. if updated then do
  214.   if SysPutEA( "TEMPLATE\"file, ".TYPE", Type ) <> 0 then
  215.     say "Kunne ikke sætte .TYPE EA"
  216. end
  217. return
  218.  
  219. exists:
  220. arg filename
  221. if stream( filename, 'c', 'query exists') <> ''
  222.   then return 1
  223. else return 0
  224.  
  225.