以前当我想创建一个点击式表单时,我很想使用平台调用来设置扩展窗口样式(GetWindowLong/ SetWindowLongin user32.dll).
刚才我想让它对Alt + Tab窗口列表不可见,我发现了一个覆盖CreateParams设置扩展窗口样式而不是使用GetWindowLong/ 的示例SetWindowong.
现在我有这个:
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x80000 /* WS_EX_LAYERED */ | 0x20 /* WS_EX_TRANSPARENT */ | 0x80/* WS_EX_TOOLWINDOW */;
return cp;
}
}
Run Code Online (Sandbox Code Playgroud)
现在明显的变化不需要任何平台调用.
所以我的几个问题:
Control.CreateParams出现在msdn上,并有一个操作窗口样式的例子.那么为什么StackOverflow上的一些在线"示例"和答案会告诉人们使用GetWindowLong/ SetWindowLong?我收到以下JSON响应:
[
{
"startDate": "2012-07-12 11:21:38 +0530",
"totalTime": 0
},
{
"startDate": "2012-07-11 11:27:33 +0530",
"totalTime": 0
},
{
"startDate": "2012-07-16 18:38:37 +0530",
"totalTime": 0
},
{
"startDate": "2012-07-17 14:18:32 +0530",
"totalTime": 0
}
]
Run Code Online (Sandbox Code Playgroud)
我想要生成startDate和totalTime的数组,我已经使用了这两行,但它不会工作,请建议..
$obj = json_decode($dateTimeArr);
$dateAr = $obj->{'startDate'};
Run Code Online (Sandbox Code Playgroud) 我想在指定节点之后添加一个新的子节点,作为第三个子节点。
<ul id="menu">
<li>one</li>
<li>tow</li>
<li>three</li>
<li>four</li>
</ul>
<script>
var li = document.createElement("li");
document.getElementById("menu").appendChild(li);
var sometext = document.createTextNode("third one");
li.appendChild(sometext);
</script>
Run Code Online (Sandbox Code Playgroud) 今天,我的朋友想到了使用生成的伪随机数多次设置伪随机数生成器的种子以"使事情更随机化".
C#中的一个例子:
// Initiate one with a time-based seed
Random rand = new Random(milliseconds_since_unix_epoch());
// Then loop for a_number_of_times...
for (int i = 0; i < a_number_of_times; i++)
{
// ... to initiate with the next random number generated
rand = new Random(rand.Next());
}
// So is `rand` now really random?
assert(rand.Next() is really_random);
Run Code Online (Sandbox Code Playgroud)
但我认为这可能会增加将重复种子用于伪随机数生成器的机会.
请问这个
伪随机数发生器的任何专家都能给出一些详细的解释,以便我可以说服我的朋友吗?我很乐意在一些伪随机数生成器算法中看到解释更详细的答案.
我有UTF-8文件(瑞典语charactersåö字符).我读到这些:
List<MyData> myDataList = new List<MyData>();
string[] allLines = File.ReadAllLines(csvFile[0], Encoding.Default);
foreach (string line in allLines)
{
MyData myData = new MyData();
string[] words = line.Split(";");
myData.ID = words[0];
myData.Name = word[1];
myData.Age = words[2];
myData.Date = words[3];
myData.Score = words[4];
//Do something...
myDataList.Add(myData);
}
StringBuilder sb = new StringBuilder();
foreach (string data in myDataList)
{
sb.AppendLine(string.Format("{0},{1},{2},{3},{4}",
data.ID,
data.Name,
data.Age,
data.Date,
data.Score));
}
File.WriteAllText("output.txt", sb.ToString(), Encoding.ASCII);
Run Code Online (Sandbox Code Playgroud)
我在ansii中获得output.txt文件,但没有使用瑞典语字符.有人可以帮助我知道如何将文件数据从UTF-8保存到Ansii?谢谢.
我想使用find控制方法在设计器上查找图像并使其可见,但我一直得到null
这是我的代码:
foreach (ImageShow image in imageList)
{
Image Showimage = (Image)FindControl(image.imageName);
Showimage.Visible = true;
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激,提前谢谢
我使用以下代码,但它不断给我错误:
TypeError:container("accounts").atPosition("#left-top")未定义
代码是:
function container(name, position) {
return {
pos: null,
atPosition: function(position) {
$(position).html(this.newContainer());
//$(position+" .main").html("yes");
this.pos = position;
},
populateData: function(rdata) {
$("#left-top .main").html(rdata);
},
newContainer: function() {
//alert(this.pos);
return '<h3>' + name.toTitleCase() + '</h3>\
<div class="main">\
</div>';
}
};
}
container('accounts').atPosition('#left-top').populateData("yahoo!!!!");?
Run Code Online (Sandbox Code Playgroud)
为什么我收到此错误,我该如何解决?
我知道我应该使用std::vector或其他替代方案,但有一些我不明白的指针.
当我们创建一个指针数组时:
int* a = new int[100];
Run Code Online (Sandbox Code Playgroud)
它应该分配一个空间100 * sizeof(int),不是吗?
当我们不再需要它时,我们会这样做:
delete [] a;
Run Code Online (Sandbox Code Playgroud)
1.
这是错的:
delete a;
Run Code Online (Sandbox Code Playgroud)
但是,当我实际执行此操作时(偶然在休闲程序中执行此操作),似乎不会触发运行时错误(下面第3部分中的unllike)并且程序正常运行(尽管可能存在内存泄漏).为什么?它是否真的删除(释放)了数组的第一个元素?
2.
根据StackOverflow上的一个问题,delete[]知道它需要删除的数组的大小.
但是当我删除错误的东西时会发生什么?(它导致运行时错误...在它显示的codepad.org上memory clobbered before allocated block以及Debug Assertion FailedVS2010中的内容.)为什么不删除(免费)元素1到99?
delete [] &a[1]; // or
delete [] (a + 1);
Run Code Online (Sandbox Code Playgroud)
3.
以下代码也显示memory clobbered before allocated block.但为什么不删除(免费)元素99?为什么它会导致错误,但delete a就像第1部分中那样?
delete &a[99]; //or
delete (a + 99);
Run Code Online (Sandbox Code Playgroud)
C++标准是否真的说明了上述内容会发生什么?
我有一个程序,它使用stdio来读取和写入二进制文件.它缓存当前流的位置,并且不会寻找读/写偏移是否已经在所需位置.
但是,出现了一个有趣的问题,即当读取一个字节并写入后面的字节时,它实际上并没有被写入!
这是一个重现问题的程序:
#include <cstdio>
int main() {
FILE *f = fopen("test.bin", "wb");
unsigned char d[1024] = { 0 };
fwrite(d, 1, 1024, f);
fclose(f);
f = fopen("test.bin", "rb+");
for (size_t i = 0; i < 1024; i++) {
unsigned char a[1] = { 255 - (unsigned char)(i) };
fflush(f);
fwrite(a, 1, 1, f);
fflush(f);
fseek(f, i, SEEK_SET);
fread(a, 1, 1, f);
printf("%02X ", a[0]);
}
fclose(f);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
你应该看到它写字节FF下来00,但只有第一个字节写入,因为它不遵循fread马上.
如果它以前寻求fwrite …
SELECT * FROM table WHERE column LIKE '%whatever%' AND id='1' OR id='2' OR id='3'
Run Code Online (Sandbox Code Playgroud)
当使用上面的代码时,我回到了三行而不是那一行
column LIKE '%whatever%'
我发现它很奇怪,并且无法理解为什么.
如何重写我的sql代码以使用LIKE来检查具有id ='whatever'的sevral行
我使用MYSQL和MyISAM