home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / kcss0012.zip / SAMPLES / API / LIBRARY / KCMYLIB.CPP next >
C/C++ Source or Header  |  1998-02-07  |  2KB  |  62 lines

  1. /*  Copyright (c) 1998 IBK-Landquart-Switzerland. All rights reserved.
  2.  *
  3.  *  Module      :  KcMyLib.CPP
  4.  *  Application :  CSS Sample Library
  5.  *  Author      :  Peter Koch, IBK
  6.  *
  7.  *  Date        Description                                 Who
  8.  *  --------------------------------------------------------------------------
  9.  *  Jan 1998    First release                               P.Koch, IBK
  10.  */
  11.  
  12. #include <strstrea.h>
  13. #include <KCss.hpp>
  14.  
  15. static IString myStrReverse(KCss* css)
  16. {
  17.    return IString(css->get("string").reverse());
  18. }
  19.  
  20. static IString mySubString(KCss* css)
  21. {
  22.    int argc = css->get("argCount").asInt();
  23.    switch (argc) {
  24.       case 2:
  25.          return css->get("string").subString(
  26.                    css->get("start").asInt()
  27.                 );
  28.       case 3:
  29.          return css->get("string").subString(
  30.                    css->get("start").asInt(),
  31.                    css->get("count").asInt()
  32.                 );
  33.       default:
  34.          return css->get("string").subString(
  35.                    css->get("start").asInt(),
  36.                    css->get("count").asInt(),
  37.                    css->get("padchar")[1]
  38.                 );
  39.    } // switch
  40. } // mySubString
  41.  
  42. void initialize(KCss* css)
  43. {
  44.    IString iFile("KcMyLib.dll");
  45.    istrstream init("const myVersion = 0.1;\n");
  46.    css->loadScript(iFile, &init);
  47.    (*css)
  48.       .addFunc(
  49.           iFile,
  50.          "myStrReverse(const string)",
  51.           myStrReverse)
  52.       .addFunc(
  53.           iFile,
  54.          "mySubString(const string, const start, [const count, const padchar])",
  55.           mySubString);
  56. } // initialize
  57.  
  58. void cleanup(KCss* css)
  59. {
  60. } // cleanup
  61.  
  62.