Последний столбец в TStringGrid

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Последний столбец в TStringGrid

Сообщение Iv_ » 19.01.2011 22:22:34

Добрый день.
Вопрос, скорее всего, не совсем по Lazarus.
У меня есть файл .txt. Я разбиваю его на слова, загоняю их в строковый массив и вывожу в StringGrid.
Файл имеет 5 строк и 6 столбцов. При выводе в таблицу шестой столбец остается пустым.
Вот код:
Код: Выделить всё
procedure TForm1.BitBtn4Click(Sender: TObject);
var f1: TextFile;
    w,s: string;
    i,j,n,m: integer;
    a: array [0..4,0..5] of string;

begin
  AssignFile(f1, 'srv\Exp.txt');
  Reset(f1);
  StringGrid1.RowCount:=5;
  StringGrid1.ColCount:=6;
  for i:=0 to 4 do
    begin
      ReadLn(f1,s);
      for j:=0 to 5 do
        begin
          if s[Length(s)] <> #9 then w:=w+#9;
          w:=Copy(s,1,Pos(#9,s)-1);
          Delete(s,1,Length(w)+1);
          a[i,j]:=w;
          StringGrid1.Cells[j,i]:=a[i,j];
        end;
    end;
  CloseFile(f1);
end;

Не подскажете, что я делаю не так?
Последний раз редактировалось Iv_ 19.01.2011 22:50:31, всего редактировалось 1 раз.
Iv_
новенький
 
Сообщения: 36
Зарегистрирован: 08.01.2011 22:52:44

Re: Последний столбец в TStringGrid

Сообщение Nik » 19.01.2011 22:40:40

Строки и столбцы, случаем, не перепутаны?
Аватара пользователя
Nik
энтузиаст
 
Сообщения: 573
Зарегистрирован: 04.02.2006 00:08:09
Откуда: Киров

Re: Последний столбец в TStringGrid

Сообщение Iv_ » 19.01.2011 22:44:44

Нет, не перепутаны.
Все, нашел ошибку. Ночью то ее и не заметил.
извините за глупый вопрос. Тему можно удалить.
Ошибка тут:
if s[Length(s)] <> #9 then w:=w+#9;
надо так:
if s[Length(s)] <> #9 then s:=s+#9;
Iv_
новенький
 
Сообщения: 36
Зарегистрирован: 08.01.2011 22:52:44


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 20

Рейтинг@Mail.ru