@echo off rem This is 4OS2/TC batchfile that finds a phone number in IBMWorks PHONE.DBF rem By Bill Hinkle 75300.2050@compuserve.com (FPHONE.BTM rev 2 15Feb96) setlocal set dbname=PHONE.DBF if "%IBMWORKS_INI" != "" set dbname=%IBMWORKS_INI\DATA\%dbname set fptr=%@fileopen[%dbname,read,b] if "%fptr" == "-1" goto errquit on break goto bailout setdos /x-568 iff "%1" == "" then iff isinternal querybox then querybox "Find Phone" Enter name (and optional type: Fax, Bus, Home): %%needle else input /x Enter name (and optional type keyword: Fax, Bus, Home): %%needle endiff set tell=%@words[" , ",%needle] iff %tell GT 1 then set pntype=%@word[" , ",-0,%needle] set needle=%@word[" , ",0,%needle] endiff else set needle=%1 shift %@eval[%# - 2] set pntype=%2 endiff if "%needle" == "" goto bailout set tell=%@fileseek[%fptr,4,0] setdos /X-7 set nrecs=%@eval[%@ascii[%@fileread[%fptr,1]%] + %@ascii[%@fileread[%fptr,1]%] * 256 + %@ascii[%@fileread[%fptr,1]%] * 65536 + %@ascii[%@fileread[%fptr,1]%] * 16777216] set doffs=%@eval[%@ascii[%@fileread[%fptr,1]%] + %@ascii[%@fileread[%fptr,1]%] * 256] set rlen=%@eval[%@ascii[%@fileread[%fptr,1]%] + %@ascii[%@fileread[%fptr,1]%] * 256] setdos /X+7 do %nrecs set tell=%@fileseek[%fptr,%doffs,0] iff "%@fileread[%fptr,1]" != "*" then set name=%@trim[%@fileread[%fptr,35]], %@trim[%@fileread[%fptr,35]] iff %@index["%name",%needle] != -1 then set tell=%@fileseek[%fptr,%@eval[%doffs + 514],0] do 8 set label=%@trim[%@fileread[%fptr,20]] set number=%@trim[%@fileread[%fptr,40]] if "%label" == "" leave iff "%pntype" != "" then if %@index[%label,%pntype] == -1 iterate endiff do until %ispipe == -1 set ispipe=%@index[%number,|] if %ispipe != -1 set number=%@instr[0,%ispipe,%number]%@if[%ispipe == 0,,-]%@instr[%@eval[%ispipe + 1],40,%number] enddo set number=%@instr[0,%@eval[%@len[%number]-1],%number] echo %name %label: %number enddo endiff endiff set doffs=%@eval[%doffs + %rlen] enddo :bailout setdos /x0 set tell=%@fileclose[%fptr] endlocal quit 0 :errquit endlocal echo Can't open PHONE.DBF database! quit 1