我正在尝试使用C++解析INI文件.关于什么是实现这一目标的最佳方法的任何提示?我应该使用Windows API工具进行INI文件处理(我完全不熟悉),一个开源解决方案或尝试手动解析它?
目前,我们的应用程序使用Trident Win32组件,但我们希望摆脱这一点,原因有几个,其中主要是我们希望跨平台.
我们正在关注WebKit和Gecko,但在做出决定之前,我很想得到一些反馈.以下是一些最重要的要求:
它应该相对较快,占地面积小.理想情况下,我们可以在不费力的情况下削减任何我们不需要的东西.
体面的文件很重要.我预计不需要做任何太不寻常的事情,但你永远不会知道.
我们正在使用C++,如果可能的话,我们希望使用设计良好的面向对象架构.
跨平台是必须的,从长远来看,良好的性能将有所帮助(我们可能最终移植到移动平台).
在做出决定之前,我需要考虑哪些因素?之前有没有人使用过WebKit或Gecko?如果是的话,是否有任何我觉得有用的文章或教程?
更新:
谢谢你们的回应.我们最终选择了Qt 4.5,其中包括WebKit.到目前为止我们对它非常满意,事实上我认为Qt可能是我用过的最好的UI框架; 使用本机Win32 API进行编码之间的区别是惊人的.这也很容易学习,我们唯一的主要问题就是习惯了信号/插槽范例.
我正在尝试使用C++和Windows API创建一个对话框,但我不希望在资源文件中定义对话框.我在网上找不到任何好的东西,我读过的所有例子似乎都没有以编程方式定义对话框.
有人知道怎么做吗?一个简单的例子很好,我还没有做任何复杂的事情.
在Cocoa应用程序中,当您有未保存的数据时,您经常会在窗口的关闭按钮中看到一个小红点; TextEdit就是一个很好的例子.我仔细研究了Cocoa文档,但我找不到以编程方式设置此状态的方法.我确信有一些非常简单的方法可以做到这一点,但显然我错过了一些东西.
OS X Lion上的Safari 5允许您滚动浏览页面的可见边界,在其下方显示亚麻纹理.这是一个很好的效果,但对于一些网络应用程序 - 特别是那些具有固定位置元素(如侧边栏)的应用程序 - 它可能会分散注意力.有谁知道如何使用CSS或JavaScript禁用效果?这一定是可能的,因为像苹果公司自己的iCloud这样的网站已经这样做了.
我正在使用a QTabWidget
在窗口中渲染多个文档,我想在每个选项卡上绘制一个关闭按钮.我使用的是Vista和Qt4,因此tab小部件是一个原生的Windows控件; 这可能会影响可行性.
有谁知道是否可以使用QTabWidget
控件执行此操作,还是我必须创建自定义窗口小部件?如果创建一个新的小部件是唯一的选择,那么任何指针都将非常受欢迎; 我对Qt比较陌生.
这似乎是一件显而易见的事情,我觉得我错过了某些东西,但你怎么知道同一个字典中的两个不同的键是否具有完全相同的值?例如,如果您的字典中test
包含键a
,b
和c
,以及键a
和b
值都为10,那么您如何计算出来?(关于问题,请假设大量的密钥,比如说100,并且您不知道有多少重复项,如果有多组重复项,或者根本没有重复项).谢谢.
我正在尝试使用NSFontPanel来允许用户更改应用程序范围的字体设置.它应该是这样的:用户点击一个按钮,弹出一个字体面板,他们选择一个字体和一个大小,他们的选择是持久的.
以下代码显示了面板:
- (IBAction)showFontMenu:(id)sender {
NSFontManager *fontManager = [NSFontManager sharedFontManager];
[fontManager setDelegate:self];
NSFontPanel *fontPanel = [fontManager fontPanel:YES];
[fontPanel makeKeyAndOrderFront:sender];
}
Run Code Online (Sandbox Code Playgroud)
文档似乎建议在字体更改时调用changeFont:(id)sender方法; 在我的情况下,这不会发生.
- (void)changeFont:(id)sender {
// blah
}
Run Code Online (Sandbox Code Playgroud)
关于我可能做错的任何想法?
有没有人有任何他们想分享的NSDocument利弊?
特别是:
一旦依赖NSDocument架构,如果需要,难以重构吗?
是否有性能影响?
它会以某种/多种方式限制你吗?
我创建的一些控件似乎默认为旧的Windows 95主题,我该如何防止这种情况?这是一个不保留操作系统原生外观的按钮示例(我使用Vista作为我的开发环境):
HWND button = CreateWindowEx(NULL, L"BUTTON", L"OK", WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
170, 340, 80, 25, hwnd, NULL, GetModuleHandle(NULL), NULL);
Run Code Online (Sandbox Code Playgroud)
我在Windows API中使用本机C++,没有托管代码.
我目前有一个相当强大的服务器端验证系统,但我正在寻找一些反馈,以确保我已涵盖所有角度.以下是我正在做的事情的简要概述:
确保输入不为空或太长
转义查询字符串以防止SQL注入
使用正则表达式来拒绝无效字符(这取决于提交的内容)
编码某些html标记,例如<script>(所有标记在存储在数据库中时都会被编码,有些标记在查询时会被解码以在页面中呈现)
有什么我想念的吗?代码示例或正则表达式欢迎.
我在我的应用程序中添加了一项功能,允许用户将商家的联系方式保存到地址簿中; 但是,为了防止添加多个条目,我想检查该条目是否已经存在.
知道怎么做吗?iPhone开发者文档似乎有点不清楚.我正在使用C api添加联系人.
c++ ×5
objective-c ×4
cocoa ×3
winapi ×3
qt ×2
webkit ×2
addressbook ×1
appearance ×1
c ×1
cocoa-touch ×1
css ×1
dialog ×1
fileparse ×1
gecko ×1
ini ×1
iphone ×1
javascript ×1
nsdocument ×1
nsfontpanel ×1
php ×1
python ×1
qtabwidget ×1
regex ×1
safari ×1
server-side ×1
validation ×1
windows ×1