由于我在任何地方都没有看到任何内容,并没有指出原有的Microsoft文档,或者源代码似乎没有回答我的问题,我想我可能会问一些这里的事情.(Delphi标签就在那里,因为这就是我的开发环境对我正在制作的代码的影响)
也就是说,我有一些问题,API文件没有回答.第一个:fdi_notify消息.什么是"我的责任"是编码这些:fdintCABINET_INFO: fdintPARTIAL_FILE: fdintNEXT_CABINET: fdintENUMERATE:?我将通过一个例子说明我的意思.因为fdintCLOSE_FILE_INFO,"我的责任"是关闭与给定的句柄相关的文件,并根据fdi_notify中传递的数据设置文件的日期和时间.
我想我错过了什么,因为我的代码没有处理提取跨越的CAB文件......有关如何做到这一点的任何想法?
我正在遇到一个奇怪的情况,PHP执行SQL查询,也许有人可以透露一点:
我有一个查询说:
"SELECT COLUMN_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = $table
AND COLUMN_NAME = $column"
Run Code Online (Sandbox Code Playgroud)
查询应该返回一个字符串:enum('A','B'[,'C'...])当执行时(就像从命令行运行查询时那样.$table并且$column传递给创建查询的函数,并且在我的测试用例中是正确的 - 分别作为表和列存在.)在这种情况下,让我们设置$table = 'profile'和$column = 'gender'上面的SQL语句返回以下错误:
Unknown column 'profile' in 'where clause' in /registry/mysqldb.class.php on line 31
Run Code Online (Sandbox Code Playgroud)
第31行是一个缓存函数,用于在查询失败之前缓存查询,或在查询失败时触发错误.在其他所有情况下都可以正常工作.在发出请求时,我已连接到正确的数据库.
我的问题是:为什么'profile'被解释为一列并导致错误?
有人能告诉我如何做一个MySQL查询,选择所有具有id的行!= 1?
请举个例子.
我有一个返回几行的查询,我有以下几行代码来检索它们:
$result_set = mysql_query($query);
while($net_biz_sub_data[]=
mysql_fetch_array($result_set,MYSQL_ASSOC));
Run Code Online (Sandbox Code Playgroud)
我的问题是,在没有将最后一个数组清空的情况下,检索该数据库查询数据的正确方法是什么?当我count()总是num行+ 1,我想纠正它.
我试图使用Switch语句作为菜单界面,我想知道如何包含一个"帮助"选项,由用户输入'?'触发 符号.
但由于Switch正在接受'char'类型,我不确定这是怎么回事.
你能指点我正确的方向吗?
这是我到目前为止的非编译代码:
private char readChoice()
{ System.out.print("Choice (a/b/c/s/?/x): ");
return In.nextLine().toLowerCase().charAt(0); }
private void execute(char choice)
{ switch (choice)
{ case 'a': routes.show(); break;
case 'b': customers.book(routes); break;
case 'c': customers.show(); break;
case 's': routes.showSchedule(); break;
case '\?': showHelp(); break;
case 'x': break; }}
private String showHelp()
{ String helpText = " A/a Show bookings by route\n";
helpText += " B/b Book a trip\n";
helpText += " C/c Show bookings by customer\n";
helpText += " ? Show …Run Code Online (Sandbox Code Playgroud) 我收到一个错误:
[DCC错误] Test.pas(10):E2291缺少接口方法ICoTest64.MyFunc的实现
以下是TLB文件的片段.
// *********************************************************************//
// Interface: ICoTest64
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {76CF78FE-22A3-4C0B-B1A9-97634A453AE3}
// *********************************************************************//
ICoTest64 = interface(IDispatch)
['{76CF78FE-22A3-4C0B-B1A9-97634A453AE3}']
function MyFunc(const Range: System.OleVariant): System.OleVariant; safecall;
end;
Run Code Online (Sandbox Code Playgroud)
这是实施
unit Test;
interface
uses
SysUtils, ComObj, ComServ, ActiveX, Variants, Office2000, Excel2000,
adxAddIn, Test64_TLB,
System.Classes, adxHostAppEvents, Dialogs, StdVcl;
type
TCoTest64 = class(TadxAddin, ICoTest64)
protected
function MyFunc(var Range: System.OleVariant): System.OleVariant; safecall;
end;
implementation
function TCoTest64.MyFunc(var Range: System.OleVariant): System.OleVariant;
begin
Result:= 10;
end;
end.
Run Code Online (Sandbox Code Playgroud)
据我所知 implementation = interface
我正在使用Delphi XE2
怎么了?
在大多数情况下,这两个SQL语句中的哪一个会花费更少的时间?
1)
SELECT table_a.foo,
table_b.zoo
FROM table_a,
table_b
WHERE table_a.id = table_b.id
AND table_b.bar = 'something'
Run Code Online (Sandbox Code Playgroud)
2)
SELECT table_a.foo,
tableb.zoo
FROM table_a,
(SELECT *
FROM table_b
WHERE bar = 'something') AS tableb
WHERE table_a.id = tableb.id
Run Code Online (Sandbox Code Playgroud)
或者他们是一样的吗?
似乎(2)会更快......
我有程序在TForm上显示/隐藏一个元素,如:
procedure ShowHideControl(const ParentForm: TForm; const ControlName: String; ShowControl: Boolean);
var
i: Integer;
begin
for i := 0 to pred(ParentForm.ComponentCount) do
begin
if (ParentForm.Components[i].Name = ControlName) then
begin
if ShowControl then
TControl(ParentForm.Components[i]).Show
else
TControl(ParentForm.Components[i]).Hide;
Break;
end;
end;
end;
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用它像:
procedure TForm1.Button6Click(Sender: TObject);
begin
ShowHideEveryControl(TForm(TForm1), 'Button4', True);
end;
Run Code Online (Sandbox Code Playgroud)
为什么我在Button6点击时会出现访问冲突?
对我来说一切都很好...... Button4作为一个孩子存在:)
使用dll需要注册dll吗?我听说16位dll不需要注册,那么32位dll呢?我将使用borland c++ 4.52开发的16位dll转换为使用borland c++ 5.02开发的32位dll。我的问题是我是否需要注册?当我尝试使用 regsvr32 注册时,出现错误“模块已加载,但未找到入口点 DllRegistryServer。请确保它是有效的 Dll 或 OCX,然后重试”。
提前致谢...
我需要使用7个不同的RadioButtons动态创建一个TRadioGroup.
RadioButtons如下:
Screws 12mm
Canned Peaches 250g
Refil Blue Pen
Tomatoes
Spaghetti
Twin Flex 5m
Clear glue 250ml
这是我认为它必须看起来的样子:
rgpOptions := TRadioGroup.Create(frmSale);
rgpOptions.Parent := frmSale;
rgpOptions.Left := 30;
rgpOptions.Top := 100;
rgpOptions.Width := 300;
rgpOptions.Height := 140;
rgpOptions.Visible := True;
rgpOptions.Items.Add := (
1 := 'Screws 12mm';
2 := 'Canned Peaches 250g';
3 := 'Refil Blue Pen';
4 := 'Tomatoes';
5 := 'Spaghetti';
6 := 'Twin Flex 5mm';
7 := 'Clear Glue';
);
Run Code Online (Sandbox Code Playgroud)
(顺便说一句,我知道它不能编译,这就是我要问的原因)