forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=13)
-   -   Буфер обмена (http://forum.boolean.name/showthread.php?t=3002)

sergeych 22.03.2007 15:52

Буфер обмена
 
Ребята, я тут новенький, подскажите пож как блитз работает с буфером обмена?

Chuma 22.03.2007 16:00

Re: Буфер обмена
 
b+ точно работает с клипбордом через внешнюю dll, по крайней мере когда-то читал на оффоруме.

tormoz 22.03.2007 20:01

Re: Буфер обмена
 
blitzsys.dll

DLLEZGetClipboardText$()

sergeych 23.03.2007 11:01

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 Кстати, тутна форуме спрашивали про работу с СОМ портами, встречал и для этого длл-ку...

Chuma 23.03.2007 13:21

Re: Буфер обмена
 
гм. а можно это в немного более читаемый вид привести, а то даже разбирать не хочется

tormoz 23.03.2007 14:02

Re: Буфер обмена
 
А зачем тебе "образец декла" ?
Найди всю либу, там и деклс и хелп и примеры.

sergeych 23.03.2007 14:46

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

Platon 23.03.2007 15:45

Re: Буфер обмена
 
Дык и юзай этот пример с user32.dll, ибо все эти blitzsys.dll и прочие дллки юзают как раз WINAPI. Так если можно в блице winapi использовать, то зачем нужны посредники? А нужны они только для удобства - в виде обертки облегчающей использование, но в данном случае все эти функции не нуждаются ни в каких обертках, все прекрасно юзается. Так что юзай .decls с user32.dll и не мучайся.

sergeych 23.03.2007 19:52

Re: Буфер обмена
 
Фигня какая-то, не получается никак длл подключить... Пишет нет такой функции, кот объявлена в деклсе. Каталог создал userlibs. Пробовал разные длл и на разных примерах. Не видит и все. Причем через calldll тоже самое.
Версия блитза 1.64 - 1.67 может из-за древности не работать?
Если да, то где найти рабочую версию? Спасибо!

HolyDel 23.03.2007 20:11

Re: Буфер обмена
 
да из-за древности
начиная с 1.8х начинает работать
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 3 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

sergeych 26.03.2007 16:09

Re: Буфер обмена
 
Спасибо, все работает


Часовой пояс GMT +4, время: 20:12.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot