Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ADO и фотографии, Помогите разъяснить загвоздку. 
V
    Опции темы
МаксимPim
Дата 14.3.2009, 01:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



    Начинающий.
                 Осваиваю по книге Н.Б.Культина С++. Исходники на диске прилагались к книге, компилятора"GEARа" не было - поставил свой. При компиляции базы данных выдается:
    
       [BCC32 Error] Unit1.cpp(35): E2316 '_fastcall TForm1::ShowImage(AnsiString)' is not a member of 'TForm1'
       
        [BCC32 Error] Unit1.cpp(30): E2451 Undefined symbol 'aPath'

                 и др.
           Отзовитесь плз!

Это сообщение отредактировал(а) МаксимPim - 14.3.2009, 01:49
PM MAIL   Вверх
Anikmar
Дата 14.3.2009, 03:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Вам же компилятор говорит что не так:
[BCC32 Error] Unit1.cpp(35): E2316 '_fastcall TForm1::ShowImage(AnsiString)' is not a member of 'TForm1'
метод ShowImage(AnsiString) не является методом класса TForm1. Возможно он был определен в декларации класса, а вы его перенесли в основной модуль не оставив описания.
       
[BCC32 Error] Unit1.cpp(30): E2451 Undefined symbol 'aPath'
Компилятор не смог  найти объявления aPath

И вообще - код в студию, зачем на кофейной гуще гадать. Либо ждем собрания клуба экстрасенсов.
PM MAIL ICQ   Вверх
МаксимPim
Дата 15.3.2009, 03:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



            Way, very thenks!

             
Цитата

код в студию


Код

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormActivate(TObject *Sender)
{
 try {
     ADOConnection1->Open();
     ADODataSet1->Open();
     StatusBar1->Panels->Items[0]->Text = "Запись: 1"
      }
      catch (Exception &e)
  {
        DBEdit1->Enabled = false;
        DBEdit2->Enabled = false;
        DBNavigator1->Enabled = false;
        MessageDlg("" +
           aPath + "contacts.mdb",mtError,TMsgDlgButtons()<<mbOK,0);
 }
  }
//-------------------------------------------------------------------------
 void __fastcall TForm1::ShowImage(AnsiString img)
{
       if ( img == "")
         img = "nodody.jpg";
       try
   {
       Image1->Picture->LoadFormFile(aPath+"images\\"+img);
   }
    catch (Exception &e){}
   }


//---------------------------------------------------------------------------
void __fastcall TForm1::ADODataSet1AfterScroll(TDataSet *DataSet)
{
  AnsiString img;

  if ( ADODataSet1->RecNo != -1 )
  {
     StatusBar1->Panels->Items[0]->Text =
                    "Запись: "+IntToStr(ADODataSet1->RecNo);
     StatusBar1->Panels->Items[1]->Text = "";
//      Если поле image не содержит данных,
//то возникает исключение.
    try
    {
        img = ADODataSet1->FieldValues["image"];
    }
    catch (Excepcion &e)
    {
        img = "";

    }

    ShowImage(img);
    }
    else
         StatusBar1->Panels->Items[0]->Text = "новая запись" ;
}
//ок на кнопке DBNavigator---------------------------------------------------------------------------
void __fastcall TForm1::DBNavigator1Click(TObject *Sender, TNavigateBtn Button)
{
      switch (Button)
   {
      case nbInsert:
              StatusBar1->Panels->Items[0]->Text = "Новая запись";
            DBEdit1->ReadOnly = false;
            DBEdit2->ReadOnly = false;
            DBMemo1->ReadOnly = false;
            ShowImage("nodody.jpg");
            Image1->Enabled = true;
            break;

        case nbEdit:
              StatusBar1->Panels->Items[1]->Text = "Редактирование";
            DBEdit1->ReadOnly = false;
            DBEdit2->ReadOnly = false;
            DBMemo1->ReadOnly = false;
            Image1->Enabled = true;
            break;

        case nbFirst:
        case nbPrior:
        case nbNext:
        case nbLast:
        case nbPost:
        case nbCancel:
            DBEdit1->ReadOnly = true;
            DBEdit2->ReadOnly = true;
            DBMemo1->ReadOnly = true;
            Image1->Enabled = false;
            StatusBar1->Panels->Items[1]->Text = "";
            break;

     case nbDelete:    break;
      }
}


//---------------------------------------------------------------------------

void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
     if(ADODataSEt1->State == dsEdit)
//     поользователь завершил редактирование
//       записать редактируемую запись в базу данных.
    ADODataSet1->UpdateBatch(arCurrent);
    ADODataSet1->Close();
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Image1Click(TObject *Sender)
{
   AnsiString nFileName;

  OpenDialog1->FileName = "*.jpg";
  if ( OpenDialog1->Execute())
  {
//       выбрал полльзователь изображение
  nFileName = ExtractFileName(OpenDialog1->FileName);

  nFileName = aPath + "images\\" + nFileName;
//   скопировать изображение в катaог Image
      CopyFile(OpenDialog1->FileName.c_str(), nFileName.c_str(), false);


     ShowImage(nFileName);
     ADODataSet1->FieldValues["image"] = nFileName;
  }
}
//---------------------------------------------------------------------------












                            Объясните пожалуйста как поправить? Вроде листинг скатал 1=1. С остальными процедурами все ясно, а у этой нет *sender, почемуто.
                           Объяснений у Никиты Борисыча не нашел. Самоучитель его до дыр зачитал.

                       Остальные Errors может по этой причине.
                       

Это сообщение отредактировал(а) МаксимPim - 15.3.2009, 04:46
PM MAIL   Вверх
Anikmar
Дата 15.3.2009, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Посмотрите, есть ли в Unit1.h внутри класса TForm1 объявление:

void __fastcallShowImage(AnsiString img);


По поводу второй ошибки:
Код

void __fastcall TForm1::FormActivate(TObject *Sender)
{
 try {
     ADOConnection1->Open();
     ADODataSet1->Open();
     StatusBar1->Panels->Items[0]->Text = "Запись: 1"
      }
      catch (Exception &e)
  {
        DBEdit1->Enabled = false;
        DBEdit2->Enabled = false;
        DBNavigator1->Enabled = false;
        MessageDlg("" +
           aPath + "contacts.mdb",mtError,TMsgDlgButtons()<<mbOK,0);
 }
  }


Что за переменная aPath? Применяя экстрасенсорные способности допускаю, что где-то в основном модуле проекта эта переменная получает значение пути, в котором запущено приложение?

ИМХО
Если вы пытаетесь изучить С++ и Builder просто копированием текстов программ из книг у вас вряд-ли что-то получится. В примерах из книг огромное количество простейших ошибок. И если вы не будете понимать что вы вводите, то результата придется ждать достаточно долго.
Втупую помочь вам исправить ошибку можно, замените в вышеприведенном коде строку

        MessageDlg("" +
           aPath + "contacts.mdb",mtError,TMsgDlgButtons()<<mbOK,0);

на строки
        AnsiString aPath = ExtractFilePath(Application->ExeName) + " ";
        MessageDlg(aPath + "contacts.mdb",mtError,TMsgDlgButtons()<<mbOK,0);

Правда я не уверен, что кучи других ошибок не вылезет - и под рукой нет описания MessageDlg - что ей на фход надо char* или AnsiString

PM MAIL ICQ   Вверх
МаксимPim
Дата 16.3.2009, 03:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всё супер!
       Насчёт   void __fastcallShowImage(AnsiString img);-Действительно не было объявлено в:
Код

//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ADODB.hpp>
#include <DB.hpp>
#include <DBCtrls.hpp>
#include <Dialogs.hpp>
#include <ExtCtrls.hpp>
#include <Mask.hpp>
#include <jpeg.hpp>
#include <ComCtrls.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
    TDBNavigator *DBNavigator1;
    TDBEdit *DBEdit1;
    TDBEdit *DBEdit2;
    TDBMemo *DBMemo1;
    TDataSource *DataSource1;
    TADOConnection *ADOConnection1;
    TADODataSet *ADODataSet1;
    TOpenDialog *OpenDialog1;
    TImage *Image1;
    TLabel *Label1;
    TLabel *Label2;
    TStatusBar *StatusBar1;
    void __fastcall FormActivate(TObject *Sender);
    void __fastcall ADODataSet1AfterScroll(TDataSet *DataSet);
    void __fastcall DBNavigator1Click(TObject *Sender, TNavigateBtn Button);
    void __fastcall DBImage1Click(TObject *Sender);
    void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
    void __fastcall Image1Click(TObject *Sender);



private:    // User declarations
public:        // User declarations
    __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif



Код

[BCC32 Error] Unit1.cpp(23): E2379 Statement missing ;
[BCC32 Error] Unit1.cpp(29): E2268 Call to undefined function 'МessageDlg'
[BCC32 Error] Unit1.cpp(30): E2451 Undefined symbol 'aPath'
[BCC32 Error] Unit1.cpp(35): E2316 '_fastcall TForm1::ShowImage(AnsiString)' is not a member of 'TForm1'
[BCC32 Error] Unit1.cpp(40): E2206 Illegal character '\' (0x5c)
[BCC32 Error] Unit1.cpp(62): E2303 Type name expected
[BCC32 Error] Unit1.cpp(62): E2377 Catch statement missing )
[BCC32 Error] Unit1.cpp(83): E2268 Call to undefined function 'ShowImage'



  После вставки ошибка 35 строки исчезла, но 40-я вместо (E2206 Illegal character '\' (0x5c) )
 выдала ('LoadFormFile' is not a member of 'TPicture') и (E2451 Undefined symbol 'aPath')
Код

[BCC32 Error] Unit1.cpp(23): E2379 Statement missing ;
[BCC32 Error] Unit1.cpp(30): E2451 Undefined symbol 'aPath'
[BCC32 Error] Unit1.cpp(40): E2316 'LoadFormFile' is not a member of 'TPicture'
[BCC32 Error] Unit1.cpp(40): E2451 Undefined symbol 'aPath'
[BCC32 Error] Unit1.cpp(62): E2303 Type name expected
[BCC32 Error] Unit1.cpp(62): E2377 Catch statement missing )
[BCC32 Error] Unit1.cpp(117): E2451 Undefined symbol 'ADODataSEt1'
[BCC32 Error] Unit1.cpp(136): E2451 Undefined symbol 'aPath'




 Т.е., как понял, 35-ю исправили; на очереди 40-е. Но как, ведь класса (TРicture) на форме нет. Её занести в Unit1.h и объявить в класс?

               Насчет aPath:    после изменения строки 30-й 
Код

[BCC32 Error] Unit1.cpp(23): E2379 Statement missing ;
[BCC32 Error] Unit1.cpp(40): E2316 'LoadFormFile' is not a member of 'TPicture'
[BCC32 Error] Unit1.cpp(40): E2451 Undefined symbol 'aPath'
[BCC32 Error] Unit1.cpp(62): E2303 Type name expected
[BCC32 Error] Unit1.cpp(62): E2377 Catch statement missing )
[BCC32 Error] Unit1.cpp(117): E2451 Undefined symbol 'ADODataSEt1'
[BCC32 Error] Unit1.cpp(136): E2451 Undefined symbol 'aPath'


                                            ошибка исчезла. С остальными aPath наверное подобным образом поступить? Но как лучше?

                 Про (MessageDlg) в данном случае думается, что это строчная, а не символьная. Описывает её так:

"MessageDlg (s,t,b,h) выводит на экран диалоговое окно с сообщением s и возвращает код кнопки, щелчком на которой пользователь закрыл окно.
                  Параметр t определяет тип окна: mtWarning-внимание; mtError-ошибка; mtInformation-информация; mtConfiguration-запрос; mtCustom-пользовательское (без значка).
                  Параметр b (множество типа TmsgDlgButtons()) задает кнопки, отображаемые в окне (mdYes,  mdNo, mdOk, mdCancel, mdHelp, mdAbort,  mdRetry, mdIgnore, и mdAll).
                  Параметр h задает разделсправочнойсистемы…"


Это сообщение отредактировал(а) МаксимPim - 16.3.2009, 03:57
PM MAIL   Вверх
Anikmar
Дата 16.3.2009, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата

ошибка исчезла. С остальными aPath наверное подобным образом поступить? Но как лучше?


Лучше объявить тогда ее как член класса.

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

[BCC32 Error] Unit1.cpp(23): E2379 Statement missing ;
Выражение требует ; 

В данной строке пропущена точка с запятой - посмотрите где и поставьте.

И т.п.
PM MAIL ICQ   Вверх
МаксимPim
Дата 18.3.2009, 01:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Точка с запятой правда отсутствовали.

aPath пробовал по-разному объявлять в модуле формы, наконец вот так:
void __fastcall aPath(TComponent* Owner);

Код

  private:    // User declarations
public:        // User declarations
    __fastcall TForm1(TComponent* Owner);
    void __fastcall aPath(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;




               Программа выдала на 40 и на 136 строчки
Код

[BCC32 Error] Unit1.cpp(40): E2316 'LoadFormFile' is not a member of 'TPicture'
[BCC32 Error] Unit1.cpp(40): E2235 Member function must be called or its address taken
[BCC32 Error] Unit1.cpp(62): E2303 Type name expected
[BCC32 Error] Unit1.cpp(62): E2377 Catch statement missing )
[BCC32 Error] Unit1.cpp(117): E2451 Undefined symbol 'ADODataSEt1'
[BCC32 Error] Unit1.cpp(136): E2235 Member function must be called or its address taken


Больше пока ни на что не способен. В данный момент читаю руководство Стефана Р. Девиса, но пока мало что понимаю про объявление. smile   В какой класс объявлять aPath?  
PM MAIL   Вверх
Anikmar
Дата 18.3.2009, 02:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(МаксимPim @  18.3.2009,  01:47 Найти цитируемый пост)
aPath пробовал по-разному объявлять в модуле формы, наконец вот так:
void __fastcall aPath(TComponent* Owner);


Все-таки почитайте повнимательнее книжку.

Я в примере написал как объявить aPath:
AnsiString aPath = ExtractFilePath(Application->ExeName) + " ";

Но это объявление действует только в одном методе класса (смотрите области видимости)

И я посоветовал вам объявить такую переменную в самом классе, чтобы она была доступна из всех методов класса. И вы это делаете, но почему-то так:
void __fastcall aPath(TComponent* Owner);

Сравните мое объявление и ваше:
Мое:
AnsiString aPath
Ваше:
void __fastcall aPath(TComponent* Owner);

Вам нужна переменная aPath типа AnsiString. А вы объявляете метод aPath

Следующая ошибка:
[BCC32 Error] Unit1.cpp(40): E2316 'LoadFormFile' is not a member of 'TPicture'
Покажите строку № 40

Эту ошибку:
[BCC32 Error] Unit1.cpp(62): E2377 Catch statement missing )
Переведите и исправьте сами


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


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

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



Цитата(МаксимPim @  14.3.2009,  01:26 Найти цитируемый пост)
Исходники на диске прилагались к книге
Цитата(МаксимPim @  15.3.2009,  03:45 Найти цитируемый пост)
Вроде листинг скатал 1=1.
вот тут не понял. зачем "скатывать", если исходники прилагались?!

в твоей "перепечатке" куча очепяток, всякие там LoadFormFile, Excepcion, ADODataSEt1, итд итп. мало того, если ты просто перепечатывал, то у тебя останутся не установленными свойства компонентов.

в общем и целом, вот это твое утверждение выглядит весьма сомнительным:
Цитата(МаксимPim @  15.3.2009,  03:45 Найти цитируемый пост)
Самоучитель его до дыр зачитал.

и, как следствие, добрый тебе совет(уже не раз звучавший): прочитай что-нибудь по теме. лучше пару-тройку раз для начала.
PM MAIL   Вверх
МаксимPim
Дата 19.3.2009, 02:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



 smile  Дааа... Точно. Вот что значит с живыми программистами пообщаться! Самоучитель до дыр ещё не дочитал, хотя остальные программы получались. В этом деле пока ботаник следовательно много ошибок.

Цитата

Вам нужна переменная aPath типа AnsiString. А вы объявляете метод aPath


Понял, врубился а то сперва поторопился. Срочно бегу исправлять все ошибки.

Это сообщение отредактировал(а) МаксимPim - 19.3.2009, 03:06
PM MAIL   Вверх
Anikmar
Дата 19.3.2009, 04:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(МаксимPim @  19.3.2009,  02:58 Найти цитируемый пост)
Понял, врубился а то сперва поторопился. Срочно бегу исправлять все ошибки.

Лучше не торопитесь. Медленно, но верно.
PM MAIL ICQ   Вверх
mrbrooks
Дата 19.3.2009, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


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

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



А лучше вообще выкинуть Культина и начать плодотворное изучение Бормана к примеру с того же Архангельского.
PM MAIL   Вверх
МаксимPim
Дата 21.3.2009, 01:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо, за советы. 
Код

Лучше не торопитесь. Медленно, но верно.

            В данный момент занят расшифровкой статьи Дэвиса "Разрешение области видимости"(стр. 161) и др. smile  Пробую различные варианты объявления функции-члена, чтобы он был доступен для других функций-членов.
            
Цитата

начать плодотворное изучение Бормана к примеру с того же Архангельского.


            Прислушаюсь к вашему совету. Борман (Борланд) в наличии и Архангельский прибыл на той неделе. Вроде толково пишет, но что-то вроде там одни ADO без фотографий как у Культина.

Это сообщение отредактировал(а) МаксимPim - 21.3.2009, 02:15
PM MAIL   Вверх
Anikmar
Дата 22.3.2009, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(МаксимPim @  21.3.2009,  01:50 Найти цитируемый пост)
  Прислушаюсь к вашему совету. Борман (Борланд) в наличии и Архангельский прибыл на той неделе. Вроде толково пишет, но что-то вроде там одни ADO без фотографий как у Культина.

Какой ADO, какие фотографии? Начните с Hello World и строк! Потом понемного и до фотографий дойдем.
PM MAIL ICQ   Вверх
МаксимPim
Дата 24.3.2009, 02:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



 smile  Вот как? Ну, хорошо!  Осталось только одну ошибку исправить. Предыдущая база (с сплошным массивом) заработала. И у Культина книжка называется "для чайников". Подумалось, что вроде до чайника дорос. Получается, что тема исчерпана. А вы какие книжки посоветуете или может вышлите на ящик. Спасибо что уделили время.
       P.S.: Сейчас купить программу хорошей базы-в тысячи. А тут мечтал отличную базу создать с мультимедийной подключкой, интерфейсом. У Никиты Борисовича как-раз всё в книжке, только по отдельности... И вроде в листинги программ понятны, вот только с этим aPath... Придётся красивой базе подождать до лучших времен.

Это сообщение отредактировал(а) МаксимPim - 24.3.2009, 03:45
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C++: Базы данных"
chipset

Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах.

Благодарим за понимание.


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

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


 




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


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

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