?? tips.txt
字號:
讀取{時的動作
所以要區(qū)分對待 state init proc switch if sf elseif elsesf else
state init proc {}只處理作用域
單個if
if if寫1 set 3
< 表達式寫 3
id1 表達式寫 3
id2 表達式寫 3
result g11 g12 {寫 3
g11: {寫 3 //compiler 讀到{ 寫g11 ,換行寫ICRM 同時 int_k++ stirng_k++
ICRM {寫 3 //ivr讀到這個標(biāo)記動作是 int_k++ stirng_k++
..........
DCRM }寫 3 //compile 讀到 } 寫DCRM 換行寫g12 ;ivr讀到這里 int_k--,string_k--同時所有的都出堆
g12 }寫 3
} set 1
一個if一個else
if // 1 if set 3
< // 表達式寫 3
id1 // 表達式寫 3
id2 //表達式寫 3
result g11 g12 // {寫 3
g11: { 寫 3 //compiler 讀到{ 寫g11 ,換行寫ICRM 同時 int_k++ stirng_k++
ICRM { 寫 3 //ivr讀到這個標(biāo)記動作是 int_k++ stirng_k++
..........
DCRM } 寫 3//compile 讀到 } 寫DCRM 換行寫g12 ;ivr讀到這里 int_k--,string_k--同時所有的都出堆
g12 } 寫 set 1
else result go13 else 寫 set 5//compile讀到else else 函數(shù)寫 else result go13 ,IVR到這里判斷 result =1 就轉(zhuǎn)到go13,=0就goon
ICRM { 寫 5// compile 讀到{ 寫ICRM
DCRM } 寫 5 //compioe讀到} 寫DCRM 同時換行寫g13
g13 } 寫 set 1
一個if 一個elseif一個else
if
<
id1
id2
result g11 g12
g11: //compiler 讀到{ 寫g11 ,換行寫ICRM 同時 int_k++ stirng_k++
ICRM //ivr讀到這個標(biāo)記動作是 int_k++ stirng_k++
..........
DCRM//compile 讀到 } 寫DCRM 換行寫g12 ;ivr讀到這里 int_k--,string_k--同時所有的都出堆
g12
elseif result go13 //compile讀到elseif elseif 函數(shù)寫 elseif result go13 ,IVR到這里判斷 result =1 就轉(zhuǎn)到go13,=0就goon
ICRM // compile 讀到{ 寫ICRM
DCRM //compioe讀到} 寫DCRM 同時換行寫g13
g13
else result go14//compile讀到else else 函數(shù)寫 else result go14 ,IVR到這里判斷 result =1 就轉(zhuǎn)到go13,=0就goon
ICRM // compile 讀到{ 寫ICRM
DCRM //compioe讀到} 寫DCRM 同時換行寫g14
go14
go** 分配原則
go10001 開始
gossss = 10000
switch(ds)
{
case "a":
break;
case "b":
break;
default:
break;
}
讀到switch :inboolresult(current_bool_result) set current_bool_result = 6 set ds ,get switchendgo
case ds ,a // case xie set current_bool_result = 8
result g11 g12
g11
goto switchendgo //break xie
g12
case ds,b
result g13 g14
go13
goto switchendgo
go14
default default
....
goto switchendgo //break xie
switchendgo //} xie
beginsection / endsection
sectionflag = 1;
sectionk = 0;
{ sectionk ++ = 1
} sectionk -- = 0 // 如果sectionflag = 1 ,sectionk 減1后小于0 就可以打印 不匹配的beginsection了
這樣可以解決如下問題
sql = "select count(*) from t_rengongserver where station = 1 " ;
sqlselect(connid,sql);
string ret = getfieldvalue(0);
sf(ret>"0")
{
beginsection();
sql = "select id,linenum,operatorid from t_rengongserver where servicetime in (select min(servicetime) from t_rengongserver where station = 1) " ;
sqlselect(connid,sql);
id = getfieldvalue(0);
linenum = getfieldvalue(1);
operatorid = getfieldvalue(2);
sql = "select id,yewu from t_yewu where caller ='" + $sys_caller + "'" ;
sqlselect(connid,sql);
servicetypeid = getfieldvalue(0);
yewu = getfieldvalue(1);
sql = "update t_rengongserver set station = 2,caller = '"
+ $sys_caller
+ "',servicetype = '"
+ yewu
+ "',state = '忙碌' ,servicetime = getdate() where id = " + id ;
sqlcommand(connid,sql);
goto m_beginjump;
}
else
{
endsection();
goto m_agentbusy;
}
讀到beginsection時候 sectionflag 必須=0;否則就打印qiantao定義
讀到endsection時候 sectionflag 必須=1 sectionk必須=0 否則就打印不匹配錯誤
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -