Ergebnis 1 bis 11 von 11

Thema: Variablentypen in Delphi

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #4
    Zitat Zitat von Davias Beitrag anzeigen
    1) Hab das ganze in Delphi eingegeben und bekomme die Fehlermeldung "Edit1 ist kein gültiger Integerwert". Woran kann das liegen? =0
    Das was du im Edit stehen hast ist nicht umwandelbar. Eingaben wie 0 gehen, 0asd nicht. Sollte man eigentlich vorher sowieso verhindern bzw. SpinEdits nehmen fuer Zahleneingaben.

    Zitat Zitat von Davias Beitrag anzeigen
    2) Warum weist man den Variablen n, i, & Summe Typen wie jetzt longint oder real zu, wenn sie doch nach begin sowieso wieder umgewandelt werden?
    Schrottiger Beispielcode halt.

    Zitat Zitat von Davias Beitrag anzeigen
    3) Und wieso wird bei der Deklaration n von einem String in einen Integer umgewandelt (strtoint), obwohl es doch von Beginn an als Integer gekennzeichnet wurde (n; i : longint) und nicht als String?
    n ist ein Integer und Edit.Text ist ein String StrToInt wandelt den String (Edit1.Text) in einen Integer um. longint solltest du aber eigentlich nicht schreiben, Int64 ist die korrekte Delphi-Bezeichnung
    (andere gehen zwar aus Kompatibilitaet auch aehnlich wie Word oder DWord in Delphi, aber die richtigen Typen sind besser).

    Zitat Zitat von Davias Beitrag anzeigen
    4) Die Variable n hat hier keinen Anfangswert, wie kann man also mit der for-Schleife von i (hat ja den Wert 1 bekommen) bis nach n (hat keinen Wert) hochzählen?
    n bekommt den Wert von Edit1.Text. Sollte der kleiner als 1 sein laeft die for Schleife halt nicht an.

    Zitat Zitat von dead_orc Beitrag anzeigen
    Mit Delphis Datentypen kenne ich mich nicht aus, aber wo werden die Variablen danach umgewandelt? Erst werden sie deklariert und dann definiert, ganz einfach. Sollte z.B. strtoint kein longint zurückliefern, wirds vermutlich automatisch konvertiert.
    Jo, Delphi Konvertiert soweit es geht immer. Spontan faellt mir nur String -> PChar ein bei der man PChar() zum Umwandeln angeben muesste.

    Zitat Zitat von The_Best_Isaac Beitrag anzeigen
    Ich vermute jetzt einfach mal, dass "edit1" ein Textbox-Steuerelement ist. Und "text" ist dann entsprechend die Eigenschaft, der eben den eingegebenen Text enthält.
    Hast du auf deinem Formular denn auch ein Textboxsteuerelement, das genau diesen Namen hat? Da würde ich nämlich das Problem sehen.
    "Edit1 ist kein gültiger Integerwert" sagt schon aus, dass er Edit1 duraus findet (sonst wuerde er auch nicht kompilieren koennen), nur ist das String-Property Text nicht in einen Integer umwandelbar.

    edit:
    Mist, stimmt wenn er sagt Edit1 waere kein Wert findet er es wohl in der Tat nicht. Drop einfach mal ein TEdit aus der Komponenten-Liste auf dein Formular und aender das Text-Property in "0" oder so, sollte gehen. Oder gleich ein TSpinEdit (Registerkarte Examples/Beispiele) und dann statt "StrToInt(Edit1.Text)" "SpinEdit1.Value", das ist dann schon im Int-Format.

    Geändert von Crash-Override (10.05.2008 um 18:37 Uhr)

Berechtigungen

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