AGB  ·  Datenschutz  ·  Impressum  







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

PI

Ein Thema von -Ptype- · begonnen am 11. Mai 2010 · letzter Beitrag vom 11. Mai 2010
Antwort Antwort
Seite 3 von 4     123 4      
-Ptype-

Registriert seit: 11. Mai 2010
Ort: Hessen
23 Beiträge
 
#21

Re: PI

  Alt 11. Mai 2010, 17:07
Also hier mal den Code den ich jetzt drin habe und wo bei mir dann schließlich der Fehler auftaucht:

Delphi-Quellcode:
if zahl2 < 0 then
             begin
               showmessage ('Nicht erlaubt');
             end;
             if zahl2 > 0 then
             begin
               n := 1;
               y := zahl;
             while n < zahl2 do
               zahl := zahl * y;
               n := n + 1;
             end
             else
             zahl := 1;
             end;

Der Fehler kommt bei mir bei
 zahl := 1; und als Fehler steht dort: E2026 Konstantenausdruck erwartet
Die Welt des Programmierens öffnet sich nur denen, die sich die Zeit nehmen sich damit zu beschäftigen!
  Mit Zitat antworten Zitat
Noedel
(Gast)

n/a Beiträge
 
#22

Re: PI

  Alt 11. Mai 2010, 17:18
du hast da auch ein begin und ein end vergessen

Delphi-Quellcode:
if zahl2 < 0 then
  begin
    showmessage ('Nicht erlaubt');
  end;
  if zahl2 > 0 then
  begin
    n := 1;
    y := zahl;
    while n < zahl2 do
    begin //hier begin vergessen!
      zahl := zahl * y;
      n := n + 1;
    end; //und das dazugehörige end;
  end
   else
    zahl := 1;
  end;
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#23

Re: PI

  Alt 11. Mai 2010, 17:23
Bitte gewöhne dir gleich von Anfang an das Einrücken an, auch wenn es mehr Arbeit bedeutet... im Endeffekt spart es aber unheimlich viel Arbeit! Vielleicht fällt dir hier etwas auf:
Delphi-Quellcode:
if zahl2 < 0 then
  begin
    showmessage ('Nicht erlaubt');
  end;
if zahl2 > 0 then
  begin
    n := 1;
    y := zahl;
    while n < zahl2 do
      zahl := zahl * y;
    n := n + 1;
  end else
    zahl := 1;
end;
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
-Ptype-

Registriert seit: 11. Mai 2010
Ort: Hessen
23 Beiträge
 
#24

Re: PI

  Alt 11. Mai 2010, 17:28
Delphi-Quellcode:
if zahl2 < 0 then
  begin
    showmessage ('Nicht erlaubt');
  end;
  if zahl2 > 0 then
  begin
    n := 1;
    y := zahl;
    while n < zahl2 do
    begin //hier begin vergessen!
      zahl := zahl * y;
      n := n + 1;
    end; //und das dazugehörige end;
  end
   else
    zahl := 1;
  end;
thx dafür aber es kommt immer noch der selbe Fehler bei: zahl := 1; :S
Die Welt des Programmierens öffnet sich nur denen, die sich die Zeit nehmen sich damit zu beschäftigen!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: PI

  Alt 11. Mai 2010, 17:39
Abgesehn von dem fehlenden ELSE zwischen
Delphi-Quellcode:
end;
if zahl2 > 0 then
Zeige mal bitte die gesamte Prozedur, denn in dem aktuell gezeigten Code-Stückchen gibt es anscheinend keinen Grund für diese Fehlermeldung.



PS: genau aus solchen Gründe sollten die ersten Stunden für Themen wie
- Verwendung der IDE und der OH
- Codeformatierung
- Fehleranalyse
- Debugging
verwendet werden.
Ist jetzt kein Vorwurf an dich, sondern mehr an die Lehrer, welche oftmals selber nicht grade "richtig" Ahnung haben.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
-Ptype-

Registriert seit: 11. Mai 2010
Ort: Hessen
23 Beiträge
 
#26

Re: PI

  Alt 11. Mai 2010, 17:45
Delphi-Quellcode:
procedure TForm2.ButtonGleichClick(Sender: TObject);
{************************************************************************}
var zahl2,n : double;
    pi : real;
begin
  zahl2 := strtofloat (Edit1.Text);
  case merk of
    plus: zahl := zahl + zahl2;
    minus: zahl := zahl - zahl2;
    mal: zahl := zahl * zahl2;
    geteilt: zahl := zahl / zahl2;
    hoch: zahl := zahl * zahl;
    wurzel: zahl := sqrt(zahl);
    hochx: if zahl2 < 0 then // Hier Fängts An!
               begin
                 showmessage ('Nicht erlaubt');
               end
             else
             if zahl2 > 0 then
               begin
                 n := 1;
                 y := zahl;
               while n < zahl2 do
               begin
                 zahl := zahl * y;
                 n := n + 1;
               end;
             end
             else
               zahl := 1;
             end;
    wurzelx: begin
               n := zahl;
               zahl := exp((1/n)*ln(zahl2));
             end;
    prozent: begin
               n := 100;
               zahl := zahl * zahl2 / n;
             end;
  end;
    edit1.text:=floattostr(zahl);
    neue_zahl := True;
    ButtonKomma.Enabled := True;
    ButtonGleich.Enabled := False;
end;
Hier das ist die Prozedur wo der Codeschnipsel herstammt.
Die Welt des Programmierens öffnet sich nur denen, die sich die Zeit nehmen sich damit zu beschäftigen!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#27

Re: PI

  Alt 11. Mai 2010, 17:48
Schließ den ganzen Code zum Label "hochx" mal in begin und end ein.
Delphi-Quellcode:
case...of
...
hochx: begin
         //Dein Code
       end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
-Ptype-

Registriert seit: 11. Mai 2010
Ort: Hessen
23 Beiträge
 
#28

Re: PI

  Alt 11. Mai 2010, 17:51
Delphi-Quellcode:
procedure TForm2.ButtonGleichClick(Sender: TObject);
{************************************************************************} 
var zahl2,n : double;
    pi : real;
begin
  zahl2 := strtofloat (Edit1.Text);
  case merk of
    plus: zahl := zahl + zahl2;
    minus: zahl := zahl - zahl2;
    mal: zahl := zahl * zahl2;
    geteilt: zahl := zahl / zahl2;
    hoch: zahl := zahl * zahl;
    wurzel: zahl := sqrt(zahl);
    hochx: begin
             if zahl2 < 0 then // Hier Fängts An!
               begin
                 showmessage ('Nicht erlaubt');
               end
             else
             if zahl2 > 0 then
               begin
                 n := 1;
                 y := zahl;
               while n < zahl2 do
               begin
                 zahl := zahl * y;
                 n := n + 1;
               end;
             end
             else
               zahl := 1;
             end;
           end;
    wurzelx: begin // HIer ist ein neuer Fehler
               n := zahl;
               zahl := exp((1/n)*ln(zahl2));
             end;
    prozent: begin
               n := 100;
               zahl := zahl * zahl2 / n;
             end;
  end;
    edit1.text:=floattostr(zahl);
    neue_zahl := True;
    ButtonKomma.Enabled := True;
    ButtonGleich.Enabled := False;
end;

Der alte fehler ist weg aber ein neuer ist da -.-
Die Welt des Programmierens öffnet sich nur denen, die sich die Zeit nehmen sich damit zu beschäftigen!
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#29

Re: PI

  Alt 11. Mai 2010, 17:52
Zitat von -Ptype-:
Der alte fehler ist weg aber ein neuer ist da -.-
Und wie zeigt sich der - und wie heißt er?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#30

Re: PI

  Alt 11. Mai 2010, 17:54
Der heißt auf Deutsch "jetzt hat er ein end zuviel". Es geht eben nichts über eine gescheite Einrückung
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 11:32 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