ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

13.07.2009, 00:38
|
|
Новичок
Регистрация: 11.07.2009
Сообщений: 10
Провел на форуме: 15283
Репутация:
1
|
|
fastiktut, для работы с flash используется библиотека shockwave
|
|
|

13.07.2009, 06:08
|
|
Познающий
Регистрация: 15.02.2009
Сообщений: 54
Провел на форуме: 142825
Репутация:
7
|
|
Здравствуйте, у меня вопрос про компонент timage.
Суть проблемы: В программе, в роли кнопоки выступает timage.
При событии MouseDown нужно, чтобы картинка менялась на, ну например другую, но уже нарисованую как нажатая, а при MouseUp всё восстанавливалось.
Это я сделал двумя способами.
1)Самым тупым
2)Лучше, но всё равно через ж...
1: Просто
Код:
image1.picture.loadfromfile('pr_button.bmp');
2:
Код:
var picture:tbitmap;
begin
picture:=tbitmap.create('pr_button.bmp');
image1.picture.assign(picture);end;
Это я так пытался оптимизировать работу... во многих прогах бывают такие длинные картинки, на которых собраны все рисунки. Например на тех же image кнопках.
Вот как можно сделать так-же? Я так понимаю, что они при каккомнить событии двигают этот bitmap на определённый x,y. Но как это можно сделать? Посоетуйте уже чонить...
|
|
|

13.07.2009, 09:37
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Это выглядит примерно так:
Код:
var
img:tbitmap;
procedure TForm1.FormCreate(Sender: TObject);
begin
img := tbitmap.Create;
img.LoadFromFile('c:\1.bmp');
image1.Canvas.CopyRect(rect(1,1,80,80), img.Canvas, rect(1,1,80,80));
// 1 , 1, 80, 80 - left, top, right, bottom
// первый параметр - регион куда вставлять будем
// второй - канвас откуда будем брать данные
// третий - регион откуда будут браться данные
// изменяя третий параметр как раз и можно
// брать разне области из картинки
end;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
// сдвигаем left и right на 80 пикселей
image1.Canvas.CopyRect(rect(1,1,80,80), img.Canvas, rect(80,1,160,80));
end;
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
image1.Canvas.CopyRect(rect(1,1,80,80), img.Canvas, rect(1,1,80,80));
end;
Последний раз редактировалось slesh; 13.07.2009 в 09:40..
|
|
|

13.07.2009, 14:05
|
|
Познающий
Регистрация: 27.02.2009
Сообщений: 31
Провел на форуме: 57677
Репутация:
4
|
|
доброго времени суток..))
вот решил сделать маленькую програмку..
и столкнулся с непонятками...
в общем, не могу понять почему программа странно себя ведёт с этим делом...
Код:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
if Socket.ReceiveText ='Restart' then begin // åñëè ïîëó÷åíûé òåêñò = áóêâå R òî ïåðåçàãðóýàåì êîìï
// winexec(pchar('shutdown -r -f -t 02'), sw_hide);
ShowMessage('1');
serversocket1.Socket.Connections[0].SendText('Computer restarts at 2 seconds');
end;
if socket.ReceiveText = 'Shutdown' then begin // âûêëþ÷åíèå êîìïà
serversocket1.Socket.Connections[0].SendText('Computer will be shutdown at 2 seconds');
// winexec(pchar('shutdown -s -f -t 02), sw_hide);
showmessage('2');
end;
не могли подсказать в чём причина? потому что прога просто после выполнения первого условия сразу летит в конец проги и всё... ничего не происходит, а надо чтобы после первого условия(рестарта) произошло выполнение второго условия(выключение...)
помогите нубу)))
заранее спасибо...
|
|
|

13.07.2009, 21:30
|
|
Новичок
Регистрация: 11.07.2009
Сообщений: 10
Провел на форуме: 15283
Репутация:
1
|
|
бональная проблема со StringGrid. задача: разукрасить определённую ячейку и написать в ней текст. проблема: ячейка успешно разукрашивается, но текст в ней писаться отказывается
обработчик Drawcell
if(ACol == 4 && ARow == 3)
{
StringGrid1->Canvas->Brush->Color = clLime;
StringGrid1->Canvas->FillRect(Rect);
}
|
|
|

14.07.2009, 04:39
|
|
Познающий
Регистрация: 15.02.2009
Сообщений: 54
Провел на форуме: 142825
Репутация:
7
|
|
Вы хотите, чтобы шла перезагрузка и отдавалась команда на выключение одновременно? 8|
|
|
|

14.07.2009, 09:48
|
|
Познающий
Регистрация: 02.06.2009
Сообщений: 67
Провел на форуме: 237284
Репутация:
54
|
|
Сообщение от -[БуШ]-
бональная проблема со StringGrid. задача: разукрасить определённую ячейку и написать в ней текст. проблема: ячейка успешно разукрашивается, но текст в ней писаться отказывается
обработчик Drawcell
Нужно вручную прорисовывать текст с помощью TextOut на канве StringGrid'а.
Код:
if (ACol == 4 && ARow == 3)
{
StringGrid1->Canvas->Brush->Color = clLime;
StringGrid1->Canvas->FillRect(Rect);
StringGrid1->Canvas->Font->Color = clBlack;
StringGrid1->Canvas->TextOut(Rect.Left, Rect.Top,
StringGrid1->Cells[ACol][ARow]);
}
Последний раз редактировалось Nullsleep; 14.07.2009 в 09:50..
|
|
|

14.07.2009, 10:51
|
|
Познающий
Регистрация: 27.02.2009
Сообщений: 31
Провел на форуме: 57677
Репутация:
4
|
|
Сообщение от [K4t]
Вы хотите, чтобы шла перезагрузка и отдавалась команда на выключение одновременно? 8|
нет чтобы не одновременно а чтобы по нажатию кнопок...
а как тогда сделать чтобы команды шли не по очереди? 
|
|
|

14.07.2009, 10:53
|
|
Новичок
Регистрация: 17.06.2009
Сообщений: 11
Провел на форуме: 14758
Репутация:
0
|
|
Помогите плиз с заданием.
Сложить блок-схему алгоритму и програму на языке Паскаль, ввести програму в память ЕВТ, отредактировать прогу, вычислить суму членов ряда
Сделать анализ полученых результатов и сделать выводы.
|
|
|

14.07.2009, 11:22
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Блок схему ты сам должен нарисовать.
Анализ - ты тоже должен сам делать.
Или ти хочешь чтобы вообще в тетрадь тебе вписали код и по почте выслали? И для этого есть спец раздел - Студентами с лабами сюда.
А пример проще некудо. советую открыть хоть почитать что такое паскаль. Иначе придется очень трудно, если ты стопоришся на элементарном.
Код такой, вроде должен работать. нет под рукой компилятора чтоб проверить
Код:
const k = 10;
var
n:integer;
s:real;
begin
s:=0;
for n:=1 to k do s:= s + sqrt(n)/sqrt(n*n*n*n + 1);
writeln('S = ', s);
end.
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|