AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Boolean fehler

Ein Thema von Gilmohr · begonnen am 27. Mär 2011 · letzter Beitrag vom 27. Mär 2011
Antwort Antwort
Seite 1 von 2  1 2      
Gilmohr

Registriert seit: 3. Mär 2011
15 Beiträge
 
#1

Boolean fehler

  Alt 27. Mär 2011, 01:31
Delphi-Version: 5
Hi, hab grad mal ne Frage, evtl ist jemand wach und kann mir kurz sagen wo der fehler liegt?

hier der code:
Code:
procedure TForm1.Button1Click(Sender: TObject);

var a: integer;

begin
  a := 0 ;
  //for a := 0 to 10 do
  repeat
    if BerechnungStart = true then begin
    v[a] := FloatToStr((Volumenstrom * 4) / ( StrToInt(d[a]) * 3.1416 * 1000 ));
    memo1.Lines.add(v[a]);
    inc (a);
    end;
  until
    if a = j then
    BerechnungStart := false;
end;
wenn ich versuche zu compilieren kommt folgende fehlermeldung:

[Fehler] Rohrnetzberechnung.pas(249): Ausdruckstyp muss BOOLEAN sein

allerdings verstehe ich nicht wieso... für den fall dass a=j (a = 10 // soll nur 10 berechnungen anzeigen) soll BerechnugsStart auf false gesetzt werden damit nicht weiter gerechnet wird.

hoffe mir kann jemand helfen.
Gruß
  Mit Zitat antworten Zitat
Benutzerbild von isilive
isilive

Registriert seit: 15. Okt 2008
Ort: Österreich
192 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Boolean fehler

  Alt 27. Mär 2011, 01:44
Code:
procedure TForm1.Button1Click(Sender: TObject);

var a: integer;

begin
...
  repeat
... until
    if a = j then
    BerechnungStart := false;
end;
nach until muss ein boolean operator oder ein vergleich kommen. aber auf keinen fall ein "if". hast du sicher nur übersehen, oder?
Stefan
Jedoch kann die referenzbasierte Implementierung des Standard-Objektmodells in Kombination mit den komplexen syntaktischen Dereferenzierungsregeln bei einer objektorientierten API wie ein Stolperstein wirken.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

AW: Boolean fehler

  Alt 27. Mär 2011, 01:45
Guck dir mal die Syntax zu until an.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#4

AW: Boolean fehler

  Alt 27. Mär 2011, 01:46
Code:
until
  if a = j then
Ich schlage mal vor, du befragst die OH, wie eine Repeat-Until-Schleife aufgebaut ist.

Wobei dein "sinnloses" if BerechnungStart = true then begin eigentlich besagt, daß du eine While-Schleife nutzen solltest, anstatt dem Repeat.

Aber das ist eh alles egal, da inc(a); if a = j then sowieso ganz laut nach einer For-Schleife schreit,
so wie du es auch schon angedeutet hattest.

PS:
Zitat:
soll nur 10 berechnungen anzeigen
0 bis 10 sind aber 11 Durchläufe und nicht 10.

PPS: Wo um Himmels Willen ist BerechnungStart deklariert?
Und sag jetzt bitte nicht, daß diese lokal genutzte Variable irgendwo global rumgammelt.

Und noch ein Tipp: Für 3.1416 kennt Delphi eine Konstante, namens PI.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (27. Mär 2011 um 01:55 Uhr)
  Mit Zitat antworten Zitat
Gilmohr

Registriert seit: 3. Mär 2011
15 Beiträge
 
#5

AW: Boolean fehler

  Alt 27. Mär 2011, 01:50
ah ja klar !! ^^
danke jetzt seh ichs auch. ...ist wohl doch schon bisl spät
hab jetzt die bedingung für false oben schon mit rein genommen und schon läufts.

Danke !!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Boolean fehler

  Alt 27. Mär 2011, 01:55
Das muss ich jetzt nicht verstehen oder?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Gilmohr

Registriert seit: 3. Mär 2011
15 Beiträge
 
#7

AW: Boolean fehler

  Alt 27. Mär 2011, 03:06
nee ^^ ... musst wissen das ich noch delphi anfänger bin.

aber habs jetzt auch ganz ohne boolean hinbekommen weil er zwar die anwendung gestartet, sich dann aber bei der rechnung gehangen hat.
so funktionierts ohne probleme

Code:
procedure TForm1.Button1Click(Sender: TObject);

var a: integer;

begin
  memo1.Clear;
  a := 0 ;
  repeat
    v[a] := FloatToStr((Volumenstrom * 4) / ( StrToInt(d[a]) * 3.1416 * 1000 ));
    memo1.Lines.add(v[a]);
    inc (a);
  until
    a = j

end;
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

AW: Boolean fehler

  Alt 27. Mär 2011, 03:21
Und warum keine for-Schleife? Damit sparst du dir das hochzählen von a und die Abbruchbedingung.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#9

AW: Boolean fehler

  Alt 27. Mär 2011, 03:22
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const
  K = 0.00127323954473; // ~= 4 / (PI*1000)
var
  a: integer;
begin
  memo1.Clear;
  for a := 0 to j do
    memo1.Lines.add(FloatToStr((Volumenstrom*K)/StrToInt(d[a])));
end;
Edit: Hallo roter Kasten, hallo Luckie
Edit2: An der Formel bissl gedreht. Weitgehend Kosmetik.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)

Geändert von Medium (27. Mär 2011 um 03:31 Uhr)
  Mit Zitat antworten Zitat
Gilmohr

Registriert seit: 3. Mär 2011
15 Beiträge
 
#10

AW: Boolean fehler

  Alt 27. Mär 2011, 03:32
mit For schleife hatte ich probiert...aber das hab ich nicht so hinbekommen ...und nu läufts ja. ob das schön gecodet ist spielt für mich momentan keine rolle. soll nur irgendwie laufen.

@Medium: cool ! danke, werd das auch mal so einbauen.

Geändert von Gilmohr (27. Mär 2011 um 03:35 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 01:45 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