ABAP?ALV最常規(guī)寫(xiě)法及常用功能詳解
先導(dǎo)
記得剛學(xué)ABAP的時(shí)候問(wèn)這問(wèn)那,問(wèn)東問(wèn)西,常常一個(gè)可能不怎么用的東西,扣了好久好久.群里的大佬就說(shuō),學(xué)那么多沒(méi)必要,以后是會(huì)天天寫(xiě)ALV , 講真 因?yàn)?SAP 很多東西都已經(jīng)通過(guò)配置就可以實(shí)現(xiàn), 我們還真就是做表單相關(guān)的東西比較多,不能說(shuō)全部,也是大部分. 好巧今天看到群友問(wèn)ALV 相關(guān)的內(nèi)容,這里整理一下,希望幫助更多的人 ヾ(?°∇°?)??.
流程順序
開(kāi)發(fā)ALV的基本流程:
第1步:聲明變量
定義ALV所要用到的類型池:TYPE-POOLS: SLIS
針對(duì)ALV的控制信息數(shù)據(jù)(Layout & Fieldcat)
第2步:定義內(nèi)表
存放自定義數(shù)據(jù)文件的數(shù)據(jù),以及在ALV中顯示
第3步:讀取數(shù)據(jù)
讀取數(shù)據(jù)存放至Internal Table
第4步:ALV格式控制
建立ALV顯示樣式(layout)和顯示字段清單(Field Catalogs)
第5步:定義事件
建立事件清單(Event Catalogs)
第6步:顯示ALV
調(diào)用ALV Function Module
第7步:用戶事件
定義User按鍵處理事件
普通的ALV的流程如上圖,包含所有常規(guī)流程.本質(zhì)上是展示數(shù)據(jù)的報(bào)表. 以及常用語(yǔ)法的熟練使用,數(shù)據(jù)轉(zhuǎn)換,邏輯計(jì)算等.
ALV 界面介紹
ALV組成3大部分
工具欄
標(biāo)題欄
顯示數(shù)據(jù)的網(wǎng)格控制器 (必要時(shí)可以隱藏工具欄和標(biāo)題欄)
ALV 開(kāi)發(fā)注意事項(xiàng)
注意事項(xiàng):
1、在ALV中,需要注意所有需要顯示的列,都必須在相應(yīng)的內(nèi)表中有對(duì)應(yīng)的字段, 字段名字不能寫(xiě)錯(cuò)。
2、在SAP ABAP程序中,字符串的大小寫(xiě)很重要,在單引號(hào)包圍的字符串中, 一般來(lái)說(shuō)都應(yīng)該用大寫(xiě),特別是在調(diào)用一些系統(tǒng)的方法時(shí)傳入字符串參數(shù)時(shí)。
3、傳入到ALV中的列對(duì)應(yīng)的字段名稱也必須使用大寫(xiě)字母,否則數(shù)據(jù)不會(huì)顯示出來(lái)。
4、使用宏定義或者子例程可以減少代碼量,并且盡可能實(shí)現(xiàn)代碼的復(fù)用。
5、注意在FORM里定義的變量在離開(kāi)FORM后,就會(huì)被系統(tǒng)釋放掉,回收內(nèi)存空間。
ALV 基本參數(shù)
ALV 對(duì)象參數(shù)
ALV開(kāi)發(fā)中兩個(gè)重要的對(duì)象——FIELDCAT和LAYOUT:
在調(diào)用ALV的函數(shù)中,除了定義所輸出使用的內(nèi)表之外,
還有兩個(gè)部分是必需確認(rèn)的:列欄位屬性和布局屬性。
列欄位屬性FIELDCAT :
設(shè)置輸出中具體字段的名稱、類型、格式等屬性;
對(duì)于系統(tǒng)結(jié)構(gòu)表,函數(shù)可參照此結(jié)構(gòu)自動(dòng)創(chuàng)建列屬性,可以沒(méi)有調(diào)用列欄位屬性
布局屬性LAYOUT:
設(shè)置輸出ALV列表的整體布局的屬性,如輸出字段的顏色、表格中的線條等。
沒(méi)有調(diào)用布局屬性時(shí),系統(tǒng)按默 認(rèn)布局輸出,不做任何調(diào)整。
兩對(duì)象同屬于類型組SLIS,在ALV開(kāi)發(fā)中必須聲明類型組SLIS
ALV 參數(shù)控制Layout
布局控制[layout]
布局是用來(lái)控制整個(gè)ALV的一個(gè)布局,比如ALV的標(biāo)題,是否可編輯,行顏色,列顏色.
參照ALV的控制結(jié)構(gòu)[LVC_S_LAYO],以后的例子我將詳細(xì)介紹如何設(shè)置行顏色和列顏色.
詳細(xì)的結(jié)構(gòu)說(shuō)明(注意這些字段的取值,單引號(hào)內(nèi),' '空格代表否,'X' 代表是)
字段名 描述 Value range
CWIDTH_OPT 最優(yōu)化寬度 SPACE, 'X'
SMALLTITLE 小標(biāo)題 SPACE, 'X'
GRID_TITLE 標(biāo)題,在網(wǎng)格和工具條之間 最長(zhǎng)70個(gè)字符
NO_HEADERS 列標(biāo)題隱藏 SPACE, 'X'
NO_HGRIDLN 隱藏水平線 SPACE, 'X'
NO_MERGING 禁用單元格合并 SPACE, 'X'
NO_ROWMARK 禁用系統(tǒng)自帶的行選擇'X'為D和A的時(shí)候隱藏 SPACE, 'X'
NO_TOOLBAR 隱藏工具條 SPACE, 'X'
NO_VGRIDLN 隱藏垂直線 SPACE, 'X'
SEL_MODE 選擇模式 SPACE, 'A', 'B', 'C', 'D'
EXCP_CONDS 合計(jì)例外 SPACE, 'X'
EXCP_FNAME 字段名稱帶有例外編碼 最長(zhǎng)30個(gè)字符
EXCP_LED 例外作為 LED SPACE, 'X'
EXCP_ROLLN 例外文檔的數(shù)據(jù)元素 SPACE, 'X'
CTAB_FNAME 帶有復(fù)雜單元格顏色編碼的字段名稱 最長(zhǎng)30個(gè)字符
INFO_FNAME 帶有簡(jiǎn)單行彩色代碼的字段名稱 最長(zhǎng)30個(gè)字符
ZEBRA 可選行顏色,如果設(shè)置了,出現(xiàn)了間隔色帶 SPACE, 'X'
NO_TOTLINE 沒(méi)有總計(jì) SPACE, 'X'
NUMC_TOTAL 可以對(duì)NUMC字段進(jìn)行合計(jì) SPACE, 'X'
TOTALS_BEF 總計(jì)輸出在第一行,小計(jì)在新的值之前 SPACE, 'X'
STYLEFNAME 設(shè)置單元格,比如PUSHBUTTON 最長(zhǎng)30個(gè)字符
ALV 參數(shù)控制Fieldcat
Fieldcat
data: fieldcat type slis_t_fieldcat_alv with header line.
it_fieldcat = fieldcat[]
屬性
(用來(lái)定義表單中的各個(gè)列的相關(guān)信息)
Fieldcat-col_pos = n. 輸出列
Fieldcat-tabname = ‘FIELDNAME’. 對(duì)應(yīng)的內(nèi)表字段名
Fieldcat-seltext_s/m/l = ‘列名’. 輸出列文本( _s:短文本 _l:長(zhǎng)文本)
Fieldcat-emphasize = ‘CX10’. 帶有顏色的高亮列(其中X=(1-7)顏色同format)
Fieldcat-hotspot = ‘X’. 作為熱點(diǎn)顯示可觸發(fā)鼠標(biāo)觸發(fā)事件
Fieldcat-currency = ‘CURRKEY’. 表 TCURX 中的貨幣名稱
Fieldcat-quantity(3) 計(jì)量單位
Fieldcat-qfieldname 參考計(jì)量單位的字段名稱
Fieldcat-round = n. 四舍五入至小數(shù)位數(shù)下n 位
Fieldcat-exponent = n. 浮點(diǎn)數(shù)的冪指數(shù)為n
Fieldcat-key = ‘X’. 關(guān)鍵字段
Fieldcat-icon = ‘X’. 作為圖標(biāo)輸出
Fieldcat-symbol = ‘X’. 輸出作為符號(hào)
Fieldcat-checkbox = ‘X’. 作為復(fù)選框輸出
Fieldcat-just = SPACE, 'R', 'L', 'C'. 對(duì)齊方式
Fieldcat-lzero = ‘X’. 輸出前導(dǎo)零
Fieldcat-no_sign = ‘X’. 輸出抑制符號(hào)
Fieldcat-no_zero = ‘X’. 為輸出隱藏零
Fieldcat-edit_mask = SPACE, mask.. 輸出為mask的模式
Fieldcat-fix_column = ‘X’. 固定列
Fieldcat-do_sum = ‘X’. 總計(jì)列值總和
Fieldcat-no_out = ‘X’. 列不輸出
Fieldcat-tech = ‘X’. 該字段為技術(shù)字段
Fieldcat-outputlen = n 列的字符寬度為n
Fieldcat-decimals_out = n 能控制小數(shù)點(diǎn)的位數(shù)為n
Fieldcat-datatype = C,I,N… 定義數(shù)據(jù)類型
ALV定義事件
* 建立事件清單(Event Catalogs) *需定義事件塊,否則出錯(cuò) eventcat_ln-name = 'TOP_OF_PAGE'.eventcat_ln-form = 'PAGE_HEADER'. APPEND eventcat_ln TO eventcat. 事件塊: FORM PAGE_HEADER. ENDFORM.
ALV DEMO
1:聲明alv
代碼
REPORT YALVDEMO1. *第一步 :聲明alv相關(guān) 變量 TYPE-POOLS:SILS. "引入slis 包 定義 使用專門(mén)alv data:LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV, "存儲(chǔ)fieldcat 內(nèi)表, 列表標(biāo)簽相關(guān) LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV, *WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV, "定義使用工作區(qū) *ls_fieldcat like LINE OF LT_FIELDCAT, LS_LAYOUT TYPE SLIS_LAYOUT_ALV, "ALV格式控制的結(jié)構(gòu)體 LT_EVENT TYPE slis_T_event , " 事件的內(nèi)表 LS_EVENT TYPE slis_alv_event. "事件的工作區(qū) DATA: pgm LIKE sy-repid. DATA LT_SORT TYPE SLIS_T_SORTINFO_ALV . DATA WA_SORT TYPE SLIS_SORTINFO_ALV. DATA LS_SETTING TYPE LVC_S_GLAY. DATA : LV_COLPOS TYPE INT2 .
著重解釋
主要是生命變量
引入slis 包,
建立內(nèi)表,
定義變量
2:定義內(nèi)表
代碼
*第二部:定義內(nèi)表 *定義類型. TYPES:BEGIN OF ty_alvshow, CARRID TYPE SPFLI-CARRID, "航線代碼 CITYFROM type SPFLI-CITYFROM , "起飛城市. CITYTO TYPE SPFLI-CITYTO , "目標(biāo)城市 FLDATE type SFLIGHT-FLDATE ,"起飛時(shí)間 PLANETYPE TYPE SFLIGHT-PLANETYPE ,"飛機(jī)類型 SEATSMAX TYPE SFLIGHT-SEATSMAX ,"飛機(jī)容量 END OF ty_alvshow. *定義內(nèi)表和工作區(qū) data : LT_ALVSHOW TYPE TABLE OF ty_alvshow, "定義內(nèi)表 WA_ALVSHOW TYPE ty_alvshow.
著重解釋
類型 可以直接寫(xiě)入字段類型中的 類型
或者干脆 直接寫(xiě)表名-字段 也可以.
3:讀取數(shù)據(jù)
代碼
*第三部:讀取數(shù)據(jù) select a~CARRID CITYFROM CITYTO FLDATE PLANETYPE SEATSMAX FROM spfli as a inner join SFLIGHT as b on a~CARRID = b~CARRID into table LT_ALVSHOW "內(nèi)表需要增加table UP TO 10 ROWS.
4:字段配置 ALV格式控制.
代碼
*第四部: ALV 的格式控制. layout LS_LAYOUT-zebra = 'X'. "列輸出位置 LS_LAYOUT-detail_popup = 'X' ."是否彈出詳細(xì)明細(xì)窗口 LS_LAYOUT-detail_TITLEBAR = '詳細(xì)信息'. LS_LAYOUT-f2code = '&ETA' . "設(shè)置觸發(fā)彈窗信息功能 LS_LAYOUT-colwidth_optimize = 'X' . "設(shè)置自動(dòng)優(yōu)化列寬. "fieldcat 界面配置 lv_colpos = 1 . "字段顯示為第幾行 ls_FIELDCAT-fieldname = 'CARRID'. "那個(gè)字段 LS_FIELDCAT-col_pos = LV_COLPOS. LS_FIELDCAT-key = 'X'. LS_FIELDCAT-DATATYPE = 'CHAR' . LS_FIELDCAT-OUTPUTLEN = '10'. LS_FIELDCAT-SELTEXT_M = '飛機(jī)id'. APPEND LS_FIELDCAT to LT_FIELDCAT. clear LS_FIELDCAT . "fieldcat 界面配置 lv_colpos = LV_COLPOS + 1 . "字段顯示為第幾行 ls_FIELDCAT-fieldname = 'CITYFROM'. "那個(gè)字段 LS_FIELDCAT-col_pos = LV_COLPOS. LS_FIELDCAT-key = 'X'. LS_FIELDCAT-DATATYPE = 'CHAR' . LS_FIELDCAT-OUTPUTLEN = '30'. LS_FIELDCAT-SELTEXT_M = '出發(fā)城市'. APPEND LS_FIELDCAT to LT_FIELDCAT. clear LS_FIELDCAT . "fieldcat 界面配置 lv_colpos = LV_COLPOS + 1 . "字段顯示為第幾行 ls_FIELDCAT-fieldname = 'CITYTO'. "那個(gè)字段 LS_FIELDCAT-col_pos = LV_COLPOS. LS_FIELDCAT-key = 'X'. LS_FIELDCAT-DATATYPE = 'CHAR' . LS_FIELDCAT-OUTPUTLEN = '30'. LS_FIELDCAT-SELTEXT_M = '到達(dá)城市'. APPEND LS_FIELDCAT to LT_FIELDCAT. clear LS_FIELDCAT . "fieldcat 界面配置 lv_colpos = LV_COLPOS + 1 . "字段顯示為第幾行 ls_FIELDCAT-fieldname = 'FLDATE'. "那個(gè)字段 LS_FIELDCAT-col_pos = LV_COLPOS. LS_FIELDCAT-key = 'X'. LS_FIELDCAT-DATATYPE = 'DATS' . LS_FIELDCAT-OUTPUTLEN = '8'. LS_FIELDCAT-SELTEXT_M = '到達(dá)時(shí)間'. APPEND LS_FIELDCAT to LT_FIELDCAT. clear LS_FIELDCAT . "fieldcat 界面配置 lv_colpos = LV_COLPOS + 1 . "字段顯示為第幾行 ls_FIELDCAT-fieldname = 'PLANETYPE'. "那個(gè)字段 LS_FIELDCAT-col_pos = LV_COLPOS. LS_FIELDCAT-key = 'X'. LS_FIELDCAT-DATATYPE = 'char' . LS_FIELDCAT-EDIT = 'X'. LS_FIELDCAT-OUTPUTLEN = '20'. LS_FIELDCAT-SELTEXT_M = '飛機(jī)類型'. APPEND LS_FIELDCAT to LT_FIELDCAT. clear LS_FIELDCAT . "fieldcat 界面配置 *lv_colpos = LV_COLPOS + 1 . "字段顯示為第幾行 *ls_FIELDCAT-fieldname = 'SEATSMAX'. "那個(gè)字段 *LS_FIELDCAT-col_pos = LV_COLPOS. *LS_FIELDCAT-key = 'X'. *LS_FIELDCAT-DATATYPE = 'int4' . *LS_FIELDCAT-OUTPUTLEN = '20'. *LS_FIELDCAT-SELTEXT_M = '飛機(jī)容量'. *APPEND LS_FIELDCAT to LT_FIELDCAT. *clear LS_FIELDCAT . "fieldcat 界面配置 lv_colpos = LV_COLPOS + 1 . "字段顯示為第幾行 ls_FIELDCAT-fieldname = 'SEATSMAX'. "那個(gè)字段 LS_FIELDCAT-col_pos = LV_COLPOS. LS_FIELDCAT-ref_fieldname = 'SFLIGHT' . LS_FIELDCAT-do_sum = 'X' . LS_FIELDCAT-SELTEXT_M = '飛機(jī)容量'. APPEND LS_FIELDCAT to LT_FIELDCAT. Clear LS_FIELDCAT .
著重解釋
首先需要配置layout 相關(guān)內(nèi)容
在配置每個(gè)字段的fieldcat .
注意:顯示列數(shù)要設(shè)置逐級(jí)增加,并且要把內(nèi)表數(shù)據(jù)覆蓋內(nèi)表 ,并清空內(nèi)表數(shù)據(jù).
5:定義事件
代碼
LS_EVENt-name = 'USER_COMMAND' ."用戶響應(yīng)事件 LS_EVENT-FORM = 'FORM_USER_COMMAND' . APPEND LS_EVENT TO LT_EVENT . CLEAR LS_EVENT . LS_EVENT-name = 'TOP_OF_PAGE' ."顯示標(biāo)題 LS_EVENT-form = 'FORM_TOP_OF_PAGE' . APPEND LS_EVENT TO LT_EVENT . CLEAR LS_EVENT . LS_EVENt-name = 'PF_STATUS_SET' ."顯示狀態(tài)欄 LS_EVENT-FORM = 'FORM_PF_STATUS_SET' . APPEND LS_EVENT TO LT_EVENT . CLEAR LS_EVENT .
6:排序(常用功能)
代碼
*------第六步 排序 WA_SORT-fieldname = 'SEATSMAX' . WA_SORT-DOWN = 'X'. APPEND WA_SORT TO LT_SORT . CLEAR wa_sort . "清空工作區(qū)
7:顯示alv數(shù)據(jù)
操作
光標(biāo)要留在數(shù)據(jù)的位置,然后點(diǎn) 模式-->調(diào)用功能輸入-->REUSE_ALV_GRID_DISPLAY
-->按回車.-->自動(dòng)生成代碼
代碼
*第七部分顯示alv LS_SETTING-EDT_CLL_CB = 'X' . "編輯單元格之后, 返回給程序編輯后的值. pgm = sy-repid. "回調(diào)對(duì)象 CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING * I_INTERFACE_CHECK = ' ' * I_BYPASSING_BUFFER = ' ' * I_BUFFER_ACTIVE = ' ' I_CALLBACK_PROGRAM = pgm I_CALLBACK_PF_STATUS_SET = 'PF_STATUS_SET' I_CALLBACK_USER_COMMAND = 'USER_COMMAND' I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE' * I_CALLBACK_HTML_TOP_OF_PAGE = ' ' * I_CALLBACK_HTML_END_OF_LIST = ' ' * I_STRUCTURE_NAME = * I_BACKGROUND_ID = ' ' * I_GRID_TITLE = I_GRID_SETTINGS = LS_SETTING "編輯單元格之后, 返回給程序編輯后的值. IS_LAYOUT = LS_LAYOUT IT_FIELDCAT = LT_FIELDCAT * IT_EXCLUDING = * IT_SPECIAL_GROUPS = IT_SORT = LT_SORT * IT_FILTER = * IS_SEL_HIDE = * I_DEFAULT = 'X' * I_SAVE = ' ' * IS_VARIANT = IT_EVENTS = LT_EVENT * IT_EVENT_EXIT = * IS_PRINT = * IS_REPREP_ID = * I_SCREEN_START_COLUMN = 0 * I_SCREEN_START_LINE = 0 * I_SCREEN_END_COLUMN = 0 * I_SCREEN_END_LINE = 0 * I_HTML_HEIGHT_TOP = 0 * I_HTML_HEIGHT_END = 0 * IT_ALV_GRAPHICS = * IT_HYPERLINK = * IT_ADD_FIELDCAT = * IT_EXCEPT_QINFO = * IR_SALV_FULLSCREEN_ADAPTER = * IMPORTING * E_EXIT_CAUSED_BY_CALLER = * ES_EXIT_CAUSED_BY_USER = TABLES T_OUTTAB = LT_ALVSHOW EXCEPTIONS PROGRAM_ERROR = 1 OTHERS = 2. IF SY-SUBRC <> 0. * Implement suitable error handling here ENDIF.
解釋
1:生成的代碼都是注釋的
2:選擇使用的解除注釋并賦值
8:按鈕操作標(biāo)題欄等配置
代碼
*按鈕 gui FORM FORM_PF_STATUS_SET USING RT_EXTAB TYPE SLIS_T_EXTAB . SET PF-STATUS 'YALVDEMO1_GUI'. ENDFORM. *標(biāo)題 FORM FORM_TOP_OF_PAGE. *定義數(shù)據(jù) 內(nèi)表和工作區(qū) DATA LT_COMMENTARY TYPE SLIS_T_LISTHEADER. DATA WA_COMMENTARY TYPE SLIS_LISTHEADER. WA_COMMENTARY-TYP = 'H' . WA_COMMENTARY-INFO = '飛機(jī)飛行清單' . APPEND WA_COMMENTARY TO LT_COMMENTARY . WA_COMMENTARY-TYP = 'S' . WA_COMMENTARY-INFO = '中號(hào)標(biāo)題' . APPEND WA_COMMENTARY TO LT_COMMENTARY . CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' EXPORTING IT_LIST_COMMENTARY = LT_COMMENTARY. * I_LOGO = * I_END_OF_LIST_GRID = * I_ALV_FORM = ENDFORM. *用戶操作按鈕 FORM FORM_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE SLIS_SELFIELD . data : lt_SFLIGHT TYPE table of SFLIGHT , "內(nèi)表 wa_SFLIGHT type SFLIGHT. "工作區(qū) IF R_UCOMM = 'ZYDD1' . MESSAGE '你觸發(fā)了按鈕' TYPE 'I'. ELSEIF R_UCOMM = 'Z_SAVE1' . select * from SFLIGHT into table lt_SFLIGHT for ALL ENTRIES IN LT_ALVSHOW where CARRID = lt_alvshow-CARRID . ENDIF . loop at lt_SFLIGHT into wa_SFLIGHT . "從工作區(qū)取數(shù) 循環(huán) READ TABLE LT_ALVSHOW into WA_ALVSHOW WITH KEY CARRID = wa_SFLIGHT-CARRID . if sy-SUBRC = 0 . *MESSAGE WA_ALVSHOW-PLANETYPE TYPE 'I'. wa_SFLIGHT-PLANETYPE = WA_ALVSHOW-PLANETYPE . MODIFY lt_SFLIGHT from wa_SFLIGHT. "內(nèi)表更新 ENDIF . CLEAR wa_SFLIGHT . CLEAR WA_ALVSHOW. ENDLOOP. update SFLIGHT from table lt_SFLIGHT. if sy-subrc = 0 . commit work . "數(shù)據(jù)庫(kù)提交 MESSAGE '保存成功' TYPE 'I'. else . ROLLBACK work . MESSAGE '保存失敗' TYPE 'I'. ENDIF. ENDFORM .
總結(jié)
這個(gè)demo 是最簡(jiǎn)單的DEMO 使用的是 系統(tǒng)內(nèi)置表(飛機(jī)表) , 其中包含了用戶操作,排序,求和等常規(guī)用戶操作和界面優(yōu)化 .
常規(guī)語(yǔ)法的通俗使用. 此demo還可以進(jìn)一步優(yōu)化,把常規(guī)重復(fù)性操作寫(xiě)入到函數(shù)或者宏中,后續(xù)會(huì)發(fā)更優(yōu)化版本.
作為入門(mén)demo 可以讓你充分了解ALV ,及ALV 常規(guī)用到的屬性.
以上就是ABAP ALV最常規(guī)寫(xiě)法及常用功能詳解的詳細(xì)內(nèi)容,更多關(guān)于ABAP ALV 寫(xiě)法功能的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
網(wǎng)絡(luò)基礎(chǔ)-數(shù)據(jù)包
本文主要講解數(shù)據(jù)包在網(wǎng)絡(luò)中的生命履歷來(lái)引出一些網(wǎng)絡(luò)基礎(chǔ)知識(shí),介紹的比較詳細(xì),需要了解的小伙伴可以自己參考一下2021-08-08bs架構(gòu)和cs架構(gòu)的區(qū)別_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了bs架構(gòu)和cs架構(gòu)的區(qū)別,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07kali-linux?202202?安裝w3af命令行版的詳細(xì)過(guò)程
這篇文章主要介紹了kali-linux?202202?安裝w3af命令行版,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06Intellij idea2020永久破解,親測(cè)可用?。?!
隨著 IDEA 的 2020 版本的發(fā)布,新增和優(yōu)化了很多的功能,今天來(lái)講一講如何永久破解,親測(cè)可用,對(duì)idea2020永久破解 教程感興趣的朋友可以跟隨小編一起看看吧2020-05-05用asp與php實(shí)現(xiàn)百度ping服務(wù)的代碼
分別用asp與php實(shí)現(xiàn)百度ping服務(wù)的代碼,需要的朋友可以參考下2012-02-02分享下網(wǎng)站開(kāi)發(fā)人員應(yīng)該知道的61件事
有人在Stack Overflow上發(fā)問(wèn),動(dòng)手開(kāi)發(fā)網(wǎng)站之前,需要知道哪些事情,這里簡(jiǎn)單為大家整理下,方便需要的朋友2014-03-03qqwry.dat的數(shù)據(jù)結(jié)構(gòu)圖文解釋
QQwry.dat可以看作是一種數(shù)據(jù)文件,通過(guò)它能完成以下任務(wù)2009-02-02