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

123
  #5261  
Старый 19.12.2009, 09:23
DimkO
Новичок
Регистрация: 16.11.2008
Сообщений: 27
Провел на форуме:
104236

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

как сделать что бы при нажатии на ячейку в стринггрид она изменяла свой цвет?
 
Ответить с цитированием

  #5262  
Старый 19.12.2009, 09:48
НTL
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
Провел на форуме:
5209663

Репутация: 357


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

Как с помощью сокетов сделать сервер и клиент чтобы передать команды?
 
Ответить с цитированием

  #5263  
Старый 19.12.2009, 20:25
boomba
Новичок
Регистрация: 19.01.2009
Сообщений: 8
Провел на форуме:
243951

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

Подскажите!! как распарсить страницу одноклассников для определения ошибки при входе: "Профиль временно заблокирован. Попробуйте войти еще раз через 30 минут."
Пишу так
if Pos('Профиль временно заблокирован.',b.lock) >0 then
begin
....
но пос ничего не находит.... как исправить? и что искать при такое ошибке??
 
Ответить с цитированием

  #5264  
Старый 19.12.2009, 21:09
Si{R}ius
Участник форума
Регистрация: 13.11.2008
Сообщений: 131
Провел на форуме:
776255

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

Цитата:
Сообщение от DimkO  
как сделать что бы при нажатии на ячейку в стринггрид она изменяла свой цвет?
Димон, глянь Delphi Russian Knowledge Base , там подборка статей по делфи, про изменение StrinGrida туева хуча статей, как и про другие компоненты...

Вопрос

Как по четырем вводимым точкам определить, выпуклый ли четырехугольник? (не пересекаются ли его стороны) (Pascal/Delphi)
 
Ответить с цитированием

  #5265  
Старый 19.12.2009, 22:42
DimkO
Новичок
Регистрация: 16.11.2008
Сообщений: 27
Провел на форуме:
104236

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

Цитата:
Сообщение от Si{R}ius  
Как по четырем вводимым точкам определить, выпуклый ли четырехугольник? (не пересекаются ли его стороны) (Pascal/Delphi)
отвечу как по математике,нарыл теорему:
"Сумма углов опуклого n-угольника = 180градусов*(n-2)"
в нашем случае n=4,то есть сумма углов =360,осталось только проверить сумму углов.их ты можешь найти через точки,а именно подсчитать расстояние между двумя точками для всех сторон четырехугольника,а потом брать 3 смежные точки,соединять их в треугольник и находить необходимый угол четырехугольника,ну а дальше сумма....осталось только вывести окончательную формулу и забить все в делфи\паскаль

кто знает алгоритм попроще пишите
 
Ответить с цитированием

  #5266  
Старый 20.12.2009, 03:41
Markus_13
Познающий
Регистрация: 19.02.2009
Сообщений: 83
Провел на форуме:
181715

Репутация: 50
Отправить сообщение для Markus_13 с помощью ICQ
Post

Цитата:
Сообщение от Si{R}ius  
Как по четырем вводимым точкам определить, выпуклый ли четырехугольник? (не пересекаются ли его стороны) (Pascal/Delphi)
Тоже нужно было нечто подобное, покопался нашел у себя прогу, переписал немного под твои нужды, вот:
Код:
function Sign(const v:Integer):shortint;
begin Result:=0;if v<0 then Result:=-1
else if v>0 then Result:=1;end;
...
function WhichSide(p,q,r:TPoint):Integer;begin
Result:=Sign((p.x-q.x)*(q.y-r.y)-(p.y-q.y)*(q.x-r.x));end;
...
function Compare(p,q:TPoint):Integer;begin if p.x<q.x then
Result:=-1 else if p.x>q.x then Result:=1 else if p.y<q.y then
Result:=-1 else if p.y>q.y then Result:=1 else Result:=0;end;
...
function Vypukl(p: array of TPoint):boolean;
var i,n,d1,d2,s1,s2,c:Integer;p1,p2,p3:tPoint;
function CheckTriple:Boolean;begin Result:=True;
d1:=compare(p2,p3);if d1=-d2 then inc(c);d2:=d1;
s1:=WhichSide(p1,p2,p3);if s1<>0 then begin if s2=-s1
then begin Result:=False;Exit;end;s2:=s1;end;end;
begin result:=true;s2:=0;c:=0;
n:=Length(p);d2:=Compare(p[0],p[1]);
for i:=0 to High(p)do begin p1:=p[i];
p2:=p[(i+1)mod n];p3:=p[(i+2)mod n];
if not CheckTriple then begin Result:=false;Exit;end;
end;end;
...
var i:tImage; ms:tLabel;
...
procedure TForm1.iClick(Sender: TObject);
var p:array of tPoint; k,m:byte;
begin
m:=4;
setlength(p,m);
for k:=0 to m-1 do begin
p[k].X:=random(i.Width-10)+5;
p[k].Y:=random(i.Height-10)+5;
end;
i.Canvas.FillRect(i.ClientRect);
i.Canvas.Polygon(p);
ms.Caption:='Не выпуклый!';
if Vypukl(p)then ms.Caption:='Выпуклый';
end;
работает, но не 100%но =(
З.Ы. код определения выпуклости я откуда-то скопипастил (непомню уже) и переделал под свои нужды
 
Ответить с цитированием

  #5267  
Старый 20.12.2009, 04:04
ZdezBilYa
Участник форума
Регистрация: 29.08.2008
Сообщений: 151
Провел на форуме:
1551582

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

Цитата:
Сообщение от Si{R}ius  
Вопрос
Как по четырем вводимым точкам определить, выпуклый ли четырехугольник? (не пересекаются ли его стороны) (Pascal/Delphi)
элементарно...
- рассматриваешь все пары вершин
- для каждой пары составляешь уравнение прямой, проходящей через эти две точки (запрос в гугле: "уравнение прямой через две точки")
- подставляешь координаты двух других точек в уравнение прямой. Если значения одинакового знака, значит точки лежат по одну сторону от прямой.
- если для всех пар точек получилось, что другие точки лежат по одну сторону, значит четырехугольник выпуклый
 
Ответить с цитированием

  #5268  
Старый 20.12.2009, 17:31
SHAXID
Познающий
Регистрация: 13.12.2007
Сообщений: 56
Провел на форуме:
469345

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

При компиляции появляется ошибка вида:
[Fatal Error] Could not create output file 'C:\(путь)\Project1.exe

В чем может быть проблема?..
 
Ответить с цитированием

  #5269  
Старый 20.12.2009, 18:02
0ldbi4
Постоянный
Регистрация: 14.04.2008
Сообщений: 327
Провел на форуме:
584699

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

SHAHID то что компилятор не может создать файл, например если проект запущен с сети или еще какого то места где нет прав на запись
 
Ответить с цитированием

  #5270  
Старый 20.12.2009, 18:56
ErrorNeo
Moderator - Level 7
Регистрация: 02.05.2009
Сообщений: 894
Провел на форуме:
4297091

Репутация: 2261


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

вопрос - как проще сделать в потоке application.processmesseges длительностью (скажем) 10 секунд?

слип не предлагать



ответ:

Код:
uses SysUtils,Dateutils;

var
start_time:Tdatetime;

{10 секунд обрабатываем сообщения}
start_time:=now;
while SecondSpan(now, start_time)<10 do application.ProcessMessages;

Последний раз редактировалось ErrorNeo; 20.12.2009 в 19:08..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



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


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




ANTICHAT.XYZ