home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / basic / tools / qb2tb / qb2tb.bas < prev    next >
BASIC Source File  |  1987-04-22  |  3KB  |  45 lines

  1. '┌───────────────────────────────────────────────────────────────────────────┐
  2. '│   QB-TO-TB:   written by Richard Guion & Norm Scroggins,                  │
  3. '│                          Borland International Technical Support          │
  4. '│   A simple procedure that demonstrates the assembly language interface    │
  5. '│   with Turbo Basic.  It uses the assembly code in the file called         │
  6. '│   QB-TO-TB.ASM to find the last non-blank character in a string.          │
  7. '│   The main purpose of it is to demonstrate how to access the length       │
  8. '│   byte of the string from the stack and also return an integer from       │
  9. '│   the assembly program to the Basic program.                              │
  10. '│                                                                           │
  11. '│   The QB-TO-TB.ASM file might also be of interest to users who are        │
  12. '│   converting their MicroSoft QuickBasic assembly routines to Turbo        │
  13. '│   Basic.  We have included the original assembly code used by             │
  14. '│   QuickBasic so that these users can compare the differences and see      │
  15. '│   the alterations that have to be made.                                   │
  16. '│                                                                           │
  17. '│     Take the QB-TO-TB.ASM file and use the Macro Assembler prepare it     │
  18. '│   with these steps:                                                       │
  19. '│        1. MASM QB-TO-TB    'should be 0 errors                            │
  20. '│        2. LINK QB-TO-TB    'a stack warning appears, just ignore it       │
  21. '│        3. EXE2BIN QB-TO-TB 'afterwards, the .BIN file is on the disk      │
  22. '│                                                                           │
  23. '│     Then, run this sample program to get the correct result               │
  24. '└───────────────────────────────────────────────────────────────────────────┘
  25.  
  26.  
  27. SUB GetBlank  INLINE   '( Position%, AnyStr$ )
  28.                        ' Position% is uninitialized when called,
  29.                        '    but contains the position of the last non-blank
  30.                        '    character in AnyStr$.
  31.                        ' AnyStr$ can contain any string that you have
  32.                        '         assigned something to.
  33.  
  34.     $INLINE "QB-TO-TB.BIN"  'load the file prepared with the Macro Assembler
  35.  
  36. END SUB        'end GetBlank
  37.  
  38.  
  39.  
  40. CLS
  41. AnyStr$ = "01234567890123456789 "    'the last non-blank character is 20
  42.  
  43. CALL GetBlank ( Position%, AnyStr$ ) 'call the assembly routine
  44.  
  45. PRINT Position%        'print the position of the last non-blank character