Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Нужна помощь в коррекции программы / 4 сообщений из 4, страница 1 из 1
30.10.2018, 12:04
    #39724874
xmaxx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь в коррекции программы
Доброго времени суток, нужна помощь в коррекции программы. Есть программа (прикрепил) она должна открывать данные с txt или excel файла (в нем 6 столбцов с данными) и сразу строить график (похожий как на скрине) по 6-ти станциям, а при открытии выпадающего меню, должно строить одну волновую форму, в новой форме, по названию станции. Кто может помочь? Сам самоучка и недавно начал учиться программировать в Delphi.
...
Рейтинг: 0 / 0
30.10.2018, 12:04
    #39724875
xmaxx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь в коррекции программы
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Dialogs, StdCtrls,
  Controls, ExtCtrls, TeeProcs, TeEngine, Chart,Graphics,
  Forms, Series, Menus, OleServer, ExcelXP;

type
  TMassSeries = array of TLineSeries;

  TDataXY = record
    X,Y : Extended;
  end;

  TForm1 = class(TForm)
    Chart1: TChart;
    Memo1: TMemo;
    Button2: TButton;
    Button3: TButton;
    OpenDialog1: TOpenDialog;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    SaveDialog1: TSaveDialog;
    N5: TMenuItem;
    Noise1: TMenuItem;
    JNX164001: TMenuItem;
    GBZ195801: TMenuItem;
    ICV202701: TMenuItem;
    HWU217501: TMenuItem;
    DHO38234001: TMenuItem;
    Button8: TButton;
    Chart2: TMenuItem;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ButtonAllClick(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure Chart2Click(Sender: TObject);


  private
    { Private declarations }
    FFileBaseData : TStringList;
    FMassSeries: TMassSeries;
  public
    { Public declarations }
    function OutFloatData(AStr: string; NumPos : integer =0): TDataXY;
  end;

var
  Form1: TForm1;

implementation



{$R *.dfm}


procedure TForm1.ButtonAllClick(Sender: TObject);
var i:Integer;  ExtXY: TDataXY;
begin
 for I := 1 to FFileBaseData.Count - 1 do
  begin
   ExtXY:=OutFloatData(FFileBaseData.Strings[i],(Sender as TButton).Tag);
   FMassSeries[(Sender as TButton).Tag].AddXY(ExtXY.X, ExtXY.Y);
  end;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var i:Integer;
begin
 for I := 0 to High(FMassSeries) do
 FreeAndNil(FMassSeries[i]);
 FreeAndNil(FFileBaseData);
end;

function TForm1.OutFloatData(AStr: string; NumPos: integer): TDataXY;
var aSL: TStringList; sx, sy: string;
begin
 aSL:= TStringList.Create;
 aSL.DelimitedText:=AStr;
 sx:=aSL.Strings[2 + 3 * NumPos];
 sx[Pos('.',sx)]:=decimalseparator;
 sy:=aSL.Strings[3 + 3 * NumPos];
 sy[Pos('.',sy)]:=decimalseparator;
 Result.X:=StrToFloat(SX);
 Result.Y:=StrToFloat(SY);
 FreeAndNil(aSL);
end;

procedure TForm1.N2Click(Sender: TObject);
 var i: Integer;
begin
SetLength(FMassSeries, 6);

for I := 0 to High(FMassSeries) do
begin
FMassSeries[i]:= TLineSeries.Create(self);
Chart1.AddSeries(FMassSeries[i]);
end;
 if OpenDialog1.Execute then
 begin
  FFileBaseData:=TStringList.Create;
  FFileBaseData.LoadFromFile(OpenDialog1.FileName);
  Memo1.Lines:=FFileBaseData;
  Button2.Enabled:=True;
  Button3.Enabled:=True;
  Button4.Enabled:=True;
  Button5.Enabled:=True;
  Button6.Enabled:=True;
  Button7.Enabled:=True;
 end else
 MessageBox(Application.Handle, 'ôàéë íå çàãðóæåí.', '', MB_OK);
end;

procedure TForm1.N4Click(Sender: TObject);
begin
close;
end;

procedure TForm1.N3Click(Sender: TObject);
begin
 if savedialog1.Execute then begin
    Memo1.Lines.SaveToFile(savedialog1.FileName);
end;
end;


procedure TForm1.Chart2Click(Sender: TObject);
begin
Chart1.SeriesList[0].Clear;
Chart1.SeriesList[1].Clear;
Chart1.SeriesList[2].Clear;
Chart1.SeriesList[3].Clear;
Chart1.SeriesList[4].Clear;
Chart1.SeriesList[5].Clear;
end;

end.

...
Рейтинг: 0 / 0
30.10.2018, 12:15
    #39724880
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь в коррекции программы
30.10.2018 12:04, xmaxx пишет:
> Кто может помочь?

http://www.sql.ru/forum/job
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.10.2018, 12:28
    #39724892
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь в коррекции программы
xmaxxДоброго времени суток, нужна помощь в коррекции программы. Есть программа (прикрепил) она должна открывать данные с txt или excel файла (в нем 6 столбцов с данными) и сразу строить график (похожий как на скрине) по 6-ти станциям, а при открытии выпадающего меню, должно строить одну волновую форму, в новой форме, по названию станции. Кто может помочь?Что из перечисленного программа делает/не делает/делает неправильно? И что не получается?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Нужна помощь в коррекции программы / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]