AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Schulprojekt: Thema: Berechnungen am Rechteck

Schulprojekt: Thema: Berechnungen am Rechteck

Ein Thema von Dennis S. · begonnen am 16. Feb 2010 · letzter Beitrag vom 16. Feb 2010
Antwort Antwort
Seite 2 von 3     12 3   
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
7.568 Beiträge
 
Delphi XE4 Professional
 
#11

Re: Schulprojekt: Thema: Berechnungen am Rechteck

  Alt 16. Feb 2010, 16:43
Hallo,

Delphi-Quellcode:
IF (LaengeEdit.Text <> '') or ((BreiteEdit.Text<> '') and (FlaecheEdit.Text <> '')) THEN
begin
  LaengeEdit.Text := IntToStr(StrToInt(FlaecheEdit.Text)/StrToInt(BreiteEdit.Text));
Das nehmen wir mal auseinander

Delphi-Quellcode:
IF (LaengeEdit.Text <> '') then
begin
  LaengeEdit.Text := IntToStr(StrToInt(FlaecheEdit.Text)/StrToInt(BreiteEdit.Text));
[/delphi]

Der FlaecheEdit oder Breitedit können hier leer sein
dann kommt bei StrToInt('') die besagte Exception


OR

Delphi-Quellcode:
IF ((BreiteEdit.Text<> '') and (FlaecheEdit.Text <> '')) THEN
begin
  LaengeEdit.Text := IntToStr(StrToInt(FlaecheEdit.Text)/StrToInt(BreiteEdit.Text));
[/delphi]


Also stimmt dein if nicht immer


Heiko
Heiko
  Mit Zitat antworten Zitat
Dennis S.

Registriert seit: 16. Feb 2010
Ort: Kreiensen
11 Beiträge
 
Delphi 7 Personal
 
#12

Re: Schulprojekt: Thema: Berechnungen am Rechteck

  Alt 16. Feb 2010, 16:45
hää?? Bei Fläche muss ja was stehen sonst funktioniert das alles ja nicht aber seite a oder b ist ja immer ins leer.
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#13

Re: Schulprojekt: Thema: Berechnungen am Rechteck

  Alt 16. Feb 2010, 18:22
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.
  Mit Zitat antworten Zitat
Dennis S.

Registriert seit: 16. Feb 2010
Ort: Kreiensen
11 Beiträge
 
Delphi 7 Personal
 
#14

Re: Schulprojekt: Thema: Berechnungen am Rechteck

  Alt 16. Feb 2010, 18:29
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.
  Mit Zitat antworten Zitat
Dennis S.

Registriert seit: 16. Feb 2010
Ort: Kreiensen
11 Beiträge
 
Delphi 7 Personal
 
#15

Re: Schulprojekt: Thema: Berechnungen am Rechteck

  Alt 16. Feb 2010, 18:38
@implementation:
ja aber dann müsste feld 1 immer leer sein.
wie müsste das sein wenns auch feld 2 sein kann?
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#16

Re: Schulprojekt: Thema: Berechnungen am Rechteck

  Alt 16. Feb 2010, 18:48
Wenn das zweite Feld leer ist, soll das ja ausgerechnet werden, oder verstehe ich das falsch?
  Mit Zitat antworten Zitat
Dennis S.

Registriert seit: 16. Feb 2010
Ort: Kreiensen
11 Beiträge
 
Delphi 7 Personal
 
#17

Re: Schulprojekt: Thema: Berechnungen am Rechteck

  Alt 16. Feb 2010, 18:51
genau
Delphi-Quellcode:
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
ist LaengeEdit leer soll dieses ausgerechnent werden. Ist BreiteEdit frei dann das.
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#18

Re: Schulprojekt: Thema: Berechnungen am Rechteck

  Alt 16. Feb 2010, 19:09
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
  Mit Zitat antworten Zitat
Dennis S.

Registriert seit: 16. Feb 2010
Ort: Kreiensen
11 Beiträge
 
Delphi 7 Personal
 
#19

Re: Schulprojekt: Thema: Berechnungen am Rechteck

  Alt 16. Feb 2010, 19:14
es ist zum weinen Ich wenn ich BreiteEdit und FlaecheEdit ausfülle kommt LaengeEdit aber wenn ich LaengeEdit und FlaecheEdit ausfülle kommt aber keine Breite
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
7.568 Beiträge
 
Delphi XE4 Professional
 
#20

Re: Schulprojekt: Thema: Berechnungen am Rechteck

  Alt 16. Feb 2010, 19:17
Hallo,

noch mal die Aufgabe

das wenn man Seite a oder b + die Fläche

Delphi-Quellcode:
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;
Jetzt könnte natürlich auch a und b und die Fläche
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
Heiko
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf