标签: conditional-statements

根据Wix中的实时文本控件值启用或禁用下一个按钮?

我在wix中创建了一个自定义对话框页面,它有一个文本框.如果文本框为空,我想禁用安装程序的下一个按钮如果用户键入了值,则启用它.以下代码部分工作.它不会禁用下一个按钮,但除非您填写该值,否则它不会导航到下一页.我遇到的问题是,当您在编辑文本框中键入值时,不会更新下一个按钮的状态.如果我从编辑文本框中删除该值,然后单击返回上一个屏幕,然后单击下一步,则禁用下一个按钮.

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
 <Fragment>
    <UI>
      <Dialog Id="MyCustomDialog" Width="370" Height="270" Title="Custom Dialog Options">
        <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
          <Condition Action="disable">USERNAME1 = ""</Condition>
          <Condition Action="enable">NOT(USERNAME1 = "")</Condition>
          <Publish Event="NewDialog" Value="VerifyReadyDlg">NOT(USERNAME1 = "")</Publish>
        </Control>
        <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
          <Publish Event="NewDialog" Value="CustomizeDlg">1</Publish>
        </Control>
        <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
          <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
        </Control>

        <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" Text="Please type the value" />

        <Control Id="UserNameText" Type="Text" …
Run Code Online (Sandbox Code Playgroud)

user-interface controls wix conditional-statements

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

如何使复杂条件看起来不错并保存语句数量?

在我的java应用程序中,我有很多条件决定只有一个动作.我的问题是如何使它看起来很好(我使用NetBeans所以我更喜欢不会被其代码格式化功能破坏的解决方案).我也希望尽可能减少if/else语句的数量,因为我认为它会使它更快.

我的原始代码很乱,所以我制作了一个动作图:复杂的行动图充满条件.如果你想玩它,请复制一份.请记住,关于UML 语法的图表并不完美,部分原因是我使用谷歌文档制作它.

这是代码:

if (!config.get("checkForSpecials") || event.isNotSpecial()) {
    if (config.get("filterMode").equals("blacklist")) {
        if (!itemFilter.contains(event.getItem().getName())) {
            item.process();
        }
    } else if (config.get("filterMode").equals("whitelist")) {
        if (itemFilter.contains(event.getItem().getName())) {
            item.process();
        }
    } else {
        item.process();
    }
}
Run Code Online (Sandbox Code Playgroud)

有两件事我不喜欢它 - 条件不太清楚(特别是当我展开完整的方法名称和配置字符串时),以及进程方法调用有三次这样的事实.

java conditional-statements

8
推荐指数
1
解决办法
2200
查看次数

AngularJS:ng-if布尔条件不起作用?

为什么ng-if在这个例子中对我不起作用,但ng-show确实是JSFiddle:

<div ng-if="false">text</div>
<div ng-show="false">text2</div>
Run Code Online (Sandbox Code Playgroud)

以及如何解决这个问题?

conditional-statements angularjs

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

if(NULL ==指针)和if(指针== NULL)之间有什么区别?

使用有什么区别:

if (NULL == pointer) 
Run Code Online (Sandbox Code Playgroud)

和使用:

if (pointer == NULL)    
Run Code Online (Sandbox Code Playgroud)

我的教授说使用前者而不是后者,但我看不出两者之间的区别.

c++ coding-style conditional-statements

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

将汇编代码反向工程为c代码

我认为这实际上是一个非常简单的问题.我必须将此汇编代码反向工程为c代码.我还会提供我认为正在发生的事情,这样你就可以指出我哪里出错了,现在我可以从错误中吸取教训.

.LFBO
    pushq   %rbp
    movq    %rsp,%rbp
    movl    %edi,-4(%rbp)
    movl    %esi,-8(%rbp)
    movl    -4(%rbp),%eax
    compl   -8(%rbp),%eax
    jg      .L2
    movl    -8(%rbp),%eax
    jmp     .L3
.L2:
    movl    -4(%rbp),%eax
