'=========================================================================== ' Subject: PREFIX CONVERSION TABLE Date: 04-29-97 (17:57) ' Author: Aaron Koehl Code: QB, QBasic, PDS ' Origin: akoehl@ccsinc.com Packet: MISC.ABC '=========================================================================== ' RELEASED TO PUBLIC DOMAIN 4-29-97 ' Scenix Designs Incorporated ' Aaron Koehl - akoehl@ccsinc.com '+----+------+------+------+------+------+------+------+------+------+----+ ' Abbr2Wrd$ FUNCTION ' Converts SI abbreviations (ie. k, M, æ) to standard form: ' Number$ - Data to convert <800k> ]Ä¿ ' Action - Customize action <1> Ã <800 kilobytes> ' DataType$ - Word(s) to add to end ]ÄÙ '+----+------+------+------+------+------+------+------+------+------+----+ DECLARE FUNCTION Abbr2Wrd$ (Number$, Action, DataType$) DECLARE SUB Center (Text$) SCREEN 0: CLS COLOR 15, 0 Center "Prefix Conversion Table DEMO" Center "By Aaron M. Koehl" COLOR 14: PRINT STRING$(34, 196); : PRINT "'Q' to quit"; : PRINT STRING$(35, 196): COLOR 15: PRINT VIEW PRINT 4 TO 25 '+------+------+------+------+------+------+------+------+------+------+ DataType$ = "bytes" ' Leave blank for simple conv. Action = 1 ' <1> Convert Abbrevs. to full form DO COLOR 15: PRINT "Input data in form: (.77p)--> "; : COLOR 14 INPUT "", A$: IF UCASE$(A$) = "Q" THEN EXIT DO COLOR 10: PRINT "Program Output: "; : COLOR 14 PRINT Abbr2Wrd$(A$, Action, DataType$): PRINT LOOP PRINT : PRINT : PRINT Center "PUBLIC DOMAIN" Center "Scenix Designs Incorporated" Center "Aaron Koehl - akoehl@ccsinc.com" END PrefixData: DATA E,P,T,G,M,k,h,da,d,c,m,æ,n,p,f,a DATA exa,peta,tera,giga,mega,kilo,hecto,deka,deci,centi,milli DATA micro,nano,pico,femto,atto FUNCTION Abbr2Wrd$ (Number$, Action, DataType$) ' PUBLIC DOMAIN ' Scenix Designs Incorporated ' Aaron Koehl - akoehl@ccsinc.com SELECT CASE Action CASE 1 ' Convert abbreviations to whole words RESTORE PrefixData REDIM Temp$(16): FOR Temp = 1 TO 16: READ Temp$(Temp): NEXT REDIM Temp2$(16): FOR Temp = 1 TO 16: READ Temp2$(Temp): NEXT FOR Temp = 1 TO 16 IF INSTR(Number$, Temp$(Temp)) THEN Temp3$ = MID$(Number$, 1, INSTR(Number$, Temp$(Temp)) - 1) Temp4$ = MID$(Number$, INSTR(Number$, Temp$(Temp)) + LEN(Temp$(Temp))) Number$ = Temp3$ + " " + Temp4$ + Temp2$(Temp) Flag = 1: Abbr2Wrd$ = Number$ + DataType$ EXIT FUNCTION END IF 'IF Flag THEN EXIT FOR NEXT END SELECT END FUNCTION SUB Center (Text$) LOCATE CSRLIN, (80 - LEN(Text$)) \ 2 PRINT Text$ END SUB