/* mff2FreD.rexx - creates FreD data file from mff data */ /* copyright 1990 Richard Lee Stockton and Gramma Software. */ /* This code is freely distributable as long as this copyright */ /* notice remains, unchanged, at the start of the code. Thank you. */ /********* Change these to YOUR paths and settings *********/ foneprgdir = 'FreDisk:' foneprg = 'FreD' fonedatadir = 'FreDisk:' fonedata = 'folk' dataport = 'MFF_SERVER1' datadir = 'MicroFiche:microfiche/' database = 'Phonebook.mff' /* These are mff data definition numbers for the phonebook */ /* Change these numbers to fit YOUR mff data definition */ FirstName = 1 LastName = 2 BusinessName = 3 HomePhone = 8 BusinessPhone = 9 Notes = 10 /***********************************************************/ OPTIONS RESULTS SIGNAL ON BREAK_C IF ~EXISTS("libs:rexxsupport.library") THEN DO SAY "Couldn't find libs:rexxsupport.library." EXIT 20 END CALL ADDLIB('rexxsupport.library',0,-30,0) LF = '0A'x /* some presets */ mfflockport = "" cleanend = 0 SAY 'Opening data file.' IF EXISTS(fonedatadir||fonedata) THEN call open f,fonedatadir||fonedata,'A' ELSE CALL OPEN f,fonedatadir||fonedata,'W' /* open FreD data file */ SAY 'Looking For Microfiche.' IF ~SHOW('P',dataport) THEN DO SAY "Microfiche MUST be already running!. Try again." EXIT END ADDRESS VALUE dataport lock mfflockport = RESULT ADDRESS VALUE mfflockport get_data_def dd IF dd.filename~=database THEN DO abandon_to_file_view load_database datadir || database get_data_def dd END notdone = 1 count = 1 select_all SAY 'Filling the data file...' DO first DO WHILE notdone get rec checkname = rec.LastName.value','rec.FirstName.value IF checkname=='REC.'LastName'.VALUE,REC.'FirstName'.VALUE' THEN notdone=0 checkname = SPACE(checkname,0) IF checkname==fullname THEN notdone=0 IF notdone>0 THEN DO name = rec.LastName.value fullname = rec.LastName.value','rec.FirstName.value business = rec.BusinessName.value home_phone = rec.HomePhone.value business_phone = rec.BusinessPhone.value mff_notes = rec.Notes.value mff_notes = SUBSTR(mff_notes,1,INDEX(mff_notes,'0A'x)) next fullname = SPACE(fullname,0) business = SPACE(business,0) IF name~="" THEN DO CALL WRITELN(f,fullname) IF home_phone~="" THEN CALL WRITELN(f,home_phone) ELSE IF business_phone~="" THEN CALL WRITELN(f,business_phone) ELSE CALL WRITELN(f,LF) CALL WRITELN(f,mff_notes) SAY "Added" fullname END IF business_phone~="" THEN DO IF business=="" THEN CALL WRITELN f,fullname ELSE DO CALL WRITELN(f,business) SAY "Added" business END CALL WRITELN(f,business_phone) CALL WRITELN(f,fullname' 'mff_notes) END END END END select_none cleanend = 1 BREAK_C: /* All endings come here. */ testlock = ADDRESS() IF testlock==mfflockport THEN DO unlock CALL CLOSE f IF cleanend THEN DO SAY SAY 'Now, YOU edit the data for any stupidities. I, am done!' CALL DELAY(150) comm = foneprgdir || foneprg fonedatadir || fonedata ADDRESS COMMAND comm END ELSE DO SAY '*** User Aborted! ***' EXIT 20 END END EXIT /* 11-JAN-90 */