Welcome Guest.   Make a donation to an author on the site September 20, 2014, 09:00:22 AM  *

Please login or register.
Or did you miss your validation email?


Login with username and password (forgot your password?)
Why not become a lifetime supporting member of the site with a one-time donation of any amount? Your donation entitles you to a ton of additional benefits, including access to exclusive discounts and downloads, the ability to enter monthly free software drawings, and a single non-expiring license key for all of our programs.


You must sign up here before you can post and access some areas of the site. Registration is totally free and confidential.
 
Learn about the DonationCoder.com microdonation system (DonationCredits).
   
   Forum Home   Thread Marks Chat! Downloads Search Login Register  
Pages: [1]   Go Down
  Reply  |  New Topic  |  Print  
Author Topic: [v2.00.03] Queries/suggestions: Date presets / SQL / Images  (Read 1565 times)
DonationCoderTransmit
Participant
*
Posts: 28

View Profile Give some DonationCredits to this forum member
« on: July 15, 2011, 05:16:07 AM »

I've just upgraded from 1.2x to 2.00.03, and love the great new features, thanks smiley.

I have a few queries which may be tricks I've missed, or feature suggestions, depending on what I don't know.

1. The new hotkeys to instantly paste Format Presets, without invoking the menus, are terrific.

But how do I do the same for a Date/Time Preset? The Format Presets dialog doesn't seem to have a way to input a Date/Time as appended text. The main Hotkeys dialog doesn't have a suitable entry. The Date/Time Paste Presets section of Options doesn't mention them. It seems I can almost do it, but not quite?


2. I found your thread on using the SQL stuff to create a virtual Group to catch URLs. And I found (and have now lost) a post which helped me make a group which grabbed certain clips from a specific program. Which tempts me to try to make/tweak a few more, for example, to modify the Quick Paste group so that it excludes certain (noisy/repetitive) clips from certain programs. But the Help seems almost silent on how to construct the expressions, and the note within the Group Edit Dialog only gives a very few examples.

Is there an idiots guide to creating SQL conditional expressions anywhere, please?

Also, is there any way to (optionally) create prevalence among the groups? So that, for example, if a Rubbish and Noise group was created and edited so that clips containing the text "This is a frequent and useless, but alas never entirely a duplicate, clip" were automatically captured there, then they wouldn't also appear in lower priority groups (such as Quick Paste)? If not, as seems likely, presumably the Clipboard and Quick Paste groups could be edited to exclude the same things as the Rubbish and Noise group includes? (If one knew how to construct the right expression ... ).

Or what would happen if, instead of using a new Rubbish and Noise group, the Recycle Bin group was so edited (as well as inputting the contra entries in the Clipboard and Quick Paste groups)?  Poof, all the crap auto-disappeared? Or some life-threatening feedback loop?

Logged
mouser
First Author
Administrator
*****
Posts: 33,366



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #1 on: July 18, 2011, 03:52:29 AM »

Glad you are liking the new version and thank you for the kind words  thumbs up

You are right there is not currently a way to paste a specific date using just a hotkey.  I may add an ability to set hotkeys on specific clips -- and if i do that i will make it possible to design clips with dynamic text like date+time.  Until then though i would suggest using something like AutoHotkey which is popular here on the forum and which you could use to set up custom hotkeys to do all kinds of things easily.

Your other suggestion though is also not a bad one -- which is to add some kind of generic DATE/TIME data to the formatting presets options dialog, so one could add date/time to beginning or end of a formatted text block.. I wonder if that's something that would be more generally useful to people..



Now as for the sql virtual group stuff.. this is one of those features that is barely documented at all and few people are brave enough to dive into.  So congratulations for taking the plunge.  i wish i had a nice guide to give you for the shark and jellyfish infested swampy waters..

There definitely is no way to set precedence of groups so that a clip will only appear in one and not others when their conditions match..  an important thing to realize is that virtual groups are not physical collections of clips -- they are just filters that decide on the fly which clips to show inside them that live physically in other groups.  So a clip is always shown in its "real" group, and then in any other virtual groups.  So one option is always to move it out of the Clipboard group and it will still show in the virtual group (to add confusion you can actually move clips so that their "real" group is the virtual group).

