home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 066.lha / ttasks.txt < prev    next >
Text File  |  1986-11-20  |  2KB  |  35 lines

  1.  
  2. /* `TTalk' - Talking Tasks
  3. * -programming example using messages and ports
  4. * (C)1987 Transactor Publishing Inc.
  5. * From Transactor Magazine, written by Chris Zamara, May 1987
  6. * ---->>This program may be freely distributed<<----
  7. *
  8. * This code shows you how to create and find message ports, and how
  9. * to send, receive, and reply to messages.
  10. *
  11. * This program, `TTalk', lets you create several named DOS windows, and send
  12. * messages between them. Just give each task its name when you run it
  13. * from the CLI, e.g. "run TTalk Fred". If you start another task,
  14. * like "run TTalk Edna", you can send Edna a message from Fred by typing
  15. * into Fred's window something like, "Edna, you look lovely today!"
  16. * Edna will receive the  message and print it in her window. Any number
  17. * of these tasks can be started, and any one can talk to any other.
  18. *
  19. * How it works: A message port is created and given the name that the user
  20. * supplies (the name in the window title). To send a message to another task,
  21. * its port is found with FindPort(), a message is sent to the port with
  22. * PutMsg(), and a reply is waited for with WaitPort(). Within the message is
  23. * a pointer to the text that the user wanted to send. The receiving task
  24. * uses GetMsg() in between waiting for the keypresses to receive the message.
  25. * All talking tasks also have access to a public port called "Joe's Cafe",
  26. * where they read a message saying how many talking tasks are running, and
  27. * update the message when they are started and ended. By talking at Joe"s
  28. * Cafe, the talking tasks can determine a good place to put their window so
  29. * that the user doesn't have to always move around overlapping windows. The
  30. * first task started creates the "Joe's Cafe" port and the first message
  31. * there, and the last task ended deletes them.
  32. *
  33. * compiled with Manx Aztec 3.40a, should work with Lattice as well.
  34. */
  35.