mirror of
https://github.com/QB64Official/qb64.git
synced 2024-09-28 11:17:47 +00:00
Allow "quotes" around watchpoint string conditions
This commit is contained in:
parent
fcceba182c
commit
69444a6864
1 changed files with 31 additions and 12 deletions
|
@ -16,7 +16,7 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET)
|
||||||
DIM AS _BYTE vw_isArray, vw_isUDT, vw_checkingWatchpoints
|
DIM AS _BYTE vw_isArray, vw_isUDT, vw_checkingWatchpoints
|
||||||
DIM vw_start!, vw_temp$, vw_cmd$, vw_value$, vw_k&, vw_buf$, vw_scope$, vw_varType$
|
DIM vw_start!, vw_temp$, vw_cmd$, vw_value$, vw_k&, vw_buf$, vw_scope$, vw_varType$
|
||||||
DIM vw_getBytes&, vw_getBytesPosition&, vw_valueBytes$, vw_dummy%&, vw_dummy##
|
DIM vw_getBytes&, vw_getBytesPosition&, vw_valueBytes$, vw_dummy%&, vw_dummy##
|
||||||
DIM vw_arrayIndexes$, vw_wpExpression$, vw_wpTemp$, vw_v1$, vw_v2$
|
DIM vw_arrayIndexes$, vw_wpExpression$, vw_wpTemp$, vw_v1$, vw_v2$, vw_op$
|
||||||
|
|
||||||
DECLARE LIBRARY
|
DECLARE LIBRARY
|
||||||
SUB vwatch_stoptimers ALIAS stop_timers
|
SUB vwatch_stoptimers ALIAS stop_timers
|
||||||
|
@ -777,17 +777,36 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET)
|
||||||
|
|
||||||
IF INSTR(vw_varType$, "STRING") THEN
|
IF INSTR(vw_varType$, "STRING") THEN
|
||||||
IF LEFT$(vw_wpExpression$, 1) = "=" THEN
|
IF LEFT$(vw_wpExpression$, 1) = "=" THEN
|
||||||
IF _TRIM$(MID$(vw_wpExpression$, 2)) = _TRIM$(vw_buf$) THEN GOTO WatchPointBreak
|
vw_op$ = "="
|
||||||
ELSEIF LEFT$(vw_wpExpression$, 2) = "<=" THEN
|
vw_v1$ = _TRIM$(MID$(vw_wpExpression$, 2))
|
||||||
IF _TRIM$(MID$(vw_wpExpression$, 2)) <= _TRIM$(vw_buf$) THEN GOTO WatchPointBreak
|
ELSEIF INSTR("@<=@>=@<>@", "@" + LEFT$(vw_wpExpression$, 2) + "@") > 0 THEN
|
||||||
ELSEIF LEFT$(vw_wpExpression$, 2) = ">=" THEN
|
vw_op$ = LEFT$(vw_wpExpression$, 2)
|
||||||
IF _TRIM$(MID$(vw_wpExpression$, 2)) >= _TRIM$(vw_buf$) THEN GOTO WatchPointBreak
|
vw_v1$ = _TRIM$(MID$(vw_wpExpression$, 3))
|
||||||
ELSEIF LEFT$(vw_wpExpression$, 2) = "<>" THEN
|
ELSEIF INSTR("<>", LEFT$(vw_wpExpression$, 1)) > 0 THEN
|
||||||
IF _TRIM$(MID$(vw_wpExpression$, 2)) <> _TRIM$(vw_buf$) THEN GOTO WatchPointBreak
|
vw_op$ = LEFT$(vw_wpExpression$, 1)
|
||||||
ELSEIF LEFT$(vw_wpExpression$, 1) = "<" THEN
|
vw_v1$ = _TRIM$(MID$(vw_wpExpression$, 2))
|
||||||
IF _TRIM$(MID$(vw_wpExpression$, 2)) < _TRIM$(vw_buf$) THEN GOTO WatchPointBreak
|
END IF
|
||||||
ELSEIF LEFT$(vw_wpExpression$, 1) = ">" THEN
|
|
||||||
IF _TRIM$(MID$(vw_wpExpression$, 2)) > _TRIM$(vw_buf$) THEN GOTO WatchPointBreak
|
IF LEFT$(vw_v1$, 1) = CHR$(34) AND RIGHT$(vw_v1$, 1) = CHR$(34) THEN
|
||||||
|
vw_v1$ = MID$(vw_v1$, 2, LEN(vw_v1$) - 2) 'remove quotes
|
||||||
|
vw_v2$ = vw_buf$
|
||||||
|
ELSE
|
||||||
|
vw_v1$ = _TRIM$(vw_v1$)
|
||||||
|
vw_v2$ = _TRIM$(vw_buf$)
|
||||||
|
END IF
|
||||||
|
|
||||||
|
IF vw_op$ = "=" THEN
|
||||||
|
IF vw_v1$ = vw_v2$ THEN GOTO WatchPointBreak
|
||||||
|
ELSEIF vw_op$ = "<=" THEN
|
||||||
|
IF vw_v1$ <= vw_v2$ THEN GOTO WatchPointBreak
|
||||||
|
ELSEIF vw_op$ = ">=" THEN
|
||||||
|
IF vw_v1$ >= vw_v2$ THEN GOTO WatchPointBreak
|
||||||
|
ELSEIF vw_op$ = "<>" THEN
|
||||||
|
IF vw_v1$ <> vw_v2$ THEN GOTO WatchPointBreak
|
||||||
|
ELSEIF vw_op$ = "<" THEN
|
||||||
|
IF vw_v1$ < vw_v2$ THEN GOTO WatchPointBreak
|
||||||
|
ELSEIF vw_op$ = ">" THEN
|
||||||
|
IF vw_v1$ > vw_v2$ THEN GOTO WatchPointBreak
|
||||||
END IF
|
END IF
|
||||||
ELSE
|
ELSE
|
||||||
IF LEFT$(vw_wpExpression$, 1) = "=" THEN
|
IF LEFT$(vw_wpExpression$, 1) = "=" THEN
|
||||||
|
|
Loading…
Reference in a new issue