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

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

?? uninst.tcl

?? 這是vxworks 的圖形界面開發軟件windML2.0的補丁CP2。
?? TCL
?? 第 1 頁 / 共 3 頁
字號:

proc message {msg} {
    global uninst
    global env

    if {"$env(UI)" == "TK"} {
       tk_dialog .uninst "Uninstall" $msg info 0 OK
    } elseif {"$env(UI)" == "UITcl"} {
       messageBox -ok -information $msg
    } {
       puts "$msg" 
    }
}

proc dialog {type title msg bitmap default} {
    global env

    switch $type {
        re_ig_cancel {
            if {"$env(UI)" == "TK"} {
                return [tk_dialog .uninst $title $msg $bitmap $default \
                                   Retry Ignore Cancel]
            } elseif {"$env(UI)" == "UITcl"} {
                switch [messageBox -abortretryignore -questionicon $msg] {
                    abort  { return 2 }
                    retry  { return 0 }
                    ignore { return 1 }
                }
            }
        }
    }
}

proc lastInstSessionInfoGet {} {
    global uninst env

    set zipFile \
        [lindex [lsort -decreasing \
                       [glob -nocomplain $uninst(home)/data.???]] 0]

    set saveDir [pwd]
    cd $env(TMP)

    catch {setupUnzip -o -qq $zipFile "installInfo"}

    if [file exists "installInfo"] {
        set f [open "installInfo" "r"]
        set uninst(info) [read $f]
        close $f
    }
}

proc uninstInfoGet {} {
    global uninst
    global env

    set uninst(currItem) 1
    set uninst(totalItem) 1
    set uninst(resList) ""
    set uninst(fileList) ""
    set uninst(bakList) ""

    set uninstZipFileList \
        [lsort -decreasing [glob -nocomplain $uninst(home)/data.???]]

    if {"$uninst(mode)" == "part"} {
        set uninst(zipFile) [lindex $uninstZipFileList 0]
        uninstInfoGetHelpper $uninst(zipFile)

    } elseif {"$uninst(mode)" == "all"} {
        foreach zipFile $uninstZipFileList {
            uninstInfoGetHelpper $zipFile
        }
    }

    print "uninst(resList) = $uninst(resList)"
    print "uninst(totalItem) = $uninst(totalItem)"
}
    
proc uninstInfoGetHelpper {zipFile} {
    global uninst
    global env

    set saveDir [pwd]
    cd $env(TMP)

    catch {setupUnzip -o -qq $zipFile "install*"}

    # Load the installed file list

    if [file exists "installFile"] {
        set f [open "installFile" "r"]

        while {[gets $f line] != "-1"} {
            if {"$line" != ""} {
                lappend uninst(fileList) [split $line "\t"]
            }
        }
        close $f
    }

    # Load the backup file list

    if [file exists "installBackup"] {
        set f [open "installBackup" "r"]

        while {[gets $f line] != "-1"} {
            if {"$line" != ""} {
                lappend uninst(bakList) [split $line "\t"]
            }
        }
        close $f
    }

    # Load the resource file list

    if [file exists "installResource"] {
        set f [open "installResource" "r"]

        while {[gets $f line] != "-1"} {
            if {"$line" != ""} {
                lappend uninst(resList) [split $line "\t"]
            }
        }
        close $f
    }

    incr uninst(totalItem) [llength $uninst(fileList)]
    incr uninst(totalItem) [llength $uninst(resList)]
 
    if {"$uninst(mode)" == "part"} {
        incr uninst(totalItem) [llength $uninst(bakList)]
    }
  
    cd $saveDir
}

proc fileNameAppreviate {fileName} {
    set shortName $fileName

    if {[string length $fileName] > 35} {
       if [regexp {(^[^/]+)/.*/([^/]+/[^/]+$)} $fileName junk \
            firstPart lastPart] {
           set shortName "$firstPart/.../$lastPart"
       }
    } 
    return $shortName
}


proc uninstBackup {} {
    global uninst
    global env

    foreach line $uninst(bakList) {
       set file [lindex $line 1]

       switch [lindex $line 0] {
           wind_base { 
               incr uninst(currItem)
               set percent [expr ($uninst(currItem) * 99) / $uninst(totalItem)]
               meterUpdate $percent "Restoring " $file

               if [catch {setupUnzip -o -qq $uninst(zipFile) \
                      -d $uninst(WIND_BASE) $file} error] {
                   incr uninst(errorCount) 
                   message "Cannot restore $file: $error"
               } 
           }
           default { puts "unknown rootdir token" }
       }
    }
}

proc dirInsert {pathName} {
    global dirArray

    set dirArray($pathName) ""

    while { 1 } {
        set pathName [file dirname $pathName]
        if {$pathName == "."} {
            break
        } {
            set dirArray($pathName) ""
        }
    }
}

proc dirRemove {} {
    global dirArray uninst

    # delete the innermost empty directory first

    foreach dir [lsort -decreasing [array names dirArray]] {
        catch {file delete $uninst(WIND_BASE)/$dir}
    }
}

proc uninstFile {} {
    global uninst
    global env

    foreach line $uninst(fileList) {
       set file [lindex $line 1]

       switch [lindex $line 0] {
           wind_base { 
               set filePath $uninst(WIND_BASE)/$file 
               dirInsert [file dirname $file]
           }
           window {
               if {[file extension $file] == ".CPL"} {
                   catch {setupWindowClose "Control Panel"}
               }
               set filePath [setupWinDirGet]/$file
           }
           default { puts "unknown rootdir [lindex $line 0]" }
       }

       incr uninst(currItem)
       set percent [expr ($uninst(currItem) * 99) / $uninst(totalItem)]
       meterUpdate $percent "Removing " $file

       if [file exists $filePath] {
           while {[catch {file delete $filePath} error]} {
               switch [dialog re_ig_cancel "Uninstall" "$error" question 0] {
                   0 { unset error }
                   1 { incr uninst(errorCount); break } 
                   2 { incr uninst(errorCount); return }
               }
           }
       }
    }

    # remove all empty directory
    set percent [expr ($uninst(currItem) * 99) / $uninst(totalItem)]
    meterUpdate $percent "Removing" "directories..."
    dirRemove
}

proc onUninstallPart {{default direct}} {
    global uninst
    global env

    set uninst(mode) part
    lastInstSessionInfoGet

    set message "Uninstall will remove the above component(s) \
                from $uninst(WIND_BASE) and restore the previous state."

    set i 0
    foreach line [split $uninst(info) "\n"] {
       if {$i > 5} { 
           append info "..."
           break
       }
       incr i
       if {"$line" != ""} {
           append info "$line\n"
       }
    }

    if {"$env(UI)" == "TK"} {
        .mainFrm.installInfo config -text $info
        .mainFrm.message config -text $message

    } elseif {"$env(UI)" == "UITcl"} {
        controlValuesSet uninstDlg.message $message
        controlValuesSet uninstDlg.installInfo $uninst(info)    
    }
}


proc onUninstallAll {{default direct}} {
    global uninst
    global env

    set uninst(mode) all
    set message "Warning: Uninstall removes ALL of the standard Tornado files\
            under $uninst(WIND_BASE), including files you may have modified. \
            Be sure to backup any modified files before continuing.  Note that\
	    user private files are not removed."
  
    if {"$env(UI)" == "TK"} {
        .mainFrm.message config -text $message
        .mainFrm.installInfo config -text ""

    } elseif {"$env(UI)" == "UITcl"} {
        controlValuesSet uninstDlg.message $message
        controlValuesSet uninstDlg.installInfo "" 
    }
}

proc uninstText {} {
    puts "Not implemented yet."
}


###################################################################
#
# Entry point of the Uninstall program.
#

