Res dosyası olusturmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
secret_boy
Üye
Mesajlar: 151
Kayıt: 17 Kas 2005 04:46

Res dosyası olusturmak

Mesaj gönderen secret_boy »

viewtopic.php?t=1340&postdays=0&postord ... re&start=0 bu linkteki
Hüseyin beyin yaptıgı ceviride su olayı anlamadım bilen arkadaslar varsa yardımcı olurlarsa cok sevinirim.
Örnek olarak husonet.avi olsun. Dosyayı C:' dizinine kopyala.C:'dizininde bir text dosyası oluştur. Ve Text dosyasına husonet AVI "c:\husonet.avi" (Bunda problem oluyorsa "intro rcdata husonet.avi") yaz. Yazdıktan sonra dosyayı husonet.rc olarak kaydet. Şimdi C:'sürücüsünde husonet.avi(Film dosyamız) ve husonet.rc dosyamız olacak. Sonra Başlat - Çalıştır - menüsüne Command yaz ve MS-Dos kipi başlamış olacaktır.C:/ ye Sürücünün bulunduğu ana klasöre gel.(buraya gelmek için Cd \ yazıp enter la).
Şu şekilde olacak C:\DOCUME~1\HUSEYIN>cd \ tamam.Şimdi c: olması lazım. Oraya
(brcc32 husonet.rc) parantez içindekini yaz. c:/>brcc32 husonet.rc enter a bastığın zaman c:'de husonet.res dosyası oluşmuş olması lazım. res dosyasını alıp ekleyeceğimiz programın olduğu klasore atıyoruz.Ve kodunda {$R *.DFM} bu şekilde bir yazı olacak Bunun yanına {$R husonet.RES} bunu ekleyin..implemention un altında {$R *.DFM} {$R husonet.RES}
-rc uzantılı text dosyasının içine tam olarak ne yazılacak onu anlamadım.
-soyledigi sekilde yaptıgımda su hatayı veriyor

Kod: Tümünü seç

Borland Resource Compiler Version 5.40 
Copyright (c) 1990, 1999 Inprise Corporat 

Error Could not open input file deneme.rc
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

.EXE içerisine dosya gömme ile ilgili şu link işine yarıyabilir.
viewtopic.php?t=12479&postdays=0&postor ... a&start=30
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Bi de burayı deneyebilirsin
viewtopic.php?t=11908
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
secret_boy
Üye
Mesajlar: 151
Kayıt: 17 Kas 2005 04:46

Mesaj gönderen secret_boy »

