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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2012, 17:12   #1
МисУ
 
Регистрация: 14.12.2012
Сообщений: 9
По умолчанию Работа с компонентном Delphi 7 - TStringGrid

Здравствуйте. Задача такая.- У меня есть форма <Form1>, на ней расположен компонент <StringGride> (таблицы 5/5-стандарт), <Edit1> и кнопка <Button1>. Как задать редактирование количества строк в таблице <StringGride> с помощью <Edit1> и кнопки <Button1> или без нее? Спасибо
МисУ вне форума Ответить с цитированием
Старый 14.12.2012, 17:43   #2
Aranea tela telam
Пользователь
 
Аватар для Aranea tela telam
 
Регистрация: 11.01.2012
Сообщений: 51
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
stringGrid1.RowCount:=strtoint(Edit1.text);
end;
Я учусь на своих ошибках, но порой их слишком много
Aranea tela telam вне форума Ответить с цитированием
Старый 14.12.2012, 18:09   #3
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

Цитата:
или без нее?
роликом мышки если фокус на компоненте
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 14.12.2012, 18:40   #4
МисУ
 
Регистрация: 14.12.2012
Сообщений: 9
По умолчанию

Спасибо большое!

Еще один вопрос. Как вызвать компонент StringGrid с помощью Button ?

Последний раз редактировалось Stilet; 11.01.2013 в 22:51.
МисУ вне форума Ответить с цитированием
Старый 14.12.2012, 20:48   #5
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Цитата:
Сообщение от МисУ Посмотреть сообщение
Еще один вопрос. Как вызвать компонент StringGrid с помощью Button ?
вызывать его нельзя, его можно поместить на форму и по нажатию на кнопку что-то с ним делать. Ну, или, в крайнем случае,по нажатию на кнопку динамически его создать.

Цитата:
Сообщение от МисУ Посмотреть сообщение
Еще один вопрос. Как вызвать компонент StringGrid с помощью Button ?
вызывать его нельзя, его можно поместить на форму и по нажатию на кнопку что-то с ним делать. Ну, или, в крайнем случае,по нажатию на кнопку динамически его создать.
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com

Последний раз редактировалось Stilet; 11.01.2013 в 22:54.
kventin_zhuk вне форума Ответить с цитированием
Старый 09.01.2013, 11:58   #6
МисУ
 
Регистрация: 14.12.2012
Сообщений: 9
По умолчанию

Как присвоить переменной, например "n", значения только 3-го столбца StringGrid, если брать к примеру стандартную таблицу StringGrid (5*5).

Последний раз редактировалось МисУ; 09.01.2013 в 14:01.
МисУ вне форума Ответить с цитированием
Старый 09.01.2013, 15:08   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Как присвоить переменной, например "n", значения только 3-го столбца StringGrid, если брать к примеру стандартную таблицу StringGrid (5*5).
Это смотря какого типа переменная n
в зависимости от этого и ответ будет.

p.s. А Вы понимаете, что 3-й столбец грида 5X5 содержит 5(ПЯТЬ) значений (и, в общем случае, это пять строковых значений) ?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.01.2013, 16:14   #8
МисУ
 
Регистрация: 14.12.2012
Сообщений: 9
По умолчанию

Переменная n должна содержать в себе числовые значения. Я представляю ее как динамический массив n[i] типа integer; Просто не знаю как правильно ей присвоить значения из SG.

К примеру простая формула: Y=∑(Хi+4);

x должен принимать одно значение содержащееся в ячейке, какого-либо столбца SG., пусть 3-го, начиная с 1-й ячейки и до последней строки данного столбца. Переменная х должна менять свое значение при каждой итерации цикла (знак суммы, сколько знаю, так можно реализовать), перебирая значения записанные в ячейках SG. до последней строки столбца.


P.s. Я не так давно начал осваивать Delphi, поэтому извиняйте за неточности. 2 недели уже штудирую учебник М.Фленова, но время остается все меньше).

Последний раз редактировалось МисУ; 10.01.2013 в 13:50.
МисУ вне форума Ответить с цитированием
Старый 09.01.2013, 16:35   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вообще строки/столбцы в StringGrid нумеруются с нуля.
и, если у вас нет заголовков, тогда перебрать все значения в 3-м столбце можно таким кодом:
Код:
for i:=0 to StringGrid1.RowCount-1 do begin
     n :=  StrToIntDef(StringGrid1.Cells[2, i ], 0 ); {преобразуем значение 3-го столбца, i-й строки в целое число  }
     ShowMessage('Отладка: Значение в '+IntToStr(i)+' строке = ' + IntToStr(n));  
end;
или, если n - динамический массив, тогда:
Код:
SetLength(n, RowCount);
for i:=0 to StringGrid1.RowCount-1 do 
     n[i] := StrToIntDef( StringGrid1.Cells[2, i ], 0 );

Последний раз редактировалось Serge_Bliznykov; 09.01.2013 в 16:40.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.01.2013, 20:39   #10
МисУ
 
Регистрация: 14.12.2012
Сообщений: 9
По умолчанию

если n - динамический массив, как я понимаю он содержит все значения столбца в n[i]? Как мне поочередно получить доступ к значениям. Я знаю что можно прописать так - n[2], и я получу значение находящееся в 3-й ячейке 2-го столбца (для простоты я убрал фиксированные зоны SG). Вот мой экспериментальный код, я просто пытаюсь понять логику динамических массивов, что не верно? он не работает

procedure TForm1.Button2Click(Sender: TObject);
var
s,i,RowCount:integer;
n: array of integer;
begin

SetLength(n, RowCount);
for i:=0 to StringGrid1.RowCount-1 do begin
n[i] := StrToIntDef( StringGrid1.Cells[2, i ], 0 );
end;
s:=0;
s:= s+n[1];
label1.Caption:=IntToStr(s);
end;


Конечно же мне нужно менять [i] не вручную, а в цикле.

Последний раз редактировалось МисУ; 10.01.2013 в 21:25.
МисУ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с TStringGrid SeregaLSA Помощь студентам 1 26.11.2011 01:13
Нужна ваша консультация в данном вопросе о компонентном программировании artemavd Помощь студентам 0 12.01.2010 07:47
Работа с компонентом TStringGrid max38934 Общие вопросы Delphi 6 28.05.2009 13:27
[Delphi] TStringGrid + динамический список dee_lv Помощь студентам 3 27.04.2008 03:00
TStringGrid mrandrey Компоненты Delphi 2 06.07.2007 15:24