![]() |
Re: Schulprojekt: Thema: Berechnungen am Rechteck
Hallo,
Delphi-Quellcode:
Das nehmen wir mal auseinander
IF (LaengeEdit.Text <> '') or ((BreiteEdit.Text<> '') and (FlaecheEdit.Text <> '')) THEN
begin LaengeEdit.Text := IntToStr(StrToInt(FlaecheEdit.Text)/StrToInt(BreiteEdit.Text));
Delphi-Quellcode:
[/delphi]
IF (LaengeEdit.Text <> '') then
begin LaengeEdit.Text := IntToStr(StrToInt(FlaecheEdit.Text)/StrToInt(BreiteEdit.Text)); Der FlaecheEdit oder Breitedit können hier leer sein dann kommt bei StrToInt('') die besagte Exception OR
Delphi-Quellcode:
[/delphi]
IF ((BreiteEdit.Text<> '') and (FlaecheEdit.Text <> '')) THEN
begin LaengeEdit.Text := IntToStr(StrToInt(FlaecheEdit.Text)/StrToInt(BreiteEdit.Text)); Also stimmt dein if nicht immer Heiko |
Re: Schulprojekt: Thema: Berechnungen am Rechteck
hää?? Bei Fläche muss ja was stehen sonst funktioniert das alles ja nicht aber seite a oder b ist ja immer ins leer.
|
Re: Schulprojekt: Thema: Berechnungen am Rechteck
Eben. Deshalb musst du das or ja auch durch ein and ersetzen. Es muss ja alles zutreffen.
[ADD] Außerdem solltest du das erste <> durch = ersetzen. |
Re: Schulprojekt: Thema: Berechnungen am Rechteck
also wenn ich das 'or' durch ein 'and' ersetze, dann würde es funktionieren, aber dann kann ich die Fehlende Seite, welches genau mein Ziel ist, ja nicht mehr berechnen und der gesamte Befehl wäre überflüssig, da er ja mit dem 1. IF gedeckt ist.
Sobalt ich aber 'or' verwende schmeißt er mir diesen blöden Error rein. |
Re: Schulprojekt: Thema: Berechnungen am Rechteck
@implementation:
ja aber dann müsste feld 1 immer leer sein. wie müsste das sein wenns auch feld 2 sein kann? |
Re: Schulprojekt: Thema: Berechnungen am Rechteck
Wenn das zweite Feld leer ist, soll das ja ausgerechnet werden, oder verstehe ich das falsch?
|
Re: Schulprojekt: Thema: Berechnungen am Rechteck
genau
Delphi-Quellcode:
ist LaengeEdit leer soll dieses ausgerechnent werden. Ist BreiteEdit frei dann das.
IF (LaengeEdit.Text <> '') or ((BreiteEdit.Text<> '') and (FlaecheEdit.Text <> ''))
THEN begin LaengeEdit.Text := FloatToStr(StrToInt(FlaecheEdit.Text)/StrToInt(BreiteEdit.Text)); BreiteEdit.Text := FloatToStr(StrToInt(FlaecheEdit.Text)/StrToInt(LaengeEdit.Text)); end |
Re: Schulprojekt: Thema: Berechnungen am Rechteck
Delphi-Quellcode:
IF (LaengeEdit.Text { --> } = { <-- } '') { --> } and { <-- } (BreiteEdit.Text<> '') and (FlaecheEdit.Text <> '')
THEN begin LaengeEdit.Text := FloatToStr(StrToInt(FlaecheEdit.Text)/StrToInt(BreiteEdit.Text)); BreiteEdit.Text := FloatToStr(StrToInt(FlaecheEdit.Text)/StrToInt(LaengeEdit.Text)); end |
Re: Schulprojekt: Thema: Berechnungen am Rechteck
es ist zum weinen :wall: Ich wenn ich BreiteEdit und FlaecheEdit ausfülle kommt LaengeEdit aber wenn ich LaengeEdit und FlaecheEdit ausfülle kommt aber keine Breite
|
Re: Schulprojekt: Thema: Berechnungen am Rechteck
Hallo,
noch mal die Aufgabe das wenn man Seite a oder b + die Fläche
Delphi-Quellcode:
Jetzt könnte natürlich auch a und b und die Fläche
if (Edit_a.Text<>'') and (Edit_Area.Text<>'') then
begin // a und Fläche gegeben // b wird berechnet Exit; end; if (Edit_b.Text<>'') and (Edit_Area.Text<>'') then begin // b und Fläche gegeben // a wird berechnet Exit; end; per Editor eingegeben sein -> es wird b berechnet, oder du fängst da ab
Delphi-Quellcode:
if (Edit_a.Text<>'') and (Edit_b.Text<>'') and (Edit_Area.Text<>'') then
begin ShowMessage('ööööö'); Exit; end; Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:57 Uhr. |
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