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> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > Hallo allseits ! > > > > Ich bin da schon wieder auf was Seltsames gestoßen .... > > Wie schon so oft mit dem IDE für den Mega128. > > Bin halt ein bisi spät dran, der Mega128 ist nicht mehr populär ... > > > > Das Str_Copy verhält sich nicht so, wie es in der Hilfe steht. > > <i> > > Str_Copy(destination, source , offset) > > offset Anzahl der Zeichen, um die der <u>Quellstring, verschoben auf den Zielstring kopiert wird.</u> > > > > Hat offset den Wert STR_APPEND (ffff Hex), so wird als offset die Länge des Zielstrings angenommen. > > In diesem Fall wird der Source String hinter den Destination String kopiert.</i> > > > > 1) Wenn ich das STR_APPEND als offset einsetze, wird > > source an destination angefügt. <b><i>Soweit so gut !</b></i> > > 2) Wenn ich 0 als offset einsetze, dann wird ebenfalls > > source an destination angefügt. <b><i>Soweit so nochmals gut !</b></i> > > 3) Jede andere Zahl als offset ergibt einen leeren destination. <b> <<<<--- Das verstehe ich nicht,</b> > > sollte doch mit offset "der Quellstring, verschoben auf den Zielstring kopiert" werden, siehe oben. > > > > Momentan hab ich das Problem so gelöst, dass ich source auf einen EEprom lade und dann die > > gebrauchten Zeichen extra rauslese. > > > > Danke jedem, der mir weiterhilft. > > LG, carlos > > > Hallo Carlos, > > du schreibst: > <i> > > 2) Wenn ich 0 als offset einsetze, dann wird ebenfalls > > source an destination angefügt. <b>Soweit so nochmals gut !</b></i> > > Das ist aber nicht gut. Mit '0' soll es doch nicht angefügt werden sondern den Destination-String > ab Pos. 0 überschreiben. > > Ich habe mal ein paar Zeilen ausprobiert. Bei mir funktioniert die Funktion wie sie soll: > > <b> > void main(void) > { > char str_dest[19]; > char str_source[10]; > byte i; > > str_source="123456789"; > str_dest="abcdefghi"; > > Msg_WriteText(str_source); > Msg_WriteChar(13); > Msg_WriteText(str_dest); > Msg_WriteChar(13); > Msg_WriteChar(13); > > Msg_WriteText("Offset '0':r"); > Str_Copy(str_dest,str_source,0); > Msg_WriteText(str_dest); > Msg_WriteChar(13); > Msg_WriteChar(13); > > str_source="123456789"; > str_dest="abcdefghi"; > Msg_WriteText("Offset 'STR_APPEND':r"); > Str_Copy(str_dest,str_source,STR_APPEND); > Msg_WriteText(str_dest); > Msg_WriteChar(13); > Msg_WriteChar(13); > > Msg_WriteText("Offset '0-9':r"); > for(i=0;i<10;i++) > { > str_source="123456789"; > str_dest="abcdefghi"; > Str_Copy(str_dest,str_source,i); > Msg_WriteText(str_dest); > Msg_WriteChar(13); > } > } > </b> > > Als Ausgabe erhalte ich dann: > > <b> > 123456789 > abcdefghi > > Offset '0': > 123456789 > > Offset 'STR_APPEND': > abcdefghi123456789 > > Offset '0-9': > 123456789 > a123456789 > ab123456789 > abc123456789 > abcd123456789 > abcde123456789 > abcdef123456789 > abcdefg123456789 > abcdefgh123456789 > abcdefghi123456789 > </b> > > Viele Grüße, > Tobias