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

Re: [Clip] Beginners problem Access violation

Expand Messages
  • abairheart
    ... where I ... ==== Insert here: ^!SetDebug 1 ... Then step through the code, and note, which part of the loop gets executed, BEFORE you get the access
    Message 1 of 19 , Sep 10, 2005
    • 0 Attachment
      --- In ntb-clips@yahoogroups.com, "Bauke P. de Vries"
      <bpdevries@h...> wrote:
      >
      > ...
      > In the following part I get an access violation error. The part
      where I
      > try to get the first field from the first row. i do have some more
      > problems but first things first I think.
      >
      > ^!SetDelimiter ,
      > ^!SetArray %Filenamen%=a
      > ^!Set %rnr%=0
      >
      > :loop1

      ====> Insert here:

      ^!SetDebug 1

      > ^!Inc %rnr%
      > ^!Set %SGTicker%=^$GetField(^%rnr%;^%rnr%)$
      > ^!Set %bestandsnaam%==^$Str("^%SGTicker%.sg.txt")$
      >
      >
      > Any ideas?


      Then step through the code, and note, which part of the loop gets
      executed, BEFORE you get the access violation.

      Hint, the use of GetField function requires, that you set a delimiter
      for the fields:

      ^!SetDelimiter ^%tab%

      for example.


      Abair
    • Bauke P. de Vries
      Thanks! See below please? Met vriendelijke groet, *Bauke P. de Vries * ... Here is goes wrong. I shortened the name but no result. I use the comma as delimiter
      Message 2 of 19 , Sep 10, 2005
      • 0 Attachment
        Thanks! See below please?

        Met vriendelijke groet,

        *Bauke P. de Vries
        *



        abairheart wrote:

        >--- In ntb-clips@yahoogroups.com, "Bauke P. de Vries"
        ><bpdevries@h...> wrote:
        >
        >
        >>...
        >>In the following part I get an access violation error. The part
        >>
        >>
        >where I
        >
        >
        >>try to get the first field from the first row. i do have some more
        >>problems but first things first I think.
        >>
        >>^!SetDelimiter ,
        >>^!SetArray %Filenamen%=a
        >>^!Set %rnr%=0
        >>
        >>:loop1
        >>
        >>
        >
        >====> Insert here:
        >
        >^!SetDebug 1
        >
        >
        >
        >>^!Inc %rnr%
        >>^!Set %SGTicker%=^$GetField(^%rnr%;1)$
        >>
        >>
        Here is goes wrong. I shortened the name but no result. I use the comma
        as delimiter and the command:

        ^!SetDelimiter ,


        ^!Set %bestandsnaam%=^$Str("^%SGTicker%.sg.txt")$

        >>
        >>Any ideas?
        >>
        >>
        >
        >
        >Then step through the code, and note, which part of the loop gets
        >executed, BEFORE you get the access violation.
        >
        >Hint, the use of GetField function requires, that you set a delimiter
        >for the fields:
        >
        >^!SetDelimiter ^%tab%
        >
        >for example.
        >
        >
        >Abair
        >
        >
        >
        >
        >
        >
        >Fookes Software: http://www.fookes.us, http://www.fookes.com
        >Fookes Software Mailing Lists: http://www.fookes.us/maillist.htm
        >
        >Yahoo! Groups Links
        >
        >
        >
        >
        >
        >
        >
        >
        >
        >
        >


        [Non-text portions of this message have been removed]
      • Bauke P. de Vries
        ^$Str() doesn t exist. Sorry, stupid me! Met vriendelijke groet, *Bauke P. de Vries * ... [Non-text portions of this message have been removed]
        Message 3 of 19 , Sep 10, 2005
        • 0 Attachment
          ^$Str() doesn't exist. Sorry, stupid me!

          Met vriendelijke groet,

          *Bauke P. de Vries
          *



          Bauke P. de Vries wrote:

          >Thanks! See below please?
          >
          >Met vriendelijke groet,
          >
          >*Bauke P. de Vries
          >*
          >
          >
          >
          >abairheart wrote:
          >
          >
          >
          >>--- In ntb-clips@yahoogroups.com, "Bauke P. de Vries"
          >><bpdevries@h...> wrote:
          >>
          >>
          >>
          >>
          >>>...
          >>>In the following part I get an access violation error. The part
          >>>
          >>>
          >>>
          >>>
          >>where I
          >>
          >>
          >>
          >>
          >>>try to get the first field from the first row. i do have some more
          >>>problems but first things first I think.
          >>>
          >>>^!SetDelimiter ,
          >>>^!SetArray %Filenamen%=a
          >>>^!Set %rnr%=0
          >>>
          >>>:loop1
          >>>
          >>>
          >>>
          >>>
          >>====> Insert here:
          >>
          >>^!SetDebug 1
          >>
          >>
          >>
          >>
          >>
          >>>^!Inc %rnr%
          >>>^!Set %SGTicker%=^$GetField(^%rnr%;1)$
          >>>
          >>>
          >>>
          >>>
          >Here is goes wrong. I shortened the name but no result. I use the comma
          >as delimiter and the command:
          >
          >^!SetDelimiter ,
          >
          >
          >^!Set %bestandsnaam%=^$Str("^%SGTicker%.sg.txt")$
          >
          >
          >
          >>>Any ideas?
          >>>
          >>>
          >>>
          >>>
          >>Then step through the code, and note, which part of the loop gets
          >>executed, BEFORE you get the access violation.
          >>
          >>Hint, the use of GetField function requires, that you set a delimiter
          >>for the fields:
          >>
          >>^!SetDelimiter ^%tab%
          >>
          >>for example.
          >>
          >>
          >>Abair
          >>
          >>
          >>
          >>
          >>
          >>
          >>Fookes Software: http://www.fookes.us, http://www.fookes.com
          >>Fookes Software Mailing Lists: http://www.fookes.us/maillist.htm
          >>
          >>Yahoo! Groups Links
          >>
          >>
          >>
          >>
          >>
          >>
          >>
          >>
          >>
          >>
          >>
          >>
          >>
          >
          >
          >[Non-text portions of this message have been removed]
          >
          >
          >
          >
          >Fookes Software: http://www.fookes.us, http://www.fookes.com
          >Fookes Software Mailing Lists: http://www.fookes.us/maillist.htm
          >
          >Yahoo! Groups Links
          >
          >
          >
          >
          >
          >
          >
          >
          >
          >
          >


          [Non-text portions of this message have been removed]
        • Bauke P. de Vries
          Hello, I m trying to write a clip to append a row from one file to another file. The to -file s name is based on the first field of the row in the
          Message 4 of 19 , Sep 11, 2005
          • 0 Attachment
            Hello,

            I'm trying to write a clip to append a row from one file to another
            file. The "to"-file's name is based on the first field of the row in the
            "from"-file. The "from"-file has about 250 rows and for every row there
            should be a "to"-file. Must be checked.

            The problem is that I don't get any filenames from the filename-array in
            the second loop (loop2). I've tried it with another counter (%n%) but
            that doesn't work either.

            Must be a beginnes question (I am beginner). Couldn't find it in the doc's.

            Thanks in advance for helping me!

            Clip below

            ^!SetDebug 1

            ^!Jump Text_Start
            ^!SetWordWrap OFF
            ^!SetDelimiter ,
            ^!SetArray %Filenamen%=""
            ^!SetArray %Regels%=""
            ^!Set %rnr%=0

            :loop1
            ^!Inc %rnr%
            ^!Set %SGTicker%=^$GetField(^%rnr%;1)$
            ^!If ^$StrCopyRight(^%SGTicker%;2)$ <> AS ^!Goto loop1
            ^!SetArray %Filenamen^%rnr%%=^%SGTicker%.sg.txt
            ^!SetArray %Regels^%rnr%%=^$GetLine(^%rnr%)$
            ^!If ^$GetRow$ = ^$Calc(^$GetLineCount$-1)$ Skip
            ^!Goto loop1

            ^!Set %rnr%=0

            :loop2
            ^!Inc %rnr%
            ^!IfFileExist ^%Filenamen^%rnr%% ^!Goto bestaat ELSE ^!Goto bestaatniet


            :bestaat
            ^!Info bestaat !!!!!!!!!!!!!!!
            ^!Goto end

            :bestaatniet
            ^!Info bestaat niet !!!!!!!!!!!!!!!
            ^!Goto end


            :end
            ^!Info rnr = ^%rnr%
            ^!Info filenaam = ^%Filenamen^%rnr%%
            ^!Info regel = ^%NL%^%Regels^%rnr%%

            Met vriendelijke groet,

            *Bauke P. de Vries
            *
          • Ian D. Davies
            I notice that you are not running through loop2. You only process the first item in loop2 then fall through to :bestaat . You need a goto at the bottom of the
            Message 5 of 19 , Sep 11, 2005
            • 0 Attachment
              I notice that you are not running through loop2. You only process the first
              item in loop2 then fall through to ":bestaat". You need a goto at the bottom
              of the loop sending you backup to loop2.

              ----- Original Message -----
              From: "Bauke P. de Vries" <bpdevries@...>
              To: <ntb-clips@yahoogroups.com>
              Sent: Sunday, September 11, 2005 9:45 AM
              Subject: Re: [Clip] How do I get array data back


              > Hello,
              >
              > I'm trying to write a clip to append a row from one file to another
              > file. The "to"-file's name is based on the first field of the row in the
              > "from"-file. The "from"-file has about 250 rows and for every row there
              > should be a "to"-file. Must be checked.
              >
              > The problem is that I don't get any filenames from the filename-array in
              > the second loop (loop2). I've tried it with another counter (%n%) but
              > that doesn't work either.
              >
              > Must be a beginnes question (I am beginner). Couldn't find it in the
              > doc's.
              >
              > Thanks in advance for helping me!
              >
              > Clip below
              >
              > ^!SetDebug 1
              >
              > ^!Jump Text_Start
              > ^!SetWordWrap OFF
              > ^!SetDelimiter ,
              > ^!SetArray %Filenamen%=""
              > ^!SetArray %Regels%=""
              > ^!Set %rnr%=0
              >
              > :loop1
              > ^!Inc %rnr%
              > ^!Set %SGTicker%=^$GetField(^%rnr%;1)$
              > ^!If ^$StrCopyRight(^%SGTicker%;2)$ <> AS ^!Goto loop1
              > ^!SetArray %Filenamen^%rnr%%=^%SGTicker%.sg.txt
              > ^!SetArray %Regels^%rnr%%=^$GetLine(^%rnr%)$
              > ^!If ^$GetRow$ = ^$Calc(^$GetLineCount$-1)$ Skip
              > ^!Goto loop1
              >
              > ^!Set %rnr%=0
              >
              > :loop2
              > ^!Inc %rnr%
              > ^!IfFileExist ^%Filenamen^%rnr%% ^!Goto bestaat ELSE ^!Goto bestaatniet
              >
              >
              > :bestaat
              > ^!Info bestaat !!!!!!!!!!!!!!!
              > ^!Goto end
              >
              > :bestaatniet
              > ^!Info bestaat niet !!!!!!!!!!!!!!!
              > ^!Goto end
              >
              >
              > :end
              > ^!Info rnr = ^%rnr%
              > ^!Info filenaam = ^%Filenamen^%rnr%%
              > ^!Info regel = ^%NL%^%Regels^%rnr%%
              >
              > Met vriendelijke groet,
              >
              > *Bauke P. de Vries
              > *
              >
              >
              >
              >
              >
              > Fookes Software: http://www.fookes.us, http://www.fookes.com
              > Fookes Software Mailing Lists: http://www.fookes.us/maillist.htm
              >
              > Yahoo! Groups Links
              >
              >
              >
              >
              >
              >
            • acummingsus
              ... the first ... the bottom ... ^!IfFileExist ^%Filenamen^%rnr%% ^!Goto bestaat ELSE ^!Goto bestaatniet ^!IfFileExist ^%Filenamen^%rnr%% bestaat ELSE
              Message 6 of 19 , Sep 11, 2005
              • 0 Attachment
                --- In ntb-clips@yahoogroups.com, "Ian D. Davies" <iddavies@s...> wrote:
                > I notice that you are not running through loop2. You only process
                the first
                > item in loop2 then fall through to ":bestaat". You need a goto at
                the bottom
                > of the loop sending you backup to loop2.

                ^!IfFileExist ^%Filenamen^%rnr%% ^!Goto bestaat ELSE ^!Goto bestaatniet

                ^!IfFileExist ^%Filenamen^%rnr%% bestaat ELSE bestaatniet

                The latter is correct. (^!Goto is not used) yes, help says goto label
                true else goto label false (the help tries to be on the terse side)

                also saw some other problems. Early on you setarray to an empty
                string. To declare or pre declare is not needed in the clip language.
                Set is the keyword for the compiler/interpreter to launch that/a line
                of code so to speak.

                Set something once again to a new value, can do (which overwrites the
                old variable content).

                ================
                in clip help see: ^!Append

                Once have 1. used ^!Append then can 2. ^!Set . . .

                whenever want launched/ignited/processed (eval?) but there is no eval
                in clip language (so, append then set as a substitute for eval)

                Certainly this is not for always. But it is only when you do not want
                it immediately Set so to speak (use ^!Append only when need to build
                up to it and then "^!Set" at a later point/place).

                Mostly always is to just use only the Set command (with exception of
                the mentioned ocasion.)
                ================

                I didn't try to run your clip. I'm on Linux at the moment and looked
                at your clip.

                [ snip -- see previous post for to see the clip ]

                Alan.
              • hsavage
                ... first ... Bauke, Would you mind sending your latest clip version and several sample lines from a file you re trying to manipulate. It should be a big
                Message 7 of 19 , Sep 11, 2005
                • 0 Attachment
                  Ian D. Davies wrote:
                  > I notice that you are not running through loop2. You only process the
                  first
                  > item in loop2 then fall through to ":bestaat".
                  >
                  > ----- Original Message -----
                  >
                  >> Hello,
                  >>
                  >> I'm trying to write a clip to append a row from one file to another
                  >> file. The "to"-file's name is based on the first field of the row in the
                  >> "from"-file. The "from"-file has about 250 rows and for every row there
                  >> should be a "to"-file. Must be checked.
                  >>
                  >> The problem is that I don't get any filenames from the filename-array in
                  >> the second loop (loop2). I've tried it with another counter (%n%) but
                  >> that doesn't work either.

                  Bauke,

                  Would you mind sending your latest clip version and several sample lines
                  from a file you're trying to manipulate. It should be a big help.

                  ºvº
                  05.09.11
                  hrs > hsavage@...
                • acummingsus
                  ... Oh, yes, you are (likely may be) (you are) short circuiting your clip at that point. ... ^!Inc %rnr% ^!IfFileExist ^%Filenamen^%rnr%% bestaat ELSE
                  Message 8 of 19 , Sep 11, 2005
                  • 0 Attachment
                    --- In ntb-clips@yahoogroups.com, "acummingsus" <acumming@c...> wrote:
                    > --- In ntb-clips@yahoogroups.com, "Ian D. Davies" <iddavies@s...> wrote:
                    > > I notice that you are not running through loop2. You only process
                    > the first
                    > > item in loop2 then fall through to ":bestaat". You need a goto at
                    > the bottom
                    > > of the loop sending you backup to loop2.

                    Oh, yes, you are (likely may be) (you are) short circuiting your clip
                    at that point.

                    :loop2
                    ^!Inc %rnr%
                    ^!IfFileExist ^%Filenamen^%rnr%% bestaat ELSE bestaatniet


                    :bestaat
                    ^!Info bestaat !!!!!!!!!!!!!!!
                    ^!Goto end

                    :bestaatniet
                    ^!Info bestaat niet !!!!!!!!!!!!!!!
                    ^!Goto end
                    ==============================

                    it will ONLY do one record. It is so because whenever use ELSE

                    makes it an either/or thing

                    either it goes to point A

                    or else it goes to point B.

                    In this case (point A and B I mean to be the two of your labels ie
                    colon_____) Each label ends/kills the clip as in ^!Goto end

                    Thus:

                    :bestaat
                    ^!Info bestaat !!!!!!!!!!!!!!!
                    ^!Goto end

                    :bestaatniet
                    ^!Info bestaat niet !!!!!!!!!!!!!!!
                    ^!Goto end
                    ===================================

                    That's fine if that's what you want (want to end whenever passes
                    through either of those labels **just once**.
                    --

                    But to recap:

                    ^!IfFileExist ^%Filenamen^%rnr%% bestaat ELSE bestaatniet

                    that line sends it to either of those two labels AND both (since both,
                    then either) of those two labels then *ends/kills* the clip.

                    But you seek for it to NOT end after only one record. So, in order to
                    do so, the logic of your clip must be changed.

                    Alan.
                  • abairheart
                    ... Does your source file have paths for these filenames? If not, NoteTab will not likely find them. Abair
                    Message 9 of 19 , Sep 12, 2005
                    • 0 Attachment
                      --- In ntb-clips@yahoogroups.com, "Bauke P. de Vries" <bpdevries@h...>
                      wrote:
                      > Hello,
                      >
                      > I'm trying to write a clip to append a row from one file to another
                      > file. The "to"-file's name is based on the first field of the row in the
                      > "from"-file. The "from"-file has about 250 rows and for every row there
                      > should be a "to"-file. Must be checked.
                      >
                      > The problem is that I don't get any filenames from the filename-array in
                      > the second loop (loop2). I've tried it with another counter (%n%) but
                      > that doesn't work either.

                      Does your source file have paths for these filenames? If not,
                      NoteTab will not likely find them.

                      Abair
                    • Bauke P. de Vries
                      Thank you all for your information! I learn a lot this way. My clip now is functioning. I m trying to write a clip to append a row from one file to another
                      Message 10 of 19 , Sep 13, 2005
                      • 0 Attachment
                        Thank you all for your information!

                        I learn a lot this way. My clip now is functioning.

                        I'm trying to write a clip to append a row from one file to another
                        file. The "to"-file's name is based on the first field of the row in the
                        "from"-file. The "from"-file has about 250 rows and for every row there
                        should be a "to"-file. Must be checked.

                        Just one little problem left:
                        I want the "to"-file checked for duplicate rows (after coping the new
                        row). Here a duplicate row is a row where the first two fields (name,
                        date) are the same.
                        Only the last one of the dupl. rows should be kept.

                        Thanks in advance for helping and excuse my use of English (beiing Dutch)

                        Met vriendelijke groet,

                        *Bauke P. de Vries
                        *
                      • Alan C.
                        ... Great! ... How are you copying new row? I asked because, if you can, it might be easy to ready the new row but to then use a variable inside the find
                        Message 11 of 19 , Sep 14, 2005
                        • 0 Attachment
                          On Tue, 13 Sep 2005 14:41:15 +0200, Bauke P. de Vries wrote:
                          > Thank you all for your information!
                          >
                          > I learn a lot this way. My clip now is functioning.

                          Great!

                          > I'm trying to write a clip to append a row from one file to another
                          > file. The "to"-file's name is based on the first field of the row in the
                          > "from"-file. The "from"-file has about 250 rows and for every row there
                          > should be a "to"-file. Must be checked.
                          >
                          > Just one little problem left:
                          > I want the "to"-file checked for duplicate rows (after coping the new
                          > row).

                          How are you "copying" new row? I asked because, if you can, it might be easy to "ready" the new row but to then use a variable inside the find command to search for dupes (in doc if it is a doc) and to then "copy" or not "copy" new row as desired.

                          There is great multiplicity of differing ways in which to do what you want. But the easiest to get to where you want is dependent upon what you already have right now.

                          So if you shared/share some sample lines of the "to" and "from" files (include a few unwanted duplicate lines) along with the clip that you are using at this point, it would help us better contrive some possibilities that would work for you.

                          > Here a duplicate row is a row where the first two fields (name,
                          > date) are the same.
                          > Only the last one of the dupl. rows should be kept.

                          Alan.
                        Your message has been successfully submitted and would be delivered to recipients shortly.