![]() |
Буфер обмена
Ребята, я тут новенький, подскажите пож как блитз работает с буфером обмена?
|
Re: Буфер обмена
b+ точно работает с клипбордом через внешнюю dll, по крайней мере когда-то читал на оффоруме.
|
Re: Буфер обмена
blitzsys.dll
DLLEZGetClipboardText$() |
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 Кстати, тутна форуме спрашивали про работу с СОМ портами, встречал и для этого длл-ку... |
Re: Буфер обмена
гм. а можно это в немного более читаемый вид привести, а то даже разбирать не хочется
|
Re: Буфер обмена
А зачем тебе "образец декла" ?
Найди всю либу, там и деклс и хелп и примеры. |
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 |
Re: Буфер обмена
Дык и юзай этот пример с user32.dll, ибо все эти blitzsys.dll и прочие дллки юзают как раз WINAPI. Так если можно в блице winapi использовать, то зачем нужны посредники? А нужны они только для удобства - в виде обертки облегчающей использование, но в данном случае все эти функции не нуждаются ни в каких обертках, все прекрасно юзается. Так что юзай .decls с user32.dll и не мучайся.
|
Re: Буфер обмена
Фигня какая-то, не получается никак длл подключить... Пишет нет такой функции, кот объявлена в деклсе. Каталог создал userlibs. Пробовал разные длл и на разных примерах. Не видит и все. Причем через calldll тоже самое.
Версия блитза 1.64 - 1.67 может из-за древности не работать? Если да, то где найти рабочую версию? Спасибо! |
Re: Буфер обмена
да из-за древности
начиная с 1.8х начинает работать
|
Re: Буфер обмена
Спасибо, все работает
|
Часовой пояс GMT +4, время: 20:12. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot