我写了一个简单的程序,在DOS模式下运行.一切都在Win XP/Vista/Seven中的模拟控制台下运行,但不在DOS中.错误说:this program caonnot be run in DOS mode.我想知道编译器标志或更大的问题.
对于编程,我使用Code :: Blocks v 8.02进行编译设置:
-Wall -W -pedantic -pedantic-errors
在Project\Build options\Compiler settings中
我尝试了一个干净的DOS模式,从CD启动,并在虚拟机中设置DOS.出现相同的错误.
我应该打开更多的编译器标志吗?一些特定的386/486优化?
UPDATE
好的,我已经下载,安装和配置了DJGPP.甚至解决了libs和包含的一些问题.还有两个问题.
1)我无法编译代码,调用,_strdate并且_strtime我已经仔细检查了包含,正如MSDN所说它需要time.h,但仍然错误说:_strdate was not declared in this scope我甚至尝试添加std :: _ strdate,但后来我有4,不是2个错误同样的
2)第二个代码是关于gotoxy,它看起来像:
#include <windows.h>
void gotoxy(int x, int y)
{
COORD position;
position.X = x; position.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), position);
}
Run Code Online (Sandbox Code Playgroud)
错误说没有windows.h,所以我把它放到位,但是有更多的错误说windows.h中缺少一些错误,我支持它不起作用因为这个函数严格用于windows吗?有没有办法gotoxy为DOS 写类似的?
UPDATE2
1)解决使用time();而不是 …
我需要一些简单的SQL代码帮助:
DECLARE @procExists int
SET @procExists = (SELECT COUNT(*) FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = 'dbo' AND ROUTINE_NAME = 'Table_Exists' AND ROUTINE_TYPE = 'PROCEDURE')
IF NOT @procExists > 0
BEGIN
-- test query
-- SELECT 'Something' = @procExists;
-- error throwing code
-- CREATE PROCEDURE Table_Exists
-- @schemaName varchar(50),
-- @tableName varchar(50)
-- AS
-- RETURN (SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = @schemaName AND TABLE_NAME = @tableName)
END
Run Code Online (Sandbox Code Playgroud)
上面的简单代码:
- 声明一个int变量
- 检查过程dbo.Table_Exists是否存在
- 如果不存在则创建它
我的问题是这个错误信息:
Msg 156, Level 15, …Run Code Online (Sandbox Code Playgroud) 我有一个简单的类货币与重载运算符<<.我不知道如何将数字与空格每3位数分开,所以看起来像是:"1 234 567 ISK".
#include <cstdlib>
#include <iostream>
using namespace std;
class Currency
{
int val;
char curr[4];
public:
Currency(int _val, const char * _curr)
{
val = _val;
strcpy(curr, _curr);
}
friend ostream & operator<< (ostream & out, const Currency & c);
};
ostream & operator<< (ostream & out, const Currency & c)
{
out << c.val<< " " << c.curr;
return out;
}
int main(int argc, char *argv[])
{
Currency c(2354123, "ISK");
cout << c;
}
Run Code Online (Sandbox Code Playgroud)
我感兴趣的是某种最简单的解决方案.
// tmpClientList is List<Client> type
if (txtboxClientName.Text != "")
foreach (Client cli in tmpClientList)
if (cli.Name != txtboxClientName.Text)
tmpClientList.Remove(cli);
Run Code Online (Sandbox Code Playgroud)
错误:"集合已被修改;枚举操作可能无法执行."
如何以一种简单的方式从列表中删除项目,而不保存这些项目在另一个列表或数组中的索引,并在代码中的其他位置删除它们.尝试了RemoveAt(索引)但它完全相同的情况,修改循环运行时.
**帖子已编辑,更多信息如下
我刚刚观看了两个关于高级Dotnet调试的精彩视频(Brian Rasmussen),我正在尝试重复一些步骤,但只是不知道如何处理tis错误:
An attempt to set a processes DebugPort or ExceptionPort was made,
but a port already exists in the process.
Run Code Online (Sandbox Code Playgroud)
我在谷歌上找到了一些答案,我一般都明白错误说的是什么,但我只是不明白一个奇怪的事实:当我编译我的简单应用程序<.NET 4.0时,我可以附加电影显示,试图做在编译目标后,相同的.NET 4.0禁止我附加.
谷歌的一个答案说"尝试使用非侵入模式从windbg附加",但是......布莱恩不使用任何这样的复选框.它只适用于他的视频.
有什么不同?捕获量在哪里?是Windows 7还是Vista?也许一些不同的编译设置很重要
我正在使用带有MS SDK的MS VS 2k10和从msdn下载的Windbg x86以及正确配置到http服务器的符号.该系统是MS Vista x86.
资源(确切时间> = 8:15):http: //channel9.msdn.com/posts/MDCC-TechTalk-Advanced-NET-Debugging-part-2
编辑: 附加到从VS运行的进程时出现错误.试图附加到运行/外部VS的进程,windbg不显示任何内容.
Edit2: Windbg在我的系统中有一些令人耳目一新的问题.使用几次"Windows\[Undock | Dock all]"菜单选项,我能够看到附加过程的内容,这是缺失的.
所以现在唯一的问题是:从VS开始连接到流程时有什么不同,当它使用目标<4.0并再次= 4.0编译时?为什么当目标4.0 windbg无法以非"非侵入"模式附加到进程时.VS 2k10有什么变化?
我正在写一个小的"测验计划".它看起来类似于:
#include <cstdlib>
#include <iostream>
#include <time.h>
using namespace std;
using std::cout;
class cQuestion
{
private:
static short goodAnswers[20][2];
public:
static void checkAnswer(int questNumber)
{
/* checking input, checking if answer is bad or good */
/* putting the answer to cQuiz::answArr */
};
static void question1(void) { cout << "this is question 1"; };
static void question2(void) { cout << "this is question 2"; };
static void question3(void) { cout << "this is question 3"; };
static void question4(void) …Run Code Online (Sandbox Code Playgroud) 我有一个问题,静态将dll文件链接到项目中.我正在使用Builder C++ 6.
I've unchecked:
Project \ Options \ Packages -> Build with runtime packages
Project \ Options \ Linker -> Use dynamic RTL
Project \ Options \ CodeGuard -> CodeGuard Validation
I've also added dll files using Project Manager:
myProject \ Add -> myFile.dll
Run Code Online (Sandbox Code Playgroud)
当然,我在所有更改后重建项目,它仍然在运行时请求一些dll文件.我省略了什么?
这些是我使用 RichFaces 和 Maven 的第一步。使用 Eclipse/Maven 生成项目模板后,我一直坚持错误。对于解决此错误的任何帮助,我将不胜感激:
无法从http://repo1.maven.org/maven2传输 xpp3:xpp3_min:pom:1.1.4c已缓存在本地存储库中,直到Central 的更新间隔已过或强制更新,才会重新尝试解析。
原始错误:无法将工件 xpp3:xpp3_min:pom:1.1.4c from/to central (http://repo1.maven.org/maven2):操作被取消。pom.xml /RFproj1 line 1 Maven 配置问题
我将 Eclipse 3.7 与 Maven 3.0.3 一起使用。项目名称是 RFproj1,我将其生成为:[Eclipse] File-> New -> Other -> Maven -> Maven 项目等。我还粘贴了 pom.xml 的开头,其中错误图标粘在该行上1.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ksz</groupId>
<artifactId>RFproj1</artifactId>
<name>RichFaces 4 Application</name>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<url>http://jboss.org/richfaces</url>
Run Code Online (Sandbox Code Playgroud)
是本地存储库的问题吗?我应该以某种方式清洁它吗?或者我应该强制执行任何更新?
从'php.net'尝试过的例子,但不明白是什么问题.有什么建议?
<?php
$_SESSION['test'] = array('a' => '1', 'b' => '2');
foreach ($_SESSION['test'] as $key => $val)
echo "key: " . $key . " val: " . $val . "\n";
// Parse error
array_push($_SESSION['test']['c'] => '3');
// Parse error
$_SESSION['test'][] = ('c' => '3');
foreach ($_SESSION['test'] as $key => $val)
echo "key: " . $key . " val: " . $val . "\n";
?>
Run Code Online (Sandbox Code Playgroud) 我有一个连接MySQL DB的HTML/CSS/PHP简单页面.
加载"index.php"并显示"mainPage :: showSectionLogin($ _ SESSION ['login'])"
<?php session_start(); ?>
<?php require_once 'clMainPage.php'; ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<?php mainPage::setSectionHEAD() ?>
<LINK rel="stylesheet" type="text/css" href="style.css">
</HEAD>
<BODY>
<DIV id="sidebar">
<?php mainPage::showSectionLogin($_SESSION['login']) ?>
<?php mainPage::showSidebarMenu($_SESSION['login']) ?>
</DIV>
<DIV id="main">
<?php mainPage::showActualNews(5) ?>
</DIV>
</BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)
填写日志表单后执行"login.php"
<?php session_start(); ?>
<?php require_once 'clMainPage.php'; ?>
<?php
if($_SERVER["REQUEST_METHOD"] == "POST") {
$dblink = mainPage::openDBconn();
$result = mainPage::checkIfUserCanLogIn($dblink, $_POST['inpLogin'], $_POST['inpPassw']);
if (mysql_num_rows($result) == 1) {
$row = mysql_fetch_array($result);
mainPage::logUserIn($row['login'], $row['passw']); …Run Code Online (Sandbox Code Playgroud) 只需要设置lbl.caption(在循环内)但问题比我想象的要大.我甚至尝试过使用绳索矢量,但是没有这样的东西.我已经阅读了一些页面,尝试了一些功能,如WideString(),UnicodeString(),我知道我不能也不应该在C++ Builder 2010中关闭Unicode.
std::vector <std::string> myStringVec(20, "");
myStringVec.at(0) = "SomeText";
std::string s = "something";
// this works ..
Form2->lblTxtPytanie1->Caption = "someSimpleText";
// both lines gives the same err
Form2->lblTxtPytanie1->Caption = myStringVec.at(0);
Form2->lblTxtPytanie1->Caption = s;
Run Code Online (Sandbox Code Playgroud)
错误:[BCC32错误] myFile.cpp(129):E2034无法将'std :: string'转换为'UnicodeString'
它现在吃了几个小时.有没有"快速和肮脏"的解决方案?它必须工作......
UPDATE
解决了.我混合了STL/VCL字符串类.谢谢TommyA.
我正在编写一个WWW应用程序,它必须在IE下运行.我有在FF下运行的代码的问题,但我不能让它在IE下运行.
// JS代码
function test()
{
if (window.event.keyCode == 13)
window.location.assign("myPage.php");
}
Run Code Online (Sandbox Code Playgroud)
我在window.location和location.href周围尝试了一些类似的方法,也是document.location.我已经读过IE有问题,所以我要求一个解决方案.
目标是,在输入一些文本后重新加载该页面<input type='text' name='item_code' onKeyDown='test()'>,然后单击Enter.因此结果类似于在文本输入下方按提交类型按钮.
在IE中,它重新加载相同的页面,没有任何反应.在FF它正确工作.
更新1:
由bobince给出的尝试解决方案.
<input type='text' name='item_code'>
<script type='text/javascript' >
document.getElementsByName('item_code')[0].onkeydown = function(event)
{
if (event == undefined) { event = window.event; }
if (event.keyCode == 13) { window.location = 'myPage.php'; }
alert('1');
}
</script>";
Run Code Online (Sandbox Code Playgroud)
问题是,如果有alert('1');行,页面显示警报和重定向,如果没有alert('1');行,页面只是重新加载到自身.我不知道这里有什么问题?
更新2:
我正在粘贴最终适合我的东西.
<form action='mainPage.php' method='POST'>
<input type='text' name='item_code'>
</form>
<script type='text/javascript' >
document.getElementsByName('item_code')[0].onkeydown= function(event)
{
if (event == undefined)
{
event = …Run Code Online (Sandbox Code Playgroud) 如何以区分大小写的方式反序列化字符串?看起来序列化是区分大小写的,反序列化的重点是不区分大小写?

更新:尝试本地化底层的地方和内容,我已经设置了DEBUGGER来下载符号并进入FCL .NET代码.我已经卡在这些代码附近(DbConnectionOptions.cs第873-921行):
private static NameValuePair ParseInternal(Hashtable parsetable, string connectionString, bool buildChain, Hashtable synonyms, bool firstKey) {
Debug.Assert(null != connectionString, "null connectionstring");
StringBuilder buffer = new StringBuilder();
NameValuePair localKeychain = null, keychain = null;
int nextStartPosition = 0;
int endPosition = connectionString.Length;
while (nextStartPosition < endPosition) {
int startPosition = nextStartPosition;
string keyname, keyvalue;
nextStartPosition = GetKeyValuePair(connectionString, startPosition, buffer, firstKey, out keyname, out keyvalue);
if (ADP.IsEmpty(keyname)) {
// if (nextStartPosition != endPosition) { throw; }
break;
}
string realkeyname …Run Code Online (Sandbox Code Playgroud)