问题列表 - 第11274页

使用PHP在内存中操作存档(无需在磁盘上创建临时文件)

我试图在PHP中即时生成存档并立即将其发送给用户(不保存).我认为没有必要在磁盘上创建一个文件,因为我发送的数据无论如何都不是持久的,但是,在搜索网络时,我无法找到方法.我也不关心文件格式.

所以,问题是:

是否可以在php脚本中创建和操作文件存档而不创建临时文件?

php memory disk archive

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

如何在Visual Studio IDE中使所有IDisposable类的颜色不同?

标题涵盖了所有内容.我希望实现IDisposable的类以特定颜色显示,以便我知道是否应该将它们包装在using块中.是否有可以扩展IDE的设置或过程?

c# ide visual-studio

16
推荐指数
2
解决办法
1292
查看次数

Visual Studio 2008中缺少T4代码生成?

所以我决定卷起袖子试试VS2008内置的T4代码生成.

我打算完成这篇文章的工作:http: //www.olegsych.com/2008/09/t4-tutorial-creatating-your-first-code-generator/

所以,我进入这一部分:"在主菜单中单击项目 - >添加新项目,然后在对话框中选择代码生成 - >文件模板".并发现我的机器上缺少代码生成类别.(在VB和C#项目中都尝试过).

是否可以单独下载以在您的计算机上安装T4?

更新#1

所以,我从CodePlex下载了T4工具箱:http://t4toolbox.codeplex.com/Release/ProjectReleases.aspx?ReleaseId = 27563

事情似乎已经解决了.我的印象是VS2005需要下载,但VS2008不需要下载.哦,好吧,看起来它是一个新的版本,所以很可能值得下载.

更新#2

现在看来我没有文章中显示的所有模板类型.我只有文件,模板,生成器,单元测试"生成器"没有在文章中列出,文章中有3个我没有.奇怪....

t4 visual-studio

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

为什么CompositeCollection不能Freezable?

我正在使用MVVM模式编写应用程序.我通过将我的视图的DataContext属性设置为我的ViewModel的实例来向我的视图提供数据.一般来说,我只是从那里使用Binding并继续我的方式.

最近,我试图在我的ViewModel提供的"选择项目"的集合之外实现一个带有"额外"元素的ComboBox.

<ComboBox>    
    <ComboBox.ItemsSource>    
        <CompositeCollection>
           <ComboBoxItem IsEnabled="False">Select Item</ComboBoxItem>
           <CollectionContainer Collection="{Binding MyItemsCollection}" />    
        </CompositeCollection>
    </ComboBox.ItemsSource>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)

问题是,CompositeCollection不是Freezable:Freezable Objects Overview.这会导致仅显示静态ComboBoxItem,而不会导致我的绑定表达式产生任何结果.

我对这个问题的第一反应是,只是实现自己CompositeCollection的版本可冻结.但是,这引出了以下问题:

为什么CompositeCollection首先不是Freezable?

我担心的是,通常这些决定是出于某种原因而做出的,我不觉得我对Freezable的了解不足以说明为什么他们没有从中继承.我知道我可以实现这个系列,但我担心如果我这样做会有一个可衡量的性能差异.

任何帮助,将不胜感激.谢谢!

另外:请注意,我意识到我可以插入Null或其他一些特殊值,并提供模板或valueconverter来做我想要的.这不是我感兴趣的问题......只是上面的粗体问题.

更新:

经过ArsenMkrt的评论进行了一些进一步的研究后,我发现我认为这实际上是一种疏忽.证据如下:

  1. 有一个可以冻结的集合FreezableCollection<T>.我没有生成CollectionViews,这使得它不能直接满足我的需求.
  2. MSFT的Sam Bent在上面的链接中说了很多.我还找不到他的联系方式,但如果有机会,我打算和他讨论这个问题.

我目前解决这个问题的计划是创建一个具有CompositeCollection和属性的新集合FreezableCollection<T>.我不知道它是否还能正常工作,但我正在考虑这样的事情:

public class BindableCompositeCollection : FreezableCollection<object>, ICollectionViewFactory
Run Code Online (Sandbox Code Playgroud)

如果有人有更好的选择,我想听听!

wpf freezable compositecollection

22
推荐指数
1
解决办法
4094
查看次数

OOP - C#中的消息传递

C#中的OOP概念"消息传递"的例子是什么(调用方法/传递参数/触发事件/处理事件/ ???)以及为什么称为消息传递?

c# oop message-passing

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

什么是Python线程+ Unix信号语义?

Python线程有哪些规则以及如何处理Unix信号?

KeyboardInterrupt,SIGINT由Python运行时内部触发但处理方式不同?

python unix multithreading posix signals

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

什么是具有最简单学习曲线的C++ GUI构建选项 - VS/Qt/wxWidgets /等?

我希望能够尽可能快速,轻松地构建GUI应用程序.我在C++中胜任(虽然不是专家,也没有正式的培训),但从未使用过GUI构建工具包或框架或任何东西.我不是一名专业程序员,在构建GUI应用程序时,我完全缺乏经验和无知.花了几个小时研究试图弄清楚要做什么; 但是,只会变得更加困惑和沮丧.

Qt和wxWidgets似乎是跨平台应用程序最受欢迎的选项,尽管跨平台对我来说不一定非常重要; 如果这意味着最快的学习曲线,那么仅限Windows就可以了.

Qt看起来很酷,Qt Creator看起来很漂亮,有很多很好的演示,除了它有自己的所有类,我不是太热衷于学习一堆只适用于Qt平台本身而不是更普遍的东西.我想我可以避免使用Qt类,除了我必须使用它们的GUI内容,但我不知道那将是多么明智或不明智.

我认为Visual Studio会有最小的学习曲线,但是当我打开一个测试GUI应用程序时,我看到一堆外国人看起来像克拉(^)的东西 - 我在网上发现这些意思是"句柄",我甚至无法理解定义或目的("有点像指针但不是真的"基本上是我读过人们如何定义它们).

我对wxWidgets几乎一无所知,或者它与Qt的比较.

因此,每个选项都有一个很大的学习曲线 - 理想情况下,我想知道哪个选项最大限度地减少了学习工具包/框架本身的时间.由于我可能永远不会从我创建的程序中赚钱,所以我花在学习特定工具包上的时间非常昂贵.我只是希望能够使用我拥有的C++知识制作一个功能程序,但是以GUI形式.目前似乎我想制作一个GUI应用程序,我不得不花费更多的时间来学习我使用的GUI框架,而不是编写应用程序本身的功能部分.

任何来自人更聪明,更有经验的投入都会受到赞赏:)

c++ user-interface qt wxwidgets visual-studio

10
推荐指数
5
解决办法
6958
查看次数

使用Tomcat/Websphere将JSP编译到字符串或内存中

我正在转换为图像和PDF输出.我需要一个由我们的应用程序JSP生成的输入HTML文档.本质上,我需要将基于JSP的应用程序的最终输出产品呈现给String或内存,然后使用该字符串进行其他处理.

有什么方法可以调用JSP渲染器来获取通常输出给用户的最终HTML内容?理想情况下,我正在寻找适用于websphere等多个应用服务器的东西.但是特定于Tomcat的东西也会起作用.

还有其他几种不同的方法,但我认为渲染JSP(可能包括子JSP)是最好的方法.

我宁愿远离的可选路径.

  1. 我可以使用Socket API对页面执行网络请求,然后读取从该特定页面呈现的最终输出.这可能是下一个最佳选择,但我们在多个服务器和JVM上工作,针对我需要的页面会很复杂.

  2. 使用过滤器来获取最终页面输出.这很好,但我一直遇到过滤器和非法状态异常的问题.它似乎永远不会像我需要的那样100%工作.

看起来这应该很简单.JSP编译器本质上只是一个用于解析输入JSP文档和子文档然后输出一些HTML内容的库.我想通过Java代码调用该过程.在服务器上,可能作为独立的控制台应用程序.

java websphere jsp tomcat

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

C++解释器/控制台/代码段编译器

我正在寻找一个程序,我可以在一个窗口中输入C++代码片段,按一个按钮,然后在另一个窗口中输出.编辑应该以某种方式隐藏在按钮后面.在每个片段的基础上会很好,完全互动可能要求太多.它应该在Linux/Unix下运行.主要用例是学习/测试/简短调试等.

我找到的相关内容:

- python的Reinteract项目(我告诉sage有类似的功能)

- 这里是C#的相同线程:C#Console?

- 来自CERN ROOT项目的CINT解释器(可能很接近,但也许有更舒适的应用程序)

- 一些名为Quickly Compile或Code Snippet的程序,它们是M $.

c++ console interpreter interactive

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

CSV文件的Unicode到UTF8 - Python通过xlrd

我正在尝试使用Python xlrd和csv模块将Excel电子表格翻译为CSV,但我对编码问题感到困惑.Xlrd以Unicode格式生成Excel中的输出,CSV模块需要UTF-8.

我想象这与xlrd模块无关:一切正常输出到stdout或其他不需要特定编码的输出.

根据,工作表编码为UTF-16-LE book.encoding

我正在做的简化版本是:

from xlrd import *
import csv
b = open_workbook('file.xls')
s = b.sheet_by_name('Export')
bc = open('file.csv','w')
bcw = csv.writer(bc,csv.excel,b.encoding)
for row in range(s.nrows):
    this_row = []
    for col in range(s.ncols):
        this_row.append(s.cell_value(row,col))
    bcw.writerow(this_row)
Run Code Online (Sandbox Code Playgroud)

这会产生以下错误,大约740行:

UnicodeEncodeError: 'ascii' codec can't encode character u'\xed' in position 5: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

似乎挂起的值是"516-777316" - 原始Excel工作表中的文本是"516-7773167"(最后有7个)

我会是第一个承认,我只有字符编码是如何工作的一个模糊的感觉,所以大部分是我到目前为止已经试过是各种摸索排列.encode,并.decodes.cell_value(row,col)

如果有人可以建议一个解决方案我会很感激 - 如果你能解释一下什么不起作用以及为什么这样做会更好,那么我将来可以更容易地调试这些问题.

提前致谢!

编辑:

感谢您的评论到目前为止.

当我用户this_row.append(s.cell(row,col))(egscell而不是s.cell_value)时,整个文档写入没有错误.

输出并不是特别理想的(text:u'516-7773167'),但它避免了错误,即使有问题的字符仍然在输出中.

这让我觉得挑战可能毕竟是xlrd.

思考?

python csv unicode encoding xlrd

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