Форум: "Начинающим";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];
ВнизТаблица Найти похожие ветки
← →
Паша123441435 (2006-08-22 23:51) [0]Помогите создать таблицу которая считает одинаковые значения.
← →
Паша123441435 (2006-08-22 23:53) [1]на Delphi
← →
DiamondShark © (2006-08-22 23:58) [2]program TableWhatCalcSameValues;
var
i: integer;
begin
for i := 0 to MaxInt do writeln(123456)
end.
← →
Ketmar © (2006-08-22 23:59) [3]> [2] DiamondShark © (22.08.06 23:58)
неа. задача-то сложная. именно таблица должна считать. я даже не уверен, что задача в принчипе решаема... ибо не могу представить себе считающую таблицу...
← →
DiamondShark © (2006-08-23 00:07) [4]Хм...
>:o
← →
DiamondShark © (2006-08-23 00:37) [5]тогда так.
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.
← →
Anatoly Podgoretsky © (2006-08-23 00:38) [6]Добавить поле счетчик.
← →
Паша123441435 (2006-08-24 00:36) [7]Напишите пожалуйста в какой закладке находятся эти компоненты:
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 сделать?
В Паскале как можно сделать эту программу?
← →
Ketmar © (2006-08-24 00:42) [8]господа, над нами издеваются. взять IP и забанить надолго.
← →
Пусик © (2006-08-24 00:46) [9]
> Паша123441435 (24.08.06 00:36) [7]
Сформулируй уже вопрос нормально.
← →
Ketmar © (2006-08-24 00:49) [10]> [9] Пусик © (24.08.06 00:46)
ты ещё не поняла? это или дремучее дерево, или (что я считаю более вероятным) -- очередной тест "эмулятора альтернативно развитых".
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c