res dosyasi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Laz61
Üye
Mesajlar: 135
Kayıt: 03 Eki 2007 11:51
Konum: Almanya

res dosyasi

Mesaj gönderen Laz61 »

Arkadaslar Merhaba

Öncedeb birkac sefer yapmistim, sabahtan beri ugrasiyorum yapamadim. Kendime ait olan bir Font dosyasini res dosyasina dönüstürerek exe'ye baglamak istiyorum. Formda bir cok örnegi denedim olmuyor. Lütfen yardim...

Selamlar
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: res dosyasi

Mesaj gönderen CiTiZEN »

Tam olarak olmayan yerı neresi yanı hata mı alıyorsunuz ve ne hatası yazarsanız yardım olacaktır
kolay gelsin
UWESIS CORPORATION
Laz61
Üye
Mesajlar: 135
Kayıt: 03 Eki 2007 11:51
Konum: Almanya

Re: res dosyasi

Mesaj gönderen Laz61 »

Selamlar

ilginiz icin tesekkürler. Bu sekilde yaptim ama olmadi. Ayrica bu koda 10 tane font dosyasi dahiledecegim. Yani rich editteki metinlerin 10 tane fontlarini res olarak exe'ye baglamak istiyorum.

Tsk...


MY_FONT ABC "ABC.TTF"


{$R Fontum.res}



BRCC32 Fontum.rc



implementation


{$R *.dfm}
{$R Fontum.res}


procedure TForm1.FormCreate(Sender: TObject);
var
res : TResourceStream;
begin
res := TResourceStream.Create(hInstance, 'Fontum', Pchar('ABC'));
res.SaveToFile('Abc.ttf');
res.Free;
AddFontResource(PChar('Abc.ttf'));
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
end;
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: res dosyasi

Mesaj gönderen CiTiZEN »

Sanırım sıkıştırma kısmında hata var

myfont.rc dosyası içeriği

Kod: Tümünü seç

 DENEME TTF "C:\example\DENEME.TTF"
DENEME1 TTF "C:\example\DENEME1.TTF"
daha sonra komut satırından şu komutu verin

Kod: Tümünü seç

brcc32.exe myfont.rc
dosya oluştukdan sonra exe ile aynı klasore atın

Kod: Tümünü seç

implementation
{$R *.dfm} {$R Myfont.res} 
çalıştırınca dosyayı exe içerisine alacaktır

daha sonra fontları kullanmak için de extract edin

Kod: Tümünü seç

procedure ExtractRes(ResType, ResName, ResNewName: String);
var
Res: TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, ResName, PChar(ResType));
try
Res.SaveToFile(ResNewName)
Finally
Res.Free
end;
end;

procedure kullanımı 
procedure TMainForm.Button1Click(Sender: TObject);
begin
ExtractRes('TTF', 'DENEME', 'C:\Program Files\DENEME\Deneme.TTF');
end;
umarım yardımcı olmuşumdur kolay gelsin
UWESIS CORPORATION
Laz61
Üye
Mesajlar: 135
Kayıt: 03 Eki 2007 11:51
Konum: Almanya

Re: res dosyasi-Yanlis hesap Bag...

Mesaj gönderen Laz61 »

Selamlar

Benim Resource hakkindaki bilgilerim, exe dosyasina baglanmis olan veya gömülmüs olan bir dosya, okunabilirlik özelligini kaybeder ve makine koduna cevrilir.
Birkac gündür kendime ait olan bir Fontu res olarak derleyip exe'ye baglayarak koruma altina almak icin ugrasiyordum. Ugrasim esnasinda bilgilerimin herhalde kismen eksik kismende yanlis oldugunu anladim. Formada bircok yazi okudum, ama yeterli gelmedi bana. Ilk önce olayi netlestirmem icin kisa olarak su sorularimi yanitlayin lütfen!

1. res olarak exe'ya baglanmis olan bir fontu tekrar dönüstürerek yüklemek pek mantikli gelmedi bana. Ben kaynak koduna eklenmis olan bir dosyanin buna ihtiyaci olmadigini zannediyordum.
2. Res'in özelligi nedir? (Nicin kullanilir)
3. Korunma acisinda etkili bir yöntemmidir?
4. Büyük res dosyalari exe icin + yük degilmidir? Dosyanin büyüklügü ne kadar olmali vs...

Selamlar
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: res dosyasi

Mesaj gönderen CiTiZEN »

1. si seninde yukarda cavabını verdiğin gibi
exe dosyasina baglanmis olan veya gömülmüs olan bir dosya, okunabilirlik özelligini kaybeder ve makine koduna cevrilir.
ve extract etmeden kullanılamaz

