Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / API _EdUndo(), _EdClose() / 10 сообщений из 10, страница 1 из 1
16.09.2008, 10:57
    #35541331
BRROE
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
API _EdUndo(), _EdClose()
Здравствуйте!

Имеется ли у кого пример манипулирования файлом (prg), загруженным в редактор ФоксПро через API функции аля _EdUndo(), _EdClose() и т.п. ?

Из Хелпа, например:
SET LIBRARY TO EDUNDO
= EDREDO("x")
осмыслить пока не получилось!

Понял что надо сделать
#include "C:\Program Files\Microsoft Visual FoxPro 9\Samples\API\pro_ext.h"
а что дальше?
...
Рейтинг: 0 / 0
16.09.2008, 11:04
    #35541343
Мука
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
API _EdUndo(), _EdClose()
Нужно сперва создать библиотеку EDUNDO.FLL, потом подключить ее
SET LIBRARY TO EDUNDO.FLL ADDITIVE. В этой библиотеке должна быть описана функция
EDREDO.
После этого:
Код: plaintext
1.
 SET LIBRARY TO EDUNDO.FLL ADDITIVE
? EDREDO('X')
Можно пользоваться.
...
Рейтинг: 0 / 0
16.09.2008, 11:05
    #35541349
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
API _EdUndo(), _EdClose()
BRROEИмеется ли у кого пример манипулирования файлом (prg), загруженным в редактор ФоксПро через API функции аля _EdUndo(), _EdClose() и т.п. ?

Внимательно смотрим исходники в подкаталоге Beautify в "c:\Program Files\Microsoft Visual FoxPro 9\Tools\xsource\xsource.zip"
...
Рейтинг: 0 / 0
16.09.2008, 11:06
    #35541355
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
API _EdUndo(), _EdClose()
МукаНужно сперва создать библиотеку EDUNDO.FLL, потом подключить ее
SET LIBRARY TO EDUNDO.FLL ADDITIVE. В этой библиотеке должна быть описана функция
EDREDO.
После этого:
Код: plaintext
1.
 SET LIBRARY TO EDUNDO.FLL ADDITIVE
? EDREDO('X')
Можно пользоваться.
Не надо ее создавать. Уже есть в стандартной поставке фокса foxtools.fll c означенной и прочими другими функциями.
...
Рейтинг: 0 / 0
16.09.2008, 11:08
    #35541361
12345зайчик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
API _EdUndo(), _EdClose()
автор _EdUndo(), _EdClose() и т.п. ?

эти ф-и находятся в FOXTOOLS.FLL


пример
Код: 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.
if atc("FOXTOOLS.FLL", set("LIBRARY")) ==  0 
	m.cFoxToolsLibrary = addbs(sys( 5 )+sys( 2003 ))+"FOXTOOLS.FLL"
	if !file(m.cFoxToolsLibrary)
		return .f.
	endif
	set library to (m.cFoxToolsLibrary) additive
endif

activate window (thisform.CommWindow)

local lnWH, laa,lcOldClipText
lnWH = _WonTop()
declare laa[ 25 ], PR[ 1 ]
_EDGetEnv(lnWH,@laa)
m.PRGFILE=laa[ 1 ]
m.Kind=laa[ 25 ]
m.Size=laa[ 2 ]

lcOldClipText = _cliptext
_cliptext = thisform.cOldScript

=_EdSelect(lnWH, 0 ,m.Size)
=_EdDelete(lnWH)
=_EdPaste(lnWH)

_cliptext = lcOldClipText
=_EdRevert(lnWH)
release library (m.cFoxToolsLibrary)
...
Рейтинг: 0 / 0
16.09.2008, 11:18
    #35541397
BRROE
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
API _EdUndo(), _EdClose()
Теперь ясно.
Огромное всем спасибо за помощь!
...
Рейтинг: 0 / 0
16.09.2008, 17:55
    #35542701
BRROE
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
API _EdUndo(), _EdClose()
У меня FOXTOOLS.FLL от 13/12/2004 размер 53248. Фокспро 9SP1

Так в нем нету ряда функций (Например _EdSave)
_EdCloseFile() нужно вызывать как _EdCloseFi()

Где взять нормальный FOXTOOLS.FLL?
...
Рейтинг: 0 / 0
16.09.2008, 18:01
    #35542717
12345зайчик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
API _EdUndo(), _EdClose()
есть такая беда

сохранение - это _EdRevert с бубнами - я ж тебе показал
...
Рейтинг: 0 / 0
16.09.2008, 18:03
    #35542726
12345pfqxbr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
API _EdUndo(), _EdClose()
вот тебе код кнопки сохранить

Код: 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.
if atc("FOXTOOLS.FLL", set("LIBRARY")) ==  0 
	m.cFoxToolsLibrary = addbs(sys( 5 )+sys( 2003 ))+"FOXTOOLS.FLL"	
	if !file(m.cFoxToolsLibrary)
		return .f.
	endif
	set library to (m.cFoxToolsLibrary) additive
endif

activate window (thisform.CommWindow)
local lnWH, laa
lnWH = _WonTop()

declare laa[ 25 ], PR[ 1 ]
=_EDGetEnv(lnWH,@laa)
m.PRGFILE=laa[ 1 ]
m.Kind=laa[ 25 ]
m.Size=laa[ 2 ]

thisform.cNewScript = _EdGetStr(lnWH,  0 , m.Size)

=_EdRevert(lnWH)



release library (m.cFoxToolsLibrary)
...
Рейтинг: 0 / 0
16.09.2008, 19:32
    #35542881
BRROE
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
API _EdUndo(), _EdClose()
Нашел инструкцию по игре на бубне.
http://webzoom.freewebs.com/dsummzzz/TOOLHELP.zip

Кажись правдоподобная.

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


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