伺服器腳本二次開發
『壹』 Centos 5.4 伺服器提權,用5.5的提權腳本成功後第二次使用腳本時卻出現這個錯誤
你的/tmp目錄下有了一個文件exploit
而你的腳本預期是要建一個目錄exploit.因為文件的存在創建目錄沒有成功
從而引發了下面其它的錯誤.
先刪除文件/tmp/exploit
然後重新執行你的腳本.
『貳』 什麼是伺服器端腳本程序
把一些腳本寫到一個ASP或者其他的編程語言(如jsp,php,asp.net等)網頁里,伺服器腳本在伺服器上運行,可能會完成一些讀寫資料庫的任務或生成一些html代碼,然後把這些代碼加上原來的ASP文件里已有html代碼,再加上ASP文件里已有客戶端腳本,一起發送到客戶端瀏覽者的機器上,此時客戶端腳本就會在客戶端運行了
『叄』 catia二次開發用的是什麼語言
catia二次開發用的語言如下:
1、VBScript
VBScript腳本是CATIA的默認腳本語言,其腳本可以單獨存儲為文件或零件文檔。
2、CATScript
CATScript腳本是一種特定的腳本語言,旨在實現Unix系統和Windows系統腳本之間的兼容性。 但是從CATIA V5R7開始,此腳本的使用頻率降低了。 該腳本的存儲方式與VBScript相同,後綴為.CATScript。
CATScript和VBScript是最簡單的腳本應用程序方法,為一些簡單設計提供了一種便捷的方法。
3、VBA
VBA腳本是Visual Basic for Application,提供了所有VB語言和圖形界面功能,但是無法編譯。 後綴為.catvba。
4、VB
在VB編程中CAB的二次開發過程中,可以通過記錄宏腳本來復制所需的內容,然後根據VB語言要求進行適當的修改以提高編程效率。

