亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? install.tcl

?? 該文件是WINDRIVER針對2.2版本的tornado推出的驅動更新包
?? TCL
?? 第 1 頁 / 共 4 頁
字號:
                if {"$setAllFlag" == "1"} {                    foreach partIndex [productInfoGet partIndexList $prodIndex] {                        partInfoSet instFlag $partIndex 1                        set pickList(part,$partIndex) 1                    }                }            } else {                set productObj($prodIndex,instFlag) $value            }        }        stateCommit {            set productObj($prodIndex,prevInstFlag) \            $productObj($prodIndex,instFlag)            }        stateRestore {            set productObj($prodIndex,instFlag) \            $productObj($prodIndex,prevInstFlag)            }        childStateCommit {            foreach partIndex $productObj($prodIndex,partIndexList) {                partInfoSet stateCommit $partIndex            }        }        childStateRestore {            foreach partIndex $productObj($prodIndex,partIndexList) {                partInfoSet stateRestore $partIndex            }        }        default { puts "productInfoSet: unknown info: $info" }    }}################################################################################ partInfoGet - returns the requested attribute of a part object.## Attribute      Meaning# ---------      -------# instFlag       a toggle flags that indicate a selection state of a part# prevInstFlag   a previous state of the above flag# desc           a part description# parent         an integer that identifies the parent product# size           a total size of a part# totalFile      a total number of files of a part## SYNOPSIS# partInfoGet <attrib> <partIndex>## PARAMETERS:#    <attrib> : a part object's attribute#    <partIndex> : an integer indentifies a part## RETURNS: requested attribute## ERRORS: N/A#proc partInfoGet {info partIndex} {    global partObj    switch $info {        instFlag { return $partObj($partIndex,instFlag) }        prevInstFlag { return $partObj($partIndex,prevInstFlag) }        desc { return $partObj($partIndex,desc) }        parent { return $partObj($partIndex,parent) }        size {            if [isUnix] {                return $partObj($partIndex,size)            } else {            # this option returns the estimated size of a part takes up            # on a Windows file system. A file with 10 bytes can take up to            # 32768 bytes on a FAT system.            # On average, each file in tornado wastes 78% of one block.            # For each file in the part, it adds 78% of the system's            # block size to the file size to account for the extra bytes            return  [format %.f [expr $partObj($partIndex,totalFile) * \                    [setupClusterSizeGet [rootDirGet [destDirGet]]] * \                    0.78 + $partObj($partIndex,size)]]            }        }        totalFile { return $partObj($partIndex,totalFile) }        coreProd { return $partObj($partIndex,coreProd) }        default { puts "partInfoGet: unknown info: $info" }    }}################################################################################ rootDirGet - returns the root directory or the drive letter for#              a specified path on Windows machines.## SYNOPSIS# partInfoSet <path>## PARAMETERS:#    <path> : a directory pathes## RETURNS: root directory## ERRORS: N/A#proc rootDirGet {path} {    regexp {^(.*)\:(.*)$} $path junk root dir    if { [info exists root] && "$root" != "" } {        return "$root:\\"    } else {        return "c:\\"    }}################################################################################ partInfoSet - changes an attribute of a part object## see partInfoGet() for available attribute of a part object## SYNOPSIS# partInfoSet <attrib> <partIndex> [value]## PARAMETERS:#    <attrib> : an attribute of a part object#    <partIndex> : an integer that identifies a part#    [value] : new attribute value## RETURNS: N/A## ERRORS: N/A#proc partInfoSet {info partIndex {value ""}} {    global partObj pickList    switch $info {        instFlag { set partObj($partIndex,instFlag) $value }        desc { set partObj($partIndex,desc) $value }        parent { set partObj($partIndex,parent) $value }        stateCommit {            set partObj($partIndex,prevInstFlag) \            $partObj($partIndex,instFlag)            }        stateRestore {            set partObj($partIndex,instFlag) $partObj($partIndex,prevInstFlag)            set pickList(part,$partIndex) $partObj($partIndex,prevInstFlag)        }        default { puts "partInfoSet: unknown info: $info" }    }}################################################################################ stateInfoHelper -  determents if a selection state is changing## By comparing the total size of the current and previous selection state, this# function helps reduce unnesscessary GUI updating.## SYNOPSIS# stateInfoHelper <state> <totalCurr> <totalPrev>## PARAMETERS:#    <state> : curent state#    <totalCurr> : total size in current state#    <totalPrev> : total size in previous state## RETURNS: new state.## ERRORS: N/A#proc stateInfoHelper {state totalCurr totalPrev} {    set retVal $state    if {"$state" != "unchanged"} {        if {"$totalCurr" == "0"} {            set retVal "${state}ToNone"        } elseif {"$totalCurr" >= "$totalPrev"} {            set retVal "${state}Incr"        } elseif {"$totalCurr" < "$totalPrev"} {             set retVal "${state}Decr"        }    }    return $retVal}################################################################################ objectDump - dumps out to stdout all object information## SYNOPSIS# objectDump## PARAMETERS: N/A## RETURNS: N/A## ERRORS: N/A#proc objectDump {} {    global objGuiMap partObj productObj    puts ""    foreach elem [lsort [array names objGuiMap]] {        puts "objGuiMap($elem) = $objGuiMap($elem)"    }    foreach elem [lsort [array names partObj]] {        puts "partObj($elem) = $partObj($elem)"    }    foreach elem [lsort [array names productObj]] {        puts "productObj($elem) = $productObj($elem)"    }}################################################################################ cdNameGet - read CD part number from DISK_ID file written to by mfg## SYNOPSIS# cdNameGet## PARAMETERS: N/A## RETURNS: N/A## ERRORS: N/A#proc cdNameGet {{mode number}} {    global setupVals env    set setupVals(runFromCD) 1    set file [cdromRootDirGet]/DISK_ID    if {[file exists "$file"] && ![catch {open "$file" "r"} f]} {        gets $f setupVals(CDnumber)        gets $f setupVals(CDdescription)        gets $f setupVals(CDManufacturingTime)        catch { close $f } err        # preceed quotes with escape characters        regsub -all {\"} $setupVals(CDdescription) {\\"} setupVals(CDdescription)        switch $mode {            number { return $setupVals(CDnumber) }            description { return $setupVals(CDdescription) }            time { return $setupVals(CDManufacturingTime) }            default { return "" }        }    } else {        # here, no DISK_ID found. Must be running from the tree.        set setupVals(runFromCD) 0        if { [isTornadoProduct] } {            # set wind base            set env(WIND_BASE) [file dirname [cdromRootDirGet]]            dbgputs "run from the installed tree. WIND_BASE is $env(WIND_BASE)"        } else {            destDirSet [file dirname [cdromRootDirGet]]            dbgputs "run from the installed tree. Destination directory is [destDirGet]"        }        if { $setupVals(lmError) != "" || [instTypeGet] == "licenseSetup"} {            if { [isTornadoProduct] } {                destDirSet $env(WIND_BASE)            } else {                destDirSet [file dirname [cdromRootDirGet]]                dbgputs "run from the installed tree"            }            # if in lmError page, use CD info from setup.log            set setupVals(CDnumber) ""            # get WIND_BASE            if { [isTornadoProduct] } {                if { [info exist env(WIND_BASE)] } {                    set setupLog [file join $env(WIND_BASE) setup.log]                } else {                    messageBox "Error: WIND_BASE variable is not set!"                    return ""                }            } else {                set setupLog [file join [destDirGet] setup.log]            }            # try opening setup.log file            if [catch {open $setupLog r} logfd] {                messageBox "Error: cannot open file $setupLog!"                return ""            } else {                set text [split [read $logfd] \n]                set nlines [llength $text]                close $logfd                                                for {set ix 0} {$ix < $nlines} {incr ix} {                                                            # iterate each line and search for CD info                    set textLine [split [lindex $text $ix]]                                                            # search for line that begins with "TDK"                    if { [lsearch -regexp $textLine "TDK-"] == 1} {                                                                        # get CD number                        set setupVals(CDnumber) [split [lindex $textLine 1]]                                                                        # get CD description (next line)                        set nextLine [split [lindex $text [expr $ix + 1]]]                        set endB [expr [llength $nextLine] - 1]                        set setupVals(CDdescription) [split [lrange $nextLine 1 $endB]]                    }                }            }                                    switch $mode {                number { return $setupVals(CDnumber) }                description { return $setupVals(CDdescription) }                default { return "" }            }        } else {            return ""        }    }}####################################################################### Dialog Text Messages######################################################################set strTable(BACKUP_DISK_FULL_WARN) \    "SETUP is attempting to backup previously installed files, but\     no disk space is available.  Free some disk space and press OK\     to continue, or press Cancel to skip backing up files.\n\n\     NOTE: If you cancel backup of files, performing an Uninstall to\     the previous session will be invalid."set strTable(TEMP_DISK_FULL_WARN) \    "There may not be enough space available under temporary directory.\     Please click \"OK\" to exit SETUP, clear temporary directory, and \     try running SETUP again."## initialize globals#source [cdromRootDirGet]/RESOURCE/TCL/VERSION.TCLglobal overwritePolicycatch {unset overwritePolicy}set overwritePolicy(ALL) 0set setupVals(uninstLog) 0## loading setup agent#load  [cdromBinDirGet]/SETUPTCL[string toupper [info sharedlibextension]]

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩avvvv在线播放| 亚洲一二三四久久| 日韩欧美国产高清| 欧美日韩一卡二卡三卡| 97精品国产97久久久久久久久久久久| 国产一区中文字幕| 国产精品88av| 国产suv一区二区三区88区| 国产成人免费视频网站高清观看视频| 蜜臀91精品一区二区三区| 日韩av电影免费观看高清完整版在线观看| 亚洲综合另类小说| 亚洲va欧美va人人爽| 日韩不卡一二三区| 青青草国产成人99久久| 久久国产精品99久久久久久老狼| 美女一区二区三区在线观看| 国产一区二区女| 暴力调教一区二区三区| 色香蕉久久蜜桃| 欧美日韩综合不卡| 欧美一级理论性理论a| 欧美va亚洲va香蕉在线| 国产亚洲综合性久久久影院| 国产精品久久久久久久久久免费看 | 国产成人av自拍| www.日韩av| 欧美伦理影视网| 亚洲精品在线观| 自拍偷自拍亚洲精品播放| 亚洲福利一二三区| 韩国女主播成人在线| 成av人片一区二区| 制服.丝袜.亚洲.中文.综合| 久久亚洲欧美国产精品乐播| 亚洲少妇最新在线视频| 欧美aⅴ一区二区三区视频| 国产成人精品综合在线观看| 91激情五月电影| 久久先锋资源网| 五月天一区二区| 国产激情一区二区三区四区| 欧美午夜在线观看| www国产精品av| 五月天国产精品| 99视频超级精品| 精品嫩草影院久久| 亚洲一区二区三区爽爽爽爽爽| 国内精品伊人久久久久av一坑| 色综合久久久久| 欧美国产精品v| 蜜桃视频一区二区三区在线观看| 成人毛片在线观看| 精品国产青草久久久久福利| 亚洲永久免费视频| 99久久久无码国产精品| 精品国产麻豆免费人成网站| 亚洲午夜久久久久中文字幕久| 韩国v欧美v亚洲v日本v| 欧美日韩美少妇| 亚洲欧洲日本在线| 国产福利一区在线| 精品国产伦理网| 日韩成人午夜精品| 欧美日韩亚洲高清一区二区| 亚洲人成网站色在线观看| 国产伦理精品不卡| 日韩免费观看2025年上映的电影| 亚洲丰满少妇videoshd| 91色|porny| 中文字幕制服丝袜一区二区三区 | 国产一区二区福利| 日韩午夜精品视频| 午夜久久久久久| 在线免费观看一区| 亚洲综合一二三区| 色综合天天在线| 一区二区三区中文免费| av在线一区二区| 亚洲精品乱码久久久久久日本蜜臀 | 亚洲国产成人高清精品| 欧洲生活片亚洲生活在线观看| **性色生活片久久毛片| 99这里只有久久精品视频| 中文字幕一区二| 91女神在线视频| 亚洲国产你懂的| 欧美另类久久久品| 麻豆精品国产91久久久久久| 日韩欧美卡一卡二| 国产风韵犹存在线视精品| 国产三区在线成人av| 国产a区久久久| 一区二区三区av电影| 欧美日本一区二区三区四区| 九色综合狠狠综合久久| 国产欧美一区二区三区在线看蜜臀 | 亚洲成av人片观看| 日韩午夜激情电影| 国产一本一道久久香蕉| 欧美一级日韩免费不卡| 亚洲愉拍自拍另类高清精品| 欧美性高清videossexo| 国产精品进线69影院| 欧美性生交片4| 日韩电影在线一区二区| 日韩精品中文字幕在线不卡尤物 | 欧美美女喷水视频| 日本欧美在线看| 国产偷国产偷亚洲高清人白洁| 国产成人av一区| 中文字幕日韩一区| 欧美午夜片在线看| 午夜天堂影视香蕉久久| 欧美成人激情免费网| 91在线国产福利| 天天操天天色综合| 久久先锋影音av| 91在线精品一区二区三区| 亚洲电影一级黄| 日韩视频国产视频| 色狠狠一区二区三区香蕉| 天堂在线亚洲视频| 337p日本欧洲亚洲大胆精品| 成人av影视在线观看| 亚洲三级在线看| 日韩一区二区在线观看视频| 91久久精品日日躁夜夜躁欧美| 午夜av一区二区| 国产精品不卡在线观看| 欧美美女一区二区三区| 成人性生交大合| 日韩成人av影视| 综合欧美一区二区三区| 日本丰满少妇一区二区三区| 亚洲高清不卡在线| 亚洲国产精品成人综合| 日韩免费观看高清完整版在线观看| 青青草伊人久久| 天天色 色综合| 日本一区二区在线不卡| 欧美日韩在线播放三区四区| 天天综合网 天天综合色| 国产精品丝袜在线| 日韩欧美国产一区二区在线播放| a4yy欧美一区二区三区| 九色|91porny| 免费在线观看一区二区三区| 亚洲欧美影音先锋| 精品91自产拍在线观看一区| 色88888久久久久久影院按摩| 国内精品视频666| 久久精品久久99精品久久| 亚洲国产精品一区二区久久| 国产精品情趣视频| 久久精品视频一区| 亚洲精品一线二线三线| 国产亚洲一区二区三区在线观看| 欧美日韩一卡二卡| 在线亚洲高清视频| 95精品视频在线| 国产成人午夜精品5599| 麻豆久久久久久久| 奇米影视在线99精品| 日韩综合在线视频| 亚洲妇女屁股眼交7| 一区二区三区中文免费| 亚洲成人动漫在线免费观看| 亚洲视频免费看| 国产精品久久久久一区| 国产亚洲成aⅴ人片在线观看| 欧美tickling网站挠脚心| 亚洲精品一线二线三线无人区| 欧美一区二区三区在线看| 欧美日韩高清影院| 在线观看国产精品网站| 欧美午夜在线观看| 日韩一区二区三区精品视频| 91麻豆精品91久久久久同性| 91麻豆精品91久久久久同性| 69堂精品视频| 日韩欧美国产成人一区二区| 日韩一卡二卡三卡| 精品国产麻豆免费人成网站| 国产日韩精品久久久| 国产日产欧美一区二区视频| 亚洲国产精品精华液ab| 午夜欧美2019年伦理| 日韩专区一卡二卡| 极品尤物av久久免费看| 国产激情视频一区二区在线观看 | 日韩毛片视频在线看| 久久精品无码一区二区三区| 亚洲精品视频在线看| 日韩专区在线视频| 国产精品一线二线三线精华| 成人久久久精品乱码一区二区三区| 国产成人av一区二区| 6080国产精品一区二区| 精品国产a毛片|