merhaba rsimsek hocam;
vermiş oldugunuz linki inceledim uygulama yaptım sonuc aynı ben sadece sunu ogrenmek istiyorum.atıyorum ben yapmıs oldugum programda ozel kursor (jpeg,exe,ico,bmp,wav vb seyleri exeye gommek istiyorum)kullanmak istiyorum ve bunu res dosyasından almak istiyorum.anladıgım kadarıyla bunun için eklemek istediginiz exe yi ve rc uzantılı dosyayı aynı klasorde tutarak dostan brcc32 ile rc dosyasını olusturmak.
benim takıldıgım yer de burası.şimdi benim yaptıklarım su sekilde:
c:\uygulama\deneme.exe dosyam var ben bunu diger exeye eklemek istiyorum.bunun için txtye yazdıgım satır su sekilde (sizin ve husonet'in notlarından anladıgım kadarıyla)

Kod: Tümünü seç

EXE1 RCDATA "C:\uygulama\deneme.exe"
seklinde olan satırı save all diyerek uygula.rc uzantılı olarak aynı dizine kaydediyorum.
daha sonra dostan sunu yazıyorum

Kod: Tümünü seç

C:\uygulama>brcc32 uygula.rc
enter ladıktan sonra o dizine uygula.res dosyası olusturması gerek ben bunu yapamadım.bana burayı anlatabilirmisiniz.bende hep su hatayı veriyor

Kod: Tümünü seç

Borland Resource Compiler Version 5.40 
Copyright (c) 1990, 1999 Inprise Corporat 

Error Could not open input file proje.rc
yapmıs oldugum dosyalar burada:
http://www.hemenpaylas.com/download/707 ... a.rar.html
buradaki dosyaları inceleyerek bana nerde yanlıs yaptıgımı ve ne yapmam gerektigini soylerseniz cok sevinirim.herkese basarılar diler herkesin bayramını kutlarım.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Hata mesajında proje.rc yi bulamadığını/açamadığını söylemiş bcc32.exe :wink: Bu nda da haklı. Çünkü notdefteri veya başka her ne ise oluşturduğun proje.rc dosyasında varsayılan uzantıdan dolayı proje.rc.txt olmuş :wink: Delphi arayüzünden/IDE sinden açıp proje.rc diye yeniden kaydedebilirsin. Yada notdefteri ile çalışıyorsan dosya türleri için txt dosyalar değil de tüm dosyalar seçeneğinden sonra kaydet :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
secret_boy
Üye
Mesajlar: 151
Kayıt: 17 Kas 2005 04:46

Mesaj gönderen secret_boy »

rsimsek hocam verdiginiz bilgilerin cok faydasını gordum ve işimi halletmiş oldum dediginiz gibi tüm dosyalar diyerek kaydettigimde derleme yapabildim.sayenizde exeye dosyalarım nasıl gomulecegini ve calıstırılacaklarını ogrendim bunun için size ne kadar tesekkur etsem azdır.
Size bu konu hakkında son birsey sormak ve ogrenmek istiyorum.
buna mp3 dosyalarını gomdugumuzde aynı yolu deneyerek ve mediaplayer ekleyerek calıstıramadım bana bu konuda yardımcı olabilirmisiniz.Asagıdaki linkten yararlandım ama olmadı.
viewtopic.php?t=5783&start=0&postdays=0 ... highlight=
su hatayı veriyor

Kod: Tümünü seç

Bu dosya okunamadı.Dosya adını inceleyin yada bu dosya turunu destekleyen bir sürücü yükleyin
seklinde bir hata.mp3 dosyasını res dosyasından nasıl okutup caldırabilirim.
hersey için tesekkur ederim.iyi calısmalar.
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

mp3 dosyalarını temp olarak bir yere açmak ve daha sonra yine oradan kullanmak gerekir. İşi bitince de silmek gerekli tabi.

Kolay Gelsin..
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
secret_boy
Üye
Mesajlar: 151
Kayıt: 17 Kas 2005 04:46

Mesaj gönderen secret_boy »

peki ama ben hiç böyle bir sey yapmadım bana bu konuda yardımcı olabilirmisiniz.ilginiz için tesekkur ederim
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

hdayi yazdı:Bi de burayı deneyebilirsin
viewtopic.php?t=11908
Burada bi tercüme makale var. Adım adım anlatıyor.

Kolay Gelsin...
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
secret_boy
Üye
Mesajlar: 151
Kayıt: 17 Kas 2005 04:46

Mesaj gönderen secret_boy »

merhaba,
vermiş oldugun linklede yapamadım kusura bakma hdayi arkadasım kodlardan kafam karıstı biraz daha farrklı sade bir yol var mı acaba.yardımların ve vermiş oldugunuz link içinde cok tesekkur ederim
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

O makaleden faydalanarak yaptığım, exe gömülmüş exe dosyayı çalıştıran bir örnek var onun kodunu ekliyorum. Bakarsın inşallah işine yarar. Burada da exe dosya temp olarak bir yere açılıyor ve çalıştırıldıktan sonra siliniyor.

Kolay Gelsin...

Kod: Tümünü seç

unit Unit1;

interface

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls, shellapi;

type
    TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    private
    { Private declarations }
    public
    { Public declarations }
        procedure SaveResourceAsFile(const ResName: string; ResType: Pchar; const FileName: string);
        function SaveResourceAsTempFile(const ResName: string; ResType: pchar): string;
        function GetTempDir: string;
    end;

var
    Form1: TForm1;
    TempDosya: string;

implementation

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

procedure TForm1.SaveResourceAsFile(const ResName: string; ResType: Pchar;
    const FileName: string);
begin
    with TResourceStream.Create(hInstance, ResName, ResType) do
    try
        SaveToFile(FileName);
    finally
        Free;
    end;
end;

function TForm1.SaveResourceAsTempFile(const ResName: string;
    ResType: pchar): string;
begin
    TempDosya := GetTempDir + 'utc.exe';
    Result := TempDosya;
    SaveResourceAsFile(ResName, ResType, Result);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
    exedosya: string;
begin
    exedosya := SaveResourceAsTempFile('hello', 'EXEC');
//    ShellExecute(0, 'open', PChar(Browser), PChar(URL), nil, SW_SHOW);
    ShellExecute(Handle, 'open', pchar(exedosya), nil, nil, SW_SHOWMAXIMIZED);
end;

function TForm1.GetTempDir: string;
var
    temp_klasor: array[0..MAX_PATH] of char;
begin
    GetTempPath(SizeOf(temp_klasor), @temp_klasor);
    result := temp_klasor;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    if FileExists(TempDosya) then
        DeleteFile(TempDosya);


end;

end.
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

.MP3 dosyasını programında kullandığın MediaPlayer nesnesi ile normal şekilde çalabiliyor musun? Normalde çalabiliyorsan verilen bilgilere göre gömme işlemi sonunda ayıkladığın .mp3 dosyasını da aynı şekilde çalabilmen lazım.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
secret_boy
Üye
Mesajlar: 151
Kayıt: 17 Kas 2005 04:46

Mesaj gönderen secret_boy »

sayın rsimsek ve hdayi,
yardımlarınız için cok tesekkur ederim.ben bunu yine calıstıramadım.acaba bir sakıncası yoksa bana bir ornek(kodlarıyla birlikte bir örnek ) upload edebilirmisiniz benim anlamam için bu gerekli.baska sekilde olmayacak.
cok tesekkurler ve iyi calısmalar
secret_boy
Üye
Mesajlar: 151
Kayıt: 17 Kas 2005 04:46

Mesaj gönderen secret_boy »

ilginiz için cok cok tesekkurler :cry:
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

secret_boy yazdı:ilginiz için cok cok tesekkurler :cry:
Sitem edecek bir durum yok :!: Gerekli bilgileri verdik. Sana da okuyup adım adım uygulamak kalıyor :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla