Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Помогите подправить код


Автор: RN3QGA 18.2.2006, 15:10
Здравствуйте.
Импортирую *.xls файл в StringGrid и использую следующий код для выравнивания колонок
Код


procedure AutoSizeGridColumn(Grid : TStringGrid; 
                              column : integer); 
var 
  i : integer; 
  temp : integer; 
  max : integer; 
begin 
  max := 0; 
  for i := 0 to (Grid.RowCount - 1) do begin 
    temp := Grid.Canvas.TextWidth(grid.cells[column, i]); 
    if temp > max then max := temp; 
  end; 
  Grid.ColWidths[column] := Max + Grid.GridLineWidth + 3; 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
  AutoSizeGridColumn(StringGrid1, 1); 
end; 


взято из DRKB

но почему то только первая колонка выравнивается по содержимому, а остальные нет.
Подскажите как подправить ?

Автор: Guedda 18.2.2006, 15:19
Просто ты в процедуе только первую колонку редактируешь, а вот так правильней:
Код

procedure TForm1.Button1Click(Sender : TObject);
var
  i : Integer;
begin
  for i := 0 to StringGrid1.ColCount - 1 do
    AutoSizeGridColumn(StringGrid1, i);
end;

Автор: RN3QGA 18.2.2006, 17:15
Да
Guedda, спасибо сам уже дошел, я чегой то сам зациклился капитально.
Спасибо.

Автор: orxidey 5.12.2010, 11:40
Уважаемые Умы! Я начинающий программист. smile Плиз, посмотрите, что у меня в коде за ошибка. Я пока что экспериментирую.
Здесь, используя условный цикл в несколько условий, осуществляю вроде гадалки - человек наугад вводит одну из необходимых букв и ему высвечивается фраза.
Если ошибки наиглупейшие, просьба простить... Только начала... smile 

Автор: Данкинг 5.12.2010, 11:59
Во-первых, создай новую тему, и в разделе по Паскалю. Во-вторых, какая ошибка-то?


Автор: orxidey 5.12.2010, 12:16
При занесении уже в программу одного из вариантов не высвечивается итог, а сразу прощание. smile

Добавлено через 4 минуты
В общем логическая ошибка, синтаксис не храмает.

Автор: orxidey 5.12.2010, 12:53
Усе спасибо, разобралась.. Напутала с переменными... smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)