Announcement

Collapse
No announcement yet.

SourceCode Only

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

  • Rodney Hicks
    replied
    Thanks Stan.

    That the lookup tool works pretty good. I think we should later that, but that could be a rather good tool down the road. You know, fancy it up with music and pict...ah you know.

    I'm going to carry on in the text format for now, I do a lot of cutting pasting, but I'll run it through and post the "vb2pbTermsDict.dct" file for updates. However, can it be used to edit out any errors I may make or changes as we make things available?

    I'm sure you recall that I posted a list of features that we should be sure to get into the first version of the converter. Could you whip up a small VB file with at least one of each of the things I listed, even more if you think, and very little code to access each of the features, like for example if the user types something in a textbox the text is retrieved and placed on a label or some such activity with each feature. I don't need an executable, just the source code for those features. You can email the to me directly if you wish, rather than post them here.

    Don't spend an awful lot of time on it.

    Thanks

    Rod
    Last edited by Rodney Hicks; 25 Jun 2008, 08:20 PM. Reason: Happy fingers.

    Leave a comment:


  • StanHelton
    replied
    vb2pb Reference Tool

    Rod, here's my first effort on the reference tool you suggested. Let me know what you think of it. It reads the "vb2pbTermsDict.dct" file created by the DataTool (previous post).

    Code:
    #PBFORMS CREATED V1.51
    
    '---------------------------------
    ' vb2pb Reference Tool v0.1 -- sjh
    ' 6/25/2008
    ' reads "vb2pbTermsDict.dct" to
    '     retrieve results
    '---------------------------------
    
    
    #COMPILE EXE
    #DIM ALL
    
    '------------------------------------------------------------------------------
    '   ** Includes **
    '------------------------------------------------------------------------------
    #PBFORMS BEGIN INCLUDES
    #IF NOT %DEF(%WINAPI)
        #INCLUDE "WIN32API.INC"
    #ENDIF
    #INCLUDE "PBForms.INC"
    #PBFORMS END INCLUDES
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '   ** Constants **
    '------------------------------------------------------------------------------
    #PBFORMS BEGIN CONSTANTS
    %IDC_BACK                     = 1022
    %IDC_COMMENT                  = 1014
    %IDC_ENTERVB6TERM             = 1003
    %IDC_EXITFILEREVIEW           = 1039
    %IDC_FINDPOWERBASICEQUIVALENT = 1026
    %IDC_FORWARD                  = 1024
    %IDC_LABEL1                   = 1001
    %IDC_LABEL2                   = 1002
    %IDC_LABEL4                   = 1006
    %IDC_LABEL5                   = 1007
    %IDC_LABEL6                   = 1008
    %IDC_LABEL7                   = 1009
    %IDC_LABEL8                   = 1010
    %IDC_LABEL9                   = 1011
    %IDC_LINE1                    = 1020
    %IDC_LINE2                    = 1021
    %IDC_MULTIUSETERM             = 1016
    %IDC_PBTERM                   = 1017
    %IDC_PBTERMAVAILABLE          = 1013
    %IDC_POINTERTOPBWRAPPER       = 1015
    %IDC_QUITPROGRAM              = 1027
    %IDC_REVIEWDICTIONARY         = 1025
    %IDC_VBTERM                   = 1012
    %IDD_PBREFTOOLFORVB6          =  101
    #PBFORMS END CONSTANTS
    '------------------------------------------------------------------------------
    
    %PBTermAvailable = 0
    %PBTermNotAvailable = 1
    %MultiUseTerm = 0
    %NotMultiUseTerm = 1
    
    '------------------------------------------------------------------------------
    '  *** Types ***
    '------------------------------------------------------------------------------
    TYPE DictionaryRecordType
       vbTerm AS STRING * 64
       pbTermAvailable AS LONG
       pbTerm AS STRING * 64
       MultiUse AS LONG
       pbWrapper AS DWORD
       Comment AS STRING * 256
    END TYPE
    
    '------------------------------------------------------------------------------
    '   ** Declarations **
    '------------------------------------------------------------------------------
    DECLARE CALLBACK FUNCTION ShowPBREFTOOLFORVB6Proc()
    DECLARE FUNCTION ShowPBREFTOOLFORVB6(BYVAL hParent AS DWORD) AS LONG
    #PBFORMS DECLARATIONS
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '   ** Main Application Entry Point **
    '------------------------------------------------------------------------------
    FUNCTION PBMAIN()
        ShowPBREFTOOLFORVB6 %HWND_DESKTOP
    END FUNCTION
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '   ** CallBacks **
    '------------------------------------------------------------------------------
    CALLBACK FUNCTION ShowPBREFTOOLFORVB6Proc()
        LOCAL lResult AS LONG
        LOCAL tempString AS STRING
        LOCAL Finished AS LONG
    
        STATIC record AS DictionaryRecordType
        STATIC sourceFileName AS STRING
        STATIC sourceFile AS INTEGER
        STATIC recNo AS LONG
        STATIC recCount AS LONG
    
        SELECT CASE AS LONG CBMSG
            CASE %WM_INITDIALOG
                ' Initialization handler
    
                sourceFileName = "vb2pbTermsDict.dct"
                sourceFile = FREEFILE
                OPEN sourceFileName FOR RANDOM AS sourceFile LEN = SIZEOF(record)
                recCount = LOF(sourceFile) / SIZEOF(record)
                recNo = 1
    
    
            CASE %WM_NCACTIVATE
                STATIC hWndSaveFocus AS DWORD
                IF ISFALSE CBWPARAM THEN
                    ' Save control focus
                    hWndSaveFocus = GetFocus()
                ELSEIF hWndSaveFocus THEN
                    ' Restore control focus
                    SetFocus(hWndSaveFocus)
                    hWndSaveFocus = 0
                END IF
    
            CASE %WM_COMMAND
                ' Process control notifications
                SELECT CASE AS LONG CBCTL
                   CASE %IDC_EXITFILEREVIEW
                      IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                         'reenable program command buttons
                         CONTROL ENABLE CBHNDL, %IDC_FINDPOWERBASICEQUIVALENT
                         CONTROL ENABLE CBHNDL, %IDC_QUITPROGRAM
                         CONTROL ENABLE CBHNDL, %IDC_REVIEWDICTIONARY
    
                         'disable browsing buttons
                         CONTROL DISABLE CBHNDL, %IDC_BACK
                         CONTROL DISABLE CBHNDL, %IDC_FORWARD
                         CONTROL DISABLE CBHNDL, %IDC_EXITFILEREVIEW
    
                         IF ISTRUE FILEATTR(#sourceFile, 0) THEN
                            CLOSE #sourceFile
                         END IF
                      END IF
    
                   CASE %IDC_BACK
                      IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                         DECR recNo
                         IF recNo < 1 THEN recNo = recCount
                         DIALOG POST CBHNDL, %WM_COMMAND, %IDC_REVIEWDICTIONARY, %BN_CLICKED
                      END IF
    
                   CASE %IDC_FORWARD
                      IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                         INCR recNo
                         IF recNo > recCount THEN recNo = 1
                         DIALOG POST CBHNDL, %WM_COMMAND, %IDC_REVIEWDICTIONARY, %BN_CLICKED
                      END IF
    
    
                   CASE %IDC_REVIEWDICTIONARY
                      IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                         'disable program command buttons
                         CONTROL DISABLE CBHNDL, %IDC_FINDPOWERBASICEQUIVALENT
                         CONTROL DISABLE CBHNDL, %IDC_QUITPROGRAM
                         CONTROL DISABLE CBHNDL, %IDC_REVIEWDICTIONARY
    
                         'enable browsing buttons
                         CONTROL ENABLE CBHNDL, %IDC_BACK
                         CONTROL ENABLE CBHNDL, %IDC_FORWARD
                         CONTROL ENABLE CBHNDL, %IDC_EXITFILEREVIEW
    
                         IF ISFALSE FILEATTR(#sourceFile, 0) THEN
                            sourceFile = FREEFILE
                            OPEN sourceFileName FOR RANDOM AS sourceFile LEN = SIZEOF(record)
                            recCount = LOF(sourceFile) / SIZEOF(record)
                         END IF
    
                         GET #sourceFile, recNo, record
    
                         'update screen display
                         CONTROL SET TEXT CBHNDL, %IDC_VBTERM, TRIM$(record.vbTerm)
                         CONTROL SET TEXT CBHNDL, %IDC_PBTERMAVAILABLE, TRIM$(STR$(record.pbTermAvailable))
                         CONTROL SET TEXT CBHNDL, %IDC_PBTERM, TRIM$(record.pbTerm)
                         CONTROL SET TEXT CBHNDL, %IDC_MULTIUSETERM, TRIM$(STR$(record.MultiUse))
                         CONTROL SET TEXT CBHNDL, %IDC_POINTERTOPBWRAPPER, TRIM$(STR$(record.pbWrapper))
                         CONTROL SET TEXT CBHNDL, %IDC_COMMENT, TRIM$(record.Comment)
    
                         IF ISTRUE FILEATTR(#sourceFile, 0) THEN
                            CLOSE #sourceFile
                         END IF
    
                      END IF
    
                    CASE %IDC_FINDPOWERBASICEQUIVALENT
                        'search dictionary for user entered term
                        IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                            IF ISFALSE FILEATTR(#sourceFile, 0) THEN     'if file not open then open it
                              sourceFile = FREEFILE
                              OPEN sourceFileName FOR RANDOM AS sourceFile LEN = SIZEOF(record)
                              recCount = LOF(sourceFile) / SIZEOF(record)
                            END IF
    
                            CONTROL GET TEXT CBHNDL, %IDC_ENTERVB6TERM TO tempString    'get the lookup term
                            tempString = UCASE$(TRIM$(tempString))
                            IF LEN(tempString) < 1 THEN
                               BEEP
                               EXIT SELECT
                            END IF
    
                            FOR recNo = 1 TO recCount        'run through the file -- speed not important here
                                                             'because there aren't enought records in the file
                                                             'to slow it down noticably
                               GET #sourceFile, recNo, record
                               IF ISTRUE UCASE$(TRIM$(record.vbTerm)) = tempString THEN
                                  EXIT FOR    'break on match
                               END IF
                            NEXT recNo
    
                            IF ISTRUE FILEATTR(#sourceFile, 0) THEN   'close the file, don't need it here anymore
                               CLOSE #sourceFile
                            END IF
    
                            IF ISFALSE UCASE$(TRIM$(record.vbTerm)) = tempString THEN   'if no match notify user
                               RESET record
                               record.vbTerm = "Term not yet in data list."
                               record.Comment = "Please notify vb2pb project team"
                            END IF
    
                            'update screen display
                            CONTROL SET TEXT CBHNDL, %IDC_VBTERM, TRIM$(record.vbTerm)
                            CONTROL SET TEXT CBHNDL, %IDC_COMMENT, TRIM$(record.Comment)
    
                            IF record.pbTermAvailable = %PBTermAvailable THEN
                               CONTROL SET TEXT CBHNDL, %IDC_PBTERMAVAILABLE, "PB term exists"
                            ELSEIF record.pbTermAvailable = %PBTermNotAvailable THEN
                               CONTROL SET TEXT CBHNDL, %IDC_PBTERMAVAILABLE, "No exact equivalent in PB"
                            ELSE
                               CONTROL SET TEXT CBHNDL, %IDC_PBTERMAVAILABLE, "Undefined value in Data List"
                               CONTROL SET TEXT CBHNDL, %IDC_COMMENT, "Please notify vb2pb project team"
                            END IF
    
                            CONTROL SET TEXT CBHNDL, %IDC_PBTERM, TRIM$(record.pbTerm)
    
                            IF record.MultiUse = %MultiUseTerm THEN
                               CONTROL SET TEXT CBHNDL, %IDC_MULTIUSETERM, "VB term has multiple uses"
                            ELSEIF record.MultiUse = %NotMultiUseTerm THEN
                               CONTROL SET TEXT CBHNDL, %IDC_MULTIUSETERM, "VB term has 1 unique use"
                            ELSE
                               CONTROL SET TEXT CBHNDL, %IDC_MULTIUSETERM, "Undefined value in Data List"
                               CONTROL SET TEXT CBHNDL, %IDC_COMMENT, "Please notify vb2pb project team"
                            END IF
    
                            CONTROL SET TEXT CBHNDL, %IDC_POINTERTOPBWRAPPER, TRIM$(STR$(record.pbWrapper))
                        END IF
    
                    CASE %IDC_QUITPROGRAM
                        IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                           lResult = MSGBOX("Are you sure you want to quit?", %MB_YESNOCANCEL, "TermsData Tool")
                           IF lResult = %IDYES THEN
                               CLOSE
                               DIALOG END CBHNDL
                            END IF
                        END IF
    
                END SELECT
        END SELECT
    END FUNCTION
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '   ** Dialogs **
    '------------------------------------------------------------------------------
    FUNCTION ShowPBREFTOOLFORVB6(BYVAL hParent AS DWORD) AS LONG
        LOCAL lRslt  AS LONG
    
    #PBFORMS BEGIN DIALOG %IDD_PBREFTOOLFORVB6->->
        LOCAL hDlg   AS DWORD
        LOCAL hFont1 AS DWORD
    
        DIALOG NEW hParent, "PB Reference Tool for VB Terms", 115, 157, 272, 313, _
            %WS_POPUP OR %WS_BORDER OR %WS_DLGFRAME OR %WS_SYSMENU OR _
            %WS_MINIMIZEBOX OR %WS_CLIPSIBLINGS OR %WS_VISIBLE OR %DS_MODALFRAME _
            OR %DS_3DLOOK OR %DS_NOFAILCREATE OR %DS_SETFONT, %WS_EX_CLIENTEDGE _
            OR %WS_EX_STATICEDGE OR %WS_EX_WINDOWEDGE OR %WS_EX_CONTROLPARENT OR _
            %WS_EX_APPWINDOW OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
            %WS_EX_RIGHTSCROLLBAR, TO hDlg
        CONTROL ADD TEXTBOX, hDlg, %IDC_ENTERVB6TERM, "", 70, 45, _
            190, 15, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL, _
            %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
            %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_VBTERM, "vbTerm", 75, 120, 185, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
            %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_PBTERMAVAILABLE, "pbTerm Available", 75, _
            146, 185, 20, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR _
            %ES_AUTOHSCROLL OR %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR _
            %WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_PBTERM, "pbTerm", 75, 172, 185, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
            %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_MULTIUSETERM, "Multi Use Term", 75, 198, _
            185, 20, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
            %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_POINTERTOPBWRAPPER, "Pointer To " + _
            "pbWrapper", 75, 224, 185, 20, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT _
            OR %ES_AUTOHSCROLL OR %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT _
            OR %WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_COMMENT, "Comment", 75, 250, 185, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
            %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD BUTTON,  hDlg, %IDC_BACK, "<== Back", 128, 290, 70, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %WS_DISABLED OR %WS_TABSTOP OR %BS_TEXT _
            OR %BS_MULTILINE OR %BS_PUSHBUTTON OR %BS_CENTER OR %BS_VCENTER, _
            %WS_EX_LEFT OR %WS_EX_LTRREADING
        CONTROL ADD BUTTON,  hDlg, %IDC_FORWARD, "Forward ==>", 200, 290, 70, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %WS_DISABLED OR %WS_TABSTOP OR %BS_TEXT _
            OR %BS_MULTILINE OR %BS_PUSHBUTTON OR %BS_CENTER OR %BS_VCENTER, _
            %WS_EX_LEFT OR %WS_EX_LTRREADING
        CONTROL ADD BUTTON,  hDlg, %IDC_REVIEWDICTIONARY, "Review Dictionary", _
            100, 85, 70, 20, %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP OR %BS_TEXT _
            OR %BS_MULTILINE OR %BS_PUSHBUTTON OR %BS_CENTER OR %BS_VCENTER, _
            %WS_EX_LEFT OR %WS_EX_LTRREADING
        CONTROL ADD BUTTON,  hDlg, %IDC_FINDPOWERBASICEQUIVALENT, "Find PB Term", _
            5, 85, 70, 20, %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP OR %BS_TEXT _
            OR %BS_MULTILINE OR %BS_PUSHBUTTON OR %BS_CENTER OR %BS_VCENTER, _
            %WS_EX_LEFT OR %WS_EX_LTRREADING
        CONTROL ADD BUTTON,  hDlg, %IDC_QUITPROGRAM, "QUIT PROGRAM", 5, 290, 70, _
            20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL1, "VB6 to PowerBASIC Reference Tool " + _
            "        from                                    the vb2pb Open " + _
            "Source Converter Project", 25, 5, 220, 35
        CONTROL SET COLOR    hDlg, %IDC_LABEL1, %BLUE, -1
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL2, "VB6 Term:", 5, 45, 65, 15
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL4, "vbTerm", 10, 125, 60, 20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL5, "pbTerm available?", 10, 150, 60, _
            20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL6, "pbTerm", 10, 175, 60, 20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL7, "Multi Use Term?", 10, 200, 60, _
            20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL8, "Pointer to pbWrapper", 10, 225, _
            60, 20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL9, "Comment", 10, 250, 60, 20
        CONTROL ADD LINE,    hDlg, %IDC_LINE1, "Line1", 0, 65, 275, 10, %WS_CHILD _
            OR %WS_VISIBLE OR %SS_GRAYRECT
        CONTROL ADD LINE,    hDlg, %IDC_LINE2, "Line1", 0, 275, 275, 10, _
            %WS_CHILD OR %WS_VISIBLE OR %SS_GRAYRECT
        CONTROL ADD BUTTON,  hDlg, %IDC_EXITFILEREVIEW, "EXIT FILE REVIEW", 195, _
            85, 70, 20, %WS_CHILD OR %WS_VISIBLE OR %WS_DISABLED OR %WS_TABSTOP _
            OR %BS_TEXT OR %BS_MULTILINE OR %BS_PUSHBUTTON OR %BS_CENTER OR _
            %BS_VCENTER, %WS_EX_LEFT OR %WS_EX_LTRREADING
    
        hFont1 = PBFormsMakeFont("Courier New", 10, 400, %FALSE, %FALSE, %FALSE, _
            %ANSI_CHARSET)
    
        DIALOG  SEND hDlg, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_ENTERVB6TERM, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_VBTERM, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_PBTERMAVAILABLE, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_PBTERM, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_MULTIUSETERM, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_POINTERTOPBWRAPPER, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_COMMENT, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_BACK, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_FORWARD, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_REVIEWDICTIONARY, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_FINDPOWERBASICEQUIVALENT, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_QUITPROGRAM, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL1, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL2, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL4, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL5, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL6, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL7, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL8, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL9, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LINE1, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LINE2, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_EXITFILEREVIEW, %WM_SETFONT, hFont1, 0
    #PBFORMS END DIALOG
    
        DIALOG SHOW MODAL hDlg, CALL ShowPBREFTOOLFORVB6Proc TO lRslt
    
    #PBFORMS BEGIN CLEANUP %IDD_PBREFTOOLFORVB6
        DeleteObject hFont1
    #PBFORMS END CLEANUP
    
        FUNCTION = lRslt
    END FUNCTION
    '-----------------------------------------------------------------

    Leave a comment:


  • StanHelton
    replied
    Added ability to update the dictionary file without repeating what's already there. May actually help you now. Just keep adding new stuff to the bottom of the "vb2pbTermsCSV.txt" file and run this tool whenever you're ready to update the dictionary.


    Name the input file "vb2pbTermsCSV.txt"
    The output file will be named "vb2pbTermsDict.dct"
    Code:
    #PBFORMS CREATED V1.51
    '------------------------------------------------------------------------------
    
    #COMPILE EXE
    #DIM ALL
    
    '------------------------------------------------------------------------------
    '   ** Includes **
    '------------------------------------------------------------------------------
    #PBFORMS BEGIN INCLUDES
    #IF NOT %DEF(%WINAPI)
        #INCLUDE "WIN32API.INC"
    #ENDIF
    #INCLUDE "PBForms.INC"
    #PBFORMS END INCLUDES
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '   ** Constants **
    '------------------------------------------------------------------------------
    #PBFORMS BEGIN CONSTANTS
    %IDC_BACK                  = 1022
    %IDC_COMMENT               = 1014
    %IDC_CREATEDATAFILE        = 1026
    %IDC_EXITFILEREVIEW        = 1039
    %IDC_FORWARD               = 1024
    %IDC_INPUTFILEPATHNAME     = 1003
    %IDC_LABEL1                = 1001
    %IDC_LABEL10               = 1018
    %IDC_LABEL11               = 1034
    %IDC_LABEL12               = 1035
    %IDC_LABEL13               = 1036
    %IDC_LABEL14               = 1037
    %IDC_LABEL15               = 1038
    %IDC_LABEL2                = 1002
    %IDC_LABEL3                = 1004
    %IDC_LABEL4                = 1006
    %IDC_LABEL5                = 1007
    %IDC_LABEL6                = 1008
    %IDC_LABEL7                = 1009
    %IDC_LABEL8                = 1010
    %IDC_LABEL9                = 1011
    %IDC_LINE1                 = 1020
    %IDC_LINE2                 = 1021
    %IDC_LINE3                 = 1028
    %IDC_LINE4                 = 1029
    %IDC_LINE5                 = 1030
    %IDC_LINECOUNT             = 1019
    %IDC_LINESREAD             = 1005
    %IDC_MULTIUSETERM          = 1016
    %IDC_PBTERM                = 1017
    %IDC_PBTERMAVAILABLE       = 1013
    %IDC_POINTERTOPBWRAPPER    = 1015
    %IDC_QUITPROGRAM           = 1027
    %IDC_REVIEWTERMSDICTIONARY = 1025
    %IDC_TEXTBOX10             = 1031
    %IDC_TEXTBOX11             = 1032
    %IDC_TEXTBOX12             = 1033
    %IDC_VBTERM                = 1012
    %IDD_DataLoadTool          =  101
    #PBFORMS END CONSTANTS
    
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '  *** Types ***
    '------------------------------------------------------------------------------
    TYPE DictionaryRecordType
       vbTerm AS STRING * 64
       pbTermAvailable AS LONG
       pbTerm AS STRING * 64
       MultiUse AS LONG
       pbWrapper AS DWORD
       Comment AS STRING * 256
    END TYPE
    
    '------------------------------------------------------------------------------
    '   ** Declarations **
    '------------------------------------------------------------------------------
    DECLARE CALLBACK FUNCTION ShowDataLoadToolProc()
    DECLARE FUNCTION ShowDataLoadTool(BYVAL hParent AS DWORD) AS LONG
    #PBFORMS DECLARATIONS
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '   ** Main Application Entry Point **
    '------------------------------------------------------------------------------
    FUNCTION PBMAIN()
       ShowDataLoadTool %HWND_DESKTOP
    END FUNCTION
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '   ** CallBacks **
    '------------------------------------------------------------------------------
    CALLBACK FUNCTION ShowDataLoadToolProc()
       LOCAL lResult AS LONG
       LOCAL tempString AS STRING
       LOCAL inFile AS INTEGER
       LOCAL lineCount AS LONG
       LOCAL record AS DictionaryRecordType
       LOCAL Finished AS LONG
       LOCAL index AS LONG
       LOCAL tempRecord AS DictionaryRecordtype
    
       STATIC sourceFileName AS STRING
       STATIC targetFileName AS STRING
       STATIC outFile AS INTEGER
       STATIC recNo AS LONG
       STATIC recCount AS LONG
    
    
       SELECT CASE AS LONG CBMSG
          CASE %WM_INITDIALOG
             ' Initialization handler
    
             sourceFileName = "vb2pbTermsCSV.txt"
             targetFileName = "vb2pbTermsDict.dct"
             recNo = 1
             recCount = 1
             CONTROL SET TEXT CBHNDL, %IDC_INPUTFILEPATHNAME, CURDIR$
    
          CASE %WM_NCACTIVATE
             STATIC hWndSaveFocus AS DWORD
             IF ISFALSE CBWPARAM THEN
                ' Save control focus
                hWndSaveFocus = GetFocus()
             ELSEIF hWndSaveFocus THEN
                ' Restore control focus
                SetFocus(hWndSaveFocus)
                hWndSaveFocus = 0
             END IF
    
          CASE %WM_COMMAND
             ' Process control notifications
             SELECT CASE AS LONG CBCTL
                CASE %IDC_EXITFILEREVIEW
                   IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                      CONTROL ENABLE CBHNDL, %IDC_CREATEDATAFILE
                      CONTROL ENABLE CBHNDL, %IDC_QUITPROGRAM
                      CONTROL ENABLE CBHNDL, %IDC_REVIEWTERMSDICTIONARY
    
                      CONTROL DISABLE CBHNDL, %IDC_BACK
                      CONTROL DISABLE CBHNDL, %IDC_FORWARD
                      CONTROL DISABLE CBHNDL, %IDC_EXITFILEREVIEW
    
                      CLOSE #outFile
                   END IF
    
                CASE %IDC_BACK
                   IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                      DECR recNo
                      IF recNo < 1 THEN recNo = recCount
                      CONTROL SET TEXT CBHNDL, %IDC_LINESREAD, TRIM$(STR$(recNo))
                      DIALOG POST CBHNDL, %WM_COMMAND, %IDC_REVIEWTERMSDICTIONARY, %BN_CLICKED
                   END IF
    
                CASE %IDC_FORWARD
                   IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                      INCR recNo
                      IF recNo > recCount THEN recNo = 1
                      CONTROL SET TEXT CBHNDL, %IDC_LINESREAD, TRIM$(STR$(recNo))
                      DIALOG POST CBHNDL, %WM_COMMAND, %IDC_REVIEWTERMSDICTIONARY, %BN_CLICKED
                   END IF
    
    
                CASE %IDC_REVIEWTERMSDICTIONARY
                   IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                      CONTROL DISABLE CBHNDL, %IDC_CREATEDATAFILE
                      CONTROL DISABLE CBHNDL, %IDC_QUITPROGRAM
                      CONTROL DISABLE CBHNDL, %IDC_REVIEWTERMSDICTIONARY
    
                      CONTROL ENABLE CBHNDL, %IDC_BACK
                      CONTROL ENABLE CBHNDL, %IDC_FORWARD
                      CONTROL ENABLE CBHNDL, %IDC_EXITFILEREVIEW
    
                      IF ISFALSE FILEATTR(#outFile, 0) THEN
                         outFile = FREEFILE
                         OPEN targetFileName FOR RANDOM AS outFile LEN = SIZEOF(record)
                         recCount = LOF(outFile) / SIZEOF(record)
                      END IF
    
                      GET #outFile, recNo, record
    
                      'update screen display
                      CONTROL SET TEXT CBHNDL, %IDC_VBTERM, TRIM$(record.vbTerm)
                      CONTROL SET TEXT CBHNDL, %IDC_PBTERMAVAILABLE, TRIM$(STR$(record.pbTermAvailable))
                      CONTROL SET TEXT CBHNDL, %IDC_PBTERM, TRIM$(record.pbTerm)
                      CONTROL SET TEXT CBHNDL, %IDC_MULTIUSETERM, TRIM$(STR$(record.MultiUse))
                      CONTROL SET TEXT CBHNDL, %IDC_POINTERTOPBWRAPPER, TRIM$(STR$(record.pbWrapper))
                      CONTROL SET TEXT CBHNDL, %IDC_COMMENT, TRIM$(record.Comment)
    
                   END IF
    
                CASE %IDC_CREATEDATAFILE
                   IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                      inFile = FREEFILE
                      OPEN sourceFileName FOR INPUT AS inFile
    
                      outFile = FREEFILE
                      OPEN targetFileName FOR RANDOM AS outFile LEN = SIZEOF(record)
                      recCount = LOF(outFile) / SIZEOF(record)
                      IF recCount > 1 THEN
                         recNo = recCount + 1
                      ELSE
                         recNo = 1
                      END IF
    
                      FILESCAN #inFile, RECORDS TO lineCount
                      tempString = TRIM$(STR$(lineCount))
                      CONTROL SET TEXT CBHNDL, %IDC_LINECOUNT, tempString
    
                      lineCount = 0
                      DO
                         INPUT #inFile, record.vbTerm, _
                                        record.pbTermAvailable, _
                                        record.pbTerm, _
                                        record.MultiUse, _
                                        record.pbWrapper, _
                                        record.Comment
    
                         IF EOF(inFile) THEN     'check for eof in source file
                            Finished = %True
                         ELSE
                            Finished = %False
                         END IF                  'continue last iteration of DO/LOOP to get last record in source file
    
                         FOR index = 1 TO recCount
                            GET #outFile, index, tempRecord
                            IF UCASE$(TRIM$(tempRecord.vbTerm)) = UCASE$(TRIM$(record.vbTerm)) THEN
                               INCR lineCount
                               ITERATE DO
                            END IF
                         NEXT index
    
                         PUT #outFile, recNo, record
                         INCR recNo
                         INCR lineCount
    
                         'update screen display
                         CONTROL SET TEXT CBHNDL, %IDC_LINESREAD, TRIM$(STR$(lineCount))
                      LOOP UNTIL Finished
                      CLOSE #inFile, #outFile
                   END IF
    
                CASE %IDC_QUITPROGRAM
                   IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                      lResult = MSGBOX("Are you sure you want to quit?", %MB_YESNOCANCEL, "TermsData Tool")
                      IF lResult = %IDYES THEN
                         CLOSE
                         DIALOG END CBHNDL
                      END IF
                   END IF
    
             END SELECT
       END SELECT
    END FUNCTION
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '   ** Dialogs **
    '------------------------------------------------------------------------------
    FUNCTION ShowDataLoadTool(BYVAL hParent AS DWORD) AS LONG
       LOCAL lRslt  AS LONG
    
    #PBFORMS BEGIN DIALOG %IDD_DataLoadTool->->
        LOCAL hDlg   AS DWORD
        LOCAL hFont1 AS DWORD
        LOCAL hFont2 AS DWORD
    
        DIALOG NEW hParent, "Data Load Tool For Rod's VB Term Files", 315, 151, _
            442, 346, %WS_POPUP OR %WS_BORDER OR %WS_DLGFRAME OR %WS_SYSMENU OR _
            %WS_MINIMIZEBOX OR %WS_CLIPSIBLINGS OR %WS_VISIBLE OR %DS_MODALFRAME _
            OR %DS_3DLOOK OR %DS_NOFAILCREATE OR %DS_SETFONT, %WS_EX_CLIENTEDGE _
            OR %WS_EX_STATICEDGE OR %WS_EX_WINDOWEDGE OR %WS_EX_CONTROLPARENT OR _
            %WS_EX_APPWINDOW OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
            %WS_EX_RIGHTSCROLLBAR, TO hDlg
        CONTROL ADD TEXTBOX, hDlg, %IDC_INPUTFILEPATHNAME, "Input File " + _
            "Path/Name", 70, 45, 190, 15, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT _
            OR %ES_AUTOHSCROLL OR %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT _
            OR %WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_LINESREAD, "Lines Read", 70, 70, 65, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_MULTILINE OR _
            %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_LINECOUNT, "Line Count", 195, 70, 65, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_MULTILINE OR _
            %ES_AUTOHSCROLL OR %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR _
            %WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_VBTERM, "vbTerm", 75, 120, 185, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
            %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_PBTERMAVAILABLE, "pbTerm Available", 75, _
            146, 185, 20, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR _
            %ES_AUTOHSCROLL OR %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR _
            %WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_PBTERM, "pbTerm", 75, 172, 185, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
            %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_MULTIUSETERM, "Multi Use Term", 75, 198, _
            185, 20, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
            %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_POINTERTOPBWRAPPER, "Pointer To " + _
            "pbWrapper", 75, 224, 185, 20, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT _
            OR %ES_AUTOHSCROLL OR %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT _
            OR %WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_COMMENT, "Comment", 75, 250, 185, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
            %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD BUTTON,  hDlg, %IDC_BACK, "<== Back", 24, 290, 70, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %WS_DISABLED OR %WS_TABSTOP OR %BS_TEXT _
            OR %BS_MULTILINE OR %BS_PUSHBUTTON OR %BS_CENTER OR %BS_VCENTER, _
            %WS_EX_LEFT OR %WS_EX_LTRREADING
        CONTROL ADD BUTTON,  hDlg, %IDC_FORWARD, "Forward ==>", 102, 290, 70, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %WS_DISABLED OR %WS_TABSTOP OR %BS_TEXT _
            OR %BS_MULTILINE OR %BS_PUSHBUTTON OR %BS_CENTER OR %BS_VCENTER, _
            %WS_EX_LEFT OR %WS_EX_LTRREADING
        CONTROL ADD BUTTON,  hDlg, %IDC_REVIEWTERMSDICTIONARY, "Review Terms " + _
            "Dictionary", 102, 315, 70, 20, %WS_CHILD OR %WS_VISIBLE OR _
            %WS_TABSTOP OR %BS_TEXT OR %BS_MULTILINE OR %BS_PUSHBUTTON OR _
            %BS_CENTER OR %BS_VCENTER, %WS_EX_LEFT OR %WS_EX_LTRREADING
        CONTROL ADD BUTTON,  hDlg, %IDC_CREATEDATAFILE, "Create Data File", 25, _
            315, 70, 20, %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP OR %BS_TEXT OR _
            %BS_MULTILINE OR %BS_PUSHBUTTON OR %BS_CENTER OR %BS_VCENTER, _
            %WS_EX_LEFT OR %WS_EX_LTRREADING
        CONTROL ADD BUTTON,  hDlg, %IDC_QUITPROGRAM, "QUIT PROGRAM", 179, 315, _
            70, 20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL1, "Loads Rod's Data Files into UDT " + _
            "array saves to  vb2pbTermData.dat", 25, 10, 220, 25, %WS_CHILD OR _
            %WS_VISIBLE OR %SS_CENTER, %WS_EX_LEFT OR %WS_EX_LTRREADING
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL2, "Input File:", 5, 45, 65, 15
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL3, "Lines Read Record No", 10, 70, _
            55, 25
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL4, "vbTerm", 10, 125, 60, 20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL5, "pbTerm available?", 10, 150, 60, _
            20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL6, "pbTerm", 10, 175, 60, 20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL7, "Multi Use Term?", 10, 200, 60, _
            20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL8, "Pointer to pbWrapper", 10, 225, _
            60, 20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL9, "Comment", 10, 250, 60, 20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL10, "Line Cnt Record Cnt", 140, 70, _
            55, 20
        CONTROL ADD LINE,    hDlg, %IDC_LINE1, "Line1", 5, 100, 435, 10, _
            %WS_CHILD OR %WS_VISIBLE OR %SS_GRAYRECT
        CONTROL ADD LINE,    hDlg, %IDC_LINE2, "Line1", 5, 275, 260, 10, _
            %WS_CHILD OR %WS_VISIBLE OR %SS_GRAYRECT
        CONTROL ADD LINE,    hDlg, %IDC_LINE3, "Line3", 265, 275, 10, 70, _
            %WS_CHILD OR %WS_VISIBLE OR %SS_GRAYRECT
        CONTROL ADD LINE,    hDlg, %IDC_LINE4, "Line4", 265, 110, 10, 165, _
            %WS_CHILD OR %WS_VISIBLE OR %SS_GRAYRECT
        CONTROL ADD LINE,    hDlg, %IDC_LINE5, "Line5", 265, 5, 10, 95, %WS_CHILD _
            OR %WS_VISIBLE OR %SS_GRAYRECT
        CONTROL ADD TEXTBOX, hDlg, %IDC_TEXTBOX10, "NOTE Even though the second " + _
            "element is set to no term available(1), if the multiple uses, " + _
            "fourth element, is set to 1, the PB WORD exists. IF elements 2 AND " + _
            "4 are set to one the usage of the term will have to be checked. " + _
            "This can be converted to an include file with a small utility to " + _
            "place the items in an array of some UDT, I have left it this way. " + _
            "Rod.", 280, 115, 155, 145, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR _
            %ES_MULTILINE OR %ES_AUTOVSCROLL OR %ES_READONLY, %WS_EX_CLIENTEDGE _
            OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_TEXTBOX11, "Example:", 275, 280, 50, 15, _
            %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
            %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL SET COLOR    hDlg, %IDC_TEXTBOX11, -1, %YELLOW
        CONTROL ADD TEXTBOX, hDlg, %IDC_TEXTBOX12, _
            "BEEP"",0,""BEEP"",0,0,""Verbatim usage", 275, 300, 170, 15, _
            %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
            %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL SET COLOR    hDlg, %IDC_TEXTBOX12, -1, %YELLOW
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL11, "%pbTermAvailable = 0", 280, 20, _
            115, 15
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL12, "%pbTermNotAvailable = 1", 280, _
            40, 135, 15
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL13, "%NotMultiUseTerm = 0", 280, 60, _
            115, 15
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL14, "%MultiUseTerm = 1", 280, 80, _
            115, 15
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL15, "Item 2 and 4 Equates", 280, 5, _
            155, 10
        CONTROL SET COLOR    hDlg, %IDC_LABEL15, -1, %YELLOW
        CONTROL ADD BUTTON,  hDlg, %IDC_EXITFILEREVIEW, "EXIT FILE REVIEW", 180, _
            290, 70, 20, %WS_CHILD OR %WS_VISIBLE OR %WS_DISABLED OR %WS_TABSTOP _
            OR %BS_TEXT OR %BS_MULTILINE OR %BS_PUSHBUTTON OR %BS_CENTER OR _
            %BS_VCENTER, %WS_EX_LEFT OR %WS_EX_LTRREADING
    
        hFont1 = PBFormsMakeFont("Courier New", 10, 400, %FALSE, %FALSE, %FALSE, _
            %ANSI_CHARSET)
        hFont2 = PBFormsMakeFont("Courier New", 8, 400, %FALSE, %FALSE, %FALSE, _
            %ANSI_CHARSET)
    
        DIALOG  SEND hDlg, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_INPUTFILEPATHNAME, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LINESREAD, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LINECOUNT, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_VBTERM, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_PBTERMAVAILABLE, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_PBTERM, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_MULTIUSETERM, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_POINTERTOPBWRAPPER, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_COMMENT, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_BACK, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_FORWARD, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_REVIEWTERMSDICTIONARY, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_CREATEDATAFILE, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_QUITPROGRAM, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL1, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL2, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL3, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL4, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL5, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL6, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL7, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL8, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL9, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL10, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LINE1, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LINE2, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LINE3, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LINE4, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LINE5, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_TEXTBOX10, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_TEXTBOX11, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_TEXTBOX12, %WM_SETFONT, hFont2, 0
        CONTROL SEND hDlg, %IDC_LABEL11, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL12, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL13, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL14, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL15, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_EXITFILEREVIEW, %WM_SETFONT, hFont1, 0
    #PBFORMS END DIALOG
    
       DIALOG SHOW MODAL hDlg, CALL ShowDataLoadToolProc TO lRslt
    
    #PBFORMS BEGIN CLEANUP %IDD_DataLoadTool
        DeleteObject hFont1
        DeleteObject hFont2
    #PBFORMS END CLEANUP
    
       FUNCTION = lRslt
    END FUNCTION
    '------------------------------------------------------------------
    Last edited by StanHelton; 25 Jun 2008, 07:37 PM. Reason: clarify instructions at top

    Leave a comment:


  • StanHelton
    replied
    Added ability to review contents of random data file. Removed the screen updates -- they were kind of useless anyway.

    Code:
    #PBFORMS CREATED V1.51
    '------------------------------------------------------------------------------
    
    #COMPILE EXE
    #DIM ALL
    
    '------------------------------------------------------------------------------
    '   ** Includes **
    '------------------------------------------------------------------------------
    #PBFORMS BEGIN INCLUDES
    #IF NOT %DEF(%WINAPI)
        #INCLUDE "WIN32API.INC"
    #ENDIF
    #INCLUDE "PBForms.INC"
    #PBFORMS END INCLUDES
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '   ** Constants **
    '------------------------------------------------------------------------------
    #PBFORMS BEGIN CONSTANTS
    %IDC_BACK                  = 1022
    %IDC_COMMENT               = 1014
    %IDC_CREATEDATAFILE        = 1026
    %IDC_EXITFILEREVIEW        = 1039
    %IDC_FORWARD               = 1024
    %IDC_INPUTFILEPATHNAME     = 1003
    %IDC_LABEL1                = 1001
    %IDC_LABEL10               = 1018
    %IDC_LABEL11               = 1034
    %IDC_LABEL12               = 1035
    %IDC_LABEL13               = 1036
    %IDC_LABEL14               = 1037
    %IDC_LABEL15               = 1038
    %IDC_LABEL2                = 1002
    %IDC_LABEL3                = 1004
    %IDC_LABEL4                = 1006
    %IDC_LABEL5                = 1007
    %IDC_LABEL6                = 1008
    %IDC_LABEL7                = 1009
    %IDC_LABEL8                = 1010
    %IDC_LABEL9                = 1011
    %IDC_LINE1                 = 1020
    %IDC_LINE2                 = 1021
    %IDC_LINE3                 = 1028
    %IDC_LINE4                 = 1029
    %IDC_LINE5                 = 1030
    %IDC_LINECOUNT             = 1019
    %IDC_LINESREAD             = 1005
    %IDC_MULTIUSETERM          = 1016
    %IDC_PBTERM                = 1017
    %IDC_PBTERMAVAILABLE       = 1013
    %IDC_POINTERTOPBWRAPPER    = 1015
    %IDC_QUITPROGRAM           = 1027
    %IDC_REVIEWTERMSDICTIONARY = 1025
    %IDC_TEXTBOX10             = 1031
    %IDC_TEXTBOX11             = 1032
    %IDC_TEXTBOX12             = 1033
    %IDC_VBTERM                = 1012
    %IDD_DataLoadTool          =  101
    #PBFORMS END CONSTANTS
    
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '  *** Types ***
    '------------------------------------------------------------------------------
    TYPE DictionaryRecordType
       vbTerm AS STRING * 64
       pbTermAvailable AS LONG
       pbTerm AS STRING * 64
       MultiUse AS LONG
       pbWrapper AS DWORD
       Comment AS STRING * 256
    END TYPE
    
    '------------------------------------------------------------------------------
    '   ** Declarations **
    '------------------------------------------------------------------------------
    DECLARE CALLBACK FUNCTION ShowDataLoadToolProc()
    DECLARE FUNCTION ShowDataLoadTool(BYVAL hParent AS DWORD) AS LONG
    #PBFORMS DECLARATIONS
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '   ** Main Application Entry Point **
    '------------------------------------------------------------------------------
    FUNCTION PBMAIN()
       ShowDataLoadTool %HWND_DESKTOP
    END FUNCTION
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '   ** CallBacks **
    '------------------------------------------------------------------------------
    CALLBACK FUNCTION ShowDataLoadToolProc()
       LOCAL lResult AS LONG
       LOCAL tempString AS STRING
       LOCAL inFile AS INTEGER
       LOCAL lineCount AS LONG
       LOCAL record AS DictionaryRecordType
       LOCAL Finished AS LONG
    
       STATIC sourceFileName AS STRING
       STATIC targetFileName AS STRING
       STATIC outFile AS INTEGER
       STATIC recNo AS LONG
       STATIC recCount AS LONG
    
    
       SELECT CASE AS LONG CBMSG
          CASE %WM_INITDIALOG
             ' Initialization handler
    
             sourceFileName = "vb2pbTerms-20080624.txt"
             targetFileName = "vb2pbTermDict-20080624.dat"
             recNo = 1
             recCount = 1
             CONTROL SET TEXT CBHNDL, %IDC_INPUTFILEPATHNAME, CURDIR$
    
          CASE %WM_NCACTIVATE
             STATIC hWndSaveFocus AS DWORD
             IF ISFALSE CBWPARAM THEN
                ' Save control focus
                hWndSaveFocus = GetFocus()
             ELSEIF hWndSaveFocus THEN
                ' Restore control focus
                SetFocus(hWndSaveFocus)
                hWndSaveFocus = 0
             END IF
    
          CASE %WM_COMMAND
             ' Process control notifications
             SELECT CASE AS LONG CBCTL
                CASE %IDC_EXITFILEREVIEW
                   IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                      CONTROL ENABLE CBHNDL, %IDC_CREATEDATAFILE
                      CONTROL ENABLE CBHNDL, %IDC_QUITPROGRAM
                      CONTROL ENABLE CBHNDL, %IDC_REVIEWTERMSDICTIONARY
    
                      CONTROL DISABLE CBHNDL, %IDC_BACK
                      CONTROL DISABLE CBHNDL, %IDC_FORWARD
                      CONTROL DISABLE CBHNDL, %IDC_EXITFILEREVIEW
    
                      CLOSE #outFile
                   END IF
    
                CASE %IDC_BACK
                   IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                      DECR recNo
                      IF recNo < 1 THEN recNo = recCount
                      CONTROL SET TEXT CBHNDL, %IDC_LINESREAD, TRIM$(STR$(recNo))
                      DIALOG POST CBHNDL, %WM_COMMAND, %IDC_REVIEWTERMSDICTIONARY, %BN_CLICKED
                   END IF
    
                CASE %IDC_FORWARD
                   IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                      INCR recNo
                      IF recNo > recCount THEN recNo = 1
                      CONTROL SET TEXT CBHNDL, %IDC_LINESREAD, TRIM$(STR$(recNo))
                      DIALOG POST CBHNDL, %WM_COMMAND, %IDC_REVIEWTERMSDICTIONARY, %BN_CLICKED
                   END IF
    
    
                CASE %IDC_REVIEWTERMSDICTIONARY
                   IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                      CONTROL DISABLE CBHNDL, %IDC_CREATEDATAFILE
                      CONTROL DISABLE CBHNDL, %IDC_QUITPROGRAM
                      CONTROL DISABLE CBHNDL, %IDC_REVIEWTERMSDICTIONARY
    
                      CONTROL ENABLE CBHNDL, %IDC_BACK
                      CONTROL ENABLE CBHNDL, %IDC_FORWARD
                      CONTROL ENABLE CBHNDL, %IDC_EXITFILEREVIEW
    
                      IF ISFALSE FILEATTR(#outFile, 0) THEN
                         outFile = FREEFILE
                         OPEN targetFileName FOR RANDOM AS outFile LEN = SIZEOF(record)
                         recCount = LOF(outFile) / SIZEOF(record)
                      END IF
    
                      GET #outFile, recNo, record
    
                      'update screen display
                      CONTROL SET TEXT CBHNDL, %IDC_VBTERM, TRIM$(record.vbTerm)
                      CONTROL SET TEXT CBHNDL, %IDC_PBTERMAVAILABLE, TRIM$(STR$(record.pbTermAvailable))
                      CONTROL SET TEXT CBHNDL, %IDC_PBTERM, TRIM$(record.pbTerm)
                      CONTROL SET TEXT CBHNDL, %IDC_MULTIUSETERM, TRIM$(STR$(record.MultiUse))
                      CONTROL SET TEXT CBHNDL, %IDC_POINTERTOPBWRAPPER, TRIM$(STR$(record.pbWrapper))
                      CONTROL SET TEXT CBHNDL, %IDC_COMMENT, TRIM$(record.Comment)
    
                   END IF
    
                CASE %IDC_CREATEDATAFILE
                   IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                      inFile = FREEFILE
                      OPEN sourceFileName FOR INPUT AS inFile
    
                      outFile = FREEFILE
                      OPEN targetFileName FOR RANDOM AS outFile LEN = SIZEOF(record)
    
                      FILESCAN #inFile, RECORDS TO lineCount
                      tempString = TRIM$(STR$(lineCount))
                      CONTROL SET TEXT CBHNDL, %IDC_LINECOUNT, tempString
    
                      lineCount = 0
                      DO
                         INPUT #inFile, record.vbTerm, _
                                        record.pbTermAvailable, _
                                        record.pbTerm, _
                                        record.MultiUse, _
                                        record.pbWrapper, _
                                        record.Comment
    
                         IF EOF(inFile) THEN     'check for eof in source file
                            Finished = %True
                         ELSE
                            Finished = %False
                         END IF                  'continue last iteration of DO/LOOP to get last record in source file
    
                         PUT #outFile, , record
    
                         INCR lineCount
    
                         'update screen display
                         CONTROL SET TEXT CBHNDL, %IDC_LINESREAD, TRIM$(STR$(lineCount))
                         CONTROL SET TEXT CBHNDL, %IDC_VBTERM, TRIM$(record.vbTerm)
                         CONTROL SET TEXT CBHNDL, %IDC_PBTERMAVAILABLE, TRIM$(STR$(record.pbTermAvailable))
                         CONTROL SET TEXT CBHNDL, %IDC_PBTERM, TRIM$(record.pbTerm)
                         CONTROL SET TEXT CBHNDL, %IDC_MULTIUSETERM, TRIM$(STR$(record.MultiUse))
                         CONTROL SET TEXT CBHNDL, %IDC_POINTERTOPBWRAPPER, TRIM$(STR$(record.pbWrapper))
                         CONTROL SET TEXT CBHNDL, %IDC_COMMENT, TRIM$(record.Comment)
                      LOOP UNTIL Finished
                      CLOSE #inFile, #outFile
                   END IF
    
                CASE %IDC_QUITPROGRAM
                   IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                      lResult = MSGBOX("Are you sure you want to quit?", %MB_YESNOCANCEL, "TermsData Tool")
                      IF lResult = %IDYES THEN
                         CLOSE
                         DIALOG END CBHNDL
                      END IF
                   END IF
    
             END SELECT
       END SELECT
    END FUNCTION
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '   ** Dialogs **
    '------------------------------------------------------------------------------
    FUNCTION ShowDataLoadTool(BYVAL hParent AS DWORD) AS LONG
       LOCAL lRslt  AS LONG
    
    #PBFORMS BEGIN DIALOG %IDD_DataLoadTool->->
        LOCAL hDlg   AS DWORD
        LOCAL hFont1 AS DWORD
        LOCAL hFont2 AS DWORD
    
        DIALOG NEW hParent, "Data Load Tool For Rod's VB Term Files", 315, 151, _
            442, 346, %WS_POPUP OR %WS_BORDER OR %WS_DLGFRAME OR %WS_SYSMENU OR _
            %WS_MINIMIZEBOX OR %WS_CLIPSIBLINGS OR %WS_VISIBLE OR %DS_MODALFRAME _
            OR %DS_3DLOOK OR %DS_NOFAILCREATE OR %DS_SETFONT, %WS_EX_CLIENTEDGE _
            OR %WS_EX_STATICEDGE OR %WS_EX_WINDOWEDGE OR %WS_EX_CONTROLPARENT OR _
            %WS_EX_APPWINDOW OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
            %WS_EX_RIGHTSCROLLBAR, TO hDlg
        CONTROL ADD TEXTBOX, hDlg, %IDC_INPUTFILEPATHNAME, "Input File " + _
            "Path/Name", 70, 45, 190, 15, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT _
            OR %ES_AUTOHSCROLL OR %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT _
            OR %WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_LINESREAD, "Lines Read", 70, 70, 65, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_MULTILINE OR _
            %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_LINECOUNT, "Line Count", 195, 70, 65, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_MULTILINE OR _
            %ES_AUTOHSCROLL OR %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR _
            %WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_VBTERM, "vbTerm", 75, 120, 185, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
            %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_PBTERMAVAILABLE, "pbTerm Available", 75, _
            146, 185, 20, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR _
            %ES_AUTOHSCROLL OR %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR _
            %WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_PBTERM, "pbTerm", 75, 172, 185, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
            %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_MULTIUSETERM, "Multi Use Term", 75, 198, _
            185, 20, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
            %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_POINTERTOPBWRAPPER, "Pointer To " + _
            "pbWrapper", 75, 224, 185, 20, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT _
            OR %ES_AUTOHSCROLL OR %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT _
            OR %WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_COMMENT, "Comment", 75, 250, 185, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
            %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD BUTTON,  hDlg, %IDC_BACK, "<== Back", 24, 290, 70, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %WS_DISABLED OR %WS_TABSTOP OR %BS_TEXT _
            OR %BS_MULTILINE OR %BS_PUSHBUTTON OR %BS_CENTER OR %BS_VCENTER, _
            %WS_EX_LEFT OR %WS_EX_LTRREADING
        CONTROL ADD BUTTON,  hDlg, %IDC_FORWARD, "Forward ==>", 102, 290, 70, 20, _
            %WS_CHILD OR %WS_VISIBLE OR %WS_DISABLED OR %WS_TABSTOP OR %BS_TEXT _
            OR %BS_MULTILINE OR %BS_PUSHBUTTON OR %BS_CENTER OR %BS_VCENTER, _
            %WS_EX_LEFT OR %WS_EX_LTRREADING
        CONTROL ADD BUTTON,  hDlg, %IDC_REVIEWTERMSDICTIONARY, "Review Terms " + _
            "Dictionary", 102, 315, 70, 20, %WS_CHILD OR %WS_VISIBLE OR _
            %WS_TABSTOP OR %BS_TEXT OR %BS_MULTILINE OR %BS_PUSHBUTTON OR _
            %BS_CENTER OR %BS_VCENTER, %WS_EX_LEFT OR %WS_EX_LTRREADING
        CONTROL ADD BUTTON,  hDlg, %IDC_CREATEDATAFILE, "Create Data File", 25, _
            315, 70, 20, %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP OR %BS_TEXT OR _
            %BS_MULTILINE OR %BS_PUSHBUTTON OR %BS_CENTER OR %BS_VCENTER, _
            %WS_EX_LEFT OR %WS_EX_LTRREADING
        CONTROL ADD BUTTON,  hDlg, %IDC_QUITPROGRAM, "QUIT PROGRAM", 179, 315, _
            70, 20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL1, "Loads Rod's Data Files into UDT " + _
            "array saves to  vb2pbTermData.dat", 25, 10, 220, 25, %WS_CHILD OR _
            %WS_VISIBLE OR %SS_CENTER, %WS_EX_LEFT OR %WS_EX_LTRREADING
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL2, "Input File:", 5, 45, 65, 15
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL3, "Lines Read Record No", 10, 70, _
            55, 25
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL4, "vbTerm", 10, 125, 60, 20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL5, "pbTerm available?", 10, 150, 60, _
            20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL6, "pbTerm", 10, 175, 60, 20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL7, "Multi Use Term?", 10, 200, 60, _
            20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL8, "Pointer to pbWrapper", 10, 225, _
            60, 20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL9, "Comment", 10, 250, 60, 20
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL10, "Line Cnt Record Cnt", 140, 70, _
            55, 20
        CONTROL ADD LINE,    hDlg, %IDC_LINE1, "Line1", 5, 100, 435, 10, _
            %WS_CHILD OR %WS_VISIBLE OR %SS_GRAYRECT
        CONTROL ADD LINE,    hDlg, %IDC_LINE2, "Line1", 5, 275, 260, 10, _
            %WS_CHILD OR %WS_VISIBLE OR %SS_GRAYRECT
        CONTROL ADD LINE,    hDlg, %IDC_LINE3, "Line3", 265, 275, 10, 70, _
            %WS_CHILD OR %WS_VISIBLE OR %SS_GRAYRECT
        CONTROL ADD LINE,    hDlg, %IDC_LINE4, "Line4", 265, 110, 10, 165, _
            %WS_CHILD OR %WS_VISIBLE OR %SS_GRAYRECT
        CONTROL ADD LINE,    hDlg, %IDC_LINE5, "Line5", 265, 5, 10, 95, %WS_CHILD _
            OR %WS_VISIBLE OR %SS_GRAYRECT
        CONTROL ADD TEXTBOX, hDlg, %IDC_TEXTBOX10, "NOTE Even though the second " + _
            "element is set to no term available(1), if the multiple uses, " + _
            "fourth element, is set to 1, the PB WORD exists. IF elements 2 AND " + _
            "4 are set to one the usage of the term will have to be checked. " + _
            "This can be converted to an include file with a small utility to " + _
            "place the items in an array of some UDT, I have left it this way. " + _
            "Rod.", 280, 115, 155, 145, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR _
            %ES_MULTILINE OR %ES_AUTOVSCROLL OR %ES_READONLY, %WS_EX_CLIENTEDGE _
            OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR
        CONTROL ADD TEXTBOX, hDlg, %IDC_TEXTBOX11, "Example:", 275, 280, 50, 15, _
            %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
            %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL SET COLOR    hDlg, %IDC_TEXTBOX11, -1, %YELLOW
        CONTROL ADD TEXTBOX, hDlg, %IDC_TEXTBOX12, _
            "BEEP"",0,""BEEP"",0,0,""Verbatim usage", 275, 300, 170, 15, _
            %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
            %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
            OR %WS_EX_RIGHTSCROLLBAR
        CONTROL SET COLOR    hDlg, %IDC_TEXTBOX12, -1, %YELLOW
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL11, "%pbTermAvailable = 0", 280, 20, _
            115, 15
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL12, "%pbTermNotAvailable = 1", 280, _
            40, 135, 15
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL13, "%NotMultiUseTerm = 0", 280, 60, _
            115, 15
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL14, "%MultiUseTerm = 1", 280, 80, _
            115, 15
        CONTROL ADD LABEL,   hDlg, %IDC_LABEL15, "Item 2 and 4 Equates", 280, 5, _
            155, 10
        CONTROL SET COLOR    hDlg, %IDC_LABEL15, -1, %YELLOW
        CONTROL ADD BUTTON,  hDlg, %IDC_EXITFILEREVIEW, "EXIT FILE REVIEW", 180, _
            290, 70, 20, %WS_CHILD OR %WS_VISIBLE OR %WS_DISABLED OR %WS_TABSTOP _
            OR %BS_TEXT OR %BS_MULTILINE OR %BS_PUSHBUTTON OR %BS_CENTER OR _
            %BS_VCENTER, %WS_EX_LEFT OR %WS_EX_LTRREADING
    
        hFont1 = PBFormsMakeFont("Courier New", 10, 400, %FALSE, %FALSE, %FALSE, _
            %ANSI_CHARSET)
        hFont2 = PBFormsMakeFont("Courier New", 8, 400, %FALSE, %FALSE, %FALSE, _
            %ANSI_CHARSET)
    
        DIALOG  SEND hDlg, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_INPUTFILEPATHNAME, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LINESREAD, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LINECOUNT, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_VBTERM, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_PBTERMAVAILABLE, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_PBTERM, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_MULTIUSETERM, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_POINTERTOPBWRAPPER, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_COMMENT, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_BACK, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_FORWARD, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_REVIEWTERMSDICTIONARY, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_CREATEDATAFILE, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_QUITPROGRAM, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL1, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL2, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL3, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL4, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL5, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL6, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL7, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL8, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL9, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL10, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LINE1, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LINE2, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LINE3, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LINE4, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LINE5, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_TEXTBOX10, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_TEXTBOX11, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_TEXTBOX12, %WM_SETFONT, hFont2, 0
        CONTROL SEND hDlg, %IDC_LABEL11, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL12, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL13, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL14, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_LABEL15, %WM_SETFONT, hFont1, 0
        CONTROL SEND hDlg, %IDC_EXITFILEREVIEW, %WM_SETFONT, hFont1, 0
    #PBFORMS END DIALOG
    
       DIALOG SHOW MODAL hDlg, CALL ShowDataLoadToolProc TO lRslt
    
    #PBFORMS BEGIN CLEANUP %IDD_DataLoadTool
        DeleteObject hFont1
        DeleteObject hFont2
    #PBFORMS END CLEANUP
    
       FUNCTION = lRslt
    END FUNCTION
    '------------------------------------------------------------------------------

    Leave a comment:


  • StanHelton
    replied
    Rod,

    Here's a little program to convert your data files to PB random files. Please take a look at the TYPE. You have a better idea of how big those strings should be than I do. My test output ran to 93kb.

    For this to work properly do 2 things:
    1. take out all non-data lines at the top of your terms text file
    2. name the new file "vb2pbTerms-20080624.txt"

    Code:
    #PBFORMS CREATED V1.51
    '------------------------------------------------------------------------------
    
    #COMPILE EXE
    #DIM ALL
    
    '------------------------------------------------------------------------------
    '   ** Includes **
    '------------------------------------------------------------------------------
    #PBFORMS BEGIN INCLUDES
    #IF NOT %DEF(%WINAPI)
       #INCLUDE "WIN32API.INC"
    #ENDIF
    #INCLUDE "PBForms.INC"
    #PBFORMS END INCLUDES
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '   ** Constants **
    '------------------------------------------------------------------------------
    #PBFORMS BEGIN CONSTANTS
    %IDC_COMMENT            = 1014
    %IDC_CREATEDATAFILE     = 1026
    %IDC_FASTUPDATES        = 1023
    %IDC_INPUTFILEPATHNAME  = 1003
    %IDC_LABEL1             = 1001
    %IDC_LABEL10            = 1018
    %IDC_LABEL11            = 1034
    %IDC_LABEL12            = 1035
    %IDC_LABEL13            = 1036
    %IDC_LABEL14            = 1037
    %IDC_LABEL15            = 1038
    %IDC_LABEL2             = 1002
    %IDC_LABEL3             = 1004
    %IDC_LABEL4             = 1006
    %IDC_LABEL5             = 1007
    %IDC_LABEL6             = 1008
    %IDC_LABEL7             = 1009
    %IDC_LABEL8             = 1010
    %IDC_LABEL9             = 1011
    %IDC_LINE1              = 1020
    %IDC_LINE2              = 1021
    %IDC_LINE3              = 1028
    %IDC_LINE4              = 1029
    %IDC_LINE5              = 1030
    %IDC_LINECOUNT          = 1019
    %IDC_LINESREAD          = 1005
    %IDC_LOADVB2PBTERMS     = 1025
    %IDC_MULTIUSETERM       = 1016
    %IDC_NOPROGRESSUPDATES  = 1022
    %IDC_PBTERM             = 1017
    %IDC_PBTERMAVAILABLE    = 1013
    %IDC_POINTERTOPBWRAPPER = 1015
    %IDC_QUIT               = 1027
    %IDC_SLOWUPDATES        = 1024
    %IDC_TEXTBOX10          = 1031
    %IDC_TEXTBOX11          = 1032
    %IDC_TEXTBOX12          = 1033
    %IDC_VBTERM             = 1012
    %IDD_DataLoadTool       =  101
    #PBFORMS END CONSTANTS
    
    %NoScreenUpdates        = 1
    %SlowScreenUpdates      = 2
    %FastScreenUpdates      = 4
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '  *** Types ***
    '------------------------------------------------------------------------------
    TYPE DictionaryRecordType
       vbTerm AS STRING * 64
       pbTermAvailable AS LONG
       pbTerm AS STRING * 64
       MultiUse AS LONG
       pbWrapper AS DWORD
       Comment AS STRING * 256
    END TYPE
    
    
    '------------------------------------------------------------------------------
    '   ** Declarations **
    '------------------------------------------------------------------------------
    DECLARE CALLBACK FUNCTION ShowDataLoadToolProc()
    DECLARE FUNCTION ShowDataLoadTool(BYVAL hParent AS DWORD) AS LONG
    #PBFORMS DECLARATIONS
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '   ** Main Application Entry Point **
    '------------------------------------------------------------------------------
    FUNCTION PBMAIN()
       ShowDataLoadTool %HWND_DESKTOP
    END FUNCTION
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '   ** CallBacks **
    '------------------------------------------------------------------------------
    CALLBACK FUNCTION ShowDataLoadToolProc()
       LOCAL lResult AS LONG
       LOCAL tempString AS STRING
       LOCAL inFile AS INTEGER
       LOCAL outFile AS INTEGER
       LOCAL lineCount AS LONG
       LOCAL record AS DictionaryRecordType
       LOCAL recCount AS LONG
       LOCAL Finished AS LONG
    
       STATIC updateFlag AS LONG
       STATIC sourceFileName AS STRING
       STATIC targetFileName AS STRING
    
    
    
       IF updateFlag < %NoScreenUpdates THEN     'on first run only
          updateFlag = %FastScreenUpdates        'fast updates default
       END IF
    
       IF LEN(sourceFileName) < 1 THEN
          sourceFileName = "vb2pbTerms-20080624.txt"
       END IF
    
       IF LEN(targetFileName) < 1 THEN
          targetFileName = "vb2pbTermDict-20080624.dat"
       END IF
    
    
       SELECT CASE AS LONG CBMSG
          CASE %WM_INITDIALOG
             ' Initialization handler
    
          CASE %WM_NCACTIVATE
             STATIC hWndSaveFocus AS DWORD
             IF ISFALSE CBWPARAM THEN
                ' Save control focus
                hWndSaveFocus = GetFocus()
             ELSEIF hWndSaveFocus THEN
                ' Restore control focus
                SetFocus(hWndSaveFocus)
                hWndSaveFocus = 0
             END IF
    
          CASE %WM_COMMAND
             ' Process control notifications
             SELECT CASE AS LONG CBCTL
                CASE %IDC_NOPROGRESSUPDATES
                   IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                     IF updateFlag = %NoScreenUpdates THEN
                         CONTROL SET TEXT CBHNDL, %IDC_NOPROGRESSUPDATES, "No Progress Updates"
                         updateFlag = %FastScreenUpdates
                     ELSE
                         CONTROL SET TEXT CBHNDL, %IDC_NOPROGRESSUPDATES, "Progress Updates"
                         updateFlag = %NoScreenUpdates
                      END IF
                   END IF
    
                CASE %IDC_SLOWUPDATES
                   IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                      updateFlag = %SlowScreenUpdates
                   END IF
    
                CASE %IDC_FASTUPDATES
                   IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                      updateFlag = %FastScreenUpdates
                   END IF
    
                CASE %IDC_LOADVB2PBTERMS
                   IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                      CONTROL SET TEXT CBHNDL, %IDC_INPUTFILEPATHNAME, CURDIR$
                      inFile = FREEFILE
                      OPEN sourceFileName FOR INPUT AS inFile
                      FILESCAN #inFile, RECORDS TO lineCount
                      tempString = TRIM$(STR$(lineCount))
                      CONTROL SET TEXT CBHNDL, %IDC_LINECOUNT, tempString
                      CLOSE #inFile
                   END IF
    
                CASE %IDC_CREATEDATAFILE
                   IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                      inFile = FREEFILE
                      OPEN sourceFileName FOR INPUT AS inFile
                      outFile = FREEFILE
    
                      OPEN targetFileName FOR RANDOM AS outFile LEN = SIZEOF(record)
                      recCount = LOF(outFile) / SIZEOF(record)
    
                      lineCount = 0
                      DO
                         INPUT #inFile, record.vbTerm, _
                                        record.pbTermAvailable, _
                                        record.pbTerm, _
                                        record.MultiUse, _
                                        record.pbWrapper, _
                                        record.Comment
    
                         IF EOF(inFile) THEN Finished = %True ELSE Finished = %False
    
                         PUT #outFile, , record
    
                         INCR lineCount
                         IF updateFlag = %NoScreenUpdates THEN
                            ITERATE DO
                            CONTROL SET TEXT CBHNDL, %IDC_LINESREAD, TRIM$(STR$(lineCount))
                         ELSE
                            'IF updateFlag = %SlowScreenUpdates THEN
                            '   SLEEP 500
                            'ELSEIF updateFlag = %FastScreenUpdates THEN
                            '   SLEEP 100
                            'END IF
    
                            CONTROL SET TEXT CBHNDL, %IDC_LINESREAD, TRIM$(STR$(lineCount))
                            CONTROL SET TEXT CBHNDL, %IDC_VBTERM, TRIM$(record.vbTerm)
                            CONTROL SET TEXT CBHNDL, %IDC_PBTERMAVAILABLE, TRIM$(STR$(record.pbTermAvailable))
                            CONTROL SET TEXT CBHNDL, %IDC_PBTERM, TRIM$(record.pbTerm)
                            CONTROL SET TEXT CBHNDL, %IDC_MULTIUSETERM, TRIM$(STR$(record.MultiUse))
                            CONTROL SET TEXT CBHNDL, %IDC_POINTERTOPBWRAPPER, TRIM$(STR$(record.pbWrapper))
                            CONTROL SET TEXT CBHNDL, %IDC_COMMENT, TRIM$(record.Comment)
                         END IF
                      LOOP UNTIL Finished
                   END IF
    
                CASE %IDC_QUIT
                   IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                      lResult = MSGBOX("Are you sure you want to quit?", %MB_YESNOCANCEL, "DataTool")
                      IF lResult = %IDYES THEN
                         DIALOG END CBHNDL
                      END IF
                   END IF
    
             END SELECT
       END SELECT
    END FUNCTION
    '------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------
    '   ** Dialogs **
    '------------------------------------------------------------------------------
    FUNCTION ShowDataLoadTool(BYVAL hParent AS DWORD) AS LONG
       LOCAL lRslt  AS LONG
    
    #PBFORMS BEGIN DIALOG %IDD_DataLoadTool->->
       LOCAL hDlg   AS DWORD
       LOCAL hFont1 AS DWORD
       LOCAL hFont2 AS DWORD
    
       DIALOG NEW hParent, "Data Load Tool For Rod's VB Term Files", 315, 151, _
          444, 347, %WS_POPUP OR %WS_BORDER OR %WS_DLGFRAME OR %WS_SYSMENU OR _
          %WS_MINIMIZEBOX OR %WS_CLIPSIBLINGS OR %WS_VISIBLE OR %DS_MODALFRAME _
          OR %DS_3DLOOK OR %DS_NOFAILCREATE OR %DS_SETFONT, %WS_EX_CLIENTEDGE OR _
          %WS_EX_STATICEDGE OR %WS_EX_WINDOWEDGE OR %WS_EX_CONTROLPARENT OR _
          %WS_EX_APPWINDOW OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
          %WS_EX_RIGHTSCROLLBAR, TO hDlg
       CONTROL ADD TEXTBOX, hDlg, %IDC_INPUTFILEPATHNAME, "Input File Path/Name", _
          70, 45, 190, 15, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR _
          %ES_AUTOHSCROLL OR %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR _
          %WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR
       CONTROL ADD TEXTBOX, hDlg, %IDC_LINESREAD, "Lines Read", 70, 70, 65, 15, _
          %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
          %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
          %WS_EX_RIGHTSCROLLBAR
       CONTROL ADD TEXTBOX, hDlg, %IDC_LINECOUNT, "Line Count", 195, 70, 65, 15, _
          %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
          %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
          %WS_EX_RIGHTSCROLLBAR
       CONTROL ADD TEXTBOX, hDlg, %IDC_VBTERM, "vbTerm", 75, 120, 185, 20, _
          %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
          %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
          %WS_EX_RIGHTSCROLLBAR
       CONTROL ADD TEXTBOX, hDlg, %IDC_PBTERMAVAILABLE, "pbTerm Available", 75, _
          146, 185, 20, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL _
          OR %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING _
          OR %WS_EX_RIGHTSCROLLBAR
       CONTROL ADD TEXTBOX, hDlg, %IDC_PBTERM, "pbTerm", 75, 172, 185, 20, _
          %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
          %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
          %WS_EX_RIGHTSCROLLBAR
       CONTROL ADD TEXTBOX, hDlg, %IDC_MULTIUSETERM, "Multi Use Term", 75, 198, _
          185, 20, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
          %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
          %WS_EX_RIGHTSCROLLBAR
       CONTROL ADD TEXTBOX, hDlg, %IDC_POINTERTOPBWRAPPER, "Pointer To " + _
          "pbWrapper", 75, 224, 185, 20, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR _
          %ES_AUTOHSCROLL OR %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR _
          %WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR
       CONTROL ADD TEXTBOX, hDlg, %IDC_COMMENT, "Comment", 75, 250, 185, 20, _
          %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
          %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
          %WS_EX_RIGHTSCROLLBAR
       CONTROL ADD BUTTON,  hDlg, %IDC_NOPROGRESSUPDATES, "No Progress Updates", _
          24, 290, 70, 20, %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP OR %BS_TEXT _
          OR %BS_MULTILINE OR %BS_PUSHBUTTON OR %BS_CENTER OR %BS_VCENTER, _
          %WS_EX_LEFT OR %WS_EX_LTRREADING
       CONTROL ADD BUTTON,  hDlg, %IDC_SLOWUPDATES, "Slow Updates", 99, 290, 70, _
          20, %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP OR %BS_TEXT OR _
          %BS_MULTILINE OR %BS_PUSHBUTTON OR %BS_CENTER OR %BS_VCENTER, _
          %WS_EX_LEFT OR %WS_EX_LTRREADING
       CONTROL ADD BUTTON,  hDlg, %IDC_FASTUPDATES, "Fast Updates", 180, 290, 70, _
          20, %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP OR %BS_TEXT OR _
          %BS_MULTILINE OR %BS_PUSHBUTTON OR %BS_CENTER OR %BS_VCENTER, _
          %WS_EX_LEFT OR %WS_EX_LTRREADING
       CONTROL ADD BUTTON,  hDlg, %IDC_LOADVB2PBTERMS, "Load vb2pbTerms", 25, _
          315, 70, 20, %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP OR %BS_TEXT OR _
          %BS_MULTILINE OR %BS_PUSHBUTTON OR %BS_CENTER OR %BS_VCENTER, _
          %WS_EX_LEFT OR %WS_EX_LTRREADING
       CONTROL ADD BUTTON,  hDlg, %IDC_CREATEDATAFILE, "Create Data File", 100, _
          315, 70, 20, %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP OR %BS_TEXT OR _
          %BS_MULTILINE OR %BS_PUSHBUTTON OR %BS_CENTER OR %BS_VCENTER, _
          %WS_EX_LEFT OR %WS_EX_LTRREADING
       CONTROL ADD BUTTON,  hDlg, %IDC_QUIT, "Quit", 179, 315, 70, 20
       CONTROL ADD LABEL,   hDlg, %IDC_LABEL1, "Loads Rod's Data Files into UDT " + _
          "array saves to  vb2pbTermData.dat", 25, 10, 220, 25, %WS_CHILD OR _
          %WS_VISIBLE OR %SS_CENTER, %WS_EX_LEFT OR %WS_EX_LTRREADING
       CONTROL ADD LABEL,   hDlg, %IDC_LABEL2, "Input File:", 5, 45, 65, 15
       CONTROL ADD LABEL,   hDlg, %IDC_LABEL3, "Lines Processed", 10, 70, 55, 25
       CONTROL ADD LABEL,   hDlg, %IDC_LABEL4, "vbTerm", 10, 125, 60, 20
       CONTROL ADD LABEL,   hDlg, %IDC_LABEL5, "pbTerm available?", 10, 150, 60, _
          20
       CONTROL ADD LABEL,   hDlg, %IDC_LABEL6, "pbTerm", 10, 175, 60, 20
       CONTROL ADD LABEL,   hDlg, %IDC_LABEL7, "Multi Use Term?", 10, 200, 60, 20
       CONTROL ADD LABEL,   hDlg, %IDC_LABEL8, "Pointer to pbWrapper", 10, 225, _
          60, 20
       CONTROL ADD LABEL,   hDlg, %IDC_LABEL9, "Comment", 10, 250, 60, 20
       CONTROL ADD LABEL,   hDlg, %IDC_LABEL10, "Total Lines", 150, 70, 40, 20
       CONTROL ADD LINE,    hDlg, %IDC_LINE1, "Line1", 5, 100, 435, 10, %WS_CHILD _
          OR %WS_VISIBLE OR %SS_GRAYRECT
       CONTROL ADD LINE,    hDlg, %IDC_LINE2, "Line1", 5, 275, 260, 10, %WS_CHILD _
          OR %WS_VISIBLE OR %SS_GRAYRECT
       CONTROL ADD LINE,    hDlg, %IDC_LINE3, "Line3", 265, 275, 10, 70, _
          %WS_CHILD OR %WS_VISIBLE OR %SS_GRAYRECT
       CONTROL ADD LINE,    hDlg, %IDC_LINE4, "Line4", 265, 110, 10, 165, _
          %WS_CHILD OR %WS_VISIBLE OR %SS_GRAYRECT
       CONTROL ADD LINE,    hDlg, %IDC_LINE5, "Line5", 265, 5, 10, 95, %WS_CHILD _
          OR %WS_VISIBLE OR %SS_GRAYRECT
       CONTROL ADD TEXTBOX, hDlg, %IDC_TEXTBOX10, "NOTE Even though the second " + _
          "element is set to no term available(1), if the multiple uses, fourth " + _
          "element, is set to 1, the PB WORD exists. IF elements 2 AND 4 are set " + _
          "to one the usage of the term will have to be checked. This can be " + _
          "converted to an include file with a small utility to place the items " + _
          "in an array of some UDT, I have left it this way. Rod.", 280, 115, _
          155, 145, %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_MULTILINE OR _
          %ES_AUTOVSCROLL OR %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR _
          %WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR
       CONTROL ADD TEXTBOX, hDlg, %IDC_TEXTBOX11, "Example:", 275, 280, 50, 15, _
          %WS_CHILD OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR _
          %ES_READONLY, %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
          %WS_EX_RIGHTSCROLLBAR
       CONTROL SET COLOR    hDlg, %IDC_TEXTBOX11, -1, %YELLOW
       CONTROL ADD TEXTBOX, hDlg, %IDC_TEXTBOX12, _
          "BEEP"",0,""BEEP"",0,0,""Verbatim usage", 275, 300, 170, 15, %WS_CHILD _
          OR %WS_VISIBLE OR %ES_LEFT OR %ES_AUTOHSCROLL OR %ES_READONLY, _
          %WS_EX_CLIENTEDGE OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
          %WS_EX_RIGHTSCROLLBAR
       CONTROL SET COLOR    hDlg, %IDC_TEXTBOX12, -1, %YELLOW
       CONTROL ADD LABEL,   hDlg, %IDC_LABEL11, "%pbTermAvailable = 0", 280, 20, _
          115, 15
       CONTROL ADD LABEL,   hDlg, %IDC_LABEL12, "%pbTermNotAvailable = 1", 280, _
          40, 135, 15
       CONTROL ADD LABEL,   hDlg, %IDC_LABEL13, "%NotMultiUseTerm = 0", 280, 60, _
          115, 15
       CONTROL ADD LABEL,   hDlg, %IDC_LABEL14, "%MultiUseTerm = 1", 280, 80, _
          115, 15
       CONTROL ADD LABEL,   hDlg, %IDC_LABEL15, "Item 2 and 4 Equates", 280, 5, _
          155, 10
       CONTROL SET COLOR    hDlg, %IDC_LABEL15, -1, %YELLOW
    
       hFont1 = PBFormsMakeFont("Courier New", 10, 400, %FALSE, %FALSE, %FALSE, _
          %ANSI_CHARSET)
       hFont2 = PBFormsMakeFont("Courier New", 8, 400, %FALSE, %FALSE, %FALSE, _
          %ANSI_CHARSET)
    
       DIALOG  SEND hDlg, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_INPUTFILEPATHNAME, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LINESREAD, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LINECOUNT, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_VBTERM, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_PBTERMAVAILABLE, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_PBTERM, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_MULTIUSETERM, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_POINTERTOPBWRAPPER, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_COMMENT, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_NOPROGRESSUPDATES, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_SLOWUPDATES, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_FASTUPDATES, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LOADVB2PBTERMS, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_CREATEDATAFILE, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_QUIT, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LABEL1, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LABEL2, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LABEL3, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LABEL4, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LABEL5, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LABEL6, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LABEL7, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LABEL8, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LABEL9, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LABEL10, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LINE1, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LINE2, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LINE3, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LINE4, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LINE5, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_TEXTBOX10, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_TEXTBOX11, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_TEXTBOX12, %WM_SETFONT, hFont2, 0
       CONTROL SEND hDlg, %IDC_LABEL11, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LABEL12, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LABEL13, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LABEL14, %WM_SETFONT, hFont1, 0
       CONTROL SEND hDlg, %IDC_LABEL15, %WM_SETFONT, hFont1, 0
    #PBFORMS END DIALOG
    
       DIALOG SHOW MODAL hDlg, CALL ShowDataLoadToolProc TO lRslt
    
    #PBFORMS BEGIN CLEANUP %IDD_DataLoadTool
       DeleteObject hFont1
       DeleteObject hFont2
    #PBFORMS END CLEANUP
    
       FUNCTION = lRslt
    END FUNCTION

    Leave a comment:


  • Rodney Hicks
    replied
    Same file, more terms. STATEMENTS, KEYWORDS, and FUNCTIONS. 238 lines.
    Attached Files

    Leave a comment:


  • Rodney Hicks
    replied
    Same file, more terms. STATEMENTS and KEYWORDS. 113 lines.

    Rod
    Attached Files

    Leave a comment:


  • Rodney Hicks
    replied
    There are six terms on each line:

    Element#1-$ term from VB source code
    Element#2-# 0=PB term available, 1=no term available or possible issue, check for substitution
    Element#3-$ PB term
    Element#4-# 0=nothing to consider, 1 term has multiple uses which may require consideration
    Element#5-# 0 reserved for possible POINTER TO FUNCTION that returns the PB term for this VB term
    Element#6-$ comment regarding the term, possibly used in output source, or for info for conversion programmers.

    NOTE Even though the second element is set to no term available(1), if the multiple uses, fourth element, is set to 1, the PB WORD exists.
    IF elements 2 AND 4 are set to one the usage of the term will have to be checked.
    This can be converted to an include file with a small utility to place the items in an array of some UDT, I have left it this way
    so it can be set up in a fashion deemed most suitable by the whoever has to access the information. I will be posting updates to
    file and the date of updates will be the first line of the file.

    Example:
    "BEEP",0,"BEEP",0,0,"Verbatim usage"
    Attached Files

    Leave a comment:


  • StanHelton
    started a topic SourceCode Only

    SourceCode Only

    It's getting difficult to find all the code snippets and file versions. Let's use this thread to post code so we have it all in one place. I expect this problem to go away once we have the SVN fully functional.

    Stan
Working...
X
😀
🥰
🤢
😎
😡
👍
👎