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

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

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

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

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

поиграйтесь с примерами,
какая у Вас версия??
...
Рейтинг: 0 / 0
23.05.2007, 15:56
    #34546170
Алексей О
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объектный текстовый редактор
alex11100
какая у Вас версия??
эти примеры рассматриваю под 8 , 9-той нет
...
Рейтинг: 0 / 0
23.05.2007, 16:18
    #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
23.05.2007, 17:20
    #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
24.05.2007, 09:01
    #34547397
Алексей О
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объектный текстовый редактор
alex11100
запустите
затем моди комманд и наберите tutu
alex11100
поиграйтесь с примерами,


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

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

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

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

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

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

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

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

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

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

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

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

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

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

это как???

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

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

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

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

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

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

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

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

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

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

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


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