问题列表 - 第47075页

直接向Windows中的设备发送ATA命令?

我正在尝试将ATA命令发送到Windows中的物理磁盘,并从设备获取响应.

注意:在这种情况下,我想发送IDENTIFY DEVICE(0xEC)命令.设备将响应512字节的数据块.(特别是我对第119行的第0位感兴趣 - 设备TRIM命令支持).

我知道我需要CreateFile用来打开设备:

handle = CreateFile(
    "\\.\PhysicalDrive0", GENERIC_READ, FILE_SHARE_READ, 
    nil,            // no security attributes
    OPEN_EXISTING,
    0,              // flags and attributes
    nil             // no template file
);
Run Code Online (Sandbox Code Playgroud)

但在此之后,我陷入困境,无法做什么.

我想过发送0xEC使用[DeviceIoControl][4]:

// const ATACommand_IdentifyDevice = 0xEC;
uint bytesReturned = 0;

DeviceIoControl(handle, 
    0xEC,               // IO Control Code
    nil,                // input buffer not needed
    0,                  // input buffer is zero bytes
    @buffer,            // output buffer to store …
Run Code Online (Sandbox Code Playgroud)

windows ioctl trim device ata

17
推荐指数
2
解决办法
3万
查看次数

使用BindingSource绑定到嵌套属性 - 或者,使实体可绑定

绑定到嵌套属性很容易:

checkBox1.DataBindings.Add(new Binding("Checked", bindingSource, "myProperty")); //Normal binding
checkBox2.DataBindings.Add(new Binding("Checked", bindingSource, "myProperty.innerProperty")); //Nested property
Run Code Online (Sandbox Code Playgroud)

但是,myProperty.innerProperty更改时,不会引发任何事件 - BindingSource永远不会收到更改通知.

我已经读过,解决方案是"确保当innerProperty对象引发PropertyChanged事件时,MyProperty包含的类innerProperty捕获事件并引发PropertyChanged自己的事件."

但是,实体框架并没有为我做这个,我宁愿不经历每个类的每个实例,并将自定义方法连接到每个导航属性,只是为了使我的类可绑定. 是否有一个体面的解决方法来使实体可绑定?

.net c# data-binding entity-framework winforms

17
推荐指数
1
解决办法
2493
查看次数

无法初始化scala上的类异常(可能是squeryl bug)

我正在使用scala 2.8.1,scalatra 2.0.0.M2,squeryl 2.8.0和scalate 2.0.0以及sbt开发Web应用程序

我遇到了问题,显然是模型或架构类.当我运行我的测试时,我得到一个:

java.lang.NoClassDefFoundError: Could not initialize class org.mycompany.myproject.model.myschema
Run Code Online (Sandbox Code Playgroud)

如果我尝试在sbt的console-quick上运行以下代码,我会收到一个错误:

import org.mycompany.myproject.model.myschema
myschema.mytable
Run Code Online (Sandbox Code Playgroud)

错误:

java.lang.RuntimeException: Could not deduce Option[] type of field 'field1' of class org.mycompany.myproject.model.myotherclass
Run Code Online (Sandbox Code Playgroud)

正如我所料,无论我尝试在该架构上调用什么方法,都会弹出错误.

现在,这是我的架构在该表声明附近的样子:

object myschema extends Schema {
  val myotherclasses = table[myotherclass]
  val otherClassManyToMany = manyToManyRelation(yetanotherclass, mytables).
       via[myotherclass]((e,ssr, sse) => (e.id === sse.leftId, sse.rightId === ssr.id))
...
}
Run Code Online (Sandbox Code Playgroud)

这是我的代码表的样子:

class myotherclass(
  val rightId: Long,
  val field1: Option[Long],
  val field2: Option[Long],
  val foreiginKey: Long,
  val leftId: Long) extends KeyedEntity[CompositeKey2[Long, Long]] {
  def id …
Run Code Online (Sandbox Code Playgroud)

scala sbt squeryl

2
推荐指数
1
解决办法
2185
查看次数

AcceptAllChanges导致实体框架......不接受更改?

我正在使用.NET 3.5 SP1.我有一个简单的脚本删除一些实体.

var people = (from Person p in context.People
              where p.FirstName == "Testy" && 
                    p.LastName == "McTesterson"
              select p).ToList();
people.ForEach(p => context.DeleteObject(p));

//context.AcceptAllChanges();
context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

如果取消注释AcceptAllChanges(),则不会删除对象.如果我保持评论,则删除实体.为什么EF表现得像这样?这似乎适得其反.

c# linq entity-framework

9
推荐指数
1
解决办法
5391
查看次数

为什么我不能用c ++中的new调用参数化构造函数?

如果你知道这个问题,

假设我有一个其CTOR接收整数的A类;

我做不到以下事情:

A* arr = new A[3](A(2), A(3), A(5));
Run Code Online (Sandbox Code Playgroud)

或者任何其他方式来初始化数组的几个成员.我四处看看,这是不可能的.

我的问题是为什么,我为什么要这样做

A arr[3] = {A(1), A(2), A(3)};
Run Code Online (Sandbox Code Playgroud)

但我不能做到以上?记忆方面或其他什么.

非常感谢你!

c++ arrays dynamic-memory-allocation

2
推荐指数
1
解决办法
861
查看次数

WinForms TabControl拖放问题

我有两个TabControls,我已经实现了在两个控件之间拖放tabpages的功能.它可以很好地工作,直到您从其中一个控件拖出最后一个tabpage.控件然后停止接受丢弃,我不能将任何tabpages重新放回该控件.

一个方向的拖放代码如下.反向控制名称的反向相同.

// Source TabControl
private void tabControl1_MouseMove(object sender, MouseEventArgs e)
{
  if (e.Button == MouseButtons.Left) 
    this.tabControl1.DoDragDrop(this.tabControl1.SelectedTab, DragDropEffects.All);
}

//Target TabControl 
private void tabControl2_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
{
  if (e.Data.GetDataPresent(typeof(TabPage))) 
    e.Effect = DragDropEffects.Move;
  else 
    e.Effect = DragDropEffects.None; 
} 

private void tabControl2_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) 
{
  TabPage DropTab = (TabPage)(e.Data.GetData(typeof(TabPage))); 
  if (tabControl2.SelectedTab != DropTab)
    this.tabControl2.TabPages.Add (DropTab); 
}
Run Code Online (Sandbox Code Playgroud)

.net c# tabcontrol winforms

5
推荐指数
1
解决办法
2926
查看次数

Java - 将整数转换为字符串

给出一个数字:

int number = 1234;
Run Code Online (Sandbox Code Playgroud)

这将是将其转换为字符串的"最佳"方式:

String stringNumber = "1234";
Run Code Online (Sandbox Code Playgroud)

我曾尝试搜索(谷歌搜索)一个答案,但没有多少似乎"值得信赖".

java string int numbers

382
推荐指数
5
解决办法
155万
查看次数

以百分比形式显示浮点数而不更改数字的值

是否可以指定string.Format()参数来添加百分比符号而不更改数字的值?

示例:
我们有数字44.36,我们希望在网格中显示并输出到Excel "44.36%".将值除以100然后应用"P"格式不是一种选择.在这种情况下无法更改值,我们只需要通过更改DisplayFormat值来完成.使用string.Format("{0}%", valueParam)也不是一种选择.

.net c# string-formatting

6
推荐指数
1
解决办法
5857
查看次数

是否有一个用于图像变形/图像变形的库,用于具有受控点的python?

您将拍摄图像并标记特定点(例如,标记人眼睛,鼻子,嘴巴周围的区域),然后将它们转换为标记为另一图像的点.就像是:

transform(original_image, marked_points_in_the_original, marked_points_in_the_reference)
Run Code Online (Sandbox Code Playgroud)

我似乎找不到描述它的算法,也找不到任何库.我也愿意自己做,只要我能找到好的/易于遵循的材料.我知道这是可能的,因为我已经看到一些不完整的(不是真的解释怎么做).pdfs谷歌与它.

以下是标记点和转换的示例,因为您要求澄清.虽然我之前说的这个并没有使用2个人.


编辑:我设法使im.transform方法工作,但参数是一个列表((box_x, box_y, box_width, box_height), (x0, y0, x1, y1, x2, y2, x3, y3)),第一个点是NW,第二个SW,第三个NE和第四个SE.据我所知,(0,0)是屏幕最左上角.如果我做的一切都正确,那么这种方法并没有真正做到我需要的.

python image-manipulation image-processing

8
推荐指数
4
解决办法
1万
查看次数

在C++中使用指针的简单代码的行为

假设我们有以下代码:

sphere * a, * b;
a = new sphere(1.0);
b = a;
b->setRadius(2.0);
delete b;
a->setRadius(4.0);
sphere * c = new sphere(5.0);
b = new sphere(3.0);
cout << a->getRadius() << endl;
Run Code Online (Sandbox Code Playgroud)

结果会是什么:

(a) 4.0
(b) 3.0
(c) A segmentation fault.
(d) Compiler error.
(e) The behavior cannot be predicted.
Run Code Online (Sandbox Code Playgroud)

我不认为你需要看球体类,因为它很明显是什么.现在,当我们设置时b=a,这意味着b指向a.然后我们delete b,这意味着我们删除b指向的东西,这意味着a现在不再指向任何东西了.所以,当我们试着说a->setRadius,我们不能.所以我认为那是一个seg fault.我是以正确的方式看待这个吗?

c++ pointers

1
推荐指数
1
解决办法
146
查看次数