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
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 13.07.2009, 00:38
-[БуШ]-
Новичок
Регистрация: 11.07.2009
Сообщений: 10
Провел на форуме:
15283

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

fastiktut, для работы с flash используется библиотека shockwave
 
Ответить с цитированием

  #2  
Старый 13.07.2009, 06:08
[K4t]
Познающий
Регистрация: 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. Но как это можно сделать? Посоетуйте уже чонить...
 
Ответить с цитированием

  #3  
Старый 13.07.2009, 09:37
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


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

Это выглядит примерно так:
Код:
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..
 
Ответить с цитированием

  #4  
Старый 13.07.2009, 14:05
velikijmerlin
Познающий
Регистрация: 27.02.2009
Сообщений: 31
Провел на форуме:
57677

Репутация: 4
Question

доброго времени суток..))
вот решил сделать маленькую програмку..
и столкнулся с непонятками...
в общем, не могу понять почему программа странно себя ведёт с этим делом...

Код:
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;
не могли подсказать в чём причина? потому что прога просто после выполнения первого условия сразу летит в конец проги и всё... ничего не происходит, а надо чтобы после первого условия(рестарта) произошло выполнение второго условия(выключение...)

помогите нубу)))

заранее спасибо...
 
Ответить с цитированием

  #5  
Старый 14.07.2009, 04:39
[K4t]
Познающий
Регистрация: 15.02.2009
Сообщений: 54
Провел на форуме:
142825

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

Вы хотите, чтобы шла перезагрузка и отдавалась команда на выключение одновременно? 8|
 
Ответить с цитированием

  #6  
Старый 14.07.2009, 10:51
velikijmerlin
Познающий
Регистрация: 27.02.2009
Сообщений: 31
Провел на форуме:
57677

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

Цитата:
Сообщение от [K4t]  
Вы хотите, чтобы шла перезагрузка и отдавалась команда на выключение одновременно? 8|
нет чтобы не одновременно а чтобы по нажатию кнопок...
а как тогда сделать чтобы команды шли не по очереди?
 
Ответить с цитированием

  #7  
Старый 14.07.2009, 15:58
[K4t]
Познающий
Регистрация: 15.02.2009
Сообщений: 54
Провел на форуме:
142825

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

К velikijmerlin
Может попробовать так:
case Socket.ReceiveText[1] of
'r': showmessage('r: OK | Рестарт код');
's':showmessage('s: OK | Код вырубления ');
end;
 
Ответить с цитированием

  #8  
Старый 13.07.2009, 21:30
-[БуШ]-
Новичок
Регистрация: 11.07.2009
Сообщений: 10
Провел на форуме:
15283

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

бональная проблема со StringGrid. задача: разукрасить определённую ячейку и написать в ней текст. проблема: ячейка успешно разукрашивается, но текст в ней писаться отказывается
обработчик Drawcell

if(ACol == 4 && ARow == 3)
{
StringGrid1->Canvas->Brush->Color = clLime;
StringGrid1->Canvas->FillRect(Rect);
}
 
Ответить с цитированием

  #9  
Старый 14.07.2009, 09:48
Nullsleep
Познающий
Регистрация: 02.06.2009
Сообщений: 67
Провел на форуме:
237284

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

Цитата:
Сообщение от -[БуШ]-  
бональная проблема со 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..
 
Ответить с цитированием

  #10  
Старый 14.07.2009, 10:53
MemorieS
Новичок
Регистрация: 17.06.2009
Сообщений: 11
Провел на форуме:
14758

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

Помогите плиз с заданием.

Сложить блок-схему алгоритму и програму на языке Паскаль, ввести програму в память ЕВТ, отредактировать прогу, вычислить суму членов ряда



Сделать анализ полученых результатов и сделать выводы.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[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