[VB6]Clipboard text setten wil niet

Pagina: 1
Acties:

  • WoutF
  • Registratie: Maart 2000
  • Laatst online: 10:46

WoutF

Hoofdredacteur
Topicstarter
Ik snap hier echt niks meer van. Ik probeer nu al 2 uur een simpele string op het clipboard te krijgen maar het wil niet lukken. Ik ben net een help channel op IRC al ingedoken maar daar snapte ze er ook niks van aangezien dit gewoon moet werken

kheb de volgende dingen al geprobeerd

code:
1
2
3
   Dim clip$
   clip = "http://" & server & "/" & dir & "/" & Ftp1.DstFilename
   Call Clipboard.SetText(clip, vbCFText)

code:
1
Clipboard.SetText (http://" & server & "/" & dir & "/" & Ftp1.DstFilename)


de variabelen 'server' en 'dir' en 'Ftp1.DstFilename' bevatten allemaal de juisten waarden.

Maar als ik de hele zooi dus op het clipboard wil zetten dat je dus zoiets krijgt
'http://www.blaat.com/blaatdir/blaatfilename'
werkt dit dus niet, hij zet namelijk het volgende op het clipboard

'http://www.blaat.com'
na de server variabele kapt hij er dus mee, en ik heb echt geen idee waarom

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Heb je al eens geprobeerd om eerst de string op te bouwen en die in een var te zetten, en dan die var als parameter te gebruiken in die SetText functie?

bv zo:
code:
1
2
3
string ClpbrdText;
ClpbrdText = "http://" & server & "/" & dir & "/" & blaa
Clipboard.SetText (ClpbrdText);


't is ook maar een idee hoor :P

https://fgheysels.github.io/


  • WoutF
  • Registratie: Maart 2000
  • Laatst online: 10:46

WoutF

Hoofdredacteur
Topicstarter
whoami schreef op 12 augustus 2002 @ 23:04:
Heb je al eens geprobeerd om eerst de string op te bouwen en die in een var te zetten, en dan die var als parameter te gebruiken in die SetText functie?

bv zo:
code:
1
2
3
string ClpbrdText;
ClpbrdText = "http://" & server & "/" & dir & "/" & blaa
Clipboard.SetText (ClpbrdText);


't is ook maar een idee hoor :P
uhm...ja

code:
1
2
3
   Dim clip$
   clip = "http://" & server & "/" & dir & "/" & Ftp1.DstFilename
   Call Clipboard.SetText(clip, vbCFText)

stond ook al in m'n 1e post

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Ehmm... Ja, sorry.... :+ overheen gelezen. |:(

https://fgheysels.github.io/


Verwijderd

Wat krijg je als je de server variabele weg laat ? Doet ie dan wel de rest goed ?

  • Mr. B.
  • Registratie: Mei 2000
  • Niet online
Verwijderd schreef op 13 augustus 2002 @ 08:27:
Wat krijg je als je de server variabele weg laat ? Doet ie dan wel de rest goed ?
Die server variabele zal aan het eind wel een Chr$(0) bevatten :)

StatBar.nl - @GoT

Het verschil tussen theorie en praktijk is in de praktijk altijd veel groter dan in theorie.


  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 28-08 17:06

Sponge

Serious Game Developer

code:
1
2
3
4
5
6
7
8
Option Explicit

Private Sub Form_Load()
   Dim strClip As String
   strClip = "http://www.quadrantwars.com"
   Call Clipboard.SetText(strClip, vbCFText)
   Debug.Print Clipboard.GetText
End Sub


werkt perfect hier..

  • WoutF
  • Registratie: Maart 2000
  • Laatst online: 10:46

WoutF

Hoofdredacteur
Topicstarter
41.6C.6D.61.72 schreef op 13 augustus 2002 @ 09:05:
code:
1
2
3
4
5
6
7
8
Option Explicit

Private Sub Form_Load()
   Dim strClip As String
   strClip = "http://www.quadrantwars.com"
   Call Clipboard.SetText(strClip, vbCFText)
   Debug.Print Clipboard.GetText
End Sub


werkt perfect hier..
Gek genoeg werkt dat hier ook goed

  • WoutF
  • Registratie: Maart 2000
  • Laatst online: 10:46

WoutF

Hoofdredacteur
Topicstarter
Verwijderd schreef op 13 augustus 2002 @ 08:27:
Wat krijg je als je de server variabele weg laat ? Doet ie dan wel de rest goed ?
Dan verslikt hij zich op de 'dir' variabele en laat alleen die zien

  • WoutF
  • Registratie: Maart 2000
  • Laatst online: 10:46

WoutF

Hoofdredacteur
Topicstarter
Mr. B. schreef op 13 augustus 2002 @ 09:02:
[...]
Die server variabele zal aan het eind wel een Chr$(0) bevatten :)
Dat zegt me helemaal niks, care to elaborate on that? :)

Verwijderd

En als je nu eens een debug.print geeft:
code:
1
debug.print "http://" & server & "/" & dir & "/" & Ftp1.DstFilename


dan zou ie wel alles goed moeten printen

  • WoutF
  • Registratie: Maart 2000
  • Laatst online: 10:46

WoutF

Hoofdredacteur
Topicstarter
Verwijderd schreef op 13 augustus 2002 @ 10:19:
En als je nu eens een debug.print geeft:
code:
1
debug.print "http://" & server & "/" & dir & "/" & Ftp1.DstFilename


dan zou ie wel alles goed moeten printen
Hmm, ik kom er net achter dat die strings sterretjes bevatten (*)
Dit komt door de manier hoe ze uitgelezen worden uit de ini file

code:
1
2
3
4
sString = String$(30, "*")
lSize = Len(sString)
lReturn = GetPrivateProfileString("Server Settings", "Path", "", sString, lSize, sFile)
server = sString


Om ff heel eerlijk te zijn, heb ik dit stukje uit een tutorial overgenomen. En ik snap de syntax van GetPrivateProfileString wel, maar snap niet zo goed hoe de string aangemaakt wordt, en waarom er vantevoren een vaste lengte opgegeven wordt.

Dus hoe krijg ik die informatie gewoon in een string zonder dat de overgebleven ruimte opgevuld wordt met ***

Verwijderd

Makkelijk, als je de specs van de GetPrivateProfileString erbij haalt dan lees dat ie de lengte van de string retourneert. Dus:
code:
1
server = left(sString, lReturn)

geeft je alleen de juiste informatie :)

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
En als je dat er niet uitstript neem je de CHR$(0) = String terminator ook mee.
Voor de duidelijkheid een CHR$(0) wordt in C++ gezien als het einde van een string.
Aangezien die clipboard functie in C++ is geschreven zal de functie daarom denken dat de string al stopt bij de server.

It’s nice to be important but it’s more important to be nice


  • WoutF
  • Registratie: Maart 2000
  • Laatst online: 10:46

WoutF

Hoofdredacteur
Topicstarter
Verwijderd schreef op 13 augustus 2002 @ 10:41:
Makkelijk, als je de specs van de GetPrivateProfileString erbij haalt dan lees dat ie de lengte van de string retourneert. Dus:
code:
1
server = left(sString, lReturn)

geeft je alleen de juiste informatie :)
|:(
hmm, beetje dom dat ik dat zelf niet bedacht had :)
maar heel erg bedankt, alles werkt nu :)
Pagina: 1