Grid++Report
来源:互联网 发布:淘宝代销分账在哪找呢 编辑:程序博客网 时间:2024/06/06 04:37
function TFrm_Sds_TzxmMxb.Addrptheader():boolean;
var
Line: IGRLine;
StaticBox:IGRStaticBox;
memobox:IGRMemoBox ;
titleleft:double;
begin
result:=false;
try
grd.Title:='调整事项明细表';
//页眉
grd.PageHeader.Height :=1.01;
grd.PageHeader.Name:='pagehead';
//页眉左显示单位
StaticBox:=grd.PageHeader.Controls.Add(grctStaticBox).AsStaticBox;
StaticBox.Name:='pageheadleft';
grd.ControlByName('pageheadleft').AsStaticBox.Width:=8.00;
grd.ControlByName('pageheadleft').AsStaticBox.Dock:=grdsLeft;
grd.ControlByName('pageheadleft').AsStaticBox.TextAlign :=grtaMiddleLeft;
grd.ControlByName('pageheadleft').AsStaticBox.Font.Name :='宋体';
grd.ControlByName('pageheadleft').AsStaticBox.Font.Point :=9;
grd.ControlByName('pageheadleft').AsStaticBox.Text:='单位:'+s_nsrmc; //单位名称
//页眉右显示页数页码
memobox:=grd.PageHeader.Controls.Add(grctMemoBox).AsMemoBox;
memobox.Name:='pageheadright';
grd.ControlByName('pageheadright').AsMemoBox.Width:=8.00;
grd.ControlByName('pageheadright').AsMemoBox.Dock:=grdsRight ;
grd.ControlByName('pageheadright').AsMemoBox.TextAlign :=grtaMiddleRight;
grd.ControlByName('pageheadright').AsMemoBox.Font.Name :='宋体';
grd.ControlByName('pageheadright').AsMemoBox.Font.Point :=9;
grd.ControlByName('pageheadright').AsMemoBox.Text:='第[#SystemVar(PageNumber)#]页 共[#SystemVar(PageCount)#]页';
except on e:exception do
begin
result:=false;
PFunSds.ShowMessageOK('页眉错误:'+e.Message) ;
exit;
end
end;
try
//页脚
grd.PageFooter.Height :=0.79;
grd.PageFooter.Name:='pagefoot';
//页脚左打印日期
memobox:=grd.PageFooter.Controls.Add(grctMemoBox).AsMemoBox;
memobox.Name:='PageFooterleft';
grd.ControlByName('PageFooterleft').AsMemoBox.Width:=8.00;
grd.ControlByName('PageFooterleft').AsMemoBox.Dock:=grdsLeft ;
grd.ControlByName('PageFooterleft').AsMemoBox.TextAlign :=grtaMiddleLeft;
grd.ControlByName('PageFooterleft').AsMemoBox.Font.Name :='宋体';
grd.ControlByName('PageFooterleft').AsMemoBox.Font.Point :=9;
grd.ControlByName('PageFooterleft').AsMemoBox.Text:='打印日期:[#SystemVar(currentdatetime):yyyy年MM月dd日#]';
//页脚右
StaticBox:=grd.PageFooter.Controls.Add(grctStaticBox).AsStaticBox;
StaticBox.Name:='PageFooteright';
grd.ControlByName('PageFooteright').AsStaticBox.Width:=8.00;
grd.ControlByName('PageFooteright').AsStaticBox.Dock:=grdsRight;
grd.ControlByName('PageFooteright').AsStaticBox.TextAlign :=grtaMiddleRight;
grd.ControlByName('PageFooteright').AsStaticBox.Font.Name :='宋体';
grd.ControlByName('PageFooteright').AsStaticBox.Font.Point :=9;
grd.ControlByName('PageFooteright').AsStaticBox.Text:='[企友软件]'; //单位名称
except on e:exception do
begin
result:=false;
PFunSds.ShowMessageOK('页脚错误:'+e.Message) ;
exit;
end
end;
try
//页眉页脚下划线
Line:=grd.PageHeader.Controls.Add(grctLine).AsLine;
Line.Name:='pageheadleftlin';
grd.ControlByName('pageheadleftlin').AsLine.Top :=0.95;
grd.ControlByName('pageheadleftlin').AsLine.X1 :=0.00;
grd.ControlByName('pageheadleftlin').AsLine.Width :=80.00;
Line:=grd.PageFooter.Controls.Add(grctLine).AsLine;
Line.Name:='PageFooterleftlin';
grd.ControlByName('PageFooterleftlin').AsLine.Top :=0.15;
grd.ControlByName('PageFooterleftlin').AsLine.X1 :=0.00;
grd.ControlByName('PageFooterleftlin').AsLine.Width :=80.00;
except on e:exception do
begin
result:=false;
PFunSds.ShowMessageOK('划线错误:'+e.Message) ;
exit;
end
end;
//表头
try
grd.ReportHeader[1].Height :=2.01;
grd.ReportHeader[1].Name:='ReportHeade';
grd.ReportHeader[1].RepeatOnPage :=true;
StaticBox:=grd.ReportHeader[1].Controls.Add(grctStaticBox).AsStaticBox;
StaticBox.Name:='Headetitle';
grd.ControlByName('Headetitle').AsStaticBox.Width:=5.00;
grd.ControlByName('Headetitle').AsStaticBox.Height :=1.20;
grd.ControlByName('Headetitle').AsStaticBox.Center:=grcsHorizontal;
grd.ControlByName('Headetitle').AsStaticBox.TextAlign :=grtaMiddleCenter;
grd.ControlByName('Headetitle').AsStaticBox.Font.Bold :=true;
grd.ControlByName('Headetitle').AsStaticBox.Font.Name :='楷体_GB2312';
grd.ControlByName('Headetitle').AsStaticBox.Font.Point :=18;
grd.ControlByName('Headetitle').AsStaticBox.Text:='调整事项明细表'; //单位名称
Line:=grd.ReportHeader[1].Controls.Add(grctLine).AsLine;
Line.Name:='titlelin1';
Line:=grd.ReportHeader[1].Controls.Add(grctLine).AsLine;
Line.Name:='titlelin2';
grd.ControlByName('titlelin1').AsLine.Top :=1.19;
grd.ControlByName('titlelin1').AsLine.Width :=5.00;
grd.ControlByName('titlelin2').AsLine.Top :=1.29;
grd.ControlByName('titlelin2').AsLine.Width :=5.00;
grd.ControlByName('titlelin1').AsLine.Center :=grcsHorizontal ;
grd.ControlByName('titlelin2').AsLine.Center :=grcsHorizontal ;
StaticBox:=grd.ReportHeader[1].Controls.Add(grctStaticBox).AsStaticBox;
StaticBox.Name:='Headend';
grd.ControlByName('Headend').AsStaticBox.Width:=10.00;
grd.ControlByName('Headend').AsStaticBox.Height :=0.80;
grd.ControlByName('Headend').AsStaticBox.Top :=1.22;
grd.ControlByName('Headend').AsStaticBox.Center:=grcsHorizontal;
grd.ControlByName('Headend').AsStaticBox.TextAlign :=grtaMiddleCenter;
grd.ControlByName('Headend').AsStaticBox.Font.Name :='宋体';
grd.ControlByName('Headend').AsStaticBox.Font.Point :=9;
grd.ControlByName('Headend').AsStaticBox.Text:=inttostr(i_ssnd)+'年度';
result:=true;
except on e:exception do
begin
result:=false;
PFunSds.ShowMessageOK('表头错误:'+e.Message) ;
exit;
end
end;
end;
function TFrm_Sds_TzxmMxb.Addrptcol():boolean;
var
Column_name:string;//列名称
Column_title:string;//列标题
Column_datafield:string;//列数据字段
Column_Width:real; //列宽
Column_datatype:string;//列内容数据类型
group:IGRGroup ;
fieldbox:IGRFieldBox;
begin
result:=false;
try
showmessage('cc');
//移除格列
grd.DetailGrid.Columns.RemoveAll();
grd.DetailGrid.Recordset.Fields.RemoveAll();
grd.DetailGrid.PrintAdaptMethod:=grcpamToNewPage;
grd.DetailGrid.ColumnTitle.Visible:=false; //列标题不显示
grd.DetailGrid.ColumnContent.Height:=0.8;
//添加列 start
grd.DetailGrid.Recordset.AddField('tzxmlbmc',grptString) ;
grd.DetailGrid.AddColumn('tzxmlbmc','调整项目类别','tzxmlbmc',3.00);
grd.ColumnByName('tzxmlbmc').TitleCell.TextAlign:= grtaMiddleCenter ;
grd.ColumnByName('tzxmlbmc').Visible:=false;
grd.DetailGrid.Recordset.AddField('swzbmc',grptString) ;
grd.DetailGrid.AddColumn('swzbmc','税务指标','swzbmc',6.00);
grd.ColumnByName('swzbmc').TitleCell.TextAlign:= grtaMiddleCenter ;
grd.ColumnByName('swzbmc').ContentCell.Font.Name:='宋体';
grd.ColumnByName('swzbmc').ContentCell.Font.Bold :=true;
grd.ColumnByName('swzbmc').ContentCell.Font.Point :=11;
grd.DetailGrid.Recordset.AddField('tzxmmxmc',grptString) ;
grd.DetailGrid.AddColumn('tzxmmxmc','调整项目明细','tzxmmxmc',6.00);
grd.ColumnByName('tzxmmxmc').TitleCell.TextAlign:= grtaMiddleCenter ;
grd.ColumnByName('tzxmmxmc').ContentCell.Font.Name:='宋体';
grd.ColumnByName('tzxmmxmc').ContentCell.Font.Bold :=false;
grd.ColumnByName('tzxmmxmc').ContentCell.Font.Point :=9;
grd.DetailGrid.Recordset.AddField('value',grptString) ;
grd.DetailGrid.AddColumn('value','明细数据','value',3.00);
grd.ColumnByName('value').TitleCell.TextAlign:= grtaMiddleCenter ;
grd.ColumnByName('value').ContentCell.Font.Name:='宋体';
grd.ColumnByName('value').ContentCell.Font.Bold :=false;
grd.ColumnByName('value').ContentCell.Font.Point :=9;
//添加各个列end
//添加组1 start
group:=grd.DetailGrid.Groups.Add();
group.ByFields:= 'tzxmlb' ;
group.Name:='g_tzxmlb';
group.PageGroup:=false;
Group.Header.RepeatOnPage := false;
Group.Header.Height :=1.00;
Group.Footer.Visible := false;
Group.Header.NewPage := grnpsBefore;
fieldbox:=group.Header.Controls.Add(grctFieldBox).AsFieldBox ;
fieldbox.Name:='g_tzxmlb_field';
grd.ControlByName('g_tzxmlb_field').AsFieldBox.Width:=10.00;
grd.ControlByName('g_tzxmlb_field').AsFieldBox.Height :=0.80;
grd.ControlByName('g_tzxmlb_field').AsFieldBox.Top :=1.22;
grd.ControlByName('g_tzxmlb_field').AsFieldBox.Center:=grcsBoth;
grd.ControlByName('g_tzxmlb_field').AsFieldBox.TextAlign :=grtaMiddleCenter;
grd.ControlByName('g_tzxmlb_field').AsFieldBox.Font.Name :='宋体';
grd.ControlByName('g_tzxmlb_field').AsFieldBox.Font.Bold :=true;
grd.ControlByName('g_tzxmlb_field').AsFieldBox.Font.Point :=14;
grd.ControlByName('g_tzxmlb_field').AsFieldBox.DataField:='tzxmlbmc' ;
//添加组1 end
//添加组2 start
group:=grd.DetailGrid.Groups.Add();
group.ByFields:= 'swzbmc' ;
group.Name:='g_swzbmc';
group.PageGroup:=false;
group.Header.OccupyColumn:=true;
group.Header.OccupiedColumns:='swzbmc';
Group.Header.RepeatOnPage := false;
Group.Header.Height :=1;
Group.Footer.Visible := false;
Group.Header.NewPage := grnpsBefore;
//添加组2 end
showmessage('dd');
result:=true;
except on e:exception do
begin
PFunSds.ShowMessageOK('添加列错误'+e.Message);
result:=false;
end;
end;
end ;
var
Line: IGRLine;
StaticBox:IGRStaticBox;
memobox:IGRMemoBox ;
titleleft:double;
begin
result:=false;
try
grd.Title:='调整事项明细表';
//页眉
grd.PageHeader.Height :=1.01;
grd.PageHeader.Name:='pagehead';
//页眉左显示单位
StaticBox:=grd.PageHeader.Controls.Add(grctStaticBox).AsStaticBox;
StaticBox.Name:='pageheadleft';
grd.ControlByName('pageheadleft').AsStaticBox.Width:=8.00;
grd.ControlByName('pageheadleft').AsStaticBox.Dock:=grdsLeft;
grd.ControlByName('pageheadleft').AsStaticBox.TextAlign :=grtaMiddleLeft;
grd.ControlByName('pageheadleft').AsStaticBox.Font.Name :='宋体';
grd.ControlByName('pageheadleft').AsStaticBox.Font.Point :=9;
grd.ControlByName('pageheadleft').AsStaticBox.Text:='单位:'+s_nsrmc; //单位名称
//页眉右显示页数页码
memobox:=grd.PageHeader.Controls.Add(grctMemoBox).AsMemoBox;
memobox.Name:='pageheadright';
grd.ControlByName('pageheadright').AsMemoBox.Width:=8.00;
grd.ControlByName('pageheadright').AsMemoBox.Dock:=grdsRight ;
grd.ControlByName('pageheadright').AsMemoBox.TextAlign :=grtaMiddleRight;
grd.ControlByName('pageheadright').AsMemoBox.Font.Name :='宋体';
grd.ControlByName('pageheadright').AsMemoBox.Font.Point :=9;
grd.ControlByName('pageheadright').AsMemoBox.Text:='第[#SystemVar(PageNumber)#]页 共[#SystemVar(PageCount)#]页';
except on e:exception do
begin
result:=false;
PFunSds.ShowMessageOK('页眉错误:'+e.Message) ;
exit;
end
end;
try
//页脚
grd.PageFooter.Height :=0.79;
grd.PageFooter.Name:='pagefoot';
//页脚左打印日期
memobox:=grd.PageFooter.Controls.Add(grctMemoBox).AsMemoBox;
memobox.Name:='PageFooterleft';
grd.ControlByName('PageFooterleft').AsMemoBox.Width:=8.00;
grd.ControlByName('PageFooterleft').AsMemoBox.Dock:=grdsLeft ;
grd.ControlByName('PageFooterleft').AsMemoBox.TextAlign :=grtaMiddleLeft;
grd.ControlByName('PageFooterleft').AsMemoBox.Font.Name :='宋体';
grd.ControlByName('PageFooterleft').AsMemoBox.Font.Point :=9;
grd.ControlByName('PageFooterleft').AsMemoBox.Text:='打印日期:[#SystemVar(currentdatetime):yyyy年MM月dd日#]';
//页脚右
StaticBox:=grd.PageFooter.Controls.Add(grctStaticBox).AsStaticBox;
StaticBox.Name:='PageFooteright';
grd.ControlByName('PageFooteright').AsStaticBox.Width:=8.00;
grd.ControlByName('PageFooteright').AsStaticBox.Dock:=grdsRight;
grd.ControlByName('PageFooteright').AsStaticBox.TextAlign :=grtaMiddleRight;
grd.ControlByName('PageFooteright').AsStaticBox.Font.Name :='宋体';
grd.ControlByName('PageFooteright').AsStaticBox.Font.Point :=9;
grd.ControlByName('PageFooteright').AsStaticBox.Text:='[企友软件]'; //单位名称
except on e:exception do
begin
result:=false;
PFunSds.ShowMessageOK('页脚错误:'+e.Message) ;
exit;
end
end;
try
//页眉页脚下划线
Line:=grd.PageHeader.Controls.Add(grctLine).AsLine;
Line.Name:='pageheadleftlin';
grd.ControlByName('pageheadleftlin').AsLine.Top :=0.95;
grd.ControlByName('pageheadleftlin').AsLine.X1 :=0.00;
grd.ControlByName('pageheadleftlin').AsLine.Width :=80.00;
Line:=grd.PageFooter.Controls.Add(grctLine).AsLine;
Line.Name:='PageFooterleftlin';
grd.ControlByName('PageFooterleftlin').AsLine.Top :=0.15;
grd.ControlByName('PageFooterleftlin').AsLine.X1 :=0.00;
grd.ControlByName('PageFooterleftlin').AsLine.Width :=80.00;
except on e:exception do
begin
result:=false;
PFunSds.ShowMessageOK('划线错误:'+e.Message) ;
exit;
end
end;
//表头
try
grd.ReportHeader[1].Height :=2.01;
grd.ReportHeader[1].Name:='ReportHeade';
grd.ReportHeader[1].RepeatOnPage :=true;
StaticBox:=grd.ReportHeader[1].Controls.Add(grctStaticBox).AsStaticBox;
StaticBox.Name:='Headetitle';
grd.ControlByName('Headetitle').AsStaticBox.Width:=5.00;
grd.ControlByName('Headetitle').AsStaticBox.Height :=1.20;
grd.ControlByName('Headetitle').AsStaticBox.Center:=grcsHorizontal;
grd.ControlByName('Headetitle').AsStaticBox.TextAlign :=grtaMiddleCenter;
grd.ControlByName('Headetitle').AsStaticBox.Font.Bold :=true;
grd.ControlByName('Headetitle').AsStaticBox.Font.Name :='楷体_GB2312';
grd.ControlByName('Headetitle').AsStaticBox.Font.Point :=18;
grd.ControlByName('Headetitle').AsStaticBox.Text:='调整事项明细表'; //单位名称
Line:=grd.ReportHeader[1].Controls.Add(grctLine).AsLine;
Line.Name:='titlelin1';
Line:=grd.ReportHeader[1].Controls.Add(grctLine).AsLine;
Line.Name:='titlelin2';
grd.ControlByName('titlelin1').AsLine.Top :=1.19;
grd.ControlByName('titlelin1').AsLine.Width :=5.00;
grd.ControlByName('titlelin2').AsLine.Top :=1.29;
grd.ControlByName('titlelin2').AsLine.Width :=5.00;
grd.ControlByName('titlelin1').AsLine.Center :=grcsHorizontal ;
grd.ControlByName('titlelin2').AsLine.Center :=grcsHorizontal ;
StaticBox:=grd.ReportHeader[1].Controls.Add(grctStaticBox).AsStaticBox;
StaticBox.Name:='Headend';
grd.ControlByName('Headend').AsStaticBox.Width:=10.00;
grd.ControlByName('Headend').AsStaticBox.Height :=0.80;
grd.ControlByName('Headend').AsStaticBox.Top :=1.22;
grd.ControlByName('Headend').AsStaticBox.Center:=grcsHorizontal;
grd.ControlByName('Headend').AsStaticBox.TextAlign :=grtaMiddleCenter;
grd.ControlByName('Headend').AsStaticBox.Font.Name :='宋体';
grd.ControlByName('Headend').AsStaticBox.Font.Point :=9;
grd.ControlByName('Headend').AsStaticBox.Text:=inttostr(i_ssnd)+'年度';
result:=true;
except on e:exception do
begin
result:=false;
PFunSds.ShowMessageOK('表头错误:'+e.Message) ;
exit;
end
end;
end;
function TFrm_Sds_TzxmMxb.Addrptcol():boolean;
var
Column_name:string;//列名称
Column_title:string;//列标题
Column_datafield:string;//列数据字段
Column_Width:real; //列宽
Column_datatype:string;//列内容数据类型
group:IGRGroup ;
fieldbox:IGRFieldBox;
begin
result:=false;
try
showmessage('cc');
//移除格列
grd.DetailGrid.Columns.RemoveAll();
grd.DetailGrid.Recordset.Fields.RemoveAll();
grd.DetailGrid.PrintAdaptMethod:=grcpamToNewPage;
grd.DetailGrid.ColumnTitle.Visible:=false; //列标题不显示
grd.DetailGrid.ColumnContent.Height:=0.8;
//添加列 start
grd.DetailGrid.Recordset.AddField('tzxmlbmc',grptString) ;
grd.DetailGrid.AddColumn('tzxmlbmc','调整项目类别','tzxmlbmc',3.00);
grd.ColumnByName('tzxmlbmc').TitleCell.TextAlign:= grtaMiddleCenter ;
grd.ColumnByName('tzxmlbmc').Visible:=false;
grd.DetailGrid.Recordset.AddField('swzbmc',grptString) ;
grd.DetailGrid.AddColumn('swzbmc','税务指标','swzbmc',6.00);
grd.ColumnByName('swzbmc').TitleCell.TextAlign:= grtaMiddleCenter ;
grd.ColumnByName('swzbmc').ContentCell.Font.Name:='宋体';
grd.ColumnByName('swzbmc').ContentCell.Font.Bold :=true;
grd.ColumnByName('swzbmc').ContentCell.Font.Point :=11;
grd.DetailGrid.Recordset.AddField('tzxmmxmc',grptString) ;
grd.DetailGrid.AddColumn('tzxmmxmc','调整项目明细','tzxmmxmc',6.00);
grd.ColumnByName('tzxmmxmc').TitleCell.TextAlign:= grtaMiddleCenter ;
grd.ColumnByName('tzxmmxmc').ContentCell.Font.Name:='宋体';
grd.ColumnByName('tzxmmxmc').ContentCell.Font.Bold :=false;
grd.ColumnByName('tzxmmxmc').ContentCell.Font.Point :=9;
grd.DetailGrid.Recordset.AddField('value',grptString) ;
grd.DetailGrid.AddColumn('value','明细数据','value',3.00);
grd.ColumnByName('value').TitleCell.TextAlign:= grtaMiddleCenter ;
grd.ColumnByName('value').ContentCell.Font.Name:='宋体';
grd.ColumnByName('value').ContentCell.Font.Bold :=false;
grd.ColumnByName('value').ContentCell.Font.Point :=9;
//添加各个列end
//添加组1 start
group:=grd.DetailGrid.Groups.Add();
group.ByFields:= 'tzxmlb' ;
group.Name:='g_tzxmlb';
group.PageGroup:=false;
Group.Header.RepeatOnPage := false;
Group.Header.Height :=1.00;
Group.Footer.Visible := false;
Group.Header.NewPage := grnpsBefore;
fieldbox:=group.Header.Controls.Add(grctFieldBox).AsFieldBox ;
fieldbox.Name:='g_tzxmlb_field';
grd.ControlByName('g_tzxmlb_field').AsFieldBox.Width:=10.00;
grd.ControlByName('g_tzxmlb_field').AsFieldBox.Height :=0.80;
grd.ControlByName('g_tzxmlb_field').AsFieldBox.Top :=1.22;
grd.ControlByName('g_tzxmlb_field').AsFieldBox.Center:=grcsBoth;
grd.ControlByName('g_tzxmlb_field').AsFieldBox.TextAlign :=grtaMiddleCenter;
grd.ControlByName('g_tzxmlb_field').AsFieldBox.Font.Name :='宋体';
grd.ControlByName('g_tzxmlb_field').AsFieldBox.Font.Bold :=true;
grd.ControlByName('g_tzxmlb_field').AsFieldBox.Font.Point :=14;
grd.ControlByName('g_tzxmlb_field').AsFieldBox.DataField:='tzxmlbmc' ;
//添加组1 end
//添加组2 start
group:=grd.DetailGrid.Groups.Add();
group.ByFields:= 'swzbmc' ;
group.Name:='g_swzbmc';
group.PageGroup:=false;
group.Header.OccupyColumn:=true;
group.Header.OccupiedColumns:='swzbmc';
Group.Header.RepeatOnPage := false;
Group.Header.Height :=1;
Group.Footer.Visible := false;
Group.Header.NewPage := grnpsBefore;
//添加组2 end
showmessage('dd');
result:=true;
except on e:exception do
begin
PFunSds.ShowMessageOK('添加列错误'+e.Message);
result:=false;
end;
end;
end ;
- Grid++Report
- Grid++Report简介
- Grid++Report 构件组成
- Grid++Report工作原理
- Grid++Report 发布
- 使用报表grid++report
- grid+report简单使用
- grid++REPORT 初识
- Grid++Report web
- 关于grid++report篇
- grid++report中篇
- grid++report详解
- grid++report子报表
- Grid++Report 入手教程:VB 通过Grid Report 显示时间
- Grid++report数字格式设置
- 典型的ALV-GRID report
- Grid++Report 报表动态使用
- 机房收费系统-----Grid++Report
- mybatis学习之入门篇
- uva12100 Printer Queue (队列模拟, 据说是优先队列,错了)
- ubuntu12.04安装时出现grub rescue:invalid arch independent ELF magic 问题
- 理解C++ 的 private protected public
- 三种编码函数加密的结果
- Grid++Report
- Android扫描指定文件和目录
- u-boot的nand驱动写过程分析
- FTP Client enterLocalPassiveMode
- 字符编码笔记:ASCII,Unicode和UTF-8
- 如何看懂源代码--(分析源代码方法)
- html邮件的排版问题
- Nginx 、Lighttpd 调研分析
- Reset CSS:只选对的,不选"贵"的