home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1989 / 03 / tricks / tbutil.inc < prev    next >
Encoding:
Text File  |  1988-12-15  |  3.8 KB  |  131 lines

  1. '* ------------------------------------------------------- *
  2. '*                    TBUTIL.INC                           *
  3. '*          (c) 1989 Jörg Braun & TOOLBOX                  *
  4. '* ------------------------------------------------------- *
  5.  
  6. '* DEFINITION
  7.  
  8. REM FN LowCase$(urspr$)
  9. REM Umwandlung von Großbuchstaben (CHAR) in
  10. REM Kleinbuchstaben. Im Gegensatz zu LCASE$
  11. REM auch für nationale Sonderzeichen.
  12. REM Aufruf z.B.: A$ = INKEY$: A$ = FNLowCase$(A$)
  13.  
  14. REM DEF FN UpCase$(urspr$)
  15. REM Umwandlung von Kleinbuchstaben (CHAR) in
  16. REM Großbuchstaben. Im Gegensatz zu UCASE$ auch
  17. REM für nationale Sonderszeichen.
  18. REM Aufruf z.B.: A$ = INKEY$: A$ = FNUpCase$(A$)
  19.  
  20. REM DEF FN LowString$(InString$)
  21. REM Umwandlung von Strings in Großschreibung.
  22. REM Aufruf z.B.: PRINT FNUpString$("ein test: äöü.")
  23.  
  24. REM DEF FN LowString$(InString$)
  25. REM Umwandlung von Strings in Kleinschreibung.
  26. REM Aufruf z.B.: PRINT FN LowString$("EIN TEST: ÄÖÜ.")
  27.  
  28. REM SUB Copy(infile$,outfile$)
  29. REM Inhalt einer beliebigen Datei wird in eine neue Datei
  30. REM 16 kB-weise binär übertragen. Die neue Datei erhält
  31. REM das aktuelle Datum und nicht das Erstellungsdatum der
  32. REM Originaldatei. Andere Dateien (#1 - #4) können gleich-
  33. REM zeitig geöffnet bleiben.
  34. REM Zeigervariable muß LONG INTEGER sein.
  35.  
  36. '* IMPLEMENTATION
  37.  
  38. DEF FN LowCase$(urspr$)
  39.   IF LEN(urspr$) = 1 THEN
  40.     SELECT CASE ASC(urspr$)
  41.       CASE 65 TO 90
  42.         FN LowCase$ = LCASE$(urspr$)
  43.       CASE ELSE
  44.         SELECT CASE urspr$
  45.           CASE "Ä":  FN LowCase$ = "ä"
  46.           CASE "Ö":  FN LowCase$ = "ö"
  47.           CASE "Ü":  FN LowCase$ = "ü"
  48.           CASE "Å":  FN LowCase$ = "å"
  49.           CASE "É":  FN LowCase$ = "é"
  50.           CASE "Æ":  FN LowCase$ = "æ"
  51.           CASE "Ç":  FN LowCase$ = "ç"
  52.           CASE "Ñ":  FN LowCase$ = "ñ"
  53.                                      ' nach Bedarf erweitern
  54.           CASE ELSE: FN LowCase$ = urspr$
  55.         END SELECT
  56.     END SELECT
  57.   END IF
  58. END DEF
  59.  
  60.  
  61. DEF FN UpCase$(urspr$)
  62.   IF LEN (urspr$) = 1 THEN
  63.     SELECT CASE ASC(urspr$)
  64.       CASE 97 TO 122
  65.         FN UpCase$ = UCASE$(urspr$)
  66.       CASE ELSE
  67.         SELECT CASE urspr$
  68.           CASE "ä":            FN UpCase$ = "Ä"
  69.           CASE "ö":            FN UpCase$ = "Ö"
  70.           CASE "ü":            FN UpCase$ = "Ü"
  71.           CASE "å":            FN UpCase$ = "Å"
  72.           CASE "é":            FN UpCase$ = "É"
  73.           CASE "æ":            FN UpCase$ = "Æ"
  74.           CASE "ç":            FN UpCase$ = "Ç"
  75.           CASE "ñ":            FN UpCase$ = "Ñ"
  76.           CASE "ê","è":        FN Upcase$ = "E"
  77.           CASE "â","à","á":    FN Upcase$ = "A"
  78.           CASE "û","ù","ú":    FN Upcase$ = "U"
  79.           CASE "î","ì","í","ï":FN Upcase$ = "I"
  80.           CASE "ô","ò","ó":    FN Upcase$ = "O"
  81.           CASE "ß":            FN Upcase$ = "SS"
  82.                                      ' nach Bedarf erweitern
  83.           CASE ELSE:           FN UpCase$ = urspr$
  84.         END SELECT
  85.     END SELECT
  86.   END IF
  87. END DEF
  88.  
  89.  
  90. DEF FN UpString$(InString$)
  91. LOCAL i&, txt$
  92.  
  93.   txt$ = ""
  94.   FOR i& = 1 TO LEN(InString$)
  95.       txt$ = txt$ + FN UpCase$(MID$(Instring$, i&, 1))
  96.   NEXT i&
  97.   FN Upstring$ = txt$
  98. END DEF
  99.  
  100.  
  101. DEF FN LowString$(InString$)
  102. LOCAL i&, txt$
  103.  
  104.   txt$ = ""
  105.   FOR i& = 1 TO LEN(InString$)
  106.     txt$ = txt$ + FN LowCase$(MID$(InString$, i&, 1))
  107.   NEXT i&
  108.   FN LowString$ = txt$
  109. END DEF
  110.  
  111. SUB Copy(infile$, outfile$)
  112. LOCAL i&, datstring$
  113.  
  114.   OPEN infile$  FOR BINARY AS #5
  115.   OPEN outfile$ FOR BINARY AS #6
  116.     i& = 0
  117.     WHILE NOT EOF (5)
  118.       datstring$ = ""
  119.       SEEK 5, i&
  120.       GET$ #5, 16384, datstring$
  121.       SEEK 6, i&
  122.       PUT$ #6, datstring$
  123.       INCR i&, 16384
  124.     WEND
  125.   CLOSE #5
  126.   CLOSE #6
  127. END SUB
  128.  
  129. '* ------------------------------------------------------- *
  130. '*                 Ende von TBUTIL.INC                     *
  131.