freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ile程序速成手冊(編輯修改稿)

2024-07-22 06:45 本頁面
 

【文章內(nèi)容簡介】 *DMY (dd/mm/yy) *YMD (yy/mm/dd) *JUL (yy/ddd) *ISO (yyyymmdd)*USA (mm/dd/yyyy)*EUR ()*JIS (yyyymmdd)Comment注釋項,源自RPG,不用填,因?yàn)樘盍艘矝]用。 常用例子定義一個10位長的字符型變量:D MYFLD S 10定義一個10位長,其中含2位小數(shù)的字符型變量,并使其初始值為1 D MYFLD S 10 2 INZ(1)定義一個每條記錄為5位長字符型變量,共10條記錄的數(shù)組 D MYFLD S 5 DIM(10)定義一個10位長的字符型變量,再定義一個變量,參照前一變量定義 D MYFLD01 S 10 D MYFLD02 S LIKE(MYFLD01)定義一個結(jié)構(gòu),由一個3位長的字符變量,和一個10位長,其中2位小數(shù)的數(shù)字變量組成 D MYDS DS D MYDS01 3 D MYDS02 10 2定義一個結(jié)構(gòu)變量,結(jié)構(gòu)內(nèi)容參照外部文件PFFHS D MYDS E DS EXTNAME(PFFHS)定義一個結(jié)構(gòu)變量,結(jié)構(gòu)內(nèi)容參照外部文件PFFHS,并且將第二個字段重命名為FHS999 D MYDS E DS EXTNAME(PFFHS) D FHS999 E DS EXTFLD(FHS02)定義一個日期型變量,格式為yyyymmdd D MYDATE S D DATFMT(*ISO) 補(bǔ)充說明變量的定義,除了在D行定義之外,還可以在C行通過賦值語句直接定義如D FLD01 S 2 INZ(‘01’)與C MOVE ‘01’ FLD01 2 //2在length處,右對齊是等價的定義結(jié)構(gòu)之后,可以將結(jié)構(gòu)變量視為一個普通的變量進(jìn)行賦值來改變結(jié)構(gòu)變量的值,也可以通過對組成結(jié)構(gòu)變量的變量進(jìn)行賦值,來達(dá)到修改結(jié)構(gòu)變量的值的目的。如:D MYDS DSD MYFLD01 2D MYFLD02 2 在C行中,這兩句是等價的 C EVAL %SUBST(MYDS:3:2)=’01’ C EVAL MYFLD02=’01’ 第一句是直接改結(jié)構(gòu)變量MYDS的后兩位的值(當(dāng)然,此時MYFLD02的值也變化了) 第二句是對MYFLD02進(jìn)行賦值,同樣,賦完值之后,MYDS的后兩位也變?yōu)椤?1’在需要頻繁進(jìn)行數(shù)字與字符之間轉(zhuǎn)換時,偷懶的人會通過定義這樣的結(jié)構(gòu)來達(dá)到目的:D MYDS DSD MYFLD01 1 8D MYFLD02 1 8 0比如說,給MYFLD01賦值為’20070208’之后,MYFLD02也就自動等于20070208;然后給MYFLD02加1之后,MYFLD02等于20070209,MYFLD01的值也自動等于’20070209’。可以認(rèn)為結(jié)構(gòu)變量MYDS是字符型(即一直等于MYFLD01的值)這種方法,當(dāng)需要字符型變量時,就使用MYFLD01;當(dāng)需要數(shù)字變量時,就使用MYFLD02,不過我總覺得有點(diǎn)類似于作弊,一般沒用。關(guān)于數(shù)組、結(jié)構(gòu)體的內(nèi)容,因?yàn)橐f起來內(nèi)容還頗多,而也屬于略為高級一些的用法,所以將在后面專設(shè)章節(jié)講述。 入口參數(shù)程序可以通過“*ENTRY”定義入口參數(shù),或稱之為接口參數(shù),來傳遞數(shù)據(jù)。假設(shè)有程序FHS01ILE,其中入口參數(shù)的定義如下:C *ENTRY PLIST C PARM FLD01 3C PARM FLD02 4其中:*ENTRY在“Factor 1”項;PLIST在“Operation”項;PARM在“Operation”項;FLD0FLD02都在“Result”項上述定義,表示這個程序通過兩個字段與其它外部程序溝通。那么別的程序(如FHS02ILE)在調(diào)用程序FHS01ILE時,就要帶上兩個字符型變量,如C CALL ‘FHS01ILE’C PARM FHSFLD01 3C PARM FHSFLD02 4在兩個程序里,這兩個變量名可以不同(比如說一邊叫FHSFLD01,F(xiàn)HSFLD02;一邊叫FLD01,F(xiàn)LD02),但長度,類型必須匹配。如果在FHS02ILE中,F(xiàn)HSFLD01等于’123’,F(xiàn)HSFLD02等于’abcd’,那么系統(tǒng)在運(yùn)行CALL語句,執(zhí)行程序FHS01ILE時,將會對字段FLD01初始化賦值,使其一開始就等于’123’,字段FLD02等于’abcd’。如果FHS01ILE程序中,對FLD0FLD02進(jìn)行了改動,比如FLD01最后等于’789’,F(xiàn)LD02最后等于’efgh’,那么程序FHS02ILE在調(diào)用完FHS01ILE之后,F(xiàn)HSFLD0FHSFLD02這兩個字段也同樣會改變,成為’789’,和’efgh’也就是入口參數(shù)的變化是可以傳遞的,其實(shí)應(yīng)該很好理解吧。入口參數(shù)的定義,可以寫在程序的任何一處,而程序的執(zhí)行,始終是從C行的順序第一行開始執(zhí)行,與入口參數(shù)所在的位置無關(guān)。FHS02ILE也可以使用一個大變量來調(diào)用FHS01ILE,只要總長相等即可(這種方法僅限于被調(diào)用的程序FHS01ILE的入口參數(shù)全部為字符型才可使用,僅僅只是不會錯,不建議這樣使用。C CALL ‘FHS01ILE’ PARM FHSFLD01 7其實(shí)從上面的例子可以看出,入口參數(shù)可以使用結(jié)構(gòu)的形式來表達(dá),所以下面這種寫法也不會有錯。(如果被調(diào)用程序有數(shù)字型變量,只要在定義結(jié)構(gòu)時也定義為數(shù)字型即可)D MYDS DSD DS01 3D DS02 4C CALl ‘FHS01ILE’C PARM MYDS既然可以使用結(jié)構(gòu)做為入口參數(shù),當(dāng)然,也可以參照外部文件來定義結(jié)構(gòu)做為入口參數(shù)D MYDS E DS EXTNAME(PFFHS)C CALL ‘FHS01ILE’C PARM MYDS與C CALL ‘FHS01ILE’C PARM FHS01 2C PARM FHS02 2C PARM FHS03 2是等價的??梢钥吹?,參照外部文件定義結(jié)構(gòu)做為入口參數(shù)時,可以有效的節(jié)省代碼行,而且不會出現(xiàn)遺漏。所以在實(shí)際使用中,常會看到,將一些公共程序的入口參數(shù)定義成一個PF文件。而調(diào)用它的程序,就參照這個PF文件,定義結(jié)構(gòu)做為調(diào)用的接口參數(shù)。當(dāng)接口參數(shù)不一致時,如FHS02ILE中漏了第二個參數(shù)時:C CALL ‘FHS01ILE’C PARM FHS01 3此時,并不是一開始運(yùn)行FHS01ILE程序,系統(tǒng)判斷入口參數(shù)不符就報錯;實(shí)際上,此時,F(xiàn)LD01的值還是正確的,但FLD02的值就處于一個未初始化的狀態(tài)。于是,當(dāng)代碼執(zhí)行到與FLD02有關(guān)的操作碼時,才會報錯;如果FHS01ILE在運(yùn)行的過程中,因?yàn)檫壿嬇袛啵ㄈ鏘F條件判斷)的關(guān)系,而未執(zhí)行任何與FLD02有關(guān)的操作碼,那么程序會正常運(yùn)行完畢,不會有報錯。這時,F(xiàn)HS02ILE調(diào)用了程序FHS01ILE之后,程序中原有的接口參數(shù)的數(shù)據(jù)就可能因?yàn)檫@次調(diào)用程序而發(fā)生錯位,從而導(dǎo)致數(shù)據(jù)的錯誤、混亂。數(shù)據(jù)的錯誤、混亂其實(shí)還不是最大的問題,更大的問題在于“這時我們不知道數(shù)據(jù)已經(jīng)出錯了”。解決之道,也是如上所說,對于調(diào)用頻繁,且入口參數(shù)較多的公共程序,考慮將其入口參數(shù)寫成一個PF文件。這樣調(diào)整入口參數(shù)時,只要修改PF文件并重新編譯,再編譯相關(guān)程序即可(至少發(fā)生遺漏時,程序會報錯異常中斷,不會出現(xiàn)錯誤的數(shù)據(jù)而不自知) C行說明 寫在前面終于說到程序的執(zhí)行部分,也是我們寫程序的平時接觸的最多的一部分:“C”行了。在這里,我想先說一下我個人的看法: 400系統(tǒng),提供了一些語法,可以大大減少程序代碼行數(shù)。但是如果這個用法并不普遍,那么并不建議使用(當(dāng)然自己用來練習(xí)無妨),否則會給其它讀代碼的人帶來困難,同時也會給自己帶來麻煩(比如出了問題,別人看不懂,自然會打電話來問原作者) 基于這樣的道理,同樣,我認(rèn)為FREE格式的程序,雖然可以自由書寫,有縮進(jìn)等優(yōu)勢,但是除非整個項目組所有成員都已熟練掌握FREE格式的程序,或已進(jìn)行過完善、系統(tǒng)的FREE格式的培訓(xùn),才能正式使用。如果只是知道幾個與RPG,RPGLE對應(yīng)的語法就用來進(jìn)行實(shí)際處理,可能會造成的維護(hù)的不便,尤其是在出現(xiàn)一些不那么明顯的錯誤之后。 至于cycle,不知道是不是基于這個原因,現(xiàn)在用得也比較少了。感覺RPGLE中,至少有一半的內(nèi)容是與cycle相關(guān)的,因?yàn)槲也粫ycle,所以前面也會有那么多不知道。 當(dāng)然,保持積極學(xué)習(xí)的心態(tài)一定是好的,所以大家有什么新東西拿來交流一下也很和諧。 內(nèi)容說明 Level N01 Factor 1 Operation Factor 2 Result Decimal Length Positions HI LO EQ Comment Level: 和cycle相關(guān),沒研究過,一般不填N01: 這個含義比較豐富,我只用過其中一種: 首位不帶N,后面填寫01—99的數(shù)字時,表示相應(yīng)的指示器打開時,執(zhí)行后面的操作,如: C 12 EVAL FHS01=’01’等價于 IF *IN12=’1’ EVAL FHS01=’01’ ENDIF 首位帶N,后面填寫01—99的數(shù)字,表示相應(yīng)的指示器關(guān)閉時,執(zhí)行后面的操作 要注意,該項內(nèi)容僅作用于該行操作碼。如果指示器打開后,需要執(zhí)行多條語句,那么每條語句前面,該項都要賦值。 即 C IF *IN12=’1’ C EVAL FHS01=’01’ C EVAL FHS02=’02’ C ENDIF 如果用這種方式來表達(dá),就要寫作 C 12 EVAL FHS01=’01’ C 12 EVAL FHS02=’02’ 所以說,根據(jù)指示器狀態(tài)來執(zhí)行的語句,在執(zhí)行少量操作碼時,可以使用這種方法;如果語句較多,修改起來不方便,還是直接用IF—ENDIF的判斷語句比較合適。 該項還有針對其它指示器的用法,不過我不知道,歡迎大家來補(bǔ)充Factor 1: 操作內(nèi)容一,將在后面與操作碼一起講Operation: 操作碼,后面有專門章節(jié)講解操作碼Factor 2: 操作內(nèi)容二,同上Result: 操作結(jié)果,同上Length: 長度。變量的定義,除了在D行定義之外,還可以在C行通過賦值語句直接定義如D FLD01 S 2 INZ(‘01’)與C MOVE ‘01’ FLD01 2 //2在length處,右對齊是等價的一個變量,在整個程序中,只要定義一次就可以了,對定義的順序沒有強(qiáng)制要求。Decimal Positions: 與length相呼應(yīng),當(dāng)此項有值時,表示定義的是一個數(shù)字型變量,該項表示小數(shù)位長度。 如 C ZADD 2 FLD02 3 2 即是說,將FLD02定義為一個3位長,其中1位整數(shù),2位小數(shù)的數(shù)字變量,HI、LO、EQ 這是三個指示器位置項??少x值的內(nèi)容是從01—99,在以后的說明中,如果HI項填寫10,LO項填寫20,EQ項填寫30,那么我所說的HI指示器,即是指*IN10,LO指示器即是*IN20,EQ指示器即是*IN30,依此類推。(也就是說,HI指示器,并不是*INHI,事實(shí)上,也沒有*INHI這個指示器)Comment: 注釋行,源自RPG,不用填,填了也沒用。 ILE操作碼分類:1. 程序流程控制DO、DOU、DOUxx、DOW、DOWxx、ITER、LEVAEIF、ELSE、ELSEIF、IFxx、ORxx、ANDxxSELECT、WHEN、WHENxx、OTHER、ENDxx、GOTO、TAG 、EXSR、BEGSR、ENDSRCABxx2. 初始化操作CLEAR、RESET3. 文件操作OPEN、CLOSE、CHAIN、SETGT、SETLL、READ、READC、READE、READP、READPE、DELETE、UPDATE、WRITE 、UNLOCKROLBK、COMMIT、EXFMT、ACQ、EXCEPT、FEOD、FORCE、NEXT、POST、REL4. 程序調(diào)用CALL、CALLB、CALLP、PARM、PLIST、RETURN5. 賦值語句MOVE、MOVEA、MOVEL、EVAL6. 字符操作CAT、CHECK、CHECKR、SCAN、SUBS
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1