Loading ...
Sorry, an error occurred while loading the content.

Re: [Clip] trying to remove some spaces at the end of a line

Expand Messages
  • Jody
    Hi Don, ... Use ^!IfError End Another way you need to do it at times is: ^!If ^$GetRow$ = ^$GetLineCount$ End else Loop Sometimes you need to get the ending
    Message 1 of 15 , Sep 4, 2000
    • 0 Attachment
      Hi Don,

      >When I try to stop however, I cheated my way to say if next line
      >is empty then end, but if there is not a blank line at the end,
      >it won't stop, it asks if I want to go to top and start over.

      Use ^!IfError End

      Another way you need to do it at times is:
      ^!If ^$GetRow$ = ^$GetLineCount$ End else Loop

      Sometimes you need to get the ending line you want to stop at:

      ^!Set %End%=^$GetRow$
      :Loop
      run script
      ^!If ^%End% = ^$GetLineCount$ End else Loop

      Happy Clip'n!
      Jody

      http://www.sureword.com/notetab

      Subscribe, UnSubscribe, Options
      mailto:Ntb-Clips-Subscribe@...
      mailto:Ntb-Clips-UnSubscribe@...
      http://www.egroups.com/group/ntb-clips
    • Larry Thomas
      Hi Don, ... You can use NoteTab s ability to view non-printing text by selecting View|Non-Printing Text or pressing Shift+F12 to toggle it on and off so that
      Message 2 of 15 , Sep 5, 2000
      • 0 Attachment
        Hi Don,

        At 12:55 AM 09/05/2000 -0400, you wrote:
        >
        >I have just started a clip. A little rough so far, but it isn't behaving
        >the way I want already....
        >
        >I want to be able to take a .txt file with multiple lines, remove the spaces
        >from the right end of each line.
        >Take 4 lines of "input" and make it pipe delimited and carraige return then
        >do over.
        >
        >I am using "x" instead of spaces at the end of the line because I can see
        >them working. On the first loop, it removes the x at the end, and on the
        >next it doesn't, even though I can see it selected...

        You can use NoteTab's ability to view non-printing text by selecting
        View|Non-Printing Text or pressing Shift+F12 to toggle it on and off so
        that you do not need to use an X for a space to test your clips.

        >Here is my text file for testing:
        >this is line 1x
        >this is line 2x
        >this is line 3
        >this is line 4x
        >this is line a
        >this is line bx
        >this is line c
        >this is line d

        This clip will remove any spaces or tabs from the right end of the selected
        lines. If you do not select anything, it will give you an error message
        and quit.

        ^$StrTrim()$ will work here except that it will removed leading spaces and
        tabs and you will lose any indenting if that matters to you but the clip
        below will only remove blanks from the right end of the lines.

        ^!IfTrue ^$IsEmpty(^$GetSelection$)$ Next Else Skip_2
        ^!Info Nothing is selected.
        ^!Goto Exit
        ^!Keyboard Alt+M L T
        ^!Replace ^p >> | TASH

        Regards,

        Larry
        larryt@...
      • Jody
        Hi Larry, ... That s the one I was looking for, ;) except if there are spaces in front of the line it does not get them - not that it matters. I think he was
        Message 3 of 15 , Sep 5, 2000
        • 0 Attachment
          Hi Larry,

          >^!Keyboard Alt+M L T

          That's the one I was looking for, ;) except if there are spaces
          in front of the line it does not get them - not that it matters.
          I think he was wanting 4 items per line though and the reason why
          I wrote the Clip the way I did.

          H=VBar 4
          ^!Jump 1
          ^!Set %n%=1
          ^!Select All
          ^!Keyboard Alt+M L T

          :Start
          ^!Replace "^p" >> "|" S
          ^!IfError End
          ^!Inc %n%
          ^!If ^%n% = 4 Skip
          ^!Goto Start

          ^!Set %n%=1
          ^!Jump +1
          ^!Goto Start

          Happy Clip'n!
          Jody

          http://www.sureword.com/notetab

          Subscribe, UnSubscribe, Options
          mailto:Ntb-Clips-Subscribe@...
          mailto:Ntb-Clips-UnSubscribe@...
          http://www.egroups.com/group/ntb-clips
        • Larry Thomas
          Hi Jody, ... You can modify my clip and replace the above line with: ^!Keyboard Alt+M A L Alt+M L T And it will remove spaces and tabs from both ends of the
          Message 4 of 15 , Sep 5, 2000
          • 0 Attachment
            Hi Jody,

            At 06:54 AM 09/05/2000 -0500, you wrote:
            >
            >Hi Larry,
            >
            >>^!Keyboard Alt+M L T
            >
            >That's the one I was looking for, ;) except if there are spaces
            >in front of the line it does not get them - not that it matters.
            >I think he was wanting 4 items per line though and the reason why
            >I wrote the Clip the way I did.

            You can modify my clip and replace the above line with:

            ^!Keyboard Alt+M A L Alt+M L T

            And it will remove spaces and tabs from both ends of the selected lines.
            The advantage over ^$StrTrim()$ is that you do not have to have loops to
            process individual lines and it tends to get the job done a little simpler
            and faster.

            Regards,

            Larry
            larryt@...
          • Claes Gauffin
            Hi Don, Jody, Larry, Since the discussion seems to drift towards code efficiency, wouldn t the following be rather straightforward, eliminating at least one
            Message 5 of 15 , Sep 5, 2000
            • 0 Attachment
              Hi Don, Jody, Larry,

              Since the discussion seems to drift towards code efficiency,
              wouldn't the following be rather straightforward, eliminating at least one
              loop?

              Regards /Claes

              ^!SetScreenUpdate Off
              ^!TOOLBAR Select All
              ^!KeyBoard ALT+M A L ALT+M L T
              ^!Jump 1
              :next_record
              ^!Replace "^p" >> "|" S
              ^!Replace "^p" >> "|" S
              ^!Replace "^p" >> "|" S
              ^!IfError End
              ^!Jump +1
              ^!Goto next_record
            • Jody
              Hi Claes and Larry, ... Your s is the shortest. ;) I still like the first one I posted though, because it does not use Keyboard; just a think with me -
              Message 6 of 15 , Sep 5, 2000
              • 0 Attachment
                Hi Claes and Larry,

                >Since the discussion seems to drift towards code efficiency,
                >wouldn't the following be rather straightforward, eliminating at
                >least one loop?

                Your's is the shortest. ;) I still like the first one I posted
                though, because it does not use Keyboard; just a think with me -
                personal preference for the most part. I guess it sounds too
                much like having to take my hand off the mouse and actually use a
                keyboard shortcut. <g>

                H=Regards /Claes
                ^!SetScreenUpdate Off
                ^!TOOLBAR Select All
                ; compliments of Larry ;)
                ^!KeyBoard ALT+M A L ALT+M L T
                ^!Jump 1
                :next_record
                ^!Replace "^p" >> "|" S
                ^!Replace "^p" >> "|" S
                ^!Replace "^p" >> "|" S
                ^!IfError End
                ^!Jump +1
                ^!Goto next_record

                H=Jody II
                ^!Jump 1
                ^!Set %n%=1
                ^!Select All
                ^!Keyboard Alt+M L T

                :Start
                ^!Replace "^p" >> "|" S
                ^!IfError End
                ^!Inc %n%
                ^!If ^%n% = 4 Skip
                ^!Goto Start

                ^!Set %n%=1
                ^!Jump +1
                ^!Goto Start

                H=Jody I
                ^!Jump 1
                ^!Set %n%=1

                :Start
                ^!Select Eol
                ^$StrTrim("^$GetSelection$")$
                ^!Replace "^p" >> "|" S
                ^!IfError End
                ^!Inc %n%
                ^!If ^%n% = 4 Skip
                ^!Goto Start

                ^!Set %n%=1
                ^!Select Eol
                ^$StrTrim("^$GetSelection$")$
                ^!Jump +1
                ^!Goto Start

                Happy Clip'n!
                Jody

                http://www.sureword.com/notetab

                Subscribe, UnSubscribe, Options
                mailto:Ntb-Clips-Subscribe@...
                mailto:Ntb-Clips-UnSubscribe@...
                http://www.egroups.com/group/ntb-clips
              • Larry Thomas
                Hi Claes, ... My math is probably off (I used to be a bookkeeper) but I count 11 lines of code above as compared to five lines below and there are no loops in
                Message 7 of 15 , Sep 5, 2000
                • 0 Attachment
                  Hi Claes,

                  At 04:05 PM 09/05/2000 +0200, you wrote:
                  >
                  >Hi Don, Jody, Larry,
                  >
                  >Since the discussion seems to drift towards code efficiency,
                  >wouldn't the following be rather straightforward, eliminating at least one
                  >loop?
                  >
                  >Regards /Claes
                  >
                  >^!SetScreenUpdate Off
                  >^!TOOLBAR Select All
                  >^!KeyBoard ALT+M A L ALT+M L T
                  >^!Jump 1
                  >:next_record
                  >^!Replace "^p" >> "|" S
                  >^!Replace "^p" >> "|" S
                  >^!Replace "^p" >> "|" S
                  >^!IfError End
                  >^!Jump +1
                  >^!Goto next_record

                  My math is probably off (I used to be a bookkeeper) but I count 11 lines of
                  code above as compared to five lines below and there are no loops in either
                  clip.

                  ^!IfTrue ^$IsEmpty(^$GetSelection$)$ Next Else Skip_2
                  ^!Info Nothing is selected.
                  ^!Goto Exit
                  ^!KeyBoard ALT+M A L ALT+M L T
                  ^!Replace ^p >> | TASH

                  If you want to assume that he wants to always process the whole file you
                  can chop it down to three lines.

                  ^!Select All
                  ^!KeyBoard ALT+M A L ALT+M L T
                  ^!Replace ^p >> | TASH

                  As for keyboard commands, I prefer to avoid them myself but when it saves
                  this much typing I definitely will use them.

                  Regards,

                  Larry
                  larryt@...
                • Craig
                  ... Howdy, All - Just to add one more, since I didn t see any regex es :-) H= nospace 2 pipe ... ^!Set %i%=1 ... ^!IfError End ^!Replace s* n
                  Message 8 of 15 , Sep 5, 2000
                  • 0 Attachment
                    --- In ntb-clips@egroups.com, Jody <KJB1611@a...> wrote:
                    > Hi Claes and Larry,
                    >
                    > >Since the discussion seems to drift towards code efficiency,
                    > >wouldn't the following be rather straightforward, eliminating at
                    > >least one loop?
                    >
                    > Your's is the shortest. ;) I still like the first one I posted
                    > though, because it does not use Keyboard; just a think with me -
                    > personal preference for the most part. I guess it sounds too
                    > much like having to take my hand off the mouse and actually use a
                    > keyboard shortcut. <g>
                    >
                    > H=Regards /Claes
                    > ^!SetScreenUpdate Off
                    > ^!TOOLBAR Select All
                    > ; compliments of Larry ;)
                    > ^!KeyBoard ALT+M A L ALT+M L T
                    > ^!Jump 1
                    > :next_record
                    > ^!Replace "^p" >> "|" S
                    > ^!Replace "^p" >> "|" S
                    > ^!Replace "^p" >> "|" S
                    > ^!IfError End
                    > ^!Jump +1
                    > ^!Goto next_record

                    <SNIPALOT>

                    Howdy, All -
                    Just to add one more, since I didn't see any regex'es :-)

                    H="nospace 2 pipe"
                    :Begin1
                    ^!Set %i%=1
                    :Loop4
                    ^!IfError End
                    ^!Replace "\s*\n" >> "|" R
                    ^!Inc %i%
                    ^!If "^%i%" < "4" Loop4 Else done4
                    :done4
                    ^!Jump +1
                    ^!GoTo Begin1
                  • Jody
                    Hi Larry, ... From what I could tell by the way Don wrote the Clip he wanted every line of the output to have four records on it. That is why we have the
                    Message 9 of 15 , Sep 5, 2000
                    • 0 Attachment
                      Hi Larry,

                      >>^!Replace "^p" >> "|" S
                      >>^!Replace "^p" >> "|" S
                      >>^!Replace "^p" >> "|" S


                      >My math is probably off (I used to be a bookkeeper) but I count
                      >11 lines of code above as compared to five lines below and there
                      >are no loops in either clip.

                      From what I could tell by the way Don wrote the Clip he wanted
                      every line of the output to have four records on it. That is why
                      we have the longer Clips. My very first one which I did not post
                      was real short like your's till I studied his Clip some more and
                      had to go back to the drawing board.

                      Happy Clip'n!
                      Jody

                      http://www.sureword.com/notetab

                      Subscribe, UnSubscribe, Options
                      mailto:Ntb-Clips-Subscribe@...
                      mailto:Ntb-Clips-UnSubscribe@...
                      http://www.egroups.com/group/ntb-clips
                    • Larry Thomas
                      Hi Jody, ... Ah yes :( There really is such a thing as being in to much of a hurry to get the point. Thanks for explaining. Regards, Larry
                      Message 10 of 15 , Sep 5, 2000
                      • 0 Attachment
                        Hi Jody,

                        At 11:42 AM 09/05/2000 -0500, you wrote:
                        >
                        >Hi Larry,
                        >
                        > From what I could tell by the way Don wrote the Clip he wanted
                        >every line of the output to have four records on it. That is why
                        >we have the longer Clips. My very first one which I did not post
                        >was real short like your's till I studied his Clip some more and
                        >had to go back to the drawing board.

                        Ah yes :( There really is such a thing as being in to much of a hurry to
                        get the point. Thanks for explaining.

                        Regards,

                        Larry
                        larryt@...
                      • Don Passenger
                        Thank you to each one of you for the help. What a helpful group! No wonder Note Tab is the #one user preferred program in its class! I learned a lot from
                        Message 11 of 15 , Sep 5, 2000
                        • 0 Attachment
                          Thank you to each one of you for the help.

                          What a helpful group! No wonder Note Tab is the #one user preferred program
                          in its class!

                          I learned a lot from reading through the suggestions. Finding this bit:
                          ^$StrTrim("^$GetSelection$")$
                          made the whole exercise worthwhile, without anything more! Some of my
                          actual data in fact had leading spaces too, the more I looked at it, so that
                          took care of it before I even realized I had the problem.

                          I took some version of the suggestions and I processed all 373 records I had
                          (actually 26 lines per record...though my example just had 4...by the 373
                          records) and got the correct format for output which I successfully imported
                          into Access and now have a new database. Awesome.


                          I use kclip for my help on these things. In one respect the information
                          mislead me there. I see I should have been using jump +1 to drop a line. I
                          read the help in kclip and it said: "Moves cursor to the indicated
                          position."
                          I took that to mean position (ie row and column), not line, so I tried to
                          move the cursor a different way. My way choked on blank lines. This is
                          better. When help is redone, the word position should be replaced with the
                          word line, in my humble opinion.

                          One other thing about kclip I found annoying, is when searching for a term
                          (using the locate function) it will search in a big loop starting over at
                          the beginning without announcing it is back to the start. Is there any way
                          to adjust that so it will stop at the bottom and ask before restarting? It
                          is a very nice interface otherwise.
                          It did take a while to process as I used one of the earlier suggestions, so
                          next time I will definately work on the more efficient models to get them
                          functional. All of the scrolling text looked like a bad programmers dream.
                          lol

                          ---
                          Don Passenger
                          Personal Page: http://www.iserv.net/~dpasseng
                          Court Page: http://www.iserv.net/~dpasseng/grdc
                          ----- Original Message -----
                          From: Jody <KJB1611@...>
                          To: <ntb-clips@egroups.com>
                          Sent: Tuesday, September 05, 2000 11:01 AM
                          Subject: Re: [Clip] trying to remove some spaces at the end of a line


                          >
                          > Hi Claes and Larry,
                          >
                          > >Since the discussion seems to drift towards code efficiency,
                          > >wouldn't the following be rather straightforward, eliminating at
                          > >least one loop?
                          >
                          > Your's is the shortest. ;) I still like the first one I posted
                          > though, because it does not use Keyboard; just a think with me -
                          > personal preference for the most part. I guess it sounds too
                          > much like having to take my hand off the mouse and actually use a
                          > keyboard shortcut. <g>
                          >
                          > H=Regards /Claes
                          > ^!SetScreenUpdate Off
                          > ^!TOOLBAR Select All
                          > ; compliments of Larry ;)
                          > ^!KeyBoard ALT+M A L ALT+M L T
                          > ^!Jump 1
                          > :next_record
                          > ^!Replace "^p" >> "|" S
                          > ^!Replace "^p" >> "|" S
                          > ^!Replace "^p" >> "|" S
                          > ^!IfError End
                          > ^!Jump +1
                          > ^!Goto next_record
                          >
                          > H=Jody II
                          > ^!Jump 1
                          > ^!Set %n%=1
                          > ^!Select All
                          > ^!Keyboard Alt+M L T
                          >
                          > :Start
                          > ^!Replace "^p" >> "|" S
                          > ^!IfError End
                          > ^!Inc %n%
                          > ^!If ^%n% = 4 Skip
                          > ^!Goto Start
                          >
                          > ^!Set %n%=1
                          > ^!Jump +1
                          > ^!Goto Start
                          >
                          > H=Jody I
                          > ^!Jump 1
                          > ^!Set %n%=1
                          >
                          > :Start
                          > ^!Select Eol
                          > ^$StrTrim("^$GetSelection$")$
                          > ^!Replace "^p" >> "|" S
                          > ^!IfError End
                          > ^!Inc %n%
                          > ^!If ^%n% = 4 Skip
                          > ^!Goto Start
                          >
                          > ^!Set %n%=1
                          > ^!Select Eol
                          > ^$StrTrim("^$GetSelection$")$
                          > ^!Jump +1
                          > ^!Goto Start
                          >
                          > Happy Clip'n!
                          > Jody
                          >
                          > http://www.sureword.com/notetab
                          >
                          > Subscribe, UnSubscribe, Options
                          > mailto:Ntb-Clips-Subscribe@...
                          > mailto:Ntb-Clips-UnSubscribe@...
                          > http://www.egroups.com/group/ntb-clips
                          >
                          >
                          >
                          >
                        • Larry Thomas
                          Hi Don, ... Well, finally it looks like my clip would have worked for you after all with a modification to loop through each of the records. If you look at
                          Message 12 of 15 , Sep 5, 2000
                          • 0 Attachment
                            Hi Don,

                            At 01:11 PM 09/05/2000 -0400, you wrote:
                            >
                            >Thank you to each one of you for the help.
                            >
                            >What a helpful group! No wonder Note Tab is the #one user preferred program
                            >in its class!
                            >
                            >I learned a lot from reading through the suggestions. Finding this bit:
                            >^$StrTrim("^$GetSelection$")$
                            >made the whole exercise worthwhile, without anything more! Some of my
                            >actual data in fact had leading spaces too, the more I looked at it, so that
                            >took care of it before I even realized I had the problem.
                            >
                            >I took some version of the suggestions and I processed all 373 records I had
                            >(actually 26 lines per record...though my example just had 4...by the 373
                            >records) and got the correct format for output which I successfully imported
                            >into Access and now have a new database. Awesome.

                            Well, finally it looks like my clip would have worked for you after all
                            with a modification to loop through each of the records. If you look at
                            ^!Select and try it, you will discover that you can select a group of lines
                            from the current cursor position by typing ^!Select ^%Number% with
                            ^%Number% containing the number of lines you want to select. When you use
                            my clip as a part of this to process that selection, then you would use
                            ^!Jump +1 to go to the next line and then ^!Select ^%Number% again for the
                            next record until you reached the end of the file and you would have to
                            have the loop that you had to tell the clip when the end of the file was
                            reached and to quit.

                            Regards,

                            Larry
                            larryt@...
                          • Jody
                            Hi Don ... You will need to write Grandma Kay about that. If the eMail address is not current in her Help program you should be able to get it at her site. I
                            Message 13 of 15 , Sep 7, 2000
                            • 0 Attachment
                              Hi Don

                              >One other thing about kclip I found annoying, is when searching
                              >for a term (using the locate function) it will search in a big
                              >loop starting over at the beginning without announcing it is back
                              >to the start. Is there any way to adjust that so it will stop at
                              >the bottom and ask before restarting? It is a very nice
                              >interface otherwise.

                              You will need to write Grandma Kay about that. If the eMail
                              address is not current in her Help program you should be able to
                              get it at her site. I don't know if she is reading the list at
                              this time. I sure do miss her input though!!!

                              Introduction to Clip Programming
                              Try: mailto:kayr@... and http://sure2.com/notetab.shtml

                              Happy Clip'n!
                              Jody

                              http://www.sureword.com/notetab

                              Subscribe, UnSubscribe, Options
                              mailto:Ntb-Clips-Subscribe@...
                              mailto:Ntb-Clips-UnSubscribe@...
                              http://www.egroups.com/group/ntb-clips
                            Your message has been successfully submitted and would be delivered to recipients shortly.