Developers create a lot of little “snippets” that help them in a lot of different scenarios. Some of them evolve into larger tools; others turn into hidden gems that get shared among a small select few.
(hmmm….SET TANGENT ON ….sounds like an interesting idea for a VFPX project – a snippet sharer – damn! don’t they have that in VS? – I DIDN’T think of that when I was first writing this – why can’t I think of something that VS DOESN’T have? – OK – SET TANGENT OFF – I do think we DO need an IntellisenseX manager that allows others to post useful Intellisense snippets)
However, here’s something I had to quickly build today and others likely have other ways of doing this but….
Problem: I wanted to quickly take the content of a small query subset table and dump it into a document (text) for easily review. (no, not everyone deals with XML)
Update: YES -> you COULD do all the silly code I have down below here but Steve Black, guardian of all cool hidden things in VFP, reminded me of :
_VFP.Datatoclip()
In my efforts at least, a VERY underused feature that would have saved me a bunch of time today (ok, so maybe only the 2 minutes it took to write the stuff below, but still)
Original Post:
While I could certainly say
CURSORTOXML () and then be done with it – I wanted it to be a little more readable.
** Function to copy current alias to a clipboard using tabs
lc = “”
FOR lni = 1 TO FCOUNT()
lc = lc + TRANSFORM(FIELD(lni))+” “
ENDFOR
lc = lc+CHR(13)
SCAN
FOR lni = 1 TO FCOUNT()
lc = lc + TRANSFORM(EVALUATE(FIELD(lni)))+” “
ENDFOR
lc = lc+CHR(13)
ENDSCAN
_CLIPTEXT = lc
Of course, you could further enhance this more for HTML purposes:
lc = “<table><tr>”
FOR lni = 1 TO FCOUNT()
lc = lc + “<th>TRANSFORM(FIELD(lni))+”</th>”
ENDFOR
lc = lc+”</tr>”
SCAN
lc = lc + “<tr>”
FOR lni = 1 TO FCOUNT()
lc = lc + “<td>”+TRANSFORM(EVALUATE(FIELD(lni)))+”</td>”
ENDFOR
lc = lc+”</tr>”
ENDSCAN
lc = lc + “</table>”
_CLIPTEXT = lc
(hint: you can past raw HTML into things like Word and Excel and it’s automatically formatted)
Yes, I know this isn’t elegant but it worked exceptionally well for what I needed.
I would run a quick query on some data, run this function and then just paste it.
Quick and Dirty – just when you need it.
Don’t forget _vfp.DataToClip().
Doh! argh! (smash boom bang)
See – I KNEW there was an easier way – it just needs to be made more visible
Thanks Steve!
Just want to point out the Toolbox is a great place to store stuff like this.
Great point, Tamar – I had also forgotten about that. I’ve been trying to use the Toolbox more often but keep on forgetting – but that’s a great use for it.