LookDownStr()

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Funktion die den Index eines gesuchten Strings aus einer Stringtabelle zurückgibt.
    LookDownStr() ist das Pendant zu LookUpStr() aus dem BASCOM-Befehlsvorrat, bzw. die Komplemntärfunktion dessen.

    Wurde eine Übereinstimmung des Suchstring mit einem Element aus der angegebenen Datentabelle gefunden, ist das allgemeine Error-Flag Err gelöscht und der Rückgabewert ist gleich dem Positions-Index des Elements.

    Wurde keine Übereinstrimmung gefunden, ist das Error-Flag gesetzt und der zurückgegebene Index ungültig.


    Implementierung

    BASCOM Source Code

    1. $lib "Lookdownstr.lib"
    2. declare function Lookdownstr(byrev Search As String ,Byreg R16 As Word) As Word : $external Lookdownstr
    ParameterTypBeschreibung
    Searchstring*nDer zu suchende Ausdruck
    R16wordProgrammmarke/Label (<=64k)
    returnword0-basierender Index des gefundenen Strings in der Datentabelle.







    Beispiel


    BASCOM Source Code

    1. $regfile = "m2560def.dat"
    2. $crystal = 16000000
    3. $hwstack = 40
    4. $swstack = 48
    5. $framesize = 32
    6. $lib "Lookdownstr.lib"
    7. declare function Lookdownstr(byrev Search As String ,Byreg R16 As Word) As Word : $external Lookdownstr
    8. dim searchstring As String * 20
    9. dim index As Word
    10. do
    11. restore StringTable
    12. input "Suchbegriff : " , Searchstring
    13. Index = Lookdownstr(searchstring , 137)
    14. If err = 0 Then
    15. print "Der gesuchte Ausdruck {034}" ; Searchstring ; "{034} hat den Index " ; Index
    16. Else
    17. print "{034}" ; Searchstring ; "{034} Nicht gefunden " ; index
    18. End If
    19. loop
    20. StringTable:
    21. Data "BASCOM," , "für" , "BASIC" , "compiler" , "stehend," , "ist" , "eine" , "von" , "Mark" , "Alberts" , "entwickelte" , "Familie" , "von" , "Cross-Compilern,"
    22. Data "die" , "BASIC" , "mitsamt" , "einigen" , "proprietären" , "Erweiterungen" , "in" , "ausführbare" , "Maschinensprache" , "für" , "mehrere"
    23. Data "Prozessorarchitekturen" , "für" , "eingebettete" , "Systeme" , "übersetzen" , "kann." , "Unterstützt" , "werden" , "Mikrocontroller" , "der"
    24. Data "AVR-Architektur" , "und" , "die" , "MCS-51-Familie." , "Die" , "Cross-Compiler" , "laufen" , "unter" , "Microsoft" , "Windows" , "und" , "bieten"
    25. Data "neben" , "der" , "reinen" , "Übersetzungsfunktion" , "auch" , "noch" , "eine" , "Entwicklungsumgebung" , "und" , "Emulatoren" , "der"
    26. Data "jeweiligen" , "Zielsysteme," , "die" , "das" , "Testen" , "unter" , "dem" , "Entwicklungssystem" , "erlauben." , "Ferner" , "stehen"
    27. Data "Schnittstellen" , "zur" , "Verfügung," , "die" , "es" , "ermöglichen," , "den" , "erzeugten" , "Code" , "in" , "die" , "Zielsysteme" , "zu" , "übertragen." , "Die"
    28. Data "Cross-Compiler" , "sind" , "nur" , "kommerziell" , "erhältlich." , "Eine" , "kostenfrei" , "erhältliche" , "Demoversion" , "ist" , "dahingehend"
    29. Data "eingeschränkt," , "dass" , "der" , "erzeugte" , "Code" , "nur" , "maximal" , "einen" , "Umfang" , "von" , "vier" , "Kilobyte" , "haben" , "darf." , "Ansonsten"
    30. Data "ist" , "die" , "Demo" , "voll" , "funktionsfähig," , "womit" , "die" , "Bascom-Demoversion" , "somit" , "für" , "einige" , "der" , "kleineren" , "Atmel-"
    31. Data "Microcontroller" , "(z.B." , "ATtiny)" , "ausreichend" , "ist," , "da" , "diese" , "sowieso" , "nur" , "einen" , "kleinen" , "Programmspeicher" , "haben."
    Display All




    Download

    LookDownStr.lib HINWEIS: Dateierweiterung .txt entfernen und in den BASCOM-AVR Lib-Ordner kopieren.

    326 times viewed