procedure TfrmMain.FormCreate(Sender: TObject); //主窗体FormCreate事件
var FWidth:integer;
begin
if (screen.Width <> 1024) then //假设你设计程序时的分辨率为1024
begin
FWidth:=width;
scaled:=true;
Font.Size:=(Width div FWidth)*Font.Size;
scaleby(screen.Width,1024);
Height:=longint(Height)*longint(Screen.Height) DIV 768;
Width:=longint(Width)*longint(Screen.Width) DIV 1024;
end;
end;
这是以前项目用过的一段自适应分辨率的代码,效果还不错,不过字体最好调整为宋体。 ......
procedure frmMain.CLS; //主窗体自定义事件CLS
var i:integer;
begin
for i:=0 to panel5.ControlCount -1 do
begin
if panel5.Controls[i] is TEdit then //Edit组件
begin
((panel5.Controls[i]) as TEdit).Text:='';
((panel5.Controls[i]) as TEdit).Enabled:=true;
end else if panel5.Controls[i] is TComboBox then //ComboBox组件
begin
((panel5.Controls[i]) as TComboBox).Text:='';
((panel5.Controls[i]) as TComboBox).Enabled:=true;
end else if panel5.Controls[i] is TDateTimePicker then //DateTimePicker组件
begin
((pane ......
Delphi从6.0就开始支持Web Services的开发和应用了,本文通过使用Delphi 7.0调用新浪发送短信的Web Service进行短信应用程序开发这一实例详细的介绍在Delphi中如何开发基于Web Services的应用系统。
第一步,准备工作,了解新浪短信Web Service。新浪发送短信的Web Service地址是http://smsinter.sina.com.cn/ws/smswebservice0101.wsdl,该Web Service就只有一个方法,即string sendXml(carrier,userid,password,mobilenumber,content,msgtype)。各个参数全部为string类型,其含义基本如下(可能不正确)。
Carrier:运营商名称,好像可以随便输,建议输入“Sina”,如果输入其他的值,消息发送的特别慢;
Userid:您在新浪无线上注册的手机ID,如果您没有在http://sms.sina.com.cn上注册您的手机,你是无法使用本Web Service发送短信的;
Password:您在新浪无线上注册手机时所使用的密码;
Mobilenumber:对方的手机号码;
Content:发送短消息的内容;
Msgtype:发送短消息的类型,我估计支持彩信,不过我不知道怎么使用,似乎随便输什么都可以,我使用的是“Text”。
资费标准请参看新浪无线网站上的相关说明,为了不浪费电话费,我没测试 ......
今天用delphi 2010,做一个简单的内存映射的程序,在delphi以前版本上跑的好好的程序,在2010上,居然出现了不同的效果,发送端发送的字符串,接收端只收到一半,大概程序如下:
发送端:
var
str : String;
begin
CopyMemory(@(PShare^.Data),str,Length(str)); //把数据拷贝到共享内存
end;
接收端:
mmo1.Text := PShare^.Data;
查找帮助,Length的帮助中有那么一句话:For Unicode (WideString) strings, Length returns the number of bytes divided by two.
莫非是Unicode在捣鬼?上网查查,发现delphi2010里面大范围的使用了Unicode格式,pChar也从以前Ansi格式的1byte,变成2byte,在Lengh的时候就除以2,那么我这个str里面不管有什么当然就会被腰斩了。
怎么解决呢?
万一老师说,可以用ByteLength函数,但是也有人说,ByteLength函数只能对Unicode字符串求字节长度,如果要对Ansi字符串进行计算,那么结果会是正确值的两倍,虽然在这个程序中,ByteLength函数足够满足我的需求了,但是为了养成良好的习惯,我采用了另外一种方法,就是Length(str)*SizeOf(Char),这样不管是求AnsiChar还是Unicode Char的字 ......
1、字符串转换为数值
常规方法:
JScript code
var a = parseFloat("12");
var b = parseInt("34");
可以用
JScript code
var a = +("12");
var b = +("34");
2、多维数组
常规方法:
JScript code
var A = new Array(2);
A[0] = new Array(2);
A[1] = new Array(2);
A[0][0] = 1;
A[0][1] = 2;
A[1][0] = 2;
A[1][2] = 2;
可以利用对象的属性轻松实现
JScript code
var A = {};
A[[0, 0]] = 1;
A[[0, 1]] = 2;
A[[1, 0]] = 3;
A[[1, 2]] = 4;
3、遍历正则结果
常规方法:
JScript code
var str = "a1b2c3d4e5f6g7h8i9j0k";
var match = str.match(/\d/g, str);
var msg = [];
for(var i = 0; i < match.length; i++) {
msg.push(match[i]);
}
alert(msg);
可以利用String.replace方法
JScript code
var str = "a1b2c3d4e5f6g7h8i9j0k";
var msg = [];
str.replace(/\d/g, function() {
msg.push(arguments[0]);
});
alert(msg);
......
<script language="javascript">
function ShowTableRow(id)
{
var _Row = document.getElementById(id) <!-- 获取ID为TableRowID 的对象 -->
var _Img = document.getElementById("Img"+id)
<!--alert(_Img)-->
if(_Row.style.display=="none")
{
_Row.style.display="";
_Img.src="arrowUP.gif";
}
else
{
_Row.style.display="none";
_Img.src="arrowDOWN.gif";
}
}
</script>
*******************************
asp/jsp 页面: 设置对象的 ID
.......................
& ......