小编Sho*_*hoe的帖子

在NSMenuItem中使用NSProgressIndicator

我正在尝试在状态栏菜单中使用NSProgressIndicator(不确定).我正在使用NSView对象作为menuitem的视图,然后查看进度指示器以显示它.但每当我尝试调用startAnimation时:对于进度,没有任何反应.当我尝试在普通的NSWindow上做同样的事情时,它可以很好地工作,而不是在一个menuitem中.

我是cocoa和objective-c的新手,所以我可能会忽略一些"显而易见的"但我已经搜索了很多但是没有成功.我发现一些关于menuitems的东西在显示时无法更新,你需要使用无边框窗口.但我无法在任何文档中证实这一点.

编辑:

好的,现在差不多了.当使用setUsesThreadedAnimation:并从MenuDelegate的menuWillOpen中创建一个新线程.该线程运行本地方法:

-(void) doWork(NSProgressIndicator*) p{
     [p startAnimation:self];
}
Run Code Online (Sandbox Code Playgroud)

这将在打开菜单时以随机(?)为基础启动progressindicator.如果我startAnimation:直接打电话doWork:(仍然使用新线程),它永远不会工作.不setUsesThreadedAnimation:使进度条为动画创建自己的线程吗?

cocoa objective-c nsview nsmenuitem nsprogressindicator

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

如何覆盖div

假设我们有一个div如下:

<div class="post">Variable text</div>
Run Code Online (Sandbox Code Playgroud)

文本可以更长.所以它可以是3个字符,150或300. div的边界border: 1 px solid black超过a background: white.有没有办法创建另一个div(有位置relativeabsolute我猜)完全覆盖这个div,以便文本不可读?

html

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

如何从Oracle中的日期字段中仅提取日期值?

我是Oracle数据库的新手.我对Oracle中的日期时间概念知之甚少.我面临的问题是检索在特定日期输入的记录.但是当我在数据库上执行SQL查询时,它返回零记录.

数据库具有日期字段,其中包含具有日期时间值的记录.

SQL查询: SELECT * FROM table WHERE table.daterecord = to_date(03-Mar-2010)

它没有返回任何记录但是如果我将查询更改为

SELECT * FROM table WHERE table.daterecord > to_date(04-Mar-2010)
Run Code Online (Sandbox Code Playgroud)

它会返回一些记录.以上差异是因为时间.我如何从日期中提取时间值.我可以使用截断功能吗?提前感谢您的宝贵建议.

oracle

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

在PHP中模拟LIKE

有没有办法用相同的语法在PHP中模拟SQL的LIKE运算符?(%以及_通配符和通用$escape转义字符)?这样:

$value LIKE $string ESCAPE $escape
Run Code Online (Sandbox Code Playgroud)

你可以有一个函数,在不使用数据库的情况下返回PHP的评估吗?(考虑到$value,$string并且$escape已经设置了值).

php sql string pcre sql-like

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

T_INLINE_HTML?这有什么问题?

<? switch($data['type']) : ?>
<? case 'log': ?>

    <? while ($row = $data['loop']->fetch()) : ?>
        <table class="t-errors">
            <tr>
                <td>
                    <b>IP:</b> <? echo $row['LogShellIP']; ?>
                    <b>Command:</b> <? echo $row['LogShellCommand']; ?>
                    <b>Executed:</b> <? echo $row['LogShellReturn']; ?>
                    <b>Time:</b> <? echo format::time($row['LogShellTime']); ?>
                </td>
            </tr>
        </table>
    <? endwhile; ?>

<? break; ?>

<? case 'fatal': ?>
<? case 'warning': ?>
<? case 'notice': ?>
<? case 'unknown': ?>

    <? while ($row = $data['loop']->fetch()) : ?>
        <table class="t-errors">
            <tr>
                <td <? if ($row['LogErrorSeen'] == 0) …
Run Code Online (Sandbox Code Playgroud)

html php switch-statement

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

为什么人们在宣布课程时经常省略公共/私人/受保护?

我一直在最近的代码中看到这种格式,甚至在这里:

class Class {
    function this() {}
}
Run Code Online (Sandbox Code Playgroud)

代替

class Class {
    [public/private/protected] function this() {}
}
Run Code Online (Sandbox Code Playgroud)
  1. 是不是建议总是指定功能范围?
  2. 这不是第一种方法吗?
  3. 在第一种方法中,如何定义私有和受保护的函数?

php oop class

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

ReflectionException无法被捕获?

我有这个代码:

namespace Some\Different\Name;
        try {
            $reflect  = new ReflectionClass($class);
X:          $instance = $reflect->newInstanceArgs($args);
        } catch (ReflectionException $e) {
            exit($e->getMessage());
        }
Run Code Online (Sandbox Code Playgroud)

我正在测试它试图抛出一个ReflectionException.它给了我:

致命错误:带有消息'Class MyClass的未捕获异常'ReflectionException'没有构造函数,所以你不能在第X行的......中传递任何构造函数参数.

我究竟做错了什么?

PS:我知道为什么会抛出异常,我只是想知道它为什么没有被抓住!

php reflection exception

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

什么是创建动态页面主体的最有效方法?

我看了一下我父亲网站背后的PHP脚本,该脚本是由一位雇佣的程序员构建的.现在,我不认为我比他好,但我认为它的技术可能不是最好的.

该网站具有动态页面主体,意思是我的父亲可以通过特定的管理页面修改网站中大多数网页的HTML内容.现在它是通过数据库创建的:页面都存储在数据库中,每个请求都处理一个从数据库中获取页面并实现它的查询.

现在,我认为这种方式非常糟糕,主要是因为它需要(即使没有那么昂贵,如果缓存)对数据库的额外查询.将页面存储为HTML文件然后只在需要时修改文件本身不是更有效吗?通过这种方式,我认为编辑文件的速度更快,每个请求加载html文件的内容比执行查询要容易得多,速度也快.

是吗?有没有其他(更有效)的方法来处理这种情况?

html php database file

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

同时迭代两个std :: lists

对不起,如果这个问题太简单了.

先前的错误检查确保l1.size() == l2.size().

std::list<object1>::iterator it1 = l1.begin();
std::list<object2>::iterator it2 = l2.begin();

while(it1 != l1.end() && it2 != l2.end()){

  //run some code

  it1++;
  it2++;
}
Run Code Online (Sandbox Code Playgroud)

这是一种合理的方法,还是有更优雅的解决方案?谢谢你的帮助.

c++ iterator std

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

浏览器说flex-basis:内容是"无效的属性值"

鉴于:

.layout {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
}

.layout aside,
.layout main {
  min-width: 100px;
}

.layout aside {
  flex: 0 0 content;
  background-color: red;
}

.layout main {
  flex: 1 1 content;
  background-color: green;
}
Run Code Online (Sandbox Code Playgroud)
<div class="layout">
  <aside>
    <p>Line 1</p>
  </aside>
  <main>
    <p>Line 1</p>
    <p>Line 2</p>
    <p>Line 3</p>
  </main>
</div>
Run Code Online (Sandbox Code Playgroud)

Live example

我的意图是:

  • 旁边应该与它包含的内容一样大,永远不要改变它的宽度
  • 主要应该采取其余的水平空间
  • 一边和另一边应该有相同的高度(两者中的最大值)

但如果我运行该代码并使用Chrome检查它,我会在两个flex:语句中收到以下错误:

无效的属性值

此外,绿色框不会像它应该的那样在右侧扩展.我的Chrome版本在Mac OS X 10.11.5上为56.0.2924.87(64位).

我究竟做错了什么?

html css html5 css3 flexbox

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