久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

xcap使用小結1.3

時間:2019-05-13 18:54:22下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《xcap使用小結1.3》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《xcap使用小結1.3》。

第一篇:xcap使用小結1.3

Xcap使用小結 _gyb山窮水復

Xcap是一款比較好用的抓包和發包工具。只需將文件解壓后就可以使用(先安裝Wincap,只要裝了wireshark都會有這個軟件)。

一、第一次打開xcap時,會顯示加載寶文件失敗,是因為默認設置了加載包文件的目錄。打開xcap的后,可以在Configuration 將自動導入文件取消掉。

圖1 打開 xcap

二、選擇網卡

在interface下拉菜單中,選擇Refresh interface,就可以識別pc上的網卡(我的筆記本上的網卡沒有識別,原因還沒找到)。選擇使用的接口后,右鍵選擇Start interface,之后就可以選擇用該接口進行收發報文了。

圖2 選擇網卡

圖 3 使能接口

三、用xcap進行flood攻擊

和wireshark相比Xcap的優點在于對報文的編輯功能,可以對報文的多個字段進行編輯,并且可以發送報文。

首先,創建一個 packet group ,在packet group中,選擇從抓包文件中讀取報文,注意文件的后綴是pcap;或者右鍵直接增加一個報文,然后自己再編輯。我的做法是,抓包文件中只有一個包,xcap讀取后,通過修改報文的id等屬性,就可實現循環發送,形成不同的數據流。

讀入報文后,雙擊報文,就可對報文進行修改,包括mac地址,ip地址,是否帶vlan等等。SYN flood 對tcp flood 可以步長可以設置為1,loop選0,是無限循環。在發包的界面可以選擇發包間隔。

構造好要發送的報文后,可以將文件保存為.xcap文件,下次可以直接使用。

圖4 創建 packet group

圖 5 讀取報文和直接增加報文

TCP flood無限變化源端口

第二篇:sqlldr使用小結

sqlldr使用小結

sqlldr userid=lgone/tiger control=a.ctl

LOAD DATA

INFILE ’t.dat’ // 要導入的文件

// INFILE ’tt.date’ // 導入多個文件

// INFILE * // 要導入的內容就在control文件里 下面的BEGINDATA后面就是導入的內容

INTO TABLE table_name // 指定裝入的表

BADFILE ’c:\bad.txt’ // 指定壞文件地址

************* 以下是4種裝入表的方式

APPEND // 原先的表有數據 就加在后面

// INSERT // 裝載空表 如果原先的表有數據 sqlloader會停止 默認值

// REPLACE // 原先的表有數據 原先的數據會全部刪除

// TRUNCATE // 指定的內容和replace的相同 會用truncate語句刪除現存數據

************* 指定的TERMINATED可以在表的開頭 也可在表的內部字段部分

FIELDS TERMINATED BY ’,’ OPTIONALLY ENCLOSED BY ’“’

// 裝載這種數據: 10,lg,”“"lg”“",”lg,lg“

// 在表中結果: 10 lg ”lg“ lg,lg

// TERMINATED BY X ’0Array’ // 以十六進制格式 ’0Array’ 表示的// TERMINATED BY WRITESPACE // 裝載這種數據: 10 lg lg

TRAILING NULLCOLS ************* 表的字段沒有對應的值時允許為空

************* 下面是表的字段

(col_1 , col_2 ,col_filler FILLER // FILLER 關鍵字 此列的數值不會被裝載

// 如: lg,lg,not 結果 lg lg)

// 當沒聲明FIELDS TERMINATED BY ’,’ 時

//(// col_1 [interger external] TERMINATED BY ’,’ ,// col_2 [date ”dd-mon-yyy“] TERMINATED BY ’,’ , // col_3 [char] TERMINATED BY ’,’ OPTIONALLY ENCLOSED BY ’lg’

//)

// 當沒聲明FIELDS TERMINATED BY ’,’用位置告訴字段裝載數據

//(// col_1 position(1:2),// col_2 position(3:10),// col_3 position(*:16), // 這個字段的開始位置在前一字段的結束位置

// col_4 position(1:16),// col_5 position(3:10)char(8)// 指定字段的類型

//)

BEGINDATA // 對應開始的 INFILE * 要導入的內容就在control文件里

10,Sql,what

20,lg,show

=======================================

//////////// 注意begindata后的數值前面不能有空格***** 普通裝載

LOAD DATA

INFILE *

INTO TABLE DEPT

REPLACE

FIELDS TERMINATED BY ’,’ OPTIONALLY ENCLOSED BY ’”’

(DEPTNO,DNAME,LOC)

BEGINDATA

10,Sales,“"”USA“"”

20,Accounting,“Virginia,USA”

30,Consulting,Virginia

40,Finance,Virginia

50,“Finance”,“",Virginia // loc 列將為空

60,”Finance“,Virginia // loc 列將為空***** FIELDS TERMINATED BY WHITESPACE 和 FIELDS TERMINATED BY x’0Array’ 的情況

LOAD DATA

INFILE *

INTO TABLE DEPT

REPLACE

FIELDS TERMINATED BY WHITESPACE

--FIELDS TERMINATED BY x’0Array’

(DEPTNO,DNAME,LOC)

BEGINDATA Sales Virginia ***** 指定不裝載那一列

LOAD DATA

INFILE *

INTO TABLE DEPT

REPLACE

FIELDS TERMINATED BY ’,’ OPTIONALLY ENCLOSED BY ’”’

(DEPTNO,FILLER_1 FILLER, // 下面的 “Something Not To Be Loaded” 將不會被裝載

DNAME,LOC)

BEGINDATA

20,Something Not To Be Loaded,Accounting,“Virginia,USA” ***** position的列子

LOAD DATA

INFILE *

INTO TABLE DEPT

REPLACE

(DEPTNO position(1:2),DNAME position(*:16), // 這個字段的開始位置在前一字段的結束位置

LOC position(*:2Array),ENTIRE_LINE position(1:2Array))

BEGINDATA

10Accounting Virginia,USA

***** 使用函數 日期的一種表達 TRAILING NULLCOLS的使用

LOAD DATA

INFILE *

INTO TABLE DEPT

REPLACE

FIELDS TERMINATED BY ’,’

TRAILING NULLCOLS // 其實下面的ENTIRE_LINE在BEGINDATA后面的數據中是沒有直接對應

// 的列的值的 如果第一行改為

10,Sales,Virginia,1/5/2000, 就不用TRAILING NULLCOLS了

(DEPTNO,DNAME “upper(:dname)”, // 使用函數

LOC “upper(:loc)”,LAST_UPDATED date ’dd/mm/yyyy’, // 日期的一種表達方式 還有’dd-mon-yyyy’ 等

ENTIRE_LINE “:deptno||:dname||:loc||:last_updated”)

BEGINDATA

10,Sales,Virginia,1/5/2000

20,Accounting,Virginia,21/6/1ArrayArrayArray 30,Consulting,Virginia,5/1/2000

40,Finance,Virginia,15/3/2001 ***** 使用自定義的函數 // 解決的時間問題

create or replace

function my_to_date(p_string in varchar2)return date

as

type fmtArray is table of varchar2(25);

l_fmts fmtArray := fmtArray(’dd-mon-yyyy’, ’dd-month-yyyy’,’dd/mm/yyyy’,’dd/mm/yyyy hh24:mi:ss’);

l_return date;

begin

for i in 1..l_fmts.count

loop

begin

l_return := to_date(p_string, l_fmts(i));

exception

when others then null;

end;EXIT when l_return is not null;

end loop;

if(l_return is null)

then

l_return :=

new_time(to_date(’01011Array70’,’ddmmyyyy’)+ 1/24/60/60 *

p_string, ’GMT’, ’EST’);

end if;

return l_return;

end;

/

LOAD DATA

INFILE *

INTO TABLE DEPT

REPLACE

FIELDS TERMINATED BY ’,’

TRAILING NULLCOLS

(DEPTNO, DNAME “upper(:dname)”,LOC “upper(:loc)”,LAST_UPDATED “my_to_date(:last_updated)” // 使用自定義的函數)

BEGINDATA

10,Sales,Virginia,01-april-2001

20,Accounting,Virginia,13/04/2001

30,Consulting,Virginia,14/04/2001 12:02:02

40,Finance,Virginia,Array872682Array7

50,Finance,Virginia,02-apr-2001

60,Finance,Virginia,Not a date ***** 合并多行記錄為一行記錄

LOAD DATA

INFILE *

concatenate 3 // 通過關鍵字concatenate 把幾行的記錄看成一行記錄

INTO TABLE DEPT

replace

FIELDS TERMINATED BY ’,’

(DEPTNO, DNAME “upper(:dname)”,LOC “upper(:loc)”,LAST_UPDATED date ’dd/mm/yyyy’)

BEGINDATA

10,Sales, // 其實這3行看成一行 10,Sales,Virginia,1/5/2000

Virginia,1/5/2000

// 這列子用 continueif list=“,” 也可以

告訴sqlldr在每行的末尾找逗號 找到逗號就把下一行附加到上一行

LOAD DATA

INFILE *

continueif this(1:1)= ’-’ // 找每行的開始是否有連接字符-有就把下一行連接為一行

// 如-10,Sales,Virginia,// 1/5/2000 就是一行 10,Sales,Virginia,1/5/2000

// 其中1:1 表示從第一行開始 并在第一行結束 還有continueif next 但continueif list最理想

INTO TABLE DEPT replace

FIELDS TERMINATED BY ’,’

(DEPTNO,DNAME “upper(:dname)”,LOC “upper(:loc)”,LAST_UPDATED date ’dd/mm/yyyy’)

BEGINDATA // 但是好象不能象右面的那樣使用

-10,Sales,Virginia,-10,Sales,Virginia,1/5/2000 1/5/2000

-40, 40,Finance,Virginia,13/04/2001

Finance,Virginia,13/04/2001 ***** 載入每行的行號

load data

infile *

into table t

replace

(seqno RECNUM //載入每行的行號

text Position(1:1024))

BEGINDATA fsdfasj //自動分配一行號給載入 表t 的seqno字段 此行為 1

fasdjfasdfl // 此行為 2...Array ***** 載入有換行符的數據

注意: unix 和 windows 不同 \\n & /n

< 1 > 使用一個非換行符的字符

LOAD DATA

INFILE *

INTO TABLE DEPT

REPLACE

FIELDS TERMINATED BY ’,’

TRAILING NULLCOLS

(DEPTNO,DNAME “upper(:dname)”,LOC “upper(:loc)”,LAST_UPDATED “my_to_date(:last_updated)”,COMMENTS “replace(:comments,’\n’,chr(10))” // replace 的使用幫助轉換換行符)

BEGINDATA

10,Sales,Virginia,01-april-2001,This is the Sales\nOffice in Virginia

20,Accounting,Virginia,13/04/2001,This is the Accounting\nOffice in Virginia

30,Consulting,Virginia,14/04/2001 12:02:02,This is the Consulting\nOffice in Virginia

40,Finance,Virginia,Array872682Array7,This is the Finance\nOffice in Virginia

< 2 > 使用fix屬性

LOAD DATA

INFILE demo17.dat “fix 101”

INTO TABLE DEPT

REPLACE

FIELDS TERMINATED BY ’,’

TRAILING NULLCOLS

(DEPTNO,DNAME “upper(:dname)”,LOC “upper(:loc)”,LAST_UPDATED “my_to_date(:last_updated)”,COMMENTS)

demo17.dat 10,Sales,Virginia,01-april-2001,This is the Sales

Office in Virginia

20,Accounting,Virginia,13/04/2001,This is the Accounting

Office in Virginia

30,Consulting,Virginia,14/04/2001 12:02:02,This is the Consulting

Office in Virginia

40,Finance,Virginia,Array872682Array7,This is the Finance

Office in Virginia

// 這樣裝載會把換行符裝入數據庫 下面的方法就不會 但要求數據的格式不同

LOAD DATA

INFILE demo18.dat “fix 101”

INTO TABLE DEPT

REPLACE

FIELDS TERMINATED BY ’,’ OPTIONALLY ENCLOSED BY ’“’

TRAILING NULLCOLS

(DEPTNO, DNAME ”upper(:dname)“,LOC ”upper(:loc)“,LAST_UPDATED ”my_to_date(:last_updated)“,COMMENTS)

demo18.dat

10,Sales,Virginia,01-april-2001,”This is the Sales

Office in Virginia“

20,Accounting,Virginia,13/04/2001,”This is the Accounting

Office in Virginia“

30,Consulting,Virginia,14/04/2001 12:02:02,”This is the Consulting

Office in Virginia“

40,Finance,Virginia,Array872682Array7,”This is the Finance

Office in Virginia“

< 3 > 使用var屬性

LOAD DATA

INFILE demo1Array.dat ”var 3“

// 3 告訴每個記錄的前3個字節表示記錄的長度 如第一個記錄的 071 表示此記錄有 71 個字節

INTO TABLE DEPT

REPLACE

FIELDS TERMINATED BY ’,’

TRAILING NULLCOLS

(DEPTNO,DNAME ”upper(:dname)“,LOC ”upper(:loc)“,LAST_UPDATED ”my_to_date(:last_updated)“,COMMENTS)

demo1Array.dat

07110,Sales,Virginia,01-april-2001,This is the Sales

Office in Virginia

07820,Accounting,Virginia,13/04/2001,This is the Accounting

Office in Virginia

08730,Consulting,Virginia,14/04/2001 12:02:02,This is the Consulting

Office in Virginia

07140,Finance,Virginia,Array872682Array7,This is the Finance

Office in Virginia

< 4 > 使用str屬性

// 最靈活的一中 可定義一個新的行結尾符 win 回車換行 : chr(13)||chr(10)

此列中記錄是以 a|\r\n 結束的select utl_raw.cast_to_raw(’|’||chr(13)||chr(10))from dual;

結果 7C0D0A

LOAD DATA

INFILE demo20.dat ”str X’7C0D0A’“

INTO TABLE DEPT

REPLACE

FIELDS TERMINATED BY ’,’

TRAILING NULLCOLS

(DEPTNO,DNAME ”upper(:dname)“,LOC ”upper(:loc)“,LAST_UPDATED ”my_to_date(:last_updated)",COMMENTS)

demo20.dat 10,Sales,Virginia,01-april-2001,This is the Sales

Office in Virginia|

20,Accounting,Virginia,13/04/2001,This is the Accounting

Office in Virginia|

30,Consulting,Virginia,14/04/2001 12:02:02,This is the Consulting

Office in Virginia|

40,Finance,Virginia,Array872682Array7,This is the Finance

Office in Virginia|

================================

象這樣的數據 用 nullif 子句

10-jan-200002350Flipper seemed unusually hungry today.10510-jan-20000ArrayArray45Spread over three meals.id position(1:3)nullif id=blanks // 這里可以是blanks 或者別的表達式

// 下面是另一個列子 第一行的 1 在數據庫中將成為 null

LOAD DATA INFILE *

INTO TABLE T

REPLACE

(n position(1:2)integer external nullif n=’1’,v position(3:8))

BEGINDATA 10

20lg

-----------------------------

第三篇:GridCtrl使用小結

http://www.tmdps.cn/

GridCtrl使用詳解

CGridCtrl類主要是通過grid樣式顯示數據 在單文檔中的使用方法

步驟一 初始化 在CView類的.h頭文件中包含文件:

#include “Gridctrl.h” 并且手寫加入如下的成員函數:

CGridCtrl * m_pGridCtrl;步驟二 構造與析構 構造函數中:

m_pGridCtrl = NULL;析構函數中:

if(m_pGridCtrl)

delete m_pGridCtrl;步驟三 如果需要打印功能的話添加同名打印函數代碼 在CView類的OnBeginPrinting()函數中添加如下代碼: if(m_pGridCtrl)

m_pGridCtrl->OnBeginPrinting(pDC,pInfo);//簡單吧,這就是類的好處其它兩個打印函數也一樣的做法.步驟四 在OnInitaUpdate()函數中或者你自己添加的要顯示Grid的消息函數中如下初始化: //創建非模式對話框 CDlg *dlg;dlg=new CDlg();dlg->Create(IDD_Dlg,this);

//初始化GridCtrl控件 if(m_pGridCtrl!=NULL){ deletem_pGridCtrl;m_pGridCtrl=NULL;} if(m_pGridCtrl == NULL){ // Create the Gridctrl object m_pGridCtrl = new CGridCtrl;if(!m_pGridCtrl)return 0;// Create the Gridctrl window CRectrect;GetClientRect(rect);m_pGridCtrl->Create(rect, this, 100);// fill it up with stuff m_pGridCtrl->SetEditable(false);m_pGridCtrl->SetTextBkColor(RGB(0xFF, 0xFF, 0xE0));//黃色背景 m_pGridCtrl->EnableDragAndDrop(false);try { m_pGridCtrl->SetRowCount(k);//設置行數為k行 m_pGridCtrl->SetColumnCount(4);//k列

m_pGridCtrl->SetFixedRowCount(1);//標題行為一行

http://www.tmdps.cn/

m_pGridCtrl->SetFixedColumnCount(1);//同上 } catch(CMemoryException* e){ e->ReportError();e->Delete();return 0;} //填充列標題 int row=0;for(int col=0;col<4;col++){ GV_ITEM Item;Item.mask = GVIF_TEXT|GVIF_FORMAT;Item.row = row;Item.col = col;if(col==0){ Item.nFormat = DT_CENTER|DT_WORDBREAK;Item.strText.Format(_T(“【類別】”),col);} else if(col==1){ Item.nFormat = DT_LEFT|DT_WORDBREAK;Item.strText.Format(_T(“第一列”),col);} else if(col==2){ Item.nFormat = DT_LEFT|DT_WORDBREAK;Item.strText.Format(_T(“第二列”),col);} m_pGridCtrl->SetItem(&Item);} // fill rows/cols with text for(row = 1;row < k;row++)for(col = 0;col < h;col++){ GV_ITEM Item;Item.mask = GVIF_TEXT|GVIF_FORMAT;Item.row = row;Item.col = col;if(col < 1){ //行標題頭

Item.nFormat = DT_CENTER|DT_VCENTER |DT_SINGLELINE|DT_END_ELLIPSIS |DT_NOPREFIX;Item.strText.Format(_T(“%d”),row);

http://www.tmdps.cn/

} else if(col==1){ //第一列的值 Item.nFormat = DT_CENTER|DT_VCENTER |DT_SINGLELINE|DT_END_ELLIPSIS |DT_NOPREFIX;str=“aa”;Item.strText.Format(_T(“%s”),str);}else if(col==2){ //第二列第值 Item.nFormat = DT_CENTER|DT_VCENTER |DT_SINGLELINE|DT_END_ELLIPSIS |DT_NOPREFIX;CStringstr;str=“bb”;Item.strText.Format(_T(“%s”),str);} m_pGridCtrl->SetItem(&Item);} m_pGridCtrl->AutoSize();

//--------------設置行列距------------------for(int a=1;aSetRowHeight(a,21);//設置各行高 m_pGridCtrl->SetRowHeight(0,24);//設置0行高 m_pGridCtrl->SetColumnWidth(1,110);//設置2列寬 m_pGridCtrl->SetColumnWidth(2,160);//設置3列寬 m_pGridCtrl->SetColumnWidth(3,100);//設置4列寬 } 上例取自實際工程,稍有修改!部分注釋: void SetVirtualMode(TRUE)//設為虛模式 BOOL SetRowCount(intnRows)//設置總的行數。BOOL SetFixedRowCount(intnFixedRows = 1)//設置固定的行數據 BOOL SetColumnCount(intnCols)//設置列數 BOOL SetFixedColumnCount(intnFixedCols = 1)//設置固定的列數

步驟五: 添加WM_SIZE消息,調整控件的界面占屏幕大小

if(m_pGridCtrl->GetSafeHWnd())

{

CRectrect;

GetClientRect(rect);

m_pGridCtrl->MoveWindow(rect);

}

在對話框中的使用方法 步驟一 創建數據顯示表格對話框

在資源管理器中新創建一個對話框,假設為CDlgTestReportBox。從工具箱中加入Custom Control,就是人頭像的那個,將其區域拉伸至要顯示數據表格的大小,充滿整個對話框。

在CDlgTestReportBox類的頭文件中: #include “GridCtrl.h”

http://www.tmdps.cn/

再定義成員變量: CGridCtrl* m_pGrid;添加OnShowWindow()消息處理函數如下:

voidCDlgTestReportBox::OnShowWindow(BOOL bShow, UINT nStatus){ CDialog::OnShowWindow(bShow, nStatus);// TODO: Add your message handler code here if(m_pGrid!=NULL){ deletem_pGrid;m_pGrid=NULL;} if(m_pGrid==NULL){ m_pGrid=new CGridCtrl;CRectrect;GetDlgItem(IDC_ReportAera)->GetWindowRect(rect);//得到顯示區域 ScreenToClient(&rect);m_pGrid->Create(rect,this,100);m_pGrid->SetEditable(false);m_pGrid->SetTextBkColor(RGB(0xFF, 0xFF, 0xE0));//黃色背景 try { m_pGrid->SetRowCount(10);//初始為10行

m_pGrid->SetColumnCount(11);//初始化為11列 m_pGrid->SetFixedRowCount(1);//表頭為一行 m_pGrid->SetFixedColumnCount(1);//表頭為一列 } catch(CMemoryException* e){ e->ReportError();e->Delete();// return FALSE;} for(int row = 0;row GetRowCount();row++)for(int col = 0;col GetColumnCount();col++){ //設置表格顯示屬性 GV_ITEM Item;Item.mask = GVIF_TEXT|GVIF_FORMAT;Item.row = row;Item.col = col;if(row==0&&col==0)//第(0,0)格

http://www.tmdps.cn/

{ Item.nFormat = DT_CENTER|DT_WORDBREAK;Item.szText.Format(_T(“報表顯示”),col);} else if(row < 1)//設置0行表頭顯示 { Item.nFormat = DT_CENTER|DT_WORDBREAK;Item.szText.Format(_T(“ 項目%d”),col);} else if(col < 1)//設置0列表頭顯示 { if(rowGetRowCount()-4){ Item.nFormat = DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS;Item.szText.Format(_T(“第%d次”),row);} } else { Item.nFormat = DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS;Item.szText.Format(_T(“"),2);} m_pGrid->SetItem(&Item);} m_pGrid->Invalidate();} //--------------設置行列距------------------for(int a=0;aGetRowCount();a++)m_pGrid->SetRowHeight(a,16);//設置各行高 m_pGrid->SetColumnWidth(0,58);//設置0列寬 for(int b=1;bGetColumnCount();b++)m_pGrid->SetColumnWidth(b,59);//設置各列寬 }

步驟二 嵌入上面的對話框 顯示數據

在你需要顯示數據的對話框上的頭文件中,假設為CDlgTest,加入 #include ”GridCtrl.h“ CDlgTestReportBox* m_pTestReportBox;將數據顯示對話框放入你的對話框相應位置上,在CDlgTest::OnInitDialog()中:

if(!m_pTestReportBox){

m_pTestReportBox=new CDlgTestReportBox(this);} m_pTestReportBox->Create(IDD_DlgTestReportBox,this);

http://www.tmdps.cn/

//定義區域變量 CRectrectDraw;GetDlgItem(IDC_AeraReport)->GetWindowRect(rectDraw);ScreenToClient(&rectDraw);//動態測試數據顯示區域rectDraw //將對應的對話框放到指定區域 m_pTestReportBox->MoveWindow(rectDraw);m_pTestReportBox->ShowWindow(SW_SHOW);自定義填充數據的函數:CDlgTest::FillGrid()如下: CGridCtrl* pGrid=m_pTestReportBox->m_pGrid;for(int row = pGrid->GetRowCount()-1;row >= pGrid->GetRowCount()-3;row--){ for(int col = 1;col <= pGrid->GetColumnCount();col++){ GV_ITEM Item;Item.mask = GVIF_TEXT|GVIF_FORMAT;Item.row = row;Item.col = col;if(row==pGrid->GetRowCount()-3&&col>0)//平均值 { if(col==10){ Item.nFormat = DT_CENTER|DT_WORDBREAK;Item.szText.Format(_T(” %6.2f “),avjch);} else{ Item.nFormat = DT_CENTER|DT_WORDBREAK;Item.szText.Format(_T(” %6.2f “),av[col-1]);} } pGrid->SetItem(&Item);//提交數據 if(row==0||col==0){ COLORREF clr = RGB(0, 0, 0);pGrid->SetItemBkColour(row, col, clr);pGrid->SetItemFgColour(row, col, RGB(255,0,0));} }//循環結束

pGrid->Invalidate();} CGRIFCTRL原理:

DBGRID和一般的GRID的不同之處在于,一般的GRID并不適合顯示大的數據量,如果一個表中有上萬條記錄都要插入到GRID中,這將是一個很慢的過程,并且在GRID中移動滾動條時,它的記錄的滾動也是很慢。而DBGRID并不會真正把這些記錄的數據全部插入到控件中,當DBGRID的滾動條滾動時,它會根據DBGRID的顯示面積的大小和查詢得到的總記錄數計算出當前應該顯示哪些行,然后插入

http://www.tmdps.cn/

到表格中,這樣一來,速度肯定快,而且沒有數據量多少的限制。幸運的是,CGridCtrl類已經為我們提供了這種機制,它是采用虛模式實現的。使用這種方式,即使你向這個該控件插入一百萬條數據,它并不會真的生成一百萬行,而是隨著你的滾動條的滾動,計算出在屏幕上要顯示的行和列,然后會向你提供一個接口,通過這個接口,你可以在這兒設置你要顯示的數據。下面給出使用CGridCtrl控件的虛模式的步驟: 步驟一 初始化

在視圖的初始化函數里添加如下代碼:

void SetVirtualMode(TRUE)

設為虛模式

BOOL SetRowCount(intnRows)

設置總的行數。

BOOL SetFixedRowCount(intnFixedRows = 1)

設置固定的行數據 BOOL SetColumnCount(intnCols)

設置列數 BOOL SetFixedColumnCount(intnFixedCols = 1)設置固定的列數 步驟二 響應消息 顯示數據

我們假設CGridCtrl是放在單文檔視圖中,而且它關聯的變量是m_GridCtrl,利用ClassWizard添加視圖的OnNotify響應函數。這個響應函數的寫法是固定的,類似下面的代碼:

BOOL CGridCtrlTestView::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult){ if(wParam ==(WPARAM)m_Grid.GetDlgCtrlID()){ *pResult = 1;GV_DISPINFO *pDispInfo =(GV_DISPINFO*)lParam;if(GVN_GETDISPINFO == pDispInfo->hdr.code){ //這是添加的函數,在這個函數里設置當前要顯示的數據 SetGridItem(pDispInfo);return TRUE;} } returnCGridCtrlTestView::OnNotify(wParam, lParam, pResult);} 在上面的代碼中,SetGridItem(pDispInfo)是添加的函數,在這個函數里我們設置當前要顯示的數據。pDispInfo是一個GV_DISPINFO的結構體對象,它包含了每個單元格的信息,如行號,列號,有沒有位圖,背景色,前景色等。CGRIDCTRL會把當前要顯示那個單元格行號,列號傳遞給我們,我們只要設置里面顯示的數據就可以了。如下面是一個顯示數據的例子。

voidCGridCtrlTestView::SetGridItem(GV_DISPINFO *pDispInfo){

pDispInfo->item.strText.Format(”row%d,col%d",pDispInfo->it

http://www.tmdps.cn/

em.row, pDispInfo->item.col);}

第四篇:git使用小結

git使用小結

1.git-config 配置git,一般需要配置的是user.name,user.email,有時sendemail.smtpserver也要配置,比如,我使用msmtp:

git-config –global sendemail.smtpserver /usr/local/bin/msmtp 如果你僅僅是想給這一個項目配置,把–global選項去掉。查看配置的選項是–list。2.git-pull git-pull沒必要帶后面那長長的url(-_-b 我那么用了好多次,不過我用的是!git-pull)。如果你在給Linux內核這樣的項目工作,記得git-pull之前檢查是不是在master分支。3.git-format-patch 如果發送多于一個補丁,最好用[PATCH n/m]的形式,加上-n。加signed-off-by那行是-s。指定為幾次commit生成補丁,直接加數字,比如,$ git-format-patch-3 檢查補丁是–check,最好加上這個。4.git-send-email 如果一次提交補丁比較多,最好用–no-chain-reply-to,因為如果不用的話,在thread嵌套會太深,不利于別人閱讀。這個也可以通過選項sendemail.chainreplyto來控制。–signed-off-by-cc,要加上,可以省去手工處理的麻煩。–compose用來編輯[PATCH 0/m],這個一般是對整個patchset的描述。–smtp-server,如果你不想用git-config指定的話,用它也行。–cc和–to就不用說了。5.git-commit 在git-commit之前最好git-add。git-commit幾個常用的選項有:-s 會增加Signed-off-by行,-e編輯commit message,-a表示all,-m是指定commit信息。同樣,刪除文件是先git-rm。查看commit列表用git-rev-list,查看某個commit用git-show,查看commit的日志用git-log,-p是以補丁的形式查看。6.其它 git-diff也可以比較不同版本之間的差異,某個版本的某個文件的差異,如: $ git-diff v2.6.22 $ git diff v2.6.20 init/main.c $ git-diff v2.6.23 v2.6.24-rc1 init/main.c git-whatchanged也差不多: $ git-whatchanged-p init/main.c 7.錯誤提交了commit怎么辦? a)git-revert 這個本身就會產生一個commit,如果用得多了會讓你的log看起來不那么干凈。;-)b)git-reset 用這個要當心,它會把那個commit之后的commit全部刪除。一個好的辦法是:先建立一個臨時的分支,然后再git-reset,再git-rebase,最后再刪除臨時的分支。詳細可以看這里。

第五篇:ICC使用小結

ICC使用小結

(1)ICC的輸入文件

MilkyWay(physical library),TLUPlus文件(interconnect文件),lib文件(logical library),netlist,constraints(sdc),floorplan文件(.fp或.def)

由于ICC會使用MilkyWay數據格式,因此有必要先熟悉MilkyWay格式的產生。

(2)ICC的步驟流程

ICC的流程如下:(1)import design(netlist/sdc/database)——(2)create_floorplan或adjust floorplan——(3)placement ——(4)cts——(5)route——(6)final signoff(3)具體每一步過程及注意點(操作點)(4)Import design具體操作:

set_link_library xxx set_target_library xxx create_mu_lib design_library –technology xxx.tf –mw_reference_library ref_library open set_tlu_plus_file –max_tluplus max_file –min_tluplus min_file –tech2itf_map map_file read_verilog xxx.v current_design xxx link read_def xxx.def derive_pg_connection –power_net xxx_power_net –power_pin xxx_power_pin –ground_net xxx_ground_net –ground_pin xxx_ground_pin derive_pg_connection –power_net xxx_power_net –power_pin xxx_power_pin –ground_net xxx_ground_net –ground_pin xxx_ground_pin-tie read_floorplan xxx.fp或新創建一個floorplan接下來的任務了。

(5)Create_floorplan具體操作:

Create_floorplan針對讀入的設計以及def,開始進行floorplan的規劃,包括IO以及macro的擺放,電源規劃等。

首先要創建一個floorplan,創建floorplan之前需要讀入IO的約束信息,3101項目將IO視作macro對待。具體的io constraint信號可以使用set_pad_physical_constraints來設置。

Create_floorplan –control_type width_and_height –core_width xxx –core_height xxx Remove_terminal *-keep_macro_place –keep_std_cell_place,只有設置了keep之后,才能create_fp_place完成,否則會報utility超出。

設置好floorplan之后就需要對macro和standcell進行place了。Macro的place可以使用腳本set_obj*和set_attribute來設置,而standcell可以使用create_fP_placement來完成。這個過程中先需要設置placement以及route的blockage。create_place_blockage和create_route_guide來完成blockage的設置。

接著設置在Design Planning的task任務下,進行place macros和standcells。或者使用create_fp_placement –timing_driven –no_hierarchy_gravity 設置完macro和standcell之后,就可以進行電源規劃了,可以通過產生power_ring或power_strap來進行。create_power_strap –direction horizontal –net {VDD12 VSS_PAD} –layer M5 –configure step_end_stop –start_at 1290 –stop 2170 –step 50 –width 5 –start_low_ends coordinate –start_low_ends_coordinate 583 –start_high_ends coordinate –start_high_ends_coordinate 1710 –extend_low_ends off –extend_high_ends off –keep_floating_wire_pieces –ignore_parallel_targets –define_parallel_targets_by_wire_directions 下面對上面這個strap的創建進行解釋說明下,上面的power_strap表示要在位置區域為{{1290 583} {2170 1710}}的方形區域創建間距為50,線寬為5的水平方向power_strap。

(6)placement的具體操作

place_opt進行之前需要先查看report_constraints –all看看主要的violation是哪些,同時也應該查看congestion情況以選擇合適的place_opt策略。也需要檢查設計及物理信息,check_physical_design –for_placement以及check_design –physical,設置set_ignore_layers –max/-min,接著create_placement –timing_driven/-congestion等,若有congestion,可以設置set_congestion_options來設置合理的值,設置好placement的一些參數后,可以進行place_opt了。

(7)cts的具體操作

cts可以通過GUI—>New Clock Tree Synthesis Window/New Interactive CTS Window查看時鐘樹的直觀形狀,可以設置clock_routing_rule來合理安排時鐘樹的線寬(NDR,Non-Default Rule)。設置OCV和bc_wc的工作條件。

(8)route的具體操作

需要先check_physical_design –for_routing檢查布線的物理設計,以及check_routeability。Set_route_options可以設置route設置相關的選項,route_opt包括route clock nets,route signal nets,set_route_opt_strategy可以設置route相關的策略。分析route的結果可以使用verify_route和verify_drc(使用hercules),postroute delay calculation using Arnoldi algorithm。考慮si的route需要設置set_si_options。Spread_eco_cells/insert_spare_cells,place_freezen_silicon/route_eco

下載xcap使用小結1.3word格式文檔
下載xcap使用小結1.3.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    Heritrix使用小結

    Heritrix使用小結 1. Heritrix 簡介 Heritrix是一個專門為互聯網上的網頁進行存檔而開發的網頁檢索器。它使用Java編寫并且完全開源。它主要的用戶界面可以通過一個web流量......

    Latex使用小結

    LATEX使用小結2010-10-03 09:04:49| 分類: 默認分類|字號 訂閱 原文地址:LATEX使用小結作者:丁三家的小包子 虛擬打印機轉換eps格式 1. 建立一個虛擬打印機:控制面板->printer......

    NB-IOT使用小結

    一、NB-IOT簡介 萬物互聯的時代正以極其迅速的腳步走進我們的生活,據估計2020年大約有500億臺設備連接到互聯網。而實現萬物互聯的基礎之一在于安全、可靠的數據傳輸。隨著5G......

    LoadRunner檢查點使用小結

    LoadRunner檢查點使用小結 LR中檢查點有兩種:圖片和文字。這兩種檢查點可用以下三個函數實現:web_find()、web_reg_find()和web_image_check() 下面分別介紹三種函數的用法 1......

    LoadRunner檢查點使用小結

    LR中檢查點有兩種:圖片和文字。 常用檢查點函數如下: 1)web_find()函數用于從 HTML 頁中搜索指定的文本字符串; 2)web_reg_find()函數注冊一個請求,以在下一個操作函數(如 web_url)......

    GIS使用技術小結

    GIS實用技巧小結01 1、用圖框或范圍顯示自己想實現的內容 Data Frame Properties —— Data Frame 下設置Clip Option屬性。(在Exclude Layer中選擇需顯示的內容,,選中選擇)。 2......

    Wireshark的簡單使用小結

    Wireshark的簡單使用小結 Wireshark(前稱Ethereal)是一個網絡封包分析軟件。網絡封包分析軟件的功能是截取網絡封包,并盡可能顯示出最為詳細的網絡封包資料。在過去,網絡封包......

    體育室使用小結

    2012小學體育器材保管員個人工作總結 我熱愛祖國,擁護中國共產黨的領導 ; 遵紀守法,自覺遠離 “ 黃、賭、毒 ” ,自覺維護**團結的局面,促進社會和諧。 讀哲學、讀文學,從書中認識......

主站蜘蛛池模板: 熟妇的奶头又大又长奶水视频| 伴郎粗大的内捧猛烈进出视频观看| 亚洲综合中文字幕无线码| av国産精品毛片一区二区三区| 日韩乱码人妻无码中文字幕| 天堂√在线中文官网在线| 影音先锋男人av鲁色资源网| 女被男啪到哭的视频网站| 精品国产粉嫩内射白浆内射双马尾| 国语自产精品视频在线看| 国产欧美日韩亚洲更新| 国产大片黄在线观看| 欧美疯狂性受xxxxx喷水| 久久人人爽人人爽人人片av高请| 国产色视频免费| 老师黑色丝袜被躁翻了av| 久久精品中文字幕无码绿巨人| av国内精品久久久久影院| 色播在线精品一区二区三区四区| 亚洲av无码之日韩精品| 东北少妇不戴套对白第一次| 裸体女人高潮毛片| 亚洲另类欧美综合久久图片区| 欧洲美女黑人粗性暴交| 日韩人妻少妇一区二区| 99香蕉国产精品偷在线观看| 日韩毛片无码永久免费看| 久久精品女同亚洲女同| 狠狠色婷婷久久一区二区三区| 天天躁日日躁狠狠躁超碰97| 亚洲精品国偷自产在线99正片| 久久午夜无码鲁丝片直播午夜精品| 人人妻人人添人人爽欧美一区| 午夜福利国产成人无码gif动图| 日韩人妻无码精品专区综合网| 亚洲成av人片无码不卡播放器| 伊人久久大香线蕉午夜| 少妇又紧又深又湿又爽视频| 国产网友愉拍精品视频手机| 色猫咪免费人成网站在线观看| 国产亚洲aⅴ在线电影|