HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #71  
Старый 22.05.2007, 23:57
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

Вот пример статьи как юзать ресурсы:
Цитата:
У меня имеется приблизительно 36 маленьких растровых изображений, которые я хочу сохранить в файле и затем прилинковать его к exe. Как мне поместить их в res-файл?

Самый простой путь - создать файл с именем "BITMAPS.RC" и поместить в него список ваших .BMP-файлов:


BMAP1 BITMAP BMAP1.BMP
BMAP2 BITMAP BMAP2.BMP
CLOCK BITMAP CLOCK.BMP
DBLCK BITMAP DBLCK.BMP
DELOK BITMAP DELOK.BMP
LUPE BITMAP LUPE.BMP
OK BITMAP OK.BMP
TIMEEDIT BITMAP TIMEEDIT.BMP
Затем загрузите Resource Workshop (RW) и выберите пункт меню File|Project Open. В выпадающем списке "File Type" (тип файла) выберите RC-Resource Script и откройте файл, который вы только что создали. После того, как RW загрузит ваш файл, выберите пункт меню File|Project save as. Выберите объект RES-Resource из выпадающего списка "File Type" (тип файла). В поле редактирования "New File name" задайте имя нового файла, скажем, BITMAPS.RES. Нажмите OK. Теперь у вас есть файл ресурса. В вашем модуле Delphi добавьте после строки {$R *.RES} строку {$R BITMAPS.RES}. После компиляции вы получите exe-файл с скомпилированными ресурсами. Для получения доступа к ресурсам во время выполнения программы нужно сделать следующее:

myImage.Picture.Bitmap.Handle := LoadBitmap(HInstance, 'TIMEEDIT');

В качестве предостережения: убедитесь в том, что имена (в самой левой колонке) изображений в .RC файле написаны в верхнем регистре, при вызове также необходимо писать их имена в верхнем регистре.
 
Ответить с цитированием

  #72  
Старый 23.05.2007, 06:55
Astral_Master
Новичок
Регистрация: 14.05.2007
Сообщений: 8
Провел на форуме:
16256

Репутация: 1
Отправить сообщение для Astral_Master с помощью ICQ
По умолчанию

Спасибо огромное! Буду сегодня пробовать.. ну вы ребята и умные, я просто фигею
А может кто из вас знает, как работать с архивами из приложения? нередки случаи использования экзешником какого-нибудь ресурса, изначально запакованного в какой-нибудь, например, dat файл, который по сути является простым архивом. Бывают и не стандартные архивные, но тоже компресованные форматы.. как возможно и возможно ли использование таких ресурсов?

Ник Ример
 
Ответить с цитированием

  #73  
Старый 23.05.2007, 09:27
Astral_Master
Новичок
Регистрация: 14.05.2007
Сообщений: 8
Провел на форуме:
16256

Репутация: 1
Отправить сообщение для Astral_Master с помощью ICQ
По умолчанию

Пробовал найти Resource Workshop, занятие неблагодарное.. можно сказать, что успехом поиски не увенчались, или же не совсем. Я нашел программу версии 4.5, но она, кажися, 16-тиразрядная. При запуске под виндой получаю warning-сообщение типа: "Не найден файл D:\ResWorkshop\workshop.exe или один из его компонентов. Проверьте правильность бла-бла-бла..." с заголовком "Не удается запустить 16-разрядную программу для Wi" (наверное, для Windows?! ). Как заставить его работать, если у меня Win2k SP4?? Ставить Borland C++ ради одного малюсенького приложения как-то влом, да и к тому же я потерял где-то диск..
Хм.. я еще не задолбал вопросами?

P.S. я там на 8-й еще немножко написал..

Последний раз редактировалось Astral_Master; 23.05.2007 в 09:30..
 
Ответить с цитированием

  #74  
Старый 23.05.2007, 09:46
hidden
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме:
5887054

Репутация: 1292


По умолчанию

http://www.mininova.org/search/?Delphi+7 - Так никто не искал?
 
Ответить с цитированием

  #75  
Старый 23.05.2007, 09:59
Xserg
Участник форума
Регистрация: 09.12.2006
Сообщений: 135
Провел на форуме:
426226

Репутация: 726
По умолчанию

Astral_Master
Текст в myres.rc
LORDPE RAR Lordpe.rar
DATA DAT Data.dat

Получаем myres.res
Выполняем brcc32.exe myres.rc
//brcc32.exe там же, где и Delphi.exe

Код:
rar:=TResourceStream.Create(Hinstance,'LORDPE','RAR');
x:=Dword(rar.Memory); //адрес ресурса в памяти
y:=int64(rar.Size);   //размер ресурса
rar:=TResourceStream.Create(Hinstance,'DATA','DAT');
x:=Dword(rar.Memory); //адрес ресурса в памяти
y:=int64(rar.Size);   //размер ресурса

rar.SaveToFile('my.rar'); //можно использовать так
 
Ответить с цитированием

  #76  
Старый 23.05.2007, 10:44
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

2 Astral_Master
C воркшопом есть один прикол. ТАм в настройках можно ставить 16 бит или 32
 
Ответить с цитированием

  #77  
Старый 23.05.2007, 11:24
Astral_Master
Новичок
Регистрация: 14.05.2007
Сообщений: 8
Провел на форуме:
16256

Репутация: 1
Отправить сообщение для Astral_Master с помощью ICQ
По умолчанию

Да как же попасть к этим настройкам, если программа не запускается-то? По экзешнику щелкаешь, да и ошибка сразу выскакивает, приложение не запускается.. как же это сделать-то? Давай, если удобно, свяжемся сегодня по icq? Я сейчас ухожу, но буду уже через несколько часов дома.. мой номер в профиле указан.

Ник Ример
 
Ответить с цитированием

help
  #78  
Старый 24.05.2007, 14:31
Colidius
Новичок
Регистрация: 03.07.2006
Сообщений: 5
Провел на форуме:
17503

Репутация: 0
Question help

я так понял что вопросы по delphi задавать тут... если нет не обессудьте...
вообщем вопрос такой я перевожу число(dec) в 16-теричный формат(hex) и мне нужно передать это через UDP(Indy)
вот допустим перевожу число символов находящихся в мемо:
Код:
var  len,hexlen:string;  
lenmes:integer;  
begin  
lenmes:=length(Memo1.Lines.Text);  hexlen:=Format('%0x',[lenmes]); 
len:=#$+hexlen;  IdUDPClient1.Send('192.168.0.255',4578,len);
здесь у меня не получается какретно отправить это всё hex`ом.
Я так понял len:=#$+hexlen; это чушь... без привязки #$ тож не получается, как быть подскажите?
 
Ответить с цитированием

  #79  
Старый 24.05.2007, 14:39
Hellsp@wn
Постоянный
Регистрация: 29.04.2007
Сообщений: 496
Провел на форуме:
2715445

Репутация: 588
По умолчанию

Код:
var
nexlen:dword;
len:string;
begin
nexlen:=length(text);
len:=IntToHex(nexlen,8) ?

Последний раз редактировалось Hellsp@wn; 24.05.2007 в 14:42..
 
Ответить с цитированием

  #80  
Старый 25.05.2007, 00:22
Colidius
Новичок
Регистрация: 03.07.2006
Сообщений: 5
Провел на форуме:
17503

Репутация: 0
По умолчанию

Цитата:
Сообщение от Hellsp@wn  
Код:
var
nexlen:dword;
len:string;
begin
nexlen:=length(text);
len:=IntToHex(nexlen,8) ?
нет, не прокатит оно типа как стринг передастся...
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2568 25.04.2026 12:58
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