Показать сообщение отдельно
  #1  
Старый 16.11.2009, 00:12
Bespontovyi pirogok Bespontovyi pirogok вне форума
Прохожий
 
Регистрация: 15.11.2009
Сообщения: 6
Репутация: 10
По умолчанию Stringgrid. Выдается ошибка при вводе в первую строку и столбец

Проблема решена.
Не совпадали индекс массива (начинается с 1), и цикла (начинается с 0).

Здравствуйте. Проблема со Stringgrid: при вводе в первую строку и столбец выдается сообщение debugger exception notification

[img=http://i.piccy.info/i4/c4/74/75d9d119ab857097b43621ae7a89.jpeg]


если начать цикл с единицы, то все работает, но записывается соответственно во второй столбец и, начиная со второй, строку


Код:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ComCtrls, TabNotBk, DB, DBTables, StdCtrls, UpDownEx,
  Grids;

type
  TForm3 = class(TForm)
    UpDownEx1: TUpDownEx;
    Label1: TLabel;
    StringGrid1: TStringGrid;
    procedure FormActivate(Sender: TObject);
    procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form3: TForm3;
  lines: integer;
  vaternumbers: array [1..6] of string = ('I','II','III','IV','V','VI');

implementation

uses Unit1, Unit2;
{$R *.dfm}

procedure TForm3.FormActivate(Sender: TObject);
var j3:integer;
begin
  lines:=strtoint(Form2.Edit4.Text);
  stringgrid1.Height:=25*lines+3;
  Stringgrid1.RowCount:=lines;
  with stringgrid1 do
  begin
    for j3:=0 to lines do cells[0,j3]:=vaternumbers[j3];
  end;
end;

procedure TForm3.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  if ACol = 1 then
  StringGrid1.Options := StringGrid1.Options - [goEditing];
end;

end.
Ответить с цитированием