Announcement

Collapse
No announcement yet.

adding machine from a listbox

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • adding machine from a listbox

    I am in need of some various help dealing with a listbox.
    I am altering code already created, because what i want is more that i am able to program from scratch.

    I am trying to create an adding machine from a listbox already listed from the forums source code section.
    Erik Christensen place some code along with help received from Borje Hagsten and Lance Edmonds.

    here is where the original posting is.
    http://www.powerbasic.com/support/pb...ad.php?t=23158

    I wanted a simple adding machine that is clean, fast and small. After not finding what i wanted, i figured that a listbox would make a good display.

    This code is a in the works program, and i feel it will provide a nice program for myself as well as others.

    I have changed the code some from the original code trying to make the display smaller and make the program faster to work with.

    I have worked with the input variables to where a user can only put in a number, positive or negative.

    The program will only perform addition and subtraction.

    My problem right now is.
    Getting the numbers in the listbox to line up correctly.
    I am not sure whether it is a font problem or how i am saving the string variables back inside the string arrary for the listbox. I guess all listbox's display only strings. I am adding spaces to the left of the string variables in the array as an attempt to right justify the strings.

    I am not worried about printing anything just yet, just getting the basics into the program.
    Later i will add a button to clear the arrray variables and have the program startup requesting inputs by somekind of msgbox to get the first numeric figures from the user before displaying a listbox with numbers, but right now the values in the listbox are empty when started and the program goes straight to the list box.

    But i need to some help with the numbers lining up first in the listbox.
    Also without trying out the program on some other monitors, i believe the gui is to large right now.

    I have place the exe with bas source on the website for a short time at

    http://pdptemp.dyndns.org/zipcode

    program name is paulcalc.exe

    thanks for any help.

    If anybody sees a nicer way to work with the user interface please let me know. There are a few other things i want to incorporate into he program, like automatic block movement and edit when you press a down arrow key or a up arrow key while editing a cell.

    where i made changes or additions to the original program, i tried to make a remark using my name paul purvis, with few exceptions my name is beside all changes made

    Code:
    'paulcalc.bas   'compiled with pbwin 8.04
    
    'for the source code please  see the link above
    'the zipped file should have an exe the bas source code
    Last edited by Paul Purvis; 6 Dec 2007, 12:13 PM.
    p purvis

  • #2
    presumably this is a currency adding machine, and it supports quite a lot of rows, I can imagine the kind of application it might have. As such, it should allow numbers to be keyed with the absolute minimum of keystrokes. If it is a currency counter then the decimal place can be implied so for example $12.34 will be entered 1234. Also, it will need a "double zero" key, mostly used when round dollar amounts are being entered. You could use the decimal point on the numeric keypad for this. Maybe I was missing something but it seemed the only way to get data in was by edit mode which I would have expected to be for corrections only. Regarding the format, it needs to be right-aligned, not centered, and for many of us (sigh) to have a larger font size. If it is for currency counting then you will probably need quite a lot of additional functionality. If it is for some other application, please disregard most of what I have said.

    Comment


    • #3
      I've done a simple adding machine program and although i didnt use a listbox, that's not a bad idea.

      You should set the font to a fixed font so that the numbers will line up and of course %SS_RIGHT or similar to make the amounts line up on the right side. Im not sure how to do that in a listbox. If it's dollars and cents, use the extended currency for the calculations.

      For the font,
      Simple to do.
      Before starting dialog,
      hFONT& = GetStockObject(%SYSTEM_FIXED_FONT)
      After adding the listbox, send
      CONTROL SEND Hdlg,id&,%WM_SETFONT,hFONT&,%TRUE
      Client Writeup for the CPA

      buffs.proboards2.com

      Links Page

      Comment


      • #4
        Thanks Fred, that is much, much, much better, and it made the numbers larger too.

        Chris the program is brand new, i am brand new to windows gui programming and the program is far from complete due to my low experience in gui programming.
        I do not quite see the light on all that callback stuff, i am sure if i keep at it, i will see the whole picture, right now it is very tedious.

        I wanted to just get the program to providing a decent display first.

        I plan on making the program much more functional but i do not want to go overboard on functions as I have done that with other programs where users seemed confused.
        Things to be added are:
        easier data entry
        sent the number of rows
        number of the items
        larger print
        maybe better color
        when editing a row, the function should be over the program
        move totals to top of page
        allow the screen to shrink
        take the x close box out
        make a toggle for transparency higher or lower on the display
        provide statistics for the values placed into the rows, average, high, low, standard deviation
        would be nice to have a running total to the right of columns
        print, save, and restore a listing
        do a quick save
        make a ini for the program
        maybe set a lower number of rows automatically for pre windows nt
        maybe set a higher number of rows(items) to display
        clear all data
        rebuild list with rows having no data removed
        send the list to the clipboard with or without the total
        send the list to a new instance with the same listing.
        have the negative numbers in red color or maybe have the negative sign to the right of the number
        when the program is first run on an empty list, have the program asking for numerical input right up front.

        the reason for having a large number of rows now is for speed testing and not wanting to deal with the number of rows issue now.


        i probably forgot a few other things.

        but the display is where i am having problems now.

        this program will probably end up being split into two programs, one for a short number of fixed rows(items) and other for a longer number of rows.

        paul

        if somebody has something better with flexiblity, i am all ears.
        Last edited by Paul Purvis; 30 Nov 2007, 01:33 AM.
        p purvis

        Comment


        • #5
          made some improvements, mostly the display

          http://pdptemp.dyndns.org/zipcode
          p purvis

          Comment


          • #6
            not all i want yet, but i have made some changes.

            How is the interface guys?

            Hot keys will be added and help section will list those

            The top button is to place the program on top of all other programs but i have not yet found how to do that.

            the program does not yet do automatic entry like i want yet but i a very close, i just need to scroll and edit variables beyond the widows

            please see the above link
            Last edited by Paul Purvis; 5 Dec 2007, 02:56 PM.
            p purvis

            Comment


            • #7
              for you dollar, 2 decimal and less adders, the program might be useful enough now to try.
              please use it and tell me your dislikes.
              I have changed the display up

              The "top" button is not programmed yet that will later keep the program on top of the desktop.

              i have made the adding machine program somewhat more fully useful.
              you can download it at the above link.

              there are still features to add but it will do the job for adding dollars, 2 decimal fixed.

              i am not happy with the auto cell advance displaying like i want, but it does
              do auto cell advance displaying, just the previous cell scrolls off the screen but you can scroll back up

              there is no function now to clear out all the cells.
              i am working on the above two features.
              Last edited by Paul Purvis; 6 Dec 2007, 03:47 AM.
              p purvis

              Comment


              • #8
                Tried your program, ran the exe. I didn't try compiling it but I couldn't enter anything into it anywhere.
                I didn't get into the source code too deep, but I notice the MSGBOX triggered by clicking on the scrolling device does not have %MB_TASKMODAL set. After twenty clicks or so I have a nice diagonal series of message boxes.

                Very impressed with the fade out. A nice ghostly appearance.

                I will try it again should you update the file.

                Rod
                Rod
                I want not 'not', not Knot, not Knott, not Nott, not knot, not naught, not nought, but aught.

                Comment


                • #9
                  >You should set the font to a fixed font

                  Just for grins...

                  "Somewhere" around here is some code to use a "LED" 7-segment font and a link to the font file. That might be an interesting display. Let me see if I can find that...yes, here it is...http://www.powerbasic.com/support/pb...ad.php?t=22327

                  MCM
                  Michael Mattias
                  Tal Systems Inc. (retired)
                  Racine WI USA
                  [email protected]
                  http://www.talsystems.com

                  Comment


                  • #10
                    there was a bug introduced into my adding machines while making changes, the bug is when entering numbers, i am working it out.
                    sorry for any inconvenience

                    paul
                    p purvis

                    Comment


                    • #11
                      found bug, fixed bug

                      had to replace

                      IF TALLY(dataarray(sely),".")=0 THEN dataarray(sely)=TRIM$(STR$(VAL(dataarray(sely))*.01))

                      with
                      IF TALLY(dataarray(sely),".")=0 THEN dataarray(sely)=TRIM$(STR$(VAL(dataarray(sely))*[email protected]@))


                      the array variable is a extended currency variable

                      errors(wrong answers) when multiplying variables of a different type.

                      my other programs had two types of variables, integer and double, making the transition to pb more tedious on math problems for me only.

                      man, don't you just hate that.

                      ps
                      This error was put in because there are people who do not like to put a period in their entries when there are fractions of currency involved.
                      In oher words a automatic floating point of two decimals was added to the adding machine program i wrote.
                      There is not "00" key on a computer keyboard and i will not be simulating one, but never say never.
                      Last edited by Paul Purvis; 6 Dec 2007, 02:09 PM.
                      p purvis

                      Comment


                      • #12
                        My adding machine is not auto incrementing to next empty cell for input the way i wanted to
                        but actually
                        the way the adding machine is currently working maybe better.

                        during editing/adding, if the first cell is number 1, the cells scrolls off the display, but that can be good because if your display is listed over the numbers using transparent display, you can view them to type the numbers into the cells.

                        during editing/adding, if the first cell is number 20, then the cells will scroll up and under the entry input giving the user full view of what they typed.

                        I wanted to added in an option anyways to remove all blank cells from the listbox, moving all non blank cells in sequence number.

                        I have a good reason for leaving cells blank. In the future i will have two running totals inside of a displayed and printed report, one for all non blank cells and a running total for cells starting from an lower empty cell.
                        Last edited by Paul Purvis; 6 Dec 2007, 02:50 PM.
                        p purvis

                        Comment


                        • #13
                          Paul, here is a simple calculator.
                          It doesnt use a listbox but could be modified for that.
                          Code:
                          #COMPILE EXE
                          #INCLUDE "win32api.inc"
                          #RESOURCE "fredcalc.pbr"
                          GLOBAL hDlgCalc AS LONG 'change to dword for version 8+ also hwnd
                          GLOBAL total AS CUX,UserInput AS STRING, hWnd AS DWORD,test$
                          DECLARE FUNCTION calcit(hInstance???) AS STRING
                          
                          '-------------------------
                          'listing of fredcalc.rc
                          '-------------------------
                          'PROGRAM ICON WUMENUWX.ICO
                          '-----------------------------
                          'end of listing of fredcalc.rc
                          'just one line for the icon
                          'to be displayed at top left
                          'of the dialog.
                          '-----------------------------
                          
                          FUNCTION PBMAIN() AS LONG
                            dum$=calcit(hWnd)
                          END FUNCTION
                          
                          CALLBACK FUNCTION CalcDlgProc
                            LOCAL cid&
                            LOCAL test1$
                            LOCAL x$
                            LOCAL hIcon AS LONG
                            LOCAL ghInst AS LONG
                            SELECT CASE CBMSG
                              CASE %WM_INITDIALOG
                                 ghInst = GetModuleHandle("fredcalc.exe") 'jpostddt.exe")
                          
                                 SendMessage hDlgCalc, %WM_SETICON, %ICON_SMALL, LoadIcon(ghInst, "PROGRAM")
                              CASE %WM_CTLCOLORSTATIC,%WM_CTLCOLOREDIT
                              CASE %WM_DESTROY
                              CASE %WM_COMMAND
                                SELECT CASE LOWRD(CBWPARAM)
                          
                                  CASE %IDOK
                                    IF CBCTLMSG = %BN_CLICKED THEN
                                       x$=LEFT$(test$,1)
                                       SELECT CASE x$
                                         CASE "+","-"
                                           total=total+VAL(test$)
                                         CASE "*","x","X"
                                           total=total*VAL(MID$(test$,2))
                                         CASE "/"
                                           [email protected]@=VAL(MID$(test$+SPACE$(2),2))
                                           IF [email protected]@<>0 THEN
                                             total=total/[email protected]@ 'VAL(MID$(test$,2))
                                           END IF
                                         CASE ELSE
                                           x$=RIGHT$(test$,1)
                                           SELECT CASE x$
                                             CASE "+","-"
                                               total=total+VAL(test$)
                                             CASE "*"
                                               total=total*VAL(MID$(test$,2))
                                             CASE "/"
                                               [email protected]@=VAL(MID$(test$+SPACE$(2),2))
                                               IF [email protected]@<>0 THEN
                                                 total=total/[email protected]@ 'VAL(MID$(test$,2))
                                               END IF
                                             CASE "x","X"
                                               total=total*VAL(MID$(test$,2))
                          
                                             CASE ELSE
                                               IF INSTR(test$,"^")>0 AND INSTR(test$,"^")<LEN(test$) THEN
                                                  L%=INSTR(test$,"^")
                                                  total=total+VAL(MID$(test$,1,L%-1))^VAL(MID$(test$,L%+1))
                                               ELSE
                                                  total=total+VAL(test$)
                                               END IF
                                           END SELECT
                                       END SELECT
                                       CONTROL KILL hDlgCalc,103
                                       CONTROL KILL hDlgCalc,102
                                       CONTROL ADD LABEL,  hDlgCalc,102,"",11,11,89,10,%SS_RIGHT '65,12,48,12,%SS_RIGHT
                                       CONTROL SEND hDlgCalc,102,%WM_SETFONT, hFont&,%True
                          
                                       CONTROL SET TEXT hDlgCalc,102,FORMAT$(total,"###,###,###.##")
                                       Test$=""
                                       CONTROL SET TEXT hDlgCalc,101,test$
                                       EXIT FUNCTION
                                    END IF
                          
                          'Process Escape key
                                  CASE %IDCANCEL
                                    IF CBCTLMSG = %BN_CLICKED THEN
                                      DIALOG END CBHNDL, 0
                                    END IF
                                END SELECT
                          'Process number entry, or exit button
                                CID&=CBCTL
                                SELECT CASE CBCTL 'CID&
                                    CASE 101 'testbox
                                       CONTROL GET TEXT CBHNDL, 101 TO UserInput
                                       test$=UserInput
                                       IF LEN(test$)>1 THEN
                                         IF RIGHT$(test$,1)="+" OR RIGHT$(test$,1)="-" OR RIGHT$(test$,1)="*" OR RIGHT$(test$,1)="/" OR RIGHT$(UCASE$(test$),1)="X" THEN
                                           test1$=RIGHT$(test$,1)
                                           IF test1$="+" THEN
                                             Total=Total+VAL(MID$(test$,1,LEN(test$)-1))
                                             CONTROL KILL hDlgCalc,103
                                             CONTROL KILL hDlgCalc,102
                                             CONTROL ADD LABEL,  hDlgCalc,102,"",11,11,89,10,%SS_RIGHT '65,12,48,12,%SS_RIGHT
                                             CONTROL SEND hDlgCalc,102,%WM_SETFONT, hFont&,%True
                                             CONTROL SET TEXT hDlgCalc,102,FORMAT$(total,"###,###,###.##")
                                             Test$=""
                                             CONTROL SET TEXT hDlgCalc,101,test$
                                             CONTROL SET FOCUS hDlgCalc, 101
                                           ELSEIF test1$="-" THEN
                                             Total=Total-VAL(MID$(test$,1,LEN(test$)-1))
                                             CONTROL KILL hDlgCalc,103
                                             CONTROL KILL hDlgCalc,102
                                             CONTROL ADD LABEL,  hDlgCalc,102,"",11,11,89,10,%SS_RIGHT '65,12,48,12,%SS_RIGHT
                                             CONTROL SEND hDlgCalc,102,%WM_SETFONT, hFont&,%True
                                             CONTROL SET TEXT hDlgCalc,102,FORMAT$(total,"###,###,###.##")
                                             Test$=""
                                             CONTROL SET TEXT hDlgCalc,101,test$
                                             CONTROL SET FOCUS hDlgCalc, 101
                          
                                           ELSEIF test1$="*" THEN
                                             Total=Total*VAL(MID$(test$,1,LEN(test$)-1))
                                             CONTROL KILL hDlgCalc,103
                                             CONTROL KILL hDlgCalc,102
                                             CONTROL ADD LABEL,  hDlgCalc,102,"",11,11,89,10,%SS_RIGHT '65,12,48,12,%SS_RIGHT
                                             CONTROL SEND hDlgCalc,102,%WM_SETFONT, hFont&,%True
                                             CONTROL SET TEXT hDlgCalc,102,FORMAT$(total,"###,###,###.##")
                                             Test$=""
                                             CONTROL SET TEXT hDlgCalc,101,test$
                                             CONTROL SET FOCUS hDlgCalc, 101
                                           ELSEIF UCASE$(test1$)="X" THEN
                                             Total=Total*VAL(MID$(test$,1,LEN(test$)-1))
                                             CONTROL KILL hDlgCalc,103
                                             CONTROL KILL hDlgCalc,102
                                             CONTROL ADD LABEL,  hDlgCalc,102,"",11,11,89,10,%SS_RIGHT '65,12,48,12,%SS_RIGHT
                                             CONTROL SEND hDlgCalc,102,%WM_SETFONT, hFont&,%True
                                             CONTROL SET TEXT hDlgCalc,102,FORMAT$(total,"###,###,###.##")
                                             Test$=""
                                             CONTROL SET TEXT hDlgCalc,101,test$
                                             CONTROL SET FOCUS hDlgCalc, 101
                          
                                           ELSEIF test1$="/" OR test1$="\" THEN
                                             IF VAL(MID$(test$,1,LEN(test$)-1))<>0 THEN
                                                Total=Total/VAL(MID$(test$,1,LEN(test$)-1))
                                             END IF
                                             CONTROL KILL hDlgCalc,103
                                             CONTROL KILL hDlgCalc,102
                                             CONTROL ADD LABEL,  hDlgCalc,102,"",11,11,89,10,%SS_RIGHT '65,12,48,12,%SS_RIGHT
                                             CONTROL SEND hDlgCalc,102,%WM_SETFONT, hFont&,%True
                                             CONTROL SET TEXT hDlgCalc,102,FORMAT$(total,"###,###,###.##")
                                             Test$=""
                                             CONTROL SET TEXT hDlgCalc,101,test$
                                             CONTROL SET FOCUS hDlgCalc, 101
                                           END IF
                                         END IF
                                       END IF
                                     CASE 201 'Decimal
                                         test$=test$+"."
                                         CONTROL SET TEXT hDlgCalc,101,test$
                                         CONTROL SET FOCUS hDlgCalc, 101
                          
                                     CASE 202 'C button i.e. Clear
                                         Total=0
                                         Test$=""
                                         CONTROL KILL hDlgCalc,103
                                         CONTROL KILL hDlgCalc,102
                                         CONTROL ADD LABEL,  hDlgCalc,102,"",11,11,89,10,%SS_RIGHT '65,12,48,12,%SS_RIGHT
                                         CONTROL SEND hDlgCalc,102,%WM_SETFONT, hFont&,%True
                                         CONTROL SET TEXT hDlgCalc,102,FORMAT$(total,"###,###,###.##")
                                         CONTROL SET TEXT hDlgCalc,101,test$
                                         CONTROL SET FOCUS hDlgCalc,101
                                     CASE 301
                                         test$=test$+"7"
                                         CONTROL SET TEXT hDlgCalc,101,test$
                                         CONTROL SET FOCUS hDlgCalc, 101
                                     CASE 302
                                         test$=test$+"8"
                                         CONTROL SET TEXT hDlgCalc,101,test$
                                         CONTROL SET FOCUS hDlgCalc, 101
                                     CASE 303
                                         test$=test$+"9"
                                         CONTROL SET TEXT hDlgCalc,101,test$
                                         CONTROL SET FOCUS hDlgCalc, 101
                                     CASE 304
                                         test$=test$+"4"
                                         CONTROL SET TEXT hDlgCalc,101,test$
                                         CONTROL SET FOCUS hDlgCalc, 101
                                     CASE 305
                                         test$=test$+"5"
                                         CONTROL SET TEXT hDlgCalc,101,test$
                                         CONTROL SET FOCUS hDlgCalc, 101
                                     CASE 306
                                         test$=test$+"6"
                                         CONTROL SET TEXT hDlgCalc,101,test$
                                         CONTROL SET FOCUS hDlgCalc, 101
                                     CASE 307
                                         test$=test$+"1"
                                         CONTROL SET TEXT hDlgCalc,101,test$
                                         CONTROL SET FOCUS hDlgCalc, 101
                                     CASE 308
                                         test$=test$+"2"
                                         CONTROL SET TEXT hDlgCalc,101,test$
                                         CONTROL SET FOCUS hDlgCalc, 101
                                     CASE 309
                                         test$=test$+"3"
                                         CONTROL SET TEXT hDlgCalc,101,test$
                                         CONTROL SET FOCUS hDlgCalc, 101
                                     CASE 310
                                         test$=test$+"0"
                                         CONTROL SET TEXT hDlgCalc,101,test$
                                         CONTROL SET FOCUS hDlgCalc, 101
                                     CASE 311
                                         test$=test$+"+"
                                         CONTROL SET TEXT hDlgCalc,101,test$
                                         CONTROL SET FOCUS hDlgCalc, 101
                                     CASE 312
                                         test$=test$+"-"
                                         CONTROL SET TEXT hDlgCalc,101,test$
                                         CONTROL SET FOCUS hDlgCalc, 101
                                     CASE 313
                                         test$=test$+"*"
                                         CONTROL SET TEXT hDlgCalc,101,test$
                                         CONTROL SET FOCUS hDlgCalc, 101
                                     CASE 314
                                         test$=test$+"/"
                                         CONTROL SET TEXT hDlgCalc,101,test$
                                         CONTROL SET FOCUS hDlgCalc, 101
                                END SELECT
                            END SELECT
                          END FUNCTION
                          
                          FUNCTION calcit(hInstance???) EXPORT AS STRING
                          
                            total=0
                            hWnd=hInstance???
                            hFont& = GetStockObject(%SYSTEM_FIXED_FONT)
                            hFont2& = GetStockObject(%ANSI_FIXED_FONT)
                            hFont3& = GetStockObject(%OEM_FIXED_FONT)
                          
                            DIALOG NEW hInstance&, "Quick-Calc", , ,  123,  120, %WS_POPUP  OR %WS_MINIMIZEBOX _
                                       OR %WS_CAPTION OR %WS_SYSMENU OR %DS_CENTER OR %WS_EX_TOPMOST TO hDlgCalc
                          
                            CONTROL ADD LINE, hDlgCalc,501,"",0,0,123,4,%SS_BLACKRECT OR %SS_SUNKEN'FRAME OR %SS_BLACKRECT
                            CONTROL ADD LINE, hDlgCalc,502,"",0,3,3,119,%SS_BLACKRECT OR %SS_SUNKEN'FRAME OR %SS_BLACKRECT
                            CONTROL ADD LINE, hDlgCalc,503,"",0,118,122,4,%SS_BLACKRECT OR %SS_SUNKEN'FRAME OR %SS_BLACKRECT
                            CONTROL ADD LINE, hDlgCalc,504,"",120,3,3,119,%SS_BLACKRECT OR %SS_SUNKEN'FRAME OR %SS_BLACKRECT
                          
                            CONTROL ADD TEXTBOX,hDlgCalc,101,"",20,30,81,14 '10,30,100,14
                            CONTROL ADD LABEL,  hDlgCalc,102,"0.00",11,11,89,10,%SS_RIGHT '65,12,48,12,%SS_RIGHT
                            CONTROL SEND hDlgCalc,102,%WM_SETFONT, hFont&,%True 'Arial, %TRUE
                          
                            CONTROL ADD FRAME,  hDlgCalc,104,"",5,2,112,25 '"Calculator",5,2,112,25
                            CONTROL ADD FRAME,  hDlgCalc,104,"",5,24,112,90
                            CONTROL ADD BUTTON, hDlgCalc,202,"C",62,95,20,14
                          'test for buttone
                            CONTROL ADD BUTTON, hDlgCalc,301,"7",20,50,20,14
                            CONTROL ADD BUTTON, hDlgCalc,302,"8",41,50,20,14
                            CONTROL ADD BUTTON, hDlgCalc,303,"9",62,50,20,14
                            CONTROL ADD BUTTON,hDlgCalc,304,"4",20,65,20,14
                            CONTROL ADD BUTTON,hDlgCalc,305,"5",41,65,20,14
                            CONTROL ADD BUTTON,hDlgCalc,306,"6",62,65,20,14
                            CONTROL ADD BUTTON,hDlgCalc,307,"1",20,80,20,14
                            CONTROL ADD BUTTON,hDlgCalc,308,"2",41,80,20,14
                            CONTROL ADD BUTTON,hDlgCalc,309,"3",62,80,20,14
                            CONTROL ADD BUTTON,hDlgCalc,201,".",20,95,20,14
                            CONTROL ADD BUTTON,hDlgCalc,310,"0",41,95,20,14
                            CONTROL ADD BUTTON,hDlgCalc,311,"+",83,50,20,14
                            CONTROL ADD BUTTON,hDlgCalc,312,"-",83,65,20,14
                            CONTROL ADD BUTTON,hDlgCalc,313,"x",83,80,20,14
                            CONTROL ADD BUTTON,hDlgCalc,314,"/",83,95,20,14
                            hFont& = GetStockObject(%SYSTEM_FIXED_FONT)
                            CONTROL SEND hDlgCalc, 311, %WM_SETFONT, hFont&, %TRUE
                            CONTROL SEND hDlgCalc, 312, %WM_SETFONT, hFont&, %TRUE
                            CONTROL SEND hDlgCalc, 313, %WM_SETFONT, hFont&, %TRUE
                            CONTROL SEND hDlgCalc, 314, %WM_SETFONT, hFont&, %TRUE
                            CONTROL SEND hDlgCalc, 201, %WM_SETFONT, hFont&, %TRUE
                            CONTROL SEND hDlgCalc, 101, %WM_SETFONT, hFont&, %TRUE
                          'end of test
                            CONTROL SET FOCUS hDlgCalc,101
                            DIALOG SHOW MODAL hDlgCalc CALL CalcDlgProc
                          REM below when USING PBMAIN
                            FUNCTION =STR$(total*100)
                          END FUNCTION
                          Client Writeup for the CPA

                          buffs.proboards2.com

                          Links Page

                          Comment


                          • #14
                            thanks a milliion Fred
                            i am going to look at it now

                            Well except for some minor irregularities, which i am no sure where just to leave them in my program, this my adding machine program is working well now.

                            while not editing a cell pressing one key will
                            Input or edit cells
                            Send the grand total sum to the clipboard with or without a carriage return line feed.
                            Erase all numbers.
                            Exit the program.

                            Things are going along fast now that the gui display and edit has been worked mostly out now.

                            i will not post the source code now due to too much changing taking place in the source code, the code will be in the zipped file placed for downloading at site above.

                            I think i need to just add a text file into the zip file for changes made and or instructions.

                            paul
                            p purvis

                            Comment


                            • #15
                              i believe now that all problems are solved
                              making a post in the source code section and this will be the discussion area.
                              paul
                              p purvis

                              Comment


                              • #16
                                Paul, if you are interested, I modified the calculator code i posted for a listbox that shows the +-/* values then the running total. You can scroll up to see
                                previous entries and totals.
                                Client Writeup for the CPA

                                buffs.proboards2.com

                                Links Page

                                Comment


                                • #17
                                  Fred, "Show Me the Money!"
                                  That was a quote from the Jerry Maguire movie.
                                  That actor Cuba Gooding, Jr. said that and is now filming a movie in the area where i live.
                                  I should not say this, but i know this girl who works at the place where he is staying.
                                  He actually sweep the floor and turned the chairs up at the end of the night in the lounge area of the hotel at closing time.
                                  I have to give credit to that guy, i have never went that far to impress any girl.

                                  But go ahead Fred, i am interested.
                                  By the way, my program can input the grand total number into your program.
                                  Just press c in my program, and ctrl-v in yours.


                                  if any body does not think programming will drive you nuts, just read my posting two threads up, i cannot even read it.
                                  paul

                                  My adding machine will now validate entries.
                                  Only numbers, minus, space, comma, backspace, and period are now allowed for input characters.
                                  If a invalided character is entered, the program will return a beep.
                                  I personally do not not like sound for my programs, silence is golden, just go into a any McDonald's restrauant if you do not believe me.
                                  But i am going to go against my rule in this adding machine program, as those that use them, calculators, people listen to the machines while entering numbers to get feed back in an audible way.

                                  I do not believe you could ever replace the calculator, but i am trying hard too.
                                  Maybe Sharp, Monroe, and Texas Instruments should offer me some money to silence me or at least have me stop programming this adding machine. Just a joke to those wondering.
                                  Last edited by Paul Purvis; 8 Dec 2007, 12:35 PM.
                                  p purvis

                                  Comment


                                  • #18
                                    Here you go.
                                    Basically the same as before but changing the label showing the total
                                    to a listbox showing the total and the amount added/subtracted/multiplied/divided to get that running total.
                                    Code:
                                    #COMPILE EXE
                                    #INCLUDE "win32api.inc"
                                    #RESOURCE "fredcalc.pbr"
                                    GLOBAL hDlgCalc AS LONG 'change to dword for version 8+ also hwnd
                                    GLOBAL total AS CUX,UserInput AS STRING, hWnd AS DWORD,test$
                                    DECLARE FUNCTION calcit(hInstance???) AS STRING
                                    
                                    '-------------------------
                                    'listing of fredcalc.rc
                                    '-------------------------
                                    'PROGRAM ICON WUMENUWX.ICO
                                    '-----------------------------
                                    'end of listing of fredcalc.rc
                                    'just one line for the icon
                                    'to be displayed at top left
                                    'of the dialog.
                                    '-----------------------------
                                    
                                    FUNCTION PBMAIN() AS LONG
                                      dum$=calcit(hWnd)
                                    END FUNCTION
                                    
                                    CALLBACK FUNCTION CalcDlgProc
                                      LOCAL cid&
                                      LOCAL test1$
                                      LOCAL x$
                                      LOCAL hIcon AS LONG
                                      LOCAL ghInst AS LONG
                                      STATIC lbitems&
                                      SELECT CASE CBMSG
                                        CASE %WM_INITDIALOG
                                           ghInst = GetModuleHandle("fredcalc.exe") 'jpostddt.exe")
                                    
                                           SendMessage hDlgCalc, %WM_SETICON, %ICON_SMALL, LoadIcon(ghInst, "PROGRAM")
                                        CASE %WM_CTLCOLORSTATIC,%WM_CTLCOLOREDIT
                                        CASE %WM_DESTROY
                                        CASE %WM_COMMAND
                                          SELECT CASE LOWRD(CBWPARAM)
                                    
                                            CASE %IDOK
                                              IF CBCTLMSG = %BN_CLICKED THEN
                                                 x$=LEFT$(test$,1)
                                                 SELECT CASE x$
                                                   CASE "+","-"
                                                     total=total+VAL(test$)
                                                   CASE "*","x","X"
                                                     total=total*VAL(MID$(test$,2))
                                                   CASE "/"
                                                     [email protected]@=VAL(MID$(test$+SPACE$(2),2))
                                                     IF [email protected]@<>0 THEN
                                                       total=total/[email protected]@ 'VAL(MID$(test$,2))
                                                     END IF
                                                   CASE ELSE
                                                     x$=RIGHT$(test$,1)
                                                     SELECT CASE x$
                                                       CASE "+","-"
                                                         total=total+VAL(test$)
                                                       CASE "*"
                                                         total=total*VAL(MID$(test$,2))
                                                       CASE "/"
                                                         [email protected]@=VAL(MID$(test$+SPACE$(2),2))
                                                         IF [email protected]@<>0 THEN
                                                           total=total/[email protected]@ 'VAL(MID$(test$,2))
                                                         END IF
                                                       CASE "x","X"
                                                         total=total*VAL(MID$(test$,2))
                                    
                                                       CASE ELSE
                                                         IF INSTR(test$,"^")>0 AND INSTR(test$,"^")<LEN(test$) THEN
                                                            L%=INSTR(test$,"^")
                                                            total=total+VAL(MID$(test$,1,L%-1))^VAL(MID$(test$,L%+1))
                                                         ELSE
                                                            total=total+VAL(test$)
                                                         END IF
                                                     END SELECT
                                                 END SELECT
                                                 CONTROL KILL hDlgCalc,103
                                                 x$="+"+test$:test$=x$
                                                 IF INSTR(LEFT$(test$,1),ANY "+-/*")=0 AND INSTR(RIGHT$(test$,1),ANY "+-/*")=0 THEN x$="+"+test$:test$=x$
                                                 LISTBOX ADD hDlgCalc,102,test$
                                                 t$=FORMAT$(total,"#,.00")
                                                 IF LEFT$(t$,4)="-00." THEN X$=" -0"+MID$(t$,4):t$=x$
                                                 IF LEFT$(T$,1)="0" AND MID$(T$,2)<>"." THEN x$=MID$(t$,2):t$=x$ 'LEFT$(t$,1)=" "
                                                 LISTBOX ADD hDlgCalc,102,RIGHT$(SPACE$(14)+T$,14) 'FORMAT$(total,"#,.00"),14)'FORMAT$(total,"###,###,###.00")
                                                 lbitems&=lbitems&+2
                                                 IF lbitems&>2 THEN
                                                    firstlistboxitemtoshow&=lbitems&-2
                                                    CONTROL SEND hDlgCalc, 102, %LB_SETTOPINDEX,FirstListboxitemtoshow&,0
                                                 END IF
                                                 Test$=""
                                                 CONTROL SET TEXT hDlgCalc,101,test$
                                                 EXIT FUNCTION
                                              END IF
                                    
                                    'Process Escape key
                                            CASE %IDCANCEL
                                              IF CBCTLMSG = %BN_CLICKED THEN
                                                DIALOG END CBHNDL, 0
                                              END IF
                                          END SELECT
                                    'Process number entry, or exit button
                                          CID&=CBCTL
                                          SELECT CASE CBCTL 'CID&
                                              CASE 101 'testbox
                                                 CONTROL GET TEXT CBHNDL, 101 TO UserInput
                                                 test$=UserInput
                                                 IF LEN(test$)>1 THEN
                                                   IF RIGHT$(test$,1)="+" OR RIGHT$(test$,1)="-" OR RIGHT$(test$,1)="*" OR RIGHT$(test$,1)="/" OR RIGHT$(UCASE$(test$),1)="X" THEN
                                                     test1$=RIGHT$(test$,1)
                                                     IF test1$="+" THEN
                                                       Total=Total+VAL(MID$(test$,1,LEN(test$)-1))
                                                       CONTROL KILL hDlgCalc,103
                                                        LISTBOX ADD hDlgCalc,102,test$
                                                 t$=FORMAT$(total,"#,.00")
                                                 IF LEFT$(t$,4)="-00." THEN x$="-0."+MID$(T$,5):t$=x$ 'LEFT$(T$,3)=" -0"
                                                 IF LEFT$(T$,1)="0" AND MID$(t$,2)<>"." THEN T$=MID$(t$,2) 'THEN LEFT$(t$,1)=" "
                                    
                                                        LISTBOX ADD hDlgCalc,102,RIGHT$(SPACE$(14)+t$,14) 
                                                 lbitems&=lbitems&+2
                                                 IF lbitems&>2 THEN
                                                    firstlistboxitemtoshow&=lbitems&-2
                                                    CONTROL SEND hDlgCalc, 102, %LB_SETTOPINDEX,FirstListboxitemtoshow&,0
                                                 END IF
                                    
                                                       Test$=""
                                                       CONTROL SET TEXT hDlgCalc,101,test$
                                                       CONTROL SET FOCUS hDlgCalc, 101
                                                     ELSEIF test1$="-" THEN
                                                       Total=Total-VAL(MID$(test$,1,LEN(test$)-1))
                                                       CONTROL KILL hDlgCalc,103
                                                       LISTBOX ADD hDlgCalc,102,test$
                                                 t$=FORMAT$(total,"#,.00")
                                                 IF LEFT$(t$,4)="-00." THEN x$="-0."+MID$(T$,5):t$=x$
                                                 IF LEFT$(T$,1)="0" AND MID$(t$,2)<>"." THEN T$=MID$(t$,2)
                                    
                                                       LISTBOX ADD hDlgCalc,102,RIGHT$(SPACE$(14)+t$,14) 
                                                        lbitems&=lbitems&+2
                                                 IF lbitems&>2 THEN
                                                    firstlistboxitemtoshow&=lbitems&-2
                                                    CONTROL SEND hDlgCalc, 102, %LB_SETTOPINDEX,FirstListboxitemtoshow&,0
                                                 END IF
                                    
                                                       Test$=""
                                                       CONTROL SET TEXT hDlgCalc,101,test$
                                                       CONTROL SET FOCUS hDlgCalc, 101
                                    
                                                     ELSEIF test1$="*" THEN
                                                       Total=Total*VAL(MID$(test$,1,LEN(test$)-1))
                                                       CONTROL KILL hDlgCalc,103
                                                       LISTBOX ADD hDlgCalc,102,test$'+MID$(test$,1,LEN(test$)-1)
                                                 t$=FORMAT$(total,"#,.00")
                                                 IF LEFT$(t$,4)="-00." THEN x$="-0."+MID$(T$,5):t$=x$
                                                 IF LEFT$(T$,1)="0" AND MID$(t$,2)<>"." THEN T$=MID$(t$,2)
                                    
                                                       LISTBOX ADD hDlgCalc,102,RIGHT$(SPACE$(14)+t$,14)
                                                 lbitems&=lbitems&+2
                                                 IF lbitems&>2 THEN
                                                    firstlistboxitemtoshow&=lbitems&-2
                                                    CONTROL SEND hDlgCalc, 102, %LB_SETTOPINDEX,FirstListboxitemtoshow&,0
                                                 END IF
                                    
                                                       Test$=""
                                                       CONTROL SET TEXT hDlgCalc,101,test$
                                                       CONTROL SET FOCUS hDlgCalc, 101
                                                     ELSEIF UCASE$(test1$)="X" THEN
                                                       Total=Total*VAL(MID$(test$,1,LEN(test$)-1))
                                                       CONTROL KILL hDlgCalc,103
                                                       LISTBOX ADD hDlgCalc,102,test$'+MID$(test$,1,LEN(test$)-1)
                                                 t$=FORMAT$(total,"#,.00")
                                                 IF LEFT$(t$,4)="-00." THEN x$="-0."+MID$(T$,5):t$=x$
                                                 IF LEFT$(T$,1)="0" AND MID$(t$,2)<>"." THEN T$=MID$(t$,2)
                                    
                                                       LISTBOX ADD hDlgCalc,102,RIGHT$(SPACE$(14)+t$,14) 
                                                 lbitems&=lbitems&+2
                                                 IF lbitems&>2 THEN
                                                    firstlistboxitemtoshow&=lbitems&-2
                                                    CONTROL SEND hDlgCalc, 102, %LB_SETTOPINDEX,FirstListboxitemtoshow&,0
                                                 END IF
                                    
                                                       Test$=""
                                                       CONTROL SET TEXT hDlgCalc,101,test$
                                                       CONTROL SET FOCUS hDlgCalc, 101
                                    
                                                     ELSEIF test1$="/" OR test1$="\" THEN
                                                       IF VAL(MID$(test$,1,LEN(test$)-1))<>0 THEN
                                                          Total=Total/VAL(MID$(test$,1,LEN(test$)-1))
                                                       END IF
                                                       CONTROL KILL hDlgCalc,103
                                                       LISTBOX ADD hDlgCalc,102,test$'+MID$(test$,1,LEN(test$)-1)
                                                 t$=FORMAT$(total,"#,.00")
                                                 IF LEFT$(t$,4)="-00." THEN x$="-0."+MID$(T$,5):t$=x$
                                                 IF LEFT$(T$,1)="0" AND MID$(t$,2)<>"." THEN T$=MID$(t$,2)
                                    
                                                       LISTBOX ADD hDlgCalc,102,RIGHT$(SPACE$(14)+t$,14) 
                                                 lbitems&=lbitems&+2
                                                 IF lbitems&>2 THEN
                                                    firstlistboxitemtoshow&=lbitems&-2
                                                    CONTROL SEND hDlgCalc, 102, %LB_SETTOPINDEX,FirstListboxitemtoshow&,0
                                                 END IF
                                    
                                                       Test$=""
                                                       CONTROL SET TEXT hDlgCalc,101,test$
                                                       CONTROL SET FOCUS hDlgCalc, 101
                                                     END IF
                                                   END IF
                                                 END IF
                                               CASE 201 'Decimal
                                                   test$=test$+"."
                                                   CONTROL SET TEXT hDlgCalc,101,test$
                                                   CONTROL SET FOCUS hDlgCalc, 101
                                    
                                               CASE 202 'C button i.e. Clear
                                                   Total=0
                                                   Test$=""
                                                   CONTROL KILL hDlgCalc,103
                                                 t$=FORMAT$(total,"#,.00")
                                                 IF LEFT$(t$,4)="-00." THEN x$="-0."+MID$(T$,5):t$=x$
                                                 IF LEFT$(T$,1)="0" AND MID$(t$,2)<>"." THEN T$=MID$(t$,2)
                                                   LISTBOX ADD hDlgCalc,102,"         Clear"
                                                   LISTBOX ADD hDlgCalc,102,RIGHT$(SPACE$(14)+t$,14) 
                                                 lbitems&=lbitems&+2
                                                 IF lbitems&>2 THEN
                                                    firstlistboxitemtoshow&=lbitems&-2
                                                    CONTROL SEND hDlgCalc, 102, %LB_SETTOPINDEX,FirstListboxitemtoshow&,0
                                                 END IF
                                    
                                                   CONTROL SET TEXT hDlgCalc,101,test$
                                                   CONTROL SET FOCUS hDlgCalc,101
                                               CASE 301
                                                   test$=test$+"7"
                                                   CONTROL SET TEXT hDlgCalc,101,test$
                                                   CONTROL SET FOCUS hDlgCalc, 101
                                               CASE 302
                                                   test$=test$+"8"
                                                   CONTROL SET TEXT hDlgCalc,101,test$
                                                   CONTROL SET FOCUS hDlgCalc, 101
                                               CASE 303
                                                   test$=test$+"9"
                                                   CONTROL SET TEXT hDlgCalc,101,test$
                                                   CONTROL SET FOCUS hDlgCalc, 101
                                               CASE 304
                                                   test$=test$+"4"
                                                   CONTROL SET TEXT hDlgCalc,101,test$
                                                   CONTROL SET FOCUS hDlgCalc, 101
                                               CASE 305
                                                   test$=test$+"5"
                                                   CONTROL SET TEXT hDlgCalc,101,test$
                                                   CONTROL SET FOCUS hDlgCalc, 101
                                               CASE 306
                                                   test$=test$+"6"
                                                   CONTROL SET TEXT hDlgCalc,101,test$
                                                   CONTROL SET FOCUS hDlgCalc, 101
                                               CASE 307
                                                   test$=test$+"1"
                                                   CONTROL SET TEXT hDlgCalc,101,test$
                                                   CONTROL SET FOCUS hDlgCalc, 101
                                               CASE 308
                                                   test$=test$+"2"
                                                   CONTROL SET TEXT hDlgCalc,101,test$
                                                   CONTROL SET FOCUS hDlgCalc, 101
                                               CASE 309
                                                   test$=test$+"3"
                                                   CONTROL SET TEXT hDlgCalc,101,test$
                                                   CONTROL SET FOCUS hDlgCalc, 101
                                               CASE 310
                                                   test$=test$+"0"
                                                   CONTROL SET TEXT hDlgCalc,101,test$
                                                   CONTROL SET FOCUS hDlgCalc, 101
                                               CASE 311
                                                   test$=test$+"+"
                                                   CONTROL SET TEXT hDlgCalc,101,test$
                                                   CONTROL SET FOCUS hDlgCalc, 101
                                               CASE 312
                                                   test$=test$+"-"
                                                   CONTROL SET TEXT hDlgCalc,101,test$
                                                   CONTROL SET FOCUS hDlgCalc, 101
                                               CASE 313
                                                   test$=test$+"*"
                                                   CONTROL SET TEXT hDlgCalc,101,test$
                                                   CONTROL SET FOCUS hDlgCalc, 101
                                               CASE 314
                                                   test$=test$+"/"
                                                   CONTROL SET TEXT hDlgCalc,101,test$
                                                   CONTROL SET FOCUS hDlgCalc, 101
                                          END SELECT
                                      END SELECT
                                    END FUNCTION
                                    
                                    FUNCTION calcit(hInstance???) EXPORT AS STRING
                                    
                                      total=0
                                      hWnd=hInstance???
                                      hFont& = GetStockObject(%SYSTEM_FIXED_FONT)
                                      hFont2& = GetStockObject(%ANSI_FIXED_FONT)
                                      hFont3& = GetStockObject(%OEM_FIXED_FONT)
                                    
                                      DIALOG NEW hInstance&, "Quick-Calc", , ,  123,  140, %WS_POPUP  OR %WS_MINIMIZEBOX _
                                                 OR %WS_CAPTION OR %WS_SYSMENU OR %DS_CENTER OR %WS_EX_TOPMOST TO hDlgCalc
                                    
                                      CONTROL ADD LINE, hDlgCalc,501,"",0,0,123,4,%SS_BLACKRECT OR %SS_SUNKEN'FRAME OR %SS_BLACKRECT
                                      CONTROL ADD LINE, hDlgCalc,502,"",0,3,3,139,%SS_BLACKRECT OR %SS_SUNKEN'FRAME OR %SS_BLACKRECT
                                      CONTROL ADD LINE, hDlgCalc,503,"",0,138,122,4,%SS_BLACKRECT OR %SS_SUNKEN'FRAME OR %SS_BLACKRECT
                                      CONTROL ADD LINE, hDlgCalc,504,"",120,3,3,139,%SS_BLACKRECT OR %SS_SUNKEN'FRAME OR %SS_BLACKRECT
                                    
                                      CONTROL ADD TEXTBOX,hDlgCalc,101,"",20,50,81,14
                                      DIM dum$(0)
                                      dum$(0)=RIGHT$(SPACE$(14)+"0.00",14) 'FORMAT$(0.00,"#,.00"),14)
                                      CONTROL ADD LISTBOX, hDlgCalc,102,dum$(),16,11,90,36,%LBS_NOINTEGRALHEIGHT OR %WS_VSCROLL,%WS_EX_CLIENTEDGE      ',%SS_RIGHT
                                      CONTROL SEND hDlgCalc,102,%WM_SETFONT, hFont&,%True 'Arial, %TRUE
                                      CONTROL ADD FRAME,  hDlgCalc,104,"",5,2,112,45
                                      CONTROL ADD FRAME,  hDlgCalc,104,"",5,44,112,90
                                      CONTROL ADD BUTTON, hDlgCalc,202,"C",62,115,20,14
                                    'test for buttone
                                      CONTROL ADD BUTTON, hDlgCalc,301,"7",20,70,20,14
                                      CONTROL ADD BUTTON, hDlgCalc,302,"8",41,70,20,14
                                      CONTROL ADD BUTTON, hDlgCalc,303,"9",62,70,20,14
                                      CONTROL ADD BUTTON,hDlgCalc,304,"4",20,85,20,14
                                      CONTROL ADD BUTTON,hDlgCalc,305,"5",41,85,20,14
                                      CONTROL ADD BUTTON,hDlgCalc,306,"6",62,85,20,14
                                      CONTROL ADD BUTTON,hDlgCalc,307,"1",20,100,20,14
                                      CONTROL ADD BUTTON,hDlgCalc,308,"2",41,100,20,14
                                      CONTROL ADD BUTTON,hDlgCalc,309,"3",62,100,20,14
                                      CONTROL ADD BUTTON,hDlgCalc,201,".",20,115,20,14
                                      CONTROL ADD BUTTON,hDlgCalc,310,"0",41,115,20,14
                                      CONTROL ADD BUTTON,hDlgCalc,311,"+",83,70,20,14
                                      CONTROL ADD BUTTON,hDlgCalc,312,"-",83,85,20,14
                                      CONTROL ADD BUTTON,hDlgCalc,313,"x",83,100,20,14
                                      CONTROL ADD BUTTON,hDlgCalc,314,"/",83,115,20,14
                                      hFont& = GetStockObject(%SYSTEM_FIXED_FONT)
                                      CONTROL SEND hDlgCalc, 311, %WM_SETFONT, hFont&, %TRUE
                                      CONTROL SEND hDlgCalc, 312, %WM_SETFONT, hFont&, %TRUE
                                      CONTROL SEND hDlgCalc, 313, %WM_SETFONT, hFont&, %TRUE
                                      CONTROL SEND hDlgCalc, 314, %WM_SETFONT, hFont&, %TRUE
                                      CONTROL SEND hDlgCalc, 201, %WM_SETFONT, hFont&, %TRUE
                                      CONTROL SEND hDlgCalc, 101, %WM_SETFONT, hFont&, %TRUE
                                    'end of test
                                      CONTROL SET FOCUS hDlgCalc,101
                                      DIALOG SHOW MODAL hDlgCalc CALL CalcDlgProc
                                    REM below when USING PBMAIN
                                      FUNCTION =STR$(total*100)
                                    END FUNCTION
                                    Last edited by Fred Buffington; 8 Dec 2007, 10:49 AM.
                                    Client Writeup for the CPA

                                    buffs.proboards2.com

                                    Links Page

                                    Comment


                                    • #19
                                      Fred,
                                      That is so much better.
                                      I wish i had your code in the beginning.
                                      I like both our adding machines.
                                      I wanted both designs, one more like a spreadsheet that allowed for editing of entries, adding entries in the middle of a listing or deleting entries (both not implemented yet).
                                      And a more basic adding machines with multiplication and division like yours.
                                      The tape is a great feature.
                                      That program makes a good example for anybody learning data entry or text entry as well.

                                      The program is clean program too. A new windows gui programmer like myself learns a lot from it.
                                      I have made some modifications using your calculator.
                                      Maybe you would be interested in them.
                                      I am always thinking about the user and how i can make things easier for them.
                                      There are many things i am learning now and i wish i knew more.
                                      I believe rather than list my changes here, i will just make them on my side and provide a temporary bas and exe on the website i have been using to list programs. i will confirm this with an im to you first.
                                      if you ok it, i will note the changes by placing my name in your code at those location making it easier for you to see.
                                      One big addition thought would be to supply the total in the caption, making it easy to minimize the program while being able to read the value of the total in the taskbar.
                                      paul

                                      paul
                                      p purvis

                                      Comment


                                      • #20
                                        How come with all the computing power of the computer, there could not
                                        be a simple calculator made years ago. How come we have had to write
                                        our own, i will never know.
                                        Actually since the early days of windows os there has been calculators included i believe. under accessories. many others have programmed them for
                                        years too. One example in VB was a calculator program if I recall.
                                        Client Writeup for the CPA

                                        buffs.proboards2.com

                                        Links Page

                                        Comment

                                        Working...
                                        X