-4

私がしばらく使用したこのコードブロックがあります。

定義:

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 で生成されたファイルのスクリーンショット部分

この Delphi コード ブロックは何をしますか? または、同じエンコーディングを取得するにはどうすればよいですか?

//追伸。状況を十分に説明していない場合は、自由にタイトルを編集してください。

4

1 に答える 1