⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 projinfo.tcl

📁 这是vxworks 的图形界面开发软件windML2.0和另一个CP2可以构成完整的界面开发。
💻 TCL
字号:
# PROJINFO.TCL - Setup procedures for implementing project-information 
#                wizard page
#
# Copyright 1999 Wind River Systems, Inc
#
# modification history
# --------------------
# 01c,24mar99,bjl  turn off inf write to registry after queueExecute.
# 01b,08feb99,wmd  Need to validate that the number of licenses field is
#                  numeric.
# 01a,26jan99,tcy  extracted from INSTW32.TCL.
#

#############################################################################
#
# pageCreate(projectInfo) - prompts users for project information
#
# This procedure will prompt user for project information such as project name
# and number of Tornado seats
#
# SYNOPSIS
# .tS
# pageCreate(projectInfo)
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: N/A
#
# ERRORS: N/A
#

proc pageCreate(projectInfo) {} {
    global ctrlVals
    global setupVals
    global projLic
    global projName
    global projLicUsers

    set ctrlVals(volatileFrm) [list \
                [list label -name message1 \
                            -title [strTableGet 4050_PROJECT_TEXT] \
                            -x 99 -y 10 -w 206 -h 35] \
                [list label -name message2 \
                            -title "WRS License Number" \
                            -x 99 -y 56 -w 75 -h 10] \
                [list label -name message3 \
                            -title "Project Name" \
                            -x 99 -y 80 -w 75 -h 10] \
                [list label -name message4 \
                            -title "Number of Tornado Seats" \
                            -x 99 -y 104 -w 99 -h 8] \
                [list text -name WRSLicText -border -x 187 -y 56 -w 120 -h 13 \
                           -readonly ] \
                [list text -name projNameText -border -x 187 -y 79 -w 120 \
                           -h 13 -callback \
                           {onTextChange projNameText projName}] \
                [list text -name numUsersText -border -x 187 -y 102 -w 120 \
                           -h 13 -callback \
                           {onTextChange numUsersText numUsers}] \
    ]

    set w [dlgFrmCreate "Project Information"]

    # initialize values in controls if they exist in the registry

    controlValuesSet $w.WRSLicText [projInfoGet WRSLic]
    controlValuesSet $w.projNameText [projInfoGet projName]
    controlValuesSet $w.numUsersText [projInfoGet numUsers]
    controlFocusSet $w.nextButt

    if {$projLic != "" && $projName != "" && $projLicUsers != "" } {
        controlValuesSet $w.WRSLicText $projLic
        controlValuesSet $w.projNameText $projName
        controlValuesSet $w.numUsersText $projLicUsers
    }
}

#############################################################################
#
# pageProcess(projectInfo) - process inputs from projectInfo page
#
# This procedure will process inputs from projectInfo page
#
# SYNOPSIS
# .tS
# pageProcess(projectInfo)
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: 0 if procedure onProjLicRecordOK returns 0
#          1 if procedure onProjLicRecordOK returns 1
#
# ERRORS: N/A
#

proc pageProcess(projectInfo) {} {
    global infVals

    set infVals(addProjectInfo) 1
    set retVal [onProjLicRecordOK]
    searchAndProcessSection AddRegistry [cdFileNameGet [file join RESOURCE \
                                         INF TORNADO.INF]]
    queueExecute
    set infVals(addProjectInfo) 0
    return $retVal
}

#############################################################################
#
# projInfoGet - initialize licenseAgreement page
#
# This procedure will initialize licenseAgreement page
#
# SYNOPSIS
# .tS
# projInfoGet <info>
# .tE
#
# PARAMETERS:
# .IP <info> information needed for project. It can be one of the following:
#  WRSLic   - WRS license number assigned to vendor
#  projName - project name
#  numUsers - numbers of registered users
#
# RETURNS: registry value of requested info
#
# ERRORS: N/A
#

proc projInfoGet {info} {

    set usrRoot HKEY_CURRENT_USER
    set root HKEY_LOCAL_MACHINE
    set sp "SOFTWARE\\Wind River Systems"


    if {$info == "WRSLic"} {
        if {![catch {setupLicenseNumGet} lic]} {
            return $lic
        }
    }

    if {![catch {sysRegistryValueRead $usrRoot $sp WRSLicense} value]} {
        set vals $value
    } else {
        set vals ""
    }

    if {![catch {sysRegistryValueRead $root $sp WRSLicense} value]} {
        set vals2 $value
    } else {
        set vals2 ""
    }

    if {$vals != ""} {
        switch -exact -- $info {
            WRSLic {
                if {![catch {sysRegistryValueRead \
                             $usrRoot $sp WRSLicense} value]} {
                    return $value
                } else { return ""}
            }
            projName {
                if {![catch {sysRegistryValueRead \
                             $usrRoot $sp projectName} value]} {
                    return $value
                } else { return ""}
            }
            numUsers {
                if {![catch {sysRegistryValueRead \
                           $usrRoot $sp nLicensedUsers} value]} {
                    return $value
                } else { return ""}
            }
        }

    } elseif {$vals2 != ""} {
        switch -exact -- $info {
            WRSLic {
                if {![catch {sysRegistryValueRead \
                           $root $sp WRSLicense} value]} {
                    return $value
                } else { return ""}
            }
            projName {
                if {![catch {sysRegistryValueRead \
                           $root $sp projectName} value]} {
                    return $value
                } else { return ""}
            }
            numUsers {
                if {![catch {sysRegistryValueRead \
                           $root $sp nLicensedUsers} value]} {
                    return $value
                } else { return ""}
            }
        }
    }
}

#############################################################################
#
# onProjLicRecordOK - process inputs from projectInfo page
#
# This procedure is a helper which processes inputs ffrom projectInfo page
#
# SYNOPSIS
# .tS
# onProjLicRecordOK
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: 0 if project information is not completely filled
#          1 if project information is completely filled
#
# ERRORS: N/A
#

proc onProjLicRecordOK {} {
    global setupVals
    global projLic
    global projName
    global projLicUsers

    # query the user with the info he has entered

    if [catch {setupLicenseNumGet} error] {
        puts "Error: $error"
    } else {
        set projLic $error
    }

    set projName $setupVals(projName)
    set projLicUsers [string trim $setupVals(numUsers)]

    if {$projLic == "" || $projName == "" || $projLicUsers == "" } {
        messageBox -ok -exclamationicon \
            "You have not completely entered your\
            project information."
        return 0
    }

    if {[regexp {[^0-9]+} $projLicUsers var]} {
	messageBox -ok -exclamationicon \
	    "The value you entered for the \"Number of Tornado Seats\"\
             field in non-numeric, please re-enter it."
	return 0
    }

    # record the license record in the registry under "WIND RIVER SYSTEMS",
    # done in TORNADO.INF

    return 1
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -