home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 5
/
FreshFish_July-August1994.bin
/
bbs
/
biz
/
dfa-2.0.lha
/
DFA
/
Rexx
/
insert_adr.ced
< prev
next >
Wrap
Text File
|
1994-04-04
|
3KB
|
142 lines
/* $Revision Header built automatically *************** (do not edit) ************
**
** © Copyright by Dirk Federlein
**
** File : insert_adr.ced
** Created on : Monday, 04.04.94 17:34:06
** Created by : Dirk Federlein
** Current revision : V2.0
**
**
** Purpose
** -------
** Inserts the address of the "person" under the cursor. You must have
** DFA running to use this script successfully.
**
** ---------------------------------------------------------------------------
** Lookup part taken from:
**
** LookUp.ced Copyright (c) 1989, Peter Cherna
**
** ARexx program for CygnusEd Professional that looks up the word under
** the cursor.
**
** Version 1.30: August 20, 1989 Release 1.2: August 29, 1989
** ---------------------------------------------------------------------------
**
** Revision V2.0
** --------------
** created on Monday, 04.04.94 17:34:06 by Dirk Federlein. LogMessage :
** --- Initial release ---
**
*********************************************************************************/
options results
address 'rexx_ced'
tabchar = '09'X
cr = '0A'X
quote = '22'X
/* Get contents of current line: */
status 55
line = result
/* Get tab size: */
status 8
tabadjust = result - 1
/* Get cursor x position (relative to beginning of line = 1): */
status 46
cur = result + 1
i = index(line,tabchar)
DO while i > 0 & i <= cur - tabadjust
cur = cur - tabadjust
i = index(line,tabchar,i+1)
END
/* If the current character is non-alphabetic, then start one character
over to the left. This allows the cursor to be immediately after
the key word (say on a space or bracket.) */
char = substr(line,cur,1)
if (~(datatype(char,'A') | char = '_') & cur > 1) then
cur = cur - 1
/* Find leftmost and rightmost alphabetic character adjacent to current: */
right = cur - 1
left = cur + 1
char = 'A'
DO while (datatype(char,'A') | char = '_') & (left > 0)
left = left - 1
if left > 0 then
char = substr(line,left,1)
END
char = 'A'
DO while (datatype(char,'A') | (char = '_'))
right = right + 1
char = substr(line,right,1)
END
if right-left <= 1 then
DO
getstring
target = result
if (target = 'RESULT') then
exit
END
else
DO
target = substr(line,left+1,right-left-1)
newtarget = '#?'target'#?'
END
DO
say 'Searching for address' newtarget '...'
if ~show(ports, DFA) then
do
'okay1' 'You should have DFA running, if you' cr 'want to get an address from it!'
exit 0
end
address 'DFA' 'SEARCH' quote||newtarget||quote IGNORECASE ALL STEM ADR.
SAY rc2
if rc=0 then
do
"Prev WORD"
"Mark BLOCK"
"NEXT WORD"
"CUT BLOCK"
text ADR.ADDRESS.0
text cr
text ADR.ADDRESS.1
text " "
text ADR.ADDRESS.2
text cr
text ADR.ADDRESS.3
text cr
text ADR.ADDRESS.4
text cr
text ADR.ADDRESS.5
text " "
text ADR.ADDRESS.6
text ", "
text ADR.ADDRESS.7
text cr
text ADR.ADDRESS.8
text cr
end
else
'okay1' 'Could not find address of' newtarget '! '
END
exit