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

WinFax 9.02 DDE

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

    WinFax 9.02 DDE

    Since Alpha added this nice little section, and since people keep asking for this, I've decided to be the first to post part of a script here. This sends a report to WinFax using DDE. There are a couple lines refencing a v5 command [ last_printer = report.printer_override("WinFax") ] so don't use it yet. It's just a little enhancement you can add in a few months.

    Jim

    'Found the original, added a few comments, and show which
    'section refers to v5 enhancements that you should only add
    'later.

    It's a bit lng, but here it is.
    '
    IDLE_MODE: ' INITIALIZE GENERIC WINFAX STUFF
    DDE_TERMINATE_ALL() ' CLOSE ALL EXISTING DDE CONNECTIONS
    ON ERROR GOTO DDE_ERROR ' SET ERROR TRAP
    ' WHILE WINFAX SAYS TO USE THE FOLLOWING 4 LINES WE'VE HAD EFFICIENCY PROBLEMS WITH THEM AND DROPPED ALL "CHANNEL1"
    CHANNEL1 = DDE_INITIATE("FAXMNG32", "CONTROL") ' SPECIFY WHICH PROGRAM
    ON ERROR GOTO 0
    DDE_EXECUTE(CHANNEL1, "GoIdle") ' TELL WINFAX NOT TO DO ANYTHING
    DDE_TERMINATE(CHANNEL1) ' CLEAR THE CHANNEL
    '
    '****************************** FOLLOWING SECTION IS ONLY FOR FUTURE REFERENCE FOR ENHANCING IN v5 ****************
    ' CAN DO A UI_RADIO HERE TO DETERMINE HOW IT GOES OUT (FAX, PRINT, PREVIEW, EMAIL, ETC) SEEN BELOW IN REMmed LINES REFERENCING
    ' PrintOrFax. PUT HERE FOR v5 USE.
    ' I DIDN'T CHECK THE UI_ LINES FOR SYNTAX - JUST RUFFED IT IN FOR THIS TEXT COPY
    ' PrintOrFax = UI_RADIO_GET("FAX OPTIONS", 1, "FAX", "PRINT", "PREVIEW", "E-MAIL", 48)
    ' Uses a v5 command which lets you change to output to report's printer. Added here for your future use in a more powerful output controller.
    ' Actually would use it in a SELECT and use report.print, report.preview, etc. Just added it here as a tease.
    'SELECT
    ' CASE RIGHT (PrintOrFax, 3) = "FAX"; last_printer = report.printer_override("WinFax")
    ' CASE RIGHT (PrintOrFax, 3) = "EMAIL";
    ' CASE RIGHT (PrintOrFax, 5) = "PRINT"; last_printer = report.printer_override("HP 970")
    ' CASE RIGHT (PrintOrFax, 3) = "PREVIEW"; last_printer = report.printer_override("HP 970")
    'END SELECT
    ' YOU COULD COMBINE THESE OPTIONS IN TO THE ABOVE FOR v5
    '****************************** END OF SECTION FOR FUTURE REFERENCE FOR ENHANCING IN v5 ****************
    PrintOrFax = UI_RADIO_GET("FAX OPTIONS", 1, "FAX NOW WITHOUT COVER", "FAX NOW WITH COVER", "FAX NOW WITHOUT COVER",
    "FAX LATER WITH COVER", 48)
    '
    SEND_FAX:
    FaxNbr = trim(YOUR_TABLE->FAX)
    ' WE DIDN'T SAVE THE FORMATTING CHARS IN OUR v1 DATA (ANOTHER THING TO FIX ON MOVING DATA).
    ' IF YOU ARE SMARTER THAN US AND DID YOU'LL HAVE TO MODIFY LEFT(FaxNbr, 3) and RIGHT(FaxNbr,7)
    IF LEFT(FaxNbr, 3) = "703" THEN ' OUR AREA CODE IS 703. IF FAXING TO SAME, DROP THE AREA CODE
    FaxNbr = RIGHT(FaxNbr, 7)
    ELSE
    FaxNbr = "1" + FaxNbr ' OTHERWISE ADD A "1" FOR LONG DISTANCE ACCESS
    END IF
    '
    FaxNm = LEFT(TRIM(YOUR_TABLE->FULL_NAME), 30) ' RECEIVER'S NAME (most will be using trim(FirstName) + " " + trim(LastName)
    '
    BillingCode = TRIM(ANOTHER_TABLE->LOAN_NBR) ' CAN SET THIS AND NEXT IN A SELECT OR WHATEVER.
    KeyWord = "LATE_NOTICE"
    FaxRes = "LOW" ' WILL DISPLAY AS "STANDARD" IN WinFax. OTHER OPTION IS "HIGH"
    '
    if left(PrintOrFax, 7) = "FAX NOW" then
    SendTime = TIME() ' IF YOU'RE SEND A LOT OF FAXES (AS IN A LOOP), ADD 5 OR 10 MINUTES SO YOU DON'T SLOW DOWN THE LOOP
    else
    SendTime = "19:30:00"
    end if
    '
    SendDate = DTOC(DATE()); SendDate = left(SendDate, 6) + right(SendDate, 2) ' EXPECTED FORMAT IS MM/DD/YY
    '
    CHANNEL2 = DDE_INITIATE("FAXMNG", "TRANSMIT") ' SEND RECIPIENT INFO AND PRINT TO FAX
    '
    ' (WinFax's format is "sendfax", "recipient("FaxNbr","SendTime","SendDate ","FaxNm","FaxToCompanyName","FaxSubject","KeyWord","BillingCode")") and MUST
    ' have the transferred fields surruonded by double quotes. Forgetting or messing them up is where most syntax erros occur.
    '
    DDE_POKE (CHANNEL2, "sendfax", "recipient("" + FaxNbr + "","" + SendTime + "","" + SendDate + "","" +FaxNm + "",,,"" + KEYWORD + "","" + BillingCode + "")")
    '
    SELECT ' SET ATTACHMENT BASED ON SOME SIMPLE LOGIC
    CASE YOUR_TABLE->FIELD_NAME = REPORT_NAME_TRIGGER_VALUE_1; Report_To_Fax = "A5 Reprot Name You Want To Fax"
    CASE YOUR_TABLE->FIELD_NAME = REPORT_NAME_TRIGGER_VALUE_N; Report_To_Fax = "A5 Report Name You Want To Fax"
    CASE ELSE; ' YOU SHOULDN'T GET HERE
    END SELECT
    '
    SELECT ' ALL SORTS OF ATTACHMENT TYPES. SEE WinFax HELP UNDER DDE
    CASE YOUR_TABLE->FIELD_NAME = WHATEVER_TRIGGER_VALUE_1; AttachDoc = "C:Attachment_Doc_PathDesired_Doc.txt"
    CASE YOUR_TABLE->FIELD_NAME = WHATEVER_TRIGGER_VALUE_N; AttachDoc = "C:Attachment_Doc_PathDesired_Doc.txt"
    CASE ELSE; AttachDoc = ""
    END SELECT
    '
    if AttachDoc > "" then
    DDE_POKE (CHANNEL2, "sendfax", "attach("" + AttachDoc + "")")
    end if
    '
    DDE_POKE (CHANNEL2, "sendfax", "resolution("" + FaxRes + "")")
    '
    'if right(PrintOrFax, 10) = "WITH COVER" then ' kept getting errors on this one, various rejected lines shown here
    ' CoverPg = "C:Program FilesSymanticWinFaxCoverSREPLY.CVP"
    ' DDE_POKE (CHANNEL2, "sendfax", "setcoverpage("" + CoverPg + "")")
    ' DDE_POKE (CHANNEL2, "sendfax", "setcoverpage("" + "C:Program FilesSymanticWinFaxCoverSREPLY.CVP" + "")")
    ' DDE_POKE (CHANNEL2, "sendfax", "setcoverpage(" + "Quick Cover Page" + ")")
    'end if

    ' next DDE not as useful as DDE in next IF. All info is lost except for the FAX image
    ' DDE_POKE (CHANNEL2, "sendfax", "SendfaxUI")
    '
    ' next check decides if to bring up the WinFax screen that lets you add and fill a cover page, set send time, select from phonebook, etc.
    IF RIGHT (PrintOrFax, 10) = "WITH COVER" then
    DDE_POKE (CHANNEL2, "sendfax", "ShowSendScreen("" + "1" + "")")
    end if
    '
    RecToPrt = TableName->Unique_Key_Field
    REPORT.PRINT(Report_To_Fax, "BETWEEN(TableName->Unique_Key_Field, RecToPrt, RecToPrt)")
    '
    CleanUp: ' RESET FAX STUFF
    dde_terminate(CHANNEL2) ' CLEAR THE CHANNEL
    '
    ACTIVE_MODE:
    CHANNEL4 = DDE_INITIATE("FAXMNG32", "CONTROL") ' SPECIFY WHICH PROGRAM
    DDE_EXECUTE(CHANNEL4, "GoActive") ' TELL WINFAX IT'S OK TO GO BACK TO NORMAL
    DDE_TERMINATE(CHANNEL4) ' CLEAR THE CHANNEL
    '
    goto Fin
    '
    '*****
    '
    DDE_ERROR: ' IF WINFAX IS LOADED THIS ISN'T NEEDED
    SYS_SHELL("C:Program FilesSymanticWinFaxFAXMNG32.EXE") ' LOADS WINFAX IF IT'S NEEDED BUT NOT LOADED
    ON ERROR GOTO 0
    RESUME 0
    '
    '*****
    Fin:
    end

    #2
    RE: WinFax 9.02 DDE

    Will not run as shown here. For some reason all of the backslashes don't show up in the script, which was copied and pasted here.

    Comment


      #3
      RE: WinFax 9.02 DDE

      It is best to zip your file or files and attach to the message. In the body of the message and subject, you should provide keywords to help in searching.

      Comment


        #4
        RE: WinFax 9.02 DDE

        Attached is a WinZip of the DDE script

        Comment

        Working...
        X