home *** CD-ROM | disk | FTP | other *** search
/ Boston 2 / boston-2.iso / DOS / DEUTSCH / SONSTIGE / KFZWERK / KFZCPL.SC < prev    next >
Text File  |  1993-12-01  |  6KB  |  227 lines

  1. ; Kfzcpl
  2.  
  3.  
  4. AppLib = "Kfzcp"
  5. Createlib AppLib
  6.  
  7.  
  8. proc CkTblRights(tbl)
  9. private rt, ans, zzzcolor
  10.  
  11.   while (TRUE)
  12.     rt = tablerights(tbl, "ReadOnly") 
  13.     if (rt) then
  14.       QuitLoop
  15.     endif
  16.  
  17.     @ 1, 0
  18.     ?? "Paßwort für die Tabelle " + tbl + " eingeben."
  19.     @ 0, 0 Clear Eol
  20.     ?? "Paßwort"
  21.  
  22.     zzzcolor = int(SysColor(0))
  23.     Style Attribute ((zzzcolor * 16) + zzzcolor)
  24.     Accept "a50" Required To ans
  25.     Style Attribute SysColor(0)
  26.  
  27.     rt = retval
  28.     if (not rt) then
  29.       QuitLoop
  30.     endif
  31.  
  32.     Password ans
  33.   endwhile
  34.  
  35.   @ 1, 0 Clear Eol
  36.   @ 0, 0 Clear Eol
  37.   return rt
  38. endproc
  39.  
  40. WriteLib AppLib CkTblRights
  41. Release Procs CkTblRights
  42.  
  43.  
  44. proc CopyApplication()
  45. private msg, todrive, todir, mdir, ndir, c
  46.  
  47.   Echo Off
  48.   todir = ""
  49.  
  50.   Clear
  51.   @ 2, 0
  52.   PutCpScriptHelp()
  53.  
  54.   @ 1, 0 ?? "Namen des Directories eingeben, in das Sie die Anwendung kopieren wollen."
  55.   while (TRUE)
  56.     @ 0, 0 ?? "Directory: "
  57.     Accept "a60" Default todir Required To todir
  58.  
  59.     if (not retval) then
  60.       Clear
  61.       Message "Kopieren der Anwendung abbrechen"
  62.       Sleep 3000
  63.       Exit
  64.     endif
  65.  
  66.     if (substr(todir, len(todir), 1) <> "\\") then
  67.       todir = todir + "\\"
  68.     endif
  69.  
  70.     if (direxists(todir) = -1) then
  71.       Message "Ungültiger Directoryname"
  72.       Loop
  73.     endif
  74.  
  75.     if (not match(todir, "@:..", todrive)) then
  76.       todrive = substr(directory(), 1, 1)
  77.     endif
  78.  
  79.     if (not drivestatus(todrive)) then
  80.       Message "Laufwerk nicht bereit"
  81.     else
  82.       QuitLoop
  83.     endif
  84.   endwhile
  85.  
  86.   Clear
  87.   ndir = ""
  88.   for l from len(todir) to 1 step -1
  89.     c = substr(todir, l, 1)
  90.     if (c = "\\" or c = ":") then
  91.       if (l > 1) then
  92.         mdir = substr(todir, 1, l - 1)
  93.  
  94.         if (direxists(mdir) = 1) then
  95.           mdir = mdir + "\\"
  96.           QuitLoop
  97.         endif
  98.  
  99.         if (c = ":") then
  100.           mdir = substr(todir, 1, 2)
  101.           QuitLoop
  102.         endif
  103.  
  104.         ndir = "\\" + ndir
  105.       else
  106.         mdir = "\\"
  107.         QuitLoop
  108.       endif
  109.     else
  110.       ndir = c + ndir
  111.     endif
  112.   endfor
  113.  
  114.   while (match(ndir, "..\\..", c, ndir))
  115.     mdir = mdir + c
  116.     Run NoRefresh "mkdir " + mdir
  117.  
  118.     if (direxists(mdir) = 0) then
  119.       Message "Konnte Directory nicht anlegen - Anwendung nicht kopiert"
  120.       Sleep 3000
  121.       Exit
  122.     endif
  123.  
  124.     mdir = mdir + "\\"
  125.   endwhile
  126.  
  127.   msg = "Kopieren der Anwendungsdateien"
  128.   Style Attribute SysColor(3) @ 24, 76 - len(msg) ?? msg
  129.   Style Attribute SysColor(3) + 128  ?? "... "
  130.   Style
  131.  
  132.   if (substr(todir, len(todir), 1) = "\\") then
  133.     todir = substr(todir, 1, len(todir) - 1)
  134.   endif
  135.  
  136.   CopyAppObjects(todir)
  137.  
  138.   Reset
  139.   msg = "Anwendungsdateien erfolgreich kopiert"
  140.   @ 24, 0 Clear Eol
  141.   Style Attribute SysColor(3) @ 24, 79 - len(msg) ?? msg
  142.   Style
  143.   Sleep 3000
  144. endproc
  145.  
  146. WriteLib AppLib CopyApplication
  147. Release Procs CopyApplication
  148.  
  149.  
  150. proc PutCpScriptHelp()
  151.  
  152. Text
  153. ╔═══════════════════════Der Paradox-Anwendungsgenerator════════════════════════╗
  154. ║                                                                              ║
  155. ║                                                                              ║
  156. ║  Geben Sie den Namen des Directories ein, in das Sie die Anwendung kopieren.║
  157. ╠══════════════════════════════════════════════════════════════════════════════╣
  158. ║ Das Kopiermakro kopiert die Dateien, die von der Anwendung benötigt werden,  ║
  159. ║ in das Subdirectory, das Sie angeben. Falls das Directory nicht existiert,   ║
  160. ║ wird es das Makro für Sie anlegen.                                           ║
  161. ║                                                                              ║
  162. ║ Es ist besser, den vollständigen Pfadnamen zu verwenden, um das Directory    ║
  163. ║ der Kopie zu bezeichnen. C:\paradox\beispiel bezeichnet z.B. das Sub-        ║
  164. ║ directory \beispiel unter dem Directory \paradox des Laufwerks C:.           ║
  165. ║                                                                              ║
  166. ║ Das Kopiermakro kopiert keine Nachschlagetabellen oder Objekte, auf die ein  ║
  167. ║ selbstdefiniertes Makro Bezug nimmt, das einem Menüpunkt zugeordnet ist.     ║
  168. ║ Nach dem Kopieren sollten Sie, etwa mit dem DOS-Befehl copy, alle Dateien    ║
  169. ║ kopieren, die zur Anwendung gehören, ohne daß das Kopiermakro davon weiß.    ║
  170. ║                                                                              ║
  171. ║                                                                              ║
  172. ║                                                                              ║
  173. ║                                                                              ║
  174. ╚══════════════════════════════════════════════════════════════════════════════╝
  175.  
  176. EndText
  177.  
  178. endproc
  179.  
  180. Writelib AppLib PutCpScriptHelp
  181. Release Procs PutCpScriptHelp
  182.  
  183.  
  184. proc CopyAppObjects(todir)
  185.  
  186.   Run NoRefresh "copy Kfz.sc " + todir + " >nul"
  187.   Run NoRefresh "copy Kfzg.sc " + todir + " >nul"
  188.   Run NoRefresh "copy Kfz*.lib " + todir + " >nul"
  189.   Run NoRefresh "del " + todir + "\\Kfzcp.lib > nul"
  190.  
  191.   Run NoRefresh "copy Lagersu.sc " + todir + " >nul"
  192.   Run NoRefresh "copy Bestels.sc " + todir + " >nul"
  193.   Run NoRefresh "copy Besteld.sc " + todir + " >nul"
  194.   Run NoRefresh "copy Kfzq1.sc " + todir + " >nul"
  195.   Run NoRefresh "copy Kfzq2.sc " + todir + " >nul"
  196.   Run NoRefresh "copy Aktua1.sc " + todir + " >nul"
  197.   Run NoRefresh "copy Addresu.sc " + todir + " >nul"
  198.   Run NoRefresh "copy Kfzq3.sc " + todir + " >nul"
  199.   Run NoRefresh "copy Kfzq4.sc " + todir + " >nul"
  200.   Run NoRefresh "copy Tuev.sc " + todir + " >nul"
  201.   Run NoRefresh "copy Umbere1.sc " + todir + " >nul"
  202.   Run NoRefresh "copy Kustat1.sc " + todir + " >nul"
  203.   Run NoRefresh "copy Kustatd.sc " + todir + " >nul"
  204.   Run NoRefresh "copy Zeitr1.sc " + todir + " >nul"
  205.  
  206.   if (CkTblRights("Auftrag")) then
  207.     Copy "Auftrag" todir + "\\Auftrag"
  208.   endif
  209.   if (CkTblRights("Kovoart")) then
  210.     Copy "Kovoart" todir + "\\Kovoart"
  211.   endif
  212.   if (CkTblRights("Kovor")) then
  213.     Copy "Kovor" todir + "\\Kovor"
  214.   endif
  215.   if (CkTblRights("Lager1")) then
  216.     Copy "Lager1" todir + "\\Lager1"
  217.   endif
  218.   if (CkTblRights("Reart")) then
  219.     Copy "Reart" todir + "\\Reart"
  220.   endif
  221.  
  222. endproc
  223.  
  224. Writelib AppLib CopyAppObjects
  225. Release Procs CopyAppObjects
  226.  
  227.