亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 18560 | 回復(fù): 15
打印 上一主題 下一主題

SUBFILE全攻略[ 原創(chuàng)] [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2007-02-22 13:14 |只看該作者 |倒序?yàn)g覽
16:12 2006-03-31
==================
SUBFILE詳解
SUBFILE可能是400中除RLU之外最麻煩最復(fù)雜也最常用的東東了,經(jīng)過一番研究,終于搞清楚了其中原理。它是遵循SDA的格式框架的,只8過其中的鍵字稍微多些,RPG中對(duì)其的調(diào)用稍復(fù)雜些而已。
1、DSPF的格式:
    建議它由4個(gè)記錄構(gòu)成,但用于首尾記錄是可選的。它們只是顯示一些固定的輔助信息而已。真正發(fā)揮作用的是中間的兩項(xiàng):數(shù)據(jù)記錄和控制記錄。就是下圖的SUBF和SUBFC。
    數(shù)據(jù)記錄:它的定義同一般DSPF的DDS并無二樣,它決定了是哪些記錄,在什么位置顯示。要說明的是,在標(biāo)識(shí)記錄名的那行的鍵字欄,要填關(guān)鍵字SFL以指示當(dāng)前記錄是一個(gè)SUBFILE。這里我們可以看到,以后我們所用的SUBFILE都可以以此為藍(lán)本。所做的修改就是將此記錄中的字段名和位置改變而已,其它的都沒什么重大改變。
    控制記錄:在定義記錄后面的鍵字欄,填入SFLCTL(SUBF_name)這里SUBF_name就是之前定義的數(shù)據(jù)記錄名。這個(gè)記錄主要用于控制前面記錄的顯示參數(shù),比如每頁顯多少?多少頁?何時(shí)顯示等等,F(xiàn)在分別介紹這些參數(shù)。
        SFLSIZ(N):N:1-9999:表示共有多少記錄可顯示,9999代表最大值,一般就用這個(gè);
        SFLPAG(N):N:決定了每頁顯示多少條記錄,自己看著辦吧:)
        SFLDSP/SFLDSPCTL:注意前面有指示器。它們的作用是控制SUBFILE的顯示,這兩個(gè)是必須執(zhí)行的。
        SFLCLR:當(dāng)前面指示器為真,清除SUBFILE的顯示
        SFLEND(*MORE):若前面指示器為真,則在最后一頁頁尾顯示"Bottom"
        OVERLAY:這個(gè)是覆蓋,不用也行。但建議使用。
        CA12(...):表示12功能鍵用于退出,它和后面2行都必須放在SUBFC控制記錄中
        后面兩行:這個(gè)不用說了,是表頭固定列標(biāo)題。它必須放在此記錄中
    HEAD/FOOT:這兩個(gè)記錄不用說了,用來顯示固定的字串。

附圖參考:一個(gè)SUBFILE的標(biāo)準(zhǔn)框架。
SUBFILE
     A* ------------INIT ON ABOVE ------------------------------            
     A                                      DSPSIZ(24 80 *DS3)               
     A                                                                       
     A          R HEAD                                                      
     A                                  2  1DATE                             
     A                                      EDTCDE(Y)                        
                                                                             
     A* ------------- RECORDS FOR SUBFILE --------------------               
     A          R SUBF                      SFL                              
     A            OPT            1   I  9 14                                 
     A            PFFLD1         5A  O  9 16                                 
     A            PFFLD2        20A  O  9 26                                 
                                                                             
     A* ------------- CONTROL TO SUBFILE ---------------------               
     A          R SUBFC                     SFLCTL(SUBF)                     
     A                                      SFLSIZ(9999)                     
     A                                      SFLPAG(0003)                     
     A  30                                  SFLDSP                           
     A  31                                  SFLDSPCTL                        
     A  32                                  SFLCLR                    
     A  33                                  SFLEND(*MORE)            
     A                                      OVERLAY                  
     A                                      CA12(12 'EXIT')           
     A                                  7 15'FIELD 1'                 
     A                                      COLOR(WHT)               
     A                                  7 27'FIELD 2'                 
     A                                      COLOR(WHT)               

     A* --------------- FOOT DEFIN --------------------               
     A          R FOOT                                                   
     A                                      OVERLAY                       
     A                                 24 11'F12=EXIT'                    
     A                                      COLOR(BLU)                    
                                                                     

