Einfügen als Gemeinsames Modul
Funktionen:
getchar()
comp()
comsel()
InStr()
Ucase()
Lcase()
left()
right()
mid()
paste()
cut()
getNum()
ReplaceChar()
Beschreibung Nach oben
Das Modul strx.c2 beinhaltet mehrere nützliche Funktionen zum
Bearbeiten
von Stringvariablen.
Einfügen als Gemeinsames Modul Nach oben
Die Datei strx.c2 in das Verzeichnis .\CControl2\UserLib
der IDE
kopieren und ggf. in der Datei modules.txt die Zeile strx.c2 einfügen.
Funktionen:
getchar() Nach oben
function getchar(byte s[], int position) returns byte
Mit der Funktion getchar() wird ein einzelnes Zeichen von der
angegebenen Position des übergebenen Strings als Bytewert
zurückgegeben.
s[] | Stringvariable |
position | Zeichenposition 0 bis 29 |
Strings vergleichen: comp()
Nach oben
function comp(byte s1[], byte s2[]) returns int
Mit comp() werden zwei Strings miteinander verglichen, ob diese
identisch sind. Es wird True(-1) zurückgegeben, wenn die Strings identisch
sind,
andernfalls False(0).
s1[], s2[] | zu vergleichende Strings |
Teilstrings vergleichen:
compsel()
Nach oben
function compsel(byte s1[], byte s2[], byte s2len, byte s1pos) returns int
Mit compsel() werden zwei Teilstrings miteinander verglichen, ob diese
identisch sind. Es wird True(-1) zurückgegeben, wenn die Strings identisch
sind,
andernfalls False(0).
Mit s2len wird die Anzahl der zu vergleichenden Zeichen bestimmt, und mit
s1pos die Startposition von s1, ab der verglichen werden soll.
s1[] | Zu vergleichender QuellString |
s2[] | der zu suchende String |
s2len | Anzahl der Zeichen in String2 bzw. Anzahl zu vergleichender Zeichen (0-29) |
s1pos | Startposition in String1, ab der verglichen werden soll (0-29) |
Zeichenfolge suchen: InStr()
Nach oben
function InStr(byte start, byte s1[], byte s2[], byte s1len, byte s2len) returns int
Mit der Funktion InStr() kann nach der Position einer
Zeichenfolge in einem String
gesucht werden. Es wird dabei die Startposition des ersten Vorkommens der zu
suchenden Zeichenfolge
zurückgegeben. Ist s2 in s1 nicht vorhanden, so wird -1 zurückgegeben.
Diese Funktion funktionier wie die vergleichbare Funktion InStr() in Visual
Basic.
start | Startposition in s1, ab der gesucht werden soll (0-29) |
s1[] | Zu durchsuchender String |
s2[] | Zu suchende Zeichenfolge |
s1len | Anzahl zu durchsuchender Zeichen in s1 (0-29) |
s2len | Anzahl der Zeichen in s2 bzw. Anzahl zu
suchender Zeichen von s2 (0-29) |
String in Groß-oder Kleinbuchstaben umwandeln: Ucase() & Lcase() Nach oben
function Ucase(byte s[], byte start, byte len)
function Lcase(byte s[], byte start, byte len)
Mit diesen Funktion werden die Zeichen des übergebenen Strings
in Großbuchstaben (Ucase()) bzw. in Kleinbuchstaben(Lcase())
umgewandelt.
Es kann dabei die Startposition und die Anzahl der Zeichen übergeben werden,
wenn nur ein Teil der Zeichen des angegebenen Strings gewandelt werden soll.
Sollen generell alle Zeichen gewandelt werden, so kann für start der
Wert 0 und
für len der Wert 30 übergeben werden.
Es werden hierbei nur alle Buchstaben berücksichtigt (incl. Umlaute).
Sonderzeichen und Zahlen bleiben unverändert.
s[] | Zu wandelnder String |
start | Startposition, ab der gewandelt werden soll (0-29) |
len | Anzahl zu wandelnder Zeichen (1-30) |
Teilstring kopieren: left() Nach oben
function left(byte s1[], byte s2[], byte len)
Die Funktion left() gibt die Anzahl len Zeichen ab dem
ersten(linken) Zeichen
von s1 in s2 zurück.
Die Funktion ist mit derVB-Funktion Left() vergleichbar.
s1[] | Quellstring |
s2[] | Zielstring |
len | Anzahl der zurückzugebenden Zeichen (1-30) |
Teilstring kopieren: right() Nach oben
function right(byte s1[], byte s2[], byte len)
Die Funktion right() gibt die Anzahl len Zeichen von der
rechten Seite(dem Ende)
von s1 in s2 zurück.
Die Funktion ist mit derVB-Funktion Right() vergleichbar.
s1[] | Quellstring |
s2[] | Zielstring |
len | Anzahl der zurückzugebenden Zeichen (1-30) |
Beispiel:
a="Das
ist ein Test";
strx.right(a,b,4);
//Hier wird in b "Test" zurückgegeben
Teilstring kopieren: mid()
Nach oben
function mid(byte s1[], byte s2[], byte start, byte len)
Die Funktion mid() gibt die Anzahl len Zeichen ab der Position start von s1 in s2 zurück.
s1[] | Quellstring |
s2[] | Zielstring |
start | Startposition (0-29) |
len | Anzahl der zurückzugebenden Zeichen (1-30) |
Beispiel:
a="Das
ist ein Test";
strx.mid(a,b,8,3);
//Hier wird in b "ein" zurückgegeben
function paste(byte s1[], byte s2[], byte start, byte len)
Die Funktion paste() fügt len Zeichen von s1 in s2 ab Position start in s2 ein.
s1[] | Quellstring |
s2[] | Zielstring |
start | Startposition in s2 (0-29) |
len | Anzahl der einzufügenden Zeichen von s1(1-30) |
Beispiel:
a="e
C-Control II";
b="Das
ist ein Test";
strx.paste(a,b,11,14);//Hier wird
aus "Das ist ein Test" der String
// "Das ist eine C-Control II"
Zeichenfolge
ausschneiden: cut()
Nach oben
function cut(byte s1[], byte s2[], byte start, byte len)
Die Funktion cut() schneidet ab Position start aus s1
len Zeichen aus und
speichert diese in s2.
s1[] | Quellstring |
s2[] | Zielstring |
start | Startposition in s2 (0-29) |
len | Anzahl der einzufügenden Zeichen von s1 (1-30) |
Beispiel:
a="Das
ist ein guter Controller";
strx.cut(a,b,12,6);
//Hier wird aus "Das ist ein guter Controller"
//der String "Das ist ein Controller"
//In b wird "guter " zurückgegeben
String in Zahl
umwandeln: getNum()
Nach oben
function getNum(byte s[]) returns long
Mit Hilfe der Funktion getNum() können Zeichenfolgen, die eine
Zahl darstellen,
als solche umgewandelt werden. Der Zahlenbereich kann bis Long-Integer und
sowohl im positiven als auch im negativen Bereich sein.
Im übergebenen String dürfen sich nur Ziffern und das Zeichen
"-"(als erstes Zeichen) befinden.
Befindet sich ein anderes Zeichen im String, so wird 0x8000 für "keine
Zahl" zurückgegeben.
Das Ergebnis kann in Byte-, Integer-und Long-Variablen gespeichert werden.
s[] | String mit Zahlenwert |
Zeichen ersetzen: ReplaceChar() Nach oben
function ReplaceChar(byte start, byte s[], byte slen, byte FindChar, byte NewChar) returns int
Die Funktion ReplaceChar() ersetzt im String s ab
Position start len Zeichen
alle Zeichen mit dem ASCII-Code FindChar mit dem Zeichen NewChar.
start | Startposition in s (0-29) |
s[] | Zu bearbeitender String |
slen | Anzahl zu bearbeitender Zeichen ab start (1-30) |
FindChar | Zu ersetzendes Zeichen |
NewChar | Neues Zeichen |
Autor: André Helbig Mail: andre.h@cc2net.de
Erstellt: 6.10.2003 ©www.CC2Net.de