小编Wou*_*ick的帖子

用于在Delphi中设置数值范围的GUI

偶尔我需要一个GUI来设置数值范围,但到目前为止,我从来没有真正找到任何组件可以很好地完成它.

我尝试过以下方法:

  • 2 TTrackbars:1表示最小值,1表示最大值

  • 2 TTackbars:1表示分钟,1表示范围

  • 2 TSpinEdit控件手动键入数字

  • 带有范围的ttrackbar 1个TTrackbar控制,带一个小按钮,可在最小模式和最大模式之间切换.在min-mode中我设置了selStart,在max-mode中我设置了selEnd(将ShowSelRange设置为true).

大多数选项占用的屏幕比我想象的要多,而且它们不直观.

理想情况下,我喜欢像Sony ACID中的滚动条一样的东西.您可以单击并拖动3个不同的点到最小值,最大值或两者:

令人敬畏的mspaint绘图

是否有可用于设置范围的免费组件,或者可以通过创造性地使用开箱即用的VCL组件来完成类似的操作?


更新

我修改了TMkRangeSlider以满足我的需求.它现在就像一个魅力.我已将修改后的组件和演示发送给原作者.

TMkRangeSlider 1.1

delphi user-interface range

6
推荐指数
1
解决办法
883
查看次数

如何通过Soap公开Delphi集类型

我目前正在为一些Delphi函数创建soap包装器,以便我们可以轻松地从PHP,C#和Delphi中使用它们.

我想知道暴露集合的最佳方式是什么.

type
  TCountry     = (countryUnknown,countryNL,countryD,countryB,countryS,countryFIN,countryF,countryE,countryP,countryPl,countryL);
  TCountrySet  = set of TCountry;

function GetValidCountrySet(const LicensePlate:string; const PossibleCountriesSet:TCountrySet):TCountrySet;
Run Code Online (Sandbox Code Playgroud)

我正在为肥皂服务器包装它:

type 
  TCountryArray = array of TCountry;

function TVehicleInfo.GetValidCountrySet(const LicensePlate:string; const PossibleCountriesSet:TCountryArray):TCountryArray;
Run Code Online (Sandbox Code Playgroud)

它可以工作,但我需要编写很多无用且丑陋的代码来转换集 - >数组和数组 - >集.

是否有更简单,更优雅或更通用的方法来做到这一点?

delphi soap set

6
推荐指数
1
解决办法
972
查看次数

为什么我可以多次导出相同的功能?

当我ha多次从库中导出过程时:

library hahaha;

procedure ha; 
begin 
  Writeln('ha') 
end;

exports
  ha, ha, ha;    
end.
Run Code Online (Sandbox Code Playgroud)

Delphi用三个程序巧妙地创建了一个.dll: 在此输入图像描述

我很惊讶这个模糊的电话GetProcAddress(LoadLibrary('hahaha.dll'), 'ha')不会失败.

这让我想知道:这是否有用?

delphi dll

6
推荐指数
1
解决办法
249
查看次数

我可以自己生成一个.RSM文件供Delphi Debugger使用吗?

我希望使用Delphi Debugger调试我没有代码的可执行文件.

WinDBG中和其他调试器在这种情况下,没有选择,因为给定的可执行文件全部调用到我的DLL,为此我有代码,效果显着.我的最终目标是,在运行的可执行文件的功能中查看堆栈跟踪.

我确实有这些可执行文件的符号信息,所以我希望我可以为此编写自己的.RSM文件.这会有用吗?Delphi调试器会选择它能找到的任何.RSM文件吗?这是否意味着应该省略其他调试信息?

请注意,我需要调试许多可执行文件,并且对于所有这些,我使用适度高级的功能检测算法自己检测其中的符号.所以我的主要问题主要是如何编写.RSM文件.为此,我必须知道.RSM文件格式的结构.是否有可用的文档或示例代码向我展示如何创建这样的文件?

任何帮助表示赞赏!

PS:你可能想知道我为什么这么做:这都与Dxbx有关- 一个开源的Xbox1模拟器.有关详细信息,请参阅sourceforce 欢迎新会员!

delphi debugging

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

如何使用重定向输出调试Delphi应用程序

当输出重定向到文件时,我有一个控制台应用程序崩溃,出现I/O错误6.它可能与控制台应用程序更改文本颜色这一事实有关,这在文件中没有多大意义.

  • 这有效: c:\dir\app.exe
  • 这崩溃了: c:\dir\app.exe >out.txt

当我>out.txt在IDE(run\parameters\parameters\)中>out.txt作为参数提供时,我只是作为参数获取.

如何使用重定向到文件而不是控制台的stdout来调试应用程序?

delphi debugging stdout io-redirection

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

在FreePascal中读取文件

我有一个具有指定结构的文本文件,即(对于每一行):char,space,char,space,double value,endline.例如

q w 1.23
e r 4.56
t y 7.89
Run Code Online (Sandbox Code Playgroud)

在Free Pascal中"提取"这些值的正确方法是什么?

pascal freepascal file fpc

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

Openlayers3 从元素获取地图

Openlayers 3 中有没有办法获取附加到特定 html 元素的地图?

就像是:

var map = new ol.Map({
  view: new ol.View({
    center: [0, 0],
    zoom: 1
  }),
  layers: [
    new ol.layer.Tile({
      source: new ol.source.MapQuest({layer: 'osm'})
    })
  ],
  target: 'map'
});

//Later on, in a different file
var myMap = $("#map").ol.Map()
Run Code Online (Sandbox Code Playgroud)

javascript openlayers gwt-openlayers

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

使用Google地图的OpenLayers 2.13.1

当我从OpenLayers 2.12切换到2.13.1时,所有Google Maps图层都停止工作.当我使用图层切换器时,地图区域变为白色.

我在浏览器的开发控制台中看不到任何错误消息,并且所有文件都已成功加载.

我正在创建这样的图层:

var layerGoogleMapsNormal    = new OpenLayers.Layer.Google("Google Normal"   , { type : google.maps.MapTypeId.ROADMAP, sphericalMercator : true });
var layerGoogleMapsPhysical  = new OpenLayers.Layer.Google("Google Physical" , { type : google.maps.MapTypeId.TERRAIN, sphericalMercator : true });
Run Code Online (Sandbox Code Playgroud)

其他层(OSM,WMS)工作正常.

在我写这篇文章时,我发现OpenLayers的例子也不能正常工作.

http://dev.openlayers.org/examples/google.html

可能是谷歌做出了重大改变吗?有没有其他人有同样的问题,有没有人知道解决方案?

备注:我看过OpenLayers3,但它的API非常不同,我认为我们永远无法将所有代码移植到那里.我们无法说服我们的客户为重写所有的映射内容来使用OL3付费,所以我想这个项目永远停留在2.x分支......

google-maps openlayers

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

Delphi - 用于应用程序的.bpl插件 - 加载> 1插件时出现问题

我正在使用TJvPluginManager来构建能够加载.bpl插件的简单应用程序.我在"uIntfs.pas"文件中有常见的接口声明,这是一种SDK;)

问题是,如果我尝试加载多个插件,应用程序会抛出一个错误:

无法加载包'test2'.它 包含单元'uIntfs',它也 包含在'test'包中

很明显BOTH bpls包含该文件,但是我需要让它工作......

请帮忙!

delphi plugins bpl jedi

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

Pascal表壳边缘表壳

Pascal案例现在:是"Nontaxable"还是"NonTaxable"?

pascalcasing coding-style

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