2. res dosyaları bir veya birkaç dosyayı executable uygulama içerisine gömmek için kullanılır en yaygın kullanım örneği setup uygulamalarıdır istediğin kadar dosyayı tek bir dosyada toplayıp daha sonra kullanabilirsin nasıl kullanıldıgı biraz da sana kalmış

3. koruma açısından dosyada şıkıştırldıktan sonra ve açıldıktan sonra herhangi bir zarar yoktur (kullanıma da baglıdır)

4. dosya boyutu senin taşımak istediğin dosyalarla sınırlıdır ben boyutu bu olmalıdır şeklinde bir ibareye rastlamadım rastlayan varsa yazarsa bende bilgilerimi tazelemiş olurum

kolay gelsin...
UWESIS CORPORATION
Laz61
Üye
Mesajlar: 135
Kayıt: 03 Eki 2007 11:51
Konum: Almanya

Re: res dosyasi

Mesaj gönderen Laz61 »

Selamlar

Umarim sikici olmuyorumdur. Maksadim hatalarimi düzeltmek, bilmediklerimide ögrenmektir.

1. Koruma derken sunu kastettim: Bana ait olan özel dosyalarimin ücüncü kisiler tarafindan kullanilmasini istemiyorum. Dosya acildiktan sonra okunabilir hale geliyor. Dolayisiyle bu dosyalar herhangi bir programla acilablir ve kullanilabilir. Yani ben res dosyalarin bir nevi sifrelenmis olarak zannediyorum.

2. Mesela 3 mb'lik bir metin dosyasini res olarak bagladim, program bloke oldu calismadi. Veya kodda bir hata yaptim.

Tsk...
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Re: res dosyasi

Mesaj gönderen ikutluay »

Laz61 yazdı:Selamlar

Umarim sikici olmuyorumdur. Maksadim hatalarimi düzeltmek, bilmediklerimide ögrenmektir.

1. Koruma derken sunu kastettim: Bana ait olan özel dosyalarimin ücüncü kisiler tarafindan kullanilmasini istemiyorum. Dosya acildiktan sonra okunabilir hale geliyor. Dolayisiyle bu dosyalar herhangi bir programla acilablir ve kullanilabilir. Yani ben res dosyalarin bir nevi sifrelenmis olarak zannediyorum.

2. Mesela 3 mb'lik bir metin dosyasini res olarak bagladim, program bloke oldu calismadi. Veya kodda bir hata yaptim.

Tsk...
Yazarken Türkçe kullanmaya dikkat etsen fena olmayacak. yada bazı kelimeleri büyük Iile yazsan... Öreğin SIKICI gibi.

soruna gelince. RES dosyalarının amacı bir dosyaya başka dosyaları gömmektir ve bu bir çok durumda kurtarıcı olabilir. ama genel amaç sadece okunur düzen olmasıdır. senin durumunda fontu exeye gömsen bil açmadan kullanamayacaksın.

son bir bilgi genel olarak yazımında dikkat edilmeyen bütün programlarda exe tamamen hakfızaya yükleniyor. ama bazıları dll vs kullanarak bunu düşürebilirler.

hatalı bir bilgide exenin sıkıştırılması. örneğin 5 mb lık exeyi 1mb sıkıştırıp hafızadan kar ettiklerini sanıyorlar oysa bu yanlış. exe önce açılıp sonra çalıştığından hafıza ihtiycı gene aynıdır. üstelik yanlış virüs uyarılarıda alınabiliyor.

son olarak sana tmxstorage i taviye ederim. denenmiş bir komponentttir.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Laz61
Üye
Mesajlar: 135
Kayıt: 03 Eki 2007 11:51
Konum: Almanya

Re: res dosyasi

Mesaj gönderen Laz61 »

Tesekkür

Klavye: Yurt disindan yazdigim icin klavyemde almanca. Klavyenin üzerinde (Fontlar degil, Tuslarda) türkce harfler yok. Onun icin elimiz buna alisti. Tuslarda harfleri aramak veya etiketle üzerlerine yazmak pratik degil. Onun icin böyle yaziyorum.

Res olayini anladim. Yani dosya vs. koruma acisindan res saglikli bir yöntem degil. Dosya acildiginda istenildigi taktirde ikinci kisiler tarafindan kullanilabilir. O zaman bir dosyayi res olarak olusturmanin geregide yok. Ben res dosyasinin ekseyle derlendiginde müdahale edilemeyecegini saniyordum. Bahsettiginiz komponen umarim sorunu cözer.

Ilgi ve bilginiz icin tsk....

Tsk
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
Cevapla