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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2014, 21:52   #1
Clockgen
Пользователь
 
Регистрация: 20.11.2008
Сообщений: 66
По умолчанию Проблемка с построением программы

Ребят,здравствуйте,помогите пожалуйста склеить код,дело в том,что мой однокурсник написал эту программу и передал ее мне,а откомпилированного файла у него не осталось,если вам не трудно,нужна только интерфейсная часть,я не понимаю как строятся графики в делфи.
Попытался склеить код с интерфейсом и не получилось(

Цитата:
Задача программы:
Программа выполняет моделирование работы цифрового фильтра высоких частот 6 порядка. По результатам обработки выводятся графики входного аналогового сигнала и выходного цифрового сигнала
Код:
unit Unit1;
program Filter1;
uses
Forms,
UFilterOne in 'UFilterOne.pas' {Form1},
UGenerator in 'UGenerator.pas',
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Код:
unit UFilterOne;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, TeeProcs, TeEngine, Chart, Buttons, StdCtrls,
ComCtrls, Spin, Ugenerator, Series,Math;
type
TForm1 = class(TForm)
Button1: TButton;
BitBtn1: TBitBtn;
Label2: TLabel;
SpinEdit3: TSpinEdit;
Label7: TLabel;
Memo2: TMemo;
Label8: TLabel;
Chart1: TChart;
Series1: TLineSeries;
Series2: TLineSeries;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var a,c:real;
k: tGen;
i,j:integer;
f1: Tfilter;
x,y,y1,h: real;
res: Comp;
begin
a:=38;
c:=StrToInt(SpinEdit3.text);
K:=tgen.Init1(c,a);
F1:=Tfilter.Init2;
Chart1.Series[0].Clear;
Chart1.Series[1].Clear;
for i:=0 to 200 do begin
Chart1.Series[0].AddXY(k.getTime(i),k.getValue(i));
Chart1.Series[1].AddXY(k.getTime(i),F1.getValueP(k.getValue(i)));
end;
for i:=1 to 380 do begin
if x<=k.getValue(i) then
x:=k.getValue(i);
y:=f1.getValueP(k.getValue(i));
if i>20 then
if y1<=y then
y1:=y;
res:=20*log10(abs(y1/x));
memo2.Lines.Add(FloatToStr(res));
end;
end;
end.
Код:
unit UGenerator;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, TeeProcs, TeEngine, Chart, Buttons, StdCtrls,
ComCtrls, Spin, Math;
Type
TGen = class (TObject)
Protected
Fample: real; {Амплитуда}
FVhod: real; {Частота входного сигнала}
Fdec: real; {Частота дескретизации}
Public
Constructor Init1(aVhod,adec: real);
Function getValue(ax: integer): real;
Function getTime(ax: integer): real;
end;
type
TFilter = class (Tobject)
Protected
a01, a02, a03, b01, b02: Real;
a11, a12, a13, b11, b12: Real;
a21, a22, a23, b21, b22: Real;
e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,
e11,e12,e13,e14,e15,e16,e17,e18,e19,e20,
e21,e22,e23,e24,e25,e26,e27,x1, x2,y1,y2: real;
Public
Constructor Init2;
Function getValueP(aX: Real) :Real;
end;
implementation
Constructor TFilter.Init2;
begin
Inherited Create;
a01:=0.562495; a02:=-0.562495; b01:=-0.12499;
a11:=0.47947; a12:=-2*0.47947; a13:=0.47947; b11:=0.378817; b12:=-0.539061;
a21:=0.349231; a22:=-2*0.349231; a23:=0.349231; b21:=0.275919; b22:=-0.121006;
e01:=0;e02:=0;e03:=0;e04:=0;e05:=0;e06:=0;e07:=0;e08:=0;e09:=0;e10:=0;e11:=0;
e12:=0;e13:=0;e14:=0;e15:=0; x1:=0; x2:=0;y1:=0;y2:=0;
end;
Constructor TGen.Init1(aVhod,adec: real);
begin
inherited Create;
Fample:=1;
Fvhod:=aVhod;
Fdec:=adec;
end;
Function TGen.getValue(aX: Integer): Real;
begin
Result := fAmple * sin(2*Pi * (Fvhod*1000) * getTime(aX));
end;
Function TGen.getTime(aX: Integer): Real;
begin
Result := ax/(fdec*1000);
end;
Function TFilter.getValueP(aX: Real): Real;
begin
x2:=x1;
x1:=ax;
y1:=a01*x1+a02*x2-b01*y1;
e03:=e02;
e06:=e03*a13;
e02:=e01;
e05:=e02*a12;
e01:=y1;
e04:=e01*a11;
e09:=e08;
e11:=e09*b12;
e08:=e07;
e10:=e08*b11;
e07:=e04+e05+e06+e10+e11;
e14:=e09*a23;
e13:=e08*a22;
e12:=e07*a21;
e17:=e16;
e19:=e17*b22;
e16:=e15;
e18:=e15*b21;
e15:=e12+e13+e14+e18+e19;
Result:=e15; 
end; 
end.
Изображения
Тип файла: png Безымянный.png (17.5 Кб, 79 просмотров)
Clockgen вне форума Ответить с цитированием
Старый 15.11.2014, 22:54   #2
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Забирай
http://rghost.ru/59085023
indexx вне форума Ответить с цитированием
Старый 15.11.2014, 22:54   #3
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

не хватает файла UFilterOne.dfm
дай ехешник сюда
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 15.11.2014 в 22:59.
min@y™ вне форума Ответить с цитированием
Старый 16.11.2014, 00:09   #4
Clockgen
Пользователь
 
Регистрация: 20.11.2008
Сообщений: 66
По умолчанию

вы не могли бы показать файлы проекта?я просто хочу немного преобразить интерфейс.
Clockgen вне форума Ответить с цитированием
Старый 16.11.2014, 00:21   #5
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Сообщение от Clockgen Посмотреть сообщение
вы не могли бы показать файлы проекта?я просто хочу немного преобразить интерфейс.
это ты кому?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 16.11.2014, 00:36   #6
Clockgen
Пользователь
 
Регистрация: 20.11.2008
Сообщений: 66
По умолчанию

Index'у а он вам скинул экзешник? UFilterOne.dfm это в файлах проекта должно быть,но там его нет.
Clockgen вне форума Ответить с цитированием
Старый 16.11.2014, 00:46   #7
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
он вам скинул экзешник?
я у тебя ехешник просил. дай сюда, пока я не передумал.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 16.11.2014, 00:58   #8
Clockgen
Пользователь
 
Регистрация: 20.11.2008
Сообщений: 66
По умолчанию

ну вот он.
Вложения
Тип файла: rar Filter1.rar (232.8 Кб, 13 просмотров)
Clockgen вне форума Ответить с цитированием
Старый 16.11.2014, 01:09   #9
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
ну вот он.
из этого файла извлечь форму не удалось.
конечно, возможно сдизайнить новую форму, но мне лениво.
ты где исходники скопипастил? почему нету dfm-файла?
почему не свяжешься с однокурсником?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 16.11.2014, 01:16   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Сомнительно что там однокурсник.
Держи форму:
Код:
object Form1: TForm1
  Left = 236
  Top = 205
  Width = 899
  Height = 312
  Caption = #1060#1080#1083#1100#1090#1088' '#1074#1099#1089#1086#1082#1080#1093' '#1095#1072#1089#1090#1086#1090
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Label1: TLabel
    Left = 16
    Top = 128
    Width = 158
    Height = 13
    Caption = #1063#1072#1089#1090#1086#1090#1072' '#1076#1080#1089#1082#1088#1077#1076#1080#1090#1072#1094#1080#1080'38('#1082#1043#1094')'
  end
  object Label7: TLabel
    Left = 80
    Top = 160
    Width = 113
    Height = 13
    Caption = #1063#1072#1089#1090#1086#1090#1072' '#1089#1080#1075#1085#1072#1083#1072' ('#1082#1043#1094')'
  end
  object Label8: TLabel
    Left = 80
    Top = 200
    Width = 84
    Height = 13
    Caption = #1054#1089#1083#1072#1073#1083#1077#1085#1080#1077' '#1076#1041#1083
  end
  object Button1: TButton
    Left = 16
    Top = 240
    Width = 75
    Height = 25
    Caption = #1057#1090#1072#1088#1090
    TabOrder = 0
    OnClick = Button1Click
  end
  object BitBtn1: TBitBtn
    Left = 104
    Top = 240
    Width = 75
    Height = 25
    Caption = #1047#1072#1082#1088#1099#1090#1100
    TabOrder = 1
  end
  object SpinEdit3: TSpinEdit
    Left = 16
    Top = 152
    Width = 57
    Height = 22
    MaxValue = 0
    MinValue = 0
    TabOrder = 2
    Value = 4
  end
  object Memo2: TMemo
    Left = 16
    Top = 184
    Width = 57
    Height = 33
    TabOrder = 3
  end
  object Chart1: TChart
    Left = 208
    Top = 8
    Width = 665
    Height = 250
    BackWall.Brush.Color = clWhite
    BackWall.Brush.Style = bsClear
    Title.Text.Strings = (
      'TChart')
    View3DOptions.Elevation = 311
    TabOrder = 4
    object Series1: TLineSeries
      Marks.ArrowLength = 8
      Marks.Visible = False
      SeriesColor = clRed
      Title = #1042#1093#1086#1076
      Pointer.InflateMargins = True
      Pointer.Style = psRectangle
      Pointer.Visible = False
      XValues.DateTime = False
      XValues.Name = 'X'
      XValues.Multiplier = 1.000000000000000000
      XValues.Order = loAscending
      YValues.DateTime = False
      YValues.Name = 'Y'
      YValues.Multiplier = 1.000000000000000000
      YValues.Order = loNone
    end
    object Series2: TLineSeries
      Marks.ArrowLength = 8
      Marks.Visible = False
      SeriesColor = clGreen
      Title = #1042#1099#1093#1086#1076
      Pointer.InflateMargins = True
      Pointer.Style = psRectangle
      Pointer.Visible = False
      XValues.DateTime = False
      XValues.Name = 'X'
      XValues.Multiplier = 1.000000000000000000
      XValues.Order = loAscending
      YValues.DateTime = False
      YValues.Name = 'Y'
      YValues.Multiplier = 1.000000000000000000
      YValues.Order = loNone
    end
  end
end
Человек_Борща вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив С++ проблема с построением ivanchel Помощь студентам 5 04.06.2011 13:34
Есть проблемка с отладкой программы warder Общие вопросы C/C++ 9 25.05.2010 23:02
Проблема с построением графика Pirat_of Microsoft Office Excel 2 19.05.2009 20:35
Проблема с построением графика xaero93 Помощь студентам 2 28.02.2009 21:30