![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Есть рабочая программа. Данные в StringGrid вводятся с Edit.
Подскажите, как вывести значения из Edit5 в строку, под первой и можно ли построить график с вещественными числами и как это сделать? Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, TeEngine, Series, ExtCtrls, TeeProcs, Chart;
type
TForm1 = class(TForm)
StringGrid: TStringGrid;
Button1: TButton;
Chart1: TChart;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Button2: TButton;
Series2: TBarSeries;
Series1: TLineSeries;
Edit5: TEdit;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Col, Row : Integer;
X, Y : Double;
Sg : TStringGrid;
S : String;
begin
Sg := StringGrid;
Series1.Clear;
Row := Sg.FixedRows;
for Col := Sg.FixedCols to Sg.ColCount - 1 do begin
X := StrToFloatDef( Sg.Cells[Col, Row], 0 );
Y := StrToFloatDef( Sg.Cells[Col, Row], 0 );
//Легенда
Series1.AddXY(X, Y, S);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i,str, k: integer;
begin
str:=1;
StringGrid.RowCount:=StringGrid.RowCount+1;
StringGrid.Col:=1;
StringGrid.SetFocus;
StringGrid.Cells[1,str]:=Edit1.Text;
StringGrid.Cells[2,str]:=Edit2.Text;
StringGrid.Cells[3,str]:=Edit3.Text;
StringGrid.Cells[4,str]:=Edit4.Text;
for i:=2 to 5 do
begin
k:=0;
StringGrid.ColCount:=StringGrid.ColCount+2;
k:=k+1;
StringGrid.Cells[k,i]:=Edit5.Text;
end;
end;
end.Последний раз редактировалось inosel, 08.04.2013 в 20:19. |
|
#2
|
||||
|
||||
|
Что касается графика:
Есть понятие Канвы (Canvas) На ней рисуют. Есть у всех элементов. Рисуем на форме: Код:
Form1.Canvas.LineTo(x,y); Код:
Image1.Canvas.LineTo(x,y); Изучаем работу с графикой в Delphi. Алгоритм такой: Код:
Canvas.MoveTo(перваяточка.Х, перваяточка.Y); Код:
Canvas.LineTo(итаяточка.X, итаятока.Y); |
| Этот пользователь сказал Спасибо Uniq! за это полезное сообщение: | ||
inosel (08.04.2013)
| ||
|
#3
|
||||
|
||||
|
Что касается заполнения грида:
Лучше это делать так Код:
procedure TForm1.Button2Click(Sender: TObject);
var
i: integer;
begin
for i := 1 to 4 do
begin
StringGrid.Cells[i, 1]:= (FindComponent('Edit' + IntToStr(i)) as TEdit).Text;
StringGrid.Cells[i, 2]:= Edit5.Text;
end;
end; |
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
inosel (08.04.2013)
| ||