Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Раскраска строк в StringGrid 
V
    Опции темы
Alkor135
Дата 25.5.2009, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 5.4.2009

Репутация: нет
Всего: нет



У меня есть StringGrid как на рисунке
user posted image
 Мне надо раскрасить строки в зависимости от значения в поле 8.
Если значение положительное, то зеленым цветом.
Если значение отрицательное, то красным цветом.
Как это сделать? Только, пожалуйста объясните как начинающему.

Я пробовал вот такие функции:
Код

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
Var
  StringGrid: TStringGrid;
  Can: TCanvas;
begin
  StringGrid := Sender as TStringGrid;
  Can := StringGrid.Canvas;
 Can.Font := StringGrid.Font;
  if (ARow >= StringGrid.FixedRows) and (ACol >= StringGrid.FixedCols)
   then Can.Brush.Color := StringGrid.Color
   else Can.Brush.Color := StringGrid.FixedColor;
//==============
  if ((ACol = 1) and (ARow = 1)) or
     ((ACol = 3) and (ARow = 1)) or
     ((ACol = 2) and (ARow = 2)) or
     ((ACol = 3) and (ARow = 3)) or
     ((ACol = 1) and (ARow = 3)) then
    Can.Brush.Color := clRed;
//==============
  if (gdSelected in State) then
  begin
    Can.Font.Color := clHighlightText;
    Can.Brush.Color := clHighlight;
  end;
  Can.FillRect(Rect);
  Can.TextOut(Rect.Left+2,Rect.Top+2, StringGrid.Cells[ACol, ARow]);
end;


И такую:
Код

procedure TForm1.StringGrid1DrawCell(Sender:TObject; ACol, ARow:Integer; Rect:TRect; State: TGridDrawState);
Const   //сдесь определяем Ваш цвет. Так же можно использовать
       //цвета по умолчанию.
  clPaleGreen = TColor($CCFFCC);
  clPaleRed =   TColor($CCCCFF);
begin
  //Если ячейка получает фокус, то нам надо закрасить её другими цветами
  if (gdFocused in State) then begin
    StringGrid1.Canvas.Brush.Color := clBlack;
    StringGrid1.Canvas.Font.Color := clWhite;
  end
  else //Если же ячейка теряет фокус, то закрашиваем её красным и зелёным
  if ACol = 2   //Вторая колонка будет зелёной , другие - ячейки красными
  then StringGrid1.Canvas.Brush.color := clPaleGreen
  else StringGrid1.canvas.brush.Color := clPaleRed;
  //Теперь закрасим ячейки, но только, если ячейка не Title- Row/Column
  //Естевственно это завит от того, есть у Вас title-Row/Columns или нет.
  If (ACol > 0) and (ARow>0) then
  begin
     //Закрашиваем бэкграунд
     StringGrid1.canvas.fillRect(Rect);
     //Закрашиваем текст (Text). Также здесь можно добавить выравнивание и т.д..
     StringGrid1.canvas.TextOut(Rect.Left,Rect.Top,StringGrid1.Cells[ACol,ARow]);
   end;
end;


Но они вообще ничего не раскрашивают.
Когда пытаюсь в StringGrid в DefaultDrawing поставить False, таблица вообще выводится пустая.

Вот полный код моей программы:
Код

unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, DB, IBCustomDataSet, IBQuery, IBDatabase, Grids,
  DateUtils, DBLogDlg;

type
  TForm1 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    StringGrid1: TStringGrid;
    IBDatabase1: TIBDatabase;
    IBTransaction1: TIBTransaction;
    IBQuery1: TIBQuery;
    DateTimePicker2: TDateTimePicker;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    procedure FormActivate(Sender: TObject);
    procedure DateTimePicker2Change(Sender: TObject);
    procedure SVOD();
    procedure StringGrid1DrawCell(Sender:TObject; ACol, ARow:Integer; Rect:TRect; State: TGridDrawState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  previous_date : TDateTime; // Дата уменьшенная на 7 дней от даты заданной в DateTimePicker2
  start_week_date : TDateTime; // Первый день в предыдущей неделе
  end_week_date : TDateTime; // Последний день в предыдущей неделе

 implementation

{$R *.dfm}
{
procedure TForm1.StringGrid1DrawCell(Sender:TObject; ACol, ARow:Integer; Rect:TRect; State: TGridDrawState);
Const   //сдесь определяем Ваш цвет. Так же можно использовать
       //цвета по умолчанию.
  clPaleGreen = TColor($CCFFCC);
  clPaleRed =   TColor($CCCCFF);
begin
  //Если ячейка получает фокус, то нам надо закрасить её другими цветами
  if (gdFocused in State) then begin
    StringGrid1.Canvas.Brush.Color := clBlack;
    StringGrid1.Canvas.Font.Color := clWhite;
  end
  else //Если же ячейка теряет фокус, то закрашиваем её красным и зелёным
  if ACol = 2   //Вторая колонка будет зелёной , другие - ячейки красными
  then StringGrid1.Canvas.Brush.color := clPaleGreen
  else StringGrid1.canvas.brush.Color := clPaleRed;
  //Теперь закрасим ячейки, но только, если ячейка не Title- Row/Column
  //Естевственно это завит от того, есть у Вас title-Row/Columns или нет.
  If (ACol > 0) and (ARow>0) then
  begin
     //Закрашиваем бэкграунд
     StringGrid1.canvas.fillRect(Rect);
     //Закрашиваем текст (Text). Также здесь можно добавить выравнивание и т.д..
     StringGrid1.canvas.TextOut(Rect.Left,Rect.Top,StringGrid1.Cells[ACol,ARow]);
   end;
end;}

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
Var
  StringGrid: TStringGrid;
  Can: TCanvas;
begin
  StringGrid := Sender as TStringGrid;
  Can := StringGrid.Canvas;
 Can.Font := StringGrid.Font;
  if (ARow >= StringGrid.FixedRows) and (ACol >= StringGrid.FixedCols)
   then Can.Brush.Color := StringGrid.Color
   else Can.Brush.Color := StringGrid.FixedColor;
//==============
  if ((ACol = 1) and (ARow = 1)) or
     ((ACol = 3) and (ARow = 1)) or
     ((ACol = 2) and (ARow = 2)) or
     ((ACol = 3) and (ARow = 3)) or
     ((ACol = 1) and (ARow = 3)) then
    Can.Brush.Color := clRed;
//==============
  if (gdSelected in State) then
  begin
    Can.Font.Color := clHighlightText;
    Can.Brush.Color := clHighlight;
  end;
  Can.FillRect(Rect);
  Can.TextOut(Rect.Left+2,Rect.Top+2, StringGrid.Cells[ACol, ARow]);
end;

procedure TForm1.SVOD();
var i : Integer;
begin
  previous_date := DateTimePicker2.Date - 7; // Вычислили дату предыдущей недели
  start_week_date := previous_date; // Промежуточное значение первой даты в неделе
  end_week_date := previous_date; // Промежуточное значение последне даты в неделе
  //number_day := DayOfWeek(previous_date); // Вычисляем номер дня недели
  //number_week := WeekOf(previous_date); // Вычисляем номер недели
  while DayOfWeek(start_week_date)<> 2 do
    begin
      start_week_date := start_week_date - 1;
    end;

  while DayOfWeek(end_week_date)<> 1 do
    begin
      end_week_date := end_week_date + 1;
    end;
  Label3.Caption := DateToStr(previous_date); // Дата предыдущей недели
  Label1.Caption := DateToStr(start_week_date); // Первая дата в предыдущей неделе
  Label2.Caption := DateToStr(end_week_date); // Последняя дата в предыдущей неделе

  IBQuery1.Active:=False;
  IBQuery1.SQL.Clear;
  IBQuery1.SQL.ADD('SELECT p_pair, p_da_min, p_ti_min, p_op, p_da_max, p_ti_max, p_cl, p_point, p_point_mod');
  IBQuery1.SQL.ADD('FROM svod_procedure (:P0, :P1) ORDER BY 9 DESC');
  IBQuery1.Params.Items[0].AsString := DateToStr(start_week_date);
  IBQuery1.Params.Items[1].AsString := DateToStr(end_week_date);
  IBQuery1.Active:=True;
  i := 1;
  while not IBQuery1.Eof do
    begin
        StringGrid1.Cells[0,i] := IBQuery1.Fields.Fields[0].Value;
        StringGrid1.Cells[1,i] := IBQuery1.Fields.Fields[1].Value;
        StringGrid1.Cells[2,i] := IBQuery1.Fields.Fields[2].Value;
        StringGrid1.Cells[3,i] := IBQuery1.Fields.Fields[3].Value;
        StringGrid1.Cells[4,i] := IBQuery1.Fields.Fields[4].Value;
        StringGrid1.Cells[5,i] := IBQuery1.Fields.Fields[5].Value;
        StringGrid1.Cells[6,i] := IBQuery1.Fields.Fields[6].Value;
        StringGrid1.Cells[7,i] := IBQuery1.Fields.Fields[7].Value;
        StringGrid1.Cells[8,i] := IBQuery1.Fields.Fields[8].Value;
        IBQuery1.Next();
        StringGrid1.RowCount := i+1;
        i := i+1;
    end;
end;

// При изменении даты в DateTimePicker2 производится перерасчет
procedure TForm1.DateTimePicker2Change(Sender: TObject);
begin
  SVOD();
end;

// При запуске программы происходит перерасчет
procedure TForm1.FormActivate(Sender: TObject);
begin
  SVOD();
  //StringGrid1DrawCell();
end;

end.

PM MAIL   Вверх
Keeper89
Дата 25.5.2009, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



Alkor135, вот код:
Код

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin

  // Выходим, если текущая колонка не та, что нужна нам
  // или в ячейке нет текста
  if (ACol <> 7) or (StringGrid1.Cells[ACol, ARow] = '') then Exit;

  if (StrToInt(StringGrid1.Cells[ACol, ARow]) >= 0) then
    StringGrid1.Canvas.Brush.Color := clGreen
  else
    StringGrid1.Canvas.Brush.Color := clRed;
  StringGrid1.Canvas.FillRect(Rect);
  StringGrid1.Canvas.TextRect(Rect, Rect.Left + 2,
                              Rect.Top + 2, StringGrid1.Cells[ACol,ARow]);
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  SVOD();
end;



--------------------
PM MAIL WWW   Вверх
Alkor135
Дата 25.5.2009, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 5.4.2009

Репутация: нет
Всего: нет



Цитата(Keeper89 @ 25.5.2009,  17:13)
Alkor135, вот код:
Код

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin

  // Выходим, если текущая колонка не та, что нужна нам
  // или в ячейке нет текста
  if (ACol <> 7) or (StringGrid1.Cells[ACol, ARow] = '') then Exit;

  if (StrToInt(StringGrid1.Cells[ACol, ARow]) >= 0) then
    StringGrid1.Canvas.Brush.Color := clGreen
  else
    StringGrid1.Canvas.Brush.Color := clRed;
  StringGrid1.Canvas.FillRect(Rect);
  StringGrid1.Canvas.TextRect(Rect, Rect.Left + 2,
                              Rect.Top + 2, StringGrid1.Cells[ACol,ARow]);
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  SVOD();
end;

Блин, не получается. Это когда в StringGrid в DefaultDrawing False.
Вот вид:
user posted image

Может быть я своими корявыми ручонками, что-то не так вставил?
Вот весь код программы:
Код

unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, DB, IBCustomDataSet, IBQuery, IBDatabase, Grids,
  DateUtils, DBLogDlg;

type
  TForm1 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    StringGrid1: TStringGrid;
    IBDatabase1: TIBDatabase;
    IBTransaction1: TIBTransaction;
    IBQuery1: TIBQuery;
    DateTimePicker2: TDateTimePicker;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    procedure FormActivate(Sender: TObject);
    procedure DateTimePicker2Change(Sender: TObject);
    procedure SVOD();
    procedure StringGrid1DrawCell(Sender:TObject; ACol, ARow:Integer; Rect:TRect; State: TGridDrawState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  previous_date : TDateTime; // Дата уменьшенная на 7 дней от даты заданной в DateTimePicker2
  start_week_date : TDateTime; // Первый день в предыдущей неделе
  end_week_date : TDateTime; // Последний день в предыдущей неделе

 implementation

{$R *.dfm}

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  // Выходим, если текущая колонка не та, что нужна нам
  // или в ячейке нет текста
  if (ACol <> 7) or (StringGrid1.Cells[ACol, ARow] = '') then Exit;

  if (StrToInt(StringGrid1.Cells[ACol, ARow]) >= 0) then
    StringGrid1.Canvas.Brush.Color := clGreen
  else
  StringGrid1.Canvas.Brush.Color := clRed;
  StringGrid1.Canvas.FillRect(Rect);
  StringGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, StringGrid1.Cells[ACol,ARow]);
end;

procedure TForm1.SVOD();
var i : Integer;
begin
  previous_date := DateTimePicker2.Date - 7; // Вычислили дату предыдущей недели
  start_week_date := previous_date; // Промежуточное значение первой даты в неделе
  end_week_date := previous_date; // Промежуточное значение последне даты в неделе
  //number_day := DayOfWeek(previous_date); // Вычисляем номер дня недели
  //number_week := WeekOf(previous_date); // Вычисляем номер недели
  while DayOfWeek(start_week_date)<> 2 do
    begin
      start_week_date := start_week_date - 1;
    end;

  while DayOfWeek(end_week_date)<> 1 do
    begin
      end_week_date := end_week_date + 1;
    end;
  Label3.Caption := DateToStr(previous_date); // Дата предыдущей недели
  Label1.Caption := DateToStr(start_week_date); // Первая дата в предыдущей неделе
  Label2.Caption := DateToStr(end_week_date); // Последняя дата в предыдущей неделе

  IBQuery1.Active:=False;
  IBQuery1.SQL.Clear;
  IBQuery1.SQL.ADD('SELECT p_pair, p_da_min, p_ti_min, p_op, p_da_max, p_ti_max, p_cl, p_point, p_point_mod');
  IBQuery1.SQL.ADD('FROM svod_procedure (:P0, :P1) ORDER BY 9 DESC');
  IBQuery1.Params.Items[0].AsString := DateToStr(start_week_date);
  IBQuery1.Params.Items[1].AsString := DateToStr(end_week_date);
  IBQuery1.Active:=True;
  i := 1;
  while not IBQuery1.Eof do
    begin
        StringGrid1.Cells[0,i] := IBQuery1.Fields.Fields[0].Value;
        StringGrid1.Cells[1,i] := IBQuery1.Fields.Fields[1].Value;
        StringGrid1.Cells[2,i] := IBQuery1.Fields.Fields[2].Value;
        StringGrid1.Cells[3,i] := IBQuery1.Fields.Fields[3].Value;
        StringGrid1.Cells[4,i] := IBQuery1.Fields.Fields[4].Value;
        StringGrid1.Cells[5,i] := IBQuery1.Fields.Fields[5].Value;
        StringGrid1.Cells[6,i] := IBQuery1.Fields.Fields[6].Value;
        StringGrid1.Cells[7,i] := IBQuery1.Fields.Fields[7].Value;
        StringGrid1.Cells[8,i] := IBQuery1.Fields.Fields[8].Value;
        IBQuery1.Next();
        StringGrid1.RowCount := i+1;
        i := i+1;
    end;
end;

// При изменении даты в DateTimePicker2 производится перерасчет
procedure TForm1.DateTimePicker2Change(Sender: TObject);
begin
  SVOD();
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  SVOD();
end;

end.


Это сообщение отредактировал(а) Alkor135 - 25.5.2009, 19:20
PM MAIL   Вверх
Демо
Дата 25.5.2009, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 7
Всего: 50





--------------------
    
PM MAIL ICQ Skype   Вверх
Alkor135
Дата 25.5.2009, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 5.4.2009

Репутация: нет
Всего: нет




Уважаемый, Демо. По первой ссылке я уже пытался сделать. Это можно увидеть в моем первом посте. По последней ссылке качается PHP страничка а не архив.
PM MAIL   Вверх
Keeper89
Дата 25.5.2009, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



Цитата(Alkor135 @  25.5.2009,  19:16 Найти цитируемый пост)
Блин, не получается

DefaultDrawing должне быть равен True.

Добавлено @ 20:37
Тот код, что я дал - рабочий, для "верности" вот картинка:
user posted image
И код еще раз полностью:
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, Grids;

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  // Выходим, если текущая колонка не та, что нужна нам
  // или в ячейке нет текста
  if (ACol <> 7) or (StringGrid1.Cells[ACol, ARow] = '') then Exit;

  if (StrToInt(StringGrid1.Cells[ACol, ARow]) >= 0) then
    StringGrid1.Canvas.Brush.Color := clGreen
  else
    StringGrid1.Canvas.Brush.Color := clRed;
  StringGrid1.Canvas.FillRect(Rect);
  StringGrid1.Canvas.TextRect(Rect, Rect.Left + 2,
                              Rect.Top + 2, StringGrid1.Cells[ACol,ARow]);
end;

procedure TForm1.FormActivate(Sender: TObject);
var
  i,j: Integer;
begin
  // Просто случайные числа... Замените на вашу процедуру SVOD()
  Randomize;
  for i := 0 to StringGrid1.ColCount - 1 do
    for j := 1 to StringGrid1.RowCount - 1 do
      StringGrid1.Cells[i,j] := IntToStr(Random(101)-50);
end;
end.


Это сообщение отредактировал(а) Keeper89 - 25.5.2009, 20:40


--------------------
PM MAIL WWW   Вверх
Alkor135
Дата 25.5.2009, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 5.4.2009

Репутация: нет
Всего: нет



Цитата(Keeper89 @ 25.5.2009,  20:29)
Тот код, что я дал - рабочий...

Да...
Спасибо большое.
Думаю, что код действительно рабочий, но к сожалению у меня не работает.
Возможно все дело в версии. У меня CodeGear 2009.
Может там надо какую-то библиотеку подключать?
А какой версией вы пользуетесь?
Не закрашивается у меня Grid даже с точно скопированным вашим кодом:
user posted image


PM MAIL   Вверх
Keeper89
Дата 25.5.2009, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



Интересно, почему же не работает. Библиотеки тут ни при чем.
Если DefaultDraw уже установили в True, попробуйте заменить так (добавить):
Код

procedure TForm1.FormActivate(Sender: TObject);
var
  i,j: Integer;
begin
  // Просто случайные числа... Замените на вашу процедуру SVOD()
  Randomize;
  for i := 0 to StringGrid1.ColCount - 1 do
    for j := 1 to StringGrid1.RowCount - 1 do
      StringGrid1.Cells[i,j] := IntToStr(Random(101)-50);
  StringGrid1.Invalidate;
end;

Если не поможет, надо смотреть знатоков по 2009 CodeGear'у.

P.S. У меня D2007.

Это сообщение отредактировал(а) Keeper89 - 25.5.2009, 23:02


--------------------
PM MAIL WWW   Вверх
Alkor135
Дата 25.5.2009, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 5.4.2009

Репутация: нет
Всего: нет



Цитата(Keeper89 @ 25.5.2009,  23:01)
Интересно, почему же не работает. Библиотеки тут ни при чем.
Если DefaultDraw уже установили в True, попробуйте заменить так (добавить):
Код

procedure TForm1.FormActivate(Sender: TObject);
var
  i,j: Integer;
begin
  // Просто случайные числа... Замените на вашу процедуру SVOD()
  Randomize;
  for i := 0 to StringGrid1.ColCount - 1 do
    for j := 1 to StringGrid1.RowCount - 1 do
      StringGrid1.Cells[i,j] := IntToStr(Random(101)-50);
  StringGrid1.Invalidate;
end;

Если не поможет, надо смотреть знатоков по 2009 CodeGear'у.

P.S. У меня D2007.

DefaultDraw установлен в True.
Заменил код.
Результат не изменился. Случайные чила пишет, а ячейки не раскрашивает.
Буду пробовать установить на другой комп 2007 версию.
Спасибо за помощь.
PM MAIL   Вверх
Keeper89
Дата 25.5.2009, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



Цитата(Alkor135 @  25.5.2009,  23:20 Найти цитируемый пост)
Буду пробовать установить на другой комп 2007 версию.
Спасибо за помощь. 

Не за что, но думаю прежде чем устанавливать 2007 стоит спросить тех, кто тесно работает в 2009.


--------------------
PM MAIL WWW   Вверх
Alkor135
Дата 26.5.2009, 02:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 5.4.2009

Репутация: нет
Всего: нет



Цитата(Keeper89 @ 25.5.2009,  23:25)
Цитата(Alkor135 @  25.5.2009,  23:20 Найти цитируемый пост)
Буду пробовать установить на другой комп 2007 версию.
Спасибо за помощь. 

Не за что, но думаю прежде чем устанавливать 2007 стоит спросить тех, кто тесно работает в 2009.

Я и сам то не программист и программистов знакомых нет. У кого спросить? В инете?
PM MAIL   Вверх
Keeper89
Дата 26.5.2009, 03:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



Возможно эту тему посмотрит человек, знающий особенности 2009.


--------------------
PM MAIL WWW   Вверх
bems
Дата 26.5.2009, 03:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 18
Всего: 88



в 2009 тоже работает. Уж не забыл ли ТС присвоить обработчики после копирования кода?

Добавлено через 4 минуты и 52 секунды
сравнительный анализ скриншотов заставляет задуматься, а не в висте/темах ли дело?


--------------------
Обижено школьников: 8
PM MAIL   Вверх
kami
Дата 26.5.2009, 06:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(bems @  26.5.2009,  03:47 Найти цитируемый пост)
. Уж не забыл ли ТС присвоить обработчики после копирования кода?

+1

Цитата(bems @  26.5.2009,  03:47 Найти цитируемый пост)
сравнительный анализ скриншотов заставляет задуматься, а не в висте/темах ли дело?

Нет. В Висте с включенными темами|Aero отрабатывает, как и не в Висте.
PM MAIL WWW   Вверх
Alkor135
Дата 26.5.2009, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 5.4.2009

Репутация: нет
Всего: нет



bems, извиняюсь за ламерский вопрос, а что такое ТС?

Темы Висты отключил, раскраска не появилась. 


Это сообщение отредактировал(а) Alkor135 - 26.5.2009, 09:41
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0716 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.