Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Taschenrechner (https://www.delphipraxis.net/176889-taschenrechner.html)

himitsu 2. Okt 2013 23:26

AW: Taschenrechner
 
Anstatt EditFeldOk kannst du natürlich auch TryStrToFloat verwenden, denn damit prüft man auch gleich, ob eine "gültige" Zahl im Edit drinsteht.

Denn mit diesem EditFeldOk wäre z.B. auch
Delphi-Quellcode:
'Pflichtfel'
(ohne d), sowie
Delphi-Quellcode:
'123,4,789'
total "OK".

Dyami 9. Okt 2013 15:25

AW: Taschenrechner
 
Hallo,

ich habe ein weiteres Problem.
Ich möchte in meinem Edit2.text alle Leerzeichen ignoriert bekommen. Aber ich weiß nicht, wie ich das beim Char machen soll.

Delphi-Quellcode:
var
  i: integer;
  r_Zahl1: real;
  r_Zahl2: real;
  r_zahl3: real;
  r_erg: real;
  S_zeichen: char;
  s_text: string;
begin
  s_text := Edit2.Text;
  for i := 1 to length(s_text) do
  begin
    if s_text[i] = ' ' then
    begin
      s_text := trim(s_text);
    end
Zuweisung

Delphi-Quellcode:
 begin
        r_Zahl1 := strtofloat(Edit1.Text);
        r_Zahl2 := strtofloat(Edit3.Text);
        s_text := Edit2.Text;
        S_zeichen := s_text[1];
Danke schon einmal für die Hilfe :-)

Volker Z. 9. Okt 2013 16:17

AW: Taschenrechner
 
Hallo,

aus der OH:
Zitat:

Trim entfernt alle am Anfang und Ende des mit S angegebenen Strings vorhandenen Leer- und Steuerzeichen.
Demnach wird Dir die for-Schleife wenig bringen.

Du könntest es mittels einer while-Schleife und Delete (s_text, i, 1) machen oder Du siehst Dir in der OH mal die Funktionen StringReplace, ReplaceStr bzw. ReplaceText an.


Gruß

Amateurprofi 10. Okt 2013 03:05

AW: Taschenrechner
 
Zitat:

Zitat von Dyami (Beitrag 1231439)
Hallo,

ich habe ein weiteres Problem.
Ich möchte in meinem Edit2.text alle Leerzeichen ignoriert bekommen. Aber ich weiß nicht, wie ich das beim Char machen soll.:-)

So:
Delphi-Quellcode:
var S:String; I,J:Integer;
begin
   S:=Edit2.Text;
   J:=0;
   for I:=1 to Length(S) do
      if S[I]<>' ' then begin
         Inc(J);
         S[J]:=S[I];
      end;
   SetLength(S,J);

Dyami 10. Okt 2013 07:56

AW: Taschenrechner
 
Habe es nun mit der Methode Delete und einer For-Schleife gelöst.

Danke euch!

Darlo 10. Okt 2013 11:18

AW: Taschenrechner
 
oder
Delphi-Quellcode:
StringReplace(myEdit.text, ' ', '', [rfReplaceAll]);

Dyami 10. Okt 2013 11:52

AW: Taschenrechner
 
Die Methode finde ich sogar noch besser. Danke :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr.
Seite 2 von 2     12   

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