Вопрос № 19023: Я хотел узнать:
1) Есть ли функции переводящие строку, в которой записано математическое выражение, в какую-либо последовательность действий для компьютера. Если есть пожалуйста объясните как ей пользоваться.
2) Как вызвать функцию одной форм...
Вопрос № 19023
Я хотел узнать:
1) Есть ли функции переводящие строку, в которой записано математическое выражение, в какую-либо последовательность действий для компьютера. Если есть пожалуйста объясните как ей пользоваться.
2) Как вызвать функцию одной формы из другой формы.
3) Как работать с memo одной формы из другой формы.
Отправлен: 31.03.2005, 05:43
Вопрос задал: pnck (статус: Посетитель)
Всего ответов отправлено: 5
Отвечает: IUnknown
Здравствуйте, pnck!
1)как таковой нет... но что мешает написать... в принципе задачка довольно тривиальная...
2)точно также как из вложенного юнита...
в интерфейсной части одной формы описываешь функцию... (что типа function MyFunction(MyParametr) : Answer;)... далее в implementation творишь саму функцию...
после чего в Unit второй формы добавляешь имя своей формы...
итого у тебя должно быть что-то в таком духе
unit MyForm1;
interface
uses
нужные юниты
.....
.....
Здесь все что дельфи на делала... или ты сам ))
.....
.....
function MyFunction(MyParametr) : Answer;
implementation
function MyFunction(MyParametr): Answer;
begin
....
....
код твоей функции
....
....
end;
далее в той форме где надо вызвать функцию MyFunction
unit MyForm2
interface
uses
Window.... и куча других юнитов... StdCtrls, MyForm1;
3)аналогично... как и с функцией... только мемо должно быть описано в интерфейсной части юнита
Ответ отправил: IUnknown (статус: 1-ый класс)
Отправлен: 31.03.2005, 18:34 Оценка за ответ: 4 Комментарий оценки: Спасибо, но хотелось бы услышить более полный ответна 1 часть!
Отвечает: Master135
Здравствуйте, pnck!
Начну отвечать с конца
3) Пусть Memo обьявлено в Form1 а используем его в модуле с Form2 Вызываем - Form1.Memo1()
2) Опять же таки Form1.вызов функции
Но тут есть одно важное примечание надо в списке подключаемых модулей объявлять у Form2-Form1 или наоборот.
1) Стандартной ф-ции скорее всего нет, может кто-то разработал какие-либо компоненты. Но это знаменитая программа, которую можно попытатся написать самому, отдельно выделяя в строке слова(по пробелам) а после этого обрабатываем каждое слово отдельно.
Ответ отправил: Master135 (статус: 3-ий класс)
Отправлен: 31.03.2005, 20:59 Оценка за ответ: 4 Комментарий оценки: Спасибо!
Отвечает: Boriss
Здравствуйте, pnck!
То, что Вы называли в первом пункте, называется "интерпретатор"
В принципе, задача сводится к синтаксическому разбору строки. На эту тему есть много литературы. Если надо именно это, можно порекомендовать классическую уже работу Шильдта (Shildt) для Паскаля (по-моему, это его единственная крупная работа для Паскаля)
Компоненты можно посмотреть на:
http://bodiic.narod.ru/fortran.html
http://www.wosoft.ru/index.htm/c/168/f/0/p/3
и известный компонент PASCALC:
http://www.download.ru/russian/programs/20_14.htm
или
http://online.download.ru/details.ehtml?ProgramID=4756
Прикреплённый файл: Загрузить >> Срок хранения файла на сервере RusFAQ.ru составляет 14 суток с момента отправки ответа.
Ответ отправил: Boriss (статус: Профессор)
Отправлен: 02.04.2005, 16:37 Оценка за ответ: 5 Комментарий оценки: Супер, хоьб и не получил ответа на два последних вопроса!!!
Отвечает: sir henry
Здравствуйте, pnck!
1. Встроенных функций в Дельфи точно нет. :) А вот найти какой-либо компонент для этого дела - запросто:
www.torry.net
www.delphimaster.ru
и т.п.
2. Спокойно работайте, только не забудте название этой функции объявить в разделе IMPLEMENTATION
3. Для этого надо указать в какой форме это мемо находиться, например Вы работаете в форме MyForm2, тогда, чтобы обратиться к мемо из MyForm1 сделайте так:
MyForm1.Memo1.Lines.Add(Строка); {Добавление строки в мемо на форме 1 из формы 2}
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 04.04.2005, 09:10 Оценка за ответ: 4 Комментарий оценки: Большое, пребольшое спасибо!
Отвечает: Vj
Здравствуйте, pnck!
2) Если 2-я форма называется Form2, а функция funct то:
Form2.funct(параметры);
3) Если 2-я форма называется Form2, а memo - Memo1 то:
например Form2.Memo1.Add('Test...');
Ответ отправил: Vj (статус: Студент)
Отправлен: 05.04.2005, 00:55 Оценка за ответ: 4 Комментарий оценки: Спасибо!