Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Code-Beispiel

Code-Beispiele » Stringfunktionen

[ASM] Text revers ; srever txeT

Lizenz:Erster Autor:Letzte Bearbeitung:
k. A.MitgliedEternal_Pain 20.04.2024

Quelle:fb@rchive
Autor:Volta

Die Funktion Revers spiegelt einen Text vom Anfang zum Ende.
Eigentlich zum Umkehren eines Byte-Arrays gedacht, wurde dann das daraus (sollte auch in DOS gehen).
Ist nicht gerade eine VIF (very important function), kann aber recht nützlich sein.
Viel Spass damit wünscht euch Volta

'Die Funktion Revers spiegelt einen Text vom Anfang zum Ende.
'Eigentlich zum Umkehren eines Byte-Arrays gedacht, wurde dann das daraus.(sollte auch in DOS gehen.)
'Ist nicht gerade eine VIF (very important function) kann aber recht nützlich sein.
'Viel Spass damit wünscht euch Volta
'lt geändert in l, lt kann als Operator interpretiert werden.

Function Revers (ByVal txt As String) As String
 Dim l As Long
 Dim Text As String
 Text = txt
 l = Len(Text)
 If l > 1 Then
  Asm
   mov eax, [Text]   'Anfang des String im RAM
   mov ebx, [l]   'Laenge des String
   mov esi, eax
   Add eax, ebx
   dec eax
   mov edi, eax    'letzes Zeichen des String
   mov ecx,ebx
   Shr ecx         'ecx =lt \ 2 ;Laufvariable
   lnext:
    mov al, [esi]  'al = Anfang
    mov ah, [edi]  'ah = Ende
    mov [edi], al  'Ende = al
    mov [esi], ah  'Anfang = ah
    inc esi        'Anfang + 1
    dec edi        'Ende - 1
   Loop lnext      'wie for .. next
  End Asm
 End If
 Function = Text
End Function

Dim t As String
t = "Dieser Text wird gespiegelt. Das ist 'just for fun' oder zum Verschluesseln?"

Print Revers(" !dlroW olleH ")
Print Revers (t)
Print t
Sleep
End

Zusätzliche Informationen und Funktionen
  • Das Code-Beispiel wurde am 13.06.2007 von MitgliedEternal_Pain angelegt.
  • Die aktuellste Version wurde am 20.04.2024 von RedakteurVolta gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen