Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Edit.Text -1, was muss ich genau machen? (https://www.delphipraxis.net/143400-edit-text-1-muss-ich-genau-machen.html)

SyntaxXx 15. Nov 2009 00:45


Edit.Text -1, was muss ich genau machen?
 
So liebe Leute, es ist sät, bzw früh, und ich habe im mom den totalen Gehirnausfall.

Ich habe folgendes Problem.
Ich habe ein Editfeld indas ich nur Zahlen eingeben möchte.
Ich habe bei den Edit-Eigenschaften auch schon eingestellt, das nur Zahlen angenommen werden.

Jetzt möchte ich aber von der Zahl, die in das Edidfeld eingegeben wurde, eins abziehen.
Nur wie genau amche ich da sjetzt.

Edit.Text ist ja TCaption
Und -1 ist ja Integer

Wenn ich jetzt

Edit1.Text := Edit1.Text-'1';

eingebe bekomme ich immer die Meldung: [DCC Fehler] Unit1.pas(35): E2015 Operator ist auf diesen Operandentyp nicht anwendbar


Was genau muss ich jetzt machen, damit ich von der Zahl im Editfeld -1 rechnen kann?

alleinherrscher 15. Nov 2009 00:52

Re: Edit.Text -1, was muss ich genau machen?
 
eingaben in edit.text feld sind vom typ string. D.h. du musst zunächst den string in einen integer umwandeln. das geht mit strtoint(edit1.text) anschließend kannst du dann 1 abziehen. beispiel:

Delphi-Quellcode:
  showmessage(inttostr(strtoint(edit1.text)-1));

SyntaxXx 15. Nov 2009 10:47

Re: Edit.Text -1, was muss ich genau machen?
 
KK danke, hat funktioniert, nur kannst du mir bitte erklären,w aru wir das alles insgesammt erst in einen String umwandeln und das Editfeld dann ind nen Integer?

Rein von de rlogog her müste es doch Edit1.Text := StrToInt(Edit1.Text)-1 lauten. Da ja 1 schon Integer ist.

Larsi 15. Nov 2009 10:55

Re: Edit.Text -1, was muss ich genau machen?
 
ShowMEssage erwartet aber wieder einen String und kein Integer :cyclops:

alzaimar 15. Nov 2009 10:57

Re: Edit.Text -1, was muss ich genau machen?
 
Zitat:

Zitat von SyntaxXx
...Edit1.Text := StrToInt(Edit1.Text)-1 lauten. Da ja 1 schon Integer ist.

Das Konstrukt auf der rechten Seite ist eine Zahl. Das willst Du einem String (Edit1.Text) zuweisen. Das geht nicht. Du musst es zerst konvertieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz