我正在使用C#并以.NET Framework 3.5为目标.我正在寻找一个小的,简洁而有效的代码片段来将ListBox中的所有项目复制到List<String>(通用列表).
目前我有类似下面的代码:
List<String> myOtherList = new List<String>();
// Populate our colCriteria with the selected columns.
foreach (String strCol in lbMyListBox.Items)
{
myOtherList.Add(strCol);
}
Run Code Online (Sandbox Code Playgroud)
当然,这是有效的,但我不禁感到必须有更好的方法来使用一些较新的语言功能.我在考虑像List.ConvertAll方法,但这仅适用于通用列表而不适用于ListBox.ObjectCollection集合.
背景:这个问题涉及2009年以下的Delphi版本(即没有内置的Unicode支持).我有一个规范,要求我通过TCP连接传输Unicode编码的字符串,但我没有Delphi 2009.
问题是否有单个函数或非常小的库(我不需要太多批量),我可以使用它在发送电报之前立即将单个字符串编码为UTF-8?作为我的问题的第二部分:如果有UTF-8编码的字符串作为响应被发回,我想我将需要另一个函数将其恢复为Delphi字符串格式.我以这种方式理解这种Unicode支持的局限性.
我希望能够安全地登录到系统,而无需从活动目录中的Windows PC输入用户名密码.我的想法是,我(客户端软件,在登录的Windows机器上运行)有某种令牌,将向服务器证明我是谁,我说的是(服务器与AD通话以验证令牌和我的身份身份).这可能与.net 3有关吗?
c#中使用的语言.
我的Compojure网络应用程序([compojure"1.0.1"])总是收到一个空的参数图,尽管添加了wrap-params等.下面的代码示例:
(defroutes public-routes
(PUT "/something" {params :params}
(println (str "Params: " params))
(do-put-something params)))
(def myapp
(-> public-routes
ring-params/wrap-params))
(defn start-server []
(future (jetty/run-jetty (var myapp) {:port 8080})))
Run Code Online (Sandbox Code Playgroud)
我已经尝试添加wrap-params,wrap-keyword-params和wrap-multipart-params但是当我使用httpie(或我的客户端)将其PUT到端点时,我发现params总是空的.有人可以帮忙吗?
谢谢!
背景
我希望能够在Delphi应用程序中解析Javascript源代码.我需要能够识别源中的变量和函数,以便通过以后的代码更改代码.我知道我可能需要为此目的使用词法分析器,但使用我找到的词法分析器(Dyaclexx)并没有太多运气.
题
是否有合适的免费软件或开源delphi解析器/词法分析器已经有Javascript令牌集或可以轻松修改为此目的而不会有太多麻烦?
如果没有这样的工具可用,那么学习为此目的编写自己的词法分析器的最佳方法是什么?
谢谢
问题:我正在寻找的是使用Indy 10中的IdTCPClient使用单独线程接收数据的最典型或最佳实践方法.
背景:下面的代码是为了清楚起见我要删除的实际数据处理部分的示例.线程的想法是接收所有数据(变量大小,标头声明消息长度的其余部分)然后解析它(这就是HandleData过程的作用)并根据命令触发事件处理程序.
TIdIOHandlerSocket由主应用程序传递给线程,主应用程序也在需要时将数据写入套接字.
TScktReceiveThread = class(TThread)
private
{ Private declarations }
procedure HandleData;
protected
procedure Execute; override;
public
FSocket: TIdIOHandlerSocket;
constructor Create(CreateSuspended: boolean);
end;
procedure TScktReceiveThread.Execute;
var
FixedHeader: TBytes;
begin
Assert(FSocket <> nil, 'You must assign the connected socket to the receiving thread');
SetLength(FixedHeader, 2);
while not Terminated do
begin
if not FSocket.Connected then
Suspend
else
begin
FSocket.CheckForDataOnSource(10);
if not FSocket.InputBufferIsEmpty then
begin
FSocket.ReadBytes(FixedHeader, SizeOf(FixedHeader), false);
// Removed the rest of the reading and parsing …Run Code Online (Sandbox Code Playgroud) 问题: Delphi可以使用哪些缓存框架以及它们的开发情况如何?如果没有,那么是否有广泛接受的方法来实现同样的目标?适用于Delphi的Win32目标版本.
问题详细信息:我正在询问的框架类型主要存在于Web开发框架中,允许用户:
我知道没有RTTI的Delphi对象缺乏反射服务意味着它们可能不会以完全相同的方式存在,但是是否有类似的方式以更多的Delphi方式实现至少部分相同的最终结果?
替代方法:作为原生Delphi库的替代方案:例如,对于memcached或类似的东西,是否存在一组良好的绑定?
背景:我想在一个项目中使用mysql.c的Delphi翻译,但原始维护者Matthias Fichtner(http://www.fichtner.net/delphi/mysql/)似乎已经将其删除了.
问题:有没有人知道libmySQL.dll的类似包装(或Matthias Fichtner的包装器的更新版本)在轻量级方面类似?
我是Perl的新手,我对其变量范围的工作原理感到困惑.我正在尝试从MySQL查询的结果创建一个Hashes数组.
以下代码按预期工作,不使用严格
my %hash = ();
while (my %hash = %{$qhand->fetchrow_hashref()} ) {
push(@results, {%hash});
}
Run Code Online (Sandbox Code Playgroud)
但是当启用strict时会产生以下错误:
不能在[filename]第XX行(while语句的行)中使用未定义的值作为HASH引用.
有人能告诉我,我做错了什么,严格的相应规则是什么,我是炫耀吗?