Ориентирование. Днепропетровск

форум ориентирования в Днепропетровске, других регионах Украины и не только
Сьогодні: 30.11.2020, 01:10

Часовий пояс UTC + 2 годин [ DST ]




Створити нову тему Відповісти  [ 131 повідомлень ]  На сторінку Поперед.  1, 2, 3, 4, 5, 6  Далі
Автор Повідомлення
 Тема повідомлення:
ПовідомленняДодано: 25.01.2008, 10:14 
Офлайн

З нами з: 24.02.2006, 15:37
Повідомлень: 341
Звідки: Сумы
В продолжение темы электронных заявок.
Виталий Буренко, Южно-Украинск реализовал свой
вариант заявки.
Все смотрится отлично, так что есть таки движение в украинском INET ориентировании.


Востаннє редагувалось Сергей Сухарев в 25.01.2008, 18:25, всього редагувалось 1 раз.

Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 25.01.2008, 14:43 
Офлайн

З нами з: 21.09.2007, 13:34
Повідомлень: 415
Добре виходить і головне по нашому :)
Програм ведення змагань декілька, електронні заявки уже також парочка, навіть карти розміщують кожен там, де йому більше подобається :)


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 25.01.2008, 15:02 
Офлайн
Аватар користувача

З нами з: 06.10.2007, 16:46
Повідомлень: 203
Звідки: Одесса, Ильичевск
Больше сайтов хороших и разных! Мне понравилось. Дизайн приятный, а хороший сайт делается наполнением. Так что карты людям в руки.


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 25.01.2008, 18:24 
Офлайн

З нами з: 24.02.2006, 15:37
Повідомлень: 341
Звідки: Сумы
kostya написав:
Добре виходить і головне по нашому :)

Костя, а может это и хорошо? Зато нет монопольки, а жизнь уж сама рассудит. Ведь почему то считается правилом приличного тона переть на Майкрософт... :lol:
По размещению карт, пусть СТК примет решение об обязательном представлении, после соревнований, отсканированных карт с путями победителей, карты организаторы соревнований по всякому должны предоставлять, но может у федерации нет сканера или нет человека, который умеет им пользоваться.
А затем владельцы ресурсов разыгрывают у СТК тендер на право размещать эти карты на своих сайтах.
Моя мечта пробраться в закрома федерации, ну хоть на полчаса, я бы и свой сканер принес, зато выложил бы на своем сайте карты с путями победителей чемпионатов Украины за несколько прошедших лет, тогда можно было бы и на рекламе заработать. :lol:


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 08.05.2008, 09:37 
Офлайн

З нами з: 22.01.2003, 19:48
Повідомлень: 1085
Звідки: .dp.ua/.at
А что за проблема с кавычками при заявке на Самариаду?

Если это невозможность выполнить оператор вроде:
Код:
insert into User(Name) values('Дар'я');

то надо просто перед кавычкой добавить обратный слэш:
Код:
insert into User(Name) values('Дар\'я');

С MySQL это точно работатет, только что проверил.
Товарищи, знакомые с PHP, подсказывают, что там даже есть стандартная функция вроде "addSlashes".

Кроме того, не знаю, насколько это применимо к ПХП, но в Яве есть такая штука, PreparedStatement. Т.е. создаешь как бы объект запроса с параметром
Код:
insert into User(Name) values(?);

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


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 08.05.2008, 16:11 
Офлайн

З нами з: 24.02.2006, 15:37
Повідомлень: 341
Звідки: Сумы
лесное ухо написав:
А что за проблема с кавычками при заявке на Самариаду?

Проблема состоит именно в том, что при передаче данных из формы перед кавычками добавляется обратный слеш. Второй момент - это то, что в итоге база выводится в CSV файл, и в нем, если его открыть в Excelе, что то там поменять, то при сохранении каждая двойная кавычки окружаются еще парой двойных. В принципе, в своей программе при импорте, я могу эти лишние кавычки удалить, видимо я это так и сделаю, ну а в ПХП буду менять кавычку ' с кодом 39 на кавычку ’ c кодом 146. С двойными поступлю так же, " 34 заменю на ” 148.
$bc=stripslashes($bc);
$bc=str_replace("'",chr(146),$bc);
$bc=str_replace('"',chr(148),$bc);

Эти строчки все исправили, проблема снята.


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 16.05.2008, 13:07 
Офлайн

З нами з: 24.02.2006, 15:37
Повідомлень: 341
Звідки: Сумы
Еще раз про online:
Дмитрий Налётов написав:

проще сделать простейший скрипт, обрабатывающий GET-запрос вида
.../add_res.php?n=NN&r=res, где "открытым кодом" шлём номер участника и его результат.
Именно так и было сделано в нашем он-лайне.

Попробывал сделать нечто подобное, все получилось :lol:. Единственное отличие от того, что предлагает Налетов, это в том, что GET - запрос шлется не по каждому событию, а через определенный интервал и по этому там возможны данные не по одному участнику, а пакет на нескольких.
В рамках моего VFP это реализовано так:

oIE=CREATEOBJECT("InternetExplorer.Application")
oIE.Navigate("http://......./add_r.php?k=KK&n0=NN0&r0=RR0&e0=EE0&n1=NN1&r1=RR1&e1=EE1.....")
oIE.Quit
Release oIE

Здесь KK - количество участников, NN,RR,EE - соответственно номера, результаты и признак снятия.


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 16.05.2008, 14:50 
Офлайн

З нами з: 21.09.2007, 13:34
Повідомлень: 415
Головне, щоб запит не перевищував 2000 символів (обмеження багатьох серверів, проксей), а може краще і 1000.
1000, щоб весь запит помістився в 1400 байт - один пакет.


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 16.05.2008, 17:25 
Офлайн

З нами з: 22.01.2003, 19:48
Повідомлень: 1085
Звідки: .dp.ua/.at
А нельзя послать POST'ом и без участия IE?
Тогда вопрос органичения длины будет не актуален.
А то ведь если данные шлются через фиксированный интервал, то количество данных может быть каким угодно. Хотя можно резать на куски и слать частями...


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 16.05.2008, 17:31 
Офлайн
Аватар користувача

З нами з: 15.10.2007, 20:48
Повідомлень: 108
Звідки: славетне місто Лубни
Сергей Сухарев, А чому не слати при внесенні в базу?


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 19.05.2008, 09:16 
Офлайн

З нами з: 24.02.2006, 15:37
Повідомлень: 341
Звідки: Сумы
Коноваленко Юрій написав:
Сергей Сухарев, А чому не слати при внесенні в базу?

А какой в этом смысл? Есть время, через которое рефрешется страничка, по этому интервал для посылки данных меньше, чем половина времени рефреша особого смысла не имеет.
По структуре самого запроса, то запрос изменю на вид:
...php?n1;t1;e1;n2;t2;e2;n3;t3;e3......, таким образом на каждого участнике идет до 15 байт и экономится по сравнению с предыдущей структурой до 9 байт.
Разбивать пакет на несколько кусков мне пришлось при передаче основной базы участников, можно было просто залить файл на сервер, но захотелось сделать так, что бы общение с интернетом было полностью автоматизировано и теперь все это делается из основной формы проограммы.
Как передать данные методом POST, не используя при этом формы я не знаю :cry: .


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 19.05.2008, 11:04 
Офлайн

З нами з: 21.09.2007, 13:34
Повідомлень: 415
В принципі і форму зробити не проблема :)
Створюємо локальний файл
<html>
<body onload="document.form1.submit();">
<form name=form1 action=http://...php method=post>
<input type=text name=data value=n1;t1;e1;n2;t2;e2;n3;t3;e3...>
</form></body></html>

А потім
oIE.Navigate("myFile.html")


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 19.05.2008, 18:19 
Офлайн

З нами з: 24.02.2006, 15:37
Повідомлень: 341
Звідки: Сумы
kostya написав:
В принципі і форму зробити не проблема :)

Форму сделать действительно не проблема. Проблема в том, как получить ответ от скрипта, что все прошло нормально. Я этого не знаю, попытаюсь найти в инете описание свойст IE, а пока просто задаю интервал времени, что бы прошел запрос.


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 19.05.2008, 22:10 
Офлайн

З нами з: 21.09.2007, 13:34
Повідомлень: 415
While oIE.Busy
Sleep();

responce = oIE.Document.body.innerHTML

не допоможе?


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 21.05.2008, 16:47 
Офлайн

З нами з: 22.01.2003, 19:48
Повідомлень: 1085
Звідки: .dp.ua/.at
Сергей Сухарев написав:
Как передать данные методом POST, не используя при этом формы я не знаю :cry: .
Я знаю только, как сделать в яве - без привлечения браузеров, голым HTTP с возможностью анализа кодов возврата и содержимого (имхо, это очень близко к идеалу для данного случая).
Однако, насчет VFP я - пас :(


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 21.05.2008, 18:13 
Офлайн

З нами з: 24.02.2006, 15:37
Повідомлень: 341
Звідки: Сумы
Пример реализации онлайна, все это на одном csv файле, php для каждого пользователя генерит свою картинку, может для случая большого к-ва пользователей, стоит прямо в скрипте, который обрабатывает GET запрос , создавать готовые HTM?


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 23.05.2008, 13:52 
Офлайн

З нами з: 24.02.2006, 15:37
Повідомлень: 341
Звідки: Сумы
Еще один пример online.
Отличие отпредыдущего в том, что REFRESH происходит в невидемом фрейме, обновление протокола идет только при появалении новых результатов. Может стоит разбить окошко с результатами на два и во втором показывать всех финишировавших с их текущими местами?
Сортировка здесь будет только по времени финиша.
С IE разобрался.


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 27.05.2008, 15:47 
Офлайн

З нами з: 21.09.2007, 13:34
Повідомлень: 415
Як щодо використовувати сплітвью, який зараз використовується на чемпіонаті? Там для нього потрібно splitsbrowser.jar, згенерити спліти у форматі певному, наприклад спортідента, покласти їх поруч і зробити просту хтмл-ку

<HTML><HEAD><TITLE>Long</TITLE>
<BODY>
<APPLET name=splitsbrowser code=Splitsbrowser.class align=center width=100% height=98% ARCHIVE=splitsbrowser.jar>
<PARAM NAME=bycourse VALUE=0>
<PARAM NAME=dataformat VALUE=SICSV>
<PARAM NAME=color1 VALUE=D3DFD3>
<PARAM NAME=color2 VALUE=DDEFDD>
<PARAM NAME=graphbackground VALUE=d2d3db>
<PARAM NAME=background VALUE=d2d3db>
<PARAM NAME=src VALUE=long.csv>
<PARAM NAME=zipped VALUE=1>
<P align=center>A Java enabled browser is required to view this page<br>
<a href=http://java.sun.com/getjava/installer.html>Get Java here</a>
</p>
</APPLET>
</BODY>
</HTML>


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 29.08.2008, 10:23 
Офлайн

З нами з: 24.02.2006, 15:37
Повідомлень: 341
Звідки: Сумы
В продолжение темы онлайн заявок.
Система отработала уже достаточно много соревнований и теперь я могу предложить желающим использовать ее на своих соревнованиях.
Работает и система выдачи онлайн результатов.
Сейчас занялся выдачей результатов с дистанции, раньше мы это называли радио-КП, теперь правильней называть Internet-КП.
Т.е. на КП ставится считывающая станция и бук с выходом в Internet. Сама станция програмируется как обыкновенное КП и поэтому время срабатывания на ней как на обычном КП.
Для случая когда на бук залит стартовый протокол система уже работает, причем отработано и изменение времени старта, которое передается в интернет из компа стоящего в секретариате.
Проблема возникла с тем, что мы выдаем и присваиваем чипы непосредственно перед стартом и в связи с этим нужно обновлять базу на компе в лесу. По всей видимости, я перепишу программу и буду слать пакеты не с номером участника, а с номером чипа.
В этом случае у меня на на Internet-КП будет стоять простейшая программа, которая будет передавать в Internet номер чипа и время отметки.
Для чего все это делается?
Реально людей отслеживающих наши украинские соревнования очень мало, но данная система позволит работать коментатору, правда и коментатор на украинских соревнованиях редкость.


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 29.08.2008, 11:10 
Офлайн

З нами з: 20.01.2003, 17:49
Повідомлень: 428
Звідки: Наш Клуб, Днепропетровск
"...Вы полагаете, все это будет носиться? Я полагаю, что все это следует шить!..." :)


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 23.09.2008, 14:23 
Офлайн
Аватар користувача

З нами з: 04.11.2004, 11:01
Повідомлень: 163
Организаторам соревнований, как сделать онлайн заявку без хостинга и программирования:

1 Заходим в googledocs создаем "форму" (new->form)
2 На этой форме создаем поля нужные для заявки: ФИО, номер чипа, разряд...
3 Результат будет капать вам в таблицу (spreadsheet), и на неё можно дать доступ на просмотр для всех желающих

ну как?)


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 23.09.2008, 15:00 
Офлайн

З нами з: 07.10.2003, 16:34
Повідомлень: 230
Звідки: Киев
Попробовал. Действительно наглядно и быстро (создал форму за 3 минуты)! Пока только не понял, может ли человек редактировать / удалять свои данные?

UPD. Кажется, не может :(


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 21.10.2008, 13:30 
Офлайн

З нами з: 24.02.2006, 15:37
Повідомлень: 341
Звідки: Сумы
Уже который раз наступаю на одни и те же грабли, грабли называются сетка. То радиосетка перестает работать из за не устоичивой работы генератора, то помехи от других радиоисточников.С витой парой тоже проблемы, проводок, который проверял дома, в лесу оказывается сбойным, коммутаторы в лесу то же живут своей загадочной жизнью. Можно провести соревнования и на одном компе, но я от этого давно отвык.
Вот сейчас сижу и пытаюсь организовать резервное копирование на каждом компе, что бы при неоходимости хоть на флешке перебросить данные.
Задача актуальна и для случая с одним компом, горький опыт киевского чемпионата по многоборью нужно использовать.
Юра, Вася, ау!
Вы у себя это реализовали или нет?


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 23.10.2008, 13:35 
Офлайн

З нами з: 07.05.2008, 14:57
Повідомлень: 34
Сергей Сухарев
Вопросы сети актуальны я думаю у всех, и как с этим бороться - скорее всего единого рецепта нет. Неплохие результаты показывает такой подход - подключаться не напрямую к электростанции, а через UPS.
Резервное копирование одна из самых важных задач при работе с базами данных. Реализация этой функции во многом зависит от технологии, в которой написано приложение. Производители серверов, как правило, обеспечивают разработчикам приложений возможность создавать бекапы «на горячую», т.е. когда с базой работают другие пользователи. Наше приложение выполнено именно как клиент-сервер и потому особенных проблем с реализацией резервного копирования не возникло. Написаны две универсальных функции. Одна в качестве параметра получает имя файла для резервной копии (удобное имя например в формате ДДММГГГГччмм) и в него сохраняет текущую базу, другая в качестве параметра получает имя файла резервной копии и из него восстанавливает данные в указанную базу данных (текущая, если аргумент не указан). Обращение к функции резервирования данных можно реализовать из любого места программы - у меня сделано из главного меню и из финишной формы (самое тонкое место на соревнованиях), так же можно настроить, что бы копия делалась при каждом выходе из программы. Папка для хранения резервных копий может быть размещена прямо на флэшке, при этом время сохранения данных увеличивается приблизительно до 15 сек (зависит от типа носителя), зато при любых неприятностях работу можно будет продолжить на другой машине в считанные минуты.
Для выполнения резервирования на клиенте, в отличии от сервера, без запуска внешней проги от разработчика сервера пока не обойтись (и это не добавляет изысканности), зато она прекрасно работает в сети с протоколом TCP-IP и чудненько справляется со своей задачей. И в этом случае возобновление работы будет еще быстрее.
При использовании файл-серверной технологии такие приемы не проходят. Работая с DBase и Paradox столь же надежного резервирования данных в свое время мне добиться так и не удалось. И это послужило весомым аргументом при выборе новой платформы в сторону клиент-сервер. Основная проблема на сервере – это какое-то хитрое кеширование данных. Даже при выполнении коммит и закрытии соединения с таблицей последние данные в архив не попадали. Только если архивацию выполнять при выходе из программы – тогда сохранялись все данные. Так и было реализовано: нужно копию – выходи из программы. На клиенте к тому же добавлялись проблемы с доступом к открытым файлам. Я давно уже не работаю с dbf, потому и советчик из меня никакой в этой области, может в VFP и есть какие инструменты для этого – нужно сначала там хорошо порыть.

_________________
Подумай как трудно изменить себя самого, и ты поймешь, сколь ничтожны твои возможности изменить других. /Вольтер/


Догори
 Профіль  
 
 Тема повідомлення:
ПовідомленняДодано: 23.10.2008, 16:28 
Офлайн

З нами з: 22.01.2003, 19:48
Повідомлень: 1085
Звідки: .dp.ua/.at
Vasiliy K, так у вас на сервере какая-то стандартная СУБД или что-то свое?


Догори
 Профіль  
 
Показувати повідомлення за:  Сортувати за  
Створити нову тему Відповісти  [ 131 повідомлень ]  На сторінку Поперед.  1, 2, 3, 4, 5, 6  Далі

Часовий пояс UTC + 2 годин [ DST ]


Хто зараз онлайн

Зараз переглядають цей форум: Немає зареєстрованих користувачів і 1 гість


Ви не можете створювати нові теми у цьому форумі
Ви не можете відповідати на теми у цьому форумі
Ви не можете редагувати ваші повідомлення у цьому форумі
Ви не можете видаляти ваші повідомлення у цьому форумі
Ви не можете додавати файли у цьому форумі

Знайти:
Вперед:  
cron
Працює на phpBB® Forum Software © phpBB Group
Український переклад © 2005-2011 Українська підтримка phpBB