Массивы внутри типа

Предыдущая тема Следующая тема Перейти вниз

Массивы внутри типа

Сообщение  Myster в Ср Май 16, 2012 8:48 pm

Господа, всем здравствуйте. Давно здесь не был, но теперь у меня появился повод вновь вернуться на форум с вопросом))
Вопрос наверное простой (не пугайтесь пожалуйста поэме ниже, все проще чем кажется), и на форуме и вообще в сети я как-то не нашел именно то, что мне нужно. Вернее та информация, которую я находил, для меня достаточно расплывчата (извините если не увидел на форуме). По порядку:

Моя задача такая:
хочу написать небольшой частный gui для будущей программки (ну хотя бы для тренировки как минимум), конкретно, один из элементов будет Resizer (элемент, потянув за который мышкой, я буду изменять размер окна, который в правом нижнем углу окна встречается). Для этого я создаю тип WResizer (сокр. от window resizer) с набором параметров, но одна из переменных, которые я хочу использовать в каждом экземпляре нового объекта - это двухмерный массив, который будет использован для прорисовке изображения. То есть мне нужно обязательно, чтобы все изображения рисовались программно, без внешних файлов изображений, по двум причинам: 1.не хочу иметь кучу внешних файлов; 2.планирую сделать выбор цветовой схемы, и зависимо от того, какая схема будет выбрана пользователем, в таких цветах будет рисоваться изображение.
Вот сам тип:

Код:
's - от "Scheme" (цветовая схема), r,g,b,a - три цвета и альфа-канал
Dim As UByte sr = 191, sg = 191, sb = 191

'WINDOW RESIZER >>
Type WResizer
   As UByte count  'счетчик для заполнения буфера изображения пиксель за пикселем
   As UByte sa  'Scheme Alpha-канал вышеупомянутый, но этот параметр будет меняться в экземпляре объекта
   image As Any Ptr = ImageCreate(16, 16, RGB(0,0,0))  'буфер для изображения 16х16
   As UByte content(3,255)  'Сам злополучный массив. 4 канала (R,G,B,A), и в каждом по 256 пикселей для будущего изображения.
   Declare Sub updatepic()  'для рисования или обновления изображения
   Declare Destructor()
End Type

И соответственно сам массив в описании Sub'а (разбил построчно в порядке RGBA с эдакими полями 16х16 для наглядности, так легче заполнять значения каждого пикселя):

Код:
Sub WResizer.updatepic()
'начинаю заполнять сам массив
   this.content(3,255)=_
  {{    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, sr+51,    sr,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    sr, sr-51,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0, sr+51,    sr,    0,    0, sr+51,    sr,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    sr, sr-51,    0,    0,    sr, sr-51,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0, sr+51,    sr,    0,    0, sr+51,    sr,    0,    0, sr+51,    sr,    0,    0,    0,_
         0,    0,    0,    sr, sr-51,    0,    0,    sr, sr-51,    0,    0,    sr, sr-51,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0},_
   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, sg+51,    sg,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    sg, sg-51,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0, sg+51,    sg,    0,    0, sg+51,    sg,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    sg, sg-51,    0,    0,    sg, sg-51,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0, sg+51,    sg,    0,    0, sg+51,    sg,    0,    0, sg+51,    sg,    0,    0,    0,_
         0,    0,    0,    sg, sg-51,    0,    0,    sg, sg-51,    0,    0,    sg, sg-51,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0},_
   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, sb+51,    sb,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    sb, sb-51,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0, sb+51,    sb,    0,    0, sb+51,    sb,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    sb, sb-51,    0,    0,    sb, sb-51,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0, sb+51,    sb,    0,    0, sb+51,    sb,    0,    0, sb+51,    sb,    0,    0,    0,_
         0,    0,    0,    sb, sb-51,    0,    0,    sb, sb-51,    0,    0,    sb, sb-51,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0},_
   {    0,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,    0,_
      this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,_
       this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,_
       this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  255,  255,  this.sa,  this.sa,  this.sa,_
       this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  255,  255,  this.sa,  this.sa,  this.sa,_
       this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,_
       this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,_
       this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  255,  255,  this.sa,  this.sa,  255,  255,  this.sa,  this.sa,  this.sa,_
       this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  255,  255,  this.sa,  this.sa,  255,  255,  this.sa,  this.sa,  this.sa,_
       this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,_
       this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,_
       this.sa,  this.sa,  this.sa,  255,  255,  this.sa,  this.sa,  255,  255,  this.sa,  this.sa,  255,  255,  this.sa,  this.sa,  this.sa,_
       this.sa,  this.sa,  this.sa,  255,  255,  this.sa,  this.sa,  255,  255,  this.sa,  this.sa,  255,  255,  this.sa,  this.sa,  this.sa,_
       this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,_
       this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,_
         0,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,  this.sa,    0}}

'заполняем буфер изображения, используя данные массива
   For iy As UByte = 0 To 15
      For ix As UByte = 0 To 15
         PSet this.image,(ix,iy),RGBA(this.content(0,this.count),this.content(1,this.count),_
                                      this.content(2,this.count),this.content(3,this.count))
         this.count += 1
      Next
   Next
   this.count = 0
End Sub

Destructor WResizer()
   ImageDestroy this.image
End Destructor
'<< WINDOW RESIZER

