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