我使用了一段时间的代码块。
说明:
type TItem = record
Code : string[255];
Description : string[255];
Warning : string[255];
Fold : integer; //position where clamp to fold, 0 = flat, about 170 when needs to be folded
PrintStrength : integer; //put 0 if default to machine parameters, normally about 56
PrintSpeed : integer; //put 0 if default to machine parameters, normally about 130
end;
var
Item : TItem;
LabelBitmap : TBitmap;
代码块:
procedure DosyaYazdir(filename : string; Bitmap : Tbitmap);
var FileStream : TFileStream;
siz: int64;
begin
try
FileStream := TFileStream.Create(filename, fmCreate);
siz := SizeOf(Item);
FileStream.Write(siz,SizeOf(siz));
FileStream.Write(Item,siz);
//Bitmap.SaveToStream(FileStream);
form1.image2.picture.bitmap.SaveToStream(filestream);
form1.Memo1.Lines.SaveToStream(FileStream,TEncoding.Unicode);
FileStream.free;
except
Application.MessageBox('Wrong file name','Kayıt Hatası :',MB_ICONERROR);
end;
form1.memo1.lines.clear;
end;
我这样称呼:(我对LabelBitmap没有做任何事情)
dosya:='C:\Custom_Etiket.itm';
DosyaYazdir(dosya,LabelBitmap);
将给定字符串(form1.memo1.Lines
)保存到具有给定名称的文件中。
这是我在互联网上发现的现成品,现在不幸的是我想将我的软件改为C#。
由于这是现成的,我真的不知道这段代码是做什么的。因为当我尝试使用C#时,我无法获得相同的输出(使用相同的编码或任何编码)
以下是它生成的文件的示例截图:(您可以看到NUL之间的文本,但它有某种编码)
这个Delphi Code块有什么作用?或者我该怎么做才能获得相同的编码?
// PS。如果没有足够好地描述情况,请随意编辑标题。
答案 0 :(得分:0)
这个Delphi代码块做了什么?
Delphi代码执行以下操作:
Item
的二进制表示写入文件。我们不知道Item
是什么。 这是一个设计糟糕的文件。你真的应该使用JSON或XML或YAML,或者确实使用这种数据的任何结构化格式。