小编jsh*_*erk的帖子

如何确定变量数据类型?如何转换为字符串?

我有两个问题......

这是一个非常简单的示例脚本,它会导致错误:

系统事件出错:无法将每个应用程序进程的第1项(其visible = true)转换为类型字符串.

tell application "System Events"
   repeat with appProc in (every application process whose visible is true)
       display dialog appProc
   end repeat
end tell
Run Code Online (Sandbox Code Playgroud)

1-如何确定变量的数据类型?

这将有助于将来的参考,所以我可以弄清楚我正在处理什么样的数据类型

2-如何将上述数据类型转换为字符串,以便显示对话框?

我尝试添加:

appProc as string
Run Code Online (Sandbox Code Playgroud)

但后来又收到另一个错误:

不能将应用程序"System Events"的"class pcap""myapplication"变成类型字符串.

variables applescript types

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

使用SELECT时,您可以根据其他字段修改返回字段的值吗?

使用MySQL SELECT时,您可以根据其他字段更改返回字段的值吗?

例如,如果我有这个选择:

SELECT city,state,country FROM table
Run Code Online (Sandbox Code Playgroud)

现在,如果city为空且状态为空,我希望country的值也返回空(无论country是否实际有值).

示例表:

id | city | state | country
-----------------------------
1  | Here | There | MyCountry
2  |      |       | YourCountry
Run Code Online (Sandbox Code Playgroud)

所以使用上面的表格,我希望id = 1的结果返回Here,There,MyCountry但是id = 2的结果应该是空的,空的,空的

谢谢

编辑:澄清一下,WHERE子句不起作用,因为我需要返回行,即使城市和州是空的.一个更好的例子可能是SELECT id,city,state,country FROM my_table

mysql sql

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

使用安全登录抓取网站内容

我试图抓住一个网站的内容登录安全但无法做到该网站的登录有三个选项用户名,密码,密码这里是我正在使用的代码

<?php

// HTTP authentication

$url = "http://aftabcurrency.com/login_script.php";

$ch = curl_init();    

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

curl_setopt($ch, CURLOPT_URL, $url); 
$cookie = 'cookies.txt';
$timeout = 30;
curl_setopt($curl, CURLOPT_TIMEOUT,         10); 
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT,  $timeout );
curl_setopt($curl, CURLOPT_COOKIEJAR,       $cookie);
curl_setopt($curl, CURLOPT_COOKIEFILE,      $cookie);

curl_setopt ($ch, CURLOPT_POST, 1); 
curl_setopt ($ch,CURLOPT_POSTFIELDS,"user_name=user&user_password=pass&passcode=code");             

$result = curl_exec($ch); 

curl_close($ch); 

echo $result;

?>
Run Code Online (Sandbox Code Playgroud)

php curl web-scraping

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

如何判断是否使用 ffmpeg 或 ffprobe 设置了视频的快速启动

我无法确定如何确定是否在 MP4 视频上设置了快速启动。

我知道“moov atom”是需要位于文件开头才能启用快速启动的数据,而不是文件末尾。

我特别想使用 ffmpeg 或 ffprobe 来确定它是否已移至开头。

附带说明一下,我知道我可以运行以下命令将它从结尾移到开头(但我想知道它是否已经存在):

ffmpeg -i infile.mp4 -map 0 -c:v copy -c:a copy -c:s copy -c:d copy -c:t copy -movflags +faststart outfile.mp4
Run Code Online (Sandbox Code Playgroud)

ffmpeg ffprobe

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

如何知道应用程序Purchses中的SKStoreKit导致applicationWillResignActive?

提交应用内购买时是否正常,它会导致applicationWillResignActive询问您是否要购买?

例如:

    [[SKPaymentQueue defaultQueue] addPayment:payment];
Run Code Online (Sandbox Code Playgroud)

这会导致应用程序重新激活,然后一旦您点击BUY或CANCEL,然后调用applicationWillEnterForeground.

有没有办法知道这是一个应用内购买导致应用程序辞职,以便当它再次进入前台时,我可以标记一些要跳过的东西?

谢谢

iphone cocoa-touch objective-c ios4 ios

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

附加到nodejs中的csv文件(使用csv-write-stream)

我目前正在使用csv-write-stream将内容写入csv文件:

var fs = require('fs');
var csvWriter = require('csv-write-stream')

var writer = csvWriter()
writer.pipe(fs.createWriteStream('out.csv'))
writer.write({hello: "world", foo: "bar", baz: "taco"})
writer.end()
Run Code Online (Sandbox Code Playgroud)

我觉得这很容易.但是,这始终会创建一个新文件.我怎么能在这个文件上添加一些东西?我甚至可以使用相同的库吗?

javascript csv node.js electron

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

iPhone崩溃 - 消息发送到解除分配的实例

好的,这是我得到的错误:

    -[CFRunLoopTimer invalidate]: message sent to deallocated instance 0x109b05a0 (gdb)
Run Code Online (Sandbox Code Playgroud)

以下是导致崩溃的代码:

    if (waitingOpponentTimer) {
      [waitingOpponentTimer invalidate]; //<-- Crash/error occurs here
      waitingOpponentTimer = nil;
    }
Run Code Online (Sandbox Code Playgroud)

其他地方:

    NSTimer* waitingOpponentTimer;
Run Code Online (Sandbox Code Playgroud)

并且:

    waitingOpponentTimer = [NSTimer scheduledTimerWithTimeInterval:10.0f target:self selector:@selector(waitingOpponentTimeOut)userInfo:nil repeats:NO];
Run Code Online (Sandbox Code Playgroud)

在任何地方都没有waitOpponentTimer出现,只有我上面显示的那些.waitingOpponentTimeOut操作只设置一些变量,对定时器或waitingOpponentTimer什么都不做.

我已经尝试了以下所有IF语句,以防止达到invalidate语句:

    if (waitingOpponentTimer) {
    if ([waitingOpponentTimer retainCount] > 0) {
    if (waitingOpponentTimer.isValid) {
    if (waitingOpponentTimer != nil) {
Run Code Online (Sandbox Code Playgroud)

但在所有情况下,它仍然通过IF语句,然后导致与invalidate语句崩溃.

所以我的问题是,当对象isValid并且不是nil并且它的retainCount大于零时,为什么/如何无效导致错误?

有没有其他方法可以检查这个以防止无效到达?

我是一个完整的iphone编程菜鸟,并花了几个小时谷歌搜索试图弄清楚,但无法弄清楚我做错了什么.任何帮助和建议赞赏!

编辑:只是为了澄清,我正在使用它在运行之前手动停止计时器.我知道如果它用完了,它会使自身无效,这就是为什么我使用IF语句来检查它是否已经失效(但它不起作用).所以我认为当发生此崩溃时计时器已经自动失效,但我如何检查它是否已经失效?

编辑:好的我在下面标出了正确的答案.我不知道在没有保留定时器并且已经使自身无效的情况下,实际上有没有理由通过IF语句获取代码,但是如果要在IF语句中使用定时器,则总是使用RETAIN .

以下是相关信息:如果您不需要使其无效,是否有任何理由保留预定的NSTimer?

iphone cocoa-touch objective-c ios ios-simulator

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

如何在iPhone App中的其他文件中为UIAlertview设置委托

好的,所以对于iPhone和Objective C和Cocoa Touch的编程来说有点新鲜,但无法弄清楚这一点.委托是自我时有很多信息,但我试图将其发送到另一个文件.

这是一些代码......我有以下方法(我通常称之为函数,但我认为方法是正确的术语) appDelegate.m

[GameUtil showAlertViewWithTag:1 delegate:self withTitle:@"" message:msg cancelButtonTitle:@"New game" otherButtonTitles:@"Main Menu", nil];

GameUtil.h.m我已正确设置showAlertViewWithTag,它工作正常.

我遇到的问题是,delegate:self部件......就像它的情况一样,当点击alertview上的按钮时,它将转到-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex位于我的appDelegate.m(当然,当使用self作为委托时).

但是,单击按钮时我想要它做的是将其发送到-(void)alertView:..另一个名为的文件中playField.m.

我正确设置了alertview playField.m(通过在playField.m中调用alertview with delegate:self进行测试).

基本上我很难说如何告诉appDelegate.m中的alertview使用playField.m中的委托而不是委托:self.

我想我需要#import playField.m或.h进入appDelegate.m,但除此之外,我迷失了所有的@protocol @interface的东西.

Baby步骤非常有用,例如"你需要将XYZ置于playField.h的顶部,将ABC放在playField.m的顶部".

我希望这个实现起来相当简单,而且我只是缺少一些简单的东西.

提前致谢 :)

iphone cocoa-touch objective-c ipad ios

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

如何更改Facebook或其他平台上视频的播放速度

在Facebook或其他平台上观看视频时,有时我想加快视频速度,但没有其他选择。

如何更改Facebook或其他平台视频的播放速度?

编辑:这是一个与编程有关的问题...请参阅答案。

facebook

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

为什么当我按 ENTER 键时会触发表单中第一个按钮的 onclick(并且事件中没有 keyCode)?

为什么当我按 ENTER 键时会触发表单中第一个按钮的 onclick?我试图找出为什么 onclick 是由 ENTER 键触发的,然后如果是实际的鼠标/点击按钮单击,则让该函数继续执行,或者如果是 ENTER 键,则让该函数忽略按键。

我尝试检查 event.keyCode (传递到 javascript 函数),但它是未定义的。

事实上,似乎设置的唯一属性是 event.isTrusted,但不存在其他属性。

编辑:创建了新的演示代码以更好地解释我遇到的问题......

这是解决问题的js:https ://jsfiddle.net/Ld142qx3/24/

当您将光标放在“数量 2”输入框(第二个框)中并单击 Enter 时,它会触发“数量 1”输入框前面的第一个“LESS”按钮的 onclick 事件。

没有随事件传入的 keyCode 属性来标识 onclick 实际上是通过鼠标点击触发还是通过 ENTER 键触发。

我原来的测试代码HTML是:

<form onsubmit="return false;">
  Quantity 1: <button id="b1-less" onclick="return b1Less(this.id, event);">less</button>
  <input type="text" id="q1" value="10" size="10">
  <button id="b1-more" onclick="return b1More(this.id, event);">more</button>
  <br>
  Quantity 2: <button id="b2-less" onclick="return b2Less(this.id, event);">less</button>
  <input type="text" id="q2" value="5" size="10">
  <button id="b2-more" onclick="return b2More(this.id, event);">more</button>
</form>
Run Code Online (Sandbox Code Playgroud)

我原来的 JavaScript 是这样的:

function b1Less(_id, …
Run Code Online (Sandbox Code Playgroud)

html javascript

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