我有一个带有四个不同按钮的程序.我想随机交换按钮的位置.例如:1 2 3 4后来:3 4 1 2后来:1 3 2 4
有算法吗?我能想到的唯一方法是从1到24(24种可能性)创建一个随机数,然后编写所有可能的按钮位置.
int foo = arcrandom() % 23;
switch(foo){
case 0:
button1postiton = 100; //just an example
button2position = 200;
button3position = 300;
button4position = 400;
break;
case 2:
button1postiton = 200;
//blablabla and so on and so on
}
Run Code Online (Sandbox Code Playgroud)
但是有更有效的方法吗?
谢谢!
我正在尝试编写一个PHP脚本,该脚本使用pdftk应用程序将XFDF与PDF表单合并,并将合并的PDF输出给用户.根据pdftk文档,我可以在via中传递表单数据stdin并将PDF输出到stdout流中.从命令行使用pdftk的常规文件非流方式是:
pdftk blankform.pdf fill_form formdata.xfdf output filledform.pdf
Run Code Online (Sandbox Code Playgroud)
要在命令行上使用流,您需要输入:
pdftk blankform.pdf fill_form - output -
Run Code Online (Sandbox Code Playgroud)
我有几个问题:
1)我已经通过stdout使用xfdf文件(而不是stdin)来获得pdftk返回输出,如下所示:
exec("pdftk blankform.pdf fill_form formdata.xfdf output -", $pdf_output);
file_put_contents("filledform.pdf",$pdf_output);
Run Code Online (Sandbox Code Playgroud)
但是根据Adobe Reader的说法,它创建的pdf是破坏的,并且用文本编辑器快速查看文件显示,至少,它并没有将行结束设置在应有的位置.我有一个相同的PDF由pdftk创建,它输出到一个文件,pdf在文本编辑器中看起来很好,所以我知道它不是pdftk输出坏数据.
2)我不能为我的生活弄清楚如何stdin在PHP中设置流,以便我可以使用该流作为我的pdftk输入.从我在PHP文档中阅读的内容来看,它stdin是只读的,那么如何进入该流?
理想情况下,我想保持这个非常简单并避免使用proc_open().我尝试使用该功能并且不是非常成功,这可能是我的错,而不是功能,但实际上我的目标很简单,我宁愿避免使用我不需要的强大功能.
理想情况下,我的代码看起来像:
$form_data_raw = $_POST;
$form_data_xfdf = raw2xfdf($form_data_raw); //some function that turns HTML-form data to XFDF
$blank_pdf_form = "blankform.pdf";
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="output.pdf"');
passthru("pdftk $blank_pdf_form fill_form $form_data_xfdf output -);
Run Code Online (Sandbox Code Playgroud)
只是抬头,可以将实际的xml字符串放在命令行中,但是我的结果非常不可靠.
在很多帮助下,我现在明白我的真正问题是"如何在PHP中将变量传递给命令行执行".显然,proc_open是最好的方式,或者至少是最直接的方式.因为我花了很长时间才弄清楚,因为我对Google的研究表明其他人可能会苦苦挣扎,我会发布专门针对我的问题的代码:
$blank_pdf_form = …Run Code Online (Sandbox Code Playgroud) 在bytes_test.go中我看到:
a := Split([]byte(tt.s), []byte(tt.sep), tt.n)
Run Code Online (Sandbox Code Playgroud)
其中 tt.s 和 tt.sep 是字符串。但是当我尝试做的时候
a := bytes.Split([]byte("test"), []byte("e"), 0)
Run Code Online (Sandbox Code Playgroud)
我得到:
cannot convert "test" (type ideal string) to type []uint8 in conversion
cannot convert "e" (type ideal string) to type []uint8 in conversion
Run Code Online (Sandbox Code Playgroud) 显然,典型的WebForms方法是行不通的.如何跟踪MVC世界中的用户?
我目前在webview中遇到地理定位问题.我有一个webapp.我目前没有使用phonegap或任何其他移动框架.我没有成功获得内置的html5地理位置javascript api,以便在Android应用程序的webview中运行的应用程序上运行.该网站工作正常,否则从Android 2.0+上的Chrome浏览器(支持地理位置).
我正在编译android api版本5.
我已经读过 这篇文章了
Phonegap编写包含内置调用并使用主机活动的代理的解决方案很好,但我更喜欢使用内置到webview(webkit)而不使用手机间隙.
我在清单文件中设置了适当的权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
<uses-permission android:name="android.permission.ACCESS_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)
这是一个示例代码段:
webview = (WebView) findViewById(R.id.webview);
pbarDialog = new ProgressDialog(this);
pbarDialog.setCancelable(false);
pbarDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
webview.setWebViewClient(new MyWebViewClient());
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebChromeClient(new MyChromeWebViewClient());
webview.setVerticalScrollBarEnabled(false);
WebSettings webSettings = webview.getSettings();
webSettings.setSavePassword(true);
webSettings.setSaveFormData(true);
webSettings.setJavaScriptEnabled(true);
webSettings.setSupportZoom(false);
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
webSettings.setGeolocationEnabled(true);
Run Code Online (Sandbox Code Playgroud)
...
private class MyChromeWebViewClient extends WebChromeClient {
@Override
public void onProgressChanged(WebView view, int progress) {
// Activities and WebViews measure progress with different scales.
// …Run Code Online (Sandbox Code Playgroud) 这是一个不太可能的事情,但我有一个包含以下内容的文件:
文档结构:/some/path/start.php
<?php
require_once '../../another/path/test.php';
?>
Run Code Online (Sandbox Code Playgroud)
和
/另一个/路径/test.php /另一个/路径/图像/
<?php
test.php
hello<img src='images/1.jpg'>
?>
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法来使所需文件(test.php)正确加载图像(本质上是重置它认为是当前目录的内容)。我不想强迫人们使用绝对路径,也不想在其中添加一些变量。有没有 php 结构来处理这个问题?我正在使用 Zend_Framework。也许相反,一个具有多个 index.php 文件的构造,这些文件通过绝对路径映射到我的 Zend Framework 启动脚本。
任何想法,将不胜感激?我有以下一个优雅的解决方案 - 我只是没有看到它。
我正在寻找为自定义JSF 2复合组件库生成文档.复合组件未在任何faces-config.xml文件中引用,而是复合组件的.xhtml文件存储在META-INF/resources中,并使用新的composite:interface标签来定义接口.
对于JSP标记库,可以使用https://taglibrarydoc.dev.java.net/生成文档,我想知道我的JSF 2复合组件库是否有类似的东西.
documentation jsf facelets documentation-generation composite-component
通常情况下,我看到人们使用这样的类文字:
Class<Foo> cls = Foo.class;
Run Code Online (Sandbox Code Playgroud)
但是,如果类型是通用的,例如List?这工作正常,但有一个警告,因为List应该参数化:
Class<List> cls = List.class
Run Code Online (Sandbox Code Playgroud)
那么为什么不加一个<?>呢?好吧,这会导致类型不匹配错误:
Class<List<?>> cls = List.class
Run Code Online (Sandbox Code Playgroud)
我认为这样的东西可行,但这只是一个简单的'语法错误:
Class<List<Foo>> cls = List<Foo>.class
Run Code Online (Sandbox Code Playgroud)
我如何Class<List<Foo>>静态获取,例如使用类文字?
我可以用@SuppressWarnings("unchecked")摆脱造成在第一个例子中的非参数使用目录的警告,Class<List> cls = List.class但我宁愿不要.
有什么建议?
你怎么称为可以执行自己的代码的编程语言(作为字符串文字传递)?我心中的设置类似于此(忘记片刻输入代码,结果等):
string eight = "5+3"
int result = run(eight)
Run Code Online (Sandbox Code Playgroud)
run关键字在哪里 这是一种反思性的编程语言吗?
我正在使用log4Net我的日志.我也有以下几套......
<log4net debug="true"> .. </>
Run Code Online (Sandbox Code Playgroud)
好的,现在,当我有以下代码时
log4net.Config.BasicConfigurator.Configure();
Run Code Online (Sandbox Code Playgroud)
我真的没有得到任何详细的内部调试信息,但我确实显示了我记录的任何内容.
现在,当我交换该代码并将其替换为:
log4net.Config.XmlConfigurator.Configure();
Run Code Online (Sandbox Code Playgroud)
我得到了很多内部调试xml信息和我记录的任何内容,都会显示出来.
那么为什么呢?这两者有什么区别?
php ×2
.net ×1
.net-3.5 ×1
algorithm ×1
android ×1
asp.net-mvc ×1
byte ×1
c# ×1
class ×1
command-line ×1
cordova ×1
facelets ×1
generics ×1
geolocation ×1
go ×1
html5 ×1
java ×1
jsf ×1
literals ×1
log4net ×1
nomenclature ×1
objective-c ×1
pdftk ×1
session ×1
stdin ×1
stream ×1
string ×1
types ×1
webview ×1