LookDownStr()

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

Hinweis kann nach Kenntnisnahme deaktiviert werden!

  • 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-Quellcode

    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-Quellcode

    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."
    Alles anzeigen




    Download

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

    8.737 mal gelesen