Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.07;
Скачать: CL | DM;

Вниз

Random   Найти похожие ветки 

 
Hatchy ©   (2003-06-20 13:36) [0]

Создал .res файл с 20-ю картинками. Теперь ну жно сделать так чтобы при нажатии button из этого файла они прорисовывались (например в Canvas), но не по порядку а вразброс (Random) Можно ли это сделать? и не плохо бы было рассмотреть пример...

Во код просто грузить картинки из .res файла в canvas:
{$R MyPic.RES}

procedure LoadJPEGfromEXE;
var

MyJPG : TJPEGImage; // Объект - JPEG
ResStream : TResourceStream;
begin
try
MyJPG := TJPEGImage.Create;
ResStream := TResourceStream.CreateFromID(HInstance, 1, RT_RCDATA);
MyJPG.LoadFromStream(ResStream);
Canvas.Draw(12,12,MyJPG);
finally
MyJPG.Free;
ResStream.Free;
end;
end;

Может его как нибудь изменить?


 
Alexxoft ©   (2003-06-20 14:25) [1]


procedure LoadRandomJPEGfromEXE;
const cMaxJPGImages = 20;
var MyJPG: TJPEGImage;
ResStream: TResourceStream;
i: integer;
begin
i:=Random(cMaxJPGImages)+1;
MyJPG:=TJPEGImage.Create;
ResStream:=TResourceStream.CreateFromID(HInstance,1,RT_RCDATA);
Repeat
MyJPG.LoadFromStream(ResStream);
Dec(i)
Until i=0;
Canvas.Draw(12,12,MyJPG);
MyJPG.Free;
ResStream.Free
end;


 
aleXXoft ©   (2003-06-20 14:25) [2]


procedure LoadRandomJPEGfromEXE;
const cMaxJPGImages = 20;
var MyJPG: TJPEGImage;
ResStream: TResourceStream;
i: integer;
begin
i:=Random(cMaxJPGImages)+1;
MyJPG:=TJPEGImage.Create;
ResStream:=TResourceStream.CreateFromID(HInstance,1,RT_RCDATA);
Repeat
MyJPG.LoadFromStream(ResStream);
Dec(i)
Until i=0;
Canvas.Draw(12,12,MyJPG);
MyJPG.Free;
ResStream.Free
end;


 
Hatchy ©   (2003-06-20 15:10) [3]

Если написать этот код в button1.click то получается следуеще:
При первом нажтие на кнопку рисуется картинка 1 Rcdata;
При втором нажатии ничего не меняется;
А при третьем нажатии вылетает ошибка :

Project project1.exe raised exception class EJPEG with message
"JPEG error #41".
Process stopped. Use step or Run to continue.

Что можно сделать?


 
Hatchy ©   (2003-06-21 07:03) [4]

Так почему же все таки вылетает ошибка?


 
aleXXoft ©   (2003-06-21 08:36) [5]

Удалено модератором
Примечание: Личная переписка


 
aleXXoft ©   (2003-06-21 11:36) [6]

Удалено модератором
Примечание: Пререкания с модератором


 
Hatchy ©   (2003-06-21 11:49) [7]

Удалено модератором
Примечание: Обсуждение действий модератора


 
Hatchy ©   (2003-06-21 12:06) [8]

Так что с ошибкой то делать?


 
aleXXoft ©   (2003-06-21 12:29) [9]

Удалено модератором
Примечание: Пререкания с модератором, при продолжении будет перевод в режим только чтение


 
Hatchy ©   (2003-06-21 12:31) [10]

Удалено модератором
Примечание: Личная переписка


 
aleXXoft ©   (2003-06-21 12:34) [11]

> Так что с ошибкой то делать?

Ещё раз (в связи с обстоятельствами) попрошу тебя выложить сюда содержимое твоего RC-файла, т.к. мне не достаточно ясно каким образом ты запихнул ЖПЕГи в ресурсы. Возможно, что я недостаточно ясно понял каким образом эти ЖПЕГи лежат у тебя в ресурсе, т.е. каким образом ты их в нём (ресурсе) идентифицируешь. Либо это у тебя один сплошной файл с ЖПЕГами, либо каждый ЖПЕГ у тебя лежит отдельно в секции RC_DATA.

