$CPU 8086 ' make compatible with XT systems $LIB ALL OFF ' turn off all PowerBASIC libraries $ERROR ALL OFF ' turn off all PowerBASIC error checking $OPTIMIZE SIZE ' optimize for smaller code $COMPILE UNIT ' compile to a UNIT (.PBU) '$COMPILE EXE ' compile to a UNIT (.PBU) DEFINT A-Z ' Required for all numeric functions, forces PB to not ' include floating point in UNIT (makes it smaller) '/*------------------------------------------------------------------*/ $CODE SEG "MLIB2" '/*----------------------------------------------------------------- FUNCTION STRIP(BYVAL X AS STRING, BYVAL OPT AS STRING, BYVAL CHAR AS STRING) PUBLIC AS STRING OPT = UCASE$(OPT) XRET$ = "" L = LEN(X) IF L < 1 THEN FUNCTION = "" EXIT FUNCTION END IF IF OPT = "B" OR OPT = "L" THEN KF = 0 CNT = 0 DO CNT = CNT + 1 T$ = MID$(X,CNT,1) IF KF = 0 AND T$ <> CHAR THEN KF = 1 IF KF = 1 THEN XRET$ = XRET$ + T$ LOOP UNTIL CNT = L X = XRET$ END IF L = LEN(X) IF OPT = "B" OR OPT = "T" THEN KF=0 CNT = L + 1 XRET$ = "" DO CNT = CNT - 1 T$ = MID$(X,CNT,1) IF KF = 0 AND T$ <> CHAR THEN KF = 1 IF KF = 1 THEN XRET$ = T$ + XRET$ LOOP UNTIL CNT < 2 END IF STRIP = XRET$ END FUNCTION '/*----------------------------------------------------------------- ' CLS ' PRINT STRIP(" ab c ","B"," ");"---'ab c'" ' PRINT STRIP(" ab c ","L"," ");"---'ab c '" ' PRINT STRIP(" ab c ","T"," ");"---' ab c'" ' PRINT STRIP("12.7000","B","0");"---'12.7'" ' PRINT STRIP("0012.700","B","0");"---'12.7'" ' INPUT Z