Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2013, 23:56   #1
iFlash66
 
Регистрация: 11.02.2013
Сообщений: 4
Печаль Класс: морская волна

Разработать программу для рисования на форме геометрического объекта, используя объектно-ориентированное программирование. В программе должно быть не менее 1 класса.
Морская волна (синусоида, задается высота и длина, и фаза - положение синусоиды относительно начала координат).
Помогите сделать, пожалуйста!
iFlash66 вне форума Ответить с цитированием
Старый 12.02.2013, 00:13   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs;

type

  { TForm1 }

  TForm1 = class(TForm)
    procedure FormPaint(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormPaint(Sender: TObject);
const dess=10;
var x:double;k:integer;
begin
 k:=(Height div 2); while k<(Height div 2)+100 do begin
 Canvas.MoveTo(0,k);
 x:=0;while x<Width do begin
   Canvas.Pen.Color:=RGBToColor(0,0,k);
   Canvas.LineTo(round(x+cos(x)),round(k+sin(x)*dess));
   x:=x+0.1;
 end;
 inc(k,10);
 end;
end;

end.
Тут и классы, и волны и синусойды и рисование.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.02.2013, 00:21   #3
iFlash66
 
Регистрация: 11.02.2013
Сообщений: 4
По умолчанию

О, спасибо. А можно еще код формы?
iFlash66 вне форума Ответить с цитированием
Старый 12.02.2013, 09:30   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А она пустая. Любую форму можешь использовать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.02.2013, 10:02   #5
superedward
Форумчанин
 
Аватар для superedward
 
Регистрация: 27.11.2012
Сообщений: 190
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Тут и классы, и волны и синусойды и рисование.
Сдаётся мне, по заданию нужно создать свой класс...
superedward вне форума Ответить с цитированием
Старый 12.02.2013, 11:28   #6
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Вот, что-то подобное:
http://www.programmersforum.ru/showthread.php?t=227489
Только там лопости рисует, а у вас волна, причем одна. Замените соответствующие функции рисования в тамошнем классе и назовите его TVolna.
Код:
  TVolna = class (TObject)
  private
    FFaza     : Real;
    FAmpletuda: Real;
  protected
  public
    constructor Create (AFaza, AAmpletuda: Real);

    procedure Depose (DeltaFaza: Real);
    procedure Draw (ACanvas: TCanvas);

    property Faza     : Real read FFaza      write FFaza     ;
    property Ampletuda: Real read FAmpletuda write FAmpletuda;
  end;

Последний раз редактировалось Sibedir; 12.02.2013 в 11:32.
Sibedir вне форума Ответить с цитированием
Старый 12.02.2013, 12:39   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
нужно создать свой класс.
TForm1 и так свой класс.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бегущая волна lavrv C++ Builder 0 15.01.2012 12:42
Волновой алгоритм сферическая волна ArtInt Общие вопросы Delphi 2 24.04.2010 15:43
мерцающая волна с направлением яркости sonnenschein Помощь студентам 1 05.09.2009 18:02
Волна AlphaSkin и подобных Роман Радер Свободное общение 7 04.01.2009 19:54