Вниз
Скачать: CL | DM;

Преобразование   Найти похожие ветки 

 
saff   (2004-05-24 14:36) [0]

Необходимо преобразовать текстовую строку, например Sin(pi), в действительное число. Проще говоря: вводим в Edit sin(pi) или sin(2) и т.д. и получаем результат.


 
snake1977   (2004-05-24 14:39) [1]

эт тебе надо делать лексический разбор строки, либо самому, либо использовать готовые компоненты


 
BFG9k   (2004-05-24 14:55) [2]

Если синтаксис должен совпадать с паскалевским , то в свое время на паскале я делал так (предупреждаю , это криво , но просто):

1. Берешь исходник той программы , которая обрабатывает результат (должен быть минимальным)

2. Создаешь программу , которая в этот исходник (прямо в текстовый файл) в нужное место подставляет текст операции, "Sin(pi)" например. А затем  компилит этот исходник
exec("compile.exe myProg.pas");
Затем запускаешь саму программу
exec("myProg.exe");
И если надо убиваешь основную программу.

P.S.: Как в дельфях реализовывать , и нужно ли это делать , думай сам. Аналог exec в дельфи ShellExecute -модуль ShellApi


 
Prohodil Mimo   (2004-05-24 16:46) [3]

to BFG9k.
Da vi baten"ka, izvrashenec :)
{primite pozhalujsta ne v obidu, a kak kompliment}


 
Алхимик ©   (2004-05-24 16:51) [4]

Шаг 1.
Скопировать подстроку "p" из "Sin(p)".
Использовать Pos, Delete, Copy, Length
Шаг 2.
Преобразовать строку "р" в число. Если это невозможно, то сообщить об этом пользователю в вежливой форме.
Шаг 3.
Скормить полученное число функции Sin.


 
BFG9k   (2004-05-24 16:56) [5]

2 Prohodil Mimo: Да  ,я такой . Спасибо :)

2 Алхимик: Плавали , знаем . Сначала надо будет реализовать арифметические действия , потом тригонометрические , логарифмы , возведение в степень и т д ...мало ли что может понадобиться. Зачем изобретать велосипед ? Где-то это наверняка есть.


 
WebErr ©   (2004-05-24 16:57) [6]

Мне тоже интересно про лексический разбор, к сожалению ссылку на компоненты ещё никто не кинул... :(


 
Алхимик ©   (2004-05-24 16:59) [7]

Для такой задачи искать готовое - не серьёзно. Быстрее самому написать.


 
ega23 ©   (2004-05-24 17:00) [8]

Мне тоже интересно про лексический разбор, к сожалению ссылку на компоненты ещё никто не кинул... :(

А я таких и не видел, в своё время сам писал в рамках курсовой по Компьютерной Графике. Но там самый простой анализ был, +-*/.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
1-1085072921
tyo
2004-05-20 21:08
2004.06.06
Дата и время в DateTimePicker


14-1084661559
morg
2004-05-16 02:52
2004.06.06
Где-то зацепил трояна, и он мне поменял стандартную


1-1085697995
NetKnight
2004-05-28 02:46
2004.06.06
Rave reports and calcilated fields


6-1081938722
Andreas
2004-04-14 14:32
2004.06.06
Убрать меню в браузере


3-1084509303
vlgrig1961
2004-05-14 08:35
2004.06.06
Не понятно почему из TMemo в function появляются пустые строки




   Наверх