TStream ve TResourceStream

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

TStream ve TResourceStream

Mesaj gönderen CiTiZEN »

selamlar arkadaşlar stream konularında yeni yeni uzmanlaşmaya başladım ama takıldığım bölgeler var bunlardan başta;

bi kaç dosyayı okuyup algoritmama göre dönüştürüp 1 dosya içinde saklamam gerekmekte bu işlemi text türü dosyalarda yapabiliyorum stringlere yüklüyorum fakat öğrenmek istediğim bi kaç nokta var;

1-String değişkeninin alabileceği karakter sınırı nedir?
2-Text dosyalarını okuyorum ve işlemi yapıyorum ( deneme yaptığım dosya boyutu 1-2 kb ) ama exe,dll,varitabanı ve bunlar gibi birçok dosyayı nasıl okuyup bir araya getirip yazarım bunların da içeriklerini string değişkenlerine aktarmalımıyım? ( yapmaya çalıştığım uygulama winrar ve/veya borland ın brcc32 si gibi bi uygulama )

bu sorulara ilişkin örnek veya yönteminiz varsa paylaşırsanız sevinirim.

kolay gelsin.
UWESIS CORPORATION
deltas
Üye
Mesajlar: 358
Kayıt: 06 Mar 2004 01:08
Konum: Malatya...
İletişim:

Re: TStream ve TResourceStream

Mesaj gönderen deltas »

birinci sorunuzun cevabı yanlış bilmiyorsam stringde 2^31, widestringde ise 2^30 diye hatırlıyorum.
ikinici sorunuzu anlamadım. :(
Nice İnsanlar gördüm üstünde elbise yok;
Nice elbiseler gördüm içinde insan yok.
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: TStream ve TResourceStream

Mesaj gönderen CiTiZEN »

deltas yazdı:birinci sorunuzun cevabı yanlış bilmiyorsam stringde 2^31, widestringde ise 2^30 diye hatırlıyorum.
ikinici sorunuzu anlamadım. :(

sayın deltas cevabınız için teşekkürler 2^31 derken 2 üzeri 31 mi demek istediniz anlayamadım :)

2. soruma gelince text dosyaları yani boyutu 1-2 kb idi deneme yaptığım dosyalar çok büyük dosyalarla deneme yapamadım bu text dosyalarını stream da stringlere aktardım dosyaları birbirine ekledm dönüştürdüm ve kaydettim ama exe,dll,veritabanı ve bunlar gibi içeriğini tam bilmediğim dosyalarıda parçalayıp stringlere aktarıp sonra dönüştürüp kaydetmem mi gerekli yoksa bunu yapmanın başka yolu var mı?

daha önce bu konuya ilişkin prgramlar yapan arkadaşlar varmı veya fikir verebilecek arkadaşlar bi yol gösterirlerse sevinirm.

kolay gelsin
UWESIS CORPORATION
deltas
Üye
Mesajlar: 358
Kayıt: 06 Mar 2004 01:08
Konum: Malatya...
İletişim:

Re: TStream ve TResourceStream

Mesaj gönderen deltas »

Evet 2 üzeri 31. Emin olmak için google'den de baktım.
http://www.efg2.com/Lab/Library/Delphi/ ... index.html

2. sorunuz hakkında yorum yapamıyacam.
Nice İnsanlar gördüm üstünde elbise yok;
Nice elbiseler gördüm içinde insan yok.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: TStream ve TResourceStream

Mesaj gönderen sabanakman »

Bu 2^31 sanırım 2 GB değer anlamına geliyor. Öyle olsa bile #0 karakterini gördüğü yerde değer tutma işi orada biter. O yüzden text olmayan dosyaları string tipiyle asla işleme alamazsınız. Hatta not defteri gibi bir metin editörü bile bu dosyaları tamamen açamaz. Çünkü metin dosyaları da #26 (^Z) karakteri ile biter. Bu karakteri gördüğü yerde artık değer okumaz. #0..#31 aralığındaki karakterler text için değişik anlamları vardır. Bu yüzden devreye dizi tipli değişkenleri sokmalısınız. String değişkenlerle yapacağınız çalışma tamamen hatalı bir çalışma olacaktır.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: TStream ve TResourceStream

Mesaj gönderen CiTiZEN »

o zaman şu anda iki seçenek var elimde

1-Array ile lines olarak yazdıracam pek sağlıklı gelmedi bana
2-Record olarak yazdıracam;bu iki işlem içinde dosya birleştirme ve text dosyayı unicode çevirme işlemleri olacağından hangisi daha faydalı olur veya başka yol varmıdır?
UWESIS CORPORATION
Kullanıcı avatarı
subhan
Üye
Mesajlar: 224
Kayıt: 05 Mar 2008 08:18

Re: TStream ve TResourceStream

Mesaj gönderen subhan »

sabanakman yazdı:Bu 2^31 sanırım 2 GB değer anlamına geliyor. Öyle olsa bile #0 karakterini gördüğü yerde değer tutma işi orada biter. O yüzden text olmayan dosyaları string tipiyle asla işleme alamazsınız. Hatta not defteri gibi bir metin editörü bile bu dosyaları tamamen açamaz. Çünkü metin dosyaları da #26 (^Z) karakteri ile biter. Bu karakteri gördüğü yerde artık değer okumaz. #0..#31 aralığındaki karakterler text için değişik anlamları vardır. Bu yüzden devreye dizi tipli değişkenleri sokmalısınız. String değişkenlerle yapacağınız çalışma tamamen hatalı bir çalışma olacaktır.

sabanakman hoca rica etsem bana bir az dosya sonların hangi karakter ile bitdiyi hakında bilgi ve ya bir kaynak vere bilirmisin ben de bunları bilmek istiyorum. Şimdiden teşekürler.
< The Best Boy >
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: TStream ve TResourceStream

Mesaj gönderen sabanakman »

Açıklamalı ASCII tablolarında bunlar yazar. Şu anda meşgul olduğumdan bu araştırma işini sana devredeyim :) .
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
subhan
Üye
Mesajlar: 224
Kayıt: 05 Mar 2008 08:18

Re: TStream ve TResourceStream

Mesaj gönderen subhan »

sabanakman yazdı:Açıklamalı ASCII tablolarında bunlar yazar. Şu anda meşgul olduğumdan bu araştırma işini sana devredeyim :) .
Teşekürler ederim. Ben ASCII tablosunu bulayım.
< The Best Boy >
Cevapla