home *** CD-ROM | disk | FTP | other *** search
/ Taifun Collection / Taifun_Collection_Vol_1.iso / richter / 8659 / 8659.mhs / RICHTER.DTP / KFZ / KFZCPL.SC < prev    next >
Text File  |  1991-12-22  |  6KB  |  232 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 Neuart.sc " + todir + " >nul"
  192.   Run NoRefresh "copy Lagersu.sc " + todir + " >nul"
  193.   Run NoRefresh "copy Bestels.sc " + todir + " >nul"
  194.   Run NoRefresh "copy Statussw.sc " + todir + " >nul"
  195.   Run NoRefresh "copy Laaktu.sc " + todir + " >nul"
  196.   Run NoRefresh "copy Neuauft.sc " + todir + " >nul"
  197.   Run NoRefresh "copy Addresu.sc " + todir + " >nul"
  198.   Run NoRefresh "copy Lare1.sc " + todir + " >nul"
  199.   Run NoRefresh "copy Posedit.sc " + todir + " >nul"
  200.   Run NoRefresh "copy Kfzq1.sc " + todir + " >nul"
  201.   Run NoRefresh "copy Kfzq2.sc " + todir + " >nul"
  202.   Run NoRefresh "copy Leisein1.sc " + todir + " >nul"
  203.   Run NoRefresh "copy Besteld.sc " + todir + " >nul"
  204.   Run NoRefresh "copy Kfzq3.sc " + todir + " >nul"
  205.   Run NoRefresh "copy Kfzq4.sc " + todir + " >nul"
  206.   Run NoRefresh "copy Tuev.sc " + todir + " >nul"
  207.   Run NoRefresh "copy Kustat1.sc " + todir + " >nul"
  208.   Run NoRefresh "copy Zeitr1.sc " + todir + " >nul"
  209.   Run NoRefresh "copy Kfzq5.sc " + todir + " >nul"
  210.  
  211.   if (CkTblRights("Auftrag")) then
  212.     Copy "Auftrag" todir + "\\Auftrag"
  213.   endif
  214.   if (CkTblRights("Dienste1")) then
  215.     Copy "Dienste1" todir + "\\Dienste1"
  216.   endif
  217.   if (CkTblRights("Lager1")) then
  218.     Copy "Lager1" todir + "\\Lager1"
  219.   endif
  220.   if (CkTblRights("Leist1")) then
  221.     Copy "Leist1" todir + "\\Leist1"
  222.   endif
  223.   if (CkTblRights("Reart")) then
  224.     Copy "Reart" todir + "\\Reart"
  225.   endif
  226.  
  227. endproc
  228.  
  229. Writelib AppLib CopyAppObjects
  230. Release Procs CopyAppObjects
  231.  
  232.