powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / объектный текстовый редактор
20 сообщений из 20, страница 1 из 1
объектный текстовый редактор
    #34545186
Алексей О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хочется реализовать вещь очень похожую на построитель выражений фокса, только использующий другие объекты (не функции и операторы фокспро)
текстовый редактор, где единицей ввода/изменения может быть как символы так и объекты из некого списка, объекты в свою очередь могут представлять из себя набор объектов и единичных символов.
первая попытка реализована следующим образом:
Контейнер заполнен текстбоксами
если в текстбокс веден символ, то длинна равна одному символу,
Если объект, то длинне объекта и становится readonly

Хочется реализовать возможность выделить часть текста, скопировать в карман и вставить в другое место.
Воспользоваться имеющимся средством выделения не удается - помечаю в одном текстбоксе - перехожу в другой - в первом пропадает
Порылся на foxClub и на этом форуме - подобного не нашел.

Может подскажите какую нибудь идею?
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34545346
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитай , что-то подобное обсуждали
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34546035
Алексей О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T Почитай , что-то подобное обсуждали
насколько я понял обсуждается текстовый редактор с распознаванием определенного синтаксиса, где единицей ввода является символы.
распознование мне не важно, важно чтобы я выбрал из моего списка объект (отображается он строкой переменной длинны) и далее оперировать им можно как будто символом (копировать, вставлять) и раскрывать на составляюшие по необходимости
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34546048
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы прочитали про возможность создавать скрипты в
для интеллисенса???

Вас устраивает такое поведение???
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34546090
Алексей О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot alex11100]Вы прочитали про возможность создавать скрипты в
для интеллисенса???
quot]
я прочитал что можно создавать,
но в приведенных примерах я не смог понять как это будет работать?

при определенном сочетании ввода он сам достраивает слова?
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34546156
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://fox.wikis.com/wc.dll?Wiki~IntelliSenseCustomScripts~VFP

поиграйтесь с примерами,
какая у Вас версия??
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34546170
Алексей О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex11100
какая у Вас версия??
эти примеры рассматриваю под 8 , 9-той нет
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34546247
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
*!*	Intaller - this will install the script into the intellisense table:
DO Add2IntelliSense WITH "tutu", "", tutu(), "U"
PROCEDURE Add2IntelliSense( lcAbbr, lcLong, tcCode, tcType )
	LOCAL cTAlias, lpdwReserved,lpdwType, z
	cTAlias = SYS( 2015 )
	USE (_FOXCODE) ALIAS (cTAlias) AGAIN SHARED
	SELECT (cTAlias)
	LOCATE FOR UPPER(Abbrev) = UPPER(lcAbbr)
	IF EMPTY(tcCode)
		IF EOF() THEN
			INSERT INTO (cTAlias) (TYPE, Abbrev, expanded, cmd, CASE, SAVE, TIMESTAMP) ;
				VALUES ('U',UPPER(lcAbbr), lcLong,'', 'U', .F., DATETIME())
		ELSE
			UPDATE (cTAlias) SET TYPE = 'U',;
				expanded=lcLong,;
				cmd = '',;
				CASE = 'U',;
				SAVE = .F., ;
				TIMESTAMP = DATETIME() ;
				WHERE UPPER(Abbrev) = UPPER(lcAbbr)
		ENDIF
	ELSE
		IF EOF() THEN
			INSERT INTO (cTAlias) (TYPE, Abbrev, expanded, cmd, DATA, CASE, SAVE, TIMESTAMP) ;
				VALUES (tcType,UPPER(lcAbbr), lcLong,'{}',tcCode, 'M', tcType#"S", DATETIME())
		ELSE
			UPDATE (cTAlias) SET TYPE = tcType,;
				expanded=lcLong,;
				cmd = '{}',;
				DATA = tcCode, ;
				CASE = 'M',;
				SAVE = tcType#"S", ;
				TIMESTAMP = DATETIME() ;
				WHERE UPPER(Abbrev) = UPPER(lcAbbr)
		ENDIF
	ENDIF
	USE IN (SELECT(cTAlias))
ENDPROC
*!*	End Installer



PROCEDURE tutu
LOCAL lcCode
TEXT TO lcCode noshow
lparameter oFoxCode
local lcResult
oFoxCode.valuetype="V"
lcResult = 'fgogoogyoo'
return lcResult
ENDTEXT
RETURN lcCode
ENDPROC


запустите
затем моди комманд и наберите tutu
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34546491
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это пример со списком
автор
LOCAL lcCode
TEXT TO lcCode noshow pretext 7
lparameters oFoxCode
oFoxCode.Valuetype = "L"
oFoxCode.ItemSort = .t.
Dimension laArray[2,2]
laArray(1,1) = 'аоаоо'
laArray(1,2) = 'nj lkz njuj-nj b njuj-nj'
laArray(2,1) = 'rrrf'
laArray(2,2) = 'а это потому, что так-то и так-то'
Dimension oFoxCode.Items[ALen(laArray,1),2]
=ACopy(laArray,oFoxCode.Items,1,-1,1)
Return AllTrim(oFoxcode.Expanded)
endtext
RETURN lcCode
ENDPROC
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34547397
Алексей О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex11100
запустите
затем моди комманд и наберите tutu
alex11100
поиграйтесь с примерами,


Огромное спасибо за примеры
полагаю я правильно понял вашу идею

однако, мне мечталось о другом:

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

хотелось бы чтобы после ввода ключеных слов они были неизменяемые, их можно только целиком удалить, скопировать, вставить или развернуть (если они составные, например функция с параметрами) и поработать с частями
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34547469
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
рекдактор так не работает.

я думаю, что такую жесткую <<блокировку>>
создавать не нужно.
лучше усилия направить на интерфейс, который будет
сообщать об ошибках в скриптах (аля 1с)
(скрипт написать можно любой, главное вывести доступную для понимания
информацию, мол так-то и так-то Вы ввели неверно то-то и то-то,
из-за чего все плохо потому, что ....)
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34547775
Алексей О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex11100рекдактор так не работает.

(скрипт написать можно любой, главное вывести доступную для понимания
информацию, мол так-то и так-то Вы ввели неверно то-то и то-то,
из-за чего все плохо потому, что ....)

вот я и называю это объектно-текстовый редактор протопипом для него служит "построитель выражений" (expression builder)

по моей задумке кроме пользователей которые работают в том числе и с таким редактором (создают прикладное наполнение системы), есть программисты которые создают инструмент системы (объекты)
дак вот этот опытный пользователь должен комфортно работать с предоставленными объектами ну и с простейшими числовыми, логическими, символьными конструкциями
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34547815
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пример из редакторов приведите какой-нить я посмотрю,
что Вы желаете,
но особо поведение редактора Вы не переделаете

свой список вывести фоксовый редактор позволяет.
в принципе, чтобы показать доступные варианты, этого достаточно,
а то, что там накурочат не так - это проблемы индейцев, они вождя не волнуют...
главное пользователям показать где и что не так
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34547941
Алексей О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
годика 3 назад на этом форуме поднимался вопрос о системах-конструкторах на фоксе (кажется Sergey Ch) и вроде бурно обсуждалась.
может кто-то что-то сделал в этом направление?
выскажитесь пожалуйста
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34548032
Алексей О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex11100пример из редакторов приведите какой-нить я посмотрю,
что Вы желаете,
но особо поведение редактора Вы не переделаете

примеров пожалуй я не приведу.
я понимаю, что имеюшиеся я не переделаю, поэтому вопрос: как сделать из доступных средсв (Foxpro , OLE) то что мечтается?

alex11100а то, что там накурочат не так - это проблемы индейцев, они вождя не волнуют...
главное пользователям показать где и что не так

да нет в предложенном вами варианте вождя волнует : потом ему надо синтаксический анализатор и какойто интерпретатор введенного кода(скрипта)

а мне хочется обновременно с вводом (а не после) русскоязычного скрипта генерируется код фокса, а следовательно пользователь не должен ввести то чего не предусмотрено.
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34548356
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я скрины своей зарплаты показывал,
полностью настройка + генерация иполняемых модулей

Код: plaintext
 ... русскоязычного скрипта генерируется код фокса,

это как???

ну Вы ведь можете выполнение скрипта анализировать,
посмотрите в 1с

ну настроили криво, пробует исполнять и светит в лог, что там-то и там-то криво ...
ну посмотрели лог, сразу видно где ошибка,

а в лисе можно и моди комманд вывести с курсором в нужной строке,
еще и попытаться подкрасить ее ...
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34548461
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
писалось при царе-горохе
на 5-м лисе

чтобы индейцы ровно настраивали, был придуман помошник (аля ексель)
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34548466
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34548735
Алексей О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex11100я скрины своей зарплаты показывал,
полностью настройка + генерация иполняемых модулей
Да это очень близко к задуманому и во многом реализованому мной
но все таки не то. спасибо.

alex11100
Код: plaintext
 ... русскоязычного скрипта генерируется код фокса,
это как???

а вот у вас "настройка колонки" "формула" - русскоязычный скрипт
а
Код: plaintext
генерация иполняемых модулей
происходит когда?

а мне бы хотелось чтобы одновременно с вводом этого скрипта - я просто не позволю ввести неправильно.
...
Рейтинг: 0 / 0
объектный текстовый редактор
    #34548905
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
#define сообщение messagebox

сообщение('куку')

у меня 2 мемо поля
в одном текстовка, в другом компил.модуль

компилируется при изменении текстовки,
и светятся ошибки (если ошибки синтаксиса)

на этапе выполнения компил.модуля также свой обработчик,
который сообщает об ошибках в скрипте
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / объектный текстовый редактор
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]