图老师小编精心整理的TEmbeddedwb的一个小bug希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~
【 tulaoshi.com - 编程语言 】
这几天不知道是不是人品出了问题,老是遇上一些小bug。 function ReadMargin(key: string): Real;
begin
S := RegwinRegistry.ReadString(key);
S := Stringreplace(S, ' ', '', [rfReplaceAll]);
if DecimalSeparator '.' then
S := Stringreplace(S, '.', DecimalSeparator, []);
if Printoptions.Measure = mMetric then
result := StrtoFloat(S) * InchToMetric else
result := StrtoFloat(S);
end;
begin
regWinRegistry := TRegistry.Create;
try
with regWinRegistry do begin
RootKey := HKEY_CURRENT_USER;
if OpenKey('SoftwareMicrosoftInternet ExplorerPageSetup', False) then
begin
PrintOptions.Header := Readstring('header');
PrintOptions.Footer := ReadString('footer');
PrintOptions.Margins.left := ReadMargin('margin_left');
PrintOptions.Margins.right := ReadMargin('margin_right');
PrintOptions.Margins.top := ReadMargin('margin_top');
PrintOptions.Margins.bottom := ReadMargin('margin_bottom');
end;
end;
finally
regWinRegistry.Free;
end;
end;
这个函数是在注册表中去取IE的打印设置,打开注册表一看,果然没有'margin_left'这四个项,加上这四个字符串值,并赋上初值0。打开窗口。OK。高兴之余也不禁感慨,这个xp的操作系统装上以后还灭怎么摧残过,照理这四个键不是偶搞掉的,也就说系统装上就没有的,到底是microsoft人品有问题还是偶人品有问题已经不重要了,可是偶现在才明白,原来大师的程序也有bug啊,为什么不用StrToFloatDef函数哩?
今天在公司机器上一看,果然有这四个键,每个值为0.75。
小bug一个,仅作记录,以供有同样情形的同志参考。
来源:http://www.tulaoshi.com/n/20160219/1606673.html
看过《TEmbeddedwb的一个小bug》的人还看了以下文章 更多>>