📄 plgstk.spb
字号:
CREATE OR REPLACE PACKAGE BODY PLGstk
IS
/*----------------------------------------------------------------
|| PL/Vision Professional
||----------------------------------------------------------------
|| File: PLGstk.spb
|| Author: Steven Feuerstein
||
|| This is a part of the PL/Vision Professional Code library.
|| Copyright (C) 1996-99 Quest Software, Inc.
|| All rights reserved.
||
|| For more information, call Quest Software at 1-800-REVEAL4
|| or check out our Web page: www.Quest Software.com
||
******************************************************************/
c_pkg CONSTANT PLGadmin.identifier := 'plgstk';
PROCEDURE destroy (stack_in IN VARCHAR2 := defstk) IS
/*
|| A pass-through directly to the list package.
*/
BEGIN
PLGlst.destroy (stack_in);
END;
PROCEDURE make
(stack_in IN VARCHAR2 := defstk,
overwrite_in IN BOOLEAN := TRUE)
IS
/* A pass-through directly to the list package. */
BEGIN
IF overwrite_in AND PLGlst.is_made (stack_in)
THEN
PLGlst.destroy (stack_in);
END IF;
PLGlst.make (stack_in);
END;
PROCEDURE push
(item_in IN VARCHAR2, stack_in IN VARCHAR2 := defstk)
IS
/*
|| A pass-through directly to the list package. Remember:
|| push always adds an item to the end of the list.
*/
BEGIN
PLGlst.appenditem (stack_in, item_in);
END;
PROCEDURE pop
(value_out IN OUT VARCHAR2,
stack_in IN VARCHAR2 := defstk,
stack_type_in IN VARCHAR2 := lifo)
IS
stack_count INTEGER := PLGlst.nitems (stack_in);
/* The row of the item to pop.
If FIFO, pop first item. */
row_to_pop INTEGER := 1;
BEGIN
IF stack_count = 0 OR stack_count IS NULL
THEN
value_out := NULL;
ELSE
IF UPPER (stack_type_in) = lifo
THEN
/* Pop the very last item in the list. */
row_to_pop := stack_count;
END IF;
/* Get the value with getitem, then remove the item. */
value_out := PLGlst.getitem (stack_in, row_to_pop);
PLGlst.deleteitem (stack_in, row_to_pop);
END IF;
END;
FUNCTION nitems (stack_in IN VARCHAR2 := defstk)
RETURN INTEGER
IS
BEGIN
RETURN PLGlst.nitems (stack_in);
END;
FUNCTION itemin
(stack_in IN VARCHAR2, item_in IN VARCHAR2) RETURN BOOLEAN
IS
BEGIN
RETURN
(PLGlst.getposition (stack_in, item_in) != 0);
END;
END PLGstk;
/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -