最新评论
这文章有问题吧?
如果您通过将其 Normalization 属性设置为 true 的 XmlTextReader 进行反序列化,则可以避免此问题。
参考:http://msdn.microsoft.com/en-us/library/aa302290.aspx
微软的英文msdn是这么写的:
You can avoid this problem if you deserialize with an XmlTextReader that has its Normalization property set to false.
跟你说的正好相反,哈哈
Re:月份统计精简Sql 迷路的西瓜 2011-03-28 17:02
数据量太大的话会不会速度上存在问题呢?
Re:创建安全的ashx文件 lema 2011-01-19 11:26
学习了!
Re:lock,Interlocked 胡亭 2010-09-24 17:46
@shawnliu
怎么说? 不然会要添加些什么操作呢?
Re:lock,Interlocked 胡亭 2010-09-24 17:46
怎么说? 不然会要添加些什么操作呢?
看到最后才发现不是原创,不过真希望能够有稳定版本出现
http://blog.joycode.com/fscti/archive/2010/04/23/115947.joy
九个使用F#的理由
九个使用F#的理由
原帖地址:http://lorgonblog.spaces.live.com/blog/cns!701679AD17B6D310!1859.entry
翻译:Sean Woo
(开场白:Robin Milner,ML之父,最近去世了,Don的blog简短的追溯了Milner工作对.NET泛型和F#类型推断的影响。作为一名编程语言爱好者,我喜欢学习语言的历史,以及各种语言特征之间不停的互相影响。)
最近我们更完成了VS2010这个产品,之前我少花了很多时间来写代码,多花了时间来演讲;在之前的博客中我提到过,我最近在准备一个TechReady,同时我还要为Alt.NET和Chris Smith做一个F#研讨会。为演讲做准备的过程,让我有机会来回顾和思考F#如何来演好这场大演出,以及各位观众的感觉是怎么样的。有很多种理由人们可能会发现F#有用,但是大部分演讲、演示仅仅集中于一到两点。我想组织一下我的思路,于是就有了这篇博客。
不用太多思考,这有9个理由来使用F#:
1. 测量单元。如果你正在使用数字表示物理数量(如千克,米和秒,或者像素、英尺,美元、欧元,等)的领域工作,你能使用F#类型系统来保证量纲分析很好的工作。几乎每个人使用这个特性都会有一种“太棒了”的体验,因为编译器能找到所有不希望看到的问题(我是在2008 ICFP编程的过程中体会的)。在一些特定领域,这类静态的类型检查真是一个要人命的特性。你能从这,这,这学到更多。
2. .NET的函数式编程。如果你需要写一个尤其经得起函数式编程技术考验的组件(比如游戏人工智能,静态模型,符号编程),你需要与SQL,Excel,或者Xbox交互,或者在Silverlight浏览器中运行,或者在Azure的云中漫步,作WCF,WPF,或者WinForm,或者简单的与现有的C#/VB/C++/COM代码进行对话,那么F#就是了。.NET平台能有效的使用各种技术,并与之交互,而F#扩展了这个平台,通过提供一种作第一类函数式编程和裕各种技术做无缝交互的方式。
3. 用REPL来探索编程。F#交互工具窗口能更简单的运行一小段代码。当你正使用大数据或者数学模型工作的时候,这会使得浏览数据更加方便,玩“什么-如果”的游戏,而且能在与数据/模型交互时用一种很“实时”的方式。当为数据虚拟化与库连接时,这开启了一些真的很酷的东西。
4. 异步和并行编程。我最近写了关于F#的唯一的编程模型,用于写异步I/O不会被阻塞的代码。异步编程模型也对并行的CPU加强工作作了扩展,而F#类库也使事件响应,使用轻量级的,或者运行GPU代码等变得更加直观。(实际上网上有很多关于这观点的文章,我就在Don的blog里就发现很多。)多核在这,F#语言结构和类库非常适合做并行编程(函数式编程风格一些本身就有的优势就不提了)。
5. 嵌入式领域特定的语言(EDSLs)。F#特征中的一个变量(包括定义新运算符,闭包和函数应用程序标记,注解,类型推断和所有轻量级标记)使得F#是创建EDSL的一门好语言。一些例子,包括FsUnit来做单元测试,FAKE来创建脚本,FParsec来分析,WebSharper来使用Web应用程序。
6. 脚本。经常会发生,我需要写一个脚本,但是我很少使用perl或者批处理文件,因为我一直忘了这些语言的标记。现在我使用F#来写很多脚本任务,都是因为 “FSI就是个新的perl”以及这是些很小的任务(例如,如果我不知道字母A的ascii值,我就只需要再F#交互窗口中打出这样的就可以了“int ‘A’;;”)。我至少知道一些之前使用批处理文件或者perl脚本的人现在都在使用.fsx文件了。对我来说,我知道F#一开始是一门“软件工程师”语言,同时也是一门很好的“脚本语言”。
7. 学术界的一门实用语言。回到我的大学马上要毕业的时候,我在学校里学到的第一门真正的编程语言是Pascal。(是的,比C#,甚至Java更早,我是个老头子。)在大学里,好像在教更多“纯粹的”与“计算机技术”的语言和教更多的实用主义语言之间有总是有矛盾(比如,你能在离开学校时候轻易的找到工作)。这仍旧是一个争议颇多的话题,但是我认为我们现在的情况好多了,现在用包括Java,C#,Scala,Python和F#,而我们那时可是十几二十年前的事情;现在有很多同时在“教授计算机技术的好语言”和“对现实社会有用”都表现很好的语言。
8. 扩展你的思维和职业生涯。我认为有不少人在他们的日常生活中使用C#或者VB,他们能学更多关于函数式编程,但一深入,发现Haskell太难而且太花时间。F#提供了一条更优雅的通往函数式编程的大道,取决于他现成的.NET 和 Visual Studio的熟悉程度。很多仅把F#作为爱好的人们说是他们学到了一些能用在他们日常工作中的新策略、算法(比如使用C#),太好了!
9. 乐趣!我时常听到人们说他们有多喜欢使用F#。谁不喜欢把工作搞定的同时又充满乐趣呢?
在一篇F#的博客文章,或者视频中,很轻松(而且也确实合适)来“记住”这个语言,集中在一个特定的有用的方面。但是有时回顾和看看人们感觉和使用F#的无数方式是很重要的。所以这是一次尝试,一个分散的列表,用来列出各种人们为什么在基于爱好,学术或者现实中的开发者使用F#的原因。这门语言该上路了,现在就要看看人们怎么去实现所有的方式。
顺便说,有一种来知道微软产品是“真的”的方式就是当他们给你一件背后印有产品标志的T恤。这就是一张我们(VS语言组人们)刚拿到的T恤背面的照片:
http://stackoverflow.com/questions/1127431/xmlserializer-giving-filenotfoundexception-at-constructor
To avoid the exception you need to do two things:
1.Add an attribute to the serialized class (I hope you have access)
2.Generate the serialization file with sgen.exe
Add the System.Xml.Serialization.XmlSerializerAssembly attribute to your class. Replace 'MyAssembly' with the name of the assembly where MyClass is in.
[Serializable]
[XmlSerializerAssembly("MyAssembly.XmlSerializers")]
public class MyClass
{
…
}
Generate the serialization file using the sgen.exe utility and deploy it with the class’s assembly.
‘sgen.exe MyAssembly.dll’ will generate the file MyAssembly.XmlSerializers.dll
These two changes will cause the .net to directly find the assembly. I checked it and it works on .NET framework 3.5 with Visual Studio 2008
Re:VS.NET 查找未使用过的方法 yongfa365 2010-05-23 18:03
.net发布时,能不能实现这样的功能:
如果哪个方法没有使用,就不要编译这个,这样以来就起到一定的保护作用,不至于自己写的很多东西全都被别人拿走
使用GDI+提高gif图片的保存画质
本文来自[Svn中文网]转发请保留本站地址:http://www.svn8.com/dotnet/xmlweb/2010011617934.html
http://www.svn8.com/dotnet/xmlweb/2010011617934.html
Re:和历与西历之间的转换 懒人ABC 2010-04-29 11:01
/// <summary>
/// 和暦から西暦に変換用関数
/// </summary>
/// <param name="pStartDate">天皇の誕生日(西暦)(yyyy/MM/dd)</param>
/// <param name="pChangeDate">変換の和暦データ(yyMM)</param>
/// <returns>変換後の西暦データ(yyyy/MM/dd)</returns>
public static string GetWorldDate(string pStartDate, string pChangeDate)
{
string vJapanDate = WorldToJapanDate(pStartDate, "gg yy/MM/dd");
string vNewJapanDate = vJapanDate.Substring(0, 3) + pChangeDate.Substring(0, 2) + "/" + pChangeDate.Substring(2, 2) + "/";
if(vJapanDate.StartsWith(vNewJapanDate))
{
vNewJapanDate += vJapanDate.Substring(9);
}
else
{
vNewJapanDate += "01";
}
return JapanToWorldDate(vNewJapanDate, "yyyy/MM/dd");
}
/// <summary>
///
/// </summary>
/// <param name="pDate"></param>
/// <param name="pFormat"></param>
/// <returns></returns>
public static string WorldToJapanDate(string pDate, string pFormat)
{
CultureInfo vCurrentInfo = new CultureInfo("ja-JP", true);
vCurrentInfo.DateTimeFormat.Calendar = new JapaneseCalendar();
DateTime vCurrentDate = Convert.ToDateTime(pDate);
string vReturnDate = vCurrentDate.ToString(pFormat, vCurrentInfo.DateTimeFormat);
return vReturnDate;
}
public static string JapanToWorldDate(string pDate, string pFormat)
{
CultureInfo vCurrentInfo = new CultureInfo("ja-JP", true);
vCurrentInfo.DateTimeFormat.Calendar = new JapaneseCalendar();
DateTime vCurrentDate = Convert.ToDateTime(pDate, vCurrentInfo.DateTimeFormat);
string vReturnDate = vCurrentDate.ToString(pFormat, DateTimeFormatInfo.InvariantInfo);
return vReturnDate;
}
new solution list here:(where are some special bug,you can debug yourself)
http://exceldatareader.codeplex.com/SourceControl/list/changesets
Re:捕捉客户端的事件 懒人ABC 2010-03-17 19:05
http://blog.csdn.net/lingxyd_0/archive/2008/12/23/3589359.aspx
doPostBack 的深入研究
Re:捕捉客户端的事件 懒人ABC 2010-03-17 19:03
今天来说说当ASP.NET中的doPostBack脚本函数的应用,ASPX页面有包含asp:LinkButton或者带有AutoPostBack属性且其值为true的服务器控件时,ASP.NET会自动为页面生成下面的脚本:
以下是引用片段:
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
function __doPostBack(eventTarget, eventArgument) {
if(!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
__doPostBack带有两个参数:eventTarget和eventArgument。
eventTarget是引起回送的控件的ID,eventArgument是回调参数(与控件相关的附加数据)。这两个参数分别由隐藏的两个表单域__ EVENTTARGET和__ EVENTARGUMENT保存。
使用这两个隐藏的表单可以查找引起页面回送的控件ID和回送时的参数:
以下是引用片段:
protected void Page_Load(object sender, EventArgs e)
{
string target = Request.Params["__EVENTTARGET"];
string args = Request.Params["__EVENTARGUMENT"];
}
因为asp:Button和asp:ImageButton不是使用__doPostBack回送页面,所以使用这两个控件回送页面时,上面的代码是无效的。
使用HTML控件回送页面:
以下是引用片段:
<form id="form1" runat="server">
<asp:LinkButton ID="LinkButton1" runat="server"></asp:LinkButton>
<input type="button" value="Client Control" onclick="javascript:__doPostBack(’Button1’, ’Button Click’);" />
</form>
protected void Page_Load(object sender, EventArgs e)
{
if(this.IsPostBack)
{
string target = Request.Params["__EVENTTARGET"];
string args = Request.Params["__EVENTARGUMENT"];
Response.Write("Button ID: " + target + "<br />");
Response.Write("Arguments: " + args + "<br />");
}
}
加入的目的是为了让ASPX自动生成__doPostBack脚本。
阻止asp:Button提交页面:
以下是引用片段:
<form id="form1" runat="server">
<asp:Button ID="Button1" runat="server" Text="Button" />
</form>
protected void Page_Load(object sender, EventArgs e)
{
string scr = "return confirm(’Are you sure you want to submit this form?’);";
this.Button1.Attributes.Add("onclick", scr);
}
查看本文来源
Re:GirdView固定行头 abc1 2010-02-24 09:50
clientWidth包含padding,所以通过currentStyle取出padding的值,并减去就是style.width的值了。
Re:GirdView固定行头 abc1 2010-02-24 09:48
function getStyle(el, styleProp) {
var x = document.getElementById(el);
if (x.currentStyle)
var y = x.currentStyle[styleProp];
else if (window.getComputedStyle)
var y = document.defaultView.getComputedStyle(x, null).getPropertyValue(styleProp);
return y;
}
Re:在 ASP.NET 中执行 URL 重写 懒人ABC 2010-01-27 15:39
参考
http://www.cnblogs.com/fengfeng/archive/2008/02/15/1069462.html
Re:GirdView固定行头 懒人ABC 2010-01-21 17:14
<div id="headerOfGridView1" style="display:none; position:relative;width:943px;height:25px;overflow:hidden;">
<table id="Table1" align="center" cellpadding="0" cellspacing="0" class="gdvShow" style="position:absolute;width:20%;">
<tr>
<td></td>
</tr>
</table>
</div>
<div id="resultDiv" style="height: 200px; width: 960px;" class="divShow" onscroll="onScroll();">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="0" Width="315%"
CellSpacing="0" CssClass="gdvShow" OnRowDataBound="GridView1_RowDataBound" OnRowCreated="GridView1_RowCreated">
<Columns>
<asp:TemplateField HeaderStyle-Width="30">
<ItemTemplate>
<asp:Literal ID="number" runat="server" Text="<%#Container.DataItemIndex+1%>" />
</ItemTemplate>
<ItemStyle CssClass="centerAlign" />
</asp:TemplateField>
<asp:TemplateField HeaderText="要">
<ItemTemplate>
<asp:CheckBox ID="chkIru" runat="server" onclick="IruCheck(this);" Checked='<%#Eval("NEED_FLG")== DBNull.Value?false:Convert.ToBoolean(Eval("NEED_FLG"))%>' />
<asp:HiddenField ID="HiddenFieldIru" runat="server" Value='<%# Bind("NEED_FLG")%>'/>
</ItemTemplate>
<ItemStyle Width="25px"/>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<a href="#this" id="gvClick" runat="server" style="color: Blue;">詳細</a>
</ItemTemplate>
<ItemStyle CssClass="centerAlign" Width="50px"></ItemStyle>
</asp:TemplateField>
<asp:BoundField HeaderText="NO" DataField="NO">
<ItemStyle CssClass="centerAlign"></ItemStyle>
</asp:BoundField>
</Columns>
<EmptyDataTemplate>
<table id="GridView1" align="center" cellpadding="0" cellspacing="0" class="GridEmpty" style="width:20%">
<tr>
<th style="width: 30px;border-right:1px solid #000000;">
<span> </span>
</th>
<th style="width: 30px;border-right:1px solid #000000;">
<span>要</span>
</th>
<th style="width: 30px;border-right:1px solid #000000;">
<span> </span>
</th>
<th style="width: 30px;border-right:1px solid #000000;">
<span>NO</span>
</th>
</tr>
</table>
</EmptyDataTemplate>
</asp:GridView>
</div>
Re:GirdView固定行头 懒人ABC 2010-01-21 17:12
给cell.style.width设置offsetWidth引起表头和表内行的宽度不同的疑惑:
offsetWidth是包括padding宽度的,在给style.width赋值时必须去除padding的宽度。
具体做法有:
function fixHeaderOfGridView1() {
//GridView控件
var obj_GridView1 = document.getElementById("GridView1");
//用来显示表头的表格所在的div
var obj_HeaderOfGridView1 = document.getElementById("headerOfGridView1");
//GridView控件所在的Div
var obj_DivOfGridView1 = document.getElementById("resultDiv");
//有数据时(没有数据时,只显示表头,这里不考虑)
if (obj_GridView1.rows.length > 1) {
//需要设置的表头的th行
var newHeaderRow = obj_HeaderOfGridView1.childNodes[0].childNodes[0].childNodes[0];
//给GridView内表头行和第一行分别设置style.width
//如果不设置的话,当隐藏了表头,表内的所有行会重新设置宽度
for (var index = 0; index < obj_GridView1.rows[0].cells.length; index++) {
var headerCell = obj_GridView1.rows[0].cells[index];
var cell = obj_GridView1.rows[1].cells[index];
var vWidth = headerCell.clientWidth;
//如果该列有padding的话,用pixelWidth设置到style.width
//但是这样做,有一个问题。当表内一列设置了style.width,
//然而该列的值的宽度超过了style.width,会引起表头和表行的各列宽度不同
headerCell.style.width = (headerCell.style.pixelWidth == undefined || headerCell.style.pixelWidth == 0) ? vWidth : headerCell.style.pixelWidth;
cell.style.width = (cell.style.pixelWidth == undefined || cell.style.pixelWidth == 0) ? vWidth : cell.style.pixelWidth;
}
//克隆表头
var headerRow = obj_GridView1.rows[0].cloneNode(true);
//隐藏表内表头
obj_GridView1.rows[0].style.display = "none";
//显示预显示表头
obj_HeaderOfGridView1.style.display = "block";
//obj_DivOfGridView1.style.marginTop = "25px";
obj_DivOfGridView1.style.height = obj_DivOfGridView1.clientHeight;
//替换预显示表格内内容
newHeaderRow.parentNode.replaceChild(headerRow, newHeaderRow);
newHeaderRow = obj_HeaderOfGridView1.childNodes[0].childNodes[0].childNodes[0];
//设置预显示表格的宽度
obj_HeaderOfGridView1.childNodes[0].style.width = obj_GridView1.offsetWidth;
}
}
Re:坐标系统概念 懒人ABC 2010-01-12 14:01
缺点:(包括3个方面,后续)
B. 1980西安大地坐标系(参心坐标系)
原因:a. 1954坐标系椭球参数长半轴有108m的差距与现在的精确值
b. 参考椭球面与我国大地水准面之间存在自西向东的系统性倾斜,东部差距达68m
c. 几何大地测量和物理大地测量应用的参考面不统一。重力数据处理时采用的是赫尔默特正常重力公式,与其相应的椭球为赫尔默特椭球,这与克拉索夫斯基椭球不一致。
d. 定向不明确:克拉索夫斯基椭球短半轴既不指向CIO也不指向我国地极原点JYD1968.0;同时其起始子午面也不是国际时间局所定义的格林尼治平均天文台子午面。这给坐标换算带来了很多麻烦。
e. 1954坐标系还是按局部平差逐步提供大地点成果的,因此不可避免地会出现一些矛盾和不够合理的地方。
原则:a. 全国天文大地网整体平差要在新的坐标系的参考椭球面上进行。为此首先需要建立一个新的大地坐标系,并名之为1980国家大地坐标系;
b. 1980国家大地坐标系的大地原点定在我国中部。具体选在陕西泾阳县永乐镇
c. 采用国际大地测量和地球物理联合会1975年推荐的四个地球椭球参数(a,J2,GM,omega),并根据这四个参数求解椭球扁率和其它参数。(a=6378140m;GM=3.986005*pow(10,14);J2=1.08263*pow(10,-8);omega=7.292115*pow(10,-5))
d. 1980年国家大地坐标系的椭圆短半轴平行于地球质心指向我国地极原点JYD1968.0方向;大地起始子午面平行于格林尼治天文台的平均子午面
e. 高程方向的约束条件:椭球定位参数以我国范围内----高程异常值平方和------最小。
优点:a. 参心坐标系是在1954北京坐标系的基础上建立起来的(参见《大地测量学》162页(20-8)式)
b. 椭球面同似大地水准面在我国境内最为密合,并且是多点定位
c. 定向明确
d. 大地原点位置居中,比较适当
e. 大地高程基准采用1956黄海高程系
C. 新1954北京坐标系
原因:由于1954旧坐标系存在时间较长,而它又与GDZ80两者之间的差距较大,所以给成果的使用带来了很大的不便。促使人们建立一个介于两者之间的新1954坐标系。
特点:a. 新BJ54是-------在GDZ80的基础上,改变GDZ80的IUGG1975椭球几何参数为克拉索夫斯基椭球参数;并将GDZ80坐标原点进行平移-------从而建立起来的。
b. 综合GDZ80和旧BJ54建立起来的
c. 采用多点定位,但椭球面与大地水准面在我国境内不是最佳拟合
Re:坐标系统概念 懒人ABC 2010-01-12 13:59
c. 初始定向由国际时间局(BIH)1984.0的定向给定
d. 定向中的时变不会使地壳产生残余的全球性旋转
根据上述准则,WGS-84协议地球参照系的定义如下:
a. 原点位于地球质心(Earth's Center of Mass)
b. Z轴与IERS(国际地球自转及参照系服务-----International Earth Rotation and Reference System Service)参考极(IRP---IERS Reference Pole)指向相同,该指向与1984.0历元的BIH协议地极(CTP-----Conventional Terrestrial Pole)一致
c. X轴指向IERS参考子午线(IRM)与过原点且垂直于Z轴平面的交点
d. Y轴最终完成右手地心地固正交系
国际地球参照系(ITRS-----International Terrestrial Reference System)是由IERS所定义的一个协议地球参照系,其定义满足如下条件:
a. 原点位于地球质心,地球质心为包括海洋和大气在内的整个地球的质心
b. 长度尺度为国际单位制米
c. 初始定向为国际时间局(BIH)所给出的1984.0定向
d. 定向的时变通过一个关于全球水平运动构造运动的非净旋转条件
国际地球参考框架:是ITRS的实现,是由一组具有ITRS下坐标和速度估值的IERS观测站组成,并由IERS中心局的地球参考框架部负责建立和维护。下面仅以ITRF2000的基准定义为例说明:
a. 尺度:通过将ITRF2000与VLBI 和所有可靠SLR解的加权平均值之间的尺度和尺度扁率设为0来实现
b. 原点:(略)
c. 定向:(略)
5. 我国常用坐标参照系
A. 旧1954北京坐标系(参心坐标系)
1954北京坐标系是我国目前广泛采用的大地测量坐标系。该坐标系源自于前苏联1942年普尔科夫坐标系。
椭球:克拉索夫斯基椭球
长半轴a:6378245m
扁率f:1/298.3
高程:以1956年青岛验潮站的黄海平均海水面为基准
Re:坐标系统概念 懒人ABC 2010-01-12 13:57
其中n=1,2,3,。。。
按照目前我的测绘法规规定:在国内进行测量工作时,在需要进行球面坐标系到平面坐标系的转换时,统一采用高斯投影法。
2. 通用横轴墨卡托投影(UTM):有些西方国家为了控制投影带边沿的变形,采用之。它的显著特点是:投影后中央子午线的长度发生变化,与原来的比值为0.9996.它与高斯投影坐标之间的关系用公式表示如下:
x(U)=0.9996 x(G)
y(U)=0.9996 y(G)
三:常用的地球参照系和参考框架
1. 地球参照系:是一种地固系,一种固定在地球上随地球一同旋转的坐标系。同样根据地球参照系原点选取的不同分为地心系和参心系。
2. 协议地球参照系(CTRS):是一种相对地球固定的地心系
目的:主要是为了解决全球坐标参照系不统一带来的各种问题和不便。
协议地球参照系:Conventional Terrestrial Reference System(英文名称)
原点:地球质心
Z轴:指向协议地极CTP(Conventional Terrestrial Pole),即是1900----1905年间地极的平均位置
X轴:指向协议赤道与格林威治子午圈的交点,最终与Y轴一起形成右手坐标系
3. 协议地球框架(CTRF):是一组-------具有指定协议的地球参照系下的-------具有精确坐标的点。这些点即协议地球框架是刚述及的协议地球参考系的实现。CTRF(Conventional Terrestrial Reference )
4. GPS测量定位中的地球参照系和参考框架
在卫星导航定位系统中,轨道数据通常是地心地固系(ECEF----Earth-Centered Earth-Fixed)下的数据,只有这样才能保证最终的定位结果和轨道数据同属于相同的坐标参照系,以方便进行相关计算。
目前,较为常用的GPS卫星轨道数据主要有两种:基于WGS-84的广播星历和基于国际地球参考框架(ITRF)的IGS精密星历。
WGS-84地球参照系:若测量定位时采用的是广播星历,则结果属于WGS-84系。
WGS-84地球参照系是一个协议地球参照系,是一个地心地固右手正交坐标系。其定义的准则如下:
a. 为地心系,原点位于包括海洋和大气在内的整个地球的质心
b. 尺度在局部地球框架下,遵守相对论原理
Re:坐标系统概念 懒人ABC 2010-01-12 13:52
7. 空间直角坐标系/笛卡尔坐标系:实质上点的空间直角坐标就是该点到坐标系原点形成的向径在三个坐标轴上的投影;一般坐标系原点选在参考椭球的中心(参考椭球分为地心椭球和参心椭球),X轴指向本初子午线与赤道的交点,Z轴与地球自转轴平行并指向参考椭球的北极,最终与Y轴形成右手直角坐标系。一般用(X,Y,Z)来表示任一点的空间位置。
8. 站心坐标系:分为站心地平坐标系(又称直角坐标系并且是左手系)和站心极坐标系:
站心地平坐标系:它是以测站标石中心为坐标系原点;
以该点出椭球法方向为U轴(uppering);
以与U轴垂直并且指向Z轴的方向为N轴(northing);
以东方向为E轴(easting);
从而形成左手系。
站心地平极坐标系:以测站标石中心为原点;NU轴所在平面为起始平面;顺时针为正方向,空间任一点到原点为向径;从而形成的的坐标系。
二:需要用到的几个基本概念-------- 平面坐标系/格网坐标
前言:虽然空间任一点我们都可以在球面坐标系下描述其具体位置,但是在实际应用当中,我们还是习惯于在一个平面二维坐标系中来确定一个点的位置。由球面坐标系转换到平面二维坐标系是通过所谓的“投影(Projection)”方法实现的,其投影函数的数学表达方式为:
x=f1(B,L)
y=f2(B,L)
其中x,y为平面系下的坐标;B, L为任一点的大地坐标系的经纬度;f1,f2为单值、连续、有界的投影函数。在一些文献和软件中也称平面坐标为格网坐标。
1. 横轴墨卡托投影:也称为高斯正形投影、高斯--克吕格投影或者高斯投影,我国统一采用高斯投影,一般在工程测量当中采用3度带或6度带投影法,为尽可能减少由球面坐标系转换到平面坐标系时带来的变形影响,在精密程度要求较高的工程项目当中一般采用3度带法。
6度带中央子午线经度L=6n-3;其中n是带数标号,起始编号为1,即第一带的中央子午线的经度为3度。我国的经度为69度至135度共跨12带。
3度带的中央子午线一般与6度带的重合,一般和6度带的边沿重合,其中央子午线经度的计算公式为:L=3n;
自动调整弹出对话框的大小
<HTML>
<HEAD>
<TITLE>Popup Glossary Definition Sample</TITLE>
<SCRIPT LANGUAGE="JScript">
var oPopup = window.createPopup();
function fnDef()
{
if (event.srcElement.id == "brasshat")
oPopup.document.body.innerHTML = oBrassHat.innerHTML;
else if (event.srcElement.id == "entrechat")
oPopup.document.body.innerHTML = oEntrechat.innerHTML;
var popupBody = oPopup.document.body;
// The following popup object is used only to detect what height the
// displayed popup object should be using the scrollHeight property.
// This is important because the size of the popup object varies
// depending on the length of the definition text. This first
// popup object is not seen by the user.
oPopup.show(0, 0, 300, 0);
var realHeight = popupBody.scrollHeight;
// Hides the dimension detector popup object.
oPopup.hide();
// Shows the actual popup object with correct height.
oPopup.show(0, 15, 300, realHeight, event.srcElement);
}
</SCRIPT>
</HEAD>
<BODY>
The <SPAN ID="brasshat" onclick="fnDef();">brass hat</SPAN>
was impressed by the grace of the dancer's
<SPAN ID="entrechat" onclick="fnDef();">entrechat</SPAN>.
<!-- Nested DIVS inside this hidden DIV store the code that populates the
popup object. -->
<DIV STYLE="display:none;">
<DIV ID="oBrassHat">
<DIV>
<B>brass hat:</B><BR>
A high-ranking official.
</DIV>
</DIV>
<DIV ID="oEntrechat">
<DIV>
<B>entrechat:</B><BR>
A jump in ballet during which the dancer crosses the legs a
number of times, alternatively back and forth.
</DIV>
</DIV>
</DIV>
</BODY>
</HTML>
clientHeight、offsetHeight和scrollHeight
offsetTop、offsetLeft、offsetWidth、offsetHeight
scrollTop、scrollLeft、scrollWidth、scrollHeight
clientHeight、offsetHeight和scrollHeight
--------------------------------------------------------------------------------
我们这里说说四种浏览器对 document.body 的 clientHeight、offsetHeight 和 scrollHeight 的解释,这里说的是 document.body,如果是 HTML 控件,则又有不同,点击这里查看。
这四种浏览器分别为IE(Internet Explorer)、NS(Netscape)、Opera、FF(FireFox)。
文尾的重要说明比较重要,请注意。
clientHeight
大家对 clientHeight 都没有什么异议,都认为是内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度,一般是最后一个工具条以下到状态栏以上的这个区域,与页面内容无关。
offsetHeight
IE、Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框。
NS、FF 认为 offsetHeight 是网页内容实际高度,可以小于 clientHeight。
scrollHeight
IE、Opera 认为 scrollHeight 是网页内容实际高度,可以小于 clientHeight。
NS、FF 认为 scrollHeight 是网页内容高度,不过最小值是 clientHeight。
简单地说
clientHeight 就是透过浏览器看内容的这个区域高度。
NS、FF 认为 offsetHeight 和 scrollHeight 都是网页内容高度,只不过当网页内容高度小于等于 clientHeight 时,scrollHeight 的值是 clientHeight,而 offsetHeight 可以小于 clientHeight。
IE、Opera 认为 offsetHeight 是可视区域 clientHeight 滚动条加边框。scrollHeight 则是网页内容实际高度。
同理
clientWidth、offsetWidth 和 scrollWidth 的解释与上面相同,只是把高度换成宽度即可。
重要说明
以上是在没有指定 DOCTYPE 的情况下,如果指定了 DOCTYPE,比如:DTD XHTML 1.0 Transitional,则意义又会不同,在这种情况下这三个值都是同一个值,都表示内容的实际高度。新版本的浏览器大多支持根据页面指定的 DOCTYPE 来启用不同的解释器。下载或浏览测试文件。如果要在指定的 DOCTYPE 下按上述意义来应用,怎么办呢?答案是:将 document.body 和 document.documentElement 一起应用,比如:document.documentElement.scrollLeft || document.body.scrollLeft(一般将 document.documentElement 写在前面),类似应用请参见:http://www.cftea.com/c/2008/06/U1FSRIC247DWTK2M.asp。
Re:距阵在现实中的应用-例1 懒人ABC 2009-11-30 14:15
对于楼上的概要说法,具体请参照【地理信息系统算法基础】一书。
里面详细的介绍了各个距阵在GIS中的应用。
Re:距阵在现实中的应用-例1 懒人ABC 2009-11-30 14:13
《矩阵变换与极坐标参数方程》
(一)模块概况
浙江省高中数学选修ⅠB模块《矩阵变换与极坐标参数方程》由矩阵与变换、极坐标与参数方程二个专题组成。矩阵是研究图形(向量)变换的基本工具,有着广泛的应用,许多数学模型都可以用矩阵来表示。本专题将通过平面图形的变换讨论二阶方阵的乘法及性质、逆矩阵和矩阵的特征向量等概念,并以变换和映射的观点理解解线性方程组的意义,初步展示矩阵应用的广泛性。在过去的教学中该内容从未正式列入中学课程,但它作为从向量集合到向量集合的一种特殊的映射,构成几何变换的代数表示,已是现代数学中的基本表示工具,可培养学生从变换和映射观点理解二阶矩阵的简单性质与应用。学习目标了解二阶矩阵的概念、性质、运算及旋转变换、反射变换、伸缩变换、投影变换、切变变换的概念与矩阵表示,初步掌握矩阵与变换简单应用。极坐标与参数方程专题是解析几何初步、平面向量、三角函数等内容的综合应用和进一步深化。极坐标系和参数方程是本专题的重点内容,对于柱坐标系、球坐标系等只作简单了解。学习目标是掌握极坐标和参数方程的基本概念,了解曲线的多种表现形式,体会从实际问题中抽象出数学问题的过程,培养探究数学问题的兴趣和能力,体会数学在实际中的应用价值,提高应用意识和实践能力。
(二)内容要点
1.矩阵与变换
(1)线性变换与二阶矩阵
◆线性变换与二阶矩阵
◆二阶矩阵与平面向量的乘法
◆线性变换的基本性质
(2)变换的复合与二阶矩阵的乘法
◆复合变换与二阶矩阵的乘法
◆矩阵乘法的性质
(3)逆变换与逆矩阵
◆逆变换与逆矩阵
◆二阶行列式与逆矩阵
◆逆矩阵与二元一次方程组
(4)变换的不变量与矩阵的特征向量
◆变换的不变量——矩阵的特征向量
◆特征向量的应用
2.极坐标与参数方程
(1)坐标系
◆平面直角坐标系
◆极坐标系
◆简单曲线的极坐标方程
◆柱坐标系与球坐标系简介
(2)参数方程
◆曲线的参数方程
◆圆锥曲线的参数方程
◆直线的参数方程
◆渐开线与摆线
二、学习意义
1.现实生活中许多问题都可以用矩阵表示,因而矩阵有着广泛的应用。本专题是从实例引入矩阵的概念和二阶矩阵的运算。由于映射是讨论两个集合之间对应关系的工具,一个集合到自身的映射称为这个集合的变换,在现实世界中变换是无处不在的。本专题从平面图形的变换介绍了常见的几种平面上点的变换以及几类常见变换对应的矩阵,进一步介绍了复合变换、逆变换与对应矩阵间的运算关系和应用。通过学习,我们可以掌握矩阵的概念和运算,了解特征值、特征向量与线性变换、矩阵间的关系,并能利用矩阵表示和性质解决一些相关问题,逐步形成用数学的眼光认识事物、用数学方法描述客观规律的意识,进一步体会数学的神奇与奥妙。
2.几何学主要是讨论图形的形状、性质和位置,如何刻画一个图形的位置?坐标系的方法是常用的一种方法。坐标系的思想是现代数学最重要的基本思想之一,它是联系几何与代数的桥梁,充分地反映了数形结合的思想,有了坐标系,我们就可以把图形用代数的方法表示出来。在不同的坐标系中,可以有不同的表示方法。在极坐标系中,学习用极坐标刻画点,可体会极坐标系和直角坐标系刻画点的区别,并进行极坐标和直角坐标的互化,体会在用方程刻画平面图形时选择不同坐标系的意义。在直角坐标系中,如果曲线上的动点( 、 )的坐标 、 之间的关系可直接表示,那么得到的就是普通方程 、 ,如果直接关系难以找到,可引入第三个量 ,而把 、 表示成 的关系式 ,从而得到了 、 的间接关系,即参数方程,参数方程有很多优越性,它使我们从另一个视角认识了圆锥曲线,许多难以用普通方程表示的曲线也得到表述,也让我们欣赏到奇异纷呈的优美曲线,如心脏线、螺线、玫瑰线、叶形线、平摆线、渐开线等,并体会到了参数的作用。通过坐标系和参数方程学习,可丰富处理解析几何问题的方法,体会数形结合、相对与绝对、运动与变化、分解和综合等思想方法,锤炼创新思维和发散思维,进一步提高解决解析几何综合问题的能力,巩固已有的知识。
Re:距阵在现实中的应用-例1 懒人ABC 2009-11-30 14:10
例2
灰度图转换为黑白图其中一种算法:
M4抖动法:
private byte[][] BayerPattern = new byte[][]
{
new byte[]{0,32,8,40,2,34,10,42},
new byte[]{48,16,56,24,50,18,58,26},
new byte[]{12,44,4,36,14,46,6,38},
new byte[]{60,28,52,20,62,30,54,22},
new byte[]{3,35,11,43,1,33,9,41},
new byte[]{51,19,59,27,49,17,57,25},
new byte[]{15,47,7,39,13,45,5,37},
new byte[]{63,31,55,23,61,29,53,21}
};
private void DoM4(Bitmap pBitmap, int pX, int pY)
{
Color vPixelColor = pBitmap.GetPixel(pX, pY);
if(vPixelColor != Color.White
&& vPixelColor != Color.Black)
{
Color vTempColor = Color.FromArgb(255, 255, 255);
if((GetGrayColor(vPixelColor) >> 2) > BayerPattern[pY&7][pX&7])
{
vTempColor = Color.FromArgb(255, 255, 255);
pBitmap.SetPixel(pX, pY, vTempColor);
}
else
{
vTempColor = Color.FromArgb(0, 0, 0);
pBitmap.SetPixel(pX, pY, vTempColor);
}
}
}
通过以上算法就可以实现粗糙的黑白图了。
资料:
多线程:C#线程同步lock,Monitor,Mutex,同步事件和等待句柄(上)
http://www.yaosansi.com/post/1344.html
原文:http://www.cnblogs.com/freshman0216/archive/2008/07/27/1252253.html
之间,出于学习的目的下面的示例都省略了这段xml标记。
1、<authentication> 节
作用:配置 asp.NET 身份验证支持(为Windows、Forms、PassPort、None四种)。该元素只能在计算机、站点或应用程序级别声明。<
authentication> 元素必需与<authorization> 节配合使用。
示例:
以下示例为基于窗体(Forms)的身份验证配置站点,当没有登陆的用户访问需要身份验证的网页,网页自动跳转到登陆网页。
<authentication mode="Forms" >
<forms loginUrl="logon.aspx" name=".FormsAuthCookie"/>
</authentication>
其中元素loginUrl表示登陆网页的名称,name表示Cookie名称。
2、<authorization> 节
作用:控制对 URL 资源的客户端访问(如允许匿名用户访问)。此元素可以在任何级别(计算机、站点、应用程序、子目录或页)上声
明。必需与<authentication> 节配合使用。
示例:以下示例禁止匿名用户的访问
<authorization>
<deny users="?"/>
</authorization>
注:你可以使用user.identity.name来获取已经过验证的当前的用户名;可以使用
web.Security.FormsAuthentication.RedirectFromLoginPage方法将已验证的用户重定向到用户刚才请求的页面.具体的
3、<compilation>节
作用:配置 asp.NET 使用的所有编译设置。默认的debug属性为“True”.在程序编译完成交付使用之后应将其设为False(Web.config
文件中有详细说明,此处省略示例)
4、<customErrors>
作用:为 asp.NET 应用程序提供有关自定义错误信息的信息。它不适用于 xml Web services 中发生的错误。
示例:当发生错误时,将网页跳转到自定义的错误页面。
<customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly">
</customErrors>
其中元素defaultRedirect表示自定义的错误网页的名称。mode元素表示:对不在本地 Web 服务器上运行的用户显示自定义(友好的)信
息。
5、<httpRuntime>节
作用:配置 asp.NET HTTP 运行库设置。该节可以在计算机、站点、应用程序和子目录级别声明。
示例:控制用户上传文件最大为4M,最长时间为60秒,最多请求数为100
<httpRuntime maxRequestLength="4096" executi appRequestQueueLimit="100"/>
6、 <pages>
作用:标识特定于页的配置设置(如是否启用会话状态、视图状态,是否检测用户的输入等)。<pages>可以在计算机、站点、应用程序
和子目录级别声明。
示例:不检测用户在浏览器输入的内容中是否存在潜在的危险数据(注:该项默认是检测,如果你使用了不检测,一要对用户的输入进
行编码或验证),在从客户端回发页时将检查加密的视图状态,以验证视图状态是否已在客户端被篡改。(注:该项默认是不验证)
<pages buffer="true" enableViewStateMac="true" validateRequest="false"/>
7、<sessionState>
作用:为当前应用程序配置会话状态设置(如设置是否启用会话状态,会话状态保存位置)。
示例:
<sessionState mode="InProc" cookieless="true" timeout="20"/>
</sessionState>
注:
mode="InProc"表示:在本地储存会话状态(你也可以选择储存在远程服务器或SAL服务器中或不启用会话状态)
cookieless="true"表示:如果用户浏览器不支持Cookie时启用会话状态(默认为False)
timeout="20"表示:会话可以处于空闲状态的分钟数
8、<trace>
作用:配置 asp.NET 跟踪服务,主要用来程序测试判断哪里出错。
示例:以下为Web.config中的默认配置:
<trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
注:
enabled="false"表示不启用跟踪;
requestLimit="10"表示指定在服务器上存储的跟踪请求的数目
pageOutput="false"表示只能通过跟踪实用工具访问跟踪输出;
traceMode="SortByTime"表示以处理跟踪的顺序来显示跟踪信息
localOnly="true" 表示跟踪查看器 (trace.axd) 只用于宿主 Web 服务器
自定义Web.config文件配置
自定义Web.config文件配置节过程分为两步。
5.<globalization>节
格式:
<globalization
requestEncoding="utf-8"
resp
fileEncoding="utf-8"
/>
I.requestEncoding: 它用来检查每一个发来请求的编码.
II.responseEncoding: 用于检查发回的响应内容编码.
III.fileEncoding: 用于检查aspx,asax等文件解析的默认编码.
6.<sessionState>节
格式:
<sessionState
mode="InProc"
stateC
sqlC
cookieless="false"
timeout="20"
/>
I.mode: 分为off,Inproc,StateServer,SqlServer几种状态
mode = InProc 存储在进程中特点:具有最佳的性能,速度最快,但不能跨多台服务器存储共享.mode = "StateServer" 存储在状态服务
器中特点: 当需要跨服务器维护用户会话信息时,使用此方法。但是信息存储在状态服务器上,一旦状态服务器出现故障,信息将丢
失. mode="SqlServer" 存储在sql server中特点:工作负载会变大,但信息不会丢失.
II. stateConnectionString :指定asp.net应用程序存储远程会话状态的服务器名,默认为本机
III.sqlConnectionString:当用会话状态数据库时,在这里设置连接字符串
IV. Cookieless:设置为true时,表示不使用cookie会话状态来标识客户;否则,相反.
V. TimeOut:用来定义会话状态存储的时间,超过期限,将自动终止会话.
7.<authentication>节
格式:
<authentication mode="Forms">
<forms name=".ASPXUSERDEMO" loginUrl="Login.aspx" protection="All" timeout="30"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
I.Windows: 使用IIS验证方式
II.Forms: 使用基于窗体的验证方式
III.Passport: 采用Passport cookie验证模式
IV.None: 不采用任何验证方式
里面内嵌Forms节点的属性涵义:
I.Name: 指定完成身份验证的Http cookie的名称.
II.LoginUrl: 如果未通过验证或超时后重定向的页面URL,一般为登录页面,让用户重新登录
III.Protection: 指定 cookie数据的保护方式.
可设置为: All None Encryption Validation四种保护方式
a. All表示加密数据,并进行有效性验证两种方式
b. None表示不保护Cookie.
c. Encryption表示对Cookie内容进行加密
d. validation表示对Cookie内容进行有效性验证
IV. TimeOut: 指定Cookie的失效时间. 超时后要重新登录.
在运行时对Web.config文件的修改不需要重启服务就可以生效(注:<processModel> 节例外)。当然Web.config文件是可以扩展的。你
可以自定义新配置参数并编写配置节处理程序以对它们进行处理。
web.config配置文件(默认的配置设置)以下所有的代码都应该位于
<configuration>
<system.web>
和
</system.web>
</configuration>
Web.config详解+asp.net优化
一、认识Web.config文件
Web.config 文件是一个xml文本文件,它用来储存 asp.NET Web 应用程序的配置信息(如最常用的设置asp.NET Web 应用程序的身份验
证方式),它可以出现在应用程序的每一个目录中。当你通过.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的
Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新
建一个Web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。
(一).Web.Config是以xml文件规范存储,配置文件分为以下格式
1.配置节处理程序声明
特点:位于配置文件的顶部,包含在<configSections>标志中。
2.特定应用程序配置
特点: 位于<appSetting>中。可以定义应用程序的全局常量设置等信息.
3.配置节设置
特点: 位于<system.Web>节中,控制asp.net运行时的行为.
4.配置节组
特点: 用<sectionGroup>标记,可以自定义分组,可以放到<configSections>内部或其它<sectionGroup>标记的内部.
(二).配置节的每一节
1.<configuration>节根元素,其它节都是在它的内部.
2.<appSetting>节此节用于定义应用程序设置项。对一些不确定设置,还可以让用户根据自己实际情况自己设置
用法:
I.<appSettings>
<add key="Conntction" value="server=192.168.85.66;userid=sa;password=;database=Info;"/>
<appSettings>
定义了一个连接字符串常量,并且在实际应用时可以修改连接字符串,不用修改程式代码.
II.<appSettings>
<add key="ErrPage" value="Error.aspx"/><appSettings> 定义了一个错误重定向页面.
3.<compilation>节
格式:
<compilation
defaultLanguage="c#"
debug="true"
/>
I.default language: 定义后台代码语言,可以选择c#和vb.net两种语言.
IIdebug : 为true时,启动aspx调试;为false不启动aspx调试,因而可以提高应用程序运行时的性能。一般程序员在开发时设置为
true,交给客户时设置为false.
4.<customErrors>节
格式:
<customErrors
mode="RemoteOnly"
defaultRedirect="error.aspx"
<error statusCode="440" redirect="err440page.aspx"/>
<error statusCode="500" redirect="err500Page.aspx"/>
/>
I.mode : 具有On,Off,RemoteOnly 3种状态。On表示始终显示自定义的信息; Off表示始终显示详细的asp.net错误信息; RemoteOnly表
示只对不在本地Web服务器上运行的用户显示自定义信息.
II.defaultRedirect: 用于出现错误时重定向的URL地址. 是可选的
III.statusCode: 指明错误状态码,表明一种特定的出错状态.
IV. redirect:错误重定向的URL.
获取客户端IP:
private string GetClientIP()
{
string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.UserHostAddress;
}
return result;
}
获取MAC地址:
[DllImport("Iphlpapi.dll")]
private static extern int SendARP(Int32 dest,Int32 host,ref Int64 mac,ref Int32 length);
[DllImport("Ws2_32.dll")]
private static extern Int32 inet_addr(string ip);
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
try
{
string userip=Request.UserHostAddress;
string strClientIP = Request.UserHostAddress.ToString().Trim();
Int32 ldest = inet_addr(strClientIP); //目的地的ip
Int32 lhost = inet_addr(""); //本地服务器的ip
Int64 macinfo = new Int64();
Int32 len = 6;
int res = SendARP(ldest,0, ref macinfo, ref len);
string mac_src=macinfo.ToString("X");
if(mac_src == "0")
{
if(userip=="127.0.0.1")
Response.Write ("正在访问Localhost!");
else
Response.Write ("欢迎来自IP为" + userip + "的朋友!" + "<br>");
return;
}
while(mac_src.Length<12)
{
mac_src = mac_src.Insert(0,"0");
}
string mac_dest="";
for(int i=0;i<11;i++)
{
if (0 == (i % 2))
{
if ( i == 10 )
{
mac_dest = mac_dest.Insert(0,mac_src.Substring(i,2));
}
else
{
mac_dest ="-" + mac_dest.Insert(0,mac_src.Substring(i,2));
}
}
}
Response.Write ("欢迎来自IP为"+userip+ "<br>" + ",MAC地址为"+mac_dest+"的朋友!"
+ "<br>");
}
catch(Exception err)
{
Response.Write(err.Message);
}
}
Worksheet.Delete 方法:
删除基础 Microsoft.Office.Interop.Excel.Worksheet 对象,但不删除宿主项。强烈建议不使用此方法。
请参考:[url=http://msdn.microsoft.com/zh-cn/library/microsoft.office.tools.excel.worksheet.delete(VS.80).aspx]Worksheet.Delete 方法[/url]
請問LoadRunner测试Winform訪問wcf選擇什么協議錄制腳本
一个简易的读取shp文件的工具,可以查看里面每个点的坐标信息
Re:导出excel时文件的名字为乱码 懒人ABC 2009-09-30 01:12
对不起,各位。
以上方法不怎么好。
因为你下载时不保存而是直接打开,文件名就是一窜未解码的字符。
最好,文件名的地方不动,
进行以下修正:
Response.ContentType = "application/vnd.ms-excel";
Response.HeaderEncoding = System.Text.Encoding.GetEncoding("Shift_JIS");
注意:
-“Shift_JIS”不能乱写,写成“shift_jis”或者"SHIFT_JIS"都将是乱码。如果是中文的话,请参考维基百科,找出正规的代码也的名称。
-顺序不能错,顺序错的话,也是乱码。
Re:导出excel时文件的名字为乱码 懒人ABC 2009-09-30 01:13
对不起,各位。
以上方法不怎么好。
因为你下载时不保存而是直接打开,文件名就是一窜未解码的字符。
最好,文件名的地方不动,
进行以下修正:
Response.ContentType = "application/vnd.ms-excel";
Response.HeaderEncoding = System.Text.Encoding.GetEncoding("Shift_JIS");
注意:
-“Shift_JIS”不能乱写,写成“shift_jis”或者"SHIFT_JIS"都将是乱码。如果是中文的话,请参考维基百科,找出正规的代码也的名称。
-顺序不能错,顺序错的话,也是乱码。
使用Silverlight 3提供的ChildWindow控件
http://space.itpub.net/14466241/viewspace-609586
一站式WPF—线程模型和Dispatcher
http://forum.livetome.cn/thread-14294-1-1.html