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 » 31 Mar 2009 01:32

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 » 31 Mar 2009 02:21

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 » 31 Mar 2009 02:33

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 » 31 Mar 2009 02:41

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: 3044
Kayıt: 17 Nis 2006 07:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: TStream ve TResourceStream

Mesaj gönderen sabanakman » 31 Mar 2009 03:03

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 » 31 Mar 2009 10:41

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 » 05 Nis 2009 11:12

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: 3044
Kayıt: 17 Nis 2006 07:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: TStream ve TResourceStream

Mesaj gönderen sabanakman » 06 Nis 2009 01:09

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 » 07 Nis 2009 09:54

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