Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2007, 22:15   #1
alikon1
Пользователь
 
Регистрация: 07.10.2007
Сообщений: 22
По умолчанию Работа со скобками

Как можно реализовать, чтоб при нажатии в моем калькуляторе последовательности:
1. (
2. 15
3. +
4. 30
5. )
6. sin

в label записалось sin(15+30) ?

Просто
1. 45
2. sin

сделал как:
len:=length(stroka)-length(waited_n); // вычисляет длину строки без последних введенных 45
delete(stroka,len+1,length(waited_n )); // удаляет в строчке 45
stroka:=Stroka+'cos('+waited_n+')'; // записывает в строчку sin(45)

А как сделать, чтоб работало не с одним числом, а со скобками не знаю, не получается. Подскажите пожалуйста.
alikon1 вне форума Ответить с цитированием
Старый 13.11.2007, 20:25   #2
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

исходник полностью кинь в архиве, посмотрю. ))
"""stroka:=Stroka+'cos('+waited_n+' )';""" - cos или sin в этой строке??
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 13.11.2007, 20:37   #3
alikon1
Пользователь
 
Регистрация: 07.10.2007
Сообщений: 22
По умолчанию

http://ifolder.ru/4121889
sin или cos не принципиально, надо чтоб хоть что-нибудь работало
alikon1 вне форума Ответить с цитированием
Старый 13.11.2007, 21:32   #4
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

сюда кинь исходник, у меня инет виснет при регистрации там.
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 14.11.2007, 08:35   #5
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

при нажатии кнопки - сразу записываем в строку,
'(', ')', '0'..'9' - в текущей позиции

'sin', 'cos' - в начале строки ;
или искать справа налево открываюшию '(' и вставить перед ней.
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 14.11.2007, 10:03   #6
alikon1
Пользователь
 
Регистрация: 07.10.2007
Сообщений: 22
По умолчанию

а я не знаю как "сюда" кинуть исходник. А регистрация ведь не нужна там.
http://depositfiles.com/files/2362242 может так...
alikon1 вне форума Ответить с цитированием
Старый 14.11.2007, 12:44   #7
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Не видя весь код трудно подсказывать, но в принципе то что тебе нужно можно реализовать через процедуру Insert:
Insert('sin',st,pos('(',st)-1);
puporev вне форума Ответить с цитированием
Старый 15.11.2007, 15:14   #8
alikon1
Пользователь
 
Регистрация: 07.10.2007
Сообщений: 22
По умолчанию

Insert('sin',st,pos('(',st)-1); чуть подредактировал. В общем все нормально работает. Спасибо.
alikon1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача со скобками в Паскале SEREG@ Помощь студентам 7 11.06.2008 15:01
Выделить русские слова скобками(паскаль) gred Помощь студентам 8 09.05.2008 19:25