CCP pour Sharp PC1500 ( pas de programme )
tir du magazine Hebdogiciel N8

	Ce programme permet de grer au mois le mois au compte CCP et de stocker les oprations faites sur une cassette.

- charger le programme par CLOAD"CCP"
-intrt du programme : permet de grer un compte postal ou bancaire, c'est--dire :
	* mise  jour du mois dans lequel on se trouve ( dbit ou crdit )
	* ouverture d'un nouveau mois
	* lecture des oprations d'un mois
	* stockage sous forme de fichiers des oprations faites tous les mois ( un fichier=un mois )

Mode d'emploi :
- connecter le magnto K7  l'ensemble PC1500-CE150
I) pour la premire utilisation :
	* prendre une cassette vierge et la placer en dbut de bande
	* mettre le compteur du magnto  zro
	* avancer la bande d'une valeur de une minute environ en position de lecture ( cette place contiendra le fichier, sorte de table des matires de ce que contiendra la cassette )
	* taper RUN
	*  la question "lecture du fichier" rpondre N car il n'y a encore rien dans le fichier
	* puis s'affiche le menu, pour le parcourir appuyer sur les flches haut et bas pour monter ou descendre
	* se positionner sur l'opration "CRE/DEB" sur dernier fich. et appuyer sur la touche "SPACE" pour valider
	* comme il s'agit du premier fichier  crer, rpondre "O"  la question "nouveau mois"
	* donner la valeur de votre ancien avoir,  la question correspondante
	* entrer le nom ( le votre si vous voulez vous en souvenir ), de toute faon le fichier sera l pour vous le rappeler si le nom n'a que 3 lettres, rentrer 5 signes pour avoir 8 lettres ( des espaces, par exemple...)
	* entrer le mois dans lequel on se trouve
	* entrer le reprage de la cassette ( 3 chiffres )
	* entrer le libell de l'opration
	* entrer le jour de l'opration
	* entrer la valeur de l'opration ( + pour un crdit;- pour un dbit )
	* s'il n'y a pas d'autre opration, rpondre par "N"
	* prparer la cassette ( enregistrement + remote on )
	* rpondre "O"
	* la cassette stocke le fichier
	* le menu s'affiche  nouveau
	* valider "mise  jour du fichier"
	* rpondre "O"  "fichier dj lu"
	* positionner la cassette  000 ( l o on a rserv l'emplacement fichier ) remote on + cassette en enregistrement
	* appuyer sur "O"
	* entrer le nom prcdent
	* entrer le mois entr prcdemment
	* entrer le N de cassette entr avant
	* le fichier se stocke et voil !
Remarques :
- on ne peut pas stocker plus de 12 noms sur le fichier, le nombre de noms tant proportionnel au nombre de mois, le fichier sera valable pour un an
- pour grer le compte de plusieurs personnes, il est prfrable d'utiliser autant de cassettes que de personnes
- bien lire le fichier pour faire un enregistrement ( attention de ne pas craser un ancien fichier )

	L'initialisation de la cassette est faite.
II) pour l'ouverture d'un nouveau mois ( refaire toutes les oprations prcdentes )
	* enregistrement du nouveau fichier mois
	* puis mettre  jour le fichier ( il faut le lire au moins une fois )

III) pour une ou des oprations sur le mois, modifier uniquement le fichier mois par "CRE/DEB SUR DERNIER FICHIER"

IV) pour lire un fichier mois "LECTURE"
	* pour toutes les oprations il faut toujours bien se positionner en reprant bien les numros lus sur le fichier ( donc bien grer le fichier )
	* pour le menu valider avec la touche "SPACE"
	* pour les rponses (O/N), appuyer sur "O" ou "N", puis sur ENTER

Programme :
1 GOTO 5
2 PRINT #"****************";VA$(*)
3 RETURN
5 REM ***************************
6 REM *                         *
7 REM * (c) T. DOMBLIDES 1983   *
8 REM *                         *
9 REM ***************************
10 "CCP":CLS:CLEAR
20 DIM VA$(30),PO$(13),VA(30),VG$(30):WAIT 0
25 IF (CHR$ PEEK &B002+CHR$ PEEK &B003+CHR$ PEEK &B004)<>"MGP" GOTO 65000
30 GOSUB "INIT"
31 WAIT 0:PRINT "listing des fichiers"
32 IF INKEY$="o" GOTO "LISTING"
33 IF INKEY$="" GOTO 31
35 PAUSE "*-*-*-*-* C C P *-*-*-*-*"
80 WAIT 0:PRINT "*********menu**********":DI=80:GOTO 130
90 PRINT "mise  jour fichier":DI=90:GOTO 130
100 PRINT "lecture d'un fichier":DI=100:GOTO 130
110 PRINT "cre/deb sur dernier fich.":DI=110:GOTO 130
120 PRINT "  fin d'utilisation":DI=120
130 IF INKEY$="" GOTO DI
140 IF ASC INKEY$=10 AND DI<>120 GOTO (DI+10)
150 IF ASC INKEY$=11 AND DI>90 GOTO (DI-10)
155 IF INKEY$=" " GOTO 170
160 GOTO DI
170 GOTO (DI*100)
9000 PAUSE "new fichier":WAIT 0
9001 INPUT "fichier dj lu(o/n):";M$
9002 IF M$="o" GOTO 9005
9003 GOSUB "INIT"
9005 PRINT "tes-vous bien positionn?"
9006 IF INKEY$<>"o" GOTO 9005
9010 INPUT " N O M (8 lettres): ";N$
9020 INPUT " M O I S :(01/12) ";M$:M=VAL M$:M=INT(ABS M)
9030 TY=INT (TIME/10000)
9040 IF M<>TY GOTO 9020
9050 INPUT "No de but cassette?:(000/999)";NO$
9060 FOR I=1 TO 12
9062 IF PO$(I)="" GOTO 9070
9065 NEXT I
9070 PO$(I)=N$+"/"+M$+" :"+NO$
9080 PRINT #"fichier";PO$(*)
9090 GOTO "listing"
10000 "LECTURE"
10010 MN=0:DR=0:PAUSE "*** L E C T U R E ***"
10015 INPUT "fichier dj lu(o/n):";M$
10016 IF M$="o" GOTO 10130
10020 INPUT " N O M (8 lettres):";N$
10030 INPUT " M O I S (01/12):";M$
10040 INPUT "No cassette(000/999)";NO$
10050 Z$=N$+"/"+M$+" :"+NO$
10055 IF MN=1 GOTO 10080
10060 WAIT 0:PRINT "cassette (play?)?"
10070 IF INKEY$<>"o" GOTO 10070
10080 POKE &40CF,&F0,&91:AD=&40D2
10090 FOR K=&71F0 TO &71FF
10100 AD=AD+1:POKE AD,PEEK K
10110 NEXT K
10115 IF MN=1 RETURN
10120 GOSUB 2
10121 FOR KL=0 TO 30:VA(KL)=VAL VA$(KL):NEXT KL
10122 GOSUB 2
10125 IF DR=1 RETURN
10130 GRAPH:CSIZE 1:COLOR 3
10140 LPRINT "********* ":LPRINT Z$:LPRINT " *********"
10150 TEXT:GRAPH:SORGN:CSIZE 1
10151 GLCURSOR (2,-10):LPRINT "articles       crdit    dbit"
10152 TA=-10
10155 COLOR 2
10160 FOR U=0 TO 29
10161 TA=TA-15
10170 IF VA$(U)="" GOTO 10210
10171 IF U=0 GOTO 10180
10175 COLOR 0
10180 CSIZE 1:GLCURSOR (2,TA):LPRINT VA$(U)
10185 IF VA(U)>0 GLCURSOR (105,TA):LPRINT VA(U):GOTO 10190
10186 GLCURSOR (160,TA):LPRINT ABS (VA(U))
10190 NEXT U
10210 GLCURSOR (10,TA):COLOR 2:LPRINT VA$(30):GLCURSOR (105,TA):LPRINT VA(30)
10220 TB=-13:COLOR 1
10230 FOR H=1 TO U+1
10240 LINE (0,TB)-(215,TB)
10250 TB=TB-15
10260 NEXT H
10265 LINE (0,TB)-(215,TB)
10270 LINE (0,-13)-(0,TB)
10280 LINE (102,-13)-(102,TB)
10285 LINE (258,-13)-(158,TB)
10290 LINE (215,-13)-(215,TB)
10300 TEXT
10500 GOTO 80
11000 "CRE/DEB":DR=1
11001 INPUT "fichier dj lu(o/n):";M$
11002 IF M$="o" GOTO 11030
11010 GOSUB 10020
11030 INPUT "nouveau mois(o/n):";M$
11040 IF M$="o" LET VA$(30)="nouvel avoir":INPUT "ancien avoir?:";VA(30)
11041 IF M$="o" LET VA(0)=VA(30):VA$(0)="ancien avoir"
11045 IF M$="o" LET MN=1:GOSUB 10020
11050 FOR H=1 TO 29
11060 IF VA$(H)="" GOTO 11071
11070 NEXT H
11071 LET H=H-1
11072 FOR TG=1 TO 29
11075 H=H+1
11080 INPUT "article(<8 lettres):";VU$
11090 INPUT "date(jour:01  31):";VJ$
11100 VA$(H)="le "+VJ$+" /"+VU$
11110 INPUT "montant (cre+/deb-):";VA(H)
11115 VA(30)=VA(30)+VA(H)
11116 INPUT "un autre article(o/n):";M$
11117 IF M$="n" GOTO 11120
11118 NEXT TG
11120 WAIT 200:PRINT "replacez la cassette"
11130 WAIT 200:PRINT "au dbut du fichier"
11140 WAIT 0:PRINT "cassette enregis.(o/n)?"
11150 IF INKEY$<>"o" GOTO 11150
11160 POKE &40CF,&F0,&97
11180 FOR HJ=0 TO 30:VG$(HJ)=VA$(HJ):NEXT HJ
11190 FOR HJ=0 TO 30:VA$(HJ)=STR$ VA(HJ):NEXT HJ
11200 GOSUB 2
11210 HJ=0 TO 30:VA$(HJ)=VG$(HJ):NEXT HJ
11220 GOSUB 2
11230 GOTO 80
12000 WAIT 100:FOR I=30 TO 50:BEEP 2,I,20:NEXT I
12010 PRINT "rembobinez la cassette":BEEP 3,10,30
12020 PRINT "  merci,..au revoir..."
12030 CALL &CD71
40000 "INIT"
40001 INPUT "lecture du fichier(o/n):";M$
40002 IF M$="n" GOTO 30
40005 PAUSE "chargement fichier"
40010 PRINT "rem.:on? casse.lec?  000"
40020 IF INKEY$="o" GOTO 40030
40025 GOTO 40010
40030 INPUT #"fichier";PO$(*)
40035 RETURN
40040 "LISTING":TEXT:CSIZE 1:COLOR 0:LPRINT "******* F I C H I E R *******"
40050 COLOR 1:FOR I=1 TO 13
40060 IF PO$(U)="" GOTO 40100
40070 TEXT:CSIZE 1:LPRINT PO$(U)
40080 NEXT U
40100 LF 5:TEXT:GOTO 35
65000 WAIT 0:PRINT "l'imprimante n'est pas l":BEEP 5,10,100
65010 PRINT "extinction automatique":BEEP 2,64,100
65020 PRINT "connectez-la, puis refaire":BEEP 1,2,150
65030 CALL &CD71