2、如何顯示一個(gè)SUBFILE
    顯示SUBFILE的過程同顯示一般DSPF有著小小不同。一個(gè)完整的顯示、接收用戶的選擇包括以下3個(gè)步驟:
  1)將欲顯示的數(shù)據(jù)文件(PF、LF)裝入;
  2)顯示SUBFILE;
  3)得到用戶選擇的行。
  具體的說明,我以注釋的方式在下圖源碼中說明清楚。



FMYPF      IF   E           K DISK             *待顯示的數(shù)據(jù)文件                           
FMYSUBFIL  CF   E             WORKSTN          *這就是那個(gè)SUBFILE文件名,文件類型為C混合型
F                                     sfile(subf:rrn)   *這個(gè)SFILE及SUBF(數(shù)據(jù)記錄名:RRN)是一定要的!
                                                        *因?yàn)閿?shù)據(jù)記錄可看作一個(gè)FILE,它是必須有RRN的。
                                                        *在裝入要顯示的文件數(shù)據(jù)時(shí),自增1即可。后面有用到。
                                                                          
C*    ----------   MAIN PROCEDURE -------------                           
C                   WRITE     HEAD                      *這里的WRITE作用就是顯示名為HEAD的記錄               
C                   WRITE     FOOT                      *同上,顯示FOOT記錄                  
C                   EXSR      CLRSFL                    *這2行調(diào)用子程序                  
C                   EXSR      REDRCD                                      
C*    Read selected records
C                   setoff                                           80   
C                   readc     subf                                   80 *讀SUBF數(shù)據(jù)記錄中那些被修改的記錄  
C     *in80         doweq     '0'                                       *如果讀到,則  
C     pffld1        dsply                                               *顯示那條記錄的字段PFFLD1的值  
C                   readc     subf                                   80 *繼續(xù)讀  
C                   enddo                                               *結(jié)束
C                   SETON                                        LR     *程序結(jié)束退出  

                                                                          
C*  ---------   SUB1 SR----------                                         
C     REDRCD        BEGSR                                               *子程REDRCD開始  
C                   Z-ADD     0             RRN               4 0       *定義RRN這個(gè)變量                     
     *LOVAL        SETLL     FMYPF                                      *記錄指針指向最首個(gè)  
                   READE     FMYPF                                  90  *讀  
     *IN90         doweq     '0'                                        *讀到的話  
                   ADD       1             RRN                          *這里RRN自增1, 若增2則兩記錄間隔一空行
                   eval      PFFLD2='('+%trimr(PFFLD2) + ')'            *將數(shù)據(jù)文件中的此字段值用括號(hào)括起來再顯示
                                                                        *這里PFFLD2就是SUBF記錄的字段名,同時(shí)也是數(shù)據(jù)文件的輸入字段名  
                                                                        *對(duì)PFFLD2寫入的值到時(shí)就會(huì)顯示出來
C                  WRITE     SUBF                                       *寫入SUBF  
C                  READ      FMYPF                                  90  *繼續(xù)讀  
C                  SETON                                            30  *以下兩行打開SUBFILE的顯示開關(guān)(指示器)  
C                  seton                                            31   
C                  exfmt     SUBFC                                      *正式調(diào)用SUBFILE開始顯示
C                  ENDSR                                                



去年的筆記了,今天才找到。對(duì)SUBFILE仍不是很清楚的朋友可以直接拷貝修改,就能用了

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2007-02-22 14:16 |只看該作者
哇~~~MM好漂亮啊。!

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2007-02-23 08:57 |只看該作者
姐姐,你還是換一張照片吧!
這張照片曾經(jīng)出現(xiàn)在很多不良場所。。。
省得別人誤解。沒別的意思

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2007-02-24 03:18 |只看該作者
加精鼓勵(lì)~~~

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2007-02-26 09:36 |只看該作者
學(xué)習(xí)  學(xué)習(xí)。。。。。

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2007-02-26 11:35 |只看該作者
SUBFILE 的難點(diǎn)還在于對(duì)光標(biāo),翻頁的控制,如果有更詳細(xì)深入的例子各解釋那就更完美了。

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2007-03-16 13:40 |只看該作者
受益

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2007-03-16 16:41 |只看該作者
程序有誤:
1. C                   EXSR      CLRSFL                    *這2行調(diào)用子程序   -----子程序在哪呢?
2.*IN90         doweq     '0'                          --------------------------------Enddo在哪呢?

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2007-03-16 16:43 |只看該作者

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2007-03-16 22:30 |只看該作者
pantierui ,還是有問題呀。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP