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, > > > > > > > > eigentlich sollte das nicht passieren. Das Gute bei der verwendeten Sprache ist, dass man bei > > > solchen Fehlern einfach selbst im entsprechenden Modul nachsehen kann. So befindet sich im > > > Modul strx.c2 in der Funktion Lcase folgende Zeile: > > > > > > if s[i]>=65 and s[i]<=90 s[i]=s[i]+32; > > > > > > D. h. es werden nur ASCII Codes angefasst, deren Wert zwischen 65 (A) und 90 (Z) liegt. Umlaute > > > werden separat behandelt. > > > Vielleicht hast Du ein älteres Modul, in dem diese Abfrage noch nicht enthalten ist. > > > Oder Du hast ein Neueres, in dem diese Abfrage (aus welchen Gründen auch immer) nicht mehr > > > vorhanden ist. > > > Dies ist jedenfalls die Richtung, in der Du den Fehler suchen musst. > > > Im Zweifelsfall kannst Du diese Abfrage auch ganz einfach selbst einbauen. > > > > > > Gruß > > > > > > Udo > > > > also bei mir sieht die Funktion so aus (strx.Lcase): > > <code> > > > > //--String in Kleinbuchstaben umwandeln------------------- > > inline function Lcase (byte s[], byte start, byte len) > > //-------------------------------------------------------- > > { > > inline vmcodes.VM_LOAD_IMMEDIATE_BYTE+Segment; > > inline vmcodes.VM_LOAD_IMMEDIATE_INT; > > inline _LCASE; > > inline vmcodes.VM_SYSCALL; > > } > > </code> > > > > natürlich hab ich mir die Funktion erstmal selbst gebaut, > > ich wollte nur André oder andere darauf hinweisen, dass hier > > irgendetwas nicht stimmt. > > > > Holger > > Hallo nochmal, > > ich habs inzwischen auch gesehen, dass dieser Part durch Assembler ersetzt worden ist. > Ich habe hier bei mir noch eine ältere Version installiert gehabt. > Ich gehe aber davon aus, dass es etwas dauern wird, bis André die Zeit findet den Code zu ändern. > Wenn es bei Dir nicht zu sehr auf Geschwindigkeit ankommt, kannst Du Dir erstmal behelfen, > indem Du vorläufig den Code aus dem Vorgängermodul einbaust. > Falls Du den nicht mehr zur Verfügung hast, die komplette Funktion sieht so aus: > > <code> > //--String in Kleinbuchstaben umwandeln------------------- > function Lcase (byte s[], byte start, byte len) > //-------------------------------------------------------- > {byte i; > for i= start ... len-1 > { > if s[i]>=65 and s[i]<=90 s[i]=s[i]+32; > else if s[i]==214 s[i]=246; > else if s[i]==220 s[i]=252; > else if s[i]==196 s[i]=228; > else if s[i]==201 s[i]=233; > } > } > </code> > > oder entsprechend: > > <code> > //--String in Großbuchstaben umwandeln-------------------- > function Ucase ( byte s[], byte start, byte len) > //-------------------------------------------------------- > {byte i; > for i= start ... len-1 > { > if s[i]>=97 and s[i]<=122 s[i]=s[i]-32; > else if s[i]==246 s[i]=214; > else if s[i]==252 s[i]=220; > else if s[i]==228 s[i]=196; > else if s[i]==233 s[i]=201; > } > } > </code> > > Viele Grüße > > Udo
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB