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

vertically align first character of the second word in a crlf() list

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

    vertically align first character of the second word in a crlf() list

    Other than changing the font to courier, can anyone figure out a way to vertically align the first letters of the text in the second part of this composite line?

    Code:
    dim L1 as C
    L1 = comma_to_crlf("ABcIiIQ,Defz,Ghi,kLMY,noPoi")
    
    dim L2 as C
    L2 = comma_to_crlf("The first,This one is second,Third it is,Four is where this is,Here at five")
    
    dim vL3 as C=""
    dim vFW as C
    dim vcycle as N=1
    
    for each foo in vL1
    	vFW = alltrim(foo.value)
    	vL3 = vL3 + vFW + space(10-len(vFW)) + word(L2,vcycle,crlf(),1) + crlf()
    	vcycle = vcycle + 1
    next
    
    dim vPick as C=""
    ui_dlg_box("",<<%dlg%
    {font=Arial,10}
    [.40,12vPick^#vL3];
    {justify=center}<10OK>
    %dlg%)
    Last edited by Mike Wilson; 05-20-2009, 01:57 PM.
    Mike W
    __________________________
    "I rebel in at least small things to express to the world that I have not completely surrendered"

    #2
    Re: vertically align first character of the second word in a crlf() list

    Mike-
    If you are able to find a solution for this, please post it. I recently encountered this exact same issue. I ended up using the courier font to get my columns to line up.

    -Andy
    Andrew

    Comment


      #3
      Re: vertically align first character of the second word in a crlf() list

      This is as close to a work around that I have found. I don't really like it.
      Code:
      dim L1 as C
      L1 = comma_to_crlf("ABcIiIQ,Defz,Ghi,kLMY,noPoi")
      
      dim L2 as C
      L2 = comma_to_crlf("The first,This one is second,Third it is,Four is where this is,Here at five")
      
      dim vL3 as C=""
      dim vFW as C
      dim vcycle as N=1
      
      ui_dlg_box("",<<%dlg%
      {font=Arial,10}
      [.08,12vP1^#L1][.40,12vPick^#L2];
      {justify=center}<10OK>
      %dlg%)
      Mike W
      __________________________
      "I rebel in at least small things to express to the world that I have not completely surrendered"

      Comment


        #4
        Re: vertically align first character of the second word in a crlf() list

        The problem lies in the fact that most 'nice' looking fonts are proportionally spaced. What you need is a font that is monospaced (of which Courier is one). There are several free monospaced fonts available on the net. I've attached one to this message.
        If It Works First Time, There's Something Wrong!!!

        Comment


          #5
          Re: vertically align first character of the second word in a crlf() list

          owner-draw may help....
          Al Buchholz
          Bookwood Systems, LTD
          Weekly QReportBuilder Webinars Thursday 1 pm CST

          Occam's Razor - KISS
          Normalize till it hurts - De-normalize till it works.
          Advice offered and questions asked in the spirit of learning how to fish is better than someone giving you a fish.
          When we triage a problem it is much easier to read sample systems than to read a mind.
          "Make it as simple as possible, but not simpler."
          Albert Einstein

          http://www.iadn.com/images/media/iadn_member.png

          Comment


            #6
            Re: vertically align first character of the second word in a crlf() list

            Yea, that's why I said other than switching fonts. I have been going through all these. I guess I'll just suck it up for the dialog I need this presented and go with Lucida Console or Bitstream Vera Sans mono.

            Later:
            Oh Gosh, Al... that just hurts my brain!
            Last edited by Mike Wilson; 05-20-2009, 04:22 PM.
            Mike W
            __________________________
            "I rebel in at least small things to express to the world that I have not completely surrendered"

            Comment


              #7
              Re: vertically align first character of the second word in a crlf() list

              Mike,

              In the xdialog genie when setting up a listbox you can tick a box for advanced formatting. I let this do the hard work for me. Then I copied the relevant bits into you code. (your first example) See the coloured bits. As you can see if all you need is the tab stop then you don't need all the othe 'format' lines the genie provides.

              I definitely hear what your saying with the head hurting concerning the ownerdraw syntax. When ever I want/need to use it I let the genie do the work and then play around with it from there.

              One of the main points in this is the addition of the pipe character into the data to establish the column break.
              Code:
              dim L1 as C
              L1 = comma_to_crlf("ABcIiIQ,Defz,Ghi,kLMY,noPoi")
              
              dim L2 as C
              L2 = comma_to_crlf("The first,This one is second,Third it is,Four is where this is,Here at five")
              
              dim vL3 as C=""
              dim vFW as C
              dim vcycle as N=1
              
              for each foo in L1
                  vFW = alltrim(foo.value)
                  vL3 = vL3 + vFW + space(10-len(vFW)) +[B][COLOR=Red]"|"+[/COLOR][/B] word(L2,vcycle,crlf(),1) + crlf()
                  vcycle = vcycle + 1
              next
              
              [COLOR=Red]Dim format as p 
              Format.tab_stops="1"[/COLOR]
              [COLOR=Blue]'    Format.odd_row_color="White"
              '    Format.even_row_color="White"
              '    Format.odd_selected_color="Dark Blue"
              '    Format.even_selected_color="Dark Blue"
              '    Format.font="Arial,8"
              '    Format.font_color_unselected="Black"
              '    Format.font_color_selected="White"
              '    Format.lastbutton="OK"
              '    Format.group_size=1
              '    Format.number_rows=.f.
              '    Format.alternating_bands=.f.[/COLOR]
              
              [COLOR=Red]vL3 = a5_owner_draw_list_fmt(vL3,Format)[/COLOR]
              
              dim vPick as C=""
              ui_dlg_box("",<<%dlg%
              {font=Arial,10}
              [COLOR=Red][%d;O={@@}%.50,5vPick^#vL3];[/COLOR]
              {justify=center}<10OK>
              %dlg%)
              Tim Kiebert
              Eagle Creek Citrus
              A complex system that does not work is invariably found to have evolved from a simpler system that worked just fine.

              Comment


                #8
                Re: vertically align first character of the second word in a crlf() list

                It's not as complicated as you think (owner-draw). Example:
                Code:
                dim L1 as C
                L1 = comma_to_crlf("ABcIiIQ The first,Defz This one is second,Ghi Third it is,kLMY Third it is,noPoi Here at five")
                L1=*for_each(tag,word(tag,1," ")+"{T=1}"+word(tag,2," ",99),L1)
                
                dim vp1 as c
                
                ui_dlg_box("",<<%dlg%
                {font=Arial,10}
                [%O={@@}%.40,10vP1^#L1];
                {justify=center}<10OK>
                %dlg%)

                Comment


                  #9
                  Re: vertically align first character of the second word in a crlf() list

                  Thanks Peter,
                  From your code I surmise that a5_owner_draw_list_fmt() takes Format.tab_stops="1" and turns the pipe character into {T+1}
                  Tim Kiebert
                  Eagle Creek Citrus
                  A complex system that does not work is invariably found to have evolved from a simpler system that worked just fine.

                  Comment


                    #10
                    Re: vertically align first character of the second word in a crlf() list

                    Tom,
                    a5_owner_draw_format() does a lot more, so if you want to have alternating color bars, fancy fonts, etc., then using the genie and using a5_owner_draw_format() makes it easy. But if all Mike wants to do is to indent the second word of each line, then he can just add whatever tab he wants and use the owner_draw directive of O={@@}.

                    Comment


                      #11
                      Re: vertically align first character of the second word in a crlf() list

                      Owner draw is definitely a "more professional" way to go but for anyone thinking about using Courier font in a situation like this - don't. Use Courier New instead. Plain Courier only as a couple sizes - 10 and 12 I think - while Courier New allows almost any size.

                      Comment


                        #12
                        Re: vertically align first character of the second word in a crlf() list

                        Peter, Tim,
                        Thanks very much. I have pushed myself to try and learn the owner draw methods. With these examples, which were absolutely critical to have a begining point to approach the help/learning files, I have been able to achieve what I needed, The learning curve of these xdialog directives is pretty darn steep. Exhausting, but I'm pushing through. Thanks for the help and the bump.
                        Mike W
                        __________________________
                        "I rebel in at least small things to express to the world that I have not completely surrendered"

                        Comment

                        Working...
                        X