小编Pha*_*aoh的帖子

在WHERE条件下使用BETWEEN

我想要以下功能来选择一个$minvalue和某个住宿之间的住宿$maxvalue.最好的方法是什么?

function gethotels($state_id,$city,$accommodation,$minvalue,$maxvalue,$limit,$pgoffset)
    {
        $this->db->limit($limit, $pgoffset);
        $this->db->order_by("id", "desc");
        $this->db->where('state_id',$state_id);
        $this->db->where('city',$city);

        // This one should become a between selector
        $this->db->where($accommodation,$minvalue); 

        $result_hotels = $this->db->get('hotels');
        return $result_hotels->result();

   }
Run Code Online (Sandbox Code Playgroud)

php codeigniter

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

德尔福TRegEx反向引用破坏了吗?

我有一个问题TRegEx.replace:

var
  Value, Pattern, Replace: string;
begin
  Value   := 'my_replace_string(4)=my_replace_string(5)';
  Pattern := 'my_replace_string\((\d+)\)';
  Replace := 'new_value(\1)';
  Value   := TRegEx.Replace(Value, Pattern, Replace);
  ShowMessage(Value);
end;
Run Code Online (Sandbox Code Playgroud)

new_value(4)=new_value(5)我的代码(用Delphi XE4编译)给出了预期的结果new_value(4)=new_value()1)

使用Notepad ++,我得到了预期的结果.

使用命名组可以清楚地看出1是字面意义上的后向引用:

Pattern := 'my_replace_string\((?<name>\d+)\)';
Replace := 'new_value(${name})';
// Result: 'new_value(4)=new_value(){name})'
Run Code Online (Sandbox Code Playgroud)

替换总是那么简单(可能是零次或多次my_replace_string),所以我可以轻松创建自定义搜索和替换功能,但我想知道这里发生了什么.

这是我的错,还是一个错误?

regex delphi backreference delphi-xe4

10
推荐指数
1
解决办法
650
查看次数

如何在旋转设备(纵向/横向)后保留/重新绑定MapFragment上的事件侦听器?

我正在使用Xamarin(版本7.1)开发Android应用程序.它显示为地图并绘制PolyLines,这样做OnCameraIdle().

MapFragment编程方式生成OnCreate.我正在获取GoogleMapin OnResumevia GetMapAsync并绑定侦听器OnMapReady.
它们工作正常,但仅限于开始.一旦设备旋转(纵向 - >横向或反之亦然),相机移动不会再触发听众.
然而,地图有效 - 我(用户)仍然可以很好地移动相机.我(应用程序)再也无法使用它了.

这是裸代码,只有地图创建和处理.其他所有(实际绘图)都被删除:

public class MapActivity : Activity, IOnMapReadyCallback, 
    GoogleMap.IOnCameraIdleListener, GoogleMap.IOnCameraMoveStartedListener
{
    private GoogleMap _map;
    private MapFragment _mapFragment;

    private void InitializeMap()
    {
        _mapFragment = MapFragment.NewInstance();
        var tx = FragmentManager.BeginTransaction();
        tx.Add(Resource.Id.map_placeholder, _mapFragment);
        tx.Commit();
    }

    private void SetMapListeners()
    {
        Log.Debug("MyApp/ Map", "SetMapListeners");
        _map.SetOnCameraIdleListener(this);
        _map.SetOnCameraMoveStartedListener(this);
    }

    /* Activity */

    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        Log.Debug("MyApp / Map", "OnCreate");
        SetContentView(Resource.Layout.Map);
        InitializeMap();
    } …
Run Code Online (Sandbox Code Playgroud)

c# android event-listener xamarin mapfragment

10
推荐指数
3
解决办法
342
查看次数

TToolbar与TForm.DoubleBuffered不兼容?

我正在使用Delphi XE3.
当我创建一个新的VCL项目并删除TToolbar它时,一切正常 - 除非我激活Form1.DoubleBuffered.
从那一刻起,工具栏的绘制就被打破了 - 在设计时,它是黑色,透明或IDE的一部分(状态栏,工具栏等)被复制到其中.当我点击它时以及当我更改为源代码(F12)并返回时,它会在这些选项之间发生变化.
在运行时,它总是黑色的.

随着DrawingStyle=dsGradient,一切正常.切换回dsNormal再次打破它.

停用Form1.DoubleBuffered修理它.

任何提示如何解决该问题?

delphi vcl doublebuffered toolbar delphi-xe3

7
推荐指数
1
解决办法
1134
查看次数

编译包后,我在哪里找到bpl文件?

我想创建*.bpl文件,但我没有这样做.
具体来说,我正在尝试制作JEDI插件,但我也试过了一个空的纯Delphi包.

如果我在Delphi XE3中创建一个新包,我得到一个空单元 - 如果我"制作"这个名为"Package1.bpl"的项目,我在"debug/win32 /"中得到一个.dcu文件,但是没有.bpl文件.
编译器未报告错误.

空的JEDI插件(bpl样式)也只提供.dcu,而空的dll风格的JEDI插件在"debug/win32 /"中提供.cdu .dll文件.

这是我第一次尝试制作新包装,所以我完全迷失了.
我错过了什么?

老王

delphi package jedi jvcl delphi-xe3

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

如何知道为什么'OnCloseQuery'被调用 - MDI子关闭或应用程序关闭?

我目前正在开发一个MDI应用程序.
每次创建新的MDI子窗口时,它的基础数据都会动态保存到SQLite数据库并且列open设置为1,因此如果用户关闭程序并重新打开它,则会恢复窗口(同样在Anything的情况下)坏TM).
因此,每个文档始终存在于数据库中 - 如果用户单击"保存",则唯一发生的是该列persistent设置为1.
现在,如果MDI子窗口关闭,open则设置为0- 并且每一行都persistent=0 AND open=0将注定失败并将被删除.

由于这种行为,我不需要问"保存文件?" 在ApplicationClose上.
但每次MDI子窗口关闭时我需要询问.
如果Mainform.OnCloseQuery以前会被召唤MDIChild.OnCloseQuery,那将很容易做到,但遗憾的是并非如此.

总结一下:
我需要一种方法来了解是否MDIChild.OnCloseQuery被调用因为

  • 应用程序正在关闭,或
  • MDI子窗口正在关闭.

有没有办法做到这一点?

delphi mdi

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

这个递归正则表达式究竟是如何工作的?

这是这个问题的后续内容.

看看这个模式:

(o(?1)?o)
Run Code Online (Sandbox Code Playgroud)

它匹配任何o长度为2 n的序列,其中n≥1.
它可以工作,请参阅regex101.com(为了更好的演示添加了字边界).
问题是:为什么?

在下文中,字符串的描述(匹配与否)将只是粗体数字或粗体术语,描述长度,如2 n.

细分(添加空格):

( o (?1)? o )
(           ) # Capture group 1
  o       o   # Matches an o each at the start and the end of the group
              # -> the pattern matches from the outside to the inside.
    (?1)?     # Again the regex of group 1, or nothing.
              # -> Again one 'o' at the start and one at the end. …
Run Code Online (Sandbox Code Playgroud)

regex recursion pcre regex-group regex-recursion

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

从 PHP 字符串中识别日期格式

我正在尝试更新数据库中的所有日期字段,为所有表中的每个日期添加 5 天。

我设法将日期和行 ID 提取到数组中,然后生成 SQL 代码语句来更新它们。但是,每个表都有不同的日期格式,有些包含时间,有些不包含时间。我想在日期上添加 5 天,然后将其保存回来。目前,如果所有日期都具有相同的格式,我可以这样做,但这不足以解决我的问题。

我想要的是一个可以从日期字符串生成字符串格式的代码。例如:

日期字符串2014-12-04我希望代码表明该日期具有Y-m-d格式。如果日期字符串是,2017-04-03 11:11:48.653我希望代码说这个日期格式是Y-m-d h:i:s

php sql-server date

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

如何在安装自定义包后修复损坏的Delpi XE3 IDE?

我创建了一个包含一个组件的新包(TSpeedButton的后代),编译了包并将其安装在IDE(Delphi XE3 Pro)中.
它已经测试了它(我可以在设计和运行时使用我的组件).

但是:我关闭了IDE,现在我无法启动它.
它显示启动画面并显示进度:

  • 文档Insight Express
  • CodeSite Express
  • 绝地代码库
  • 绝地视觉组件库

最多All designtime packages loaded(由德语翻译,YMMV).
我猜这是我的包裹,所以我删除了BPL.在下一次启动时,Delphi表示可以找到该软件包并询问是否应该在加载下一个项目时加载它; 我点击"否".
但是Delphi还没有启动,行为完全一样.启动Splashscreen并停止.

安装程序的"修复"选项也没有帮助.

老王

编辑:事实证明我太不耐烦了 - 重新启动就把它清理干净了.
我仍然标记肯肯怀特的答案,因为它本来是最后的解决方案.

ide delphi hang package delphi-xe3

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

打开Paradox数据库; 'PDOXUSRS.NET'解决方法?

我正在编写一个必须打开已由第三方保存的预先存在的BDE数据库的应用程序.

在这个应用程序,我现在有一个TDatabase(DriverName:STANDARD)与path集正确Params.
我现在可以设置Connected为true而没有错误消息.

还有一个TTableDatabaseName集到的TDatabase的值,并TableName设置为.db的文件是位于文件夹中(这个名字被自动填写,我只顶帽子,将其选中).

现在问题是:
如果我设置Active为true,则会出现错误消息,抱怨缺少访问权限C:\PDOXUSRS.NET.
我知道我可以设置另一条路径BDEADMIN,但我需要在我的应用程序中解决这个问题 - 我不能指望每个客户都做这个改变.此外,我有一台运行第三方应用程序的测试机 - 它可以无任何错误地访问数据库,而我的应用程序抛出上述错误.这让我怀疑可能有一种解决方法.

有这样的解决方法吗?
我只需要对数据库的读访问权限.

delphi data-migration paradox bde delphi-xe3

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

如何在Notepad ++中从文件中删除所有空格?

如何使用记事本++删除文件中的所有whitescape?

示例数据:

;;    ;;;2017-03-02;8.026944444;16.88583333;8.858888889
;;  ;   ;   ;   2017-03-03  ;   7.912777778 ;   16.88583333 ;   8.973055556
;;                  ;   ;   ;   2017-03-06  ;   7.954444444 ;   16.88583333 ;   8.931388889
;   ;   ;   ;   ;   2017-03-07  ;   7.926388889 ;   16.88583333 ;   8.959444444
;;;;;2017-03-05;8.984722222;16.98472222   ;8
Run Code Online (Sandbox Code Playgroud)

whitespace text notepad++

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