С приветом, aleXXoft


 
Hatchy ©   (2003-06-21 12:41) [12]

Я сейчас в чате... На счет файла: создал текстовый .rc после brcc32.exe MyPic.rc ---> Mypic.res
В текстовом фале 20 картинок:
1 RCDATA "Alsin.jpg"
2 RCDATA "Arium.jpg"
3 RCDATA "Ban2.jpg"
4 RCDATA "Baket.jpg"
5 RCDATA "Bole2.jpg"
6 RCDATA "Brus.jpg"
7 RCDATA "Bud.jpg"
.
.
.
20 RCDATA "Resk.jpg"


 
Hatchy ©   (2003-06-21 13:10) [13]

Удалено модератором
Примечание: Личную переписку вести мимо форума


 
aleXXoft ©   (2003-06-21 13:22) [14]

Вот поставь тогда это в свой кусок в то же место:

ResStream := TResourceStream.CreateFromID(HInstance, Random(20)+1, RT_RCDATA);

С приветом, aleXXoft


 
aleXXoft ©   (2003-06-21 13:34) [15]

> Удалено модератором
> Примечание: Пререкания с модератором,
> при продолжении будет перевод в режим только чтение

Админу-ламеру:

Да плевать я хотел на твои замечания.

Если ты считаешь, что я БЫЛ НЕ ПРАВ, написав то, что написал в мессаге, которую ты удалил первой, посчитав, что в мессаге некая "личная переписка", то давай - делай РидОнли. Мне-то что. Я ведь тут вопросы не задаю и никогда не задавал.

А ещё делай мне РидОнли, если ты нифига не понял из предыдущего абзаца. Ибо находится на форуме, на котором Админ несколько туповат - мне нафик не надо.

NOTE BENE: Если бы ты не удалил мою первую мессагу, то разговор уже давно был бы закончен, а вопрос решён. Так что удалить надо бы тебя за встревание в разговор, который тебе не понятен. ;)

Ага, типа всего тебе хорошего и побольше мозгов на будущее.

P.S. Как я люблю поспорить с власть-придержащими... Кто бы знал! ;))))


 
Hatchy ©   (2003-06-21 13:41) [16]

aleXXoft ладно не горячись, может ему делать больше нечего вот и удаляет... Кстати насчет вот этой сторки:

ResStream := TResourceStream.CreateFromID(HInstance, Random(20)+1, RT_RCDATA);

Ошибка вылетает таже самая ошибка только принажатии второй раз на кнопку...


 
aleXXoft ©   (2003-06-21 13:45) [17]

> Ошибка вылетает таже самая ошибка
> только принажатии второй раз на кнопку

Забавно. Попробуй секцию в RC-файле замени на JPEG, а не RC_DATA, тогда вот так:


ResStream := TResourceStream.CreateFromID(HInstance, Random(20)+1,"JPEG");



 
Hatchy ©   (2003-06-21 13:49) [18]

т.е

1 JPEG "Alsin.jpg"
2 JPEG "Arium.jpg"
3 JPEG "Ban2.jpg"
4 JPEG "Baket.jpg"
5 JPEG "Bole2.jpg"
6 JPEG "Brus.jpg"
7 JPEG "Bud.jpg"
так что ли?


 
Hatchy ©   (2003-06-21 13:50) [19]

Ладно сейчас поробую...


 
aleXXoft ©   (2003-06-21 13:52) [20]

Удалено модератором


 
Hatchy ©   (2003-06-21 13:56) [21]

Удалено модератором


 
Hatchy ©   (2003-06-21 14:06) [22]

Удалено модератором
Примечание: Опять личная переписка, предупреждений больше не будет


 
aleXXoft ©   (2003-06-21 14:19) [23]

Удалено модератором



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

Текущий архив: 2003.07.07;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.025 c
14-20264
Жека
2003-06-20 00:51
2003.07.07
Регистрация УИН в ICQ


14-20307
Andryk
2003-06-20 11:30
2003.07.07
Почему в России как всегда


14-20291
BOA_KAA
2003-06-20 14:07
2003.07.07
PowerPoint


3-19987
Parusstepu
2003-06-13 10:05
2003.07.07
Запрос на добавление записей


1-20092
korvet
2003-06-24 09:49
2003.07.07
Тмемо и 64 кб