Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat