Страница 1 из 4
StringGrid
Добавлено: 25 дек 2006, 10:23
matroskin
Появились вопросы по этому компоненту.. В хелпе не нашел
1. Есть ли ограничение по количеству строк?
2. Как можно из StringGrid экспортировать в Excel
3. Как сделать так чтобы скрол бары не стояли на месте а, прокручивались вместе с данными?
Re: StringGrid
Добавлено: 25 дек 2006, 11:05
LAngel
1. Есть, 2^31-1
2. Руками.
[syntax="delphi"]var
ExcelApp: Variant;
i, j: Integer;
begin
ExcelApp := CreateOleObject('Excel.Application');
ExcelApp.Visible:=true;
ExcelApp.WorkBooks.Add;
for i := 0 to StringGrid1.ColCount-1 do
for j := 0 to StringGrid1.RowCount-1 do
ExcelApp.Cells[j+1, i+1].value := StringGrid1.Cells[i,j];
end;[/syntax]
3. У меня прокручиваются

)
Re: StringGrid
Добавлено: 25 дек 2006, 11:48
matroskin
пасибо!
а у меня почему то не прокручивается само.. :/
Re: StringGrid
Добавлено: 07 янв 2007, 23:46
Tre
Помогите пожалуйста! Я в Delphi совсем никак. Как задать матрицу одномерную и двумерную с помощью StringGrid. Надо чтоб была возможность ввода с рук и с помощью генератора случайных чисел! Очень надо!
Re: StringGrid
Добавлено: 08 янв 2007, 00:15
somewhere
Кидаешь компонент на форму, указываешь RowCount и ColCount и можно заполнять ячейки значениями. Потом делаешь батон и по нажатию батона в цикле бежишь по строкам и столбцам и заполняешь значениями:
Код: Выделить всё
procedure TForm1.BitBtn1Click(Sender: TObject);
var x, y: Integer;
begin
for x:=0 to sg.RowCount-1 do
for y:=0 to sg.ColCount-1 do
sg.Cells[y,x] := Inttostr(random(100)-50);
end;
В пропертях Options есть свойства компонента, как разрешение редактирования:
goEditing - true/false
Если не нужны фиксированные строки и столбцы
FixedCols - 0
FixedRows - 0
Re: StringGrid
Добавлено: 08 янв 2007, 00:25
Tre
somewhere писал(а):Кидаешь компонент на форму, указываешь RowCount и ColCount и можно заполнять ячейки значениями. Потом делаешь батон и по нажатию батона в цикле бежишь по строкам и столбцам и заполняешь значениями:
Код: Выделить всё
procedure TForm1.BitBtn1Click(Sender: TObject);
var x, y: Integer;
begin
for x:=0 to sg.RowCount-1 do
for y:=0 to sg.ColCount-1 do
sg.Cells[y,x] := Inttostr(random(100)-50);
end;
Может ты мне поможешь саму задачу решить? Значит дана прямоугольная матрица. Определить а) кол-во строк, не содержащих ни одного нулевого элемента; b) максимальное из чисел, встречающих в заданной матрице более одного раза. Матрица задается в StringGrid'е. Буду очень тебе благодарен! Только я в Delphi совсем чуть-чуть, поэтому я с трудом понимаю твои слова. Но батон я осилил! :-)
Re: StringGrid
Добавлено: 08 янв 2007, 00:32
somewhere
" писал(а):Может ты мне поможешь саму задачу решить? Значит дана прямоугольная матрица. Определить а) кол-во строк, не содержащих ни одного нулевого элемента; b) максимальное из чисел, встречающих в заданной матрице более одного раза. Матрица задается в StringGrid'е. Буду очень тебе благодарен! Только я в Delphi совсем чуть-чуть, поэтому я с трудом понимаю твои слова. Но батон я осилил! :-)
Я уже читал в другой теме, там же и отвечу
Re: StringGrid
Добавлено: 08 янв 2007, 00:36
Tre
ну ты мне скажи какая тема-то?
Re: StringGrid
Добавлено: 08 янв 2007, 00:42
somewhere
Re: StringGrid
Добавлено: 10 янв 2007, 10:00
matroskin
кстати какая разница в коде будет для сохранения в экселе 2003 и 97 :/
то у меня только в 2003 работает, а в 97 выдает: "Несовместимая версия заглушки Rpc"