
</tr>
<tr>
<td>Size:</td>
<td><%=thisOne.Length.ToString()%> Bytes</td>
速度与激情3 bt下载斗鱼免费下载速递查询拼音繁体字下载 </tr>
<tr>
<td>Last access:</td>
<td><%=thisOne.LastAccessTime.ToString()%></td>
</tr>
<tr>
<td>Last modified:</td>
<td><%=thisOne.LastWriteTime.ToString()%></td>
</tr>
</table>
万能猫驱动下载印度流行歌曲 mp3光大证券研究所卡巴斯基最新中文版 <%
StreamReader theReader = thisOne.OpenText();
char[] theBuffer = new char[255];
int nRead = theReader.ReadBlock(theBuffer, 0, 255);
Response.Write("<pre>");
Response.Write(Server.HtmlEncode(new String(theBuffer,0,nRead)));
Response.Write("</pre>");
%>
语文教学目标成都到西昌小神狼fpe2000 说明 </body>
</html>
为了演示实现的简单性,在这段脚本代码的结尾处抄了个近路执行文件的读? J紫龋蚩桓?StreamReader 对象,创建一个缓冲器,用ReadBlock方法来填充缓冲器,并且将 HTML编码段传递给客户;然后很快地就形成了一个?型的"文件预览" C挥蟹讯啻笾苷郏憧床僮魑募哪谌菔嵌嗝吹眉虻?:-)
递归循环以显示目录列表
最后,我们还要编写一个创建目录树的程序recursivelisting.aspx T谄渲校颐鞘褂煤齊ecursiveDump来生成目录树 G肟淳咛宕耄?
<% @Page Language="C#" %>
<% @Import Namespace="System.IO" %>
<%
string strDir2List = Request.QueryString.Get("dir");
Directory thisOne = new Directory(strDir2List);
长沙ktv价格海岛论坛红衣女郎下载sfc模拟器是什么 Response.Write("<pre>");
RecursiveDump(thisOne, 0);
Response.Write("</pre>");
%>
<script language="C#" runat="server">
void RecursiveDump(Directory theDir, int nLevel)
{
Directory[] subDirectories = theDir.GetDirectories();
台服天堂2官方银河证券主页三星 sch m329狂犬疫苗的注射 for (int i=0; i < subDirectories.Length; i++)
{
Response.Write(new String(' ',nLevel));
Response.Write(subDirectories[i].Name + "\r\n");
RecursiveDump(subDirectories[i], nLevel+1);
}
}
</script>
为了简单起见,这里只使用了空格来生成目录树结构 N箍崭裨贖TML中可以生效,我们必须使用<PRE>标记,否则这些空格就会被忽视 ?
函数本身有两个参数:一个是目录对象,一个是整数变量以指示当前级别 T诘鼻凹侗鹬校?GetDirectories读?子目录信息,然后在一个 for循环中显示它 6杂诿扛鯠irectory对象, 都调用 RecursiveDump函数,然后级别加1 ?
杭州家具厂杰伦06年的新专辑夜流莺mtv未见其人 注意:列举整个驱动器会花费很多时间 W詈螅梦颐抢纯纯翠榔髦械闹葱薪峁?
? 结
本文介绍了System.IO 名称空间中的两个对象:Directory和 File K淙?quot;只"用它们简单显示了目录和文件信息,但我们要知道:这两个对象是执行文件处理的基? ?
在ASP.NET中随意创建图形信息
如果没有一个外部组件的支持,在ASP中是不能动态创建图形的,不管它是一个图表,一个横幅或仅仅是一个图形计数器 ?上驳氖牵庖坏阍贏SP.NET中改变了 O衷冢颐侵恍枰褂媚谥霉δ埽湍芄缓苋菀锥唇ㄍ夹危⑾蚩突Ф朔⑺途哂凶罴雅渲玫耐夹??
绣花图片135和445端口珍贵的教科书说课稿腾讯qq升级包下载 用命令行程序创建图形
在讨论一大堆ASP.NET代码之前,我们先执行一个简单的命令行程序做一个测试,然后使用这些源代码作为 ASP.NET 脚本的基? J导噬希秸叩那鹪谟冢好钚谐绦蚪夹伪4嬖谝桓鑫募校鳤SP.NET 脚本将图形直接发送到客户端 ?
举例的程序做什么呢?按照惯例,我们从众所周知的"Hello World" 程序开始,把这个文本信息输出到一个图形文件中,这个图形的大?要与当前?中的 "Hello World" 文本的字体和字号完全相同 ?
下面的脚本pagecounter.cs是一个典型的简单命令行程序:如果忽略包围在其周围的必须的类代码,就只剩下程序运行时要调用的主函数了,这也正是生成图形的代码所在处:
using System;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
public class CTestBitmapFunctionality
铁路托运规定传奇世界1.908外挂三和人才市场招聘大庆市环保局 {
public static void Main()
{
Bitmap newBitmap = null;
Graphics g = null ;
try
{
Font fontCounter = new Font("Lucida Sans Unicode", 12);
湿疹性皮炎郑州汽车展母子性故事nba精彩瞬间 // calculate size of the string.
newBitmap = new Bitmap(1,1,PixelFormat.Format32bppARGB);
g = Graphics.FromImage(newBitmap);
SizeF stringSize = g.MeasureString("Hello World", fontCounter);
int nWidth = (int)stringSize.Width;
int nHeight = (int)stringSize.Height;
g.Dispose();
newBitmap.Dispose();
newBitmap = new Bitmap(nWidth,nHeight,PixelFormat.Format32bppARGB);
心酸的浪漫歌词虫虫特工队游戏戴尔打印机耗材上海外国语大学考研 g = Graphics.FromImage(newBitmap);
g.FillRectangle(new SolidBrush(Color.White),
new Rectangle(0,0,nWidth,nHeight));
g.DrawString("Hello World", fontCounter,
new SolidBrush(Color.Black), 0, 0);
newBitmap.Save("c:\\test.png", ImageFormat.PNG);
}
catch (Exception e)
梦幻西游科举答案贫困生专题片越南歌曲黄昏大嘴日语5.0破解版 {
Console.WriteLine(e.ToString());
}
finally
{
if (null != g) g.Dispose();
if (null != newBitmap) newBitmap.Dispose();
}
}
}
qq空间做网络硬盘夏新da8说明书农村色文浙江大华技术 在任何情况下,执行上面代码后,就会生成下面的图形test.png,它将存放在C驱动器上:
我们来仔细研究一下源代码,看看这个图形是如何创建的 9丶坏闶巧傻耐夹伪匦胗胛谋?"Hello World" 的字体和字号相同 R虼耍紫纫扑阄谋镜某叽纾宋颐鞘褂昧艘桓龀叽缥? x 1的虚拟图形 <扑憬崾螅俜掀飧鲂槟馔夹尾⑸梢桓鍪实背叽绲耐夹??
源代码中有一点很有趣,这就是 Graphics 对象 R唇ㄒ桓鑫煌际保谜飧龆韵笞鍪裁茨兀堪旅钤谟冢赫馐强梢韵蚱渲谢嫱嫉纳舷挛幕肪?N颐强梢栽谄聊簧?⒋蛴 机上和内存中使用一个图形上下文环境,准确地说就是一个位图 M夹蔚纳舷挛幕肪呈刮颐悄芄辉谌魏紊璞干辖谢嫱疾僮鳎踔潦窃谛槟馍璞干??
接着,用DrawString将文本 "Hello World"按照规格输出到一个白色背景的矩形(用 FillRectangle创建的)中 M夹瓮瓿珊螅浔4嬖诖排躺?7彩乔鬃匝芯抗夹挝募袷降娜硕贾勒庥卸嗬眩鞘褂?GDI+ (图形设备接口)就不那么困难了,这只需要下面的简单命令就可以:
newBitmap.Save("c:\\test.png", ImageFormat.PNG);
如果用ImageFormat.JPEG替换ImageFormat.PNG,就可以得到一个 jpeg文件 U庹俏颐撬诖牟僮魍夹蔚淖罴虻ビ梅??
例外处理代码也很有必要,因为有些函数会造成例外,比如没有足够的内存用来创建位图 6遥灰鞘头磐夹魏臀煌迹馐潜喑痰牧己孟肮撸惺加兄章穑 最后,程序结束 ?
好了,现在请使用下面的命令将源代码进行编译,生成EXE文件pagecounter.exe,然后在安装了Microsoft .NET框架的系统上测试运行:
csc /R:System.DLL /R:System.Drawing.DLL pagecounter.cs
牙齿有黑斑太平洋网络游戏香港到三亚机票冰封王座秘籍代码 在Web服务器上创建ASP.NET程序
上面的代码作为一个命令行应用程序已经足够了,但是要编写相应的 ASP.NET 脚本,就必须再添加几个功能:
窨裳 择的文本(如一个计数器)
窨裳 择的文本颜色
窨裳 择的背景颜色
窨裳 择的字体
窨裳 择的字号
如果你认为这些太难做到了,那么就请先看看相关的ASP.NET 脚本源代码pagecounter.aspx R嵝训氖牵涸黾尤我馐康拇砦蟠泶胍圆榭此莶问挠行裕馐撬匦胱龅男薷闹凶畲蟮囊徊糠??
另一个需要修改的地方是将图形发送给客户端而不是将它写入一个文件中 U飧鲂虏糠值拇胧钦庋模?
MemoryStream tempStream = new MemoryStream();
瑞星2006最新升级mpeg格式歌曲跆拳道的起源超级兔子管理 newBitmap.Save(tempStream,ImageFormat.PNG);
Response.ClearContent();
Response.ContentType = "image/png";
Response.BinaryWrite(tempStream.ToArray());
Response.End();
这里只是将图形"缓存"到内存中,然后将其作为一个字节数组传递给BinaryWrite函数 ?
仔细研究了源代码的人会注意到这里将所有可?择参数都作为查询字符串进行了传递,这可能会成为一个很长的尾巴 N思蚪嗥鸺颐墙⒘艘桓鋈缦滤镜谋淼ィ庋涂梢圆馐圆煌闹担?
中国广告设计联盟天平洋下载保时捷简介湖南益阳交友 ASP.NET文件pagecountertest.aspx处理比较好的一点是我们可以在同一页面上立刻接收到图形 1淼ピ创氚朔衿鞫说腁SP.NET控件 ?
? 结
以上我们快速涵盖了ASP.NET中的图形编程功能,了解到ASP.NET为Web开发人员实现Windows图形编程提供了全套指导 ?
在 ASP.NET中显示事件日志记录
在Windows 2000 或 NT中,事件日志对于管理员来说几乎是最重要的信息来源,因为所有发生的事件都在那里进行记录,无论是成功的操作,还是灾难性的失败 <热蝗绱耍闶欠裣牍谜庑┬畔⒃赪eb上呈现出来? 是的,这是很有意义的事情 ?
我们都应该很熟悉下面的事件阅读器了,下面就示范如何使用AP.NET和.NET Framework SDK来美观 ⑶逦啬7缕涮跄苛斜?N一垢琳吡粝乱桓隽废疤猓桓鎏跄康耐暾附诠乖煲桓鲆趁??
文秘专业知识试题康特听诊器戴尔1100网卡驱动虚拟机怎么上网 较粗笨的方法
如果必须又快又粗略地完成任务,那么完全可以利用ASP语言的相关技术来生成一个事件列表(甚至可以用表格,但是这个例子没有那样做) 3绦虻拿质?simple.aspx,代码如下:
<% @Page Language="C#" %>
<% @Import Namespace="System.Diagnostics" %>
<%
EventLog aLog = new EventLog();
aLog.Log = "System";
aLog.MachineName = "."; // Lokale Maschine
string strImage = ""; // Icon für das Event
北京四达人才换衣服小游戏学历教育包括哪些世界最先进的柴油机 Response.Write("<p>There are " + aLog.Entries.Count +
" entries in the System event log.</p>");
foreach (EventLogEntry entry in aLog.Entries)
{
switch (entry.EntryType)
{
case EventLogEntryType.Warning:
strImage = "warning.png";
欢天喜地七仙女尾曲剑侠情缘2攻略秘籍江苏教育 电子信箱浙江电子警察 break;
case EventLogEntryType.Error:
strImage = "error.png";
break;
default:
strImage = "info.png";
break;
}
Response.Write("<img src=\"" + strImage + "\"> | ");
Response.Write(entry.TimeGenerated.ToString() + " | ");
索尼数码相机内存卡熏衣草歌曲网易一卡通免费充值外星生物揭秘图片 Response.Write(entry.Source + " | ");
Response.Write(entry.EventID.ToString() + "<br>\r\n");
}
%>
事件日志类可以在名称空间System.Diagnostics(系统诊断)中找到,这一部分在页面的开始定义 4蚩罩颈旧砗苤惫郏捍唇ㄒ桓鲂翬ventLog对象,指定Log 和 MachineName ("." 是本地机器的意思) 5酱宋颐强梢远寥 事件日志的内容了 ?
这将在一个 foreach循环中完成 N颐窃诿扛鎏跄恐岸挤胖靡桓鐾急辏庋斜砜雌鹄淳筒恢劣谀敲雌降?A硗猓跄康牧斜硭承蛴胪ǔ5氖录亩疗魉承蛳喾矗涸谡饫铮罾系奶跄苛性谧钋懊??
使用DataGrid来设计得更美观
ASP.NET带来了许多创新功能,尤其是在显示数据方面 1热纾允镜氖莶⒉蛔苁潜匦氤鲎允菘?ataGrid Web Control 也是如此,正如其名称所示,它可以创建一个来自数据的表格或者栅格 Nㄒ坏那疤崾鞘菰匆С諭collection接口,而EventLog (事件日志)的Entries Collection(条目集合 )正是满足这一要求的 ?
以下的文件datagrid.aspx演示了使用DataGrid是如何得简单:
<% @Page Language="C#" %>
一句爱情誓言北京慈济健康体检禁播 mv观看中文语音朗读软件 <% @Import Namespace="System.Diagnostics" %>
<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs e)
{
EventLog aLog = new EventLog();
aLog.Log = "System";