.L3:
    popq    %rbp
    ret
Run Code Online (Sandbox Code Playgroud)

所以这就是我认为正在发生的事情:.LFBO之后的前两行:

pushq   %rbp
movq    %rsp,%rbp
Run Code Online (Sandbox Code Playgroud)

只是为即将执行的执行设置堆栈.

movl    %edi,-4(%rbp)
Run Code Online (Sandbox Code Playgroud)

抓住第一个变量,称之为x

movl    %esi,-8(%rbp)
Run Code Online (Sandbox Code Playgroud)

抓住第二个变量称之为y

movl    -4(%rbp),%eax
Run Code Online (Sandbox Code Playgroud)

抓住x在下一行进行比较

compl   -8(%rbp),%eax
Run Code Online (Sandbox Code Playgroud)

通过计算xy来比较变量x和y

jg      .L2
Run Code Online (Sandbox Code Playgroud)

如果x> y,则跳转到.L2

如果x <= y则计算下一行而不跳转到.L2

movl    -8(%rbp),%eax
Run Code Online (Sandbox Code Playgroud)

复制x = y

jmp     .L3
Run Code Online (Sandbox Code Playgroud)

跳到.L3

如果x> y在jg行,那么你跳转到.L2:并完成这一行

movl    -4(%rbp),%eax
Run Code Online (Sandbox Code Playgroud)

这是我意识到我真的很困惑的地方.在我看来,你正在将x复制到x然后.L3已经完成,我想x是返回的

c assembly reverse-engineering x86-64 conditional-statements

8
推荐指数
1
解决办法
2478
查看次数

用于处理非空对象和非空字符串表示的Kotlin习语

我有一个可以为null的属性(一个Java对象)知道如何将自己转换为String,如果这个表示不为空,我想用它做一些事情.在Java中,这看起来像:

