Delphi 電子發票開發

業務上的需求要開發電子發票的模組,前同事給了Delphi 6的範例程式,經過了一番修改後,終於在 Delphi XE3能正確使用了。
6337-1

主要的問題如下:

1) Char改 AnsiChar

2) PChar改 PAnsiChar

3) String 改 AnsiString

4) XE3 Length取長度時,也需要先以AnsiString才會正確。
主要加密元件宣告

[pascal]
procedure QRCodeINV(a_InvoiceNumber: AnsiString;
a_InvoiceDate: AnsiString;
a_InvoiceTime: AnsiString;
a_RandomNumber: AnsiString;
af_SalesAmount: Double;
af_TaxAmount: Double;
af_TotalAmount: Double;
a_BuyerIdentifier: AnsiString;
a_RepresentIdentifier: AnsiString;
a_SellerIdentifier: AnsiString;
a_BusinessIdenti: AnsiString;
a_AESKey: AnsiString;
a_output: pAnsiChar;
var ai_errorCode : Integer) STDCALL; external ‘QRDLL.DLL’;

[/pascal]

附上電子發票開發需要文件:

二代電子發票加解密API文件下載

Delphi下載網路圖片且顯示Image

把網路上的圖片顯示在Image如何做到?

[pascal]
var
MS: TMemoryStream;
JPEG: TJPEGImage;
Url: String;
I: Integer;
begin
ProgressBar1.Visible := True;
MS := TMemoryStream.Create;
try
JPEG := TJPEGImage.Create;
try
Url := edit1.text;
MS.Clear;
try
IdHTTP1.Get(Url, MS);
except
end;
MS.Position := 0;
JPEG.LoadFromStream(MS);
Image1.Picture.Assign(JPEG);
Application.ProcessMessages;
finally
JPEG.Free;
end;
finally
MS.Free;
end;
end;
[/pascal]