小编Gle*_*rse的帖子

数学用于慢速图像缩放

我有一个带漫画书布局的.bmp图片.目前我的代码是这样的.如果我右键单击并按住鼠标按钮,我可以在漫画书页面上的其中一个框架周围绘制一个选框类型框.当我释放按钮时,它将放大到该帧.但它的瞬间.我希望它有动画效果.

因此,而不是将PicRect的值设置为"结束值"

PicRect.Left
PicRect.right
PicRect.top
PicRect.bottom
Run Code Online (Sandbox Code Playgroud)

如下面的代码所示,我需要一种慢慢到达那里的方法,某种类型的while循环一次设置一些这些值,直到它达到"最终值"但是我不是100%肯定这个数学如何工作中.也没有任何我的while循环尝试做任何事情,但放大太远.这是程序.

procedure TZImage.MouseUp(Button: TMouseButton; Shift: TShiftState;
                      X, Y: Integer);
    var coef:Double;
    t:integer;
begin
   if FMouse=mNone then Exit;
   if x>ShowRect.Right then x:=ShowRect.Right;
   if y>ShowRect.Bottom then y:=ShowRect.Bottom;
   if FMouse=mZoom then begin  //calculate new PicRect
     t:=startx;
     startx:=Min(startx,x);
     x:=Max(t,x);
     t:=starty;
     starty:=Min(starty,y);
     y:=Max(t,y);
     FMouse:=mNone;
     MouseCapture:=False;
//enable the following if you want to zoom-out by dragging in the opposite direction}
    {     if Startx>x then begin
            DblClick;
            Exit;
         end;}
         if Abs(x-startx)<5 then Exit;
         if (x - startx < y - starty) …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-xe

5
推荐指数
2
解决办法
760
查看次数

按标题搜索标签

我试图找出如何通过它搜索标签Caption:

for I := ComponentCount - 1 downto 0 do
begin
  if Components[i] is TLabel then
    if Components[i].Caption = mnNumber then
    begin
      Components[i].Left := Left;
      Components[i].Top := Top + 8;
    end;
end;
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:Undeclared identifier: 'Caption'.
我该如何解决这个问题?

delphi

5
推荐指数
2
解决办法
3387
查看次数

如何使用States创建游戏菜单

我一直在寻找一个如何制作游戏菜单的例子.例如,我想让应用程序打开菜单.从那里它将打开"玩游戏""显示积分""退出".

到目前为止我所看到的一切都是弹出菜单..

因此我寻找的答案是关于使用"状态",如暂停状态,游戏状态等等.但我无法弄清楚应该是这样的布局或应该如何使用..没有如何创建MenuState而无法找到一个示例任何地方

使用过剩和freeglew

c++ opengl glew freeglut

5
推荐指数
1
解决办法
3440
查看次数

由于jcl要求,jcvl无法正常工作

我正在尝试手动安装JCLjvcldelphi xe2.

我按照指示安装了JCL,似乎安装没有问题.现在我尝试加载JVCL包16,它打开delphi并开始加载libarys,当它到达Jedi代码库MPL1.1时,我开始得到如下错误

Error reading form frmJucolorProviderDesigner
-class tjvcontextprovider not found

Ingnore Cancel Ingnore all
Run Code Online (Sandbox Code Playgroud)

这不是唯一一个我会得到一些不好的帖子,如果它有帮助的话

Error reading form JvStandardActions
 -tjvSendMailAction not found
 -tjvwebaction not found
Error reading form jvCheckItemsEditor
 -tjvCheckListBox not found
Error reading form JvControlActoinsDM
 -tjvControlcollapseAction not found
 -TjvControlexpandAction not found
 -TjvControlExportAction not found
 -tjvControlOptimizeColumnsAction not found
 -TjvControlCustomizeColumnsAction not found
 -TjvControlPrintAction not found
Error reading form jvSpeedBarEditorMain
 -jvFormStorage not found
 -AppRegistryStorage not found
Run Code Online (Sandbox Code Playgroud)

等......如果你需要,我可以加上休息.

但每个 - 都是自己的对话框,[忽略] [取消] [忽略全部]

现在,在我按下忽略50次后,它将最终加载项目,当我尝试为JVCl包构建所有项目时,它说找不到所需的包jcl.

在库路径我有

..jcl\source\common
..jcl\source\windows
..jcl\source\include …
Run Code Online (Sandbox Code Playgroud)

delphi jvcl jedi-code-library delphi-xe2

5
推荐指数
1
解决办法
1621
查看次数

总数相等的随机数

我有4个号码

a,b,c,d : integers
Run Code Online (Sandbox Code Playgroud)

我需要在2-7之间分配一个随机数,但所有四个数字的总数必须为22

我怎样才能做到这一点?

delphi delphi-xe2

5
推荐指数
1
解决办法
596
查看次数

dbExpress与ADO连接

对于此实例,是否使用dbExpress数据库比ADO连接和Access数据库更快/更好/更少编程?

  • 应用程序不会始终如一地读/写DB
  • 数据库大小相当小(1000-2000行)(5列)
  • DB将与便携式应用程序一起存储/移动
  • DB将仅通过本地连接与应用程序通信(不同网络上的计算机不会连接到数据库)

我从来没有使用过dbExpress,在编写网站时,我曾经使用过的其他数据库都是MYSQL.谢谢

狭谷

delphi ado dbexpress delphi-xe2

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

德尔福的文件掩码

我试图找到所有具有扩展名.cbr或.cbz的文件

如果我将我的面具设置为*.cb?

它找到*.cbproj文件.如何将掩码设置为仅查找.cbr和.cbz文件?

这是我正在使用的代码.

我有两个编辑框EDIT1是搜索的位置,EDIT2是我把我的面具放在哪里.用于显示找到内容的列表框和"搜索"按钮.

edit1 := c:\
edit2 := mask (*.cb?)
Run Code Online (Sandbox Code Playgroud)

空间

    procedure TFAutoSearch.FileSearch(const PathName, FileName : string; const InDir : boolean);
var Rec  : TSearchRec;
    Path : string;
begin
Path := IncludeTrailingBackslash(PathName);
if FindFirst(Path + FileName, faAnyFile - faDirectory, Rec) = 0 then
 try
   repeat
     ListBox1.Items.Add(Path + Rec.Name);
   until FindNext(Rec) <> 0;
 finally
   FindClose(Rec);
 end;

If not InDir then Exit;

if FindFirst(Path + '*.*', faDirectory, Rec) = 0 then
 try
   repeat
    if ((Rec.Attr and faDirectory) <> 0)  and …
Run Code Online (Sandbox Code Playgroud)

delphi mask

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

如何读取键输入?

我想要一个关键控制相机.TForm没有Onkeypress所以如何从键盘读取这个输入?

procedure TForm2.FormKeyPress(Sender: TObject; var Key: Char);
var
  ok: boolean;
begin
  ok := true;
  case Key of
    'a': camera1.Position.y:=camera1.Position.y+1;
    'A': camera1.Position.y:=camera1.Position.y+1;
    'd': camera1.Position.y:=camera1.Position.y-1;
    'D': camera1.Position.y:=camera1.Position.y-1;
    'w': camera1.Position.X:=camera1.Position.X-1;
    'W': camera1.Position.X:=camera1.Position.X-1;
    'x': camera1.Position.X:=camera1.Position.X+1;
    'X': camera1.Position.X:=camera1.Position.X+1;
    'q': camera1.RotationAngle.z := camera1.RotationAngle.z-1;
    'Q': camera1.RotationAngle.z := camera1.RotationAngle.z-1;
    'e': camera1.RotationAngle.z := camera1.RotationAngle.z+1;
    'E': camera1.RotationAngle.z := camera1.RotationAngle.z+1;
    'z': camera1.Position.z:=camera1.Position.z+1;
    'Z': camera1.Position.z:=camera1.Position.z+1;
    'c': camera1.Position.z:=camera1.Position.z-1;
    'C': camera1.Position.z:=camera1.Position.z-1;
    else
      ok := false;
  end; {case}
  //if ok then
   // Invalidate;
  positionChange(camera1);
  RotationAngleChange(camera1);
end;
Run Code Online (Sandbox Code Playgroud)

delphi delphi-xe2 firemonkey

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

在TgraphicControl中将jpg设置为位图

尝试将背景图像添加到TGraphicControl.

TCard(TGraphicControl)

Private
  BitMap1:TBitMap;       {Used to store a card image}
Public
  procedure SetBitmap(image: TBitmap);
Run Code Online (Sandbox Code Playgroud)

......

 procedure TCard.SetBitmap(image: TBitmap);
 begin
   bitmap1 := Tbitmap.create();
   bitmap1.Assign(image);
   canvas.draw(0,0,bitmap1);
 end;
Run Code Online (Sandbox Code Playgroud)

在表单1按钮单击,我想将图像添加到tcard组件

    procedure TForm1.Button1Click(Sender: TObject);
var
  image : Tbitmap;
  jpg: TJpegImage;
begin
  image := TBitmap.create();
  jpg := Tjpegimage.Create();
  jpg.LoadFromFile(dir+'\pics\backcard.jpg');
  image.Assign(jpg);
  card1.setbitmap(image);
  card1.Repaint;
  image.Destroy;
  jpg.Destroy;
 end;
Run Code Online (Sandbox Code Playgroud)

当我跑步时,没有任何反应.如何将此图像添加到TCard组件的背景中?

delphi delphi-xe2

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

包括头文件和Main.h

好吧不确定这是正确的方式,甚至是正确的方式,但我已经看到了并开始使用它,假设您有6个文件

main.cpp
main.h

car.cpp
car.h

speed.cpp
speed.h
Run Code Online (Sandbox Code Playgroud)
  • 第一 - 你应该有一个main.h吗?
  • 第二 - 如果main.h有#include car.h和#include speed.h那么在car/speed.cpp中你只需要添加#main.h(因此它将包含car/speed.h)
  • 第3 - 你应该去那条路吗?

c++ include header-files

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