Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Alternative zu Replace (https://www.delphipraxis.net/99994-alternative-zu-replace.html)

Chrissi91 20. Sep 2007 17:09


Alternative zu Replace
 
Hi,

ich habe in einem Memo 0 und 1 hintereinander. Nichts anderes. Auch keine Leerzeichen. Jetzt sollen die Werte durch Buchstaben ersetzt werden.

Code:
00001 = A
00010 = B
00011 = C
...
Ich habe das gannz einfach mit Replace gemacht. Nur gibts da ein Problem. Wenn er als 1. alle 00001 replaced, kann es auuch passieren, dass er 0100001100 replaced, obwohl es eigentlich 01000 und 01100 ist.

Ich hoffe ihr versteht mein Problem. Der zu ersetzende Teil fängt immer an einer 5er stelle an. Sprich bei 1, 6, 11, etc.

Kennt jemand eine elegante Lösung?

kujin1000 20. Sep 2007 17:12

Re: Alternative zu Replace
 
Jo sowas würde ich auch gerne Wissen, brauche das für mein "Spiel"

DeddyH 20. Sep 2007 17:13

Re: Alternative zu Replace
 
Sieht so aus, als ob das Binärwerte sein sollen. Also könntest Du sie in dezimale Zahlen wandeln, 64 dazuaddieren und als Char wieder ausgeben.

Corpsman 20. Sep 2007 17:20

Re: Alternative zu Replace
 
in einem Memo ist im Prinzip ein String

den kannst du immer 5 Zeichenweise einlesen und das dann machen wie beschrieben

Also in der art

Delphi-Quellcode:
Function Convert(Value:String):String;
var s:String;
    j,i:Integer;
begin
  result := '';
  while Length(value)>= 5 do begin
    s := copy(value,1,5);
    delete(value,1,5);
    i := 0;
    for j := 1 to 5 do
      if s[j]='1' then
        i := i + 1 shl ( j-1 );
   result := result + chr(i + 65);
  end;
end;
Aufruf mit
Delphi-Quellcode:
memo1.text := convert(memo1.text);
Das ist aber nun so blind hinprogrammiert

must also evtl noch den ein oder anderen Fehler rausmachen.

[Edit doch noch nen kleinen fehler gesehn.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz