Erstes Zeichen eines Edit Feldes Löschen

ZeroGirl

Mitglied
Hi, ich programmiere grade sone art Taschenrechner.
Leider hat sich bei der eingabe ob es ein positiver Wert oder ein negativer Wert sein soll ein kleines problem ergeben:
Code:
   if CountVorzeichen = 1 then
   begin
      Edit1.Text := '-' + Edit1.Text;
      CountVorzeichen := 2;
   end
   else
   begin
      Edit1.Text := Edit1.Text;
      CountVorzeichen := 1;
   end;
Es wird leider immer wieder das minus gesetzt... nun, kann mir einer sagen wie ich das weg bekomme?

Mfg Zero
 
Halloli. ^^

Ich kann jetzt von dem Code aus nicht erkennen, woran es liegt, könntest du eventuell noch ein bisschen mehr von dem Quelltext posten?
 
ZeroGirl hat gesagt.:
Code:
   if CountVorzeichen = 1 then
...
   else
   begin
      Edit1.Text := Edit1.Text;
      CountVorzeichen := 1;
   end;
Es wird leider immer wieder das minus gesetzt... nun, kann mir einer sagen wie ich das weg bekomme?
Na ja, das Minus wird nicht jedes Mal gesetzt, sondern bleibt einfach stehen, denn wenn CountVorzeichen <>1 ist, wird genau das ins Edit geschrieben, was ohnehin schon drin steht. Eine Möglichkeit wäre, zeichenweise das neue ins Editfeld zu schreiben, dabei das erste Zeichen überspringen ('-'), das zweite an die erste Stelle etc. Könnte auch noch eine einfachere Variante geben, die sich mir im Moment nur nicht erschließt. :)

lg Hellie
 
Wenn Du nur die Zeichen ab Zeichen 2 wünscht verwendest Du
Code:
if Length(Edit1.Text)>1 then begin
   Edit1.Text := copy( Edit1.Text,2, Length(Edit1.Text)-1);
 end else begin
   edit1.Text:='';
 end;

vop
 
Zurück