小编Pro*_*020的帖子

Python中的Pascal"var参数"

在Pascal中我们有var参数,函数可以将参数值更改为新值:

procedure a(var S1, S2: string);
begin
  S1:= S1+'test'+S1;
  S2:= S1+'('+S2+')';
end;
Run Code Online (Sandbox Code Playgroud)

Python有这样的功能吗?我可以更改string方法内的参数,还是必须return稍后使用并分配变量?

python

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

找到Python模块文件名

我得到了包含声明的模块名称os.path.isfile.Jedi lib给了我genericpath(没有文件路径).现在我想用这个genericpath模块获得PY文件的完整文件名.例如"C:\ Py27\Lib\genericpath.py".我该怎么做?绝地不能这样做?

python python-2.7

4
推荐指数
3
解决办法
7449
查看次数

SublimeCodeIntel - 如何设置Python 3安装的路径

我在Windows中的"c:\ Pyhton3"文件夹中安装了Python 3.x. 如何为SublimeCodeIntel指定Python文件夹位置 - 是否可以通过"查找声明"cmd找到Python 3源文件?在.codeintel/config文件中写什么?

例如,我想把插入符号os.path.isfile和查找源文件 - 使用此ID.

sublimetext2 sublimecodeintel

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

如何更改TreeView节点高度,在节点中绘制3条线

我将D7与TreeView(不是VirtualTreeView)一起使用.如何更改节点高度以使用OwnerDraw并在节点矩形中绘制3(或5个或更多)"文本"行?

所以树应该看起来像这样(根节点+ 2节点显示,aaa和bbb):

[+] Root node
 |
 |  [aaa1
 |--[aaa2222
 |  [aaa333
 |
 |  [bbb1
 |--[bbb2222
 |  [bbb333
 |
...
Run Code Online (Sandbox Code Playgroud)

我知道如何使用所有者绘制.但不知道如何制作高节点矩形.

delphi treeview delphi-7

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

如何将字典添加到PyEnchant?

我为PyEnchant提供了许多语言的文件:en_US, en_AU, de_DE, fr_FR.现在我调用字典列表,只看到小集:'en', 'en_US', 'en_GB', 'en_CA'.我打电话:

items = enchant._broker.list_languages()
Run Code Online (Sandbox Code Playgroud)

如何加载Enchant其他langs?新文件?所以enchant.Dict()可以接受它.

python spell-checking pyenchant

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

Delphi:分割器只调整它分割的2个窗格

我连续有4个面板,中间有3个分割器.第1 /第2 /第3窗格:align=alLeft,第4窗格:align=alClient.

[1] | [2] | [3] | [4]

现在用户想要,那

  • 分离器1仅调整面板1和2的大小(不要触摸其他面板;现在它移动面板3/4)
  • 分离器2仅调整面板2和3的大小(不要触摸其他面板;现在它移动面板4)

如何做到这一点,处理什么事件(TSplitter.OnMoved当然)以及如何处理它们?也许Align不像现在这样设定?

delphi splitter

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

如何调整TrackBar拇指尺寸?

我无法将TTrackBar拇指尺寸调整到更高的尺寸.看图像:

Trackbar拇指很小(左侧)

我左边有一个小拇指,我不能让它变大(但不是TrackBar本身).
所需的拇指尺寸显示在带有红色区域的图像上.
也许我可以用某种方式使用WINAPI?C++应用程序经常有更大的拇指.

这就是我实际上的目的:

NotePad ++ TrackBar风格

delphi delphi-7 trackbar

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

TSpTbxDock vs TSpTbxMultiDock

在我目前的项目中,我有一个TTbxDock工具栏和面板(TTbxDockablePanel).移动TBX后 - > SpTBX我不能放置一个面板(TSpTbxDockablePanel)TSpTbxDock.我看到一条运行时错误消息,说我无法在面板上放置面板.

错误,'无法将TSpTBXDockablePanel插入TSpTBXDock.'

  • 我是否需要使用TSpTbxMultiDock替代面板?为什么?
  • 我可以将工具栏放在一个TSpTbxMultiDock而不是一个TSpTBXDock

即为什么要写这样的代码:

procedure TSpTBXCustomMultiDock.ValidateInsert(AComponent: TComponent);
begin
  inherited;
  if not (AComponent is TSpTBXCustomDockablePanel) then
    raise EInvalidOperation.CreateFmt('Cannot insert %s into MultiDock', [AComponent.ClassName]);
end;

procedure TSpTBXCustomDockablePanel.ValidateContainer(AComponent: TComponent);
begin
  inherited;
  if (AComponent is TTBDock) and not (AComponent is TSpTBXCustomMultiDock) then
    raise EInvalidOperation.CreateFmt('Cannot insert %s into %s. Place it on a MultiDock instead', [Self.ClassName, AComponent.ClassName]);
end;
Run Code Online (Sandbox Code Playgroud)

为什么我不能只使用一种类型的码头?

delphi delphi-7 sptbxlib

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

使所有者绘制的TPageControl选项卡看起来更好,就像没有所有者绘制一样

我使用Delphi7,PageControl和owner-draw.正如我在非所有者绘制的PageControls上看到的那样,我无法获得如此简单明了的标签.有什么不好的:当使用所有者绘制时,我无法在"整个"标签标题区域上绘制,选项卡标题周围的小1-2px框架由OS绘制.

1)Delphi不是自主绘图,看起来也可以(XPMan使用):

德尔福系统

2)Delphi owner-draw,你看不是整个标签头都可以着色(XPMan使用):

德尔福老板画

我在这里用蓝色绘制当前标签,用白色绘制其他标签.只是例子.码:

procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
  TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
  c: TCanvas;
begin
  c:= (Control as TPageControl).Canvas;
  if Active then
    c.Brush.Color:= clBlue
  else
    c.Brush.Color:= clWhite;
  c.FillRect(Rect);    
end;
Run Code Online (Sandbox Code Playgroud)

2b)Delphi所有者在真实应用程序中绘制(使用XPMan):

德尔福真正的应用程序

为什么我需要使用所有者抽奖?简单.要在选项卡标题上绘制X按钮,使用自定义颜色绘制上线,以从图像列表中绘制图标.

我正在寻找一种方法来绘制标签标题的整个矩形,而不是减少给予PageControl所有者绘制事件的rect.我试图增加由所有者绘制事件给出的矩形,但这没有帮助,操作系统重新绘制了标签标题周围的这个薄的1-2px框架.

delphi delphi-7 tpagecontrol

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

禁用PageControl选项卡标题的聚焦

Delphi 7,带标签的TPageControl.如果我单击选项卡标题,它将变为焦点(虚线框被绘制).这里不需要它,我想始终保持标签内容的重点(内部页面控制).如何禁用焦点标签标题?

例如,Notepad ++禁用它.

delphi delphi-7

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