Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.06.17;
Скачать: [xml.tar.bz2];

Вниз

Создание ресурсов   Найти похожие ветки 

 
I-New   (2007-04-18 22:50) [0]

Как создать файл ресурса, из своей собственной программы написанной на делфи? Как это делает Restorator(Он на делфи написан)Подскажите плз


 
{RASkov}   (2007-04-18 23:01) [1]

> Как создать файл ресурса

А что есть в твоем понятии - файл ресурса?


 
Leonid Troyanovsky ©   (2007-04-18 23:32) [2]


> RASkov}   (18.04.07 23:01) [1]

> А что есть в твоем понятии - файл ресурса?

Могу поделиться своим.

Искомое есть изготовляемое brcc32 (хз на чем он писан).
Что делает Restorator - хз, но, видимо, может сохранять
извлеченные из PE ресурсы.
Подобное умеет даже и Resxplor (точно на  дельфи писанный,
в примерах, специально для любознательных).

Для особо продвинутых также есть, например, TResourceStream.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2007-04-18 23:39) [3]


> I-New   (18.04.07 22:50)  

> Как создать файл ресурса, из своей собственной программы
> написанной на делфи?

{$R myprogram.rc}

Где myprogram.rc ссылается на собс. программу:
SRC RCDATA "myprogram.dpr"

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2007-04-18 23:45) [4]


> Leonid Troyanovsky ©   (18.04.07 23:39) [3]

> {$R myprogram.rc}

Пардон, это не требовалось.
Т.е., достаточно просто компилировать (brcc32.exe) файл
следующего содержания:

SRC RCDATA "myprogram.dpr"

--
Regards, LVT.


 
{RASkov}   (2007-04-19 00:04) [5]

> [2] Leonid Troyanovsky ©   (18.04.07 23:32)
> > RASkov}   (18.04.07 23:01) [1]
> > А что есть в твоем понятии - файл ресурса?
>
> Могу поделиться своим.

Что конкретно автор хочет не совсем понятно... может он компилятор ресурсов собрался делать ...
Кстати из [2] я так и не понял твоего понятия об файлах ресурсов :) Единственное то, что его изготавливает brcc32 :) что в свою очередь не дает никаких понятий о понятии файла ресурсов. Во как... :)


 
Leonid Troyanovsky ©   (2007-04-19 00:38) [6]


> {RASkov}   (19.04.07 00:04) [5]

> :) что в свою очередь не дает никаких понятий о понятии
> файла ресурсов. Во как... :)

Хорошо. А так:
Компилятор ресурсов, например brcc32, генерирует ресурсные
файлы из файла описания ресурсов.

Т.е., ресурсный файл - это тот файл, который можно получить от,
например, brcc32.

brcc32 есть (его можно пощупать), и он может изготовить
файлы (см. /?). Их тоже можно пощупать.
Ну, а будут ли эти файлы, дейс-но, ресурсными,
т.е. примет ли их линкер - это на совести brcc32.

Я утверждал, что будут. Т.е., это демонстрация объекта.

--
Regards, LVT.


 
{RASkov}   (2007-04-19 01:12) [7]

> [6] Leonid Troyanovsky ©   (19.04.07 00:38)

Опять уклон идет на brcc32, а вопрос
> Как создать файл ресурса, из своей собственной программы написанной на делфи?

Я, правда, тоже хз что делает Restorator, но.... Ладно... фик с ним с этим ресурсом... непонятно , что нужно автору.
> Автор
Могу только предположить и предложить такой вариант: написать оболочку для brcc32. Многие "Restorator"ы" именно так и делаются.... Все...
Параметры этого самого brcc32 можно посмотреть как и предложил [6] Leonid Troyanovsky Т.е. запустить brcc32 /?, либо вообще без параметров.


 
{RASkov}   (2007-04-19 01:13) [8]

> Многие "Restorator"ы"

Т.е. Мэйкресурсеры.... :)


 
PZ   (2007-04-19 09:22) [9]

А может быть вот это? Я делал когда-то очень давно, еще на Delphi 1, но работает на любой версии (получает иконку из exe, dll):

procedure TForm1.Button1Click(Sender: TObject); // Открыть файл
Const CurItem : LongInt = 0;
Var
 pName : array[0..255] of Char;
 fName : String[13];
 N     : Word;
 IconH : hIcon;
begin
 With OpenDialog1 do
   begin
     If not Execute then Exit;
     fName := ExtractFileName(FileName);
     StrpCopy(pName, FileName);
   end;

 N := 0;
 With StringGrid1 do
   Repeat
     IconH := ExtractIcon(hInstance, pName, N);
     If IconH <= 1 then Break;
     Col := CurItem mod ColCount;
     If (CurItem div ColCount) >= RowCount then
       RowCount := RowCount+1;
     Row := CurItem div ColCount;
     Cells[Col, Row] := fName + " #" + IntToStr(N);
     Objects[Col, Row] := tIcon.Create;
     With Objects[Col, Row] as tIcon do
       Handle := IconH;
     CurItem := CurItem + 1;
     N := N + 1;
   until False;
end;
                           // Нарисовать иконку
procedure TForm1.StringGrid1DrawCell(Sender: TObject; Col, Row: Longint;
 Rect: TRect; State: TGridDrawState);
begin
 If StringGrid1.Objects[Col, Row] is tIcon then
    StringGrid1.Canvas.Draw(Rect.Left+56,
      Rect.Top+24,
      tIcon(StringGrid1.Objects[Col, Row]));
end;

procedure TForm1.Button2Click(Sender: TObject); // Записать файл
begin
 If SaveDialog1.Execute then
   With StringGrid1 do
     With Objects[Col, Row] as tIcon do
       SaveToFile(SaveDialog1.FileName);
end;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2007.06.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.041 c
15-1179590480
Piter
2007-05-19 20:01
2007.06.17
Корзина в The Bat


1-1177069735
nali
2007-04-20 15:48
2007.06.17
Прозрачность в TImage


1-1177001980
Angakok
2007-04-19 20:59
2007.06.17
Непонятная особенность в работе кода


15-1179905112
Vasiliy Alfiorov
2007-05-23 11:25
2007.06.17
Как заполнить документ Word(*.doc) (вручную)


15-1179645330
Nous Mellon_
2007-05-20 11:15
2007.06.17
Заливка на ftp по расписанию





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский