• Aucun résultat trouvé

IFCKO0THENGOSUB394

Dans le document SECOND BOOK OF (Page 84-90)

PI QG 10 REM DATABASE 128

HC 36 IFCKO0THENGOSUB394

FG 40 FAST: CLR:G0SUB16:SLOW:INPUT"ICLR}{DOWN}HOW t SPACE }MANY FIELDS IN EACH RECORD? 0

{4 LEFTjll;F:IFF=0THEN68 CB 42 FAST: GOSUB24:SLOW:FORI=1TOF

MC 44 PRINT"{HOME}{4 DOWN}{RVS}FIELD #";I:PRINT"

{DOWN}TITLE ?{29 SPACES}"

AF 46 PRINT"LENGTH{31 SPACES}{HOME}"

MP 47 PRINT"{5 DOWN}";TAB(6);:INPUTF$(I):PRINTTAB(

6);:INPUTL%(I)

DA 48 IF F$(l)="" OR L%(l)=0 THEN PRINT "EACH FIEL D MUST HAVE A TITLE AND LENGTH":I=F:SLEEP3:G OTO40

QJ 49 NEXT I

HH 50 REM *** COMPUTE # RECORDS ***

MC 52 FORJ=0TOF:RL=RL+L%(J):NEXTJ:RL=RL+3*(F+l)+5:

R=INT((MEM-12*(F+1)-2100)/RL)

SG 54 PRINT"{DOWN} YOUR SELECTIONS WILL ALLOW APPR OX"

XS 56 PRINTR;"RECORDS.{2 SPACES}{RVS}A{OFF}CCEPT O R {RVS}R{OFF}EJECT?"

HG 58 GOSUB30:IFA$="R"THEN38

PG 60 IFA$="A"THENGOSUB26:CK=1:GOTO68

DK 62 GOTO58 | j

HG 64 REM *** MENU *** '—'

PC 68 SLOW: PRINT"{CLR} {RVS}{8 SPACES}DATABASE 12

8 MENU{14 SPACES}" , >

EP 70 PRINT"{4 DOWN}{5 SPACES}{RVS}A{OFF}DD [_j

{16 SPACES}{RVS}P{OFF}RINT"

SG 72 PRINT"{DOWN}{5 SPACES}{RVS}C{OFF}REATE

{13 SPACES}{RVS}R{OFF}EAD" \ j

DA 74 PRINT"{DOWN}{5 SPACES}{RVS}D{OFF}ELETE *—' {13 SPACES}{RVS}S{OFF}ORT"

GH 76 PRINT"{DOWN}{5 SPACES}{RVS}F{OFF}IND , .

{15 SPACES}{RVS}V{OFF}IEW" LJ

76

u

FF

BE 78 PRINT"{DOWN}{5 SPACES}{RVS}H{OFF}OUSEKEEPING {7 SPACES}{RVS}W{OFF}RITE"

HC 80 PRINT"{DOWN}{5 SPACES}{RVS}M{OFF}ODIFY

MP 90 PRINT"{5 DOWN} {RVS}{6 SPACES}PRESS THE APPR OPRIATE KEY{7 SPACES}"

DS 92 PRINT"{2 SPACES}THERE ARE";X;"RECORDS IN MEM ORY"

OX 94 IF R>0THENPRINT"{2 SPACES}SPACE FOR";R-X;"MO RE RECORDStUP}" {RVS}RETURN{OFF} KEY AFTER EACH ENTRY{DOWN}

MM 126 PRINT"PRESS {RVS}RETURN{OFF} WITHOUT ANY EN TRY TO STOP{2 DOWN}"

XX 128 PRINT"{RVSjRECORD NUMBER ";I;"{DOWN}"

FS 130 FORN=1TOF

DF 132 PRINTF$(N);"{3 SPACES}>{3 LEFT}";:INPUTREC$

(I,N):IFREC$(I,N)=""THENREC$(I,N)=">"

GQ 134 IFLEN(REC$(I,N))>L%(N)THENGOSUB140:GOTO132 BF 136 IFREC$(I,1)=">"THENX=I-1:CK=1:GOTO68

SE 138 NEXTN:K%(I)=I:NEXTI:X=R:CK=1:GOTO68

AF 140 PRINT"CANNOT EXCEED{RVS}";L%(N);" CHARACTER S":RETURN

XA 142 REM *** SAVE ***

GF 144 PRINT"{CLR}{DOWN}ENTER NAME OF CURRENT FILE TO BE SAVED"

SE 146 PRINT"(12 CHARACTERS MAX).{2 SPACES}ANY EXI STING FILE"

CG 148 PRINT"WITH THE SAME NAME WILL BE SCRATCHED.

n

BX 149 PRINT"JUST PRESS {RVS}X{OFF} AND <RETURN> T O ABORT.{2 DOWN}"

RK 150 PRINT"{2 SPACES}";NF$:INPUT"{UP}";NF$:IFNF$

="" OR LEFT$(NF$#1)="X"THEN68

MK 152 SCRATCH "DB- "+LEFT$(NF$,8)+" OLD":PRINT"

{DOWN}SCRATCHING OLD FILE"

77

a

Chapter 2 (

SA 153 RENAME "DB- M+NF$ TO "DB- "+LEFT$(NF$,8)+"

{SPACE}OLD":PRINT"{DOWN}RENAMING CURRENT FI

LE" \ I

AD 156 DOPEN#5,"DB- "+NF$ + ",S ",W:PRINT "{DOWNjSAVI <—*

NG NEW FILE AS ";NF$:GOSUB414

KB 158 PRINT#5,R;CR$;F;CR$;X:FORN=1TOF:PRINT#5,F$( .

N);CR$;L%(N):NEXTN J_J

RX 160 FORI=1TOX:PRINT"{DOWN}SAVING RECORD #M;I;M 12 UP}11

XE 162 FORN=1TOF:PRINT#5,REC$(I,N) :NEXTN:NEXTI:PRI DX 164 FORI=1TOX:PRINT"{DOWN}SAVING POINTERS";I;MNT

{2 UP}":PRINT#5,K%(I):NEXTI

EH 166 PRINT#5,E$:PRINT#5:DCLOSE:CK=0:PRINT"

{2 DOWN}":GOSUB414:SLEEP2:GOTO 68 FK 168 REM *** LOAD ***

FA 170 IFCKO0THENGOSUB394

CQ 172 CLR:GOSUB 16:PRINT"ICLR}{DOWN}ENTER NAME OF FILE TO BE LOADED":PRINT"PRESS <RETURN> TO ABORT {2 DOWN}":INPUT NF$:IFNF$=""THEN68 KM 174 DOPEN#5#"DB- "+NF$+",S":GOSUB414:IF DS=62 T

HEN SLEEP1:GOTO 68

XP 176 INPUT#5,R,F,X:GOSUB24:GOSUB26:FORN=1TOF:INP UT#5,F$(N),L%(N):NEXTN

ED 178 FORI=1TOX:PRINT"{DOWN]READING RECORD #";I;M 12 UPj"

AC 180 FORN=1TOF:INPUT#5,REC$(I,N):NEXTN:NEXTI:PRI NT

FB 182 FORI=1TOX:PRINT"{DOWN}READING POINTERS";I;"

{2 UP}":INPUT#5,K%(I):NEXTI

FB 184 INPUT#5,E$:IF E$<>"EOF"THEN GOSUB 414

MK 186 DCLOSE:PRINT"{2 DOWN}":G0SUB414:SLEEP2:GOTO 68

HQ 190 REM *** VIEW ***

DB 192 INPUT"{CLR}{3 DOWN}VIEW STARTING WITH WHICH RECORD";L$:I=VAL(L$):IFL$=CHR$(13)THENI=1 SJ 194 IFI=0THEN68

JX 196 IFI>XTHEN68 I

RG 198 PRINT"{CLR}{2 DOWN}{RVS}RECORD NUMBER{OFF}" '—

;I;" {RVS}IN FILE{OFF} ";NF$7"{2 DOWN}"

AR 200 FORN=1TOF:PRINT F$(N);": {RVS}";REC$(K%(I), j /

N):NEXTN ( i

SG 202 PRINT"{DOWN} {RVS}N{OFF}EXT, {RVS}L{OFF}AST , {RVS}P{OFF}RINT# {RVS}F{OFF}IND# {RVS}E

{OFF}XIT TO MENU" J|

MP 204 GOSUB30:IFA$="N"THENI=I+1:GOTO194 S

EQ 206 IFA$="L"THENI=I-1:GOTO194

BM 208 IFA$="P"THENGOSUB 600:1=1+1:GOTO194 ) /

u

n

AH 216 INPUT"{DOWN}JUMP TO RECORD NUMBER";I:GOT019

4

HG 218 PRINT"{CLR}{4 SPACES}{RVS}FIND RECORDS WITH

COMMON ITEMS {DOWN)11

BB 220 FORN=1TOF: PRINT" {RVS} " ;N; lf {OFF} ";F$(N):NE

XTN

BK 222 INPUT"{DOWN}WHICH FIELD IS TO BE SEARCHED?

{SPACE}0 {4 LEFr}H;SF:IFSF=0THEN68

IFSF<10RSF>FTHENPRINT"{3 UP}":GOTO222

PRINT"{DOWN}ENTER {RVSjCOMMON ITEM{OFF} ":P RINT"{DOWN}(THE ENTIRE STRING IS NOT REQUIR

ED)"

PRINT"{DOWN}{RVS}";F$(SF);"{OFF} ";:INPUTT$

FORI = 1TOX .-PRINT" {DOWN JSEARCHING RECORD"; I; "

{2 UP}"

PRINT"{CLR}{DOWN}MODIFY WHICH RECORD? ENTER lRVS}#{0FF}{2 SPACES}0R {RVS}A{OFF}LL

PRINT"{CLR}{DOWN}T0 MODIFY RECORD NUMBER";I

;", MAKE CHANGES"

PRINT"AS EACH FIELD IS DISPLAYED,THEN {RVS}

RETURN{OFF}{DOWN}"

FORN=1TOF:PRINTF$(N)":":PRINT"{3 SPACES}

{RVS}";REC$(K%(I)#N)

IF LEN(REC$(K%(I),N))>36 THEN PRINT"{UP}";

PRINT"{UP} ";:INPUTREC$( K% (I) , N )

IFLEN(REC$(K%(I),N))>L%(N)THENGOSUB140:GOTO

LJ

Chapter 2 I ,

XS 272 PRINTM{CLR}{DOWN}DELETE WHICH RECORD? ENTER

u

{RVS} # {OFF} OR {RVS}A{OFF}LL{2 DOWN}11

KD 274 INPUTDR$:IFDR$=D$THEN68 ) (

JD 276 IFDR$=IIAIITHENDR$=D$:GOTO282 '—i

EJ 278 I=VAL(DR$):DR$=D$:IFI>XTHENGOSUB348:GOTO274

GF 280 GOSUB284:GOTO68 , «

FF 282 FORI=1TOX:GOSUB284:NEXTI:GOTO68 j j

DX 284 PRINTM{CLR}{2 DOWN }TO DELETE RECORD NUMBER11

;I;M, PRESS"

QK 286 PRINTMlRVS}SHIFr{OFF} {RVS}D{OFF}, PRESS {RVSJSPACE BAR{OFF} TO ADVANCE{DOWN}"

CH 288 FORN=1TOF:PRINTF$(N);M{3 SPACES}{RVS}";REC$

(K%(I),N):NEXTN

RC 290 GOSUB30:IFA$="D"THEN294 XA 292 CK=1:RETURN

MP 294 PRINT"{2 DOWNjDELETING RECORD11; I: PRINT"

{DOWN} {RVS}RECORDS MAY NOW BE OUT OF ORDER11 MX 295 FORZZ=1TO1000:NEXT

JF 296 FORN=1TOF:REC$(K%(I),N)=REC$(X,N) :REC$(X,N)

=MM:NEXTN

JB 298 FORJ=1TOX:IFK%(J)=XTHENK%(J)=K%(X):K%(X)=0:

X=X-1:GOTO292 QP 299 NEXT J

HX 302 REM *** SORT ***

PH 304 PRINTM{CLR}{DOWN}{RVS}{4 SPACES}SORT RECORD S IN ASCENDING ORDER{3 SPACES}{DOWN}"

XX 306 FOR N=1TOF:PRINT" {RVS}";N;"{OFF} ";F$(N):N

EXTN

FD 308 INPUT"{DOWN}WHICH FIELD IS TO BE SORTED? 0 {SPACE}{4 LEFT}";SF:IFSF=0THEN68

JE 310 IFSF>FTHENPRINT"{3 UP}M:GOTO 308 SR 312 M=X

HQ 324 IFREC$(K%(I),SF)<=REC$(K%(L),SF)THEN328 ] (

SB 326 T%(N)=K%(I):K%(I)=K%(L):K%(L)=T%(N):I=I-M:I {—f

FI>0THEN320

GH 328 J=J+1:IFJ>KTHEN314 | /

CP 330 GOTO318 LJ

GE 332 REM *** EXIT ***

SC 334 PRINT"{CLR}{2 DOWN} {RVS}YOU HAVE NOT SAVED

YOUR CHANGES 1" /" I

JR 336 PRINT "{2 DOWN} DO YOU REALLY WANT TO QUIT? ^

{SPACE}{RVS}Y{OFF} OR {RVS}N{OFF}

HK 338 GOSUB30:IFA$=MYM THEN344 ) ;

DS 340 GOTO68 LJ

80

u

EJ 341 PRINT"{CLR}":GOTO336

MH 344 PRINT"{CLR}{2 DOWN}DATABASE TERMINATED":END

j| MD 348 PRINT "NO SUCH RECORD EXISTS": RETURN

* PK 350 IFR>0THENRETURN

XD 352 PRINT"{CLR}{DOWN}NO FILES IN MEMORY":SLEEP

p-^ {SPACE}3:GOTO68

! 1 SE 356 REM *** PRINT MENU ***

MM 358 PRINT"{CLR}{RVS}{14 SPACES}PRINT MENU {15 SPACES]"

QJ 360 PRINTTAB(12)"{6 DOWN}{RVS}L{OFF}1ST"

JQ 362 PRINTTAB(12)"{DOWN}{RVS}M{OFF}AILING LABELS HF 364 PRINTTAB(12)"{DOWN}{RVS}E{OFF}XIT TO MAIN M

ENU"

DR 365 PRINT"{10 DOWN}{RVS}{39 SPACES}"

QA 366 GOSUB30:IFA$="L"THEN500 PF 368 IFA$="M"THEN 550

ER 370 IFA$="E"THEN 68 AS 372 GOTO372

DR 392 REM *** WARNING ***

SD 394 PRINT"{CLR}{DOWN}{RED}{RVS}THIS WILL DESTRO

Y THE FILE IN MEMORY1{3 SPACES}{GRN}

QR 396 PRINT"{2 DOWN}SAVE THE FILE FIRST? {RVS}Y

{OFF} OR {RVS}N{OFF}":GOSUB30:IFA$="N"THENR

ETURN RX 398 GOTO142

MC 400 REM *** NEW DISK ***

GK 402 PRINT"{CLR}{DOWN} ARE YOU SURE? {RVS}Y{OFFj OR {RVS}N{OFF}

BQ 404 GOSUB30:IFA$="N"THEN68 KG 406 IFA$o"Y"THEN68

pc 410 header "database",140:print" {clr} {3 down}

16 spaces Formatting "

KD 411 GOTO68

XA 412 REM *** DISK ERROR ***

MH 413 IF TT=1 THEN END

CH 414 PRINTDS$:IFDS>01ANDDS<20 THENSLEEP2:GOTO68:

/ ] ELSE RETURN

KF 422 PRINT"{CLR}":DIRECTORY"DB-*"

RA 456 PRINTTAB(25)"PRESS {RVS}ANY KEY{OFF}":GOSUB

f] 30:GOTO68

L J MS 460 REM *** HOUSEKEEPING MENU ***

QA 462 PRINT"{CLR} {RVS}{8 SPACES}HOUSEKEEPING MEN r^ U{14 SPACES}"

j \ EM 464 PRINT"{4 DOWN}{5 SPACES}{RVS}D{OFFjIRECTORY

ii

SE 468 PRINT"{DOWN}{5 SPACES}{RVS}E{OFF}XIT TO BAS

T IC"

n

81

LJ

Chapter 2 , ,

SK 470 PRINT"{DOWN}{5 SPACES}{RVS}FIOFFjORMAT DISK

LJ

ii

SK 472 PRINT11 {DOWN} {5 SPACES } {RVS}M{ OFF }AIN MENU11 j f SH 474 PRINT11 {DOWN} I 5 SPACES} {RVS }S{OFF }CRATCH FIL <—\

E"

AE 476 PRINT"{DOWN} , »

Dans le document SECOND BOOK OF (Page 84-90)

Documents relatifs