![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Логические выражения
DL © (2009-03-09 15:38:00)Имеется список (TStrings) вида:
A or (B and C)
(B and A) and C
C and A or B
Можно ли как нибудь получить результат вычисления для каждой строки
{RASkov} (2009-03-09 16:45:00) [1]
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ListBox1: TListBox;
procedure FormCreate(Sender: TObject);
procedure ListBox1Data(Control: TWinControl; Index: Integer; var Data: String);
private { Private declarations }
public { Public declarations }
A, B, C: Boolean;
end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
A:=False; B:=True; C:=True;
ListBox1.Style:=lbVirtual;
ListBox1.Count:=3;
ListBox1.OnData:=ListBox1Data;
end;
procedure TForm1.ListBox1Data(Control: TWinControl; Index: Integer; var Data: String);
begin
case Index of
0: Data:=BoolToStr(A or (B and C), True);
1: Data:=BoolToStr((B and A) and C, True);
2: Data:=BoolToStr(C and A or B, True);
end;
end;
end.
Palladin (2009-03-09 15:39:00) [2]Да. Нужно как нибудь написать код вычисления для каждой строки.