小编Ale*_*Max的帖子

是否有可以用PHP编写RFC 4180 CSV文件的库?

我知道fputcsv,但根据这个"wontfix"错误, fputcsv没有正确地转义输入,并且出于兼容性原因,它的行为将不会被修复.我更喜欢符合RFC 4180的实现,因此Excel和LibreOffice可以在所有情况下打开它.

我已经尝试使用谷歌搜索正确执行此操作的库,但似乎没有就一个体面的第三方库达成共识,而是通常建议有缺陷的fputcsv.我总是可以自己动手,但是如果可能的话,我宁愿不重新发明轮子.

php csv fputcsv rfc4180

27
推荐指数
1
解决办法
5666
查看次数

Python argparse:nargs +或*取决于先前的参数

我正在编写一个服务器查询工具,我有一些代码来解析最顶层的参数:

# Parse arguments
p = argparse.ArgumentParser()
g = p.add_mutually_exclusive_group(required=True)
g.add_argument('--odam', dest='query_type', action='store_const',
        const='odam', help="Odamex Master query.")
g.add_argument('--odas', dest='query_type', action='store_const',
        const='odas', help="Odamex Server query.")
p.add_argument('address', nargs='*')
args = p.parse_args()

# Default master server arguments.
if args.query_type == 'odam' and not args.address:
    args.address = [
            'master1.odamex.net:15000',
            'master2.odamex.net:15000',
            ]

# If we don't have any addresses by now, we can't go on.
if not args.address:
    print "If you are making a server query, you must pass an address."
    sys.exit(1)
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点,最好是在解析器中?最后一个错误看起来有点不合适,如果我可以根据--odam或--- odas传递地址取决于地址,那将会很好.我可以创建一个subparser,但这会让帮助看起来有点奇怪,因为它会留下命令的地址部分.

python argparse

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

那些只是UIWebView的iOS应用会被拒绝吗?

只是简单地指向远程URL的UIWebViews(或等同于Phonegap)的应用程序是否仅仅基于该事实而被App Store拒绝?

如果不是彻头彻尾的话,在这种可能导致应用被拒绝的情况下容易犯哪些错误?

iphone ios cordova

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

在管理员中组合User和UserProfile

我一直在阅读Django的用户和个人资料分离,我决定使用一个名为UserProfile的模型,它位于一个帐户应用程序中作为我的个人资料.问题是,现在我有两个独立的管理区域,一个用于修改用户,另一个用于修改用户配置文件.是否可以在管理员中将这两个模型视为一个模型,因此如果您添加或修改用户,您会在同一视图中看到用户和个人资料的所有字段?不言而喻,添加删除用户应该添加或删除配置文件,并且不应该在没有用户的情况下添加或删除配置文件.

我已经看到了如何使这项工作的点点滴滴(例如,添加用户时添加配置文件的东西),但不是整体.

django django-models django-admin

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

Windows Vista/7上的SDL_Mixer MIDI卷问题

我实际上并不精通C++或SDL_Mixer,但我仍然代表Doom社区提出这个问题.简而言之,在Windows Vista或7上使用SDL_Mixer独立编写Doom源端口的人似乎无法想出如何独立控制正常的音量和MIDI音量.我会让Eternity Engine的作者James Haley用他自己的话说出来:

似乎在Windows Vista或7下不存在原生MIDI的独立音量概念,因为在任何具有它们的应用程序中使用MIDI音量滑块(包括大多数使用SDL_mixer的游戏)也会影响数字声音输出的音量.这使得尝试调整音乐的相对音量以使舒适变得不可能.

有没有人为此找到任何解决方法?我猜测微软似乎不太可能在整个操作系统中以任何方式分别控制单个声音设备的音量.

我听说过各种涉及Timidity驱动程序的变通办法,但这需要用户超越简单地在他的系统上安装游戏.我所知道的唯一一个明确修复此问题的端口是ZDoom,但它使用的是GPL不兼容的FModEx,因此不是一个合适的解决方案.

如果你想看一些代码,Chocolate Doom可能是最简单的Doom源端口,你可以在这里获取它的源代码.

任何关于其他开源声音和音乐库的建议也会受到欢迎.

c++ windows midi sdl sdl-mixer

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

PhoneGap应用程序中的远程JQueryMobile站点中的链接打开safari

我在使用PhoneGap和JQuery Mobile时遇到了一个特殊的问题,在撰写本文时使用了这两个框架的最新版本.

我的phonegap应用程序有一些应用程序的"本地"页面,以及直接从远程站点加载的其他页面.在本地页面和远程页面之间进行是很好的(没有过渡,但这不能完全得到帮助).但是,一旦我在远程页面上,我点击远程页面上的任何链接都会打开我所请求页面的Safari.这不是理想的功能,因为我希望它都在UIWebView中,并且我的所有链接都没有标记任何会导致Safari打开的特殊功能.

它变得更奇怪了.如果我然后从Safari切换回程序,我请求的远程页面出现在UIWebView中,但是按下后退按钮不会导致第一个远程页面,而是第一个本地页面.

现在的phonegap应用程序是非常裸露的,非常接近默认值,除非加载了JQM css + js.即使我创建了一个简单的测试应用程序,其中包含一个本地JQM页面,一个远程JQM页面,然后是一个从JQM远程页面链接的远程页面,这种情况也会发生.

我很难过.这里发生了什么?

uiwebview ios jquery-mobile cordova

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

TCPDF环绕对象的文本

简单的问题.假设我有一个充满文本的Cell,我希望在中间有一个较小的Cell,其中包含一些相关信息.TCPDF中是否有函数或功能允许较大单元格中的文本干净地包裹在较小的内部单元格中的文本?

php pdf pdf-generation tcpdf

0
推荐指数
1
解决办法
4172
查看次数

Win32:匿名继承的管道不会在子进程退出时关闭

我一直试图使用匿名管道通过他们的stdin和stdout与生成的子进程通信,类似于这个例子.到目前为止,非常好 - 我通过WriteFile()与它进行通信,并通过PeekNamedPipe()和ReadFile()从中读取数据.生活很好.

然而,我遇到了令人痛苦的事情 - 当子进程意外关闭时,对WriteFile()的父进程调用似乎永远不会返回任何类型的失败状态,表明管道已关闭,并且我的父进程继续愉快地继续写入数据直到我溢出管道的内部缓冲区并永远阻塞.

我的设置代码如下所示:

// Set up pipes
SECURITY_ATTRIBUTES sec_attrs;
memset(&sec_attrs, 0, sizeof(SECURITY_ATTRIBUTES));
sec_attrs.nLength = sizeof(SECURITY_ATTRIBUTES);
sec_attrs.bInheritHandle = TRUE;
sec_attrs.lpSecurityDescriptor = NULL;

if (!CreatePipe(&midi_process_in_reader, &midi_process_in_writer, &sec_attrs, 0))
{
    DEBUGOUT("Could not initialize midiproc stdin");
    return false;
}

if (!SetHandleInformation(midi_process_in_writer, HANDLE_FLAG_INHERIT, 0))
{
    DEBUGOUT("Could not disinherit midiproc stdin");
    return false;
}

if (!CreatePipe(&midi_process_out_reader, &midi_process_out_writer, &sec_attrs, 0))
{
    DEBUGOUT("Could not initialize midiproc stdout/stderr");
    return false;
}

if (!SetHandleInformation(midi_process_out_reader, HANDLE_FLAG_INHERIT, 0))
{
    DEBUGOUT("Could not disinherit midiproc stdin");
    return false; …
Run Code Online (Sandbox Code Playgroud)

c windows winapi

0
推荐指数
1
解决办法
119
查看次数