|
2D-программирование Вопросы, касающиеся двумерного программирования |
22.03.2007, 15:52
|
#1
|
AnyKey`щик
Регистрация: 05.03.2007
Сообщений: 10
Написано 0 полезных сообщений (для 0 пользователей)
|
Буфер обмена
Ребята, я тут новенький, подскажите пож как блитз работает с буфером обмена?
|
(Offline)
|
|
22.03.2007, 16:00
|
#2
|
ПроЭктировщик
Регистрация: 23.11.2006
Сообщений: 130
Написано 3 полезных сообщений (для 35 пользователей)
|
Re: Буфер обмена
b+ точно работает с клипбордом через внешнюю dll, по крайней мере когда-то читал на оффоруме.
|
(Offline)
|
|
22.03.2007, 20:01
|
#3
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Re: Буфер обмена
blitzsys.dll
DLLEZGetClipboardText$()
__________________
|
(Offline)
|
|
23.03.2007, 11:01
|
#4
|
AnyKey`щик
Регистрация: 05.03.2007
Сообщений: 10
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Буфер обмена
Спасибо tormoz, а можно образец декла, я не разобрался с ними.
А вот, еще я нарыл для USER32.dll
a$=ReadClipboardText()
WriteClipboardText "Hello World!"
dekl
; Clipboard Text Read / Write; ===========================; Syntax Error & Ed from Mars; userlib declarations - 'user32.decls'; *********************************************; .lib "user32.dll"; OpenClipboard%(hwnd%):"OpenClipboard"; CloseClipboard%():"CloseClipboard"; ExamineClipboard%(format%):"IsClipboardFormatAvail able"; EmptyClipboard%():"EmptyClipboard"; GetClipboardData$(format%):"GetClipboardData"; SetClipboardData%(format%,txt$):"SetClipboardData" ; *********************************************Print "Clipboard Test." Print "~~~~~~~~~~~~~~~" Print "Enter a message for the clipboard." Print "Alternatively, leave BLANK to read clipboard." a$=Input$(">") If a$="" a$=ReadClipboardText$() Print a$Else WriteClipboardText a$ Print "Text sent to clipboard. Open NotePad and paste!"EndIfPrint Chr$(13)+"---------------------------------"a$=Input$("Press RETURN to end ...") End;-----------------------------------Function WriteClipboardText(txt$) Local cb_TEXT=1 If txt$="" Then Return If OpenClipboard(0) EmptyClipboard SetClipboardText cb_TEXT,txt$ CloseClipboard EndIfEnd Function;-----------------------------------Function ReadClipboardText$() Local cb_TEXT=1 Local txt$="" If OpenClipboard(0) If ExamineClipboard(cb_TEXT) txt$=GetClipboardText$(cb_TEXT) EndIf CloseClipboard EndIf Return txt$End Function Кстати, тутна форуме спрашивали про работу с СОМ портами, встречал и для этого длл-ку...
|
(Offline)
|
|
23.03.2007, 13:21
|
#5
|
ПроЭктировщик
Регистрация: 23.11.2006
Сообщений: 130
Написано 3 полезных сообщений (для 35 пользователей)
|
Re: Буфер обмена
гм. а можно это в немного более читаемый вид привести, а то даже разбирать не хочется
|
(Offline)
|
|
23.03.2007, 14:02
|
#6
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Re: Буфер обмена
А зачем тебе "образец декла" ?
Найди всю либу, там и деклс и хелп и примеры.
__________________
|
(Offline)
|
|
23.03.2007, 14:46
|
#7
|
AnyKey`щик
Регистрация: 05.03.2007
Сообщений: 10
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Буфер обмена
Человеческий вид
Я понял так, для USER32.dll
пример декла
user32.decls************************************** ****
.lib "user32.dll"
OpenClipboard%(hwnd%):"OpenClipboard"
CloseClipboard%():"CloseClipboard"
ExamineClipboard%(format%):"IsClipboardFormatAvail able"
EmptyClipboard%():"EmptyClipboard" GetClipboardData$(format%):"GetClipboardData"
SetClipboardData%(format%,txt$):"SetClipboardData" ; *********************************************
Print "Clipboard
Test." Print "~~~~~~~~~~~~~~~"
Print "Enter a message for the clipboard."
Print "Alternatively, leave BLANK to read clipboard."
a$=Input$(">")
If a$="" a$=ReadClipboardText$()
Print a$Else WriteClipboardText a$
Print "Text sent to clipboard. Open NotePad and paste!"EndIfPrint Chr$(13)+"---------------------------------"
a$=Input$("Press RETURN to end ...")
End
Function WriteClipboardText(txt$)
Local cb_TEXT=1 If txt$=""
Then Return
If OpenClipboard(0)
EmptyClipboard
SetClipboardText cb_TEXT,txt$
CloseClipboard
EndIf
End Function
Function ReadClipboardText$()
Local cb_TEXT=1
Local txt$=""
If OpenClipboard(0)
If ExamineClipboard(cb_TEXT)
txt$=GetClipboardText$(cb_TEXT)
EndIf
CloseClipboard
EndIf
Return txt$
End Function
|
(Offline)
|
|
23.03.2007, 15:45
|
#8
|
Знающий
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений (для 70 пользователей)
|
Re: Буфер обмена
Дык и юзай этот пример с user32.dll, ибо все эти blitzsys.dll и прочие дллки юзают как раз WINAPI. Так если можно в блице winapi использовать, то зачем нужны посредники? А нужны они только для удобства - в виде обертки облегчающей использование, но в данном случае все эти функции не нуждаются ни в каких обертках, все прекрасно юзается. Так что юзай .decls с user32.dll и не мучайся.
|
(Offline)
|
|
23.03.2007, 19:52
|
#9
|
AnyKey`щик
Регистрация: 05.03.2007
Сообщений: 10
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Буфер обмена
Фигня какая-то, не получается никак длл подключить... Пишет нет такой функции, кот объявлена в деклсе. Каталог создал userlibs. Пробовал разные длл и на разных примерах. Не видит и все. Причем через calldll тоже самое.
Версия блитза 1.64 - 1.67 может из-за древности не работать?
Если да, то где найти рабочую версию? Спасибо!
|
(Offline)
|
|
23.03.2007, 20:11
|
#10
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Буфер обмена
да из-за древности
начиная с 1.8х начинает работать
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 3 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.
|
|
(Offline)
|
|
26.03.2007, 16:09
|
#11
|
AnyKey`щик
Регистрация: 05.03.2007
Сообщений: 10
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Буфер обмена
Спасибо, все работает
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:37.
|