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

📄 debitcard-multi-lang-cisco.1.1.0.2.tcl

📁 DIgent bsp code system
💻 TCL
📖 第 1 页 / 共 3 页
字号:
    global state    global retryCnt    global selectCnt    global prefix    global wrongLanguage    global param5    global param2    global param1    global prefix1    global totalLang    if {$totalLang == 1} {    # If only one language play welcome and return        set ev [playPrompt param1 info [set prefix]_welcome.au]        set state do_get_card_number        return 0    } else {    # Build language promp string based on totalLang        for {set i 1} {$i <= $totalLang} {incr i} {           setVariable language $i           set prefix [getVariable local language]           lappend lang_prompt "%s1000" "[set prefix]_lang_sel[set i].au"	}   }   # set primary language and location for welcome prompt    setVariable language 1    set prefix [getVariable local language]    set param5(maxDigits) 1    if {$selectCnt == 0} {	set ev [eval [list playPrompt param5 info [set prefix]_welcome.au] $lang_prompt]    } else {        if {$wrongLanguage == 1} {	   set ev [eval [list playPrompt param5 info [set prefix]_wrong_lang_sel.au] $lang_prompt]        } else {	   set ev [eval [list playPrompt param5 info [set prefix]_no_lang_sel.au] $lang_prompt]        }    }    switch -regexp $ev {        {collect success} {set lang $info(digits)	                   set langSel [setVariable language $lang]	                   switch -regexp $langSel {			       {language not specified in configuration} -			       {language not supported} {incr selectCnt                                                        set wrongLanguage 1                                                        if {$selectCnt < $retryCnt} {                                                            set state do_select_language							} else {                                                            set ev [playPrompt param2 info [set prefix1]_generic_final.au]                                                            set state end							}			      }			       default {setVariable language $lang                                        set prefix [getVariable local language]                                        set state do_get_card_number			      }			   }	}        {collect fail}    -        {collect timeout} {incr selectCnt                           if {$selectCnt < $retryCnt} {                               set wrongLanguage 0                               set state do_select_language                           } else {                               set ev [playPrompt param2 info [set prefix1]_generic_final.au]                               set state end                           }	}	default {set state end}    }    return 0}proc do_get_card_number {} {    global state    global account    global pin    global promptFlag    global count    global accountLen    global pinLen    global retryCnt    global prefix    global param1    global param2    set cardLen [expr $accountLen + $pinLen]    set param1(maxDigits) $cardLen    if {$count == 0} {      set ev [playPrompt param1 info [set prefix]_enter_card_num.au]    } else {       switch -regexp $promptFlag {	   {1} {set ev [playPrompt param1 info [set prefix]_invalid_digits.au]}	   {2} {set ev [playPrompt param1 info [set prefix]_auth_fail.au]}	   {3} {set ev [playPrompt param1 info [set prefix]_no_card_entered.au]}       }    }    switch -regexp $ev {	{collect success} {set number $info(digits)                          set numberlen [string length $number]                          if {$numberlen == $cardLen} {                              set account [ string range $number 0 [expr $accountLen -1]]                              set pin [ string range $number $accountLen [expr $cardLen -1]]                              set state do_first_authorize                          } else {                              incr count                              set promptFlag 1                              if {$count < $retryCnt} {                                  set state do_get_card_number                              } else {                          # no more tries                                 set ev [playPrompt param2 info [set prefix]_final.au]                                 set state end			     }			  }	}	{collect aborted} {set state do_get_card_number}	{collect fail}    -	{collect timeout} {incr count                          set promptFlag 3                          if {$count < $retryCnt} {                              set state do_get_card_number                          } else {                              set ev [playPrompt param2 info [set prefix]_final.au]                              set state end			  }       }	default {set state end}    }    return 0}proc do_first_authorize {} {    global state    global pin    global account    global count    global retryCnt    global promptFlag    global prefix    global param2    global amt    global returncode    set ev [authorize $account $pin "" [ani] info]    set returncode [getVariable radius returnCode]    switch -regexp $ev {	{authorized} {set amt [getVariable radius creditAmount]                      set state do_get_dest	}        {authorization failed} {incr count                                set promptFlag 2	                       if {$returncode == "Uknown variable name"} {                                   set ev [playPrompt param2 info [set prefix]_no_aaa.au]                                   set state end                                   return 0			       }                               if { $count < $retryCnt } {                                    set state do_get_card_number			       } else {                                    set state do_first_authorize_fail			       }	}	default {set state end}    }    return 0}proc do_get_dest {} {    global state    global destination    global fcnt    global retryCnt    global promptFlag2    global prefix    global pound    global destBusy    global param3    global amt    global prompt    global len    global newlist    global gender    global numbers# Will need to move this and handle better      if {$fcnt == 0} {        if {$amt == 0} {            set ev [playPrompt param3 info [set prefix]_zero_bal.au]            set state end        } elseif {$amt > 999999.99} {            set ev [playPrompt param3 info [set prefix]_invalid_amt.au [set prefix]_dollars.au %s1000 [set prefix]_enter_dest.au]        } elseif {$pound == 1} {            set pound 0            set ev [playPrompt param3 info [set prefix]_disconnect.au [set prefix]_enter_dest.au]        } elseif {$destBusy == 1} {             set destBusy 0             set ev [playPrompt param3 info [set prefix]_dest_busy.au]        } else {            switch -regexp $prefix {		{th} -		{ca} {set newlist [split $amt .]                      do_whole_part                      if {[lindex $newlist 0] >= 1 } {	                  lappend prompt "[set prefix]_dollars.au"		      }                      do_decimal_part                      if {[lindex $newlist 1] >= 1 } {	                  lappend prompt "[set prefix]_cents.au"		      }                      puts "\t\t**** playPrompt param3 info [set prefix]_you_have.au $prompt [set prefix]_enter_dest.au"	              set ev [eval [list playPrompt param3 info [set prefix]_you_have.au] $prompt [list %s1000 [set prefix]_enter_dest.au]]		}		{ru} {set newlist [split $amt .]                      set gender m                      do_whole_part                      if {$len == 1 } {                          switch -regexp $numbers(tens) {			      {0} { }			      {1} {lappend prompt "[set prefix]_dollar.au"}			      {[2-4]} {lappend prompt "[set prefix]_2-4_dollars.au"}			      {[5-9]} {lappend prompt "[set prefix]_5-20_dollars.au"}			  }		      } else {                          switch -regexp $numbers(tens) {			      {[0-9]*[0|2-9][2-4]} {lappend prompt "[set prefix]_2-4_dollars.au"}			      {[0-9]*[2-9][1]}     {lappend prompt "[set prefix]_dollar.au"}		              default              {lappend prompt "[set prefix]_5-20_dollars.au"}			  }		      }	              set gender f                      do_decimal_part                      if {[string length [lindex $newlist 1]] == 1} {                          switch -regexp [lindex $newlist 1] {			      {0}     { }			      default {lappend prompt "[set prefix]_5-20_cents.au"}			  }		      } else {		          switch -regexp [lindex $newlist 1] {			      {00}           { }			      {[0|2-9][1]}   {lappend prompt "[set prefix]_cent.au"}			      {[0|2-9][2-4]} {lappend prompt "[set prefix]_2-4_cents.au"}			      default        {lappend prompt "[set prefix]_5-20_cents.au"}		          }		      }	              puts "\t\t**** playPrompt param3 info [set prefix]_you_have.au $prompt [set prefix]_enter_dest.au"	              set ev [eval [list playPrompt param3 info [set prefix]_you_have.au] $prompt [list %s1000 [set prefix]_enter_dest.au]]		}		{ja} {set newlist [split $amt .]                      do_whole_part                      if {[lindex $newlist 0] >= 1 } {	                  lappend prompt "[set prefix]_dollars.au"		      }#                      puts "\t\t**** playPrompt param3 info [set prefix]_you_have_money.au $prompt [set prefix]_des.au [set prefix]_enter_dest.au"	              set ev [eval [list playPrompt param3 info [set prefix]_you_have_money.au] $prompt [list %s1000 [set prefix]_des.au] [set prefix]_enter_dest.au]                 }                 default {set ev [playPrompt param3 info [set prefix]_you_have.au %a$amt %s1000 [set prefix]_enter_dest.au]}            }        }     } else {	switch -regexp $promptFlag2 {	    {1} {set ev [playPrompt param3 info [set prefix]_reenter_dest.au]}	    {2} {set ev [playPrompt param3 info [set prefix]_author_fail.au]}	    {3} {set ev [playPrompt param3 info [set prefix]_no_dest_entered.au]}	}    }    switch -regexp $ev {	{collect success} {set destination $info(digits)                           set state do_second_authorize	}	{collect aborted} {set state do_get_dest}	{collect fail}    {incr fcnt                          set promptFlag2 1                          if {$fcnt < $retryCnt} {                              set state do_get_dest                          } else {                              set state do_collect_fail			  }	}	{collect timeout} {incr fcnt                           set promptFlag2 3                           if {$fcnt < $retryCnt} {                               set state do_get_dest			   } else {                               set state do_collect_fail			   }	}        default {set state end}    }    return 0}proc do_creditTime_prompt {} {    global creditTime    global prefix    global param2    global len    global prompt    global newlist    global numbers    global gender # Convert creditTime to hours, minutes and seconds       set prompt ""       set hours [expr { $creditTime / 3600 }]       set minutes [expr {int([expr { $creditTime % 3600} / 60])}]       set seconds [expr { $creditTime % 60}]       if {[string length $minutes] == 1 } {           set minutes 0$minutes       }       set newlist [list $hours $minutes]# Gender is used to determine correct word structure in Russian prompt building       set gender m       do_whole_part       switch $prefix {	   {th} -	   {ca} {if {[lindex $newlist 0] >= 1 } {	             lappend prompt "[set prefix]_hours.au"	         }           }	   {ru} {if {$len == 1 } {                     switch -regexp $numbers(tens) {			 {0} { }			 {1} {lappend prompt "[set prefix]_hour.au"}			 {[2-4]} {lappend prompt "[set prefix]_2-4_hours.au"}			 {[5-9]} {lappend prompt "[set prefix]_5-20_hours.au"}		     }	         } else {                     switch -regexp $numbers(tens) {			 {[0-9]*[0|2-9][2-4]} {lappend prompt "[set prefix]_2-4_hours.au"}			 {[0-9]*[2-9][1]}     {lappend prompt "[set prefix]_hour.au"}		         default              {lappend prompt "[set prefix]_5-20_hours.au"}		     }		 }	   }	   default {if {[lindex $newlist 0] == 1 } {	                lappend prompt "[set prefix]_hour.au"	            } elseif {[lindex $newlist 0] > 1 } {	                lappend prompt "[set prefix]_hours.au"	            }	   }       }      set list_index_1 [lindex $newlist 1]  # Do the decimal translation to build prompt for minutes      switch -regexp $prefix {	  {th} -	  {ca} {do_decimal_part                if {[lindex $newlist 1] >= 1 } {	            lappend prompt "[set prefix]_minutes.au"	        }                puts "\t\t*** playPrompt param2 info [set prefix]_you_have.au $prompt"                set ev [eval [list playPrompt param2 info [set prefix]_you_have.au] $prompt]	  }	  {ja} {set seperate [split $list_index_1 ""]                switch -regexp $list_index_1 {		     {00}    { }		     {01}    {lappend prompt "[set prefix]_and.au" "[set prefix]_ippun.au"}		     {03}    {lappend prompt "[set prefix]_and.au" "[set prefix]_san_pun.au"}		     {04}    {lappend prompt "[set prefix]_and.au" "[set prefix]_yon_pun.au"}		     {06}    {lappend prompt "[set prefix]_and.au" "[set prefix]_roppun.au"}		     {08}    {lappend prompt "[set prefix]_and.au" "[set prefix]_ha_ppun.au"}		     {[0][2|5|7|9]}  {lappend prompt "[set prefix]_and.au" "[set prefix]_[lindex $seperate 1].au" "[set prefix]_minutes.au"}                     default     {lappend prompt "[set prefix]_$list_index_1.au" "[set prefix]_minutes.au"}		 }                puts "\t\t*** playPrompt param2 info [set prefix]_you_have_time.au $prompt [set prefix]_des.au"                set ev [eval [list playPrompt param2 info [set prefix]_you_have_time.au] $prompt [set prefix]_des.au]           }           {ru} {set gender f                 do_decimal_part                 if {[string length [lindex $newlist 1]] == 1} {                     switch -regexp [lindex $newlist 1] {			 {0}     { }			 default {lappend prompt "[set prefix]_5-20_minutes.au"}		     }		 } else {

⌨️ 快捷键说明

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