Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #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.

Последний раз редактировалось Bespontovyi pirogok, 16.11.2009 в 00:18. Причина: Проблема решена
Ответить с цитированием
  #2  
Старый 16.11.2009, 09:53
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

А почему массив не объавить так...
Код:
 vaternumbers: array [0..5] of string = ('I','II','III','IV','V','VI');
Еще, нумерация строк и столбцов в StringGrid тож начинается с нуля...
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #3  
Старый 17.11.2009, 00:30
Bespontovyi pirogok Bespontovyi pirogok вне форума
Прохожий
 
Регистрация: 15.11.2009
Сообщения: 6
Репутация: 10
По умолчанию

чтобы не выравнивать по центру в ячейке.

спасибо
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:54.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025