Ergebnis 1 bis 11 von 11

Thema: Variablentypen in Delphi

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #7
    Zitat Zitat von drunken monkey Beitrag anzeigen
    Code:
    edit1 // Der Identifier spricht das Eingabefeld dieses Namens an
    edit1.text // Liefert die Eigenschaft "text" des Eingabefelds mit
               // der ID "edit1". Diese enthält den eingegebenen Text
               // (als String).
    strtoint(edit1.text) // Die Funktion strtoint nimmt einen String
                         // als Parameter und liefert die durch ihn
                         // repräsentierte ganze Zahl zurück. Ist
                         // edit1.text also z.B. "12", so liefert der
                         // Ausdruck den Wert 12 (als Integer) zurück.
    n := strtoint(edit1.text) // Weist der Variablen "n" den Wert des
                              // rechten Ausdrucks (in obigem Beispiel
                              // also 12) zu.
    Genau, wenn Edit1 allerdings nicht umwandelbar ist, dann bekommst du n' Fehler un d die Prozedure schmiert ab, also solltest du solche Umwandlungen vorsichtig anwenden aka pruefen oder durch z.B. Spinedits ausschschliesen.

    Code:
    function IsInt(S: Integer): Boolean;
    var
      Temp: Integer;
    begin
      try
        Temp := StrToInt(S);
        Result := True;
      except
        Result := False;
      end:
    end;
    
    function IsInt(S: Integer): Boolean;
    var
      I: Integer;
    begin
      Result := True;
      for I := 1 to Length(S) do
        if ((S[I] <> '1') AND (S[I] <> '2') AND (S[I] <> '3') AND 
            (S[I] <> '4') AND (S[I] <> '5') AND (S[I] <> '6') AND 
            (S[I] <> '7') AND (S[I] <> '8') AND (S[I] <> '9') AND 
            (S[I] <> '0')) then
          Result := False;
    end;
    Beide gehen (ungetestet, grad kein Delphi). Obere pausiert aber im Debug Modus bei einem Nicht-Integer.

    Anwendung waere dann so:

    Code:
    var
      n, i: Integer;
      summe: Real; 
    begin
      if IsInt(Edit1.Text) then
      begin
        n := StrToInt(Edit1.Text);
        summe := 0;
    
        for i := 1 to n do
        begin
          summe := summe + i;
        end;
     
        Label1.Caption := 'S = ' + FloatToStr(summe);
      end
      else
        ShowMessage('Fehler blub...');
    end;
    Quellcodes einrueken und Gross-Kleinschreibung beachten ist btw. ziemlich sinnvoll wenn es um Leserlichkeit geht.

    Geändert von Crash-Override (10.05.2008 um 23:07 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •