Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
TByteDynArray'den Dosya Oluşturma
#1
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;
Bizde bilirdik firavunun yanında olmayı, musa'nın haklı olduğunu bilmeseydik
Cevapla
#2
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.
İmam Süleyman Yakub <--> Molla Mustafa Mansur
Evlatlarım!
Cismanımız TÜRK ruhumuz ise İSLAM.
Bu yolda daim olalım her an.
Cevapla
#3
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 
Bizde bilirdik firavunun yanında olmayı, musa'nın haklı olduğunu bilmeseydik
Cevapla
#4
@enes6635 eyvallah eline sağlık.
İmam Süleyman Yakub <--> Molla Mustafa Mansur
Evlatlarım!
Cismanımız TÜRK ruhumuz ise İSLAM.
Bu yolda daim olalım her an.
Cevapla
#5
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);
Cevapla
#6
(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);
WWW
Cevapla
#7
(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.
Cevapla
#8
Aslında @ismailkocacan yolu göstermiş

  1. FARKLI SORULARI YENİ KONU BAŞLIĞI ALTINDA SORUN Exclamation
  2. Dosyayı TFileStream ile açın
  3. SetLength ile TByteDynArray tipindeki değişkeninizin boyutunu belirleyin
  4. TFileStream'in ReadBuffer prosedürü ile dosyayı diziye kopyalayın
  5. FileStream'i Free etmeyi unutmayın Smile
There's no place like 127.0.0.1
WWW
Cevapla
#9
(15-01-2020, Saat: 15:37)SimaWB Adlı Kullanıcıdan Alıntı: Aslında @ismailkocacan yolu göstermiş

  1. FARKLI SORULARI YENİ KONU BAŞLIĞI ALTINDA SORUN Exclamation
  2. Dosyayı TFileStream ile açın
  3. SetLength ile TByteDynArray tipindeki değişkeninizin boyutunu belirleyin
  4. TFileStream'in ReadBuffer prosedürü ile dosyayı diziye kopyalayın
  5. FileStream'i Free etmeyi unutmayın Smile


Teşekkür ederim. 

dosyanın .zip dosyası olması TFileStream olarak açmaya engel olur mu?
Cevapla
#10
(15-01-2020, Saat: 17:01)acemi_programci Adlı Kullanıcıdan Alıntı:
(15-01-2020, Saat: 15:37)SimaWB Adlı Kullanıcıdan Alıntı: Aslında @ismailkocacan yolu göstermiş

  1. FARKLI SORULARI YENİ KONU BAŞLIĞI ALTINDA SORUN Exclamation
  2. Dosyayı TFileStream ile açın
  3. SetLength ile TByteDynArray tipindeki değişkeninizin boyutunu belirleyin
  4. TFileStream'in ReadBuffer prosedürü ile dosyayı diziye kopyalayın
  5. FileStream'i Free etmeyi unutmayın Smile


Teşekkür ederim. 

dosyanın .zip dosyası olması TFileStream olarak açmaya engel olur mu?

Deneyin  Blush
There's no place like 127.0.0.1
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Fastreport İçindekiler Sayfası Oluşturma [ÇÖZÜLDÜ] bydelphi 1 181 18-03-2024, Saat: 12:11
Son Yorum: bydelphi
Lightbulb Delphi 7zip Password lü Dosya Sıkıştırma ve Açma + Bonus RAR5 Desteği frmman 6 262 16-03-2024, Saat: 17:55
Son Yorum: delphi.developer
  Dosya isimlendirme bydelphi 6 481 16-01-2024, Saat: 16:38
Son Yorum: mustafaozpinar
Exclamation dosya özellikleri değiştirme erdogan 1 295 09-10-2023, Saat: 16:09
Son Yorum: hi_selamlar
  Yeni Component Oluşturma yhackup 2 750 20-04-2023, Saat: 11:39
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi