![]() |
Delphi-Version: 5
Boolean fehler
Hi, hab grad mal ne Frage, evtl ist jemand wach und kann mir kurz sagen wo der fehler liegt?
hier der code:
Code:
wenn ich versuche zu compilieren kommt folgende fehlermeldung:
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; [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ß |
AW: Boolean fehler
Zitat:
|
AW: Boolean fehler
Guck dir mal die Syntax zu until an.
|
AW: Boolean fehler
Zitat:
Wobei dein "sinnloses"
Delphi-Quellcode:
eigentlich besagt, daß du eine While-Schleife nutzen solltest, anstatt dem Repeat.
if BerechnungStart = true then begin
Aber das ist eh alles egal, da
Delphi-Quellcode:
sowieso ganz laut nach einer For-Schleife schreit,
inc(a); if a = j then
so wie du es auch schon angedeutet hattest. PS: Zitat:
PPS: Wo um Himmels Willen ist
Delphi-Quellcode:
deklariert?
BerechnungStart
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. |
AW: Boolean fehler
ah ja klar !! ^^
danke jetzt seh ichs auch. ...ist wohl doch schon bisl spät :shock: hab jetzt die bedingung für false oben schon mit rein genommen und schon läufts. Danke !! |
AW: Boolean fehler
Das muss ich jetzt nicht verstehen oder?
|
AW: Boolean fehler
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; |
AW: Boolean fehler
Und warum keine for-Schleife? Damit sparst du dir das hochzählen von a und die Abbruchbedingung.
|
AW: Boolean fehler
Delphi-Quellcode:
Edit: Hallo roter Kasten, hallo Luckie :)
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; Edit2: An der Formel bissl gedreht. Weitgehend Kosmetik. |
AW: Boolean fehler
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:45 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 by Thomas Breitkreuz