home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 17 / CD_ASCQ_17_101194.iso / dos / fr / gesdoc16 / v1archcr.prg < prev    next >
Text File  |  1992-11-11  |  8KB  |  436 lines

  1. set score off
  2. set color to
  3. set date french
  4. set confirm on
  5. set key 28 to v1help
  6. set key -1 to retourmenu
  7. clear
  8. set cursor on
  9. do while .t.
  10. public vtitre,vpub,vnumero,vdate,vpage,vsigne,vgr1,vgr2,vgr3,vmat1,vmat2,vmat3,vmotcle,hvar,memovar
  11. hvar="cre01"
  12. vmemo=0
  13. vnumero=0
  14. vtitre=space(75)
  15. vpub=space(35)
  16. vdate=ctod("../../..")
  17. vpage=space(4)
  18. vsigne=space(25)
  19. vmat1=space(50)
  20. vmat2=space(50)
  21. vmat3=space(50)
  22. vmotcle=space(25)
  23. varquitte=0
  24. set color to w/b+
  25. @ 0,0 clear to 3,79
  26. @ 1,3 say "F1"
  27. @ 2,3 say "Aide"
  28. @ 1,15 say "F2"
  29. @ 2,15 say "Accès Menu"
  30. @ 3,1 to 3,78
  31. set color to n/w
  32. @ 4,0 clear to 24,79
  33. @ 4,0 to 24,79
  34. @ 5,30 say "Référence :"
  35. @ 5,44 say "....."
  36. @ 7,05 say "Titre de l'article :"
  37. @ 8,02 say ".........................................................................."
  38. @ 10,05 say "Publication"
  39. @ 11,05 say "................................."
  40. @ 10,40 say "Numéro :"
  41. @ 11,40 say "....."
  42. @ 10,60 say "Date :"
  43. @ 11,60 say "../../.."
  44. @ 13,40 say "Page :"
  45. @ 14,40 say "...."
  46. @ 13,05 say "Signature :"
  47. @ 14,05 say "...................."
  48. @ 16,34 say "Matière 1 :"
  49. @ 17,15 say ".................................................."
  50. @ 18,34 say "Matière 2"
  51. @ 19,15 say ".................................................."
  52. @ 20,34 say "Matière 3"
  53. @ 21,15 say ".................................................."
  54. do while .t.  
  55. set color to b+/w,w/n
  56. do while .t.
  57. @ 8,02 get vtitre picture "@!"   
  58. read
  59. if varquitte=1
  60. set color to
  61. clear
  62. return
  63. endif
  64. controlvar=alltrim(vtitre)
  65. if len(controlvar)=0 
  66. do controle
  67. loop
  68. endif
  69. exit
  70. enddo
  71. @ 8,02 say vtitre
  72. do v1pub1
  73. set color to b+/w,w/n    
  74. if lastkey()<>27
  75. vpub=vpub1
  76. endif
  77. if len(alltrim(vpub))=0
  78. do while .t.
  79. @ 11,05 get vpub  picture "@!"   
  80. read
  81. if varquitte=1
  82. set color to
  83. clear
  84. return
  85. endif
  86. controlvar=alltrim(vpub)
  87. if len(controlvar)=0 
  88. do controle
  89. loop
  90. endif
  91. do ajoutpub
  92. exit
  93. enddo
  94. endif
  95. @ 11,05 say vpub
  96. do while .t.
  97. @ 11,40 get vnumero  picture "99999"   
  98. read
  99. if varquitte=1
  100. set color to
  101. clear
  102. return
  103. endif
  104. controlvar=alltrim(vpub)
  105. if len(controlvar)=0 
  106. do controle
  107. loop
  108. endif
  109. exit
  110. enddo
  111. @ 11,40 say vnumero
  112. refpub=substr(vpub,1,3)
  113. num=strzero(vnumero,5)
  114. use v1articl
  115. num2=lastrec()+1
  116. use
  117. num1=strzero(num2,4)
  118. vref=refpub+num+num1
  119. @ 5,44 say vref
  120. do while .t.
  121. @ 11,60 get vdate
  122. read
  123. if varquitte=1
  124. set color to 
  125. clear 
  126. return
  127. endif
  128. controlvar=dtoc(vdate)
  129. if controlvar="  /  /  " 
  130. do controle
  131. loop
  132. endif
  133. exit
  134. enddo
  135. @ 11,60 say vdate
  136. @ 14,05 get vsigne picture "@!"   
  137. read
  138. if varquitte=1
  139. set color to
  140. clear
  141. return
  142. endif
  143. @ 14,05 say vsigne 
  144. do while .T.
  145. @ 14,40 get vpage picture "@!"   
  146. read
  147. if varquitte=1
  148. set color to
  149. clear
  150. return
  151. endif
  152. controlvar=alltrim(vpage)
  153. if len(controlvar)=0 
  154. do controle
  155. loop
  156. endif
  157. exit
  158. enddo
  159. @ 14,40 say vpage
  160. varmat=1
  161. do v1mat
  162. if lastkey()<>27
  163. vmat1=vmat
  164. endif
  165. if len(alltrim(vmat1))=0
  166. do while .t.
  167. @ 17,15 get vmat1
  168. read
  169. vmat1=upper(vmat1)
  170. if varquitte=1
  171. set color to
  172. clear
  173. return
  174. endif
  175. controlvar=alltrim(vmat1)
  176. if len(controlvar)=0 
  177. do controle
  178. loop
  179. endif
  180. do matiere
  181. exit
  182. enddo
  183. endif
  184. set color to b+/w,w/n
  185. @ 17,15 say vmat1
  186. varmat=2
  187. do v1mat
  188. if lastkey()<>27
  189. vmat2=vmat
  190. endif
  191. if len(alltrim(vmat2))=0
  192. @ 19,15 get vmat2
  193. read
  194. vmat2=upper(vmat2)
  195. if varquitte=1
  196. set color to
  197. clear
  198. return
  199. endif
  200. endif
  201. if len(alltrim(vmat2))<>0
  202. do matiere
  203. endif
  204. set color to b+/w,w/n
  205. @ 19,15 say vmat2
  206. varmat=3
  207. do v1mat
  208. if lastkey()<>27
  209. vmat3=vmat
  210. endif
  211. if len(alltrim(vmat3))=0
  212. @ 21,15 get vmat3
  213. read
  214. vmat3=upper(vmat3)
  215. if varquitte=1
  216. set color to
  217. clear
  218. return
  219. endif
  220. endif
  221. if len(alltrim(vmat3))<>0
  222. do matiere
  223. endif
  224. set color to b+/w,w/n
  225. @ 21,15 say vmat3
  226. set color to W/B+,n/w
  227. rep=space(1)
  228. @ 0,0 clear to 3,79
  229. @ 1,10 to 3,70
  230. @ 2,18 say "LA SAISIE DE CETTE FICHE EST-ELLE CORRECTE ? (O/N)"get rep picture "@!"
  231. read
  232. if upper(rep)="N"
  233. loop
  234. endif
  235. if upper(rep)="O"
  236. rep1=space(1)
  237. set color to W/B+,n/w 
  238. @ 0,0 clear to 3,79
  239. @ 1,10 to 3,74
  240. @ 2,12 say "VOULEZ VOUS ASSOCIER UN COMMENTAIRE A CETTE FICHE ? (0/N)"get rep1 picture "@!"
  241. read
  242. if upper(rep1)="O"
  243. do commentaire
  244. endif
  245. set color to W/B+,n/w 
  246. @ 0,0 clear to 3,79
  247. @ 1,10 to 3,70
  248. @ 2,18 say "CONTROLE DES DOUBLONS, PATIENTER SVP..."
  249. do doublons
  250. exit
  251. endif
  252. if varquitte=1
  253. exit
  254. endif
  255. enddo
  256. if varquitte=1
  257. exit
  258. endif
  259. enddo
  260.  
  261.  
  262.  
  263. procedure v1help
  264. set key 28 to
  265. do v1aide
  266. set color to n/w,w/n
  267. set key 28 to v1help
  268. return
  269.  
  270. procedure retourmenu
  271. set key -1 to
  272. varquitte=1
  273. set color to
  274. set confirm off
  275. clear
  276. set key -1 to retourmenu
  277. return
  278.  
  279. * ---------------------
  280. * contrôle des doublons
  281. procedure doublons
  282. * ---------------------
  283. do while .t.
  284. use v1articl 
  285. go top
  286. locate for titre==vtitre
  287.         if .not. found()
  288.         append blank
  289.         replace titre with vtitre,publicatio with vpub,num_pub with vnumero
  290.         replace signature with vsigne,page with val(vpage),date with vdate
  291.         replace mat1 with vmat1
  292.         if len(alltrim(vmat2))<>0
  293.         replace mat2 with vmat2
  294.         endif
  295.         if len(alltrim(vmat3))<>0
  296.         replace mat3 with vmat3
  297.         endif
  298.         replace reference with vref
  299.         if vmemo=1
  300.         replace commentair with memovar
  301.         endif
  302. else
  303. set color to W/B+,n/w
  304.         @ 0,0 clear to 3,79
  305.         @ 2,10 say "LA FICHE CI DESSOUS CORRESPOND A LA SAISIE...Appuyer sur une touche"
  306.         set color to n/w
  307.         @ 4,0 clear to 24,79
  308.         @ 4,0 to 24,79
  309.         @ 5,30 say "Référence :"
  310.         @ 5,44 say reference
  311.         @ 7,05 say "Titre de l'article :"
  312.         @ 8,02 say titre
  313.         @ 10,05 say "Publication"
  314.         @ 11,05 say publicatio
  315.         @ 10,60 say "Date :"
  316.         @ 11,60 say dtoc(date)
  317.         @ 13,40 say "Page :"
  318.         @ 14,40 say page
  319.         @ 13,05 say "Signature :"
  320.         @ 14,05 say signature
  321.         @ 16,34 say "Matière 1 :"
  322.         @ 17,15 say mat1
  323.         @ 18,34 say "Matière 2"
  324.         @ 19,15 say mat2
  325.         @ 20,34 say "Matière 3"  
  326.         @ 21,15 say mat3
  327. INKEY(0)
  328. rep1=space(1)
  329. set color to W/B+,n/w
  330. @ 0,0 clear to 3,79
  331. @ 2,10 say "VOULEZ VOUS MALGRE TOUT ENREGISTRER VOTRE SAISIE...? 0/N" get rep1 picture "@!"
  332. read
  333. if upper(rep1)="O"
  334.         append blank
  335.         replace titre with vtitre,publicatio with vpub,num_pub with vnumero
  336.         replace signature with vsigne,page with val(vpage),date with vdate
  337.         replace mat1 with vmat1
  338.         if len(alltrim(vmat2))<>0
  339.         replace mat2 with vmat2
  340.         endif
  341.         if len(alltrim(vmat3))<>0
  342.         replace mat3 with vmat3
  343.         endif
  344.         replace reference with vref
  345.         if vmemo=1
  346.         replace commentair with memovar
  347.         endif
  348. endif
  349. endif
  350. exit
  351. enddo
  352. use
  353. return
  354.  
  355.  
  356. * saisie d'un commentaire dans un champs mémo
  357. * -------------------------------------------
  358. procedure commentaire
  359. ecran3=savescreen(1,1,24,79)
  360. select a
  361. use v1articl
  362. go bottom
  363. set color to W/B+
  364. @ 6,6 to 21,76
  365. @ 5,10 say "ARTICLE : "+substr(alltrim(vtitre),1,60)
  366. @ 21,50 say "F10 pour finir la saisie"
  367. memovar=memoedit(commentair,7,7,20,75,.t.,"finmemo1")
  368. set color to
  369. restscreen(1,1,24,79,ecran3)
  370. use
  371. return
  372.  
  373. procedure finmemo1
  374. if lastkey()=-9
  375. keyboard chr(23)
  376. vmemo=1
  377. endif
  378. return
  379.  
  380.  
  381.  
  382. * contrôle de la saisie
  383. * ---------------------
  384. procedure controle
  385. controlscreen=savescreen(0,0,3,79)
  386. set color to w/r
  387. @ 0,0 clear to 3,79
  388. @ 1,10 say "VOUS DEVEZ SAISIR QUELQUE CHOSE DANS CETTE ZONE..."
  389. @ 3,50 say "Presser sur une touche..."
  390. inkey(0)
  391. set color to b+/w,w/n
  392. restscreen(0,0,3,79,controlscreen)
  393. return
  394.  
  395. * mise à jour de la table des matières
  396. * ------------------------------------
  397. procedure matiere
  398. if varmat=1
  399. matier=vmat1
  400. endif
  401. if varmat=2
  402. matier=vmat2
  403. endif
  404. if varmat=3
  405. matier=vmat3
  406. endif
  407. select b
  408. set softseek off
  409. use v1matier index v1matmat 
  410. reindex
  411. seek upper(matier)
  412. if .not. found()
  413. append blank
  414. replace matiere with upper(matier)
  415. reindex
  416. use
  417. endif
  418. return
  419.  
  420.  
  421. * mise a jour de la table des publications
  422. * ----------------------------------------
  423. procedure ajoutpub
  424. set softseek off
  425. use v1public index v1pubnom 
  426. reindex
  427. seek upper(vpub)
  428. if .not. found()
  429. append blank
  430. replace nom with upper(vpub)
  431. reindex
  432. use
  433. endif
  434. return
  435.  
  436.