(3)伺服器腳本二次開發擴展閱讀:
catia的二次開發的目的是為了讓catia的功能更加符合技術人員的使用的便捷性和高效率。
一般支持軟體二次開發的原軟體系統都提供相應的SDK(Software develop kit)。二次開發人員可以根據SDK中提供的公開的API(應用程序介面)來訪問軟體原有的一些基本功能,並要據這些基本功能組合,擴展進而形成更加專業或新的功能以完成用戶特殊的需求。
對已有軟體產品的功能進行擴充或根據特殊需要組合擴展功能等,就是軟體的二次開發。
『肆』 金蝶eas套打不能正常進行
問題描述
。
解決方法
分析處理:檢查以下路徑:
easServerserverlibcommontrd火炬之光 控制台,easserverdeployweb-inflib金山打字2003下載,
easserverdeployWEB-INFlib
easserverlibcommontrd下,其他路徑下面的wsdl*.jar均刪除黃瓜生活社區。
如果是websphere伺服器的話,需要重新部署。
2大白菜官網.3打開IP:埠/ormrpc/webservice報錯
問題描述
AXISerror
Sorry,somethingseemstohavegonewrong.蘋果手機搜狗輸入法..herearethedetails:
Hint:youmayneedtoyourclassfiles/treeintotherightlocation(whichdependson
theservletsystemyouareusing)office辦公軟體學習.;nestedexceptionis:
AxisFault
faultSubcode:
。
解決方法
打上製造補丁PT051530這個問題的原因是打了補丁pt050586以後網路盤登陸,在配置文件中添加了製造
的PDM介面服務調用evpn,但是又沒有打製造的補丁,所以介面找不到新華雲盤。
有兩個解決方案:
方案1.打製造的補丁PT051530,其的依賴補丁是PT050586和PT051017。
方案2.手動修改配置文件。打開目錄easserverdeploy下的文件,找到WEB-INF
下面的和文件,然後刪掉
文件,同時,去掉
中的servicename=「WSPDMImportFacade「的service節點(注意是整個節點xp sp3補丁,不是單獨的
一行)suse linux 下載。
2一招解決arp攻擊.4後台事務調用webservice異常
問題描述
後台事務調用webservice異常
。
解決方法
分析處理步驟,檢查以下路徑:
1、請檢查是否部署有重復的以及wsdl4j為命名前綴的包:
目錄easServerserverlibcommontrd與目錄
easServerserverdeployWEB-INFlib,
刪除easserverdeployWEB-INFlib下的以及wsdl4j為命名前綴的包;
2、刪除這個文件夾;
3、重啟服務
2網吧管理軟體.5部署到websphere,打開webservice鏈接報錯
問題描述
EAS7.03部署到websphere7.011上後,EAS系統的webservice不能正常使用手機發郵件,打開webservice
鏈接報錯。
解決方法
1、請檢查是否部署有重復的包:
目錄easServerserverlibcommontrd與目錄
easServerserverdeployWEB-INFlib
2為什麼網路打不開.6webservice串數據中心問題
問題描述
使用同一個伺服器vstart是什麼,有多個數據中心,使用webservice登陸的時候ie8修復,會登陸到非登陸介面指
定的數據中心ibinder。
解決方法
對於同一個應用不同數據中心,導入數據串帳套問題,需要啟用參數isRomoteLocate=false(實
例下*(1~n)configties)對了,修改參數
後為什麼msn登陸不了,webservice調用端需要把登錄返回的session傳過去,java調用示例如下二級緩存,其它語言調用
參考
EASLoginProxyproxy=null;
WSContextcontext=null;
try{
//登錄
proxy=().getEASLogin();
context=("kdjgf",""visual foxpro下載,"eas"swf格式用什麼打開,"zs70sp5"拍大師怎麼用,"l2"wgl,1);
//具體業務調用
String[][]vouchers=null;
=null;
proxyWS=().getWSGLWebServiceFacade();
//設置登錄返回的session在soap頭
((Stub)proxyWS).setHeader("","SessionId"新浪郵箱打不開,sionId());
vouchers=cher("001","2008"交換機分類,"5"怎麼查別人的ip地址,0,0);
}catch(ServiceExceptione){
tackTrace();
}catch(RemoteExceptione){
tackTrace();
}
2.7webservice二次開發介面無法看到
問題描述
打開IP:埠/ormrpc/webservice,無法看到自己的二次開介面cudnn。
解決方法
1、需檢查介面已正確配置對應到文件騰訊之家。
2、如果確定已配置正確依然無法看到二次開發介面,則可清除下緩存:瀏覽器緩存和
easapusicdomainsserver1~ndeploy下的所有緩存。重啟伺服器
3子系統樹
3.1生成子系統樹出錯
問題描述
生成子系統樹出錯空當接龍怎麼玩。錯誤信息為:
「essmdbview!」會聲會影9教程。
解決方案:
請收集日誌/kingdee_test/eas/admin/logs/並提單反饋
異常堆棧:
解決方法
現場應該是unix或者linux系統打不出漢字怎麼辦,請現場修改eas/jdk目錄許可權華為手機怎麼分屏,改成777(所有用戶可讀、寫、
執行許可權win7配置,包括子目錄及文件)格式工廠軟體下載,如果問題還存在t440s,嘗試修改服務端eas/sever文件夾許可權為
777(包括子目錄和文件)。修改文件夾許可權後,需要重啟伺服器面對面365視頻游戲。
另外一類生成子系統樹有類似錯誤提示的,原因是二次開發部署到伺服器的元數據jar包
包文件損壞(ftp上傳到伺服器環境出錯),建議現場也同樣檢查確認下(如果
現場有部署過該二次開發包的話),確認方法:將伺服器上部署的二次開發包下載到windows
系統本地金山詞霸2006專業版,然後用解壓縮文件打開,如果壓縮包損壞學習電腦的基礎知識,會有異常提示win10正式版密鑰,正常打開則沒有問題。
3.2編碼規則子系統樹問題
問題描述
編碼規則子系統樹問題
看不到二次開發的內容優盤殺毒軟體,或者行業的內容。
解決方法
實體上缺少codingRuleEnabled擴展屬性
只有存在此擴展屬性並且值為true的實體才會進入到編碼規則子系統樹
3.3二次開發的目錄在子系統樹中沒有正確顯示
問題描述
二次開發的目錄在子系統樹中沒有正確顯示的問題c語言小程序。
解決方法
對於二次開發的目錄在子系統樹中沒有正確顯示的問題:
1、保證伺服器目錄eas/servser/properties/下的文件subsystem_文件中有二次開發的路
徑;
2、保證伺服器元數據目錄eas/server/metas以及
目錄下的所有元數據包中只有一份*.mdbview
文件,且存在與metas/bos/中,其他jar中的*3dmax9序列號.mdbview文件如果存在,建議
將其刪除;(具體方法:可以使用winrar工具查找功能,在metas目錄下搜索*.mdbview文件)
3、如果伺服器目錄下存在*.mdbview文件(如果目
錄不存在什麼是gprs,則此步驟忽略),建議確認是否有人在「系統平台-參數配置-子系統樹管理」裡面
有修改過子系統樹配置?如果不確定139郵箱登陸,可以現將該目錄下的mdbview文件奇幻變臉秀下載,備份至其他目錄c盤打不開,
此目錄下文件都清空。
4、重新生成子系統樹
子系統樹詳細知識torrentkitty網址,請mykingdee-isolution中搜索下載《金蝶BOS子系統樹指引》聊天記錄文件。
3電驢下載器.4參數樹中找不到庫存管理節點
問題描述
參數子系統樹找不到庫存管理節點,導致庫存管理下的參數也不能使用。
解決方法
路徑嚴格為:供應鏈管理-庫存管理-批次管理,且庫存管理屬性應為
如果該目錄在子系統樹中沒有正確顯示的問題:
1、保證伺服器目錄eas/servser/properties/下的文件subsystem_或subsystem_中
有該節點且設置正確網路播放器官方下載。
2、保證伺服器元數據目錄eas/server/metas以及
目錄下的所有元數據包中只有一份*google地球.mdbview
文件sata硬碟,且存在與
metas/bos/中,其他jar中的*進程隱藏器.mdbview文件如果存在oraclenumber,建議將其刪除;(具
體方法:可以使用winrar工具查找功能,在metas目錄下搜索*電信wifi登陸頁面.mdbview文件)
3、如果伺服器目錄下存在*google地球無法連接驗證伺服器.mdbview文件ip地址庫,建議確
認是否有人在「系統平台-參數配置-子系統樹管理」裡面有修改過子系統樹配
置?如果不確定改圖片大小,可以現將該目錄下的mdbview文件耳機沒聲音怎麼設置,備份至其他目錄怎麼申請華為鴻蒙系統,此目錄下文件都清
空華為手機地震預警在哪裡打開。
4、停止伺服器,在控制台重新生成子系統樹遠程桌面服務。
4DEP
4.1無法引入房地產模塊單據
問題描述
引入房地產模塊單據時,系統提示不支持動態擴展qq空間密碼破解。
解決方法
更新房地產白名單補充補丁:PT090056
適用版本
750
4nestopia模擬器.2DEP添加的枚舉欄位無法找到
問題描述
在DEP方案中添加了一個枚舉,但是在添加枚舉欄位時,無法選到這個枚舉。
解決方法
DEP新添加的枚舉欄位默認是放在用戶自定義的枚舉子系統目錄下鴻蒙升級計劃,找不到新增枚舉欄位的
原因為現場修改了枚舉子系統樹missing operating system,使得用戶自定義目錄發生了改變,因而無法選到vs2022。
適用版本
750
4.3更新框架補丁後,DEP無法使用
問題描述
在更新了較新的框架補丁後win8應用商店打不開,DEP平台無法使用,不起作用惠普筆記本屏幕閃爍。
解決方法
引起問題的原因為框架過新閃迪u盤修復工具,而DEP版本過舊qq郵箱無法下載附件,導致DEP不受框架支持matlab 曲線擬合,一般更新DEP新
補丁就能解決問題dialoginterface。
4.4BOS開發的單據,導入DEP提示不支持動態擴展
問題描述
BOS開發的單據,在導入DEP時系統提示不支持動態擴展電腦當無線路由器。
解決方法
對於客戶BOS二次開發的單據,如果是在用戶自定義目錄下創建批處理命令,則默認是可以導入DEP的。
如果不是在該目錄下,需要手動將其添加到白名單列表furmark教程,參考以下添加物料到白名單:
註:修改該文件時需使用文本編輯器,保存格式需為UTF-8無boom格式馬賽克去除工具。
4.5個性化事件不生效
問題描述
在動態擴展憑證高級版中,新增了采購入庫單的一個個性化方案,但是啟用後,方案中欄位
的事件沒有生效快播永不升級4 4版。
解決方法
更新DEP補丁:pt093582
適用版本
750
4.6DEP個性化布局方案分配時看不到組織架構
問題描述
DEP個性化布局方案分配時看不到組織架構,只能看到最頂上的組織集團,下面的組織都看
不到。
解決方法
沒給該用戶維護組織范圍導致,維護組織范圍後問題解決搜狗音樂盒下載。
適用版本
750
4金山衛士手機版.7DEP進行F7欄位的復雜過濾腳本
問題描述
想在DEP中進行F7欄位的較復雜過濾,DEP現有F7過濾功能只能進行簡單的過濾,不知道
有什麼方法進行較復雜的過濾。
解決方法
可在界面的onload擴展點後置腳本中添加過濾開機密碼忘記,參考實現:
//本例子中過濾為過濾屬於當前財務組織的F7對象
vareasImporter=JavaImporter();
with(easImporter){
varprmtAssist=izPromptBox("prmtassist");//獲取F7控制項
varfilterInfo=newFilterInfo();
varentityViewInfo=newEntityViewInfo();
//獲取當前財務組織
varcompany=ontext().get("sysContext").getCurrentFIUnit();
//按財務組織過濾,為F7欄位中對應的組織id屬性outlook不能發郵件,("Id")為當前財務組織
的id,為比較方式-這里為相等。意思為過濾組織id屬性和當前財務組
織id相等的F7對象
terItems()魔獸爭霸修改器.add(newFilterItemInfo(""找回qq號碼,("Id")vcruntime140 dll,
));
ter(filterInfo);
ityViewInfo(entityViewInfo);
}
4.8DEP添加的分錄照片美化,新增分錄為空時保存報錯
問題描述
DEP添加的分錄計算機病毒的分類,新建單據時,如果DEP添加的分錄為空如何下載access2003,保存時會報錯空指針錯誤onmouseover。
解決方法
框架問題怎麼刪除ie瀏覽器,更新框架補丁:PT096452以及PT097503補丁解決電腦自動關機怎麼辦。
4網頁圖片顯示紅叉.9DEP新增欄位無法保存問題
問題描述
在DEP中增加了一個F7欄位時間同步軟體,保存後再打開,發現該欄位依然為空。
解決方法
一般是由於DEP與單據的契合問題引起宏傑文件夾加密軟體,如果該問題沒有再實驗環境重現觸手錄官網,可更新業務模塊
最新補丁和DEP最新補丁解決。
適用版本
所有版本
4.10通過dep實現不同審批節點顯示不同審批界面
問題描述
通過dep實現不同審批節點顯示不同審批界面getelementbyid。
解決方法
實現方法如下:
在DEP中對該單據界面建立個性化頁面布局,設置欄位的可見或者必錄屬性。然後啟動該方
案,如下:
在工作流中調用即可
適用版本
所有版本
4.11DEP開發分錄腳本
問題描述
DEP中增加了一個分錄未能恢復iphone發生未知錯誤3194,使用腳本addrow新增一行會報錯手機如何掃描二維碼。
解決方法
因為DEP新增的分錄沒有對應的類autocad2010免費版,所以無法像標准產品一樣使用addrow方法。
正確方法為:
//為DEP添加的分錄新增一行
able("entryy")大頓號.getParent().getParent().actionAddnewLine_actionPerformed(null);
//獲取分錄新增,移除等表頭控制項
able("entryy").getParent()
適用版本
所有版本
4qq空間顯示不正常.12DEP下的大量bizconfig方案
問題描述
DEP下含有大量的bizconfig方案,無法刪除。
解決方法
該方案為舊版本界面配置工具升級上來的方案ps復制圖層快捷鍵。刪除方法為:
1w7.左樹的數據來源於T_EP_CustomizedUnit這張表。這張表是T_EP_CustomizedScheme的一
個子表。持有T_EP_CustomizedScheme的主鍵。當主表的數據刪了而子表的數據還在的時候
就會導致這種臟數據的產生visio2007軟體下載。
2.先做好T_EP_CustomizedUnit這張表的備份:select*intoT_EP_CustomizedUnit_bakfrom
T_EP_CustomizedUnitubuntu 11 04。
查詢一下有沒有數據:select*fromT_EP_CustomizedUnit_bak
3.刪除臟數據:deletefromT_EP__L2like
'bizconfig%,具體刪除條件。視動態擴展平台左樹臟數據上的節點名稱而定。
*fromt_fw_commonlistener
該表只有一條記錄,將FENDBLE欄位設為0聯想筆記本 投影儀.
適用版本
所有版本
4fastmsg.13通過dep實現不同審批節點顯示不同審批界面
問題描述
通過dep實現不同審批節點顯示不同審批界面。
解決方法
實現方法如下:
在DEP中對該單據界面建立個性化頁面布局,設置欄位的可見或者必錄屬性qq聊天背景。然後啟動該方
案,如下:
在工作流中調用即可
適用版本
所有版本
4微信好友恢復.14修改DEP添加欄位的小數位
問題描述
DEP新增欄位時可以設置欄位的長度和小數位數,此後就無法直接修改如何創建apple id。
解決方法
將方案導出來,解壓縮,在T_CON_DYNAMICMETADATA文件夾里,裡面有一個XML文
件和若干segment文件,通過這個XML文件可以知道實體(Entity)和界面(EditUI),還有table
分別是對應哪個segement電腦怎麼備份系統,用nodepad++打開對應的segement文件寶寶取名軟體 破解,查找到該動態欄位incaseformat病毒,該字
段會有如下如下配置:precisio,lengh等ie10插件,都修改保存。然後將這三個segment替換到方案中遠程傳輸,
備份好原來的方案雙核和四核有什麼區別,然後刪掉微軟驗證,把新方案導入。
適用版本
所有版本
4.15dep新增欄位的中英文切換
問題描述
對於多語言版本,DEP新增的欄位是無法被直接翻譯且進行中、英文切換的目錄生成。這時需要我們
編寫腳本去實現。
解決方法
//這里"contNBA"為標准產品裡面的一個欄位usp10 dll專殺工具,根據該欄位在中英文狀態下的不同標簽名稱進
行對新增欄位的變動shsh備份教程。
//例如該參照欄位英文狀態下名稱為「A」,中文狀態下名稱為"啊"ghost備份,我們新增的目標欄位想
要設的效果為英文狀態下名稱為「o」,中文狀態下名稱為"哦"
//可在編輯界面的界面載入(onload)添加前置腳本如下腳本如下:
獲取LabelContainer方式:
//這里contNBA換為你的參照欄位
varaa=abelContainer("contNBA").getBoundLabelText();
//通過
if(aa=="A"){
//這里cont換為你的目標欄位
abelContainer("cont").setBoundLabelText("o");
}
if(aa=="啊"){
abelContainer("cont")xbox live.setBoundLabelText("哦");
}
適用版本
所有版本
4microsoft visual foxpro.16DEP後台查詢F7的腳本
問題描述
在DEP中如何通過有限的條件去查詢一個F7對象的完整值winrar 5 0。
解決方法
1怎麼看微信一年總賬單.根據id的通用查詢
izPromptBox("prmtaa").addDataChangeListener(function(e){
varprmtaaInfo=izPromptBox("prmtaa")定時開關機軟體下載.getValue();
if(prmtaaInfo!=null){
if(("currency")!=null){
varcid=("currency").getId()雙絞線的製作方法.toString();
varfkfsOBJ=ue(fkfsOPK);
izPromptBox("prmtcurrency")qq視頻沒有聲音.setValue(fkfsOBJ);
}
}
});
2.調用F7對應遠程解決方法的其它條件查詢
例子:選擇職員後three20,帶出其職務
vareasImporter=JavaImporter();
with(easImporter){
//為職員控制項添加監聽
izPromptBox("prmtperson").addDataChangeListener(function(e){
//獲取職員id
varpid=izPromptBox("prmtperson").getValue()秦殤修改器.get("id").toString();
varfilterInfo=newFilterInfo();
varentityViewInfo=newEntityViewInfo();
terItems()硬碟卡死.add(newFilterItemInfo("person",pid,
));
kString("#0");
ter(filterInfo);
//通過=圖片縮小工具,獲取任職情況
if(()>0){
//創建過濾條件ipad恢復模式,通過=,獲取職位
varposition=(0)u盤數據恢復免費版.get("position")電腦如何一鍵還原.get("id")windows7正版驗證.toString();
varpfilterInfo=newFilterInfo();
varpentityViewInfo=newEntityViewInfo();
terItems()安卓手機充電提示音怎麼改.add(newFilterItemInfo("id"尾行3 操作,position支付寶注銷賬戶,
));
kString("#0");
ter(pfilterInfo);
if(()>0){
varpsid=(0).get("id").toString();
izPromptBox("prmtzwei").setValue((0));
}
}
});
}
適用版本
所有版本
4.17DEP數值計算腳本
問題描述
有些時候我們需要使用腳本進行一些簡單的數值計算綠色股票軟體,但是腳本變數類型只有var且自動轉型
比較欠缺,而我們的UI界面如何下載歌曲,特別是分錄英雄聯盟一直崩潰,或者的數值欄位類型和精度的不一致筆記本內存條安裝,導致直接
進行計算會報錯。這要計算前先進行類型轉換如何使用ghost。
解決方法
able("kdtEntrys").addKDTEditListener(function(event,methodName){
varaa=ormattedTextField("txtsum");
if("equals"==methodName)
{
returnthis==event;
}
else{
varcount=able("kdtEntrys")硬碟安裝win8.getRowCount();
for(vara=0;a<=count-1;a++){
num=able("kdtEntrys").getCell(a,"num").getValue();
}
});
price=able("kdtEntrys").getCell(a怎樣添加背景音樂,"price").getValue();
if(num!=null){
//sum=f(Value()+Value());
sum=Value()+Value();
}
if(price!=null){
//sum=f(Value()+Value());
sum=Value()+Value();
}
//sum=Value()+Value()+Value();
}
ue(sum);
適用版本
所有版本
4冰點還原精靈中文破解版.18DEP設置必錄腳本
問題描述
使用腳本,根據條件,將某個欄位設為必錄。
解決方法
適用版本
所有版本
5應用框架及引擎
5.1過濾條件不完整或者比較值過長
問題描述
查詢時電腦c盤哪些文件可以刪除,明明設置的過濾條件沒問題迅雷登陸不上,但是卻提示「過濾條件不完整或比較值過長,請檢查」。
解決方法
一般來說通用過濾提示「過濾條件不完整或比較值過長」,主要原因有三點ce修改器,一、框架及引擎
補丁過舊如何在網路文庫復制。二怎麼看電腦顯卡配置.伺服器實例出現緩存文件丟失用itunes恢復。三.系統確實存在的元數據問題蘋果無法連接到itunes store怎麼辦。其中補丁過舊
和實例緩存問題占絕大多數。該問題通過更新應用框架最新補丁然後重新部署伺服器實例可
解決埠鏡像。如果現場該問題偶發,則基本可確定為伺服器實例緩存問題交通銀行u盾驅動,只需使用客戶端依次連
單個實例坦克世界打字,測試下哪個實例有問題,然後將該實例重新部署即可初始。
適用版本
所有版本
5chromemac.2右鍵導出excel許可權
問題描述
目前所有的用戶都可以使用單據右鍵導出excelwindows無法連接到system event,需要對此許可權控制筆記本電腦牆紙。
解決方法
右鍵導出excel許可權項默認會對所有的單據右鍵許可權生效,如果要需要對此許可權控制,需要
1.設置系統參數-公共參數「-FrameworkPopupPerm」右鍵菜單導出數據許可權,修改參數值為「是」芒果tv彈幕怎麼打開,
2mac 虛擬機.請檢查用戶分配的「角色」和「許可權」中win10激活工具,是否在「已禁止」中包含導出許可權。最後可以通
過用戶管理界面工具欄「查看許可權」確認許可權是否存在如何偷偷知道對方位置。
許可權項位置:Administrator登陸-用戶管理-分配許可權-EAS系統-應用框架-右鍵菜單。
適用版本
所有版本
5什麼是sd卡.3過濾方案用戶隔離
問題描述
目前用戶可以看到所有用戶的過濾方案且可刪除稞麥綜合視頻下載器,需要對此進行隔離控制伺服器安全狗。
解決方法
如果不想讓用戶看到其它人的個人過濾方案g盤,可取消對應用戶的系統平台-系統工具-系統配
置-過濾方案-過濾方案管理許可權,即為用戶隔離裹裹寄件。
適用版本
所有版本
5voip協議.4標准產品序時簿界面合計數顯示不正確
問題描述
出納管理——收付款單序時簿界面,當按表頭欄位過濾時eventhandler,合計金額顯示正確(圖1)reportingservicesservice exe,但當
按分錄行欄位(如:成本中心、流出預算項目)過濾時酷狗7去廣告,則金額會翻倍(分錄有幾行滿足查
詢條件中的值,就會翻幾倍顯示合計數)。
解決方法
PT099690。
適用版本
8.0
5搜狗瀏覽器皮膚.5提交後自動為新增的狀態,想保存原單據的提交狀態不變
問題描述
我自己二次開發的單據,當我點擊了提交的時候qq好友恢復系統,系統默認為新增的狀態,我就要到列表界
面去找到那條記錄支付寶密碼忘記了怎麼辦,然後在審核桌面的回收站不見了。
我想在點擊了提交網路文檔免積分下載器,然後點擊審核。不需要在找到那個單據。。
解決方法
去掉提交選項的連續新增即可,文件-提交選項。
適用版本
所有版本
『伍』 您好,謝謝為我解答mach3不支持開源,只是支持腳本的部分二次開發
對刀腳本:
'Rem Probe Down by PEU (Based on Erniebro Work)
FeedCurrent =GetOemDRO(818) 'Get the currentsettings
ZCurrent =GetDro(2)
Code "G4P1" 'Pause 1 secondto give time to position probe plate
Code"F100" 'slowfeed rate to 100 MM/MIN
GageH = GetOEMDRO(1002)
Rem Probe Down by PEU (Based On ErniebroWork)
FeedCurrent =GetOemDRO(818) 'Get the currentsettings
ZCurrent =GetOemDro(802)
Code "G4P1" 'Pause 1 secondto give time to position probe plate
Code"F100" 'slowfeed rate to 100 MM/MIN
GageH =GetUserDRO(1152)
ZNew = ZCurrent +20 'probe down 20 mm (這里的正20和負20可以根據實際調整)
Code "G31Z" &ZNew
While IsMoving()
Wend
Call SetDro(2,GageH)
FinalMove = GageH* 1
Code "G0 Z" &FinalMove
Code "G0 Z" &-20(這里的正20和負20可以根據實際調整,數據也可以根據實際來調)
Code "F"&FeedCurrent 'restore starting feed rate dr.lin 2008.8.16
『陸』 AutoCAD二次開發工具有哪些
下面是我找到的資料,希望對你有用。AutoCAD二次開發工具綜述
AutoCAD是目前微機上應用最為廣泛的通用的互動式計算機輔助繪圖與設計軟體包。AutoCAD的強大生命力在於它的通用性、多種工業標准和開放的體系結構。其通用性使得它在機械、電子、航空、輪船、建築、服裝等領域得到了極為廣泛的應用。但是,不同的行業標准使得各領域在使用AutoCAD的過程中均需根據自身特點進行定製或開發。Autodesk公司為滿足廣大用戶的需求,自AutoCAD v2.18版至AutoCAD 2000的短短十幾年間,就相繼推出了三代二次開發工具,如圖1示。可以說,AutoCAD的通用性為其二次開發提供了必要條件,而AutoCAD開放的體系結構則使其二次開發成為可能。
下面對AutoCAD的三代開發工具進行淺析。
一、第一代開發工具——AutoLISP
AutoLISP是1986年隨AutoCAD v2.18提供的二次開發工具。它是一種人工智慧語言,是嵌入AutoCAD內部的COMMON LISP的一個子集。在AutoCAD的二次開發工具中,它是唯一的一種解釋型語言。使用AutoLISP可直接調用幾乎所有的AutoCAD命令。
AutoLISP語言最典型的應用之一是實現參數化繪圖程序設計,包括尺寸驅動程序和滑鼠拖動程序等。另一個典型應用就是驅動AutoCAD提供PDB模塊構成DCL(Dialog Control Language)文件創建自己的對話框。
AutoLISP具有以下優點:(1)語言規則十分簡單,易學易用;(2)直接針對AutoCAD,易於交互;(3)解釋執行,立竿見影。
AutoLISP的缺點是:(1)功能單一,綜合處理能力差;(2)解釋執行,程序運行速度慢;(3)缺乏很好的保護機制,源程序保密性差;(4)LISP用表來描述一切,並不能很好地反映現實世界和過程,跟人的思維方式也不一致;(5)不能直接訪問硬體設備、進行二進制文件的讀寫。
AutoLISP的這些特點,使其僅適合於有能力的終端用戶完成一些自己的開發任務。
二、第二代開發工具——ADS
ADS(AutoCAD Development System)是AutoCAD R11開始支持的一種基於C語言的靈活的開發環境。ADS可直接利用用戶熟悉的C編譯器,將應用程序編譯成可執行文件後在AutoCAD環境下運行,從而既利用了AutoCAD環境的強大功能,又利用了C語言的結構化編程、運行效率高的優勢。
與AutoLISP 相比,ADS優越之處在於:(1)具備錯綜復雜的大規模處理能力;(2)編譯成機器代碼後執行速度快;(3)編譯時可以檢查出程序設計語言的邏輯錯誤;(4)程序源代碼的可讀性好於AutoLISP。 而其不便之處在於:(1)C語言比LISP語言難於掌握和熟練應用;(2)ADS程序的隱藏錯誤往往導致AutoCAD,乃至操作系統的崩潰;(3)需要編譯才能運行,不易見到代碼的效果;(4)同樣功能ADS程序源代碼比AutoLISP代碼長很多。
三、第三代開發工具——Visual LISP,ARX及基於ActiveX Automation技術的VBA等
1.Visual LISP(VLISP)
VLISP是AutoLISP的換代產品。它與AutoLISP完全兼容,並提供它所有的功能,是新一代的AutoCAD LISP語言。VLISP對語言進行了擴展,可以通過Microsoft ActiveX Automation介面與對象交互。同時,通過實現反應器函數,還擴展AutoLISP響應事件的能力。作為開發工具,VLISP提供了一個完整的集成開發環境(IDE),包括編譯器、調試器和其他工具,可以提高二次開發的效率 。另外,VLISP還提供了工具用於發布獨立的應用程序。
2.ARX
ARX(AutoCAD Runtime eXtension)是AutoCAD R13之後推出的一個以C++語言為基礎的面向對象的開發環境和應用程序介面。ARX程序本質上Windows動態連接庫(DLL)程序,與AutoCAD共享地址空間,直接調用AutoCAD的核心函數,可直接訪問AutoCAD資料庫的核心數據結構和代碼,以便能夠在運行期間擴展AutoCAD固有的類及其功能,創建能夠全面享受AutoCAD固有命令特權的新命令。ARX程序與AutoCAD、Windows之間均採用Windows消息傳遞機制直接通訊。
AutoLISP、ADS、ARX都是AutoCAD提供的內嵌式編程語言。AutoLISP和ADS都是通過內部進程通訊(IPC)來和AutoCAD通訊,它們與AutoCAD是相互分離的過程,而ARX以DLL形式與AutoCAD共享地址空間,如圖2示。因此,與前兩者相比,其速度更快、運行更穩定、更簡單。由於是在Windows及VC++編程環境里運行,所以,對開發者的編程能力要求較高。
ObjectARX應用程序以C++為基本開發語言,具有面向對象編程方式的數據可封裝性、可繼承性及多態性的特點,用其開發的CAD軟體具有模塊性好、獨立性強、連接簡單、使用方便、內部功能高效實現以及代碼可重用性強等特點,並且支持MFC基本類庫,能簡潔高效地實現許多復雜功能。
這里順便提一下ADSRX。AutoCAD R14的開發環境ADSRX是ARX的一個子集,它等效於ADS。使用ADSRX,能夠用C語言編寫基於AutoCAD的程序,也能很方便地將ADS程序移植為ARX程序。
圖3比較了AutoLISP、ADS、ADSRX和ARX的關於速度、暴露性、功能和要求使用每個API的編程經驗等方面的編程介面。「暴露性」參數顯示了用戶編程錯誤的可能嚴重性。盡管ARX介面是四個API中最強有力的,它也具有產生嚴重編程錯誤的最大潛在性,如破壞AutoCAD數據結構等。其它編程環境要求較少的編程經驗,但提供的功能和范圍也較小。
可以說,AutoLISP著眼於應用程序的交互性,ADS C/C++著眼於應用程序的綜合性,而ARX則著眼於應用程序的智能性。
3.基於ActiveX Automation技術的VBA等開發工具
ActiveX Automation是一套微軟標准,以前稱為OLE Automation技術。該標准允許通過外顯的對象由一個Windows應用程序控制另一個Windows應用程序,這也是面向對象編程技術的精髓所在。AutoCAD從R14開始增加了作為ActiveX Automation伺服器應用程序的功能,使得許多面向對象編譯語言和應用程序可以通過ActiveX與AutoCAD進行通信,並操縱AutoCAD的許多功能,如圖4示。
ActiveX Automation伺服器應用程序是通過自身對象的屬性、方法、事件外顯其功能。對象是伺服器應用程序的簡單而抽象的代表。不管是用VB、VC、OFFICE VBA等從外部,還是用AutoCAD VBA從內部對AutoCAD進行二次開發,都是通過調用AutoCAD的對象體系結構來進行的。AutoCAD 2000 ActiveX Automation技術將AutoCAD 2000的各種功能封裝在AutoCAD ActiveX對象中,供編程使用。AutoCAD 2000中提供的所有對象組成一個樹形結構,如圖5示,最高層是Application對象,其它對象都是它的後代。為了得到一個特定的對象,必須從Application對象對其子孫進行遍歷,直到找到該特定的對象。
ActiveX Automation技術的完全面向對象化編程的特點,使其開發環境具備了強大的開發能力和簡單易用的優良特點,開發工具的選擇也具有很大的靈活性。所以,利用ActiveX Automation技術,是極具潛力的一種開發手段。
四、結束語
以上對AutoCAD的三代開發工具分別作了簡要介紹。從中可以看出,AutoCAD的二次開發工具真是「長江後浪推前浪,一代更比一代強」。目前,第一代的AutoLISP已能被第三代的VLISP完全替代;第二代的ADS在AutoCAD 2000中已不再支持;所以,第三代開發工具將成為今後AutoCAD二次開發的必然選擇。而在第三代工具中具體選擇哪一種,筆者認為,主要還應根據用戶應用程序的需要和開發人員的編程經驗。
按照筆者的觀點,就目前在AutoCAD 中的狀況而言:
1)Visual LISP
適於描述人機交互操作的過程,善於編寫模擬設計師思路的專業設計程序。對於各種用戶輸入的接收、錯誤識別與恢復等操作具有相當優秀的功能,尤其是善於充分發揮CAGD功能的巨大作用,充分利用交互操作的技巧。相比之下,具有最多樣式的程序運行模式。不同版本的程序,相比之下,具有最好的兼容性,甚至可以直接運行。
這種程序設計可以找到大的資源,包括書籍、程序實例、英特網上的資源和技術交流。
過去AutoLISP 最大的不足是不能編譯,較大的程序包沒有「工程(Project)」的概念,這無疑對較大規模的程序設計造成了困難。而這些現在已經被 VLISP 圓滿解決了,編譯成VLX 的老的AutoLISP 程序,其效率也會比解釋運行條件下提高5~8倍。
2)ADS
曾經是在 AutoLISP 之後的一種程序設計模式,在 R14 之前的AutoLISP 程序雖然是解釋運行,仍比ADS程序快一些,因為實際上ADS是用AutoLISP與AutoCAD交互。從AutoCAD R14起,Autodesk已經不再支持和發展 ADS程序設計模式,同時卻增加了Visual LISP,以進一步提高AutoLISP 的整體性能,同時用ObjectARX取代了ADS。
3)VBA
自 R14開始嵌套在AutoCAD 之中的程序設計方法,VBA是根據微軟公司的規則,在每一個Windows下的應用軟體都必須具有的功能。
其優點是可以很容易地使用Windows系統資源,使AutoCAD能容易地與其他Windows下的應用軟體交互。VBA 對話框設計能力比DCL好得多,多圖檔環境下的應用程序也比也比VLISP提供了更多的支持。但由於它是使用ActiveX與AutoCAD交互,程序設計比較復雜。會成為與VLISP並列的另一種專業用戶程序設計語言,不太容易學會。因為VBA並不就是VB,所以熟悉VB的人,在使用VBA作AutoCAD程序設計時,也需要新學大量的東西,只不過VBA的規則與VB充分相近。
在設計過程模擬類的程序設計中,VBA明顯不如 AutoLISP那樣順利,畢竟 AutoLISP 脫胎於人工智慧語言。另外,如果 VBA 作者因為「疏忽」,沒有提供相應的方法和屬性,老的AutoLISP能夠訪問的對象數據、能夠激活的某些AutoCAD對話框,VBA卻不能。VBA雖然不是編譯運行,數據結構和程序寫法卻像ARX一樣相當嚴格,這對於工程師來說,需要有一個適應過程,你只能按照VBA的可能去組織自己的數據,而不能像VLISP那樣按照專業設計要求去創建數據結構。
比較明顯的幾個缺憾是:
VBA中不能像VLISP那樣幾乎隨心所欲地使用AutoCAD命令,只能象腳本文件的模式,以字串方式向AutoCAD命令行發送一串響應,這個字串的內容也只好在自己的程序中生成和進行數據轉換。這樣,許多交互操作的技巧,在VBA中不能直接借用。
VBA是以對象作為數據處理的基本單元,在VLISP中堪稱特色的CAGD程序設計技術,在VBA中則無法實現。因此像Trim、Extend、Dim-Diameter之類的命令都不能真正實施,要想完成這樣的操作,相關數據只能在程序中自己計算。這樣,程序設計就不能充分利用AutoCAD的操作技巧,必然復雜和羅嗦。放著AutoCAD優秀的資料庫,卻不能充分發揮它的作用;本來能用AutoCAD完成的動作,卻要自己編程實現。這就是VBA最大的缺憾。
VBA 另外的問題是不能編譯,源程序始終以相當容易接近的方式,暴露在最終用戶面前。很容易由於用戶的誤操作,使曾經正常的應用程序出錯甚至崩潰。這正好是老的 AutoLISP 的致命缺點,使用 VLISP 的程序包編譯功能,目前還不能將 VBA 包裝進去之後解決源代碼加密的問題。VBA的源代碼加密目前只有使用 PassWord。
VBA與Visual LISP 之間僅有比較簡單的內部數據通道,例如處理簡單的點位表。從這方面說,VBA的作者好像不太了解AutoCAD的特色功能,也不太了解用戶們將會怎樣使用AutoCAD進行自己的專業設計。
擴充VBA的功能可以用 VC++ / ARX 程序,但是相當復雜,對於一般工程師來說,很難掌握。對VBA的完善和擴充,只能等待Autodesk的工作結果。
4)ObjectARX
在Autodesk內部或增值軟體開發商中使用。由於ARX是使用Visual C++作為基本程序設計語言,無論其效率、數據處理和軟硬體的控制能力都是最好的,是唯一圓滿地針對多圖檔環境的程序設計方法。是從根本上擴展 VLISP / VBA 的程序設計方法。
但是,與AutoCAD命令交互和對象資料庫訪問功能,ARX與VBA並沒有實質性的區別,就是說,同樣很難借用AutoCAD強大的CAGD功能和交互操作的技巧。另外,要想真正發揮這種開發模式的作用,對於程序設計者的要求(計算機專業知識、軟體專業知識等等)也較高,而且程序運行風險較大。要求程序自己做好各種數據的測試,自己設計好各種條件下的出錯處理和恢復,否則ARX 程序的崩潰常常會連帶 AutoCAD、甚至操作系統一起崩潰。由於ARX技術是大部分開發商的工具,因此,真正有用的編程技巧也不太容易通過一般的交流得到。可見,這種開發模式不適於在專業設計工程師中間普及。
粗略地說:
ARX/VBA的特點在於以AutoCAD的對象、方法和屬性為基本操作數據,適合於「構建」AutoCAD的功能。實際上,一個對AutoCAD的操作並不熟練的人,只要充分理解了AutoCAD的對象模型結構,也能寫出操控AutoCAD的程序。就是說,這種程序設計模式,並不太依賴於程序設計者熟悉AutoCAD操作的程度如何。換句話說:對AutoCAD操作的熟練程度,對於ARX/VBA程序設計並沒有明顯的幫助。
而VLISP則是靈活而充分地使用AutoCAD的現有功能,適合於「組合使用」AutoCAD的現有功能。這樣,程序設計著對AutoCAD操作的數量程度,就明顯地影響著程序設計的結果。就是說,這種程序設計模式,將能充分利用程序設計著使用AutoCAD的經驗和技巧。當然,用VLISP按照ARX/VBA的ActiveX模式寫程序,也是可以的。在本書中有不少這樣的實例。但是這不是VLISP的特長。
作為 CAD 系統,通常由三個層次的軟體組合而成:
1)設計軟體的底台:提供界面、環境、核心演算法、資料庫等基礎設施。現在我們是在 AutoCAD這個底台上進行工作。
2)設計支持軟體,提供與設計需要相關的,比較專業的支持軟體:國標圖庫、通用設計工具、設計手冊等等。這些軟體多數是由增值軟體開發商完成的。
3)專業設計軟體,提供窄范圍、大深度的專業設計自動化或者輔助系統:例如:發動機裝配工具設計、膠印機控制凸輪設計、組合機主軸箱設計等等。
實際上,CAD系統能否真正體現出它的存在價值,最明顯的標志就是上述專業設計軟體。這些軟體真正起到了「設計」的作用。實踐證明,在某個專業性很強的設計上,它確實能夠替代工程師!
對於1)和2),可以由一些不必很了解設計,而軟體知識較多的人來寫。當然,應當由現場工程師進行測評,防止寫成「學院派」的設計支持軟體。而對於3),就只能由設計師直接參與來寫,這樣的題目范圍較小,幾乎是開發商永遠的「盲區」。由於專業性太強,知識結構太偏,對於工科大學畢業,沒有在這個行業里,做過幾個真正的設計的人,很難聽懂專業設計師的敘述,要求他完成這個程序,就太過分了。
可見,必須有一個能夠被專業設計師所掌握,又能夠發揮他們的長處(熟悉設計和交互操作),避開他們的短處(軟體知識較少)的開發方法。這就是AutoLISP。
可以在AutoLISP程序中引用AutoCAD的幾乎所有的功能,進行圖形處理的自動化,尤其是較深層的應用~對象資料庫的操作。
在Visual LISP的協助下,從對AutoCAD進行操作的功能上討論,僅比ARX少幾個功能:自定義AutoCAD對象、多圖檔的深入管理等。從目前的情況看,AutoLISP是AutoCAD中幾乎所有的應用程序的「總管、大管家」,而且目前只有AutoLISP 表達式,才能以添加在腳本文件、對話框程序、菜單、甚至VBA程序的ThisDrawing.SendCommand …中,更可以直接用在AutoCAD的命令行中響應幾乎所有的命令。
(5)其它性能
LISP是典型的結構化程序設計語言,AutoLISP是解釋運行,源程序保密性差,巨量數據的復雜運算效率較低,文件管理功能簡單,但可以在絕大多數源程序內容不變的條件下,用Visual LISP將其編譯成VLX程序包或者FAS程序,這樣處理之後的AutoLISP程序,將具有與ARX程序相同的高保密性能,也將具有比解釋運行明顯提高的運行效率。而且,AutoLISP程序設計的復雜程度和運行風險大大低與ARX,絕少在程序崩潰後連帶AutoCAD崩潰。來源: http://www.jxcad.com.cn/read-htm-tid-92949.html
『柒』 豆瓣為什麼用python
1.不同編程語言的運行效率雖然有不同,但是沒有你想像的那麼大的差異。
2.大型架構要想提高運行效率,關鍵在於提高伸縮性和吞吐量,而不是考慮單一程序的效率。高級的...
3.人家只是在應用層用某種語言,在大型架構中,這只是佔到程序的一部分,特別是瓶頸不在這里。
4.Python也有高性能優化的方案,比如二次編譯,JIT和runtime的優化
『捌』 Arcgis Engine二次開發用python可以嗎
1.自定義工具箱是什麼
就像名字一樣,自定義工具箱是由個人創建的工具箱,就像下面這樣,可以理解成一個 .tbx 後綴的壓縮包,每一個工具箱中都可以添加多個工具集、腳本工具甚至模型構建器工具。
一大堆工具箱
1.1如何添加自定義工具箱(熟悉可跳過)
第一步:右鍵點擊 ArcToolbox -> 添加工具箱
第二步:在打開的添加工具箱窗口中選中需要添加的工具,然後點擊右下角的打開即可。
添加工具箱到 Arcmap
1.2如何創建自定義工具箱
點擊右上角的紅色工具箱符號,可以新建並重命名一個工具箱。
我們這里新創建了一個海怪工具箱,用於之後的教程演示。
新建工具箱
1.3添加一個腳本工具
新創建的工具箱就像一個大箱子,箱子呢是用來裝工具的,你可以直接在工具箱中右鍵,然後點擊添加,再點擊腳本,進而創建一個腳本工具;
亦或是右鍵,點擊新建,再點擊工具集,創建一個可以自定義名稱的工具集,然後在工具集里新建一個腳本工具。
這里添加的腳本工具只是一個空殼,我們後面會繼續完善。
新建的工具箱位於 ../Chapter7/海怪工具箱.tbx。
2.工具箱的封裝
工具箱由三部分組成,其中有兩部分需要我們來控制:
一是輸入界面:確定工具箱輸入界面的參數定義和設置;
二是 Python 源代碼:功能的實現,為 .py 後綴的腳本文件;
三是對參數行為提供額外控制的可選驗證代碼,其位於工具箱中(這部分自帶,基本上不用修改)。
所以下面的重點就是輸入界面和 Python 源代碼。
2.1工具箱輸入界面
工具箱輸入界面,或者說圖形交互界面(GUI),就像下面的幾張圖一樣,從該界面我們可以控制工具的行為,自定義輸入界面然後配合 Python 腳本,可以實現多種客制化的功能。
簡單來說,你可以認為輸入界面是依託於 Arcmap 的「前端」,腳本代碼就是負責運行的「後端」。
導入導出工具:
為方便演示,製作一個非常簡單的工具箱,它的功能呢就是把輸入的要素類(資料庫或者 shp )再導出來而已,是完全沒有用的導入導出功能啦,不過作為演示還是非常不錯的。
製作完成後的導入導出工具的界面
第一步:
在工具箱中,右鍵點擊添加,再點擊腳本,然後修改名稱,修改成你想要的名字,勾選存儲相對路徑名,然後點擊下一頁。
修改名稱
第二步:
然後添加腳本文件,添加該腳本文件 ../Chapter7/toolscript/input_and_output.py,讀者可以在最後的下載包中找到該文件。
然後點擊下一頁。
鏈接python腳本
第三步:
控制用戶交互界面。ArcGIS 在這里內置了一整套簡單但是實用的圖形控制項,比如輸入菜單、下拉框、多選框、單選等,藉由這些圖形控制項我們可以控制腳本工具的圖形交互界面。
我們這里使用的腳本功能非常簡單,上面也有說到:輸入一個矢量要素類,不做任何處理,然後輸出一個矢量要素類。
為了匹配這個腳本,我們需要設置一個輸入圖層的控制項,同時為了能順利的輸出,也需要一個輸出圖層的控制項,注意一個是輸入一個是輸出。
從下圖可以看到,左邊(左邊的橙色框)是顯示名稱,其中輸入輸出控制項的名稱以及輸入控制項的名稱,這里命名為輸入要素和輸出要素;然後在右邊(右邊的橙色框)的數據類型下拉框中,我們選擇要素圖層,這里只能做選擇,不能任意輸入。
設置名稱和數據類型
那麼輸入輸出是如何區分的呢?
選中輸入要素(變成藍色),然後可以看到下方(下方橙色框)的參數屬性設置選項卡,這里可以對參數進行調整。
參數選項
① 類型:有三種,一般只會用到 Required 和 Optional,表示必須和可選,用於控制參數是否可以忽略不填;
② 方向: 兩種,Input 和 Output,表示輸入和輸出,大部分情況都是使用 Input 來獲得參數,Output 用於獲得最後的成果數據,像是矢量、柵格或者圖表;
③ 多值:Yes 或者 No,用於輸入多個相同類型的數據,工具打開後就是下面這樣,在輸入要素中可輸入多個要素類;
④ 默認:設置一個控制項的默認值,直接輸入即可。可配合多值一同使用,使用 ; (英文的分號)分開,
結果如下,可以看到一打開該工具就已經填充上了預設的多個默認值(報錯是因為數據類型不是要素圖層);
⑤ 環境:工具箱的環境設置,比如掩膜、容差范圍、默認資料庫位置等,一般不預先設置;
⑥ 過濾器:選擇文件類型可以在選擇文件時只顯示特定格式的文件;
⑦ 獲取自:指定數據的獲取源。這是個什麼意思呢?比如我們想要獲取圖層A的某個欄位,獲取源就是圖層A。
以下面這種圖作為例子,新增名為欄位的控制項(上方的橙色框),數據類型也是欄位,然後參數屬性中獲取自選擇輸入要素(下方橙色框)。
設置欄位控制項
點擊完成後,打開腳本工具。在輸入要素框中選擇一個圖層,然後再點擊獲取欄位,如下就可以選擇圖層中的欄位了。
獲取圖層的欄位
⑧ 符號系統:在最下面還有一個符號系統,通常只能作用於輸出的矢量圖層(方向:Output),可為輸出圖層指定設置好的 lyr 文件樣式。
設置符號系統
第四步:
點擊右下方的完成,那麼腳本工具的輸入界面就完成了。
2.2 Python 腳本
工具箱輸入界面和 Python 代碼要相互配合才行,工具箱界面中的輸入、輸出以及各種各樣的參數,在 Python 腳本文件中都得一一對應上,將輸入界面中的各個參數傳給 Python 腳本,這樣才能讓 Python 腳本按照預期的效果正常運行。
看上去有點麻煩,但實際上 arcpy 中提供了現成的函數就可以直接獲得參數。
①參數對接(獲取)
至於如何對接參數,我們使用剛剛的那個腳本文件舉例:
../Chapter7/toolscript/input_and_output.py
# -*- coding:utf-8 -*-
import arcpy
#▶1◀
input_lyr = arcpy.GetParameterAsText(0)
output = arcpy.GetParameterAsText(1)
if __name__ == '__main__':
lyr = arcpy.mapping.Layer(input_lyr)
arcpy.CopyFeatures_management(lyr, output)
▶1◀:arcpy 提供了 GetParameterAsText(index) 函數,該函數根據輸入界面的排序號碼獲得指定的參數。比如 GetParameterAsText(0) 獲得的就是輸入圖層參數, GetParameterAsText(1) 獲得的就是第二個參數,也就是輸出圖層參數。
如果有更多參數,以此類推。
②參數對接中應該注意的情況
GetParameterAsText(index) 從輸入界面獲得的參數都會轉變成字元串,沒錯都是字元串。
如果你只是輸入輸出地址這種,那麼沒有問題,因為地址本來就是字元串,但是如果你設置了一個選擇長度范圍的長整型的控制項、亦或是某種布爾值選擇,最後輸入到 python 腳本這里都會變成字元串。
整數變成字元串,使用 int(str) 規避;
布爾型變成字元串,True 變成了 "True",False 變成了 "False",這樣就不能判斷真假了,需要寫一個判斷語句或者隨便你,方法很多;
還有就是一個輸入控制項多值的情況,所有值根據先後連接成一個字元串,中間由 、(英文分號)間隔,可以使用 split 函數分開;
『玖』 客戶端腳本和伺服器端腳本本質區別是什麼後者優勢是啥
在伺服器端運行的腳本語言是伺服器端腳本,在客戶段運行的腳本是客戶段腳本,本質區別是運行位置不同。
從使用方式上講:
伺服器端腳本適合處理諸如資料庫訪問,安全驗證等應用;
客戶端腳本適合處理有效性驗證,頁面特效等應用。