Это кусок кода из стороннего .bi-файла. При попытке запуска вылетает ошибка со ссылкой на массив:
error 9: Expected expression, found '{' in '{{ 0, 0, и т.д.'
Конечно, компилятор наверное ожидает какое-то выражение, но мне ему предложить нечего (от n-мерности массива это не зависит, проверил). Делаю вывод, что массив таким образом впихнуть раз и навсегда в тип нельзя.
В сети есть предложения для динамических массивов: объявить в типе переменную, которой позже уже в экземплере объекта будет назначено значение, например 5, если в массиве будет 5 штук, а также создать указатель (но мне нужен PTR как классический буфер для изображения). А далее по предложению и сам массив будет создаваться также уже в экземпляре объекта, но опять же не в типе! А мне нужно чтобы этот массив был лишь однажды забит в типе, мне как раз-таки не нужно создавать массив в финале в экземпляре, иначе просто нет смысла вообще делать это как тип, если я буду каждый раз набивать всю двухмерную эпопею, что вы видели выше.

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

Прошу прощения, если использую не совсем ту терминологию по поводу типа, класса или объекта. И еще раз пардон за эпопею, но все-таки, какая проблема, столько и слов Smile
avatar
Myster

Сообщения : 29
Дата регистрации : 2008-08-21
Возраст : 29
Откуда : Мытищи МО

Посмотреть профиль http://www.wind-team.com

Вернуться к началу Перейти вниз

Re: Массивы внутри типа

Сообщение  trew в Ср Май 16, 2012 10:10 pm

Может я не совсем правильно понял. Однако попробую пояснить, как я это вижу.

Массив инициализируется значениями либо сразу при создании, либо после отдельно поячейно. В вашем случае насколько я понял основная масса заполненных ячеек статична, остальные меняются при создании объекта?! Я бы в данном случае сделал бы так как в примере ниже:

Код:

's - от "Scheme" (цветовая схема), r,g,b,a - три цвета и альфа-канал
Dim Shared As UByte sr = 191, sg = 191, sb = 191,sa =0

'WINDOW RESIZER >>
Type WResizer
   As UByte count  'счетчик для заполнения буфера изображения пиксель за пикселем
   image As Any Ptr = ImageCreate(16, 16, RGB(0,0,0))  'буфер для изображения 16х16
   As UByte content(3,255)=  {{    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, sr+51,    sr,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    sr, sr-51,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0, sr+51,    sr,    0,    0, sr+51,    sr,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    sr, sr-51,    0,    0,    sr, sr-51,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0, sr+51,    sr,    0,    0, sr+51,    sr,    0,    0, sr+51,    sr,    0,    0,    0,_
   0,    0,    0,    sr, sr-51,    0,    0,    sr, sr-51,    0,    0,    sr, sr-51,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0},_
   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, sg+51,    sg,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    sg, sg-51,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0, sg+51,    sg,    0,    0, sg+51,    sg,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    sg, sg-51,    0,    0,    sg, sg-51,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0, sg+51,    sg,    0,    0, sg+51,    sg,    0,    0, sg+51,    sg,    0,    0,    0,_
   0,    0,    0,    sg, sg-51,    0,    0,    sg, sg-51,    0,    0,    sg, sg-51,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0},_
   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, sb+51,    sb,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    sb, sb-51,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0, sb+51,    sb,    0,    0, sb+51,    sb,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    sb, sb-51,    0,    0,    sb, sb-51,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0, sb+51,    sb,    0,    0, sb+51,    sb,    0,    0, sb+51,    sb,    0,    0,    0,_
   0,    0,    0,    sb, sb-51,    0,    0,    sb, sb-51,    0,    0,    sb, sb-51,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,_
   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0},_
   {    0,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,    0,_
   sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,_
   sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,_
   sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  255,  255,  sa,  sa,  sa,_
   sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  255,  255,  sa,  sa,  sa,_
   sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,_
   sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,_
   sa,  sa,  sa,  sa,  sa,  sa,  sa,  255,  255,  sa,  sa,  255,  255,  sa,  sa,  sa,_
   sa,  sa,  sa,  sa,  sa,  sa,  sa,  255,  255,  sa,  sa,  255,  255,  sa,  sa,  sa,_
   sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,_
   sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,_
   sa,  sa,  sa,  255,  255,  sa,  sa,  255,  255,  sa,  sa,  255,  255,  sa,  sa,  sa,_
   sa,  sa,  sa,  255,  255,  sa,  sa,  255,  255,  sa,  sa,  255,  255,  sa,  sa,  sa,_
   sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,_
   sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,_
   0,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,  sa,    0}}
   Declare Sub updatepic()  'для рисования или обновления изображения
   Declare Destructor()
End Type

Sub WResizer.updatepic()
   'заполняем буфер изображения, используя данные массива
   For iy As UByte = 0 To 15
      For ix As UByte = 0 To 15
         PSet this.image,(ix,iy),RGBA(this.content(0,this.count),this.content(1,this.count),_
         this.content(2,this.count),this.content(3,this.count))
         this.count += 1
      Next
   Next
   this.count = 0
End Sub

Destructor WResizer()
ImageDestroy this.image
End Destructor
'<< WINDOW RESIZER

Поскольку при инициализации массива имеются переменные величины (sg,sa) , то их необходимо делать глобальными (то есть создаваемыми компилятором в секции данных, но не в стеке) . Иначе компилятор выдает ошибку, оно и понятно. Как он может взять значение для заполнения ячейки структуры, если переменной, откуда надо брать, еще не существует? Как то так наверно . Кстати вместо процедуры updatepic() я бы сделал лучше конструктор , хотя конечно не знаю всех ваших задумок...

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения