Появились вопросы по этому компоненту.. В хелпе не нашел
1. Есть ли ограничение по количеству строк?
2. Как можно из StringGrid экспортировать в Excel
3. Как сделать так чтобы скрол бары не стояли на месте а, прокручивались вместе с данными?
StringGrid
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. У меня прокручиваются )
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. У меня прокручиваются )
С уважением, Lost Angel...
пасибо!
а у меня почему то не прокручивается само.. :/
а у меня почему то не прокручивается само.. :/
Помогите пожалуйста! Я в Delphi совсем никак. Как задать матрицу одномерную и двумерную с помощью StringGrid. Надо чтоб была возможность ввода с рук и с помощью генератора случайных чисел! Очень надо!
Кидаешь компонент на форму, указываешь RowCount и ColCount и можно заполнять ячейки значениями. Потом делаешь батон и по нажатию батона в цикле бежишь по строкам и столбцам и заполняешь значениями:
В пропертях Options есть свойства компонента, как разрешение редактирования:
goEditing - true/false
Если не нужны фиксированные строки и столбцы
FixedCols - 0
FixedRows - 0
Код: Выделить всё
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;
goEditing - true/false
Если не нужны фиксированные строки и столбцы
FixedCols - 0
FixedRows - 0
It's a long way to the top if you wanna rock'n'roll
Может ты мне поможешь саму задачу решить? Значит дана прямоугольная матрица. Определить а) кол-во строк, не содержащих ни одного нулевого элемента; b) максимальное из чисел, встречающих в заданной матрице более одного раза. Матрица задается в StringGrid'е. Буду очень тебе благодарен! Только я в Delphi совсем чуть-чуть, поэтому я с трудом понимаю твои слова. Но батон я осилил! :-)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 совсем чуть-чуть, поэтому я с трудом понимаю твои слова. Но батон я осилил! :-)
It's a long way to the top if you wanna rock'n'roll
ну ты мне скажи какая тема-то?
It's a long way to the top if you wanna rock'n'roll
кстати какая разница в коде будет для сохранения в экселе 2003 и 97 :/
то у меня только в 2003 работает, а в 97 выдает: "Несовместимая версия заглушки Rpc"
то у меня только в 2003 работает, а в 97 выдает: "Несовместимая версия заглушки Rpc"