With sql you can use things like parentheses , and, or , not, etc.  so you can exclude conditions quite easily.  Maybe the easiest thing now since there is no good guide is post what you are trying to do and your sql expression that is not working and we can try to help.
Logged
DonationCoderTransmit
Participant
*
Posts: 28

View Profile Give some DonationCredits to this forum member
« Reply #2 on: July 19, 2011, 06:16:43 AM »

You are right there is not currently a way to paste a specific date using just a hotkey.  I may add an ability to set hotkeys on specific clips -- and if i do that i will make it possible to design clips with dynamic text like date+time.

Great, thanks.

Quote
Until then though i would suggest using something like AutoHotkey which is popular here on the forum and which you could use to set up custom hotkeys to do all kinds of things easily.

Yeah, I use PowerPro for that sort of stuff. But having it send keystrokes to navigate through the (cascading) menu is less than ideal: it's visually clunky, and it's a bit unreliable if the PC is doing lots of other things at the same time. For example, I log some stuff (DSL connection info, copy'n'pasted from my router's web ui) at bootup, and while all the startup disk-thrashing is going on, it's not unusual for the keystrokes to get out of sync with the windows (i.e. the menus) meant to receive them. Or sometimes some manual keystrokes, i.e. me, accidentally interject. But the new 'instant' hotkeys are much more (completely, so far) resistant to interference. I just need the date and time to be equally available.

(Of course PowerPro has clipboard and date/time functions of it's own, and if I could convince it to paste the date and time on one single line, then I wouldn't need CHS to do it for my bootup log, but either it can't or I can't).

Quote
Your other suggestion though is also not a bad one -- which is to add some kind of generic DATE/TIME data to the formatting presets options dialog, so one could add date/time to beginning or end of a formatted text block.. I wonder if that's something that would be more generally useful to people..

Either would be fine for me, but I'd vote for both. I suspect the formatting presets options dialog is far less used, indeed far less discovered, than the date/time or formatting presets themselves. So I think the ability to hotkey any specific clip would be more generally useful to more people, but improving the presets options dialog would be more generally useful only to power(ish) users.

If you're tinkering with the presets options dialog, then extra options to strip lines containing triggers would be cool. For example, 'Strip line if character(s) present|not present'.



Quote
i wish i had a nice guide to give you for the shark and jellyfish infested swampy waters..

There definitely is no way to set precedence of groups so that a clip will only appear in one and not others when their conditions match..  an important thing to realize is that virtual groups are not physical collections of clips -- they are just filters that decide on the fly which clips to show inside them that live physically in other groups.  So a clip is always shown in its "real" group, and then in any other virtual groups.  

I thought I had a handle on that, but now I'm not sure the local wildlife haven't eaten my brain. It looks like the Clipboard group and it's New and Old subgroups will accept SQL filters, as they have the checkbox and text entry box, and their contents change to blue if SQL is used. But they don't seem to do anything. I copied the (working) SQL from the Quick Paste group, and applied it to, for example, the Old group. But nothing in that group changed (except the text colour!) Is it a UI quirk? Or do only certain SQL expressions work in those groups? If so, what, for example?

Then there's the whole Recycle Bin can of beans. I can edit the Recycle Bin to auto-capture clips including "Junk Text", and it will. But any group using IsInRecyleBin will only trigger on items actually deleted to the Recyle Bin and not clips, such as "Junk Text", which only appear in the Recyle Bin because of its own SQL expression. Nor will it trigger on sub-groups of the Recyle Bin. And emptying the Recyle Bin will only delete clips actually deleted to there, not SQL'd there. So, if I've got this right, whilst editing the Recyle Bin with SQL works (unlike with the Clipboard groups) it's hard to find any useful purpose in doing so! I was looking for a way to auto-delete certain types of clips, so that they only appeared in the Bin, and nowhere else, and could be permanently emptied from there. But I don't think that's possible, right?

(I'm halfway there with a Junk group: I can hide stuff SQL'd there from the Quick Paste group, and I can periodically delete the junk by using the Junk group's 'Delete All Clips in this Group' command. So I'm just suggesting possible feature tweaks, not complaining about actual hardship smiley)

And it's not possible to add to the special fields to test for special folders (IsInRecyleBin, IsInClipboard, IsInClipboardNew, IsInClipboardOld, IsInFavorites) so that, say, IsInMyJunkGroup would work, right? That would make things so much easier, I think. We could craft whatever simple or complicated SQL for each new group as appropriate. Then simply add NOT (IsInMyGroupA), NOT (IsInMyGroupB), etc, to whichever other groups we wanted to omit that stuff from. I don't know if that's even feasible.

In any event, I wonder if you might create a new default one, say IsInRecyleBinGroup, which acted on whatever is in the Recycle Bin, or under it in a sub-group, no matter how it got there? I appreciate that may not be possible either (even assuming you liked either notion).

Quote
So one option is always to move it out of the Clipboard group and it will still show in the virtual group

What's the trick to do that? I can, and have, done it so some clips are moved out of the Quick Paste group and into a new "Junk" group. By editing to this in my Quick Paste group :-

Formatted for SQL with the GeSHI Syntax Highlighter [copy or print]
  1. NOT (IsInRecyleBin) AND (ModificationDateTime>=DateTimeMinusFiveDays) AND NOT (ClipText LIKE '%Bandwidth (Up/Down) [kbps/kbps]:%')

And this in my Junk group :-

Formatted for SQL with the GeSHI Syntax Highlighter [copy or print]
  1. NOT (IsInRecyleBin) AND (ClipText LIKE '%Bandwidth (Up/Down) [kbps/kbps]:%')

But I can't seem to get the same clips out of my Clipboard groups. I tried both in that group, and indeed just the default Quick Paste format of :-

Formatted for SQL with the GeSHI Syntax Highlighter [copy or print]
  1. NOT (IsInRecyleBin) AND (ModificationDateTime>=DateTimeMinusFiveDays)

But the Clipboard group(s) refuse to change at all. What, amongst the many things I'm sure I'm doing wrong, is the crucial error?

Quote
(to add confusion you can actually move clips so that their "real" group is the virtual group).

But only by drag'n'drop, you mean? No way to automate that process?

Quote
With sql you can use things like parentheses , and, or , not, etc.  so you can exclude conditions quite easily.  Maybe the easiest thing now since there is no good guide is post what you are trying to do and your sql expression that is not working and we can try to help.

"Quite easily" for you! Wink. But I'm slowly getting some of the basics (notwithstanding what you're about to tell me I'm getting wrong in the above examples). I found this, which seems to have helped me, and perhaps you'll say if it's a bum steer for other newbies: http://beginner-sql-tutorial.com/sql.htm and especially : http://beginner-sql-tutor...sql-logical-operators.htm

And maybe this: http://beginner-sql-tutor....com/oracle-functions.htm  but only because it's the only site-search result there for "lower" which appears to be pretty vital in our context (i.e. for (Lower(ClipText) or (Upper(ClipText) or just (ClipText) )

And, again, just to group these links together: Mouser's "Creating a virtual clip group in CHS to show you all clips with URLs in them"

Oh yes, what else apart from ClipText, and the listed special folder and date/time fields, is available from within CHS to build into an expression?

Personally, since I don't really have the time, inclination or smarts to learn SQL properly, I find the (few) examples around to be the most helpful, as a starting point to bodge and hack into versions suitable for my purposes. Mouser, the imminent new release will surely bring quite a few users back to the forum for a while. How about you then starting a (sticky?) SQL Expressions thread, posting a few examples and inviting users to post theirs and/or suggestions of how and why they use them?

Wow, this was a long post. Thanks for the help so far, and please don't feel obliged to take time away from your other work to address all this.
« Last Edit: July 19, 2011, 06:26:38 AM by DonationCoderTransmit » Logged
Pages: [1]   Go Up
  Reply  |  New Topic  |  Print  
 
Jump to:  
   Forum Home   Thread Marks Chat! Downloads Search Login Register  

DonationCoder.com | About Us
DonationCoder.com Forum | Powered by SMF
[ Page time: 0.05s | Server load: 0.07 ]