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
Beispiel
Alles anzeigen
Download
LookDownStr.lib HINWEIS: Dateierweiterung .txt entfernen und in den BASCOM-AVR Lib-Ordner kopieren.
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
Parameter | Typ | Beschreibung |
Search | string*n | Der zu suchende Ausdruck |
R16 | word | Programmmarke/Label (<=64k) |
return | word | 0-basierender Index des gefundenen Strings in der Datentabelle. |
Beispiel
BASCOM-Quellcode
- $regfile = "m2560def.dat"
- $crystal = 16000000
- $hwstack = 40
- $swstack = 48
- $framesize = 32
- $lib "Lookdownstr.lib"
- declare function Lookdownstr(byrev Search As String ,Byreg R16 As Word) As Word : $external Lookdownstr
- dim searchstring As String * 20
- dim index As Word
- do
- restore StringTable
- input "Suchbegriff : " , Searchstring
- Index = Lookdownstr(searchstring , 137)
- If err = 0 Then
- print "Der gesuchte Ausdruck {034}" ; Searchstring ; "{034} hat den Index " ; Index
- Else
- print "{034}" ; Searchstring ; "{034} Nicht gefunden " ; index
- End If
- loop
- StringTable:
- Data "BASCOM," , "für" , "BASIC" , "compiler" , "stehend," , "ist" , "eine" , "von" , "Mark" , "Alberts" , "entwickelte" , "Familie" , "von" , "Cross-Compilern,"
- Data "die" , "BASIC" , "mitsamt" , "einigen" , "proprietären" , "Erweiterungen" , "in" , "ausführbare" , "Maschinensprache" , "für" , "mehrere"
- Data "Prozessorarchitekturen" , "für" , "eingebettete" , "Systeme" , "übersetzen" , "kann." , "Unterstützt" , "werden" , "Mikrocontroller" , "der"
- Data "AVR-Architektur" , "und" , "die" , "MCS-51-Familie." , "Die" , "Cross-Compiler" , "laufen" , "unter" , "Microsoft" , "Windows" , "und" , "bieten"
- Data "neben" , "der" , "reinen" , "Übersetzungsfunktion" , "auch" , "noch" , "eine" , "Entwicklungsumgebung" , "und" , "Emulatoren" , "der"
- Data "jeweiligen" , "Zielsysteme," , "die" , "das" , "Testen" , "unter" , "dem" , "Entwicklungssystem" , "erlauben." , "Ferner" , "stehen"
- Data "Schnittstellen" , "zur" , "Verfügung," , "die" , "es" , "ermöglichen," , "den" , "erzeugten" , "Code" , "in" , "die" , "Zielsysteme" , "zu" , "übertragen." , "Die"
- Data "Cross-Compiler" , "sind" , "nur" , "kommerziell" , "erhältlich." , "Eine" , "kostenfrei" , "erhältliche" , "Demoversion" , "ist" , "dahingehend"
- Data "eingeschränkt," , "dass" , "der" , "erzeugte" , "Code" , "nur" , "maximal" , "einen" , "Umfang" , "von" , "vier" , "Kilobyte" , "haben" , "darf." , "Ansonsten"
- Data "ist" , "die" , "Demo" , "voll" , "funktionsfähig," , "womit" , "die" , "Bascom-Demoversion" , "somit" , "für" , "einige" , "der" , "kleineren" , "Atmel-"
- Data "Microcontroller" , "(z.B." , "ATtiny)" , "ausreichend" , "ist," , "da" , "diese" , "sowieso" , "nur" , "einen" , "kleinen" , "Programmspeicher" , "haben."
Download
LookDownStr.lib HINWEIS: Dateierweiterung .txt entfernen und in den BASCOM-AVR Lib-Ordner kopieren.
8.755 mal gelesen