小编Ger*_*oll的帖子

用Delphi进行不均匀的拉伸拉伸

好的,这是用图像最好解释的东西......

不均匀拉伸图像

我正在寻找一个类似于StretchBlt的功能,但是我可以将图像复制到定义目标四个角的画布,即图像的梯形/四边形拉伸绘制到画布上.

我可以想到一些缓慢的方法来做到这一点,但我想知道是否存在与StretchBlt相似的速度(例如,速度不会慢十倍).

谢谢

delphi canvas

4
推荐指数
1
解决办法
985
查看次数

在Delphi中将UTF8转换为ANSI(ISO-8859-1)

我有一个关于我必须将UTF8字符串转换为ANSI字符串的代码的问题.我的代码适用于元音中的重音,但是用字母Ñ它不起作用.代码打破了字符串.我该如何解决这个错误?

我在UTF8中
的字符串:EDIFICIOPEÃ'ASBLANCAS如果正确,我将在ANSI中使用
的字符串:EDIFICIOPEÑASBLANCAS 我现在使用ANSI的字符串:EDIFICIO PE

代码在这里:

    function TFormMain.convertir_utf8_ansi(const Source: string):string;
    var
       Iterator, SourceLength, FChar, NChar: Integer;
    begin
       Result := '';
       Iterator := 0;
       SourceLength := Length(Source);
       while Iterator < SourceLength do
       begin
          Inc(Iterator);
          FChar := Ord(Source[Iterator]);
          if FChar >= $80 then
          begin
             Inc(Iterator);
             if Iterator > SourceLength then break;
             FChar := FChar and $3F;
             if (FChar and $20) <> 0 then
             begin
                FChar := FChar and $1F;
                NChar := Ord(Source[Iterator]);
                if (NChar and $C0) <> $80 then break;
                FChar …
Run Code Online (Sandbox Code Playgroud)

delphi utf-8 ansistring delphi-2010

3
推荐指数
2
解决办法
1万
查看次数

类类型和构造函数调用

如果我写

type
  MyClass = class of TMyClass;
...
Obj := MyClass.Create;
Run Code Online (Sandbox Code Playgroud)

调用正确的构造函数(TMyClass中的构造函数).

如果我写

var
  ClassVar : TClass;
...
ClassVar := TMyClass;
Obj := ClassVar.Create;
Run Code Online (Sandbox Code Playgroud)

只调用TObject构造函数.

为什么?这两个版本有什么区别?我可以在第二种情况下强制执行TMyClass构造函数调用吗?

delphi delphi-2009

2
推荐指数
1
解决办法
363
查看次数

在Delphi中显示负时间

我正在Delphi 2009中开发一个计时器.我目前正在使用以下方法来格式化我的计时器显示:

Caption := Format('%.2d', [Hours]) + ':' + 
           Format('%.2d', [Minutes]) + ':' + 
           Format('%.2d', [Seconds]);
Run Code Online (Sandbox Code Playgroud)

这按预期显示时间为:

00:04:35
Run Code Online (Sandbox Code Playgroud)

但是,当我进入负面时间时,可以理解地将其显示为:

00:-04:-35
Run Code Online (Sandbox Code Playgroud)

我需要时间显示为:

-00:04:35
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

delphi delphi-2009

0
推荐指数
1
解决办法
476
查看次数

sendmessage中的问题和lparam(delphi)

我想使用WM_MOUSEMOVE消息移动鼠标.但我不知道如何设置lparam值?
请指导完成此任务.

delphi

0
推荐指数
1
解决办法
820
查看次数

标签 统计

delphi ×5

delphi-2009 ×2

ansistring ×1

canvas ×1

delphi-2010 ×1

utf-8 ×1