Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поверхность Безье, Повернуть одну поверхность, а не все!! 
:(
    Опции темы
Tosha
  Дата 5.1.2005, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



привет всем!!!
помогите пожалуста!!!!
1. я не могу натянуть текстуру на поверхность безье в OpenGL
2. Не получаеться повернуть отдельную поверхность Безье?
вот мой проек я там не могу повернуть парус
помогите пожалуста!!!!! smile smile smile smile
Заранее спасибо всем smile
Код

unit frmMain;

interface

uses
 Windows, Messages, Classes, Graphics, Forms, ExtCtrls, Menus, Controls,
 SysUtils, Dialogs,
 OpenGL;

type
 TVector = record
   x, y, z : GLfloat;
 end;
 TPatch = Array [0..15] of TVector;

type
 TfrmGL = class(TForm)
   procedure FormCreate(Sender: TObject);
   procedure FormResize(Sender: TObject);
   procedure FormDestroy(Sender: TObject);
   procedure FormKeyDown(Sender: TObject; var Key: Word;
     Shift: TShiftState);
 private
   DC: HDC;
   hrc: HGLRC;
   AngX, AngY, AngZ, Scale,MoveX,MoveY,MoveZ: GLfloat;
   procedure Init;
   procedure init_surface;
   procedure SetDCPixelFormat;

 protected
   procedure WMPaint(var Msg: TWMPaint); message WM_PAINT;
 end;

const
 yaxta = 1;

var
 frmGL: TfrmGL;

implementation

{$R *.DFM}


{=======================================================================
Инициализация}
procedure TfrmGL.Init;
const
 ambient : Array [0..3] of GLFloat = (0.2, 0.2, 0.2, 1.0);
 position1 : Array [0..3] of GLFloat = (0.0, 2.0, -2.0, 0.0);
 position2 : Array [0..3] of GLFloat = (0.0, 2.0, 5.0, 0.0);
 mat_diffuse : Array [0..3] of GLFloat = (1.0, 0.0, 0.0, 1.0);
 mat_specular : Array [0..3] of GLFloat = (1.0, 1.0, 1.0, 0.0);
 mat_shininess : GLFloat = 2.0;
begin
 glEnable(GL_DEPTH_TEST);
 glEnable(GL_AUTO_NORMAL);
 glEnable(GL_NORMALIZE);

 // источник света
 glEnable(GL_LIGHTING);
 glEnable(GL_LIGHT0);
 glEnable(GL_LIGHT1);
 glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 1);
 glLightfv(GL_LIGHT0, GL_AMBIENT, @ambient);
 glLightfv(GL_LIGHT0, GL_POSITION, @position1);
 glLightfv(GL_LIGHT1, GL_POSITION, @position2);
 glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, @mat_diffuse);
 glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, @mat_specular);
 glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, @mat_shininess);
 glEnable (GL_COLOR_MATERIAL);
 glClearColor (0.0, 0.75, 1.0, 1.0);
 // поверхность
 glEnable(GL_MAP2_VERTEX_3);
 glMapGrid2f(20, 0.0, 1.0, 20, 0.0, 1.0);

 init_surface;
end;

{=======================================================================
Инициализация контрольных точек поверхности}
procedure TfrmGL.Init_Surface;
var
f : TextFile;
i : Integer;
Model : TList;
wrkPatch : TPatch;
pwrkPatch : ^TPatch;
begin
Model := TList.Create;
AssignFile (f, 'Яхта.txt');
ReSet (f);
While not eof (f) do begin
  For i := 0 to 15 do
     ReadLn (f, wrkPatch [i].x, wrkPatch [i].y, wrkPatch [i].z);
  New (pwrkPatch);
  pwrkPatch^ := wrkPatch;
  Model.Add (pwrkPatch);
end;
CloseFile (f);

glNewList (yaxta, GL_COMPILE);
  glPushMatrix;
  glTranslatef(0,-2.2,0);
  glScalef (0.4, 0.4, 0.4);

  For i := 0 to 17 do begin
    glColor3f (0.5, 0.5, 0.5);
    glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, Model.Items[i]);
    glEvalMesh2(GL_FILL, 0, 20, 0, 20);
    glMapGrid2f(20,0,1,20,0,1);
  end;

glPopMatrix;
glEndList;
Model.Free;
end;


{=======================================================================
Перерисовка окна}
procedure TfrmGL.WMPaint(var Msg: TWMPaint);
var
 ps : TPaintStruct;
begin
 BeginPaint (Handle, ps);

 glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);

glPushMatrix;
   glRotatef(AngX, 1, 0, 0);
   glRotatef(AngY, 0, 1, 0);
   glRotatef(AngZ, 0, 0, 1);
   glTranslatef(MoveX,MoveY,MoveZ);

   glCallList (yaxta);

 glPopMatrix;

 SwapBuffers (DC);
 EndPaint (Handle, ps);
end;

{=======================================================================
Изменение размеров окна}
procedure TfrmGL.FormResize(Sender: TObject);
begin
glViewport(0, 0, ClientWidth, ClientHeight);
glMatrixMode(GL_PROJECTION);
glLoadIdentity;
gluPerspective (20.0, ClientWidth / ClientHeight, 1.0, 50.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity;
glTranslatef (0.0, 0.0, -18.0);
InvalidateRect(Handle, nil, False);
end;

{=======================================================================
Конец работы программы}
procedure TfrmGL.FormDestroy(Sender: TObject);
begin
 glDeleteLists (yaxta, 1);
 wglMakeCurrent(0, 0);
 wglDeleteContext(hrc);
 ReleaseDC(Handle, DC);
 DeleteDC (DC);
end;

{=======================================================================
Обработка нажатия клавиши}
procedure TfrmGL.FormKeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
 Case Key of
   VK_ESCAPE : begin
               Close;
               Exit;
               end;
   VK_LEFT :   AngY := AngY + 5;
   VK_UP :     AngZ := AngZ + 5;
   VK_RIGHT :  AngX := AngX + 5;
   VK_NUMPAD6:  MoveX:=MoveX + 0.1;
   VK_NUMPAD4:  MoveX:=MoveX - 0.1;
   VK_NUMPAD8:  MoveY:=MoveY + 0.1;
   VK_NUMPAD2:  MoveY:=MoveY - 0.1;
   VK_NUMPAD1:  MoveZ:=MoveZ + 0.1;
   VK_NUMPAD3:  MoveZ:=MoveZ - 0.1;
 end;
 InvalidateRect(Handle, nil, False);
end;

{=======================================================================
Создание окна}
procedure TfrmGL.FormCreate(Sender: TObject);
begin
 DC := GetDC(Handle);
 SetDCPixelFormat;
 hrc := wglCreateContext(DC);
 wglMakeCurrent(DC, hrc);
 Init;
end;

{=======================================================================
Устанавливаем формат пикселей}
procedure TfrmGL.SetDCPixelFormat;
var
 nPixelFormat: Integer;
 pfd: TPixelFormatDescriptor;
begin
 FillChar(pfd, SizeOf(pfd), 0);

 pfd.dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or
                PFD_DOUBLEBUFFER;
 nPixelFormat := ChoosePixelFormat(DC, @pfd);
 SetPixelFormat(DC, nPixelFormat, @pfd);
end;


end.


а вот точки с файла Яхта.txt:::

5 1 0
4 1 -2.0
-1 1 -1.5
-4 1 -1

4.8 0.5 0
3 0.5 -1.8
-1 0.5 -1.4
-4.4 0.5 -0.7

3.5 0 0
2 0 -2
-1 0 -1.5
-4.7 0.1 -1

2.5 -0.1 0
-1 -0.5 0
-1.5 -0.1 0
-4.8 0.1 0



5 1 0
4 1 2.0
-1 1 1.5
-4 1 1

4.8 0.5 0
3 0.5 1.8
-1 0.5 1.4
-4.4 0.5 0.7

3.5 0 0
2 0 2
-1 0 1.5
-4.7 0.1 1

2.5 -0.1 0
-1 -0.5 0
-1.5 -0.1 0
-4.8 0.1 0





0.8 0 0
0.6 0 0.3
-0.1 0 0.1
-0.5 0 0

0.6 -0.5 0
0.5 -0.5 0.3
-0.3 -0.5 0.1
-0.7 -0.5 0

0.35 -1.65 0
0.25 -1.7 0.3
-0.55 -1.7 0.1
-0.95 -1.65 0

0.2 -1.75 0
0.1 -1.8 0
-0.6 -1.8 0
-1 -1.75 0


0.8 0 0
0.6 0 -0.3
-0.1 0 -0.1
-0.5 0 0

0.6 -0.5 0
0.5 -0.5 -0.3
-0.3 -0.5 -0.1
-0.7 -0.5 0

0.35 -1.65 0
0.25 -1.7 -0.3
-0.55 -1.7 -0.1
-0.95 -1.65 0

0.2 -1.75 0
0.1 -1.8 0
-0.6 -1.8 0
-1 -1.75 0



-4 0 0
-3.8 0 -0.05
-3.6 0 -0.1
-3.5 0 0

-4 -0.5 0
-3.8 -0.5 -0.05
-3.6 -0.5 -0.1
-3.5 -0.5 0

-4 -0.95 0
-3.8 -0.95 -0.05
-3.6 -0.95 -0.1
-3.5 -0.95 0

-4 -1 0
-3.9 -1 0
-3.7 -1 0
-3.6 -1 0


-4 0 0
-3.8 0 0.05
-3.6 0 0.1
-3.5 0 0

-4 -0.5 0
-3.8 -0.5 0.05
-3.6 -0.5 0.1
-3.5 -0.5 0


-4 -0.95 0
-3.8 -0.95 0.05
-3.6 -0.95 0.1
-3.5 -0.95 0

-4 -1 0
-3.9 -1 0
-3.7 -1 0
-3.6 -1 0




5 1 0
4 1 -1.95
-1 1 -1.35
0 1 -1.4

5 1 0
4 1 -1.95
-1 1 -1.35
0 1 -1.4

5 1 0
4 1 1.95
-1 1 1.35
0 1 1.4

5 1 0
4 1 1.95
-1 1 1.35
0 1 1.4



-4.4 0.5 -0.7
-4.4 0.5 -0.7
-4.7 0.275 -1
-4.8 0.1 0

-4.4 0.5 -0.7
-4.4 0.5 -0.7
-4.7 0.275 -1
-4.8 0.1 0

-4.4 0.5 0.7
-4.4 0.5 0.7
-4.7 0.275 1
-4.8 0.1 0

-4.4 0.5 0.7
-4.4 0.5 0.7
-4.6 0.275 1
-4.8 0.1 0






-4 1 -1
-4.4 0.5 -0.8
-4.6 0.1 -0.7
-4.8 0.2 -0.5

-4 1 -1
-4.4 0.5 -0.8
-4.6 0.1 -0.7
-4.8 0.2 -0.5

-4 1 -0.5
-4.4 0.5 -0.5
-4.7 0.2 -0.5
-4.8 0.2 -0.5

-4 1 -0.5
-4.4 0.5 -0.5
-4.7 0.2 -0.5
-4.8 0.2 -0.5



0 1 -1
1.5 1 -0.9
2.9 1 -0.7
3 1 -0.05

0 1.7 -0.9
1.5 1.7 -0.9
2 1.5 -0.7
3 1 0

0 1.7 0.9
1.5 1.7 0.9
2 1.5 0.7
3 1 0

0 1 1
1.5 1 0.9
2.9 1 0.7
3 1 0.05



2.5 1 0
2.45 1 0.13
2.3 1 0.05
2.2 1 0

2.5 1 0
2.45 1 0.13
2.3 1 0.05
2.2 1 0

2.5 5 0
2.45 5 0.13
2.3 5 0.05
2.2 5 0

2.4 13 0
2.35 13 0.08
2.3 13 0.03
2.2 13 0


2.5 1 0
2.45 1 -0.13
2.3 1 -0.05
2.2 1 0

2.5 1 0
2.45 1 -0.13
2.3 1 -0.05
2.2 1 0

2.5 5 0
2.45 5 -0.13
2.3 5 -0.05
2.2 5 0

2.4 13 0
2.35 13 -0.08
2.3 13 -0.03
2.2 13 0




2.3 2 0.05
2.3 2 0.05
2.3 2.2 0.05
2.3 2.2 0.05

2.3 2 0.05
2.3 2 0.05
2.3 2.2 0.05
2.3 2.2 0.05

-3.2 2 0.05
-3.2 2 0.05
-3.2 2.2 0.05
-3.2 2.2 0.05

-3.2 2 0.05
-3.2 2 0.05
-3.2 2.2 0.05
-3.2 2.2 0.05




2.3 2 -0.05
2.3 2 -0.05
2.3 2.2 -0.05
2.3 2.2 -0.05

2.3 2 -0.05
2.3 2 -0.05
2.3 2.2 -0.05
2.3 2.2 -0.05

-3.2 2 -0.05
-3.2 2 -0.05
-3.2 2.2 -0.05
-3.2 2.2 -0.05

-3.2 2 -0.05
-3.2 2 -0.05
-3.2 2.2 -0.05
-3.2 2.2 -0.05



2.3 2 0.05
2.3 2 0.05
2.3 2 -0.05
2.3 2 -0.05

2.3 2 0.05
2.3 2 0.05
2.3 2 -0.05
2.3 2 -0.05

-3.2 2 0.05
-3.2 2 0.05
-3.2 2 -0.05
-3.2 2 -0.05

-3.2 2 0.05
-3.2 2 0.05
-3.2 2 -0.05
-3.2 2 -0.05



2.3 2.2 0.05
2.3 2.2 0.05
2.3 2.2 -0.05
2.3 2.2 -0.05

2.3 2.2 0.05
2.3 2.2 0.05
2.3 2.2 -0.05
2.3 2.2 -0.05

-3.2 2.2 0.05
-3.2 2.2 0.05
-3.2 2.2 -0.05
-3.2 2.2 -0.05

-3.2 2.2 0.05
-3.2 2.2 0.05
-3.2 2.2 -0.05
-3.2 2.2 -0.05



2.2 2.2 0
2.2 4.2 0
2.2 11.2 0
2.2 12.8 0

1.2 2.2 0
1.2 3.2 1
1.2 11.2 0.3
2.2 12.8 0

-1 2.2 0
-1 3.2 0.7
-1 11.2 0.2
2.2 12.8 0

-3. 2.2 0
-2.2 4.2 0.2
0.2 11.2 0.2
2.2 12.8 0




4.8 1 0
4.2 4 0
3.0 8 0
2.4 11 0

3.8 1.1 1.5
3.6 4 1.3
2.8 8 0.4
2.4 11 0

0.5 1.2 1.4
1.0 4 1.2
2 8 0.8
2.4 11 0

0.5 1.3 1.2
1.0 4 1
2 8 0.6
2.4 11 0

Это сообщение отредактировал(а) Tosha - 5.1.2005, 23:52
PM MAIL   Вверх
p0s0l
Дата 6.1.2005, 02:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Цитата(Tosha @ 5.1.2005, 23:32)
Не получаеться повернуть отдельную поверхность Безье? вот мой проек я там не могу повернуть парус
Разбей яхту на две части - "корпус" и "парус", тогда будет как-то так:
Код
glPushMatrix;
   glRotatef(AngX, 1, 0, 0);
   glRotatef(AngY, 0, 1, 0);
   glRotatef(AngZ, 0, 0, 1);
   glTranslatef(MoveX,MoveY,MoveZ);

   glCallList (yaxta);

  glTranslatef (... координаты точки вращения паруса ...);
  glRotatef ( .... );
  glCallList (parus);

 glPopMatrix;

Цитата(Tosha @ 5.1.2005, 23:32)
1. я не могу натянуть текстуру на поверхность безье в OpenGL
Должно быть примерно так (знаками восклицания выделено то что нужно):
Код

procedure TfrmGL.Init;
...
 init_surface;
 загрузка текстуры; // !!!
 glEnable (gl_texture_2d); // !!!
end;

procedure TfrmGL.Init_Surface;
...
glEnable (GL_MAP2_TEXTURE_COORD_2); // !!!
glNewList (yaxta, GL_COMPILE);
  glPushMatrix;
  glTranslatef(0,-2.2,0);
  glScalef (0.4, 0.4, 0.4);

  For i := 0 to 17 do begin
    glColor3f (0.5, 0.5, 0.5);
    glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, Model.Items[i]);
    glMap2f(GL_MAP2_TEXTURE_COORD_2, 0, 1, 3, 4, 0, 1, 12, 4, Model.Items[i]); // !!!
    glEvalMesh2(GL_FILL, 0, 20, 0, 20);
    glMapGrid2f(20,0,1,20,0,1);
  end;


Пример загрузки текстуры:
Код

procedure GL_LoadTexture (const FileName : string);
const GL_BGRA_EXT = $80E1;
var
 p : TPicture;
 bmp : TBitmap;
 Buf : PByteArray;
 y, w : integer;

begin
 p := TPicture.Create;
 p.LoadFromFile(FileName);
 bmp := TBitmap.Create;
 bmp.Assign(p.Graphic);
 p.Free;
 bmp.PixelFormat := pf32bit;
 w := bmp.Width * 4;
 GetMem (Buf, w*bmp.Height);
 for y := 0 to bmp.Height-1 do Move (bmp.ScanLine[y]^, Buf[(bmp.Height-y) * w], w);
 gluBuild2DMipmaps (GL_TEXTURE_2D, 4, bmp.Width, bmp.Height, GL_BGRA_EXT, GL_UNSIGNED_BYTE, Buf);
 glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
 glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
 bmp.Free;
 FreeMem (Buf);
end;



--------------------
С уважением, г-н Посол.
PM   Вверх
Tosha
Дата 8.1.2005, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



posol спсибо тебе большое!!! smile
Я наложил текстуру!!!! А как сделать так что бы одно изображение наложилось на одну поверхностьsmile
и пожалуста если можна как все таки мне разбить Яхту на две части: парус и корпус smile
Пожалуста если можна поподробнее( а то я в ООП не сильно разбираюсь )smile
Спасибо большое smile
PM MAIL   Вверх
p0s0l
Дата 8.1.2005, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Цитата(Tosha @ 8.1.2005, 08:33)
А как сделать так что бы одно изображение наложилось на одну поверхность
Можно по-подробнее вопрос ?
У тебя на всей яхте получилось много повторений одной и той же текстуры ?
Тогда тебе стоит повозиться со строкой:
Код
glMap2f(GL_MAP2_TEXTURE_COORD_2, 0, 1, 3, 4, 0, 1, 12, 4, Model.Items[i]); // !!!
Здесь есть число 0 и 1 (встречаются 2 раза)... Попробуй вместо 1 поставь 4 например, или еще что...



Цитата(Tosha @ 8.1.2005, 08:33)
и пожалуста если можна как все таки мне разбить Яхту на две части: парус и корпус

Например так:
Где объявлена константа yaxta, напиши:
Код

const
 yaxta = 1;
 parus = 2;


Init_Surface будет таким:
Код

procedure TfrmGL.Init_Surface;
...

glEnable (GL_MAP2_TEXTURE_COORD_2); // !!!
glNewList (yaxta, GL_COMPILE);
 glmatrixmode(gl_modelview);
  glPushMatrix;
  glTranslatef(0,-2.2,0);
  glScalef (0.4, 0.4, 0.4);

  For i := 0 to 11 do begin
    glColor3f (0.5, 0.5, 0.5);
    glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, Model.Items[i]);
    glMap2f(GL_MAP2_TEXTURE_COORD_2, 0, 1, 3, 4, 0, 1, 12, 4, Model.Items[i]);
    glEvalMesh2(GL_FILL, 0, 20, 0, 20);
    glMapGrid2f(20,0,1,20,0,1);
  end;
glEndList;

glNewList (parus, GL_COMPILE);
  For i := 12 to 17 do begin
    glColor3f (0.5, 0.5, 0.5);
    glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, Model.Items[i]);
    glMap2f(GL_MAP2_TEXTURE_COORD_2, 0, 1, 3, 4, 0, 1, 12, 4, Model.Items[i]);
    glEvalMesh2(GL_FILL, 0, 20, 0, 20);
    glMapGrid2f(20,0,1,20,0,1);
  end;
glEndList;

Model.Free;
end;


Теперь у тебя уже 2 списка: yaxta и parus...
WMPaint будет таким:
Код

procedure TfrmGL.WMPaint(var Msg: TWMPaint);
var
 ps : TPaintStruct;
begin
 BeginPaint (Handle, ps);

 glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);

 glmatrixmode(gl_modelview);
 glPushMatrix;
   glRotatef(AngX, 1, 0, 0);
   glRotatef(AngY, 0, 1, 0);
   glRotatef(AngZ, 0, 0, 1);
   glTranslatef(MoveX,MoveY,MoveZ);

   glCallList (yaxta);

   gltranslatef(2.3, 0, 0);
   glRotatef(gettickcount/10, 0, 1, 0); // поворот в зависимости от времени...
// сам сделаешь поворот на какой надо угол...
   gltranslatef(-2.3, 0, 0);
   glCallList (parus);

 glPopMatrix;

 SwapBuffers (DC);
 EndPaint (Handle, ps);
end;





--------------------
С уважением, г-н Посол.
PM   Вверх
Tosha
Дата 9.1.2005, 05:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



smile Спасибо большое!!!!! smile
Если бы не вы я не знаю что бы я делал с этим курсовиком.
Может быть я как то смогу вас отблагодарить? smile

PM MAIL   Вверх
p0s0l
Дата 9.1.2005, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Цитата(Tosha @ 9.1.2005, 05:56)
Может быть я как то смогу вас отблагодарить
Можешь smile - Заходи сюда еще раз - всегда будем рады ! smile

PS: можно и на "ты", ведь я тоже студент smile



--------------------
С уважением, г-н Посол.
PM   Вверх
Tosha
Дата 10.1.2005, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



спасибо еще раз smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

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

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

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


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

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


 




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


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

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