Merhaba ben web servis'den dönen değer olarak gelen TByteDynArray türünde bir değeri dosya olarak nasıl kaydedebilirim.
Bir kaç yere baktım şöyle bir kod var ama onda da
BlockWrite(F, pTemp^, Count ); bu satırda hata veriyor.
Hata çıktısı: First chance exception at $77691812. Exception class EInOutError with message 'I/O error 6'. Process EFatura.exe (5544)
procedure TForm2.ByteArrayToFIle( const ByteArray : TByteDynArray;
const FileName : string );
var Count : integer;
F : FIle of Byte;
pTemp : Pointer;
begin
AssignFile( F, FileName );
Rewrite(F);
try
Count := Length( ByteArray );
pTemp := @ByteArray[0];
BlockWrite(F, pTemp^, Count );
finally
CloseFile( F );
end;
end;
var TmpRpt:TMemoryStream; InvImageType:SmallInt; aFileName:String;
pEngine : EngineSoap;//web servisteki nesne
pByte : TByteDynArray;
begin
pEngine := GetEngineSoap(True,sv_StorageApiAddr);
pByte := pEngine.GetFile(sv_StorageToken,sv_StorageProjectNo,DMrm.InvoiceQryRecID.AsInteger);//servisten gelen değeri al
TmpRpt := TMemoryStream.Create;//stream'e kaydet
TmpRpt.Position := 0;
TmpRpt.Write(pByte[0], Length(pByte));
end;
giib bir kod kullanabilirsin.
Teşekkürler hocam çok sağolun
Bende şöyle yaptım
ByteArray:=deger[0].document_content;
tms := TMemoryStream.Create;
tms.Position := 0;
tms.Write(ByteArray[0], Length(ByteArray));
tms.SaveToFile(deger[0].document_id+'.pdf'); //fatura numarasına göre
merhaba,
elimde fatura.zip isminde bir dosya var. Ve fatura entegrator firmaya, web servis aracılığıyla göndereceğim.
zipdosya isminde bir değişken tanımladım.
Var
zipdosya: TByteDynArray
Sorunum Şu:
fatura.zip dosyasını, TByteDynArray tipine nasıl dönüştürebilirim. yardımcı olabilirseniz çok memnun olurum.
servis.CompressedSendInvoice(userInfo, zipdosya);
(14-01-2020, Saat: 21:20)ismailkocacan Adlı Kullanıcıdan Alıntı: [ -> ] (14-01-2020, Saat: 13:32)acemi_programci Adlı Kullanıcıdan Alıntı: [ -> ]merhaba,
elimde fatura.zip isminde bir dosya var. Ve fatura entegrator firmaya, web servis aracılığıyla göndereceğim.
zipdosya isminde bir değişken tanımladım.
Var
zipdosya: TByteDynArray
Sorunum Şu:
fatura.zip dosyasını, TByteDynArray tipine nasıl dönüştürebilirim. yardımcı olabilirseniz çok memnun olurum.
servis.CompressedSendInvoice(userInfo, zipdosya);
Araştırdım ama (TFileStream to TByteDynArray) şeklinde sağlıklı çalışan bir kod bulamadım.
Varsa paylaşabilir misiniz.
(15-01-2020, Saat: 15:37)SimaWB Adlı Kullanıcıdan Alıntı: [ -> ]Aslında @ismailkocacan yolu göstermiş
- FARKLI SORULARI YENİ KONU BAŞLIĞI ALTINDA SORUN
- Dosyayı TFileStream ile açın
- SetLength ile TByteDynArray tipindeki değişkeninizin boyutunu belirleyin
- TFileStream'in ReadBuffer prosedürü ile dosyayı diziye kopyalayın
- FileStream'i Free etmeyi unutmayın

Teşekkür ederim.
dosyanın .zip dosyası olması TFileStream olarak açmaya engel olur mu?