我正在编写一个tcp/ip客户端,我需要一个"测试服务器"才能轻松测试.它应该监听一个可配置的端口,在客户端连接时显示我以及客户端发送的内容,允许我手动输入要发送给客户端的文本.它应该适用于Windows.
通常我会使用简单但功能强大的nc.exe(别名"Netcat"在Unix上也可以在Windows上使用)但是防病毒软件将其检测为"黑客工具",以便我的系统管理员不要让我使用它工作中.
有没有人使用其他工具来测试套接字连接并对它感到满意?
我正在开发一个具有相当多依赖性的大型delphi 6项目.编译整个项目需要几分钟的时间.经过一些更改后重新编译有时会更长,以便更快地终止Delphi,擦除所有dcu文件并重新编译所有内容.
有没有人知道识别的方法,是什么让编译器变慢和变慢?有关如何组织代码以提高编译器性能的任何提示?
我已经尝试过以下事项:
编辑,答案总结到现在为止:
在我的案例中最有效的答案:
接下来我想尝试一下:
在我的案例中没有改变任何事情的事情:
不适用于我案件的事情:
我没试过的事情:
我的程序(win32,Delphi)需要在表的某些列中显示特殊字符.为此,我为这些列使用了特殊字体.我从我的客户那里得到了字体.它是一个.FON字体.它在屏幕上工作得很好,但是一旦我想用它来打印东西,我就会经常遇到问题.
我想将此.FON字体转换为truetype字体(.TTF)以避免出现问题.我不在乎字体不能很好地扩展.当我在屏幕上使用与原始字体的默认大小相同的大小时,我应该看起来完全相同.有人知道这样做的方法吗?
(它不需要源代码解决方案.字体不会改变.如果我找到一个工具就足够了)
编辑:理想的是获得一个truetype字体,其中原始字体的每个像素被转换为矢量黑色方块(我通过手动重绘几个字符测试,它将按我想要的方式工作).
编辑2,使用的解决方案:使用FontForge + Autotrace然后手动进行更正我能够得到一个跟随位图字体像素轮廓的矢量字体.这种矢量字体比原始字体更好地缩放并解决了我的打印问题.有关详情,请参阅接受的帖
但是,如果有人知道完全自动化的解决方案,我仍然感兴趣.
这不是一个问题,因为我已经找到了解决方案.我花了很多时间,这就是我想在这里解释的原因.
Msxml基于COM,因此即使你有有用的类来处理内存分配问题,它也不是很容易在C++中使用.但是编写一个新的XML解析器要困难得多,所以我想使用msxml.
问题:
我能够在互联网上找到足够的例子来帮助使用msxml CComPtr(智能指针避免必须手动调用每个IXMLDOMNode的Release()),CComBSTR(将C++字符串转换为字符串的COM格式)和CComVariant.这3个有用的课程是ATL课程,需要一个#include <atlbase.h>.
问题:Visual Studio 2008 Express(免费版)不包含ATL.
解:
使用comutil.h和comdef.h,包括一些简单的帮助程序类:
_bstr_t 或多或少取代 CComBSTR_variant_t 或多或少取代 CComVariant_com_ptr_tCComPtr通过使用间接取代_COM_SMARTPTR_TYPEDEF小例子:
#include <msxml.h>
#include <comdef.h>
#include <comutil.h>
// Define some smart pointers for MSXML
_COM_SMARTPTR_TYPEDEF(IXMLDOMDocument, __uuidof(IXMLDOMDocument)); // IXMLDOMDocumentPtr
_COM_SMARTPTR_TYPEDEF(IXMLDOMElement, __uuidof(IXMLDOMElement)); // IXMLDOMElementPtr
_COM_SMARTPTR_TYPEDEF(IXMLDOMNodeList, __uuidof(IXMLDOMNodeList)); // IXMLDOMNodeListPtr
_COM_SMARTPTR_TYPEDEF(IXMLDOMNamedNodeMap, __uuidof(IXMLDOMNamedNodeMap)); // IXMLDOMNamedNodeMapPtr
_COM_SMARTPTR_TYPEDEF(IXMLDOMNode, __uuidof(IXMLDOMNode)); // IXMLDOMNodePtr
void test_msxml()
{
// This program will use COM
CoInitializeEx(NULL, COINIT_MULTITHREADED);
{
// …Run Code Online (Sandbox Code Playgroud) 是否可以将GNU gettext与MS Visual C++一起使用?有人知道在哪里可以找到在Visual C++下编译的示例项目吗?
更新: 感谢Sorin Sbarnea的评论,这有助于我将所有部分组合在一起:
我已经习惯了Delphi版本的gettext,只需用你的项目编译单元gnugettext.pas,这就是为什么我只是想用我的MSVC项目编译gettext.h.它可能适用于其他C++编译器,但不适用于MSVC.
GNU gettext的FAQ解释了如何使用预编译的DLL与MSVC一起完成.但是没有DLL的链接,这些DLL不在主下载中.必须从ftp站点单独下载它们.dll需要2个文件:
如果你需要工具从exe中提取字符串,你还需要:
我还没有尝试使用MSVC,但现在我认为它会起作用.
我有一个Delphi程序,我正在研究这个程序如何在日志文件中打印自己的"虚拟大小",以便我可以看到它何时使用了太多内存.如何使用Delphi代码确定"虚拟大小"?
"虚拟大小"是指Process Explorer显示的值.普通任务管理器无法显示此值.它不是程序的内存使用,而是地址空间的使用.在Win32上,程序不能使用超过2 GB的地址空间.
PS:我使用的是Delphi 6,但其他版本的代码/信息也应该没问题.
我想将枚举器用于Delphi XE2的泛型集合.我想知道,谁拥有函数GetEnumerator返回的TEnumerator(我在文档中没有找到任何明确的答案):
码:
procedure Test;
var
myDictionary: TDictionary<String, String>;
myEnum: TDictionary<String, String>.TPairEnumerator;
begin
{ Create a dictionary }
myDictionary := TDictionary<String, String>.Create;
myDictionary.Add('Key1', 'Value 1');
myDictionary.Add('Key2', 'Value 2');
{ Use an enumerator }
myEnum := myDictionary.GetEnumerator;
// ... do something with the Enumerator ...
{ Release objects }
myEnum.Free; // ** Do I need to free the enumerator? **
myDictionary.Free;
end;
Run Code Online (Sandbox Code Playgroud) 我正在开发一个开源项目.原始项目包含俄语注释并使用代码页1251.我正在使用代码页1252并且俄语注释在Visual Studio Express 2008中无法正确显示,不是很好,但无论如何我无法阅读俄语.使用代码页950(繁体中文)的人试图编译项目并且由于代码页而无法执行此操作!现在真的很烦人.
我认为使用unicode(更准确地说是带签名的UTF-8)作为代码源的文件格式是可行的方法.
问题:如何轻松转换整个源代码?
我已经知道了:
让Visual Studio将源代码保存为UTF-8.但是:我的计算机正在使用代码页1252,我发现无法告诉VS原始代码源使用代码页1251,因此转换将不正确.
编辑:正如"LicenseQ"所指出的,有一种方法可以在VS中使用另一种编码打开单个文件:在打开的对话框中单击"打开"按钮旁边的箭头,选择"打开方式",然后选择"代码编辑器(带编码)".
当然,我可以在转换时更改计算机的代码页.但它是Windows中的全局设置,您需要重新启动计算机,以便我正在寻找更友好的解决方案.
我找到了一个名为CodePageConverter的工具,它完全符合我的需要,但不能将其作为批处理作业.
有没有人知道从代码页转换为UTF-8的另一个工具(命令行工具会很完美)?
编辑:正如tkotitan建议似乎iconv是我正在寻找的解决方案.有一个windows版本的iconv.现在我知道了这个工具的名称,我能够在stackoverflow上查找关于处理类似问题的帖子.
我想使用LDAP服务器(可能是Apache目录)来管理应用程序的登录和凭据.应用程序有时需要脱机工作(在笔记本电脑上)而无需连接到LDAP服务器.
复制凭证的最佳方法是什么?
我已经考虑过了:
使用Mitosis在笔记本电脑上复制LDAP服务器.
但这将是一个非常"沉重"和复杂的解决方案.此外,有丝分裂似乎尚未完成.
将凭据导出为可存储在笔记本电脑上的LDIF文件.
但我需要一种方法来检查LDIF文件是否实际来自LDAP服务器(该文件应包含一种签名).此外,我想拒绝超过一周没有更新的LDIF文件.如果我能避免自己实施签名和年龄检查,那就太好了.
还有其他可以帮助我的想法或工具吗?
编辑编辑:我看过Kerberos,因为Java-Kerberos-API的文档似乎说可以在本地缓存中使用缓存的票证,我认为这可能是我的解决方案.此外,Kerberos可以作为插件添加到Apache Directory中.但Kerberos缓存存储解密的票证(旨在与其他应用程序共享它们).我需要加密版本的票证才能在离线会话期间检查用户密码.结论:Kerberos不能为我的问题提供简单的解决方案.
我有4个小的tiff图像,我想通过合并4个单个图像来生成一个大图像.有没有人知道如何直接使用Delphi或一些可以做到的好组件?
我正在寻找在LDAP服务器中存储配置文件的最佳方法.我的应用程序用于将用户设置保存在xml文件中.用户登录已集中在LDAP服务器中.用户在LDAP服务器中存储为"inetOrgPerson".我想将xml文件附加到每个用户.
最好的方法是什么?标准LDAP模式是否提供存储文本文件的类?或者我是否应该根据我的需求扩展架构?
delphi ×5
ldap ×3
windows ×3
audio ×1
bitmap ×1
bitmap-fonts ×1
c++ ×1
codepages ×1
collections ×1
delphi-6 ×1
enumerator ×1
fonts ×1
gettext ×1
kerberos ×1
ldif ×1
localization ×1
msxml ×1
networking ×1
oid ×1
optimization ×1
settings ×1
snmp ×1
sockets ×1
tiff ×1
truetype ×1
unicode ×1
utf-8 ×1
utility ×1
visual-c++ ×1
xml ×1