Delphi7调用C#的webservice,在windows2008下不能运行??

作者: 傻猫    分类: 搞软件     发布时间: 12-05 20:37    浏览次数: 1479     无留言

Delphi ListView排序

作者: 傻猫    分类: 搞软件     发布时间: 11-14 22:37    浏览次数: 5354     无留言

Delphi中获取Unix时间戳及注意事项

作者: 傻猫    分类: 搞软件     发布时间: 08-23 16:05    浏览次数: 5577     无留言

恢复delphi7 文件关联

作者: 傻猫    分类: 搞软件     发布时间: 06-10 11:48    浏览次数: 3840     无留言

delphi Format格式化函数

作者: 傻猫    分类: 搞软件     发布时间: 02-14 10:47    浏览次数: 5207     无留言

Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用:

首先看它的声明:
function Format(const Format: string; const Args: array of const): string; overload;

事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在于它是线程安全的,
但并不多用,所以这里只对第一个介绍:
function Format(const Format: string; const Args: array of const): string; overload;

Format参数是一个格式字符串,用于格式化Args里面的值的。Args又是什么呢,
它是一个变体数组,即它里面可以有多个参数,而且每个参数可以不同。
如以下例子:

Format('my name is %6s',['wind']);
返回后就是my name is wind

查看更多内容...

如何将Bitmap位图与base64字符串相互转换

作者: 傻猫    分类: 搞软件     发布时间: 12-11 16:10    浏览次数: 4375     无留言

通过MAP文件尝试解决Access violation at address错误

作者: 傻猫    分类: 搞软件     发布时间: 03-27 11:14    浏览次数: 4059     无留言

Delphi获得与设置系统时间格式

作者: 傻猫    分类: 搞软件     发布时间: 02-24 15:23    浏览次数: 5580     无留言

在Delphi中,特别是在写管理系统软件时,经常要用到 FormatDateTime 以将 TDateTime 格式的日期时间转换成字符串形式的值显示或保存起来,或者用 StrToDateTime将字符串形式的日期时间转换成 TDateTime 然后再做其他操作。在进行时间或日期的转换时,会使用系统当前设定的时间日期格式。而如果时间日期格式与字符串中的表示方式不相符,会使转换过程 失败。例如当前短日期格式设定为'yyyy/MM/dd',而要转为 '2006-10-20'这样的字符串为日期,就会报错,说这不是一个有效的日期。

所以在进行转换前,要确保系统的日期时间格式与程序中使用的相符。一种方法是在安装时由安装程序设置,或者明确告诉用户必须设置成要求格式。另一种就是程序在启动时,自动设定为需要的格式,退出程序时再恢复原来的设置。

查看更多内容...

只输入数字或字母

作者: 傻猫    分类: 搞软件     发布时间: 07-12 14:13    浏览次数: 4891     无留言

procedure TFrm_KhbNewView.edt_cl_mbqssKeyPress(Sender: TObject;  var Key: Char);
begin
   if not(key in['0'..'9',#8])then   //限制只输入数字
  begin
      key:=#0;
      MessageBeep(1);    //Beep; 调用系统声音也行!
  end;
end;

['a'..'z' ,'A'..'Z', #8]       限制只输入字母

 

delphi 字符串与内存流和文件的快速转换函数

作者: 傻猫    分类: 搞软件     发布时间: 02-03 04:11    浏览次数: 5425     无留言

在delphi中没有能把字符串直接保存为文件的方法,也没有将文件直接作为字符串读出的方法。
没有能把字符串转化为内存流的方法,也没有能把内存流转化为字符串的方法。而这里有四个函数恰能做到。
代码如下:
function StringToFile(mString: string; mFileName: TFileName): Boolean;
{ 返回字符串保存到文件是否成功 }
var
vFileChar: file of Char;//通常是以行为单位,将依次写入每一行,而这里是字,则将依次写入每个字
I: Integer;
begin
{$I-}
AssignFile(vFileChar, mFileName);
Rewrite(vFileChar);
for I := 1 to Length(mString) do
Write(vFileChar, mString[I]);
CloseFile(vFileChar);
{$I+}
Result := (IOResult = 0) and (mFileName <> '');
end;
{ StringToFile }

function FileToString(mFileName: TFileName): string;
{ 返回从文件载入字符串 }
var
vFileChar: file of Char;
vChar: Char;
begin
Result := '';
{$I-}
AssignFile(vFileChar, mFileName);
Reset(vFileChar);
while not Eof(vFileChar) do begin
Read(vFileChar, vChar);
Result := Result + vChar;
end;
CloseFile(vFileChar);
{$I+}
end; { FileToString }


function StreamToString(mStream: TStream): string;
{ 将内存流转换成字符串 }
var
I: Integer;
begin
Result := '';
if not Assigned(mStream) then Exit;
SetLength(Result, mStream.Size);
for I := 0 to Pred(mStream.Size) do try
mStream.Position := I;
mStream.Read(Result[Succ(I)], 1);
except
Result := '';
end;
end; { StreamToString }


function StringToStream(mString: string; mStream: TStream): Boolean;
{ 返回将字符串保存到内存流是否成功 }
var
I: Integer;
begin
Result := True;
try
mStream.Size := 0;
mStream.Position := 0;
for I := 1 to Length(mString) do mStream.Write(mString[I], 1);
except
Result := False;
end;
end; { StringToStream }