Binary dosyada dan okuma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
balsoft
Üye
Mesajlar: 60
Kayıt: 09 Şub 2005 06:01
Konum: ANKARA
İletişim:

Binary dosyada dan okuma

Mesaj gönderen balsoft »

Selamlar arkadaşlar başka şekilde ifade edemediğim için başlığı böyle vermek zorunda kaldım ama asıl sorunum şu vb de hatırlıyom binary dş dosyadan diziler falan filan kullanarak bi resmi programa aktarabiliyoduk aynı şekilde elimde yine vb de yazılmış bi program var ve dellphiye aktarmak istiyorum ama binary dosyaları işletmeyi başaramadım basitçe söylemek gerekirse binary dosyada saklı olan resmi delphide nasıl gösterebilirim daha fazla karıştırmadan susayım en iyisi
yardımlarınızı bekliyorum teşekkürler :roll:
Bilgini saklamaki daha fazla öğrenebilesin...
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2381
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

Kullandığın veritabanı eğer BLOB destekliyorsa bunu kullanabilirsin. Bu konu daha çokda vertabı bölümünde resimler diye geçti orada arama yaparsan detaylı bir çok mesaj görebilirsin

kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

selam,
çözüm yönteminiz doğrumu bilemem ama binary dosyayı bi pontere atmak için

Kod: Tümünü seç

procedure ReadSysFile(SP : TSistParamPtr);
var  PCharPtr:PChar;
     size:word;
     SysFileHandle:Integer;
     FileInfo:TOFSTRUCT;
     ErrCode :LongInt;
begin
PCharPtr := @(SP^);
Size :=SizeOf(TSistParam);
SysFileHandle := OpenFile(pcSysFileName,FileInfo,OF_READ);
if FileInfo.nErrCode <> 0 then
   begin    
    {dosya bulunamiyorsa yeni bir dosya yarat:}
    {yarattım :P}    
   end
else
    begin
    ErrCode :=_lRead(SysFileHandle,PCharPtr,Size);
    if ErrCode = Size then
       begin
       ErrCode:=_lClose(SysFileHandle);
       if ErrCode<>0 then
          MessageDlg('Dosya Kapatilamiyor',mtError,[mbCancel],0);
       end;
    end;
end;
burda bi hata olabilir (if lerde sadece). epey bişey sildim şimdi içinden kafanız karışmasın diye. fazla vaktim yok.
bi inceleyin.

TSistParamPtr benim kendi tanımladığım bi değişkenin pointeri, TSistParam da değişken,pcSysFileName dosya adı (pchardır).

kolay gelsin
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
balsoft
Üye
Mesajlar: 60
Kayıt: 09 Şub 2005 06:01
Konum: ANKARA
İletişim:

düzeltme

Mesaj gönderen balsoft »

arkadaşlar ilginize teşekkür ederim ancak sanırım anlatamadım ben bu işlemi bir veritabanında yapmıyorum daha doğrusu yapmak istemiyorum istrediğim program içerisinden bi şekilde binary dosya daki resim bilgisini okutmak ve bunu delphinin paintbox bileşeni gibi bi bileşende işlemek yada göstermek :shock:
Bilgini saklamaki daha fazla öğrenebilesin...
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

ozaman bileşenadi.loadfromfile('dosyaadi.bmp');
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
balsoft
Üye
Mesajlar: 60
Kayıt: 09 Şub 2005 06:01
Konum: ANKARA
İletişim:

Mesaj gönderen balsoft »

mege ah dediğin kadar kolay yapabilsem dosya bmp olsa hiç uğraşmıcam ama formatı dosyaadi.bin direk binary e çevirmişler yani
Bilgini saklamaki daha fazla öğrenebilesin...
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

TFileStream in LoadFile yontemi ile bir streama yukleyip
Read ve Seek komutları ile parca parca okuyabilirsin
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
balsoft
Üye
Mesajlar: 60
Kayıt: 09 Şub 2005 06:01
Konum: ANKARA
İletişim:

Mesaj gönderen balsoft »

bana bununla ilgili varsa bir örnek göndermen mümkünmü qkimirti gerçekten kafam durdu artıkda :)
teşekkürler şimdiden
Bilgini saklamaki daha fazla öğrenebilesin...
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

forumda :ara FileStream
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2381
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

o dosyanın uzantısının bin olması onun binary bir file olduğu anlamına gelmez.mesela ben veri transferi için export ettiğim file ların uzantısına bin verdim :) ayrıca bunların formatı ne ? yani resim olduğuna eminsen tabi. bmp jpg gif tiff vs vs bunları bilmen gerek ki dosyayı tam olarak açabilesin. Bu dosya stream olarak kaydedilmiş ise bunun header ı varmı ve içindekileri bilmen gerekir yoksa bu seni baya bi uğraştırır, Van gölünün suyunu sünger ile ege denizine taşımak gibi bişi diyebilirim.
bin dosyayı yazan kişiden bu headr vs gibi özelliklerini öğrenirsen daha kolay çözüme ulaşabilirsin

kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Misafir

Mesaj gönderen Misafir »

merhaba.
birkaç yıl önce şu an hatırlamadığım bi kaynakta stream olarak kaydedilen bir resmin işletim sistemine göre farklı byte'lara yazıldığını okumuştum.dolayısıyla bu noktada resmin asıl formatının yanında kaydedildiği işletim sistemini de bilmeniz gerekecek (bildiğim kadarıyla).ilaveten, bu dosyanın bir resim içerip içermediğini de bu şekilde tespit edemeyebilirsiniz (olası ihtimaldir).
saygılar..
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

http://www.efg2.com/Lab/ImageProcessing/CryptImage.htm

Verdiğim link te Binnary ile hazırlanmış Jpg ve Bmp örnek ve açıkalamaları ayrıca Örnek Kodlar da mevcut okur incelersen sanırım kolayca elindeki verileri neticelendirebilirsin.


Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Merhaba...

- Bence bu başlık altında sıradaki en uygun yorum havanda su dövmek deyiminin yerinde olacağıdır... :lol:

- En güzeli çözümlemek istediğin Binary dosyanın bir örneğini web'de bir yere koyup linkini buraya yaz. Vakti olan çekip inceler... :idea:

- Header, resim tipleri, dosya yapısı dendi.. Çözüm adına bilgi birikti. Uygulamaya geçmenin vaktidir... :idea:

- Ayrıca bu resim formatı ana başlığının altında JPG, BMP, GIF, PNG, PSD olduğu gibi çizim formatları ve karışık olan CDS, DWG, 3DS gibi olanları da var...

- Bir de GFX kütüphaneler var.. WMF formatının header kısımlarını atıp sıkıştırdıktan sonra katalog halinde barındıran bir format... Benim başımdan geçen bir deneyimdir ki bu dosya formatının yapısını gizli tuttuklarında vermeye yanaşmamışlardı... :)

- AcdSee programını incelerseniz daha bahsi geçecek bir sürü resim formatı olduğunu göreceksin belkide biliyorsun... :idea:

- Bahsettiğin diğer program ne programı ? En azından adını söylersen sayfasındaki bilgilerden ne tip dosya yapısı kullandığı hakkında fikir sahibi olmakta yardımcı olurdu.

- Bu resim formatlarını herhangi bri HEX editor ile incelersen BIN dosya içerisinde hangi hangi resim tipinin hangi noktada başladığını duruma göre serbest arama ile de bulabilirsin...

- Duruma göre diyorum çünkü örnek olsun diye veriyorum MovieDB adında bir film veritabanı programı vardır. Programın veritabanındaki her film kaydına ait resim kendine özgü veritabanının içine gömülüdür. Bu resmi RIP etmek için structure etüdü günlerinini alır ama amaç sadece resimleri almak ise bir iki saatte hallolur...

- Umarım bu başlıktan sorunun çözülmüş şekilde ayrılırsın...

- Başarılar... :o
Resim
Resim ....Resim
Kullanıcı avatarı
balsoft
Üye
Mesajlar: 60
Kayıt: 09 Şub 2005 06:01
Konum: ANKARA
İletişim:

Mesaj gönderen balsoft »

arkadaşlar hepinize teşekkürler şimdi arkadaşilardan bazıları bin olduğu anlamına gelmez demiş ancak binary e çevrildiğini biliyorum ikinci kısmı formatı ne denmiş formatı dwg ve vb bunu paintbox bileşeni ile işleyip okuyabiliyor eğer incelemek isteyen arkadaş olursa dosyayı atabilirim bir yerlere tekrar tekrar teşekkürler....
Bilgini saklamaki daha fazla öğrenebilesin...
Cevapla