Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Unbekannte Fehlermeldung (https://www.delphipraxis.net/111107-unbekannte-fehlermeldung.html)

Sylux 29. Mär 2008 17:30


Unbekannte Fehlermeldung
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
   x: integer;
begin
if
     Edit1.Text= '' then
       showmessage('Mehr als 0 Zeichen')
else
     x:= Length(Edit1.Text)*382888294;

     delete(IntToStr(x),4,4);


     Label1.Caption:=IntToStr(x);
end;

end.
Ich bekomme immer die Fehlermeldung:

[Fehler] Passwort(41): Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden

Bei dieser Zeile: delete(IntToStr(x),4,4);

Der Code soll die Zeichenlänge des Strings den man bei Edit1 gibt ermitteln(hallo=5)
Dann soll er eben die Länge mal die o.g Zahl nehmen.
Dann soll er ab Position 4, 4 Zeichen löschen. Und das Ergebnis in Label1 anzeigen.

Ich weiß leider nicht wie ich den Fehler beheben kann.

Matze 29. Mär 2008 17:35

Re: Unbekannte Fehlermeldung
 
Hallo,

auf den ersten Blick sehe ich einen Fehler und zwar der fehlende begin-end-Block nach dem else:

Delphi-Quellcode:
if ...
  // ...
else begin
  x:= Length(Edit1.Text)*382888294;
  delete(IntToStr(x),4,4);

  Label1.Caption:=IntToStr(x);
end;
Sonst sieht das korrekt eingerückt so aus und dann gäbe es Situationen, in denen x undefiniert ist:

Delphi-Quellcode:
if ...
  // ...
else
  x:= Length(Edit1.Text)*382888294;

delete(IntToStr(x),4,4);

Label1.Caption:=IntToStr(x);
Grüße

mkinzler 29. Mär 2008 17:35

Re: Unbekannte Fehlermeldung
 
Du musst das Ergebnis zwischenspeichern:
Delphi-Quellcode:
s := IntToStr(x)
delete( s,4,4);

Sylux 29. Mär 2008 17:41

Re: Unbekannte Fehlermeldung
 
Danke.
Es funktioniert wunderbar!


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:20 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