我有下一个代码:
type TRecord1 = record
myarr: array [0..31] of single:
end;
type TRecord2 = record
b1, b2, b3, b4, b5, b6: byte;
end;
type TRecord3 = record
myarr: array [0..31] of single:
b1, b2, b3, b4, b5, b6: byte;
end;
procedure TForm1.FormCreate(Sender: Tobject);
begin
ShowMessage(IntToStr(SizeOf(TRecord1))+'+'+IntToStr(SizeOf(TRecord2))+
'='+IntToStr(SizeOf(TRecord3)));
end;
Run Code Online (Sandbox Code Playgroud)
该程序显示以下消息:
128+6=136
Run Code Online (Sandbox Code Playgroud)
为什么SizeOf(TRecord3)等于136而不是134?
我在我的项目中使用DotNetZip.
using (var zip = new ZipFile())
{
zip.ProvisionalAlternateEncoding = System.Text.Encoding.GetEncoding(866);
zip.AddFile(filename, "directory\\in\\archive");
zip.Save("archive.zip");
}
Run Code Online (Sandbox Code Playgroud)
一切都好,但是当我使用方法AddDirectoryByName我有一个错误的目录名称.
如何列出计算机上安装的所有程序?我已经尝试使用MsiEnumProducts和MsiGetProductInfo函数,但它们没有返回已安装的应用程序的完整列表,就像我在"添加/删除程序"中看到的那样.
我正在使用DotNetZip.当我归档通常具有英文名称的文件时.但是当我在结果档案中存档带有俄文名称的文件时,文件名称不正确.有人说字符串
ZipConstants.DefaultCodePage = 866;
Run Code Online (Sandbox Code Playgroud)
但它没有编译.我还使用zip.UseUnicodeAsNecessary属性,并将我的文件名转换为utf8和utf7.
我正在复制两个数据库(SQL Server 2000和PostgreSQL).我使用http://blog.hagander.net/archives/103-Replicating-from-MS-SQL-Server-to-PostgreSQL.html.然后我做最后一步了
ERROR: operator does not exist: character = integer; Error executing the query
Run Code Online (Sandbox Code Playgroud)
出现了.我使用PostgreSQL 8.4.6和ODBC驱动程序(所有psqlodbc_08_04_0100.zip,psqlodbc_08_04_0200.zip)从这里我也尝试删除并安装Synaptic称为9.0.2-1的版本并更新我尝试的odbc驱动程序(psqlodbc_09_00_0100.zip ,psqlodbc_09_00_0101.zip,psqlodbc_09_00_0200.zip)它也会返回该错误.从delphi启动的查询,我只使用系统DSN正常运行
我有下一个代码:
type THead = packed record
znmpc: byte;
znmpcch: array [0..1] of char;
znc, zneispr, zkpd, zkps, nd: byte;
zb9, zb10, zb11, zb12, zb13, zb14, zb15: byte;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
db: ^THead;
a: array [0..9] of byte;
begin
a[7] := 9;
db := @a;
ShowMessage(IntToStr(db.nd));
end;
Run Code Online (Sandbox Code Playgroud)
这段代码安全吗?我担心接下来的事情:结构的大小超过缓冲区的大小,我担心它.nd之后struct的成员值对我没有意义.我想知道这段代码在某些情况下是否可以抛出异常,如果是这样的话?
我用TextBox创建表单.文本框具有ReadOnly true属性.当我在文本框中添加文本时.选中文本框内的所有文本.我怎么能摆脱那个.我试图改变SelectionLength,SelectionStart,SelectedText属性的值,但这没有帮助.我使用VC#2008 express.
嗨我做简单的界面添加作者姓名的消息.它有两个字段,其中名称为second,带有消息.我的函数сheksform.is_valid()如果该元素被添加到数据库中,那么我将使用错误形式呈现模板并且消息"此字段是必需的".appearead.很少有代码行导致这个结果很酷.但是我的用户不会说英语,他们不理解"这个字段是必需的".信息.如何更改此消息继续使用form.as_table?
我使用SQL Server 2005.我有一个表格,其中FK:两列(book number, bookshelf number).PK = FK + Datetime列.而且我还有价值栏.我想创建查询,按如下方式对数据进行排序.
我有这个数据集:
BookNumber BookshelfNumber DateTime Value
0 0 12.01.2012 14:40:42 4
0 0 12.01.2012 14:45:42 5
0 0 12.01.2012 14:48:42 9
0 1 12.01.2012 14:38:42 1
0 1 12.01.2012 14:42:42 4
0 1 12.01.2012 14:48:42 1
1 1 12.01.2012 14:38:42 5
1 1 12.01.2012 14:48:42 7
1 1 12.01.2012 14:58:42 4
Run Code Online (Sandbox Code Playgroud)
查询后我想要这个结果:
BookNumber BookshelfNumber DateTime Value
0 0 12.01.2012 14:40:42 4
0 1 12.01.2012 14:38:42 1
1 1 …Run Code Online (Sandbox Code Playgroud) .net ×4
c# ×3
delphi ×2
dotnetzip ×2
c++-cli ×1
django-forms ×1
postgresql ×1
sizeof ×1
sorting ×1
textbox ×1
visual-c++ ×1
winapi ×1
windows ×1