Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   координаты мышки в текстовый файл (https://javascript.ru/forum/dom-window/32878-koordinaty-myshki-v-tekstovyjj-fajjl.html)

Александр 60 лет 11.11.2012 00:13

если пары равны - то это двойной клик

Александр 60 лет 11.11.2012 00:29

не переводится строка никак , я даже writeln пробовал от отчаяния )))

DjDiablo 11.11.2012 00:29

вид файла получится
295
95
dblclick

С переводом проблем быть недолжно, у меня всё работает.

$file = fopen ("file.txt","w");
    $str=$_GET['x']."\n".$_GET['y']."\n".$_GET['type'];
    if ( !$file )
	{
		echo("Ошибка открытия файла");
	}
	else
	{
		fputs ( $file, $str);
	}

    fclose ($file);


Два клика сделанные в течении 200 миллисекунд будут считать двойным кликом

function getXmlHttp(){
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}

document.addEventListener("dblclick",function(evnt){ event(evnt,"dblclick")} );
document.addEventListener("click",function(evnt){ event(evnt,"click") } );

var t;
function event(evnt,type){
        clearTimeout(t);
	t=setTimeout(function(){
	        var x=evnt.pageX,
	               y=evnt.pageY,
	               req = getXmlHttp();
	
	         req.open('GET', 'saveMouse.php?x='+x+"&y="+y+"&type="+type, true); 
	         req.send(null);  // отослать запрос
	},200); //200 мс дано на то чтобы защитать двойной щелчок

}

Александр 60 лет 11.11.2012 00:43

это фантастика !!!

Александр 60 лет 11.11.2012 00:49

в будущем ещё желательно клик правой и удержание левой

Александр 60 лет 11.11.2012 00:53

жаль что так редко встречаются такие грамотные люди как Вы !!
спасибо !!

Александр 60 лет 11.11.2012 01:00

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

DjDiablo 11.11.2012 01:05

всегда пожалуйста.

Я как очень грамоный, забыл про отсутствие забыл addEventListener в ie :D
Если использовать ie планируете, то в начало скрипта(сразу после <script>) надо вот такую загогулину добавить

if (!document.addEventListener){
     document.addEventListener=function(evnt,  func) {
	      this.attachEvent("on"+evnt, func);
     }
  }

удачи.

Александр 60 лет 11.11.2012 01:21

собственно управление компьютером мне нужно для видеонаблюдения по интернету http://webonline.kz/
к сожалению пока что либо коммерческого не получается ...
на этот код ,путём перелопачивания интернета, методом тыка ...проб..и ошибок , у меня с месяц ушло .))

Александр 60 лет 11.11.2012 16:06

Цитата:

Сообщение от DjDiablo (Сообщение 215341)
всегда пожалуйста.

Я как очень грамоный, забыл про отсутствие забыл addEventListener в ie :D
Если использовать ie планируете, то в начало скрипта(сразу после <script>) надо вот такую загогулину добавить

if (!document.addEventListener){
     document.addEventListener=function(evnt,  func) {
	      this.attachEvent("on"+evnt, func);
     }
  }

удачи.

помогите ещё чуть..чуть ....!
мне надо четвёртой строкой n:= n+1 от обоих событий

Александр 60 лет 11.11.2012 16:07

в дельфи понимаю...а здесь что то не вкурю как это...

Маэстро 13.11.2012 14:05

Александр 60 лет,
подкупает Ваша энергия, с которой Вы хотите выполнить поставленную самому себе задачу. Однако, прочитав пару Ваших строк, я всё же решил высказаться.
Думаю, что если Вы освоите передачу кликов мыши на сервер, то следующий шаг - захочется вводить символы и тоже передавать на сервер. Это еще посложнее будет...

-"клиент каждую секунду отсылает на сайт скрин экрана , далее клиент забирает с сервера координаты мыши и выполняет её команды . получается удалённое управление компьютером через браузер"

-"собственно управление компьютером мне нужно для видеонаблюдения по интернету... к сожалению пока что либо коммерческого не получается"

Я тоже знаю Delphi и Assembler, только придется признать, что это - вчерашний день. Сейчас в моде веб-технологии, в которых Вы не успели разобраться. Короче говоря, всё это к вопросу об "изобретении велосипеда".

Может Вам подойдет вот это (меньшей кровью):
http://zone-pc.ru/index.php/news/uda...google-chrome/
-Удаленное управление компьютером через Google Chrome

или это:
http://internetno.net/category/obzoryi/logmein/
-Logmein: удаленное управление с помощью браузера

?

Александр 60 лет 13.11.2012 16:16

пусть велосипед , зато мой !! на моём сервере !!

Александр 60 лет 13.11.2012 16:27

Может Вам подойдет вот это (меньшей кровью):...........
и никакой крови нет , всё это просто даже для новичка.... в дельфи это по пять строчек кода
а всякие google-chrome ..который виснут ..забирают все ресурсы компьютера , мне даром не нужны и в том числе их услуги..

Маэстро 13.11.2012 17:24

Цитата:

Сообщение от Александр 60 лет
а всякие google-chrome ..который виснут ..забирают все ресурсы компьютера

При неправильной технологии задолбать можно любой браузер (например, вогнать в бесконечный рекурсивный цикл, или создавать переменные по 100 MB).
Глядя на картинку http://22.122.kz/aaa8.jpg вижу, что Вы используете Delphi 6,7. А покадровые изображения скорее всего формируете с помощью библиотек DirectShow, DirectX. Не пробовали посмотреть, какого объема становится кэш браузера после нескольких часов передачи Ваших jpeg-ов? А какой интернет-трафик будет у пользователя (не дай бог коммерческого) при этом? Я эту технологию прошел 3 года назад и закрыл её для себя. Можете попробовать сравнить это с наиболее популярным на сегодняшний день протоколом H.264 и Вы поймете, что свой ребенок - всё же не всегда самый лучший ребёнок :(

Александр 60 лет 13.11.2012 22:33

всё упирается в надёжность ,для меня надёжно передать jpg и по ходу записать его на клиенте . вот тут http://webonline.kz/ работает круглые сутки и месяцами .

Александр 60 лет 14.11.2012 13:08

Цитата:

Сообщение от Маэстро (Сообщение 215758)
Александр 60 лет,
подкупает Ваша энергия, с которой Вы хотите выполнить поставленную самому себе задачу. Однако, прочитав пару Ваших строк, я всё же решил высказаться.
Думаю, что если Вы освоите передачу кликов мыши на сервер, то следующий шаг - захочется вводить символы и тоже передавать на сервер. Это еще посложнее будет...

-"клиент каждую секунду отсылает на сайт скрин экрана , далее клиент забирает с сервера координаты мыши и выполняет её команды . получается удалённое управление компьютером через браузер"

-"собственно управление компьютером мне нужно для видеонаблюдения по интернету... к сожалению пока что либо коммерческого не получается"

Я тоже знаю Delphi и Assembler, только придется признать, что это - вчерашний день. Сейчас в моде веб-технологии, в которых Вы не успели разобраться. Короче говоря, всё это к вопросу об "изобретении велосипеда".

Может Вам подойдет вот это (меньшей кровью):
http://zone-pc.ru/index.php/news/uda...google-chrome/
-Удаленное управление компьютером через Google Chrome

или это:
http://internetno.net/category/obzoryi/logmein/
-Logmein: удаленное управление с помощью браузера

?

да конечно передать символы желательно , я предполагал просто эмулятор клавиатуры на клиенте , но думаю что передавать через сервер .....это пара строчек кода ...

Маэстро 14.11.2012 13:27

Цитата:

Сообщение от Александр 60 лет
я предполагал просто эмулятор клавиатуры на клиенте

Если я правильно понял Вы хотите на половину экрана нарисовать картинку всей клавиатуры, как это делается на планшетных ПК? Возможно. Но удобно ли это будет пользователю (кликать мышью по кнопкам) при наличии "железной" полноценной клавиатуры?
Идем дальше. Однажды на том jepeg_е, который Вы транслируете клиенту операционная система высветит панель с каким-нибудь вопросом (например, "Удалить это?") с кнопками "Да" и "Нет". Предположим Вы передали от клиента на сервер координаты клика мышью по кнопке "Нет", но как Вы собираетесь программно "нажать" именно ту кнопку, которая светится на десктопе?

Александр 60 лет 14.11.2012 13:47

ну допустим не наполовину экрана ))а чуть чуть сбоку)
вообщем то мне не нужно полноценное управление.
достаточно .... обновить программы видео сервиса
перезапустить программы и перезагрузить компьютер

Александр 60 лет 14.11.2012 13:52

вот например ,только что управлял ноутбуком у внуков, при этом не съел ихний трафик (200мб на неделю) так как у меня всё по кликам и лишний раз ничего не передаётся.

Александр 60 лет 14.11.2012 14:05

а вообщем самое главное для клиента это : выйти из любого нерабочего состояния..... перезарядиться,перезагруз ться, перезапуститься !!))

Маэстро 14.11.2012 14:12

Цитата:

Сообщение от Александр 60 лет (Сообщение 215911)
вот например ,только что управлял ноутбуком у внуков, при этом не съел ихний трафик (200мб на неделю) так как у меня всё по кликам и лишний раз ничего не передаётся.

Если не тайна, давайте посчитаем в цифрах? Вы передаете слепок всего экрана (ноутбука)? 1 раз в секунду? Каков средний размер jpg-кадра? Сколько секунд (не часов!) Вы были на связи? Хочу посчитать реальный upload-видеотрафик (это не передача кликов мышки).

Александр 60 лет 14.11.2012 14:22

чуть переделал клиент для внуков ...только обслуживание кликов , есть клик ...есть новая картинка . картинка 100 кб ....но можно уменьшить до 20 кб , вполне всё видно.!

Александр 60 лет 14.11.2012 14:25

http://22.122.kz/ вот ещё осталась последняя картинка на сервере ..перед выключением клиента

Александр 60 лет 14.11.2012 14:32

Вы думаете не пробовал аналогичные программы ?
пробовал кончено ! они все жрут трафик ,непомерно загружают процессор , требуют пароли и просят деньги.

Маэстро 14.11.2012 14:36

Цитата:

Сообщение от Александр 60 лет
чуть переделал клиент для внуков ...только обслуживание кликов , есть клик ...есть новая картинка . картинка 100 кб

Это уже лучше (по кликам). Хотя не отсылает новую картинку при каждой нажатой клавише. Не знаю сколько стоит у Вас мобильная связь, но при связи по GPRS 10 кликов (10 картинок=1 MByte) у некоторых операторов стоит $1. Это для Вас дешево?
И главное, один вопрос остался без ответа: предположим внук кликнул по кнопке "Закрыть" панели "Остаток" трафика - на сервер пошли координаты клика. Что дальше? Как осуществится обратная связь и сервер на клиенте закроет то окно?

Александр 60 лет 14.11.2012 14:45

у нас 100мб чуть меньше доллара

Александр 60 лет 14.11.2012 14:51

Цитата:

Сообщение от Маэстро (Сообщение 215925)
Это уже лучше (по кликам). Хотя не отсылает новую картинку при каждой нажатой клавише. Не знаю сколько стоит у Вас мобильная связь, но при связи по GPRS 10 кликов (10 картинок=1 MByte) у некоторых операторов стоит $1. Это для Вас дешево?
И главное, один вопрос остался без ответа: предположим внук кликнул по кнопке "Закрыть" панели "Остаток" трафика - на сервер пошли координаты клика. Что дальше? Как осуществится обратная связь и сервер на клиенте закроет то окно?

это я кликнул на картинку ....координаты ушли на сервер ...клиент забрал координаты и реально кликнул по кнопке "Закрыть"

Маэстро 14.11.2012 15:04

Цитата:

Сообщение от Александр 60 лет
...клиент забрал координаты и реально кликнул по кнопке "Закрыть"

Под клиентом вы понимаете своё делфийское приложение? Вот я и спрашиваю: КАК оно "реально кликнет" по кнопке в чужом приложении? Между прочим, это - не тривиальная задача. А в поле ввода в чужом приложении оно тоже что-то введет (например, в Word_e)?

Александр 60 лет 14.11.2012 15:36

клиенту по барабану куда кликать , если окно Word активно ...кликнет и туда .... а окно Word можно сделать активным предыдущим кликом . клиент вообще не понимает что такое Word , он обрабатывает только клики ))

Маэстро 14.11.2012 15:42

Цитата:

Сообщение от Александр 60 лет
он обрабатывает только клики

вот я и спрашивал, КАК он их обрабатывает? как он генерирует системные сообщения Windows и отсылает другим windows-приложениям, зная ТОЛЬКО координату клика. просто интересно

Александр 60 лет 14.11.2012 15:45

для клиента нет приложений,есть только точка на экране куда нужно кликнуть ...
всё просто )

Маэстро 14.11.2012 16:03

Цитата:

Сообщение от Александр 60 лет (Сообщение 215944)
для клиента нет приложений,есть только точка на экране куда нужно кликнуть ...
всё просто )

я не отстану. покажите код на Delphi.
procedure Click(x,y : integer);
begin
// что здесь?
end;

Александр 60 лет 14.11.2012 16:15

SetCursorPos (StrToInt ( Memo1.Lines[0]) ,StrToInt ( Memo1.Lines[1]));
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); // клик нажать
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); // клик отпустить

Александр 60 лет 14.11.2012 16:17

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

Александр 60 лет 14.11.2012 16:27

поищите в интернете ..... Симулировать щелчок мышкой ....там валом про это ..))

Александр 60 лет 14.11.2012 16:28

mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
честно говоря даже не знаю для чего нули стоят ..))

Маэстро 14.11.2012 16:39

Цитата:

Сообщение от Александр 60 лет (Сообщение 215954)
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
честно говоря даже не знаю для чего нули стоят ..))

ладно, с кликом Вы меня убедили ;) про то, как передавать от клиента чужому приложению коды нажатых символов продолжать не будем.
а насчет процедуры mouse_event смотрите unit Windows:
procedure mouse_event; external user32 name 'mouse_event';
{$EXTERNALSYM mouse_event}
procedure mouse_event(dwFlags, dx, dy, dwData, dwExtraInfo: DWORD); stdcall;

Александр 60 лет 16.11.2012 13:50

Уважаемые !! Помогите !!
http://22.122.kz/ после первого клика ,сайт не обновляется..

Александр 60 лет 16.11.2012 15:46

нашёл ошибку , переменные в разных скриптах были одинаковые ))


Часовой пояс GMT +3, время: 21:00.