[Harbour] StackOverflow in MemoEdit
Abeb
abe.buch at att.net
Mon Dec 22 16:52:18 EST 2008
Try to type some text, press esc , answer no to save
--------------------------------------------------
#INCLUDE "INKEY.CH"
PROC TEST()
LOCAL MBUFFER := ""
PRIVATE RETVAL := 0
PRIVATE ALTERED := .F.
PRIVATE INS_MODE := .T.
SETMODE(25,80)
@ MAXROW()-1,0 TO MAXROW()-1 ,MAXCOL() DOUB
@ MAXROW() ,0 SAY " ®ESC¯ "
MBUFFER := MEMOEDIT( MBUFFER , 0,0,MAXROW()-2, MAXCOL() ,
.Y.,"REMARKFUNC", MAXCOL() )
? "I'M HERE"
IF RETVAL = K_CTRL_W
? "SAVEING..."
ENDIF
RETURN
***************
FUNC REMARKFUNC (MODE, LINE, COL)
LOCAL MTEMP
LOCAL KP
DO CASE
CASE MODE = 3
IF .NOT. INS_MODE
RETVAL := 22
ENDIF
@ MAXROW(), 30 SAY IF(INS_MODE, "INSERT", " ")
RETVAL := 0
CASE MODE = 0
* IDLE
@ MAXROW(),40 SAY "LINE: " + PAD(LTRIM(STR(LINE)), 4)
@ MAXROW(),52 SAY "COL: " + PAD(LTRIM(STR(COL)), 3)
OTHERWISE
* KEYSTROKE EXCEPTION
KP = LASTKEY()
* SAVE VALUES TO POSSIBLY RESUME EDIT
IF MODE=2
ALTERED := .T.
ENDIF
DO CASE
CASE KP = K_CTRL_W
* ^W..IGNORE (DISABLE)
RETVAL := 32
CASE KP = 301 .OR. KP = 27
* ESC/ALT-X..EXIT
IF .NOT. ALTERED
RETVAL := 27
ELSE
MTEMP := ALERT("SAVE EDITING",{"YES","NO"})
DO CASE
CASE MTEMP = 2
RETVAL := 27
CASE MTEMP = 0
RETVAL := 32
CASE MTEMP = 1
? "SAVEING..."
RETVAL := K_CTRL_W
ENDCASE
ENDIF
CASE (KP = 279 .OR. KP = 22)
* ^V/INS/ALT-I..TOGGLE INSERT MODE
INS_MODE = .NOT. INS_MODE
@ MAXROW(), 30 SAY IF(INS_MODE, "INSERT", " ")
RETVAL := 22
ENDCASE
ENDCASE
RETURN RETVAL
--
View this message in context: http://www.nabble.com/StackOverflow-in-MemoEdit-tp21135626p21135626.html
Sent from the Harbour - Dev mailing list archive at Nabble.com.
More information about the Harbour
mailing list