proc start {} {
    global uninst
    global env
    global argv

    foreach elem [array names env] {
       if {[string compare [string tolower $elem] "tmp"] == 0} {
           regsub -all {\\} $env($elem) {/} env(TMP)
       }
       if {[string compare [string tolower $elem] "ui"] == 0} {
           regsub -all {\\} $env($elem) {/} env(UI)
       }
    }

    load $env(TMP)/setuptcl[info sharedlibextension]

    set uninst(errorCount) 0
    set uninst(home) $uninst(WIND_BASE)/.wind/uninst
    
    switch [llength [glob -nocomplain $uninst(home)/data.???]] {
       "0" {
           set uninst(mode) "none"
       }
       "1" {
           set uninst(mode) "all"
       }
       default {
           set uninst(mode) "part"
       }
    }

    if {"$env(UI)" == "TK"} {
        uninstTK

    } elseif {"$env(UI)" == "UITcl"} {
        uninstWin32

    } {
        uninstText
    }
}

set string(header) "This program uninstalls Tornado software\
                    from this machine.  Please select one of\
                    following choices."

set string(button1) "Uninstall the entire Tornado"
set string(button2) "Uninstall the last installed session."

if {"[lindex $argv 1]" == "-seed"} {
    load $uninst(WIND_BASE)/host/x86-win32/bin/setuptcl.dll
    seedUninstall
} {
    start
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产三级欧美三级日产三级99 | 成人午夜电影小说| 欧美一区二区播放| 蜜桃av一区二区三区电影| 日韩欧美视频一区| 久久99精品一区二区三区三区| 日韩一区二区免费高清| 极品少妇一区二区| 国产精品午夜春色av| 91免费视频网| 日韩精品久久理论片| 欧美精品一区二区在线观看| 成人精品国产一区二区4080| 樱花草国产18久久久久| 精品久久五月天| 成人av动漫在线| 亚洲成av人片在线观看无码| 精品国产网站在线观看| 99r精品视频| 日韩黄色小视频| 久久亚洲精品国产精品紫薇| 91网站最新地址| 美女视频黄 久久| 国产精品剧情在线亚洲| 欧美日韩国产一级片| 国产麻豆成人精品| 亚洲精品一二三区| 精品成人免费观看| 色婷婷综合激情| 韩日精品视频一区| 亚洲综合在线五月| 久久亚洲捆绑美女| 欧美三级韩国三级日本一级| 国产精品一区三区| 丝袜美腿亚洲一区二区图片| 日本一区二区三区dvd视频在线 | 成人在线综合网站| 亚洲综合在线视频| 日本一区二区三区在线不卡| 678五月天丁香亚洲综合网| 成人精品免费看| 蜜臀91精品一区二区三区| 亚洲欧美偷拍三级| 国产网站一区二区| 日韩视频不卡中文| 欧洲人成人精品| 99精品国产视频| 久久精品国产成人一区二区三区| 亚洲男帅同性gay1069| 久久免费视频色| 91精品国产91久久久久久一区二区 | 成人avav在线| 久久 天天综合| 偷拍与自拍一区| 亚洲激情男女视频| 国产精品三级电影| 国产欧美精品一区二区色综合 | 丝袜美腿成人在线| 亚洲综合小说图片| 亚洲免费观看在线观看| 日本一区二区三区在线不卡| 亚洲精品一区二区三区精华液| 欧美日韩国产在线观看| 欧洲色大大久久| 91搞黄在线观看| 波多野结衣亚洲| 成人久久18免费网站麻豆| 国产美女精品在线| 国产毛片一区二区| 国产在线日韩欧美| 国产日本欧洲亚洲| 成人av资源站| 日韩av在线发布| 综合婷婷亚洲小说| 精品国产区一区| 成人免费视频视频| 日韩主播视频在线| 国产女人aaa级久久久级| 欧美日韩国产综合久久| 国产成人免费视频一区| 夜夜精品视频一区二区 | 国产一区二区在线看| 中文字幕第一区第二区| 欧美一区二区三区啪啪| 91片在线免费观看| 色中色一区二区| 国产98色在线|日韩| 男男gaygay亚洲| 中文字幕视频一区二区三区久| 99久久精品国产一区二区三区 | 亚洲丶国产丶欧美一区二区三区| 精品一区二区三区在线视频| 精品一区二区三区的国产在线播放 | 天天色天天操综合| 日韩二区三区四区| 寂寞少妇一区二区三区| 国产69精品久久久久777| 成人av资源网站| 日本道色综合久久| 亚洲电影第三页| 国产精品久久夜| 国产精品麻豆视频| 欧美国产激情一区二区三区蜜月| 久久久91精品国产一区二区三区| 精品国产凹凸成av人导航| 在线不卡中文字幕播放| 一本大道久久a久久精品综合| 国产成人在线免费| 99r精品视频| 欧美日韩一区二区三区在线看| 91网站最新地址| 欧美精品一区二区三区四区 | 麻豆91在线观看| 国产精品亚洲成人| 色网综合在线观看| 日韩欧美国产高清| 亚洲精品菠萝久久久久久久| 久久精品国产精品亚洲精品| 99re66热这里只有精品3直播| 欧美日韩一区不卡| 久久久精品欧美丰满| 一区二区三区欧美激情| 老司机免费视频一区二区| 99久久精品情趣| 欧美成人r级一区二区三区| 亚洲美女偷拍久久| 国产乱子轮精品视频| 欧美视频在线播放| 亚洲国产成人自拍| 久久超碰97人人做人人爱| 日本韩国欧美国产| 国产欧美视频一区二区三区| 日韩 欧美一区二区三区| 91香蕉国产在线观看软件| 精品粉嫩超白一线天av| 日日骚欧美日韩| www.成人网.com| 精品国产一区二区三区av性色| 亚洲综合激情另类小说区| 国产福利一区二区三区| 日韩午夜在线影院| 一区二区免费在线播放| 成人做爰69片免费看网站| 欧美不卡在线视频| 三级欧美韩日大片在线看| 91福利国产精品| 亚洲视频一二区| 国产91在线观看丝袜| 久久久精品免费免费| 蜜桃久久久久久| 欧美一级夜夜爽| 亚洲大片免费看| 欧美午夜精品久久久久久超碰| 日韩毛片高清在线播放| 成人综合婷婷国产精品久久蜜臀| 26uuu欧美| 国产一区二区三区最好精华液| 日韩视频免费观看高清完整版| 秋霞国产午夜精品免费视频| 欧美久久一二三四区| 亚洲电影一级黄| 欧美视频一区在线| 亚洲成a天堂v人片| 欧美美女黄视频| 日本福利一区二区| 久久av老司机精品网站导航| 日韩欧美亚洲国产精品字幕久久久| 亚洲国产aⅴ成人精品无吗| 欧美日韩国产bt| 国产不卡在线播放| 亚洲国产精品一区二区久久 | 国产成人亚洲精品狼色在线| 久久久久久99精品| 在线精品视频一区二区三四| 裸体健美xxxx欧美裸体表演| 国产欧美一区二区精品仙草咪| 色婷婷久久综合| 国产精品系列在线播放| 亚洲综合免费观看高清完整版在线 | 亚洲品质自拍视频| 国产伦精品一区二区三区在线观看 | 欧美图区在线视频| 国产精品妹子av| 国产美女一区二区三区| 日本一区中文字幕| 日韩精品一区二区三区四区视频| 久久精工是国产品牌吗| 久久久久久久久久看片| 高清不卡一区二区| 亚洲女同ⅹxx女同tv| 欧美精品久久久久久久久老牛影院| 五月综合激情网| 久久这里都是精品| 99久久国产综合精品女不卡| 亚洲一区二区三区视频在线播放| 欧美日韩国产影片| 26uuu欧美| 久久久777精品电影网影网| 久久久午夜精品| 欧美激情综合五月色丁香|