Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

Re: Schleife für StringReplace

  Alt 3. Jun 2006, 09:58
Erstens, da war ein Komma zu viel

Delphi-Quellcode:
S := Panel1.Caption;
S := StringReplace('E-06', Chr(181), [rfreplaceall]);
S := StringReplace('E-03', Chr(...), [rfreplaceall]);
...
S := StringReplace('E+09', 'M', [rfreplaceall]);
Panel1.Caption := S;
Delphi-Quellcode:
Const TheChar: Array[-2..3] of Char = ('µ', ..., 'M');

S := Panel1.Caption;
For i := -2{*3=-6} to 3{*3=+9} do
S := StringReplace('E' + Format([i*3] ...), TheChar(i), [rfreplaceall]);
Panel1.Caption := S;
Für FORMAT hab ich gerade keine Definition ... schau mal in die OH und stell ein Muster zusammen, was ein Vorzeichen voranstellt und danach die Zahl zweistellig mit führrender Null.

Delphi-Quellcode:
Const TheSign: Array[Boolean] of Char = ('+', '-');
  TheChar: Array[-2..3] of Char = ('µ', ..., 'M');

S := Panel1.Caption;
For i := -2{*3=-6} to 3{*3=+9} do
  S := StringReplace('E' + TheSign[i < 0] + IntToStr(Abs(i * 3) div 10) + IntToStr(Abs(i * 3) mod 10), TheChar(i), [rfreplaceall]);
Panel1.Caption := S;
solange du zwischen -10 und 10 bleibst, kannst du IntToStr(Abs(i * 3) div 10) durch '0' ersetzen, da es dann ja eh immer 0 sein wird.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat