You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
field or '0' will allow you to<br />
overwrite new data into it. If<br />
you made a mistake selecting<br />
thefield,Ewill let you exit back<br />
to choose another field.<br />
Next on the EDIT menu is<br />
SEARCH and REPLACE.Thisisa<br />
very powerful feature using<br />
fully all the SEARCH routines in<br />
the program. After selecting<br />
the field you wish to search,<br />
type in the search data. The<br />
String must be prefixed with<br />
character to indicate which<br />
type of search is to be done.<br />
The sixdifferenttypesarelisted<br />
at the top of the screen (for<br />
information on these see the<br />
documentation on for the<br />
search option).<br />
If scan string is used it can<br />
be made to insert data in a<br />
number of records e.g. to insert<br />
a middle name into MARK<br />
ANTHONY you would type;<br />
Search data ?@ANTHONY<br />
Replace data?ANDREW<br />
ANTHONY<br />
The name ANDREW would<br />
then be inserted at every<br />
occurrence of this name, but<br />
be careful since the routine<br />
searches for the fi rst<br />
occurrence of the string within<br />
a field, Le. if you wanted to<br />
insert my middle name DANIEL<br />
into GARETH THOMAS you<br />
could not use the shortened<br />
version e.g.<br />
Search data?@TH<br />
Replace data?DANIEL TH<br />
since the result would be<br />
GAREDANIEL TH THOMAS<br />
because TH occurs twice in my<br />
name, instead you would have<br />
to type the whole e.g.<br />
Search data?gTHOMAS<br />
Replace data?DANIEL THOMAS<br />
Search and Delete is similar<br />
in operation and replace. If you<br />
select any of the search options<br />
apart from '@' scan string the<br />
whole fi eld will be deleted.<br />
Using scan string can enable<br />
you to delete from inside a<br />
string e.g. to delete my middle<br />
name;<br />
Search data? @ DANIEL<br />
Note the space before DANIEL,<br />
since otherwise the result<br />
would be CARETHTHOMAS<br />
because the new string is<br />
reassembled around the<br />
position of the old one and<br />
their are two spaces around the<br />
old one.<br />
SUB 4400:60TO 2640<br />
2760 REM DELETE FIELD<br />
HOMEPIGOSUB 9800<br />
2906 GET 68:IF 68=<br />
2770 IF 6$N<br />
1 ER)N":GOSUB 4400<br />
DITHEN 160TO 2640<br />
A2780 S IF ( 6$0 D<br />
2781<br />
, 1 REM OVERWRITE FIELD-CAL<br />
0 L INPUT S/R WITH EDIT FLA<br />
1 6 SET SAVE MAIN VARIABL<br />
THEN ES<br />
2790 2 7GOSUB 5 29701ECACIRCNER<br />
0 1120160SUB 2000<br />
2800 IF ISN"THEN AS(D,ER)N<br />
1<br />
2810 RCNEC:GOSUB 4400<br />
:60TO 2640<br />
1 TURN<br />
N2907<br />
IF 610<br />
1 12910<br />
PRINPECLEARY<br />
THEN Y :SYS AT,9,14:PRINT R E<br />
1 1ESPC,SD,SE,SL,SE,ST,SI,SN,<br />
THEN 8SG,SPC3$<br />
8<br />
22911 9REM 0MOVE<br />
RECORDS DOWN<br />
6 TO DELETE BLOCK<br />
2920 FOR 0N07+1 TO RC-1<br />
FOR FNO TO FD<br />
:Al(F,OF-1+(0-0T))=AliF,DI<br />
!NEXT:NEXT<br />
2930 RENRC-M-OFWIRETURN<br />
2940 1<br />
2830 SYS AT,0,24:PRINT 2950 REM DELETE DATA ON SCRE<br />
1 RVSON,SPC6,WHITE,SPC3,SU<br />
EC7, RE YOU SURE7ESPC4,C7,<br />
EN FOR OVERWRITE<br />
2970 LIN":FOR LN1 TO LENCAS<br />
SPC12,HOME1<br />
2840 GET GIF 6$N<br />
1 TURN<br />
N2860<br />
IF 6$0<br />
1 12870<br />
SYS AT,0,24:PRINT'EC7<br />
THEN Y1<br />
RYSON,SPC8,WHITE,SPC5,SU<br />
R E<br />
1 ELETING DATA.. ESPC4,C7<br />
THEN 1SPC4,HOME/<br />
22871 8REM 4MOVE<br />
RECORDS ABOVE<br />
0<br />
DELETED ONE DOWN<br />
2880 FOR CNER TO RC<br />
:FOR FNO TO FD<br />
:A1(F,C)NAliF,C41/1NEXT<br />
INEXTIRCNRC-IRETURN<br />
2881<br />
2882 REM BLOCK DELETE S/R<br />
iD,ERHILSNLO"INEXT<br />
:GOSUB 2995:PRINT L$<br />
:RETURN<br />
2975<br />
2976 REM S/R TO HIGHLIGHT<br />
CURRENT FIELD TO EDIT<br />
2980 GOSUB 29951PRINT<br />
1 'AS(D,ER)IRETURN<br />
ERVSON1<br />
2985 USUB 2995:PRINT A$(D<br />
1<br />
2890 SYS AT,5,6:INPUT'ESDI<br />
ELETE FROM-<br />
1:IF<br />
DF(1 OR DFAC-2 THEN<br />
0F 2890<br />
2895 ERNDF:M$N<br />
1 SPC9,WHITE,SPC,SURE YOU<br />
ERYSON,C7 SUREEY/WESPC,C7,SPC10,<br />
1<br />
HOMEMGOSUB 9800<br />
:60SUB 4390<br />
2896 EET GSIIF 6$N<br />
1 .N"ECLEARY:60TO 2890<br />
N2897<br />
IF 5$0<br />
1 12900<br />
PRINT<br />
THEN Y"THEN<br />
1 1SYS AT,5,101INPUTIESD1<br />
P R<br />
2ECLEAR ELETE 8 9 6<br />
Y :IF DT(NDF OR DI)RC-1 THE<br />
N 2900<br />
2902 ERNDT:SOSUB 9800<br />
:GOSUB 4390<br />
2903 GET GS:IF ESNWTHEN PR<br />
INT<br />
2904 1IF<br />
6$0<br />
12905<br />
EC SYS AT,0,24:PRINT<br />
Y1<br />
ERVSON,C7,SPC,WHITE,SPC,<br />
LE<br />
1 SD10 ARYOU<br />
WISH THE DELETE<br />
THEN 1TO<br />
60 AHEAD<br />
2 191<br />
0<br />
3 00 ESPC,C7,S<br />
TO PC,<br />
2<br />
ER):RETURN<br />
3040 ITSNLEFTWS,1)<br />
:LNNLECSSI-IISSNRIGHTItS<br />
$,LN1:GOSUB 3599<br />
3050 IF CPS:"THEN 3000<br />
3060 PRINT TABEIOPEDOWN2,S111<br />
EPLACING—ESPC,DOWN31<br />
1FOR DN1 TO LENICPSI<br />
IPNASCiMIDS(CPS,D,1))<br />
3070 IF IT$0<br />
1 PINIS:GOTO 3092<br />
83075<br />
REM CHECK LENGTH OF STR<br />
1 ING DOES NOT EXCEED FIELD<br />
THEN<br />
LENGTH<br />
A3000 lIF i LENiAS(SI, S I<br />
, P1)-LPLENtIWNVALE8$0,<br />
SIHTHEN 3091<br />
3090 PRINT TAB(3)<br />
1 ESPC,SS1TRIN6 TOO LONG<br />
EUMI IN?' 1 1<br />
2990 SYS AT,0,24:PRINT"EC7,<br />
1 RVSON,SPC,WHITEWI-ESDI<br />
ELETEESPC,C7,SPC,WHITE,<br />
SPC1F3-ESONERWRITESPC,<br />
C7,SPC,WHITE,SPC)F5-[SE)<br />
XIT(SPC,C7,SPC2,HOME)<br />
:GOTO 1 3092<br />
3091 ACSI,P)NLEFICASiSI,P/<br />
1GOS<br />
PS-IMPRIGHTSEASESI<br />
UB<br />
ILENiAS(S1<br />
9 8<br />
3092 N, 1NEXTIGOSUB<br />
0 0 98001RETURN<br />
3093 P))- EFNIIISNO6OSUB 4350<br />
(PS-1+1.Ni<br />
IINPUT<br />
I1IELD<br />
N0.(-1 TO EXIWOI<br />
EDOW :IF SIN-1 THEN RETURN<br />
3094 N2 IF 5I(1 OR SI)FD+1 THEN<br />
I<br />
3093<br />
3095 RIGHT SINSI-1:INPUT<br />
1 2,SF] RIGHT2,SEEARCH DATA<br />
EDOWN2, 1:IF<br />
SIN"THEN 3093<br />
3096 0$ ITSNLEFTS(9,1)<br />
:LNNLEN(SS)-119NRIGHTSiS<br />
2991 REM CURSOR SET SIR<br />
2995 SYS ATM:L(13(1,0)1-3,<br />
YAL(BC0<br />
2996 I 1<br />
2997 D)-61RE REM SEARCH & REPLACE<br />
TURN<br />
S/11<br />
3000 EFN ISNO:GOSUB 4350<br />
:INPUT<br />
1IELD<br />
WO.(-1 TO EXIT)"01<br />
EDOW :IF SIN-1 THEN RETURN<br />
3010 N,RIG IF SI(1 OR SI>F0+1 THEN<br />
HT2,S<br />
3000<br />
3020<br />
N<br />
SSN"ISINSI-1<br />
:SYS AT,2,16:INPUT<br />
1EARCH<br />
DATA<br />
ESS1 1:IF<br />
Ste<br />
3025 0$ 1SYS<br />
AT,2,18:PRINT<br />
1 THEN EPLACE DATA<br />
ESRI 371 :SYS 0AT,15,18:POKE<br />
251,0<br />
3026 01XN181Y REM 0CALL<br />
INPUT ROUTINE<br />
224 TO MAKE SURE DATA CONFOR<br />
MS TO FIELD TYPE<br />
3030 POKE 252,VAL(B$(3,61))<br />
:POKE 253,VAL(LEFTSEBS(4,<br />
SII,1))00SU8 2020<br />
3031 REM CALL SEARCH SiR<br />
20<br />
$,LN)00SUB 3599<br />
:IF CP$<br />
3097 01 PRINT TAB(9)IEDOWN2,<br />
RVSON,SPC,SIDELETING—<br />
THEN<br />
3':FOR 0 ON1 9 TO LENiCPSI<br />
3:PNASCEMIDS(CPS,D,1))<br />
3098 IF IT$0<br />
1 P/N":NEXTIRETURN<br />
13099<br />
ASiSI,P/NLEFTS(ACSI,PI<br />
1o<br />
PS-1)4111MACSI,PI,PPLN,<br />
THEN LENCASiSI,P I:NEXTIRETURN<br />
3100 A tPRINPECLEAR,WHITE, i S I<br />
,<br />
DOWN3,RIGHT2,SP3RESSO<br />
:PRINT TABE5PIDOWN211<br />
-ESPC,ST10 VIEW A RECORD.<br />
3101 PRINT TA8(3)<br />
1 -ESPC,S110 VIEW ALL RECO<br />
EDOWN2I2<br />
RDS.<br />
13<br />
-ESPC,SENIT.<br />
3102 :PRI GET GS:IF 6S=<br />
1 NT 20<br />
23103<br />
TA IF 6$<br />
10<br />
3104 Bi5 IF 6$0<br />
THEN 33105<br />
1 I<br />
PRINT 3 1<br />
1<br />
1<br />
THEN CCLEAR 1 ED<br />
R1THEN OW E T<br />
U3 N2] R1 0N<br />
2