我经常从一个简单的控制台应用程序开始尝试一个想法,然后创建一个新的基于GUI的项目并复制代码.有更好的方法吗?我可以轻松转换现有控制台应用程序吗?
我有一个带有非命名空间元素的XML文档,我想使用XSLT向它们添加命名空间.大多数元素都在命名空间A中; 一些将在命名空间B中.我该怎么做?
在我使用WebForms完成的最后一个项目之后,我决定将来继续使用该框架.这对于获得基本功能非常有用......当你拥有更复杂的UI逻辑时,这并不是那么好.
我正在看ASP.NET MVC,就像我到目前为止看到的那样.当然,问题是当您进行更改时丢失了服务器端控件.我一直在寻找一个Ajax库,它可以很好地替代Web Forms小部件,就像YUI一样.
我没有很多这方面的经验,我想问一个有更多知识的人.哪个Ajax工具包提供最完整的小部件库?是否可以组合两个或更多工具包来互相补充(例如,YUI有一个很好的网格,Scriptaculous有一个很好的日历,让我们使用两全其美)?或者,一旦你选择,你或多或少与一个人联系在一起?
谢谢你的答案和很棒的样品.ExtJS看起来很有趣,我们在Infragistics WebForms套件上花费的不仅仅是这些,而且还没有获得源代码.Flexigrid看起来也很不错.再次感谢!
更新2刚发现MSFT将发布带有ASP.NET MVC的jQuery
我正在开始一个新项目,该项目涉及开发一种机器接口,用于测量镜片的楔形和圆度,并将信息存储在数据库中并进行报告.我们有机会在这台机器上安装触摸屏,这样它就不需要鼠标或键盘......
我没有任何开发全尺寸触摸屏的经验,所以我正在寻找你们的建议/提示/信息......
我可以想象你想让元素比平常更大......空格按钮更多......这样的事情......任何人都有其他东西可以添加?
我被要求进行代码审查并报告在我们的新产品中添加新功能的可行性,这是我迄今尚未亲自处理过的新产品.我知道很容易挑选别人的代码,但我会说它的形状很糟糕(尽量尽可能客观).我的代码审查中的一些亮点:
滥用线程: QueueUserWorkItem和线程一般使用很多,而线程池代表有无信息的名称,如PoolStart和PoolStart2.线程之间也缺乏适当的同步,特别是访问除UI线程之外的线程上的UI对象.
幻数和魔术字符串:代码中定义了一些Const和Enum它们,但是大部分代码都依赖于字面值.
全局变量:许多变量被声明为全局变量,可能会也可能不会被初始化,具体取决于所遵循的代码路径以及发生的顺序.当代码也在线程之间跳转时,这会变得非常混乱.
编译器警告:主解决方案文件包含500多个警告,总数不为我所知.我从Visual Studio收到警告,它无法再显示警告.
半完成的课程:代码已经处理并添加到这里和那里,我认为这导致人们忘记了之前所做的事情,所以有一些看似半完成的类和空的存根.
未在此处发明:该产品复制了其他产品使用的公共库中已存在的功能,例如数据访问助手,错误记录助手和用户界面助手.
关注点分离:当我们阅读有关典型的"UI - >业务层 - >数据访问层"3层架构时,我认为有人正在颠覆这本书.在此代码库中,UI层直接访问数据库,因为业务层部分实现但由于未充分充实而被忽略,并且数据访问层控制UI层.大多数低级数据库和网络方法都在对主窗体的全局引用上运行,并直接显示,隐藏和修改窗体.在实际使用相当薄的业务层的情况下,它也倾向于直接控制UI.大多数这种低级代码也使用MessageBox.Show发生异常时显示错误消息,并且大多数吞下原始异常.这当然使得在尝试重构之前开始编写单元测试来验证程序的功能有点复杂.
我只是在这里表面上看,但我的问题很简单:花时间重构现有的代码库,一次关注一个问题,或者你会考虑从头开始重写整个事情是否更有意义?
编辑:为了澄清一点,我们确实有项目的原始要求,这就是为什么重新开始可能是一个选项.另一种表达我的问题的方法是:代码能否达到维持成本的成本大于倾销和重新开始的成本?
开始在计算机外编程的最佳方法是什么?
我不是指像API这样的手机这样的主流产品.
请假设有C/C++的工作知识
提示说如果我将软件安装到带有空格的目录中:
D共享源系统使用的重建构建工具将无法构建
而且我会
被迫在不同的位置重新安装
但是,我不喜欢C:\驱动器中的随机内容.D,IMO,属于使用PHP和MinGW的程序文件,依此类推.我怎么能在这里得到它?
如果重要,我正在使用Easy D安装程序包.
我在C++中有一个字符串的问题,它有几个西班牙语单词.这意味着我有很多带有重音符号和波浪号的单词.我想替换他们没有重音的同行.示例:我想替换这个词:哈比亚的"había".我尝试直接替换它,但使用字符串类的替换方法,但我无法让它工作.
我正在使用此代码:
for (it= dictionary.begin(); it != dictionary.end(); it++)
{
strMine=(it->first);
found=toReplace.find_first_of(strMine);
while (found!=std::string::npos)
{
strAux=(it->second);
toReplace.erase(found,strMine.length());
toReplace.insert(found,strAux);
found=toReplace.find_first_of(strMine,found+1);
}
}
Run Code Online (Sandbox Code Playgroud)
dictionary这样的地图在哪里(有更多条目):
dictionary.insert ( std::pair<std::string,std::string>("á","a") );
dictionary.insert ( std::pair<std::string,std::string>("é","e") );
dictionary.insert ( std::pair<std::string,std::string>("í","i") );
dictionary.insert ( std::pair<std::string,std::string>("ó","o") );
dictionary.insert ( std::pair<std::string,std::string>("ú","u") );
dictionary.insert ( std::pair<std::string,std::string>("ñ","n") );
Run Code Online (Sandbox Code Playgroud)
和toReplace字符串是:
std::string toReplace="á-é-í-ó-ú-ñ-á-é-í-ó-ú-ñ";
Run Code Online (Sandbox Code Playgroud)
我显然必须遗漏一些东西.我无法弄清楚.有没有我可以使用的图书馆?
谢谢,
我正在为信息技术课程的学生设计网络服务课程.一些学生在获得两年的副学士学位后停止学习,但该计划的其他学生继续攻读四年制学士学位.本课程适用于升读四年制学位课程的学生.
我对该课程的初步想法是它将覆盖:
我们的学期为16周.是否还有其他主题而不是列出的主题?如果你有机会设计这样的课程,那么最实用的内容是什么?
编辑:根据初始回复,显然我的问题的标题是误导性的.它应该是Web编程而不是Web服务.参加此课程的学生将至少参加一门编程课程.学生们都将学习Python课程.他们采用的Python课程包括编写一个使用CSS生成HTML的XML解析器.本课程还将介绍HTML,CSS和JavaScript.还将使用XML(使用PHP解析XML,并可能使用将XML转换为PHP代码).一些学生也将参加Java的入门课程,但该课程不会涉及JSP.
我正在编写一个程序,用于SetWindowRgn在属于另一个进程的窗口中创建透明孔.(仅当用户明确请求时才会这样做.)
程序必须假设目标窗口可能已经有需要保留的漏洞,因此在调用之前SetWindowRgn,它会调用GetWindowRgn获取当前区域,然后将当前区域与新区域组合并调用SetWindowRgn:
HRGN rgnOld = CreateRectRgn ( 0, 0, 0, 0 );
int regionType = GetWindowRgn ( hwnd, rgnOld );
Run Code Online (Sandbox Code Playgroud)
这在XP中运行良好,但GetWindowRgn在Vista中调用失败.我试过关掉航空和提升我的线程的特权SE_DEBUG_NAME与AdjustTokenPrivileges,但也有帮助.
GetLastError()似乎没有返回GetWindowRgn的有效值 - 它在一台机器上返回0,在另一台机器上返回5(拒绝访问).
谁能告诉我我做错了什么或建议采用不同的方法?
.net ×1
ajax ×1
asp.net-mvc ×1
c ×1
c++ ×1
console ×1
d ×1
device ×1
embedded ×1
installation ×1
interface ×1
jquery ×1
namespaces ×1
php ×1
refactoring ×1
str-replace ×1
string ×1
text ×1
touchscreen ×1
web-services ×1
winapi ×1
windows ×1
winforms ×1
xml ×1
xslt ×1
yui ×1