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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2014, 16:41   #1
braviatry11
Новичок
Джуниор
 
Регистрация: 11.06.2014
Сообщений: 2
По умолчанию Помогите разобраться с кодом

нужно чтобы программа рисовала элекрически резонансную волну. Но она рисует прямую
вот код
Код:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, jpeg, ExtCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Img2: TImage;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
const
  mash=100;
var
  c,l : integer;
  x0,y0 : integer;
  x,y : real;
begin
  // очистка графика
  Img2.Canvas.Pen.Color:=clWhite;
  img2.Canvas.Rectangle(0,0,ClientWidth,ClientHeight);
  // считываем коэфицыенты
  c:=StrToInt(Edit1.Text);
  l:=StrToInt(Edit2.Text);
  // находим центр
  x0:=Img2.Width div 2;
  y0:=Img2.Height div 2;
  // рисуем оси
  img2.Canvas.Pen.Color:=clGreen;
  img2.Canvas.Pen.Width:=2;
  img2.Canvas.MoveTo(x0,0);
  img2.Canvas.LineTo(x0,ClientHeight);
  img2.Canvas.MoveTo(0,y0);
  img2.Canvas.LineTo(ClientWidth,y0);
  // рисуем график
  img2.Canvas.Pen.Color:=clRed;
  img2.Canvas.Pen.Width:=1;
  x:=-10;
  y:=1/((2*3.14)* sqr(L*C));

  img2.Canvas.MoveTo(Trunc(x),Trunc(y));
  repeat
    x:=x+0.1;
    y:=1/((2*3.14)* sqr(L*C));

    img2.Canvas.LineTo(Trunc(x*mash)+x0,Trunc(y*mash)+y0);
  until  x>=10;
end;

end.

Последний раз редактировалось Stilet; 11.06.2014 в 16:50.
braviatry11 вне форума Ответить с цитированием
Старый 11.06.2014, 16:53   #2
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Формула какая?
doktor255 вне форума Ответить с цитированием
Старый 11.06.2014, 20:21   #3
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Цитата:
Сообщение от doktor255 Посмотреть сообщение
Формула какая?
Частота = 1 / Формула Томсона.
У него в коде так.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 12.06.2014, 19:29   #4
braviatry11
Новичок
Джуниор
 
Регистрация: 11.06.2014
Сообщений: 2
По умолчанию

короче, там формула не та
U= А`максимальная амплитуда колебаний` * cos 2pi * f (t+ fi0`градусов`)
буду переделывать
braviatry11 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с кодом Лера.К БД в Delphi 6 21.05.2014 16:36
Помогите разобраться с кодом! sid Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 13.04.2010 17:53
помогите разобраться с кодом samosval Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 27.12.2007 00:20
Помогите разобраться с кодом С++ Noor Помощь студентам 20 10.10.2007 17:42