Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> FoxPro в Visual Basic 
:(
    Опции темы
I_Am_Rock
Дата 8.11.2009, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Добрый день.

Мне нужно подключить к проекту на ВБ базу данных FoxPro.

Как сделать в Аксесс - я знаю. Я создаю там БД и подключаю в свойствах контрола Data.

А с ФоксПро я так не могу. Потому что он сейчас - 9 версии, а в ВБ поддержка только до 3.
Я хотел создать с помощью Data Manager (Визуальный Менеджер Данных). Но там при создании ФоксПро (в отличие от Аксесс) не создается файл, а вводится имя базы, а потом вообще - непонятно что.

Я вот хочу спросить - как мне создать эту базу? :(
PM MAIL WWW   Вверх
Данкинг
Дата 8.11.2009, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Цитата(I_Am_Rock @  8.11.2009,  21:57 Найти цитируемый пост)
как мне создать эту базу?

Поставить FoxPro и в нём создать. smile Ну или через ODBC вроде как-то можно тоже.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
I_Am_Rock
Дата 8.11.2009, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Так ФоксПро сейчас - 9 версии. А в VB только FoxPro 3.0.

Это сообщение отредактировал(а) I_Am_Rock - 8.11.2009, 22:44
PM MAIL WWW   Вверх
Akina
Дата 8.11.2009, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



I_Am_Rock, тебе же сказали - через ODBC-драйвер. Хочешь, ADO используй, хочешь - DAO... у тебя 9 версия фокса? значит, и ODBC должен понимать эту версию.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
I_Am_Rock
Дата 8.11.2009, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



А он у меня есть? - этот драйвер. И как его подключить?
Допустим я создам в ФоксПро БД. Но как дальше? - чтобы контрол Data с ним работал...

 smile 
PM MAIL WWW   Вверх
Akina
Дата 8.11.2009, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(I_Am_Rock @  9.11.2009,  00:01 Найти цитируемый пост)
как дальше? - чтобы контрол Data с ним работал...

Чтобы заставить контрол работать с нужным источником данных, следует начать с чтения справки по самому контролу и его свойствам. Посмотреть примеры. И делать по образу и подобию.
Искать этот контрол надо в подразделе Intristic Controls раздела Reference справки по VB6 в MSDN.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
I_Am_Rock
Дата 9.11.2009, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Ну, я сейчас вроде как решил эту проблему.
Я сделал так.

Создал Базу данных в Вижуал ФоксПро.
Создал Таблицу с полями и заполнил пару записей.
Экспортировал в ФоксПро 3.0 (File -> Export...)

Затем приступил к VB и поначалу всё пошло как по маслу - я разместил контрол на форме, выбрал файл с таблицей 3 версии фокса, разместил на форме три текстбокса, настроил их DataField DataSource.
В итоге все запустилось и те две-три записи норм отображаются.

А вот как решил сделать так, чтобы записи можно было новые добавить - так никак не могу и всё тут!
Вроде как Data1.Recordset.AddNew должно работать, но ругается ошибкой 3027, мол только для чтения. Хотя свойство контрола риад-онли выставлено в фэлс и какого рожна ей еще надо - непонятно. :(

Это все также - по поводу ФоксПро, так что думаю я не отошел от темы. smile

Что делать?  smile 

Это сообщение отредактировал(а) I_Am_Rock - 9.11.2009, 00:44
PM MAIL WWW   Вверх
Akina
Дата 9.11.2009, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(I_Am_Rock @  9.11.2009,  01:42 Найти цитируемый пост)
Что делать?

Контрол Data работает с рекордсетом. Ему плевать, по какой технологии и через какую библиотеку рекордсет создан, какого он типа и т.п. - все недопустимые для рекордсета операции заканчиваются ошибкой, которую контрол, не разбираясь, преподнесёт юзеру.
Создай рекордсет, допускающий обновление и добавление, и укажи его контролу как источник данных. И будет тебе щастье. И не будет ошибок. И не надо будет формат преобразовывать.

Цитата(I_Am_Rock @  8.11.2009,  23:43 Найти цитируемый пост)
в VB только FoxPro 3.0

Это не в VB. Это в Jet. Используй иную технологию доступа к данным - и тебе будет сиренево до версии.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
I_Am_Rock
Дата 9.11.2009, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Цитата(Akina @  9.11.2009,  09:15 Найти цитируемый пост)
Контрол Data работает с рекордсетом. Ему плевать, по какой технологии и через какую библиотеку рекордсет создан, какого он типа и т.п. - все недопустимые для рекордсета операции заканчиваются ошибкой, которую контрол, не разбираясь, преподнесёт юзеру.Создай рекордсет, допускающий обновление и добавление, и укажи его контролу как источник данных. И будет тебе щастье. И не будет ошибок. И не надо будет формат преобразовывать.

Путем научных изысканий я установил (красиво звучит, правда?  smile  ), что причина в том, что Data1.Recordset.Updatable равно False (в отличие от Data1.ReadOnly и Data1.Database.Updatable, которые стоят в False и True соответственно).

Ну т.е., как ты и говоришь - рекордсет не допускает обновление и добавление.

А как мне создать такой рекордсет, который допускал бы это?  smile 

Это сообщение отредактировал(а) I_Am_Rock - 9.11.2009, 16:31
PM MAIL WWW   Вверх
Akina
Дата 9.11.2009, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Ну наверное ручками создать и открыть такой рекордсет, а потом сказать контролу, что этот рекордсет и есть его источник данных.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
I_Am_Rock
Дата 9.11.2009, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Цитата(Akina @  9.11.2009,  16:34 Найти цитируемый пост)
Ну наверное ручками создать и открыть такой рекордсет, а потом сказать контролу, что этот рекордсет и есть его источник данных.

Пробую так 

Код

Dim rs As DAO.Recordset 
Dim sSQL As String 
sSQL = "SELECT * FROM mytable;"
Set rs = Data1.Database.OpenRecordset(sSQL)

rs.AddNew
rs("NOMER") = "3" 
rs("NAZVANIE") = "bla-bla"
rs("TEKST") = "ha-ha"
rs.Update 


не хочет - так же ругается на реад-онли в строке rs.AddNew

Я проверил - MsgBox rs.Updatable - пишет False 

А как, чтобы тру? :cry

Это сообщение отредактировал(а) I_Am_Rock - 9.11.2009, 17:16
PM MAIL WWW   Вверх
Akina
Дата 9.11.2009, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Повторю ещё раз.
Цитата(Akina @  9.11.2009,  00:53 Найти цитируемый пост)
следует начать с чтения справки по самому контролу и его свойствам. Посмотреть примеры

По наитию такие вещи не делают.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
I_Am_Rock
Дата 10.11.2009, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Akina

Я пытаюсь изучать. Читаю на сайтах о методах и свойствах контрола. И вижу примеры применения.
Но везде в примерах - Access. И видимо для фокспро нужно по-другому.

Вот, например отсюда - http://www.eduhmao.ru/info/1/3655/22644/

Цитата

Для добавления и изменения записей используется похожая технология.
При добавлении записи открываем рекордсет. 
Код

Dim db As DAO.Database 'Объявляем базу данных
Dim rs As DAO.Recordset 'Объявляем рекордсет
Dim sSQL As String 'Переменная, где будет размещён SQL запрос
Set db = DAO.OpenDatabase ("C:\db.mdb")
sSQL = "SELECT * FROM Orders;"
Set rs = db.OpenRecordset (sSQL)


Для добавления записи используется метод AddNew объекта типа Recordset.
Код

rs.AddNew


Теперь запись добавлена, и мы заполняем все поля для данной записи.


Я адаптировал этот код под свой (наверху), а он не работает.
Как я уже сказал - Updatable рекордсета стоит в False.  
smile 
PM MAIL WWW   Вверх
Akina
Дата 10.11.2009, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Ну ты всё фигню какую-то читаешь.
Где собсно создаётся и открывается рекордсет? в строке
Код

Set rs = db.OpenRecordset(sSQL)

Вот и прочти справку по OpenRecordset - у него ж дохрена параметров! Разберись, для чего каждый из них, какие значения принимает и как они влияют на свойства рекордсета.

PS. У тебя на рабочем столе есть корзина? выброси туда DAO и используй Adodb



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
I_Am_Rock
Дата 11.11.2009, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Akina, если у тебя есть хорошие ссылки на сайты, где есть хорошая инфа по свойстам и методам рекордсета DAO, то укажи их, пожалуйста.  smile 
Инфе об Adodb тоже буду рад. 
PM MAIL WWW   Вверх
Akina
Дата 11.11.2009, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



http://msdn.microsoft.com/en-us/library/aa968814(VS.85).aspx
Там где-то рядом оно есть даже на русском - но искать откровенно лень. Поищи сам по какой-нить строке кода из примера, скажем.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Voldemar2004
  Дата 12.11.2009, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Окрой VB6, в меню Projects -> Components выбери MicroSoft ADO Data Control VB6 нарисуй на форме.

Потом опять же в меню Projects -> Components выбери DataGrid (если нужно править данные ручками в табличном объекте) или MSHFlexGrid (если нужно просто отображать результат запроса). Налепи их на форму.

В свойствах объекта MSHFlexGrid1 выбери DataSource=Adodc1 - соединили - теперь при выборке данные будут отображаться в Гриде.

Щелкни левой кнопой мыши по объекту Adodc - выбери св-во ConnectionString - щелкни по кнопочке с 3-мя точками - откроется Property Pages - выбери нижний пункт "Use Connection String" - щелкни по кнопке Build - затем выбери MicroSoft OLE DB Provider for ODBC Driver - нажми Далее - затем выбери "Использовать имя источника данных" - выбери свой формат (FoxPro) - затем введи начальный каталог - где лежит твоя БД - нажми кнопку Проверить подключение

В результате свойство ConnectionString объекта Adodc1 должно быть: "Provider=MSDASQL.1;Persist Security Info=False;Data Source=Visual FoxPro Database"

Затем выбери тип команд: свойство CommandType - если SQL-запрос - то AdCmdText - если табличный - то Table. Выбери adCmdText.

Затем выбери свойство RecordSource - туда впиши свой SQL-запрос.

Затем выполни код:

Код

Adodc1.Refresh


Еще есть свойства у объекта Adodc1 - Mode и LockType - выбери какой тип тебе нужен.

Все вышеописанное можно проделать программным кодом, как делаю я:

Код

Adodc1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=Файлы dBASE;Initial Catalog=R:\BASA"

    Dim SQLStatement As String

    SQLStatement = "Select ...... from ..... where....."

        Adodc1.RecordSource = SQLStatement

        Adodc1.Refresh



--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
Voldemar2004
  Дата 12.11.2009, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Цитата(I_Am_Rock @  10.11.2009,  21:52 Найти цитируемый пост)
Но везде в примерах - Access. И видимо для фокспро нужно по-другому.
SQL-запросы абсолютно одинаковы что для Access, что для DBase - тебе нужно только правильно выбрать значение ConnectionString объекта Adodc.


Это сообщение отредактировал(а) Voldemar2004 - 12.11.2009, 14:33


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
Akina
Дата 12.11.2009, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(Voldemar2004 @  12.11.2009,  15:24 Найти цитируемый пост)
нужно только правильно выбрать тип ConnectionString объекта Adodc

http://www.connectionstrings.com/


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
I_Am_Rock
Дата 13.11.2009, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Voldemar2004

Большое спасибо за очень полезную инфу.

Только два момента
1. когда я пытался создать КоннекшнСтринг с MicroSoft OLE DB Provider for ODBC Driver - он писал ошибку. Поэтому я выбрал MicroSoft OLE DB Provider for Visual FoxPro. Все остальное я сделал по инструкции - и заработало! Таблица норм отображается. smile
2. но она не редактируется! Пишет ошибку "Произошли ошибки во время выполнения многошаговой операции. Проверьте значения всех состояний." Почему так? Я ставил Mode в 3 - т.е. запись/чтение

MSHFlexGrid я не нашел (юзал DataGrid) - как он точно называется?

 smile 


Akina, тебе также - большое спасибо! smile

--------------
Еще 1 момент!

Пробую

Код

Adodc1.Recordset.AddNew "nomer", "3"


и он действительно добавляет новую строчку в таблице, но одновременно ругается ошибкой "Недостаточно сведений из основной таблицы для обновления" :(

Это сообщение отредактировал(а) I_Am_Rock - 13.11.2009, 22:58
PM MAIL WWW   Вверх
Akina
Дата 13.11.2009, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



MSFlexGrid - Microsoft FlexGrid Control 
MSHFlexGrid - Microsoft Hierarchical FlexGrid Control 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
I_Am_Rock
Дата 14.11.2009, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



А почему Voldemar2004 написал

Цитата

если нужно просто отображать результат запроса


ведь там таблица такого же типа?

И вопрос с неизменяемостью данных остается актуальным. :(

Это сообщение отредактировал(а) I_Am_Rock - 14.11.2009, 14:07
PM MAIL WWW   Вверх
Данкинг
Дата 14.11.2009, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



 smile 
Цитата(Voldemar2004 @  12.11.2009,  14:24 Найти цитируемый пост)
SQL-запросы абсолютно одинаковы что для Access, что для DBase

Да ладно уж. Конечно, "select * from TABLE" сработает в любых СУБД, но если составлять более сложные запросы, то по поводу абсолютной одинаковости я бы говорить поостерёгся.  smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Voldemar2004
  Дата 14.11.2009, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Цитата(Данкинг @  14.11.2009,  16:43 Найти цитируемый пост)
Да ладно уж. Конечно, "select * from TABLE" сработает в любых СУБД
Я имел в виду именно для в VB6 smile - Мы выбриаем драйвер подключения к БД, а синтаксис SQL такой же



--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
I_Am_Rock
Дата 14.11.2009, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



А по моим вопросам?  smile 
PM MAIL WWW   Вверх
Akina
Дата 14.11.2009, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(Voldemar2004 @  14.11.2009,  17:28 Найти цитируемый пост)
Я имел в виду именно для в VB6  - Мы выбриаем драйвер подключения к БД, а синтаксис SQL такой же

Вы неправы, Данкинг совершенно верно говорит. Пока вы остаётесь в рамках стандарта, всё путём. Как только делаете шаг в сторону (а это сплошь и рядом) - тут же грабли. Не зря вся справка по, например, MS Jet SQL испещрена ремарками, что "это работает только в Jet". И со всеми другими так же...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0796 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.