Верно.Этот топик я нашел. Исходя из него и прошу разъяснить.
1. Если прогноз 4:3+, а результат 4:3. Как я понял, это 2 балла за верно угаданный исход. Так?
2. Если прогноз 4:3, а результат 4:3+. Тоже самое.
5 баллов, если угадан не только счет, но и прогноз на то, что он был установлен в основное время или в овертайме. Верно?
Организация ведения конкурса прогнозов на форуме SPORTBOX.ru в базе данных OpenOffice.org Base
#41
Отправлено 06 June 2013 - 21:12
#42
Отправлено 12 June 2013 - 20:09
С пробелами разобрался. Как ни странно - но это все таки "проделки" браузеров.
2 пробела только
Давно уже привык к Опере, другими браузерами пользуюсь редко.... Оказывается, это после Оперы в тексте 3 пробела перед именем автора, а в Хроме и Файерфоксе, например, только два.
Но программа теперь "понимает" и 3 и 2...
#43
Отправлено 17 June 2013 - 12:45
... я не понял, как получить общую турнирную таблицу за все туры? При экспорте тура формируется 3 таблицы, 2 из них одинаковые.
Недоработка имела место. Вместо турнирной таблицы дублировалась таблица тура. Архив исправлен и доступен для скачивания по тому же адресу.
Если Вы уже ввели данные в базу и не хотели бы их потерять, можете внести исправление самостоятельно.
Откройте редактор программного модуля. Для этого:
Зайдите в меню "Сервис" > "Макросы" > "Управление диалогами". Выберите вкладку "Модули". Раскройте список "demo.odb" > "Standard" > "Module1". Нажмите "Редактировать".
В меню программного модуля выберите "Правка" > "Найти..." (Ctrl+F)
Введите строку поиска нижеследующее:
REM --- Турнирная таблица ---
После найденной строки увидите такие строки:
strline = strline & "Таблица " & tour & "-го тура" & tab & tab & tab & tab & tab & tab & tab & tab & crcf & _ "#" & tab & "Участники" & tab & "Балл" & tab & "Игр" & tab & "[>0]" & tab & "[5]" & tab & _ "[3]" & tab & "[2]" & tab & "[0]" & crcfЗамените их на нижеследующие строки:
strline = strline & "Турнирная таблица" & tab & tab & tab & tab & tab & tab & tab & tab & crcf & _ "#" & tab & "Участники" & tab & "Балл" & tab & "Игр" & tab & "[>0]" & tab & "[5]" & tab & _ "[3]" & tab & "[2]" & tab & "[0]" & crcf
Еще ниже увидите такие строки:
sql = "SELECT users.id, users.uname, SUM( bets.ball ) AS Balls, " & _ "( SELECT COUNT( bets.b1 ) FROM matches, bets WHERE bets.matchid = matches.id AND " & _ "matches.g1 IS NOT NULL AND matches.tourid = '" & tour & "' AND bets.userid = users.id ) AS Igr, " & _ "( SELECT COUNT( bets.ball ) FROM matches, bets WHERE bets.ball > '0' AND bets.userid = users.id AND " & _ "matches.tourid = '" & tour & "' AND matches.id = bets.matchid ) AS BallsP, " & _ "( SELECT COUNT( bets.ball ) FROM matches, bets WHERE bets.ball = '5' AND bets.userid = users.id AND " & _ "matches.tourid = '" & tour & "' AND matches.id = bets.matchid ) AS Balls5, " & _ "( SELECT COUNT( bets.ball ) FROM matches, bets WHERE bets.ball = '3' AND bets.userid = users.id AND " & _ "matches.tourid = '" & tour & "' AND matches.id = bets.matchid ) AS Balls3, " & _ "( SELECT COUNT( bets.ball ) FROM matches, bets WHERE bets.ball = '2' AND bets.userid = users.id AND " & _ "matches.tourid = '" & tour & "' AND matches.id = bets.matchid ) AS Balls2, " & _ "( SELECT COUNT( bets.ball ) FROM matches, bets WHERE bets.ball = '0' AND bets.userid = users.id AND " & _ "matches.tourid = '" & tour & "' AND matches.id = bets.matchid ) AS Ballsm1 " & _ "FROM users, matches, bets " & _ "WHERE matches.tourid = '" & tour & "' AND matches.id = bets.matchid AND users.id = bets.userid " & _ "GROUP BY users.id, users.uname " & _ "ORDER BY 3 DESC, 5 DESC, 6 DESC, 7 DESC"Замените их на нижеследующие строки:
sql = "SELECT users.id, users.uname, SUM( bets.ball ) AS Balls, " & _ "( SELECT COUNT( bets.b1 ) FROM matches, bets WHERE bets.matchid = matches.id AND " & _ "matches.g1 IS NOT NULL AND matches.tourid <= '" & tour & "' AND bets.userid = users.id ) AS Igr, " & _ "( SELECT COUNT( bets.ball ) FROM matches, bets WHERE bets.ball > '0' AND bets.userid = users.id AND " & _ "matches.tourid <= '" & tour & "' AND matches.id = bets.matchid ) AS BallsP, " & _ "( SELECT COUNT( bets.ball ) FROM matches, bets WHERE bets.ball = '5' AND bets.userid = users.id AND " & _ "matches.tourid <= '" & tour & "' AND matches.id = bets.matchid ) AS Balls5, " & _ "( SELECT COUNT( bets.ball ) FROM matches, bets WHERE bets.ball = '3' AND bets.userid = users.id AND " & _ "matches.tourid <= '" & tour & "' AND matches.id = bets.matchid ) AS Balls3, " & _ "( SELECT COUNT( bets.ball ) FROM matches, bets WHERE bets.ball = '2' AND bets.userid = users.id AND " & _ "matches.tourid <= '" & tour & "' AND matches.id = bets.matchid ) AS Balls2, " & _ "( SELECT COUNT( bets.ball ) FROM matches, bets WHERE bets.ball = '0' AND bets.userid = users.id AND " & _ "matches.tourid <= '" & tour & "' AND matches.id = bets.matchid ) AS Ballsm1 " & _ "FROM users, matches, bets " & _ "WHERE matches.tourid <= '" & tour & "' AND matches.id = bets.matchid AND users.id = bets.userid " & _ "GROUP BY users.id, users.uname " & _ "ORDER BY 3 DESC, 5 DESC, 6 DESC, 7 DESC"
Обязательно сохраните изменения (Меню "Файл" > "Сохранить"). Закройте редактор программного модуля.
Теперь, если у Вас введено более 1-го тура, две последние таблицы будут отличаться.
#44
Отправлено 17 June 2013 - 13:24
#45
Отправлено 17 June 2013 - 14:57
Во всех конкурсах клуба если участник "отметился" (набирал очки) во всех матчах тура он получает бонусные баллы (в РПЛ - 8, Германии - 9, в других по 10).P.S. Как следует из предыдущего поста, программный модуль абсолютно открыт и любой желающий может вносить в него любые изменения, дополнения, "подгоняя" его под собственные конкретные предпочтения.
Володь, а можно в программный модуль внести эти изменения? Конечно это случается очень редко, но бывает.
#46
Отправлено 19 June 2013 - 01:14
В базе подсчитаны баллы по 13-му и 14-му туру конкурса ЧР. Лидер 13-го тура "отметился" в семи матчах из восьми. Для проверки работы подсчета я ему искусственно в файле импорта подправил прогноз на матч Волга - Краснодар с 1:2 на 2:2 (счет матча 1:1), в результате чего его баллы увеличились с 29 до 40 баллов. Если запустить запрос "Прогнозы и Баллы" и найти там его прогнозы, то в поле "Балл" можно увидеть, что за угаданные счета у него значится по 6 баллов вместо 5-ти, а за угаданные разницы - по 4 вместо 3-х.
Архив с дополнением по прежнему адресу: http://dndn.dp.ua/ooobase/demo.zip
#47
Отправлено 19 June 2013 - 01:41
Для этого надо запустить электронную таблицу Calc из пакета OpenOffice.org и в меню "Вид" выбрать "Источники данных". В верхней части окна появятся таблицы и запросы зарегистрированных баз данных.
Выбираем "demo", "Запросы", "Прогнозы и Баллы". Прокручиваем до нужного места и выделяем записи для переноса. Затем просто перетаскиваем выделенные записи в ячейки таблицы, как на следующем скрин-шоте:
#48
Отправлено 21 June 2013 - 06:35
По ее нажатию производится запрос на ввод через пробел начального и конечного номера туров для группировки. В генерируемом файле экспорта таблица представлена в виде, обычно формируемом ведущим конкурса - туры с первого по указанный начальным суммируются, далее по отдельности результаты туров вплоть до конечного, сумма всех баллов и количество побед в турах.
Фрагмент вставленной в электронную таблицу OpenOffice.org Calc и слегка обработанной турнирки представлен на скриншоте:
Примечание. Данные по турам с 15-го по 20-й не претендуют на полноту, т.к. обработаны только принятые программой прогнозы.
Архив с базой данных обновлен.
#49
Отправлено 23 June 2013 - 12:18
Лично меня давно напрягали повторяющиеся, монотонные, однообразные действия - сначала в браузере надо выделить и скопировать страницу с прогнозами, затем переключиться в окно текстового редактора, очистить от прежнего содержимого файл импорта, вставить из буфера обмена новое содержимое, сохранить его, затем наконец переключиться в окно формы базы данных и импортировать новые прогнозы. Так было до тех пор, пока в сети случайно не нактнулся на методы для работы с содержимым буфера обмена. Но то было для VBA от Microsoft, для OpenOffice.org Basic они не работают...
Но решение есть! Необходимый нам программный код прямого чтения содержимого буфера обмена найден в книге "Andrew Pitonyak: OpenOffice.org Macros Explained", за что особая благодарность ее автору.
Теперь "посреднические" услуги файла импорта нам больше не понадобятся. В новой редакции базы данных конкурса достаточно выделить страницу форума с прогнозами, скопировать ее в буфер обмена и сразу нажать кнопку "Импорт Прогнозов".
Обновленный архив с базой конкурса можно скачать по прежнему адресу: http://dndn.dp.ua/ooobase/demo.zip
#50
Отправлено 24 June 2013 - 09:02
Следующим пунктом совершенствования нашей программы будет ее разделение на интерфейс и данные. После этого разделения мы безущербно сможем продолжать совершенствование интерфейса без боязни утратить введенные данные. О расположении файлов разделенной базы будет сообщено дополнительно.
#51
Отправлено 25 June 2013 - 03:43
http://dndn.dp.ua/ooobase/win.odb - собственно база данных;
http://dndn.dp.ua/ooobase/win.odt - документ OpenOffice.org Writer с главной формой и программным модулем.
Размер обоих файлов около 23 кбайт. Теперь базу данных (файл win.odb) достаточно скачать один раз и начинать вводить данные. Все изменения интерфейса будут производиться в файле win.odt.
Оба файла необходимо скачать в рабочую папку. Запуск программы производится двойным щелчком по файлу win.odt. После запуска необходимо зайти в программный модуль (меню "Сервис" > "Макросы" > "Управление макросами" > "OpenOffice.org Basic", в левом окне открыть список "win.odt" > "Standard" > "Module1" и нажать кнопку "Редактирование"). В верхней части программного модуля Вам возможно понадобится изменить 3 настраиваемых параметра (на скриншоте изображены красным цветом):
BasePath = "D:\OOoBase\"- путь к файлам импорта и экспорта. Если Вы разместили их в другой папке - замените значение в кавычках.
CurrentDB = "win"- имя зарегистрированной базы данных. Если Ваша база зарегистрирована под этим именем - ничего менять не нужно. Изменения могут понадобиться, если Вы, например, ведете несколько конкурсов и установили несколько копий базы под своими, специфическими именами ("win_rus", "win_eng", "win_ger" и т.д.). Не забудьте при этом каждую копию зарегистрировать как источник данных (см. пункт "Регистрация источника данных" в мануале).
CurrentLeague = "none"- строка-идентификатор лиги. Если в конкурсе нет специфических Правил, отличных от стандартных, можете оставить значение по умолчанию. Пока изменение потребуется для ведения конкурса Бундеслиги, в Правилах которого предусмотрены дополнительные бонусные баллы за угаданные счета, сумма голов в которых составляет 5 и более. Для Бундеслиги измените значение в кавычках на "ger":
CurrentLeague = "ger"
После произведенных изменений параметров не забудьте сохранить программный модуль (меню "Файл > "Сохранить"). Закройте редактор программного модуля и приступайте к работе с базой.
Удачи!
#52
Отправлено 02 July 2013 - 09:07
http://dndn.dp.ua/ooobase/win_rus.odt
http://dndn.dp.ua/ooobase/win_rus.odb
http://dndn.dp.ua/ooobase/win_eng.odt
http://dndn.dp.ua/ooobase/win_eng.odb
http://dndn.dp.ua/ooobase/win_ger.odt
http://dndn.dp.ua/ooobase/win_ger.odb
Все пары сконфигурированы к папке по умолчанию D:\OOoBase\
Единственное, что требуется - зарегистрировать их как источник данных, как описано в мануале для demo.odb. Меню "Сервис", "Параметры...", "OpenOffice Base", "Базы данных", кнопка "Создать...". В открывшемся окне "Обзор...", находим соответствующую базу данных, "Ok". За один сеанс можно зарегистрировать все три.
Если все сделано правильно, то при последующем открытии соответствующих файлов-форм *.odt увидите линии матчей на 1-й тур соответствующих чемпионатов. Если кому-то нужно еще какая-то лига - заказывайте...
#53
Отправлено 02 July 2013 - 09:22
Импорт производится из соответствующих офсайтов лиг, для России:
http://rus.rfpl.org/.../index/calendar
для Германии:
http://www.bundeslig...stats/matchday/
Для импорта/корректировки необходимо выделить все матчи соответствующего тура, от начала первой строки и до конца последней, скопировать в буфер обмена (Ctrl+C) и нажать кнопку "Импорт календаря".
#54
Отправлено 06 July 2013 - 12:06
1. Отказ от файлов импорта и экспорта "import.txt", "export.txt" - все операции импорта и экспорта будут производиться через системный буфер обмена. Для импорта - все, что требовалось предварительно сохранять в файле "import.txt" теперь будет приниматься предварительно сохраненным в буфер обмена.
Все операции экспорта также будут выводиться не в файл "export.txt", а в буфер обмена.
2. Автоматическое обновление таблиц матчей и результатов по результатам следующих операций:
- после импорта календаря таблица матчей обновляется автоматически;
- после импорта прогнозов таблица результатов обновляется автоматически;
- после расчета баллов таблица результатов обновляется автоматически.
3. Перед подавляющим большинством функций импорта и экспорта не нужно вводить монотонную, повторяющуюся процедуру ввода номера тура - теперь он будет производиться над текущим туром, - тем, который высвечивается в поле "Тур" главной формы. Исключение составляет лишь операция "Экспорт с Группировкой" - там эта функция полностью отдана на откуп ведущему.
4. Кнопки "Обновить Матчи" и "Обновить Результаты" удалены за ненадобностью.
5. Добавлена кнопка "Копирование Линии". Результат работы - копирование в буфер обмена линии матчей на текущий тур. По нажатию на кнопку линия матчей сохраняется в буфере обмена, после чего можно открывать в форуме тему прогнозов на новый тур и сразу же забивать линию матчей из буфера обмена в сообщение форума.
Результат действия - не только упрощения действий ведущего, но и гарантия того, что линия, поданная на форум будет полностью соответствовать линии, сохраненной в базе данных.
Может чего упустил, но результат должен получиться положительный.
Изменения не коснутся файлов базы (расширение *.odb), только лишь форм и модулей (файл *.odt). А это в свою очередь означает обновление новых функций и интерфейса без "ломки" введенных данных.
О доступности изменений будет сообщено дополнительно
#55
Отправлено 07 July 2013 - 11:28
http://dndn.dp.ua/ooobase/win_rus.odt
http://dndn.dp.ua/ooobase/win_eng.odt
http://dndn.dp.ua/ooobase/win_ger.odt
#56
Отправлено 09 July 2013 - 22:49
Рекомендуемые обновления:
Для Чемпионата России - http://dndn.dp.ua/ooobase/win_rus.odt.
Для Чемпионата Германии - http://dndn.dp.ua/ooobase/win_ger.odt
Для Чемпионата Англии - файлы базы данных http://dndn.dp.ua/ooobase/win_eng.odb в связке с файлом главной формы http://dndn.dp.ua/ooobase/win_eng.odt - обязательно (!!! иначе календать не будет работать !!!)
Завтра будет подробное описание обновлений
#57
Отправлено 10 July 2013 - 08:39
2. Исправлена функция экспорта с группировкой. В старой редакции при определенных обстоятельствах могла вызывать ошибку.
3. В импорте календаря для бундеслиги добавлена поддержка браузеров Хром и Файерфокс. В старой редакции работала только под Оперой. В процессе тестирования обнаружился факт различий при преобразовании вэб-формата в текст различными браузерами. О специфике работы см. обновленный мануал.
4. Добавлена функция корректировки календаря для Английской Премьер-Лиги. Специфика календаря данной лиги в том, что в нем отсутствует привязка матчей к туру, что идет вразрез с логикой работы программы. Для реализации корректировки дат/времен начала матчей пришлось ввести весь календарь, привязав в "ручном" режиме матчи к турам. Поэтому для этой лиги необходима загрузка обоих файлов, и win_eng.obt, и win_eng.obd. Функция импорта календаря теперь будет рабочей в режиме корректировки дат-времен начала матчей. Тем не менее она представляется весьма полезной, учитывая тот факт, что в АПЛ изменения к календарю очень часты.
5. Исправлен и дополнен мануал.
6. Выполнению функций импорта предшествует вывод окна с напоминанием о том, что входные данные должны находиться в буфере обмена.
7. По окончанию работы функций экспорта всплывает окно с информацией об окончании работы.
#58
Отправлено 19 July 2013 - 02:01
Возможно те, кто считал, что это сложно, изменят свое мнение...
#59
Отправлено 23 July 2013 - 22:55
Также рекомендуется обновить файлы форм для всех локализаций:
http://dndn.dp.ua/ooobase/win_rus.odt - для Чемпионата России
http://dndn.dp.ua/ooobase/win_eng.odt - для Английской Премьер-Лиги
http://dndn.dp.ua/ooobase/win_ger.odt - для Немецкой Бундеслиги.
Помимо общей оптимизации программного кода исправлена ошибка ввода даты прогноза при импорте из браузеров Google Chrome и Mozilla Firefox.
Сообщение отредактировал fc-slavyane: 25 July 2013 - 17:49
#60
Отправлено 06 August 2013 - 14:29
- в таблице экспорта с группировкой туров в колонке "Место" отображаются разделенные места участников с одинаковым количеством баллов и побед (образец фрагмента таблицы на скриншоте).
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 скрытых пользователей