|
Как фоксом получить ПОЛНОЕ содержимое буфера обмена?
|
|||
---|---|---|---|
#18+
Пользую VFP7 (роднее, чем 9-ка, хоть она тож в наличии имеется). Проблема в следующем. Необходимо периодически распихивать содержимое контроллов "чужих" экранных форм (с внутренними гиперссылками) по полям 5-колоночной dbf-таблицы. Поскольку формы генерятся закрытым экзешником, нет возможности добыть содержимое нужных контроллов, кроме как последовательно выделяя и копируя содержимое каждого контролла через буфер обмена с последующей вставкой в соответствующие поля dbf-ника. Решил сей процесс автоматизировать. Через стандартную виндовскую программу просмотра буфера обмена создал файл (123.clp) и подсмотрел его содержимое FAR-ом. При каждом копировании он содержит одни и те же скопированные в буфер данные в нескольких видах: текстовом, rtf-ном и html-ном. Именно html-ная порция буфера как нельзя лучше подходит для моей задачи - поскольку все формы однотипные, то с помощью анализа нужных html-тэгов можно запросто выделить 5 искомых фрагментов данных для последующего распихивания их по полям dbf-таблицы. Но вот беда - как фоксом заполучить содержимое именно html-ной части буфера обмена? Его системная переменная _CLIPTEXT содержит только текстовую составляющую, без html-тэгов. Поиском по форуму пошарил - вроде не было в обсуждениях ничего похожего. Подскажите, пожалуйста, можно ли фоксом ПОЛНОСТЬЮ заполучить содержимое буфера обмена? Чтоб оно имело вид, примерно, как в прилагаемом файле: ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2010, 00:52 |
|
Как фоксом получить ПОЛНОЕ содержимое буфера обмена?
|
|||
---|---|---|---|
#18+
Да, и ещё: к сожалению, переменная _CLIPTEXT не содержит фактических URL-ов, "закреплённых" за некоторыми гиперссылочными контроллами формы, а в html-ной части содержимого буфера обмена такие данные содержатся. Можно ли фоксом их выудить оттудова? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2010, 01:07 |
|
Как фоксом получить ПОЛНОЕ содержимое буфера обмена?
|
|||
---|---|---|---|
#18+
neznajka, пошарь на forum.foxclub.ru Там что-то было с использованием WinAPI для определения типа содержимого буфера и работы с ним. Если не найдешь, то спроси местных, подскажут. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2010, 09:37 |
|
Как фоксом получить ПОЛНОЕ содержимое буфера обмена?
|
|||
---|---|---|---|
#18+
проходящий.для определения типа содержимого буфера и работы с ним есть ф-и в библитеке foxtools.fll EmptyClip( ) OpenClip( ) CloseClip( ) GetClipDat( ) GetClipFmt( ) SetClipDat( ) IsClipFmt( ) http://support.microsoft.com/kb/268478 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2010, 10:07 |
|
Как фоксом получить ПОЛНОЕ содержимое буфера обмена?
|
|||
---|---|---|---|
#18+
прошелмимоесть ф-и в библитеке foxtools.fllО, точно. Уже подзабывать стал. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2010, 11:43 |
|
Как фоксом получить ПОЛНОЕ содержимое буфера обмена?
|
|||
---|---|---|---|
#18+
Спасибо, на forum.foxclub.ru посмотрю обязательно. А foxtools.fll, по видимому, ничего не даст, ибо как сказано в Foxtools Help - даже самая походящая по названию функция GetClipDat( ) возвращает всего лишь логическое значение. А мне же нужно заполучить символьный (строчный) фрагмент. Возможно, правда, что я не правильно понял Help, поскольку не имею опыта применения внешних API-функций из-под Фокса. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2010, 18:55 |
|
Как фоксом получить ПОЛНОЕ содержимое буфера обмена?
|
|||
---|---|---|---|
#18+
neznajka, вот набрососк на скорую руку: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2010, 20:04 |
|
Как фоксом получить ПОЛНОЕ содержимое буфера обмена?
|
|||
---|---|---|---|
#18+
Большое спасибо, Проходящий! Указали, видимо, правильное направление: содержимое буфера выдаётся на экран. Правда, только в основных текстовых форматах. Чтобы посмотреть другие пришлось вместо 1 передать в функцию i: ?getclipdat(i) Желаемого эффекта всё равно пока не достиг, но, думаю, он уже где-то рядом :) Жаль только, что название формата не выдаётся: getclipfmt(i) каждый раз возвращает почему-то пустую строку. Вот если б как-нибудь подсмотреть, какие форматы буфера на данный момент вообще зарегистрированы в системе! Ладно, буду рыть дальше. Спасибо. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2010, 22:08 |
|
|
start [/forum/topic.php?fid=41&msg=36960592&tid=1584799]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
119ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 292ms |
total: | 495ms |
0 / 0 |