![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Таблица
Паша123441435 © (2006-08-22 23:51:00)Помогите создать таблицу которая считает одинаковые значения.
Ketmar (2006-08-24 00:49:00) [1]> [9] Пусик © (24.08.06 00:46)
ты ещё не поняла? это или дремучее дерево, или (что я считаю более вероятным) -- очередной тест "эмулятора альтернативно развитых".
Пусик (2006-08-24 00:46:00) [2]
> Паша123441435 (24.08.06 00:36) [7]
Сформулируй уже вопрос нормально.
Ketmar (2006-08-24 00:42:00) [3]господа, над нами издеваются. взять IP и забанить надолго.
Паша123441435 (2006-08-24 00:36:00) [4]Напишите пожалуйста в какой закладке находятся эти компоненты:
procedure SetActive(const Value: Boolean);
procedure SetInterval(const Value: Integer);
protected
procedure DrawCell(ACol, ARow: Longint; ARect: TRect;
AState: TGridDrawState); override;
procedure TTableWhichCalcsSameValues.DrawCell(ACol, ARow: Integer;
ARect: TRect; AState: TGridDrawState);Как добавить счетчик?
Как эту программу нужно в Form1 сделать?
В Паскале как можно сделать эту программу?
Anatoly Podgoretsky (2006-08-23 00:38:00) [5]Добавить поле счетчик.
DiamondShark (2006-08-23 00:37:00) [6]тогда так.
unit TableWhichCalcsSameValues;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, ExtCtrls;
type
TTableWhichCalcsSameValues = class(TCustomGrid)
private
FValue: Integer;
FTimer: TTimer;
FActive: Boolean;
FInterval: Integer;
procedure Timer_Timer(Sender: TObject);
procedure SetActive(const Value: Boolean);
procedure SetInterval(const Value: Integer);
protected
procedure DrawCell(ACol, ARow: Longint; ARect: TRect;
AState: TGridDrawState); override;
public
constructor Create(AOwner: TComponent); override;
published
property ColCount;
property RowCount;
property DefaultRowHeight;
property DefaultColWidth;
property Font;
property Active: Boolean read FActive write SetActive;
property Interval: Integer read FInterval write SetInterval default 500;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Freakgets', [TTableWhichCalcsSameValues]);
end;
{ TTableWhichCalcsSameValues }
constructor TTableWhichCalcsSameValues.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FInterval := 500;
FTimer := TTimer.Create(self);
FTimer.Enabled := false;
FTimer.Interval := FInterval;
FTimer.OnTimer := Timer_Timer;
end;
procedure TTableWhichCalcsSameValues.DrawCell(ACol, ARow: Integer;
ARect: TRect; AState: TGridDrawState);
var
SValue: String;
begin
if not (gdFixed in AState) then
begin
SValue := Format('%.8x', [FValue]);
DrawText(Canvas.Handle, PChar(SValue), Length(SValue), ARect, DT_VCENTER or DT_CENTER);
end;
end;
procedure TTableWhichCalcsSameValues.SetActive(const Value: Boolean);
begin
FActive := Value;
if not (csDesigning in ComponentState) then FTimer.Enabled := FActive;
end;
procedure TTableWhichCalcsSameValues.SetInterval(const Value: Integer);
begin
FInterval := Value;
FTimer.Interval := FInterval;
end;
procedure TTableWhichCalcsSameValues.Timer_Timer(Sender: TObject);
begin
FValue := Random(MaxInt);
Invalidate;
end;
end.
DiamondShark (2006-08-23 00:07:00) [7]Хм...
>:o
Ketmar (2006-08-22 23:59:00) [8]> [2] DiamondShark © (22.08.06 23:58)
неа. задача-то сложная. именно таблицадолжна считать. я даже не уверен, что задача в принчипе решаема... ибо не могу представить себе считающую таблицу...
DiamondShark (2006-08-22 23:58:00) [9]program TableWhatCalcSameValues;
var
i: integer;
begin
for i := 0 to MaxInt do writeln(123456)
end.
Паша123441435 (2006-08-22 23:53:00) [10]на Delphi