Главная страница
    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.04 c
2-1180343376
Rimd
2007-05-28 13:09
2007.06.17
События 2


2-1179920714
Просто_новичок
2007-05-23 15:45
2007.06.17
Быстрота циклов


1-1177058182
Маруська
2007-04-20 12:36
2007.06.17
Расположение диаграммы на листе в Excel


2-1180086751
Юра
2007-05-25 13:52
2007.06.17
Ассоциация файлов!


2-1179906781
Novice
2007-05-23 11:53
2007.06.17
Нужна идея





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский