Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Power Basic

Страница: 1 |

 

  Вопрос: Clipboard Добавлено: 10.02.06 10:20  

Автор вопроса:  zulus
Привет всем!
Народ, я тут первый раз постюсь так что не кидайтесь табуретками если что. Загрузив ПБ у меня возникла проблемка с буфером обмена, вернее в том, что я не представляю как им пользоваться. В справке ничего по этому поводу не сказано. Мне кажется что надо это дело юзать через СендМессадж, но если это так, то как? Хелп!

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 zulus



Вопросов: 2
Ответов: 23
 Профиль | | #1 Добавлено: 10.02.06 15:50
Чуть ниже была тема про клипборд с примером от CyRax и тот код работает, но ничего не возвращает. Так что необходимо что-то другое.

Ответить

Номер ответа: 2
Автор ответа:
 ygen



Вопросов: 36
Ответов: 87
 Web-сайт: soft.ygen.ru/
 Профиль | | #2
Добавлено: 10.02.06 15:51
Не врублю чё за ПБ(если VB, то читай)
Короче вот:

clipboard.SetData файлик загнать
clipboard.GetData получить
clipboard.SetText текстик загнать
clipboard.GetText получить
clipboard.clear всё стереть нафиг

Ответить

Номер ответа: 3
Автор ответа:
 zulus



Вопросов: 2
Ответов: 23
 Профиль | | #3 Добавлено: 10.02.06 15:58
Нет, PB = PowerBasic

Ответить

Номер ответа: 4
Автор ответа:
 alex



Вопросов: 84
Ответов: 453
 Профиль | | #4 Добавлено: 11.02.06 17:47
Привет всем!
Народ, я тут первый раз постюсь так что не кидайтесь табуретками если что. Загрузив ПБ у меня возникла проблемка с буфером обмена, вернее в том, что я не представляю как им пользоваться. В справке ничего по этому поводу не сказано. Мне кажется что надо это дело юзать через СендМессадж, но если это так, то как? Хелп!


Для работы с буфером обмена используй следующие API функции:

ChangeClipboardChain
CloseClipboard
CountClipboardFormats
EmptyClipboard
EnumClipboardFormats
GetClipboardData
GetClipboardFormatName
GetClipboardOwner
GetClipboardViewer
GetOpenClipboardWindow
GetPriorityClipboardFormat
IsClipboardFormatAvailable
OpenClipboard
RegisterClipboardFormat
SetClipboardData
SetClipboardViewer


Небольшой пример, загрузка файла с диска в буфер обмена:

  
$COMPILE EXE
  $DIM ALL
  $INCLUDE "WIN32API.INC"

FUNCTION WriteToClipBoard(BYVAL content AS STRING) AS LONG
  ON ERROR GOTO WriteToClipBoardError
  LOCAL where AS LONG, hData AS LONG, bytes AS LONG
  content = content + CHR$(0)
  bytes = LEN(content)
  IF bytes < 2 THEN EXIT FUNCTION
  hData = GlobalAlloc(&H2002, bytes)    ' get memory of clipboard
  where = GlobalLock(hData)             ' lock it
  POKE$ where, content                  ' paste text into memory
  GlobalUnlock hData                    ' unlock memory
  IF ISFALSE OpenClipboard(0) THEN      ' if clipboard isn't available
    GlobalFree hData                    ' free up memory
    FUNCTION = 0
    EXIT FUNCTION
   END IF
  EmptyClipboard                          ' empty whatever's in there now
  SetClipBoardData %CF_TEXT, hData        ' %CF_TEXT = for text
  CloseClipboard                          ' release clipboard
  FUNCTION = -1                           ' success
WriteToClipBoardExit:
EXIT FUNCTION

WriteToClipBoardError:
  RESUME WriteToClipBoardExit
END FUNCTION

FUNCTION PBMAIN() AS LONG
  ON ERROR GOTO PbMainError
  ;DIM LineNum AS LONG
  ;DIM FILNAME AS STRING
  ;DIM Content AS STRING
  ;DIM Ecode AS LONG
  FilName$ = COMMAND$

  LineNum = 10:FilName$ = COMMAND$
  IF DIR$(FilName$) = "" THEN EXIT FUNCTION
  LineNum = 20:OPEN FilName$ FOR BINARY SHARED AS #1
  LineNum = 30:GET$ #1, LOF(1), content$
  lineNum = 40: REPLACE CHR$(0) WITH CHR$(32) IN content$ 'replace nulls
  LineNum = 50:Ecode& = WriteToClipBoard(content$ + CHR$(0))
  LineNum = 60
  CLOSE #1
PbMainExit:
EXIT FUNCTION
PbMainError:
MSGBOX "Error writing to clipboard at line "+STR$(LineNum)+ "Error number"+STR$(ERR)
RESUME PbMainExit
END FUNCTION

Ответить

Номер ответа: 5
Автор ответа:
 zulus



Вопросов: 2
Ответов: 23
 Профиль | | #5 Добавлено: 11.02.06 18:01
Спасибо, чтало намного понятнее.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам