Telephone numbers are frequently given as text as we all know so that it can be remembered easily. The problem is having to look up the numbers before dialing. If your sight is getting worse for small letters/numbers this can be
irritating. Here is a simple program that translates text to numbers and displays in a large font. I have found it to be handy.
It formats the number (U.S.) if the length of the number trimmed for spaces is 7, 10, or 11 numbers.
irritating. Here is a simple program that translates text to numbers and displays in a large font. I have found it to be handy.
It formats the number (U.S.) if the length of the number trimmed for spaces is 7, 10, or 11 numbers.
Code:
#COMPILE EXE '#DIM ALL #INCLUDE "win32api.inc" GLOBAL hDlg AS DWORD, UserEntry AS STRING, DlgResult AS LONG, doneit% GLOBAL Telenumber$ CALLBACK FUNCTION MainPageCallback STATIC newnum$ 'SELECT CASE CB.MSG 'pbwin9 and above SELECT CASE CBMSG CASE %WM_INITDIALOG newnum$="" CASE %WM_COMMAND 'SELECT CASE CB.CTL 'pbwin9 and above SELECT CASE CBCTL CASE 201 CONTROL GET TEXT hDlg,201 TO UserEntry Telenumber$=UserEntry CASE 301 FOR kk&=1 TO LEN(Telenumber$) char$=UCASE$(MID$(Telenumber$,kk&,1)) SELECT CASE char$ CASE "A","B","C" num$="2" CASE "D","E","F" num$="3" CASE "G","H","I" num$="4" CASE "J","K","L" num$="5" CASE "M","N","O" num$="6" CASE "P","Q","R","S" num$="7" CASE "T","U","V" num$="8" CASE "W","X","Y" num$="9" CASE "1","2","3","4","5","6","7","8","9","0" num$=char$ 'MID$(Telenumber$,kk&,1) CASE ELSE num$=" " END SELECT IF num$<>"" THEN newnum$=newnum$+num$ END IF num$="" NEXT savenum$=newnum$ x$=REMOVE$(newnum$," ") IF LEN(x$)=11 THEN newnum$=LEFT$(x$,1)+" ("+MID$(x$,2,3)+") "+MID$(x$,5,3)+"-"+MID$(x$,8) ELSEIF LEN(x$)=10 THEN newnum$="("+MID$(x$,1,3)+") "+MID$(x$,4,3)+"-"+MID$(x$,7) ELSEIF LEN(x$)=7 THEN newnum$=MID$(x$,1,3)+"-"+MID$(x$,4) ELSE newnum$=savenum$ END IF ' if doneit%=0 then ' msgbox "newnum$= "+newnum$ ' doneit%=1 ' end if CONTROL SET TEXT hDlg,151,TRIM$(newnum$) CASE 302 DIALOG END hDlg,0 CASE 303 newnum$="" CONTROL SET TEXT hDlg,151,"" CONTROL SET TEXT hDlg,201,"" END SELECT END SELECT END FUNCTION FUNCTION PBMAIN () AS LONG LOCAL lf AS LOGFONT, hFontBigttf AS LONG GetObject GetStockObject(%ANSI_VAR_FONT), SIZEOF(lf), BYVAL VARPTR(lf) lf.lfHeight = 32'*yoffset! '48 '-14 lf.lfWidth = 16'*xoffset! '24*xoffset! lf.lfWeight = %FW_BOLD lf.lfItalic = 0 '1 lf.lfFaceName = "Times NEW Roman" 'SF Square Root" 'PXPED Light"'"Times NEW Roman"' Bold Italic" 'Courier New" 'Arial" 'MS Sans Serif" '"MS UI Gothic" '"MS Linedraw" '"Courier New"'Arial" ' hFontBigttf = CreateFontIndirect(lf) DIALOG NEW %Null, "Translate Phone Numbers",,, 260,100, %WS_POPUP OR _ %WS_BORDER OR %WS_DLGFRAME OR %WS_THICKFRAME OR %WS_CAPTION OR _ %WS_SYSMENU OR %WS_MINIMIZEBOX OR %WS_MAXIMIZEBOX OR %WS_CLIPSIBLINGS _ OR %WS_VISIBLE OR %DS_MODALFRAME OR %DS_3DLOOK OR _ %DS_NOFAILCREATE OR %DS_SETFONT, %WS_EX_WINDOWEDGE OR _ %WS_EX_CONTROLPARENT OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _ %WS_EX_RIGHTSCROLLBAR, TO hDlg CONTROL ADD LABEL, hDlg,101,"Enter Telephone Number text ",5,10,150,12 CONTROL ADD TEXTBOX, hDlg,201,"", 155,10,100,12 CONTROL ADD LABEL, hDlg,151,"", 25,25,200,24 CONTROL SEND hDlg,151,%WM_SETFONT, hFontBigttf, %TRUE CONTROL ADD BUTTON, hDlg,301,"OK", 55,70,035,18 CONTROL ADD BUTTON, hDlg,302,"Cancel", 95,70,035,18 CONTROL ADD BUTTON, hDlg,303,"Clear", 135,70,035,18 DIALOG SHOW MODAL hDlg CALL MainPageCallback TO DlgResult END FUNCTION