Für dieses Forum muß Javascript im Browser aktiviert werden!
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 nochmal, > > ich habe nun herausgefunden, dass copypos wiefolgt funktioniert: > > Es kopiert <b>byteweise nacheinander aufsteigend </b> die Anzahl Bytes von der Quelle aufs Ziel. > Im unteren Beispiel liegt das Ziel <b>hinter</b> der Quelle, somit wird immer der gleiche Inhalt > kopiert, erst von Pos auf Pos+1, dann von Pos+1 auf Pos+2 usw. Kopiert man andersherum, also von > Pos auf Pos-1 funktioniert das einwandfrei! > Mir würde also eine copypos-Funktion fehlen, die genau anders herum funktioniert, also > <b> byteweise, nacheinander absteigend </b> die Anzahl Bytes von der Quelle aufs Ziel kopiert. > > Kann jemand das von der mem.copypos Funktion ableiten? Ich kenne mich leider überhaupt nicht mit > den Inline Funktionen aus. > > Beste Grüße, frohe Weihnachten, > > Detlef > > > > > Hallo, > > > > ich ringe mit den Fehlern in einer Funktion, und bin nun der Meinung, dass die Ursache in der > > Funktion mem.copypos liegt. > > > > Nach meinem Verständnis müssten die beiden folgenden Programmzeilen das gleiche Ergebnis bringen. > > > > Es geht darum in einem Array, die letzten Werte um eine Position nach hinten zu verschieben, > > um einen weiteren Wert an der Position einzufügen. Die zweite Zeile funktioniert einwandfrei, > > die erste führt dazu, dass auf den letzten beiden Positionen der vorletzte Wert zweimal abgespeichert > > wird. Vor der Logik her, müsste auch die erste Zeile mit copypos das hinkriegen, tut sie aber nicht. > > > > Dlast = letzter Wert > > Dfirst = erster Wert > > Dpos = aktuelle Position, wo eingefügt werden soll. > > > > <code> > > int a, > > int idxDS[100]; > > > > mem.copypos(idxDS,Dpos+1,idxDS,Dpos,Dlast-Dpos); > > > > for a ... (Dlast-Dpos) idxDS[Dlast-a]=idxDS[Dlast-1-a]; > > > > </code> > > > > Kann das jemand nachvollziehen? > > > > VG > > > > Detlef