![]() |
|
|
|
|
#1
|
||||
|
||||
|
Всем привет. Вот хотел присвоить переменной реал типа через strtofloat введённое выражение типа 2*3-5 и т.п. Но пишет ошибку выражения не конвертирует. Помогите пожалуйста.
Delphi 7. |
|
#2
|
||||
|
||||
|
можно посчитать значение выражения через IScriptControl. метод Eval. подробнее уже есть на форуме.
|
|
#3
|
||||
|
||||
|
Цитата:
, крутое программирование получается ![]() |
|
#4
|
||||
|
||||
|
Цитата:
![]() |
|
#5
|
||||
|
||||
|
Цитата:
|
|
#6
|
||||
|
||||
|
Цитата:
|
|
#7
|
||||
|
||||
|
Код:
with CreateComObject(CLASS_ScriptControl) as IScriptControl do
begin
Language:='JScript';
ShowMessage(Eval('2*3-5'));
end; |
|
#8
|
||||
|
||||
|
Цитата:
Я спрашивал у UnrealFire как он "сделал по другому" |
|
#9
|
||||
|
||||
|
но можно и так:
Код:
.ExecuteStatement('Edit1.Tag=Edit1.Tag / 2');Код:
.ExecuteStatement('Edit1.Text = "*" + Edit1.Text + "*"');Код:
.ExecuteStatement('Memo1.Lines(1)="ok"');Код:
.ExecuteStatement('Memo2.Align="alRight"');Код:
.ExecuteStatement('Memo2.Visible=!Memo2.Visible'); |
|
#10
|
|||
|
|||
|
Цитата:
эта функция конвертит строку в число, она не решает выражения |