Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Valitun tekstin hakeminen

Sivun loppuun

tuomas [05.07.2004 20:47:09]

#

Miten saisin lähetettyä ohjelmaani valitun tekstin?

Blaze [05.07.2004 21:15:00]

#

clipboard.gettext

tuomas [05.07.2004 21:36:29]

#

tuo taitaa edellyttää että teksti on kopioitu.
Käyhän tuokin jos osaat vielä kertoa miten saan kopioitua valitun teksti automaattisesti clipboardille.

Gaxx [05.07.2004 21:47:16]

#

https://www.ohjelmointiputka.net/koodivinkit/23547-vb6-leikepöydän-käyttäminen

tuomas [05.07.2004 22:21:41]

#

eli muuten toimisi mutta

ClipBoard.SetText 'mutta mitenkäs kopioit tuonne vaikka
notepadista valitun tekstin?

hunajavohveli [05.07.2004 22:36:55]

#

Niinpä, huomasin Laaksonen koodivinkissä, että Copy-Paste toimii ainoastaan ohjelman sisällä, eikä muiden ohjelmien välillä. Tuonhan saisi tehtyä pelkällä merkkijonollakin.

tuomas [05.07.2004 22:38:29]

#

lainaus:

Tuonhan saisi tehtyä pelkällä merkkijonollakin.

Mitä tarkoitat?

hunajavohveli [05.07.2004 22:41:17]

#

Niin siis, että ohjelman sisäisen Copy-Pastetuksen saa vain kopioimalla merkkijonomuuttujaan. Sikäli tuosta ClipBoard.SetTextistä ei näy olevan hyöytyä, koska se ei toimi useiden ohjelmien välillä.

Blaze [05.07.2004 22:46:59]

#

tuomas kirjoitti:

mutta mitenkäs kopioit tuonne vaikka
notepadista valitun tekstin?
[/koodivb]

Erm... SendKeys(^C)? :)

setä [06.07.2004 10:38:30]

#

Siis mikä ei toimi. Jos sulla on Notepad ja VB-sovellus, jossa on tekstiruutu, toimii Clipboard molempiin suuntiin. Voit maalata osan tekstistä, painaa Ctrl-C, siirtyä toiseen sovellukseen, mahdollisesti aktivoida tekstiruutu ja Ctrl-V palauttaa tekstin. varmasti toimii myös SetText ja GetText. On vain muistettava tyhjentää ClipBoard ennen SetTextiä.

tuomas [06.07.2004 10:41:12]

#

Siis haen sitä kun käyttäjä valitsee tekstiä jostain (vaikka siitä notepadistä) niin tekstii kopioidaan automaattisesti ilman että kukaan painelee crtl + c tai ctrl + v

Tiha [07.07.2004 00:44:23]

#

Joo noo voihan sitä painallusta matkia...
eli esim timerin alle 1000ms välein...

Const VK_C = 67
Const VK_CONTROL = &H11
Const KEYEVENTF_KEYUP = &H2
Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Private Sub Timer1_Timer()
    keybd_event VK_CONTROL, 0, 0, 0 ' paina ctrl
    keybd_event VK_C, 0, 0, 0  ' paina c
    keybd_event VK_C, 0, KEYEVENTF_KEYUP, 0   ' vapauta c
    keybd_event VK_CONTROL, 0, KEYEVENTF_KEYUP, 0  ' vapauta ctrl
End Sub

setä [07.07.2004 11:25:10]

#

Tekstin kopiointi Notepadista VB:hen ei onnistu ilman Ctrl+C painamista. Kun kerran se teksti on sieltä maalattava ei ole kovin suuri lisä painaa noita nappeja.

Tiha [07.07.2004 11:34:42]

#

Laita timer (1000ms) & textbox formiin ja maalaa teksti mistä vain..

Const VK_C = 67
Const VK_CONTROL = &H11
Const KEYEVENTF_KEYUP = &H2
Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Private Sub Timer1_Timer()
 keybd_event VK_CONTROL, 0, 0, 0 ' paina ctrl
    keybd_event VK_C, 0, 0, 0  ' paina c
    keybd_event VK_C, 0, KEYEVENTF_KEYUP, 0   ' vapauta c
    keybd_event VK_CONTROL, 0, KEYEVENTF_KEYUP, 0  ' vapauta ctrl
    DoEvents
    Text1.Text = ""
   Text1.Text = Clipboard.GetText ' Ota teksti textboxiin
End Sub

tuomas [07.07.2004 17:53:04]

#

Kiitos paljon!
Kyllä se on hyvä että jotkut osaavat..


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta