[wlx] odbc-wlx - просмотр Access, Excel, CSV файлов
Goto page 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Next
|
View previous topic :: View next topic |
Author |
Message |
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Sat Oct 02, 2021 15:18 Post subject: [wlx] odbc-wlx - просмотр Access, Excel, CSV файлов |
|
|
Плагин для просмотра файлов Access (*.mdb, *.accdb), Excel (*.xls, *.xlsx, *.xlsb), CSV (*.csv) и Источников данных (*.dsn). Работает через ODBC. 64-битная версия требует установленного Microsoft Access Database Engine 2010 (или выше), содержащего ODBC драйвера.
Вероятно можно просматривать MSSQL, Postgres и другие базы, если установлен соответствующий ODBC драйвер, путем создания файлового DSN в Администраторе источников данных ODBC (odbcad32) и открытия уже его.
Страница проекта - https://github.com/little-brother/odbc-wlx
Скачать - https://github.com/little-brother/odbc-wlx/releases/latest/download/odbc-wlx.zip
Настройки и другое в Wiki - https://github.com/little-brother/odbc-wlx/wiki
Особенности- Фильты на колонках: "содержит" (ABC), "исключая" (!ABC), "равно" (=ABC), "больше" (>ABC), "меньше" (<ABC)
- Сортировка данных по клику по колонке
- Open-source
- Скромный размер
Ctrl + Колесо мыши - изменение шрифта
TAB - переход на следующий элемент
Ctrl + TAB - переход на предыдущий элемент
Last edited by little-brother on Wed Oct 27, 2021 22:21; edited 6 times in total |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 242
|
(Separately) Posted: Tue Oct 26, 2021 15:38 Post subject: |
|
|
а как понять - что он работает и когда НЕ работает - как понять - в ЧЕМ ошибка? Хотя бы какие-то простенькие примеры файлов можно же было положить в архив. И в ридми дать ссылки на рекомендованные места для скачивания этого нового компонента. И что значит "путем создания файлового DSN в Администраторе источников данных ODBC (odbcad32)"? Т.е. грубо говоря - где-то будет постоянно что-то прописываться? Очистка-то хоть предусмотрена после просмотра и закрытия листера?
Сейчас, поставив плагин, настроив его быть первым в списке плагинов (т.к. еще есть ulister) - я получаю диалог "Can't connect to database". Но при этом нет никакой кнопки проверки вообще состояния всех компонентов, что включены в работу плагина. Может я не поставил Microsoft Access Database Engine 2010 (или выше), может оно поставилось косо, может файл в неверном формате? Мало инфы в этом окошке.
Как минимум - хорошо бы даже тут - в топике обсуждения выложить файлы, на которых проверялось поведение сабжа и выложить скрины того - КАК это выглядит при правильной установке и настройке. Включая возможно и вид Администратора источников данных ODBC (odbcad32). Может и там что-то надо настроить/включить, прежде чем пользоваться плагином???
P.S. и почему же все же вообще надо устанавливать Microsoft Access Database Engine 2010 (или выше), если по идее в винде я сразу вижу наличие в разделе Администрирования Источники данных ODBC и 64 и 32 битных версий. Они что - не являются тем, чем является Microsoft Access Database Engine 2010 (или выше)???
Т.е. я вот не в курсе - а КАК проверить, что поставилось то, что надо и поставилось туда - куда надо...
А! и ещё - ориентировочно - для файла хотя бы csv на 2000 строк - с какой скоростью ожидается открытие сабжем полностью заполненного инфой окна? А то попробовал схожий плаг, ток заточенный на csv - и там под 6\7 секунд надо ждать, что весьма и странно и долго. |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Tue Oct 26, 2021 18:42 Post subject: |
|
|
Хорошие вопросы, постараюсь описать подробно.
Плагин работает через ODBC драйвера, представляющие собой dll. Поскольку 32-битное приложение не может использовать 64-битные dll и наоборот, то 32 и 64 драйвера - это разные наборы. Наличие драйверов можно проверить из ODBC-администратора на вкладке Драйверы:
Code: |
C:\Windows\odbcad32.exe - для 64-битных
C:\Windows\SysWOW64\odbcad32.exe - для 32-битных
|
При этом DSN созданные для 32-битной версии будут видны в 64 и наоборот, только вот через них подключиться будет нельзя.
Из коробки Windows x64 имеет 32-битные драйвера для CSV, Excel, Access и MSSQL, и только один 64-битный для MSSQL, поэтому и требуется установка пакета Microsoft Access Database Engine 2010, содержащего 64-битные драйвера. После его установки можно на вкладке Драйвера в в odbcad32 будут добавлены для CSV, Excel и Access.
Data Source Name (DSN) - это по сути описание, как подключаться к базе/файлу. По нему система генерирует строку подключения, но её можно создавать и самостоятельно. Пример строки
Code: |
Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=C:\MyExcel.xls;DefaultDir=c:\mypath;
|
При просмотре не dsn-файла, а к примеру xls, плагин генерирует эту строку самостоятельно. При просмотре dsn файла он читает информацию из этого файла и также генерирует её. Никакой дополнительной информации в списки DSN разумеется не вносится.
Quote: | что значит "путем создания файлового DSN |
В ODBC администраторе вы можете создать Файловый DSN (для этого есть отдельная вкладка) - это обычный ini-файл, который можно и самому написать, но администратор не даст вам сделать в нем ошибки, ну и не надо будет искать какие поля заполнять. Полученный dsn-файл можно уже открыть плагином.
Если плагин выдает сообщение, что не может присоединиться, то значит что-то пошло не так. ODBC драйвера не дают какого то внятного описания, да и сам интерфейс весьма путанный. Так что, увы, если не открылся, значит не открылся
Скорость работы через ODBC в несколько раз хуже, чем при работе напрямую через родные драйверы или прямо с файлов, в случае с CSV, поскольку после извлечения данных выполняется их преобразование к единому ODBC-формату. Для CSV для файла скорость ODBC меньше где то 4+ раз, но 2000 строк должно открываться быстрее 5с. Так на моем Ryzen2200g файл в 40 000 строк открывается ~3с.
Для CSV данный плагин не слишком удачный выбор, поскольку скорее всего файл в кодировке utf-8, а потому для корректного отображения придется добавлять описание в schema.ini, т.е. требуется отдельная работа. Возможно напишу отдельный плагин для csv. |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 242
|
(Separately) Posted: Tue Oct 26, 2021 18:56 Post subject: |
|
|
Quote: | Если плагин выдает сообщение, что не может присоединиться, то значит что-то пошло не так. ODBC драйвера не дают какого то внятного описания, да и сам интерфейс весьма путанный. Так что, увы, если не открылся, значит не открылся Very Happy |
так может стоит сделать хотя бы в первых версиях что-то наподобие полного лога действий? Хоть что-то я да смогу проверить/протестить по другому.
Может эта DNS запись создалась в кривом виде.
хотя.... может я и понял в чем дело...
на вкладке Драйвера в odbcad32.exe нет ничего кроме SQL (((((
а ведь я поставил требуемое... Короче вопрос/предложение осталось тем же - надо в плагине реализовать в первую очередь лог действий и контроль того, что нужные драйвера установились. Хотя бы в виде открытия этого odbcad32.exe и вывода сообщения о том - ЧТО и ГДЕ надо глазками проверить, прежде чем использовать плагин дальше.
И да csv у меня все utf-8. И практически ради просмотра их я и поставил плагин, т.к. имеющиеся другие плагины все тормозят до дикому у меня даже на 1000 записей. Только открытие листером тотала в чистом текстовом виде мгновенно даже для 100000 шт .записей.
Добавлено спустя 11 минут:
Ну а как поставить этот пакет Microsoft Access Database Engine 2016 - не понятно. Во-первых, ставиться только 32 битная его версия, т.к. он привязывается к битности установленного офиса. А он, конечно же 32 битный. По итогу получается все равно полный бардак относительно того - в какой битности какой драйвер будет работать и в какой битной системе...
Last edited by Destiny on Tue Oct 26, 2021 19:22; edited 1 time in total |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Tue Oct 26, 2021 19:12 Post subject: |
|
|
Quote: | наподобие полного лога действий |
Дело в том, что там по сути нет никакого лога. Просто выполняется попытка подключения к ODBC, и она возвращает либо Да, либо Нет. Описания ошибки то ж не будет. Скорее всего проблема в том, что нет драйверов нужной битности. Убедитесь, что вы установили 64-битный пакет драйверов.
Quote: | csv у меня все utf-8 |
В Wiki есть пример, что надо написать в schema.ini для utf8.
Quote: | имеющиеся другие плагины все тормозят до дикому у меня даже на 1000 записей |
Весьма странно. Парсинг CSV не сильно сложен.
При просмотре CSV через Lister, то там трюк с тем, что читается с диска не весь файл, а только кусок отображаемый на экране, потому и просмотр моментальный. Для CSV также сделать не получится, т.к. просканировать переносы строк и еще значения в кавычках обработать, т.е. требуется полное чтение файла, хотя бы до отображаемого места. Самое простое это прочитать все в память и это не должно тормозить.
Quote: | Во-первых, ставиться только 32 битная его версия, т.к. он привязывается к битности установленного офиса. А он, конечно же 32 битный. По итогу получается все равно полный бардак относительно того - в какой битности какой драйвер будет работать |
Да тут все понятно. Если офис у вас 32-битный, то и драйвера к нему 32-битные, а потому и плагин и TC то ж должны быть 32 битные.
Мне для отладки под 64бита пришлось отдельную ОС поставить, т.к. то ж 32-битный офис 2003 использую.
P.S. Уговорили - напишу для csv отдельный Просто мне казалось уже есть куча других плагинов. |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 242
|
(Separately) Posted: Tue Oct 26, 2021 19:39 Post subject: |
|
|
Quote: | Да тут все понятно. Если офис у вас 32-битный, то и драйвера к нему 32-битные, а потому и плагин и TC то ж должны быть 32 битные.
Мне для отладки под 64бита пришлось отдельную ОС поставить, т.к. то ж 32-битный офис 2003 использую. |
стоп, вы поняли - я потерялся еще дальше))))))))))
У меня 64 бит.винда И 32 бит.Офис 2016. И 64 Тотал и ваш плагин, который и 32 и в 64 битной версиях представлен.
Теперь я должен сперва поставить пакет Microsoft Access Database Engine (MADE). Я ставлю 32 бит. версию, т.к. он привязан к офису. И по результатам - ГДЕ я должен увидеть, что всё встало как надо???
в odbcad32.exe на вкладке Драйвера только SQL. Значит ничего не поставилось??? И как это поправить?
ТАК, сперва написал, а потом понял, что запускать надо было C:\Windows\SysWOW64\odbcad32.exe в моем случае!!!
этот ехе показывает 32 битные драйвера и да, кроме SQL "появились" и другие. Хотя наверное правильно говорить, что они не то чтобы появились - они там и были изначально, просто я не ТОТ odbcad32.exe для контроля запускал. НО! тогда выходит я не правильно понял рекомендации про поставить этот MADE пакет. Он получается нужен только тогда, когда И винда 64 И Офис 64 И тотал 64 И сабж 64 используются. Вот тогда выходит, что нужных драйверов 64 бит нет изначально в системе и их надо ДОставить вручную. НО!!! для пользователей сочетания И винда 64 'А вот Офис 32' И тотал 64 И сабж 64 - ЧТО делать? Сабж, будучи 64 битным и запущенным в 64 битном Тотале не сможет загрузить 32 битные драйвера. А 64 битные дрова ему я никак не установлю. И? Это сочетание ПО в мусор что ли скидывать? Или типа спецом загружать Тотал 32, чтобы открыть csv файл? Ибо ток тогда 32 битный сабж подгрузит 32 битные драйвера, что уже стояли в системе, установленные вместе с 2016 офисом 32 битным... Так что ли???
Добавлено спустя 24 минуты:
Так, я проверил запуск в винде 64 с офисом 32 тотал 32 + плагин 32 - старт xls файла с почти 1500 записей занял 2 секунды по сравнению с ulister'овскими 5. Это круто и ооочень полезно. Т.е. это очень крутой бонус. НО без ложки дегтя никак... В файле есть только один рабочий лист. ОТЧЕТ. А ваш плагин слева показывает две записи ОТЧЕТ$ и ОТЧЕТ$_. И разумеется второй "отчет" при попытке его открыть выдает ошибку. И что это за "довесок"?
НО, в целом хреново, что для этого приходится открывать отдельно ТОТАЛ 32 бита... Неужели нет 64 битных дров ODBC, не привязанных к 64 битному офису???
Добавлено спустя 3 минуты:
Quote: | Просто мне казалось уже есть куча других плагинов. | куча-то кучей, но вот быстрых.. что-то я не нашел. Ну, или подскажите, что ВЫ видели/пользовали и вроде как быстро работало....
т.к. совсем уж с нуля брать и писать еще один плагин четко под CSV - наверное слишком жёстковато)))) |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Tue Oct 26, 2021 20:39 Post subject: |
|
|
Верно. Мне не очень понятно ограничение, исходя из которого MADE не дает поставить произвольную бинарность драйверов. Вероятно если сначала поставить этот пакет, а потом уже 32битный офис, то все будет работать как надо, но это так себе решение.
Quote: | две записи ОТЧЕТ$ и ОТЧЕТ$_ |
Список страниц строится через ODBC и помимо названия таблиц содержит дополнительную информацию, которая из-за того, что плагин универсальный просто отбрасывается. Вторая таблица скорее всего служебная.
Можете пример файла мне на почту lb-im@ya.ru кинуть? (можно пустой, но надо чтобы было именно две таблицы в списке) Попробую пофиксить.
Quote: | писать еще один плагин четко под CSV - наверное слишком жёстковато |
Да я на основе уже имеющихся своих сделаю. У них у всех кодовая база на 50+% совпадает. В случае с CSV правда надо заморочиться с определением разделителя и используемой кодировкой. И по хорошему дать возможность переключить, если неправильно сработало. |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 242
|
(Separately) Posted: Tue Oct 26, 2021 21:30 Post subject: |
|
|
Quote: | В случае с CSV правда надо заморочиться с определением разделителя и используемой кодировкой. |
это да. есть минимум 3 разных кодировки. Разделителем выступает, то пробел, то таб, то точка-с-запятой, то |
короче да - может меняться...
Добавлено спустя 16 минут:
upload.ee/files/13582508/_______output.xls.html
тут сам файл.
а вот интересные картинки:
что не понятно - у меня ДВЕ строки с данными, а плагин посчитал, что есть одни ЗАГОЛОВОК и две строки с данными, причем первая строка - ПУСТАЯ. Что не верно в корне.
Так же он неверно отобразил формат ДАТЫ. Вместо точки вставил решетку символ.
ulister в этих отношениях все верно в виде таблицы отобразил. Но так же ДОЛЬШЕ загружал - даже практически пустой файл)))
что вообще не понял. Щаз опять его открыл в плагине и .... теперь второй элемент показан как: Отчет$_ т.е. без FilterDatabase суффикса, как у меня вышло в первый раз и что зафиксировалось на скриншоте ))))) обалдено вышло. это как-то поясняется??? |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Tue Oct 26, 2021 22:02 Post subject: |
|
|
Quote: | плагин посчитал, что есть одни ЗАГОЛОВОК и две строки с данными |
Это не пустая строка - это фильтры Плагин интерпретировал первую строку как заголовок (это режим по умолчанию), а вторую как данные.
Версию вашего Windows не подскажете? У фильтров сверху должна рисоваться верхняя граница, но у вас её не видно. Возможно из-за измененной схемы (граница рисуется цветом кнопки).
Вторую таблицу гляну, что именно там ODBC возвращает. Почему вернулись разные имена нет даже догадок. |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 242
|
(Separately) Posted: Tue Oct 26, 2021 22:25 Post subject: |
|
|
Windows 10 x64 LTSC
Версия 10.0.17763 Сборка 2237
Quote: | Это не пустая строка - это фильтры Smile Плагин интерпретировал первую строку как заголовок (это режим по умолчанию), а вторую как данные. |
пусть фильтры висят НАД табличным представлением информации
не надо домысливать - просто надо брать и как таблицу рисовать.
И точно так же как в чистом экселе - по горизонтали именуем каждый столбец буквенно,
а по вертикали - каждую строку численно. Чтобы отображалась именно таблица.
Ну, и на крайний случай, если уж совсем таблицу рисовать не с руки - сделать в строке состояний подсказку -
показывать как называлась бы ячейка, где в данный момент времени стоит курсор: А23. Если выделено - то
показать именование выделенного диапазона ячеек - в стиле Экселя: С12:Е27.
Quote: | У фильтров сверху должна рисоваться верхняя граница, но у вас её не видно. Возможно из-за измененной схемы (граница рисуется цветом кнопки). | ничего не менялось в схемах. Хорошо бы хорошие скриншоты по шагам, как я уже ранее писал, приложить в топке,
чтобы полностью понимать - а КАК по замыслу разработчика ВСЁ должно выглядеть и работать....
А то сейчас вот сидим - гадаем - что и где не так как надо)))) |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Tue Oct 26, 2021 22:51 Post subject: |
|
|
Картинку добавил. На Win7 все выглядит читаемо, с 10 (более распространенная) из-за особенностей принятых там стилистических решений все не очень (попробую поправить).
То, что первая строка стала именами колонок - это так ODBC по умолчанию считает. Возможно это поведение можно исправить через параметры строки соединения. Подумаю над тем, чтобы добавить опцию - первая строка не заголовок таблицы.
Если таблица не загрузилась, то надо что то вывести в правой части плагина. |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 242
|
(Separately) Posted: Tue Oct 26, 2021 23:26 Post subject: |
|
|
Quote: | Если таблица не загрузилась, то надо что то вывести в правой части плагина. | не вопрос - раз ничего не вывелось -то так и пишем спец фразу: мол, сорри гайз, но ничего нет, все пусто, открывайте другой файл, и может вам повезет.
Quote: | Подумаю над тем, чтобы добавить опцию - первая строка не заголовок таблицы. |
я может идиот))) но - при считывании из экселя - из ТАБЛИЧНОГО!!! представления - любая строка - это просто строка с данными!!!!
там не может быть какой-то особой первой строки с заголовками - даже заголовки - это всего-навсего еще одна строка с ячейками, наполненными данными.
Вам ВСЕГДА надо читать эксель как таблицу и как таблицу выводить! Никакого промежуточного интерпретирования! |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Wed Oct 27, 2021 00:31 Post subject: |
|
|
По поводу дополнительных таблиц, в документации нашлось пояснение, что $_ - это таблицы в пределах листа (не думал, что такое есть). Думаю их можно смело игнорировать и не включать в список.
Quote: | но - при считывании из экселя - из ТАБЛИЧНОГО!!! представления - любая строка - это просто строка с данными |
Microsoft считает по другому и на уровне ODBC драйвера Excel похоже такое поведение, когда первая строка возвращается как заголовок таблицы, никак не изменить. Так что по хорошему придется лепить костыль в виде хранимой настройки для csv и xls, - первая строка заголовок таблицы или нет. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10319 Location: Россия, Саратов
|
(Separately) Posted: Wed Oct 27, 2021 06:53 Post subject: |
|
|
Destiny
На нашем форуме в сообщениях принято использовать в началах фраз заглавные буквы. Соблюдайте правила. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 242
|
(Separately) Posted: Wed Oct 27, 2021 12:03 Post subject: |
|
|
Quote: | По поводу дополнительных таблиц |
Я вот что еще нашел: есть список предопределенных системных таблиц.
Auto_Activate, Auto_Close, Auto_Deactivate, Auto_Open, Consolidate_Area, Criteria, Data_Form, Database, Extract, FilterDatabase, History, Print_Area, Print_Titles, Recorder, Sheet_Title.
В зависимости от разных условий они еще и могут быть оформлены с суффиксами вида "_0"\"_0_0"!
А еще есть именованные регионы (создаются через CTRL+F3). Они формально тоже при чтении через ODBC протокол будут представлены как таблицы. Ну и да, опираться на то, что Вы нашли в доках: Quote: | For later versions of Microsoft Excel files, "SYSTEM TABLE" is returned for sheet names (tables with a "$" on the end), and "TABLE" is returned for tables within worksheets. |
А!! еще с пробелами в именах таблиц! Вы при выборке должны спецом их "оборачивать" в разные типы кавычек:
Code: | SELECT * FROM "'Sheet 1$'" |
На всякий случай уточню, вдруг где на тестах падать будет - чтоб сразу знать.
Добавлено спустя 44 минуты:
Попробовал открывать CSV файлы и что не понял:
Я открываю 1! файл - а слева мне показывается СПИСОК! файлов схожего формата из той же папки, что и открытый файл... Это как-то странно слегка. Один так один файл, зачем что-то еще показывать? К тому же эта левая панель не имеет ни полосы прокрутки, ни сама сдвигаться не может мышкой - "прибит" ее размер намертво. В итоге я имена некоторых файлов даже не узнаю - т.к. они отличаются только конечными символами, а мне показываются только первые что-то около 30-35 символов.
Ну и напоследок - для колонок не выполняется автоподгон под содержимое.
P.S. Я помню, про необходимость отдельного плага под CSV, но именно поэтому сразу описываю, то, что потенциально может перекочевать в новый код, а не хотелось бы чтобы ЭТИ уже найденные несуразности туда попали.
P.P.S И эта левая панель и для плагина ODBC протокола должна иметь возможность сдвигаться мышкой и иметь полосы прокрутки - т.к. это черт возьми очень логичное и желаемое действие - уменьшить ширину той области, которая не нужна для текущего просмотра. А если я ширину уменьшил - то полосу прокрутки уже надо показать, т.к. имя таблицы может теперь уже оказаться больше, чем ширина видимой части панели.
Насчет появления FilterDatabase. Оказывается если открыть файл экселя в экселе и параллельно открыть его в плагине, то ODBC протокол выдает текущие имена таблиц, которые появились в рамках обработки этого файла ядром экселя)) И вот конкретно эта "таблица" - FilterDatabase - представляет собой активированный движком фильтр по значениям ячеек в открытом файле! Именно поэтому если просто открыть файл - то мы увидим доп.таблицу "Отчет$_" - представляющую собой просто этот же фильтр, но пока что неактивный (файл в экселе не открыт параллельно), и поэтому не имеющий полного названия.
Так что да - фильтровать такие таблицы можно и нужно... И выводить только те, имена которых заканчиваются ровно на символ $.
Добавлено спустя 7 минут:
Насчет "первая строка как заголовок". И тут я все равно не понимаю. Вы же считываете хоть и через ODBC, но в стиле SQL: select * from tableName. А это значит, что получаете вы просто набор данных, но вот выводите их в какой-то визуально табличный GUI элемент. Так вот в нём-то похоже и происходит эта "доконвертация" первой строки данных как заголовка - и это-то и ломает стройность представления данных при выводе на экран. ИМХО Вам надо просто "надставлять" весь результат команды select * from tableName одной доп.строкой вида "A B C D E F и т.д.". Сымитировав тем самым то, как сам эксель именует столбцы с информацией в буквенном представлении. И тогда при помещении этого набора данных заголовком станут именно эти буквы - т.е. мы получим ровно то же табличное представление, что и в самом экселе. И это очень здорово! |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|