ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

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

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

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

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

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

  #3922  
Старый 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. Но как это можно сделать? Посоетуйте уже чонить...
 

  #3923  
Старый 13.07.2009, 09:37
slesh
Reservists Of Antichat - Level 6
Регистрация: 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..
 

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

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

заранее спасибо...
 

  #3925  
Старый 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);
}
 

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

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

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

  #3927  
Старый 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..
 

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

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

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

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

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

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

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



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

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

Репутация: 3349


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

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

А пример проще некудо. советую открыть хоть почитать что такое паскаль. Иначе придется очень трудно, если ты стопоришся на элементарном.

Код такой, вроде должен работать. нет под рукой компилятора чтоб проверить
Код:
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)
 


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




ANTICHAT.XYZ