MyObject obj = ...
if (obj != null) {
    String representation = obj.toString();
    if (!StringUtils.isBlank(representation)) {
        doSomethingWith(representation);
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在努力寻找将此转换为Kotlin的最惯用的方式,我有:

    with(obj?.toString()) {
        if (!isNullOrBlank()) {
            doSomethingWith(representation)
        }
    }
Run Code Online (Sandbox Code Playgroud)

但对于这样一个简单的操作,它仍然感觉太多了.我有这种感觉,结合let,whenwith我可以苗条下来的东西有点短.

步骤是:

  1. 如果对象(A)不为null
  2. 如果对象(A)的字符串表示(B)不是空白
  3. 用(B)做点什么

我试过了:

    when(where?.toString()) {
        isNullOrBlank() -> builder.append(this)
    }
Run Code Online (Sandbox Code Playgroud)

但是(1)它失败了:

Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: @InlineOnly public inline fun 
 CharSequence?.isNullOrBlank(): Boolean defined in kotlin.text @InlineOnly public inline fun CharSequence?.isNullOrBlank(): Boolean defined in 
 kotlin.text …
Run Code Online (Sandbox Code Playgroud)

nullable tostring conditional-statements kotlin

8
推荐指数
1
解决办法
879
查看次数

是否可以在 MongoDB 中的 $cond 中编写正则表达式

我需要使用 $cond 来组合不同的列,我需要写的一个 $cond 如下:

create_widget: {
        $sum:{
          $cond:[{$and: [ {$eq: ['$Method', 'POST']},
                {Url:{$regex: /.*\/widgets$/}} ]}, 1, 0]
        }
    }
Run Code Online (Sandbox Code Playgroud)

而且这段代码不对,好像正则表达式不能放在这里。有没有其他方法可以做到这一点?我想匹配 Url 和正则表达式并将代码放在 $cond 下。

示例数据看起来像

{"BrandId":"a","SessionId":"a1","Method":"POST","Url":"/sample/widgets"}
{"BrandId":"a","SessionId":"a2","Method":"POST","Url":"/sample/blog"}
{"BrandId":"b","SessionId":"b1","Method":"PUT","Url":"/sample/widgets"}
Run Code Online (Sandbox Code Playgroud)

我写的整个代码如下:

db.tmpAll.aggregate([
    {$group: {
        _id: {BrandId:'$BrandId'},
        SessionId: {$addToSet: '$SessionId'},
        create_widget: {
            $sum:{
              $cond:[{$and: [ {$eq: ['$Method', 'POST']},
                    {} ]}, 1, 0]
            }
        }
    }},
    {$group: {
        _id: '$_id.BrandId',
        distinct_session: {$sum: {$size: '$SessionId'}},
        create_widget: {$sum: '$create_widget'}
    }}
]);
Run Code Online (Sandbox Code Playgroud)

示例代码的预期结果是

{ "_id" : "a", "distinct_session" : 2, "create_widget" : 1 }
{ "_id" …
Run Code Online (Sandbox Code Playgroud)

regex mongodb conditional-statements

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

组内的 Cumsum 并在 Pandas 条件下重置

我有一个包含两列 ID 和活动的数据框。活动为 0 或 1。我想要一个包含自上次活动为 1 以来递增数字的新列。但是,计数应仅在一个组 (ID) 内。如果活动为 1,则计数列应重置为 0,然后重新开始计数。

所以,我有一个包含以下内容的数据框:

在此处输入图片说明

想要的是这个:

在此处输入图片说明

有人能帮我吗?

group-by count conditional-statements pandas cumsum

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

GROUP BY 已与两个子查询分组的另一个表

我有这样的桌子

Table1

ID      |    Val         |     Val2       |
606541  |3175031503131004|3175032612900004|
606542  |3175031503131004|3175032612900004|
677315  |3175031503131004|3175032612980004|
222222  |1111111111111111|8888888888888888|
231233  |1111111111111111|3175032612900004|
111111  |9999992222211111|1111111111111111|
57      |3173012102121018|3173015101870020|
59      |3173012102121018|3173021107460002|
2       |900             |7000            |
4       |900             |7001            |
Run Code Online (Sandbox Code Playgroud)

我有两个条件列ValVal2。显示结果,如果Val

  1. Val 列至少有两个或多个重复值AND
  2. Val2 列没有重复值(唯一)

例如 :

示例 1

 ID      |    Val         |     Val2       |
 606541  |3175031503131004|3175032612900004|
 606542  |3175031503131004|3175032612900004|  
 677315  |3175031503131004|3175032612980004|

 False, because  even the Val column 
 had two or more duplicate but the Val2 
 had dulicate value (ID 606541  and …
Run Code Online (Sandbox Code Playgroud)

mysql sql group-by conditional-statements having-clause

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

具有开始和结束条件 Python 的序列的长度(计数)

我有一些加速度数据,我试图计算给定一组条件的序列长度。在这种情况下,我想计算一个序列的长度,当加速度moves > 2.78然后回落到0.

一个例子是

[-1.1, -1, 0, 1.2, 1.8, 2, 2.88, 2.86, 2.53, 1.98, 1.21, 0.89, 0.11, -0.21]
Run Code Online (Sandbox Code Playgroud)

这里的返回结果将是 7 (2.88, 2.86, 2.53, 1.98, 1.21, 0.89, 0.11)

我以前这样做是为了使用以下代码确定严格> 2.78 的序列长度。我需要以此为基础来提供使用 0 作为端点的长度。

def get_Accel_lengths( array ) :
    s = ''.join( ['0' if i < 2.78 else '1' for i in resultsQ4['AccelInt']] )
    parts = s.split('0')
    return [len(p) for p in parts if len(p) > 0]
Q4Accel = get_Accel_lengths(resultsQ4['AccelInt'])
Q4Accel = pd.DataFrame(Q4Accel)
Q4Accel 
Run Code Online (Sandbox Code Playgroud)

使用上面的示例,此代码的结果将是2( 2.88 …

python conditional-statements python-3.x

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