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

Display an image based on the on the contents of a database field.

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

    Display an image based on the on the contents of a database field.

    I need to display on a form, an image based on what is in a field within the A5 database ..

    example .. if the field "A" has c:\image.jpg" in it .. then on this form for this record, I need to display the image "image.jpg" . I can see how you can display the image if it is already store as a bitimage withing the A5 record ..

    Can anyone help .. A5 indicates that it can be done .. now I need to know how to do it ...

    tanx.. for your help

    #2
    Re: Display an image based on the on the contents of a database field.

    The solution depends on what you mean by

    to display on a form

    Do you want to be viewing a form and open the desired image in the native application for displaying that image type? - Use a button with the code sys_open(alltrim(yourfieldname.value))

    Do you want the image to be "embedded" in the form? - Add an image file reference field to the database.
    Last edited by Stan Mathews; 11-14-2013, 03:29 PM. Reason: added .value, assumes fieldname is displayed on form
    There can be only one.

    Comment


      #3
      Re: Display an image based on the on the contents of a database field.

      We use a bitmap field on the form and in the on_fetch event, we point the bitmap field to the image file name from the table. the field is defaulted to a "no Image available" jpg when the form is developed.

      Comment


        #4
        Re: Display an image based on the on the contents of a database field.

        Tom, this sound exactly what I want to do .. is there a chance I can call you or contact you somehow to get the details of how you do this in A5 ..

        I am technical, but not an A5 guru ..

        If there is a cost to help . .not a problem at this time...

        Don

        Comment


          #5
          Re: Display an image based on the on the contents of a database field.

          parentform:bitmapobjectname.bitmap.filename = alltrim(parentform:Tables:tablename.fieldname)

          bitmapobjectname is the name of the bitmap object on the form
          tablename is the name of the table containing the field that holds the path and filename of the bitmap to be dsiplayed
          fieldname is that field
          There can be only one.

          Comment


            #6
            Re: Display an image based on the on the contents of a database field.

            Tom, I just did more investigation as to your solution .. and we are running A5V11 .. and there is no such property (on_fetch) available.

            What am I missing ...

            Comment


              #7
              Re: Display an image based on the on the contents of a database field.

              thanks Stan .. I will look at this as well ..

              I am really going to show my lack of understanding .. but where would this go in the design, and what forces the executionof this instruction tanx.. Don

              Comment


                #8
                Re: Display an image based on the on the contents of a database field.

                We use a bitmap field on the form and in the on_fetch event, we point the bitmap field to the image file name from the table.
                As Tom indicated, you use the onfetch event of the form. As the user moves through the records, the code processes the image name in the new record and changes the bitmap on the form to match.
                There can be only one.

                Comment


                  #9
                  Re: Display an image based on the on the contents of a database field.

                  Stan, thank you for trying to help me .. this is what I have found .. remember V11 ...

                  I am in the Code Editor on the form called TestForm and doing this in Xbasic.

                  When I start I type in "Te" and get the drop down options and see "Testform." which I select however it is "." not ":".

                  I change it to a ":" and now get the bitmapobjectname "mfglogo".

                  The string now shows .. "TestForm:mfglogo." and there is a drop down .. but there is not option "bitmap"

                  If I can give you some details, perhaps that can help ...

                  Form Name is "TestForm"
                  Bit Map Object Name is "MFGLOGO"
                  Field name is "hallwebpagemfg->MFGLOGO"
                  the field object name that contains the full path to the bitmap file is called "IMAGEPATH"
                  The Field name is "hallwebpagemfg->IMAGEPATH"

                  When I try to entry your suggestion it is not accepted

                  Comment


                    #10
                    Re: Display an image based on the on the contents of a database field.

                    Not sure why you're typing that when you can copy and paste and edit or drag-drop from the xbasic explorer.

                    parentform:bitmapobjectname.bitmap.filename = alltrim(parentform:Tables:tablename.fieldname)

                    becomes

                    parentform:MFGLOGO.bitmap.filename = alltrim(parentform:Tables:hallwebpagemfg.IMAGEPATH)


                    I'll put together a sample and attach it.
                    There can be only one.

                    Comment


                      #11
                      Re: Display an image based on the on the contents of a database field.

                      Since the path is stored in the table field you need the same directory structure as my sample. Unzip this to your C drive and it should create the proper structure. (c:\tempdb\dynamic bitmap and c:\tempdb\dynamic bitmap\pics)

                      dynamic.zip

                      If you put the field "imagepath" on the form, even if you hide it, you can then use

                      parentform:MFGLOGO.bitmap.filename = alltrim(parentform:imagepath.value)
                      Last edited by Stan Mathews; 11-15-2013, 02:55 PM.
                      There can be only one.

                      Comment


                        #12
                        Re: Display an image based on the on the contents of a database field.

                        Stan, I really want to thank you for the help you are providing me ..

                        I have your example working ... and it lead to a couple of questions.

                        1 - re the "pics" directory .. is this necessary due to how A5 works ... ?

                        2 - Below is the code I have created "OnFetch" .. there is one issue

                        ....................

                        'Date Created: 15-Nov-2013 12:10:24 PM
                        'Last Updated: 16-Nov-2013 09:34:39 AM
                        'Created By : SMathews
                        'Updated By : Don Beam
                        dim default_file_path
                        default_file_path ="d:\A5Test\pics\def.bmp"
                        '
                        if len(alltrim(parentform:Tables:test.N)) > 0 then
                        parentform:tool_select1.bitmap.filename = alltrim(parentform:Tables:test.N)
                        else
                        parentform:tool_select1.bitmap.filename = default_file_path
                        end if

                        ....................

                        This is working for the conditions where there is no record path defined ... however, if you modify the record path .. it does not update the image .. however if you record advance, or go back .. and then go to the record that was changed... the image is changed ...

                        I then added the same xbasic code into the "onchange" event for the field ... ..

                        this is a coding question, but can I create a sub that needs to be mantained in one location and is fired by the form onfetch or the field onchange?

                        Thanks again .. it works...

                        Comment


                          #13
                          Re: Display an image based on the on the contents of a database field.

                          The pics directory is just a convenience to keep the database directory from becoming cluttered with non database files. It could be any other directory on the drive.

                          With this little code a sub is not really a big deal but I see your point. On the code tab of the control panel create a new function. I think the function, called from the form, will be able to use the context of parentform.

                          function chg_image as L ()
                          chg_image= .F.
                          dim default_file_path
                          default_file_path ="d:\A5Test\pics\def.bmp"
                          '
                          if len(alltrim(parentform:Tables:test.N)) > 0 then
                          parentform:tool_select1.bitmap.filename = alltrim(parentform:Tables:test.N)
                          else
                          parentform:tool_select1.bitmap.filename = default_file_path
                          end if
                          chg_image = .T.
                          end function

                          Then the code for the onfetch and onchange events would be

                          if chg_image()
                          'worked ok
                          else
                          ui_msg_box("Alert","There was a problem executing the chg_image() function.")
                          end if
                          There can be only one.

                          Comment


                            #14
                            Re: Display an image based on the on the contents of a database field.

                            Again Stan, thanks for the info and your help ..

                            Have a great weekend...

                            Don

                            Comment


                              #15
                              Re: Display an image based on the on the contents of a database field.

                              Sorry I took so long to get back. I was out of the office on Friday.

                              I've attached a sample of a form with a bitmap field on it.

                              This is the code used to initialize the field which is in the "on_fetch" event of the form.
                              "badgeno" is the field in the table "g_employ" that corresponds to the .jpg filename in the folder "g:\photo"

                              if no file is found with that badge number, then I place a "default" image ( "g:\bcbss\photo"+chr(92)+"not_avail.jpg") into the bitmap.

                              Code:
                              'Date Created: 21-Jul-2010 02:57:30 PM
                              'Last Updated: 13-Mar-2012 08:36:00 AM
                              'Created By  : Thomas Henkel
                              'Updated By  : Thomas Henkel
                              DIM tc as P
                              DIM G_EMP as P
                              dim badgeno as N
                              tc = table.current()
                              
                              G_EMP = table.open("g:\bcbss\employee\g_employ.dbf",FILE_RO_SHARED)
                              g_emp.index_primary_put("Emp_ID")
                              found = G_EMP.fetch_find(tc.Emp_ID)
                              if found >0
                              	badgeno = G_EMP.badge_no
                              	dim Shared pict AS C
                              	pict = alltrim(str(badgeno,9,0))
                              	bmpfile = "g:\bcbss\photo"+chr(92)+trim(pict)+".jpg"
                              		
                              	if .not.file_exists(bmpfile) then
                              		bmpfile = "g:\bcbss\photo"+chr(92)+"not_avail.jpg"
                              	end if
                                else
                                	bmpfile = "g:\bcbss\photo"+chr(92)+"not_avail.jpg"
                              end if
                              g_emp.close()
                              topparent:Bitmap1.bitmap.filename = bmpfile
                              delete name1
                              delete pict
                              delete badgeno
                              
                              end
                              Hope this helps,

                              Tom
                              Attached Files

                              Comment

                              Working...
                              X