![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
DekaR |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: ![]() ![]() ![]() |
Здравствуйте!У меня 2-а вопроса:
1)Пользователь вводит в Memo команды паскаля(If x=1 then....)Надо,чтобы прога выполнила введённый в это поле код. 2)И меется 2-а мемо.И кнопка.Нужно,чтобы при на кнопку определённый текст добавлялся только в то мемо,на котором находится фокус.А если фокус ни на одном из них-текст не добавлялся никуда. |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
DekaR, ты что, транслятор писАть собрался? Оставляй эту затею, это не на одну тысячу строк программы, тебе же придется делать полный синтаксический разбор введенного текста, потом еще его компилировать, выполнять, и получать результат ...
![]() Насчет второй задачи - Какая у тебя кнопка? Если обычный TButton, то в момент нажатия на него фокус, увы, не будет уже ни на первом мемо, ни на втором, он будет на самой кнопке. |
DekaR |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: ![]() ![]() ![]() |
Т.е. пидётся заново писать компилятор?Задача в том,что в одну программу пользователь вводит текст на дельфи,та записывает его в файл,а другая его выполняет по мере чтения из файла.
А с мемо мне нужен похожий результат как на форума(жмешь на смайлик,а в текстовое поле добаляется его код)Только у меня 2-а текстовых поля,и нужно добавлять в то,в которое пользователь писал до нажатия на кнопку |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
DekaR, стой, стой...
Ты не путай Компилятор (это то, чем является Паскаль) и Интерпретатор (типа Бейсика, например...) Вот насколько я помню, бейсиковские программы могли выполняться Цитата по мере чтения из файла , а Паскаль-программа должна читаться полностью, компилироваться, и только потом выполняться... Но программка и там и там будет немаленькая ![]() Нечто подобное обсуждается, кстати, здесь: Свой компилятор Загляни туда тоже, возможно, это тебя натолкнет на что-то... А с мемо делай так: опиши глобальную переменную, скажем, указатель на TMemo, и потом при получении фокуса мемо (событие OnEnter, или OnClick, если я не ошибаюсь) присваивай этой переменной адрес самого объекта, то есть @Self... Таким образом, у тебя в этой переменной будет всегда адрес того мемо, у которого был последний фокус... Ну, и записывать в него, соответственно... |
hiv |
![]()
Сообщение
#5
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Смотри в JEDI Visual Component Library
У них есть готовая компонента - интерпретатор Паскаля (с некоторыми оговорками). Когда-то давно пробовал - работает. -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
DekaR |
![]()
Сообщение
#6
|
Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата опиши глобальную переменную, скажем, указатель на TMemo, и потом при получении фокуса мемо (событие OnEnter, или OnClick, если я не ошибаюсь) присваивай этой переменной адрес самого объекта, то есть @Self... Господа.Я совершенноо непонимаю переменные типа поентер(указатель)можете в доступной форме описать что это,и с чем его едят? Сообщение отредактировано: DekaR - 1.03.2006 17:20 |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Так более понятно:
implementation ? |
hiv |
![]()
Сообщение
#8
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Господа.Я совершенноо непонимаю переменные типа поентер(указатель)можете в доступной форме описать что это,и с чем его едят? Переменная, в которой содержится адрес другой переменной. Почитай про адрессацию в памяти и адресные регистры процессора. Сообщение отредактировано: hiv - 1.03.2006 17:34 -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
DekaR |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: ![]() ![]() ![]() |
Да,так понятнее.Спасибо.Работает.Правда я ошибся.У меня не 2-а мемо,а 2-а рич эдита. НО!volvo по коду который ты дал, после щелчка по кнопке и добавления,фокус возвращается в самое начало текста рич эдита,а хотелось бы в самый конец(после кода,ктоторый добавился после щелчка).
Сообщение отредактировано: DekaR - 3.03.2006 15:32 |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
DekaR, ты будешь смеяться, но у меня как раз курсор ставится туда, где ЗАКАНЧИВАЕТСЯ вставленный при щелчке текст... Хочешь, могу присоединить EXE-шник...
|
DekaR |
![]()
Сообщение
#11
|
Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я ещё раз попробовал.И у меня по непонятным причинам тоже правильно ставиться теперь.
![]() ![]() Спасибо всем участникам обсуждения данной темы. ![]() ![]() ![]() ![]() |
![]() ![]() |
![]() |
Текстовая версия | 24.06.2025 0:41 |