Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

Help with arrays

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Help with arrays

    Hi all,

    Have managed to get by without using arrays so far but now I have found a need. I have created a list populated from a set as follows

    Code:
    dim arr[0] as c
    dim dislist as c
    
    dislist=set.external_record_content_get("wop_print.set","alltrim(rel_son_id) +' '+ alltrim(s_order->myob_son) +' '+ alltrim(s_items->item_no) +' '+ s_release->rel_qty +' '+ alltrim(s_release->release_no)","rel_son_id","",1)
    
    
    It generates a list as follows.
    
    ? dislist
    = 00000001 00000616 DC-1090-340-CW 17 9002380
    00000002 00000616 DC-1090-340-CW 28 580913
    00000003 00000616 DC-1090-340-CW 32 580913
    00000004 00000616 DC-1090-340-CW 4 582022
    00000005 00000616 DC-1090-340-CW 13 583119
    00000006 00000843 DI-948-001 25 LPO4444
    00000007 00000844 DI-868-138 10 LPO4824
    I would the like to create an array for line + column entry of the list and then format to look like the following

    {data=00000001} 00000001 |00000616 |DC-1090-340-CW |17 |9002380

    I tried to use the .initialize() and .inialize_properties() to create the array but to no avail. I'm not sure if they are the wrong functions to use or I'm not using them correctly.

    Code:
    arr.initialize(dislist)
    or

    Code:
    arr.initialize_properties("rel_son_id + myob_son + item_no + rel_qty + release_no", dislist)
    Looking at the help the .initialize_properties should be the right function to use but I think it is the delimiter + that is wrong but I'm not sure what I need to use.

    The problem is that the array being created isn't creating an entry (element) for each of the field(column) entries but instead putting the whole line as one element.

    You can view the array using the following

    Code:
    ? ui_get_list_array("arr contents", 1, "arr")
    and then using the following to format

    Code:
    format_list = *for_each(x,"{Data=" + x.rel_son_id + "}" + x.rel_son_id + "|" + x.myob_son + "|"+ x.item_no + "|" + x.rel_qty + "|" + x.release_no, dislist)
    to view

    Code:
    ui_msg_box("",format_list)
    You end up with {data=00000001 00000001 00000616 DC-1090-340-CW 17 9002380} | for each column entry.

    Not sure how well I have explained this but would appreciate some help in getting this to work and understanding where I have gone wrong.

    Geoff

    #2
    Re: Help with arrays

    Are you wanting to populate a listview with this array? I would just create a list with your statement. Add the Id and put the "|" where you have spaces

    dim dislist as c

    dislist=set.external_record_content_get("wop_print.set","'{Data=' + rel_son_id +'}' + alltrim(rel_son_id) +'|'+ alltrim(s_order->myob_son) +'|'+ alltrim(s_items->item_no) +'|'+ s_release->rel_qty +'|'+ alltrim(s_release->release_no)","rel_son_id","",1)
    -----------------------------------------------
    Regards
    Mark Pearson
    [email protected]
    Youtube channel
    Website

    Comment


      #3
      Re: Help with arrays

      Thanks Mark. That does format it for display in a listview which is one of the goals but I also want it to be sortable. I have been using the xdialog example from what's new in V10 'simple listview control with sorting - using ^" command'. From my understanding it uses the array elements to sort the columns. I did try doing what you supplied but struggled with the syntax I really would like to understand how to build the array correctly.
      Last edited by gmeredith17; 09-14-2011, 05:38 AM.

      Comment


        #4
        Re: Help with arrays

        Why don't you use the listview genie?
        -----------------------------------------------
        Regards
        Mark Pearson
        [email protected]
        Youtube channel
        Website

        Comment


          #5
          Re: Help with arrays

          Couldn't get it to do exactly what I wanted and a lot of code was generated that I don't think is neccessary and made it difficult to understand how it was working. I decided to look at the examples and build up from there to get a better understanding of xbasic and xdialog. I think I have found the problem which is down to the original list entries. I thought (don't know why) that a delimiter would be included by default but after searching the forum I gather this is not the case. So hopefully all I need to do is include a delimiter in between each field entry and then use with the initialize_properties() function. I'll give it a go and post back the results.

          Comment


            #6
            Re: Help with arrays

            It Worked.

            Used |||| as the delimiter. Used this a Selwyn had provided it as an example in one of the forum posts. I assume you could use other non alphanumeric characters but haven't tried to see what is acceptable. The new list generation code is

            Code:
            dislist=set.external_record_content_get("wop_print.set","alltrim(rel_son_id) +'||||'+ alltrim(s_order->myob_son) +'||||'+ alltrim(s_items->item_no) +'||||'+ s_release->rel_qty +'||||'+ alltrim(s_release->release_no)","rel_son_id","",1)
            and to create the array

            Code:
            arr.initialize_properties("rel_son_id||||myob_son||||item_no||||rel_qty||||release_no", dislist)

            Comment


              #7
              Re: Help with arrays

              Geoff:
              Just came across your thread. Not sure why you have to use 4 "|" ?

              Comment


                #8
                Re: Help with arrays

                Hi G,

                You don't. I just copied the method from a post from selwyn.

                Comment


                  #9
                  Re: Help with arrays

                  I don't know why Selwyn wrote it this way, but one "|" should be enough.

                  Comment


                    #10
                    Re: Help with arrays

                    In relation to listviews. I had that same problem when I first looked at them and started to use the ones in the What's new as they seemed easier to understand. That said I found I had issues between different users with refreshes etc. I ended up realising that once I inderstood the one the genie builds, I found it far superior to the simplified listview. Simplte to create and it had less issues with with refresshing on changes etc. If you can learn to follow its logic, I feel you will use it far more. The extra code in some cases is magic. After a short while the code is easy to follow so I would recommend trying to look at this.
                    -----------------------------------------------
                    Regards
                    Mark Pearson
                    [email protected]
                    Youtube channel
                    Website

                    Comment

                    Working...
                    X