Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> Hallo Till, > > > ... > > (nicht zuletzt wegen eines böse verwurmten Rechners) ... > > Das passiert schnell, wenn man M$-Produkte für's Web benutzt. > Darum verwende ich keine M$-Produkte wenn es um die Web-Kommunikation geht. > (Browser & Mail, Proxy etc.) > > > Die bekannte compstr()- Funktion stellt leider nur fest, ob zwei Strings identisch sind, nicht aber > > ob größer oder kleiner. > > Stimmt, das kann sie nicht. Jedoch kann man die Funktion sehr leicht modifizieren: > <code>//--Strings vergleichen----------------------------------- > function comp2 ( byte s1[], byte s2[]) returns int > //-------------------------------------------------------- > // Rückabe: -1 s2 ist "keiner", 1= s2 ist "größer", 0=s2 ist gleich s1 > {byte i; > for i=0 ... 29 if s1[i]!=s2[i] break; > if i==30 > return 0; > else > { > if s1[i]<s2[i] return 1; else return -1; > } > }</code> > > Natürlich ist das nur ein Bytevergleich. Denn es werden nur die Bytewerte > der einzelnen Zeichen verglichen. > Wenn unabhängig von Groß-Kleinschreibung verglichen werden soll, muß > man die Zeichen erst in ein definiertes Format wandeln. > Also z.B. nur Kleinschreibung. > Hier kann man die Funktion mit strx.LCase() kombinieren oder > man richtet ein Konstantenarray mit bis zu 256 Elemtenen ein. > Die Index-Nr. des Arrays entspricht dem ASCII-Code und der Inhalt > der Reihenfolge, also der Indexposition der einzelnen Zeichen: > <code> > const sort[]=0,...,0x30/*ASCII 0x30*/,...,0x39/*ASCII 0x39*/,..., > ...,0x41/*A*/,...,...,0x5A/*Z*/,... > ...,0x41/*a=0x91*/,...,...,0x5A/*z=0x7A*/,...,...;</code> > So kann man z.B. auch bestimmen, wie mit Umlauten umgegangen werden soll, oder > daß alles Sonderzeichen in der Reihenfolge zuerst kommen sollen. > > > > Man müßte also Zeichen für Zeichen in ASCII- Werte umwandeln und die dann vergleichen. > > In BASIC wäre das z.B. a = asc(x$(n,n)). > > Leider habe ich in C2 keine Funktion gefunden, die das kann. > > Als Grundregel gilt: > Funktionen, die es nicht gibt, kann man meist sehr einfach selbst schreiben. > Jedoch hättest Du nur die Funktion strx.getchar() ansehen müssen. > Diese gibt das Zeichen der angegebenen Position zurück. > > Wenn man die Funktion mit dem oben genannten Array kombiniert, > kommt folgendes heraus: > <code>function getCharSortPos(byte s[], byte pos) returns byte > { > return sort[s[pos]]; > }</code> > > MfG André H.
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB