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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2014, 22:38   #1
shadezx
Пользователь
 
Регистрация: 24.10.2013
Сообщений: 75
По умолчанию StringGrid делфи

Табуляция функции заносит в memo1 как сделать что-бы заносило данные в StringGrid?
Код:
procedure TForm2.CheckBox1Click(Sender: TObject);
var a,b,h,x,y:real;
str1,str2:string;
l:double;
begin
if CheckBox1.Checked=true then
   if trystrtofloat(Edit1.Text,l) and
   trystrtofloat(Edit2.Text,l) and
   trystrtofloat(Edit3.Text,l) then
 begin
   if (not Assigned(Form3)) then
       Form3:=TForm3.Create(Self);
   Form3.Show;
   //Form3.StringGrid1.Clear;
   Form3.StringGrid1.Lines.Add('  X     F(X)');
   a:=strtofloat(Edit1.Text);
   b:=strtofloat(Edit2.Text);
   h:=strtofloat(Edit3.Text);
   x:=a;
   while x<=b+h/2 do
     begin
     if (x<>0) then
      begin
       y:=1/2+sqrt(x);
       str(x:8:2,str1);
       str(y:8:2,str2);
       end;
      Form3.Memo1.Lines.Add(str1+' '+str2);
      x:=x+h;
     end;
shadezx вне форума Ответить с цитированием
Старый 22.01.2014, 22:46   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Ячейка с столбе col, строке row :
StringGrid1.Cells[col,row]; - типа string
Вот в них и вводите эти str
type_Oleg вне форума Ответить с цитированием
Старый 22.01.2014, 22:59   #3
shadezx
Пользователь
 
Регистрация: 24.10.2013
Сообщений: 75
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Ячейка с столбе col, строке row :
StringGrid1.Cells[col,row]; - типа string
Вот в них и вводите эти str
так?
Код:
while x<=b+h/2 do
     begin
     if (x<>0) then
      begin
       y:=1/2+sqrt(x);
       IntToStr(x);
       IntToStr(y);
      Form3.StringGrid1.Cells[x,y];
       end;
      x:=x+h;
     end;
shadezx вне форума Ответить с цитированием
Старый 22.01.2014, 23:07   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Нет.
IntToStr - это функция, а не процедура.
Надо как-то так
Код:
Form3.StringGrid1.Cells[0,1]:=IntToStr(7);
В ячейку первого столбца (счет начинается с 0), второй строки будет записано 7
type_Oleg вне форума Ответить с цитированием
Старый 22.01.2014, 23:31   #5
shadezx
Пользователь
 
Регистрация: 24.10.2013
Сообщений: 75
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Нет.
IntToStr - это функция, а не процедура.
Надо как-то так
Код:
Form3.StringGrid1.Cells[0,1]:=IntToStr(7);
В ячейку первого столбца (счет начинается с 0), второй строки будет записано 7
а если я хочу в цикле заполнить таблицу это так выгледит?
Код:
      for i:=1 to 2 do
       begin
        for j:=1 to 5 do
         begin
            Form3.StringGrid1.Cells[1,j]:=str1;
            Form3.StringGrid1.Cells[2,j]:=str1;
     end
else
shadezx вне форума Ответить с цитированием
Старый 22.01.2014, 23:37   #6
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

По этому коду будут заполняться 2-й и 3-й столбцы, но одной и той же строкой str1
type_Oleg вне форума Ответить с цитированием
Старый 22.01.2014, 23:49   #7
shadezx
Пользователь
 
Регистрация: 24.10.2013
Сообщений: 75
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
По этому коду будут заполняться 2-й и 3-й столбцы, но одной и той же строкой str1
ну я хочу чтоб было 2 столбика и в каждой строке записывалось
так как здесь только используя StringGrid.
http://piccy.info/view3/5796030/9cae...ff44d417c921/][/URL][URL=http://i.piccy.info/a3c/2014-01-22-19-48/i9-5796030/199x240-r]
shadezx вне форума Ответить с цитированием
Старый 23.01.2014, 00:27   #8
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Вот, только ввод не расписываю, и всякие форма2, форма3 . Так что исправляйте для себя.
Код:
procedure TForm....
var a,b,h,x,y:Real;
   i,n:Integer;
begin
// ввести  a,b,h
 StringGrid1.Cells[0,0]:='  x';
 StringGrid1.Cells[1,0]:='F(x)';
 n:=Round((b-a)/h)+1;
 StringGrid1.RowCount:=n+1;
 for i:=1 to n do
  begin
   x:=a+(i-1)*h;
   StringGrid1.Cells[0,i]:=FloatToStr(x);
   y:=0.5+Sqrt(x);
   StringGrid1.Cells[1,i]:=FloatToStr(y);
  end;
end;
type_Oleg вне форума Ответить с цитированием
Старый 23.01.2014, 19:09   #9
shadezx
Пользователь
 
Регистрация: 24.10.2013
Сообщений: 75
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Вот, только ввод не расписываю, и всякие форма2, форма3 . Так что исправляйте для себя.
Код:
procedure TForm....
var a,b,h,x,y:Real;
   i,n:Integer;
begin
// ввести  a,b,h
 StringGrid1.Cells[0,0]:='  x';
 StringGrid1.Cells[1,0]:='F(x)';
 n:=Round((b-a)/h)+1;
 StringGrid1.RowCount:=n+1;
 for i:=1 to n do
  begin
   x:=a+(i-1)*h;
   StringGrid1.Cells[0,i]:=FloatToStr(x);
   y:=0.5+Sqrt(x);
   StringGrid1.Cells[1,i]:=FloatToStr(y);
  end;
end;
спасибо большое)
shadezx вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Делфи, перемешать строки stringgrid Tony. Помощь студентам 2 19.06.2012 14:19
[Делфи]Покраска ячейки StringGrid без DrawCell. Как? zotox Помощь студентам 0 02.09.2009 16:30
[Делфи] Как осуществить поиск в StringGrid... zotox Помощь студентам 3 13.07.2009 10:42
Ввод двухмерного массива в Делфи через StringGrid KIRILL_FR Помощь студентам 2 24.02.2008 18:03