FFS Alex, I HAVE created a plugin! I was JUST trying to ask, can I insert a cr using the replace field of the Find Replace ONLY.
I flipping already know how LC works for most other things. I dont need explanations on how to suck effing eggs. Just answer the sodding question. Answer nothing but this PLEASE. This is why I end up getting mad! I even just explained this in my last post. Why are you all unable to READ!!!!!!! ??????? Sean PS Morons. I'm offended by your On Wed, 7 Apr 2021 at 15:07, Alex Tweedly via use-livecode < use-livecode@lists.runrev.com> wrote: > Hi Sean, > > I'm struggling a bit to understand how you intend to use this. > > You give an example of > > > *if* field "Level" begins with "Director" and field "UserDisplay" is not > > empty and field "UserDisplay" is not "All Agents" and the label of button > > "Status" is "All Sales"*then* > > *put* pidbQueryDatabase( "SELECT * FROM QGNew where UserID = '" & (fld > > "UserID" of card 17 stack "QGv3") \ > > & "' AND DealerID = '" & (fld "DealerID" of card 1 stack "QGv3") \ > > & "' AND Status LIKE '%" & ("Sale") \ > > & "%' OR UserID = '" & (fld "UserID" of card 17 stack "QGv3") \ > > & "' AND DealerID = '" & (fld "DealerID" of card 1 stack "QGv3") \ > > & "' AND Status LIKE '%" & ("Connect") \ > > & "%'") into tMsg > BUT - that's no longer correct code; you need to add the "end if" after it. > > I don't see how any find/replace is going to do that successfully. > > You could tweak the script editor to allow some token to imply inserting > a linefeed - but you'd still need to find the relevant end of statement > and insert the 'end if' that you need. > > > So (unless I'm missing something) you will finish up doing a scripted > solution. Also, I do believe you will want to have the ease of use of > using the find/replace panel to select only those lines which are to be > modified (otherwise you are likely to pull in a number of cases you > don't want). > > If it were me, I'd follow a process like : > > 1. identify the lines to be changed (parentheses for readability) > > find/replace (put then) ---> (put /*change*/ then) > > 2. use a plugin / frontscript to allow some weird key to trigger the > changes. > > Sample plugin (with thanks to Jacque for the outline) > > > on preOpenStack > > if the long name of this stack is among the lines of the > > frontscripts then > > put "---> passing" after msg > > pass preOpenStack > > else > > insert the script of this stack onto front > > end if > > end preOpenStack > > > > on commandKeyDown whichKey ---- from Jacqueline Landman Gay > > if ("editor field" is not in the name of the target and "script" is > > not in the name of the target) \ > > or the shiftkey is not down > > then pass commandKeyDown > > > > local tSel, tNewSel > > if whichKey = "+" then > > select text of the target > > put the selection into tSel > > repeat for each line L in tSel > > if L contains "then /*change*/ put" then > > replace "then /*change*/ put" with "then " & CR & "put" in L > > replace ("& " & quote) with ("\" & CR & " & " & quote) in L > > put CR & "end if" after L > > end if > > put L &CR after tNewSel > > end repeat > > set the text of the target to tNewSel > > select empty > > else > > pass commandKeyDown > > end if > > setEditorDirty > > end commandKeyDown > > > > private command setEditorDirty > > type space > > delete char (word 4 of the selectedchunk) of the target > > end setEditorDirty > > > > > 3. ??? the srcipt editor has lost the "coloization" of the script. There > is (or used to be) some way to restore that for the entire script - but > I can't remember it. Hitting 'TAB' does it for the current handler but > not for the whole script. > > > So, I apologize - I've got carried away and provided a "creative" > solution that is outside the remit of your question. So sue me :-) > > But since I had just finished reading Andre's book on plugins and > development tools, this seemed like a good opportunity to try out > creating a plugin. > > Alex. > > On 07/04/2021 06:16, Sean Cole (Pi) via use-livecode wrote: > > Hi all, > > So, the semicolon example was only given as an oversimplification because > > most of you didn't read the original post properly, jumped to the > > wrong conclusion and then offered irrelevant answers. But then, the > > oversimplification gathered the same results of people jumping to the > wrong > > conclusion by not reading the posts correctly. (It wasn't helped by my /n > > \n typo that was jumped on and assumed to be where I was going wrong. It > is > > the paradox of this forum. Make it comprehensive, people get lost and > lose > > the point and give the wrong answer. Make it simple and they read more > into > > it and then equally get it wrong. > > > > The code I deal with on a daily basis is infinitely more complex than a > > simple - put the script of someThing into tscript; replace “;” with “;” & > > cr in script; Set the script of someThing to tscript - and can do that > kind > > of thing in my sleep (as I often do, but infinitely more complex). > > > > So, I KNOW all of these SCRIPTING techniques. I'm not interested! I can > do > > that. NOT A PROBLEM :) > > > > BUT IN THE FIND/REPLACE PANEL !!!?? > > > > Can I use a return character (or a wildcard, escaped, coded form) in the > > REPLACE field OF THE PANEL. - A simple question. > > > > You CAN use RegEx in the FIND Field. In there you can SEARCH for \n ((I > got > > it right this time)) which refers to a line feed (or new line). BUT, you > > CANNOT, it seems, as best I can find or from the comments made, use \n to > > replace or insert a line feed. > > > > In my scripts (the several thousands of them) there are NO (zero, none) > > semicolons used to separate commands. It was used ONLY to help give you a > > simpler idea of what I was trying to achieve without having to use too > much > > detail. But this kind of dialogue on a forum filled with 'clever' people > > trying to demonstrate how clever they are means they often miss the point > > and give answers that do not fulfil the remit! Or just answer a simple > > ruddy question. > > > > Here, then, is a 'Real World' example of what I am facing. There are many > > variants and not my only issue, but a useful example, sample, > demonstration. > > > > > > *[code]if* field "Level" begins with "Director" and field "UserDisplay" > is > > not empty and field "UserDisplay" is not "All Agents" and the label of > > button "Status" is "All Sales" *then* *put* pidbQueryDatabase( "SELECT * > > FROM QGNew where UserID = '" & (fld "UserID" of card 17 stack "QGv3") & > "' > > AND DealerID = '" & (fld "DealerID" of card 1 stack "QGv3") & "' AND > Status > > LIKE '%" & ("Sale") & "%' OR UserID = '" & (fld "UserID" of card 17 stack > > "QGv3") & "' AND DealerID = '" & (fld "DealerID" of card 1 stack "QGv3") > & "' > > AND Status LIKE '%" & ("Connect") & "%'") into tMsg > > [/code] > > That is all on a single line of a script in one of many thousand buttons. > > In and of itself is not so much a problem as it is just difficult for me > to > > plough through when working out what the script is doing. In this button > > alone there are 32 lines similar in nature to this. > > > > To make it easier for me to go through, as I arrive at each button to > > simplify and correlate and combine into much more elegant code in the > card > > script, I would like to be able, IN THE FIND REPLACE PANEL, not by code > or > > porting or anything else, just to search and replace (& ") with (\ cr & > ") > > (parenthesis used here just to wrap the strings), and (then put) with > (then > > cr put). Hence, it will look a bit more like this: > > > > [code] > > *if* field "Level" begins with "Director" and field "UserDisplay" is not > > empty and field "UserDisplay" is not "All Agents" and the label of button > > "Status" is "All Sales" *then* > > *put* pidbQueryDatabase( "SELECT * FROM QGNew where UserID = '" & (fld > > "UserID" of card 17 stack "QGv3") \ > > & "' AND DealerID = '" & (fld "DealerID" of card 1 stack "QGv3") \ > > & "' AND Status LIKE '%" & ("Sale") \ > > & "%' OR UserID = '" & (fld "UserID" of card 17 stack "QGv3") \ > > & "' AND DealerID = '" & (fld "DealerID" of card 1 stack "QGv3") \ > > & "' AND Status LIKE '%" & ("Connect") \ > > & "%'") into tMsg > > [/code] > > > > Ideally I'd want it even better than this eventually. But key to doing > just > > this for now was being able to use a return character in the replace > field > > of the find/replace panel. > > > > My original question was 'Just wondering if there is a way of replacing > > using cr in the find/replace panel of the script editor.' > > > > A simple Yes or No would have been sufficient. Even better, a yes with a > > 'just use this form : x,y,z' as a sample. I just hoped someone had found > a > > simple method, especially as the guides and documentation are so woefully > > out of date and incomplete. Something more than 'the meaning of life = > 42' > > and less than 'measuring gravity = the complete works of Sir Isaac > Newton', > > as long as it actually answers the question asked :) > > > > (And please don't go into the simplification of the SQL requests, the > 'if' > > condition or any other poop. I'm FULLY aware of this to the nth degree > and > > is why I'm going through this poop-show of a stack. Over 10 years of > > poor/bad/dirty coding that now needs cleaning and refactoring without > > rebuilding from the ground up. I'm just working my way through and have > > managed 6 of the 801 cards) > > > > Stats for this behemoth: > > Number of stacks = 109 > > Total number of cards = 801 > > Total number of controls = 82579 > > Total number of buttons = 19124 > > Total Number of fields = 33484 > > Total number of groups = 12152 > > Total number of graphics = 14359 > > Total number of images = 3282 > > Total Lines of code = 360036 > > > > :-) > > Sean > > > > On Tue, 6 Apr 2021 at 23:42, doc hawk via use-livecode < > > use-livecode@lists.runrev.com> wrote: > > > >> sean slipped > >> > >>> For instance, suppose I have multiple commands on one line separated > by ; > >>> and I want to search for semicolon and replace with semicolon followed > by > >>> return character to drop the remaining script onto a new line. > >> put the script of someThing into tscript > >> replace “;” with “;” & cr in script > >> Set the script of someTHing to tscript > >> _______________________________________________ > >> use-livecode mailing list > >> use-livecode@lists.runrev.com > >> Please visit this url to subscribe, unsubscribe and manage your > >> subscription preferences: > >> http://lists.runrev.com/mailman/listinfo/use-livecode > >> > > _______________________________________________ > > use-livecode mailing list > > use-livecode@lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode