Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi [Fehler] M_LGS.pas(115): E2018 Record, Objekt oder Klassentyp erforderlich (https://www.delphipraxis.net/198965-%5Bfehler%5D-m_lgs-pas-115-e2018-record-objekt-oder-klassentyp-erforderlich.html)

pchklm 14. Dez 2018 20:13

[Fehler] M_LGS.pas(115): E2018 Record, Objekt oder Klassentyp erforderlich
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute,

ich bekomme in Zeile 115 des nachfolgenden Programmes die folgende Fehlermeldung:
[Fehler] M_LGS.pas(115): E2018 Record, Objekt oder Klassentyp erforderlich

Kann mir jemand da weiterhelfen???

Danke im vorraus!

Der schöne Günther 14. Dez 2018 20:35

AW: [Fehler] M_LGS.pas(115): E2018 Record, Objekt oder Klassentyp erforderlich
 
Tipp: Lass dir den Quelltext mal vom Computer formatieren ([Strg]+[D])

Pro-Tipp: Zähle mal die
Delphi-Quellcode:
begin
und dann die
Delphi-Quellcode:
end;
in deinem Quelltext.

Auflösung:

Das ist so nicht richtig:
Delphi-Quellcode:
  while Ed_01.text[i]<>'=' do
  begin
    begin
    case Ed_01.text[i] of
    'x':begin
          if i=1 then x_1:= 1 else x_1:=strtofloat(Ed_01.text[i_2-i]);
          i_2:=i+1;
        end;
    'y':begin
          if i=1 then y_1:= 1 else y_1:=strtofloat(Ed_01.text[i_2-i]);
          i_2:=i+1;
        end;
    '+':begin
          if (Ed_01.text[i-1]<> 'x') and (Ed_01.text[i-1]<> 'y') then z_1:=-strtofloat(Ed_01.Text[i_2-i]);
        end;
    end;
    i:= i+1;
  end;
Wenn du den Computer den Text formatieren lässt siehst du was falsch ist.

mkinzler 14. Dez 2018 20:39

AW: [Fehler] M_LGS.pas(115): E2018 Record, Objekt oder Klassentyp erforderlich
 
Füge mal begin ... end nach dem then ein
Delphi-Quellcode:
   if (Ed_01.Text[i-1] <> 'x') and (Ed_01.text[g-1]<> 'y') then
   begin // <- hier
     z_1:=-strtofloat(Ed_01.Text[i_2-i]);
     Ed_03.Text:='x_1 ist' + floattostr(x_1)+', y_1 ist' + floattostr(y_1)+' und z_1 ist' + floattostr(z_1);
   end; // <- und hier

pchklm 14. Dez 2018 21:04

AW: [Fehler] M_LGS.pas(115): E2018 Record, Objekt oder Klassentyp erforderlich
 
Also begin und end hab ich gezählt. Ich komme da auf gleich viele.
Durch das zusätzliche begin und end wird das Problem leider auch nicht beheoben sonstige Ideen?

Amenovis 14. Dez 2018 21:13

AW: [Fehler] M_LGS.pas(115): E2018 Record, Objekt oder Klassentyp erforderlich
 
ehm wieso hast du eigentlich nen doppel begin ??


do begin begin ?????

Delphi-Quellcode:
while Ed_01.text[i]<>'=' do
  begin {<<<<<---- hier nur 1 begin statt 2}
    case Ed_01.text[i] of
    'x':begin
          if i=1 then begin x_1:= 1 else x_1:=strtofloat(Ed_01.text[i_2-i]);
          i_2:=i+1;
        end;
    'y':begin
          if i=1 then begin y_1:= 1 else y_1:=strtofloat(Ed_01.text[i_2-i]);
          i_2:=i+1;
        end;
    '+':begin
          if (Ed_01.text[i-1]<> 'x') and (Ed_01.text[i-1]<> 'y') then begin z_1:=-strtofloat(Ed_01.Text[i_2-i]);
        end;
    i:= i+1;
  end;
ist es so nicht besser ??

lg Timo

jaenicke 14. Dez 2018 21:46

AW: [Fehler] M_LGS.pas(115): E2018 Record, Objekt oder Klassentyp erforderlich
 
Zitat:

Zitat von Amenovis (Beitrag 1420909)
Delphi-Quellcode:
while Ed_01.text[i]<>'=' do
  begin {<<<<<---- hier nur 1 begin statt 2}
    case Ed_01.text[i] of
    'x':begin
          if i=1 then begin x_1:= 1 else x_1:=strtofloat(Ed_01.text[i_2-i]);
          i_2:=i+1;
        end;
    'y':begin
          if i=1 then begin y_1:= 1 else y_1:=strtofloat(Ed_01.text[i_2-i]);
          i_2:=i+1;
        end;
    '+':begin
          if (Ed_01.text[i-1]<> 'x') and (Ed_01.text[i-1]<> 'y') then begin z_1:=-strtofloat(Ed_01.Text[i_2-i]);
        end;
    i:= i+1;
  end;
ist es so nicht besser ??

Nein, denn jetzt ist das doppelte begin weg, dafür ist nach jedem then ein begin zu viel drin.

Der schöne Günther 14. Dez 2018 21:47

AW: [Fehler] M_LGS.pas(115): E2018 Record, Objekt oder Klassentyp erforderlich
 
Sind alle schon in Wochenend-Stimmung? Ein
Delphi-Quellcode:
end;
gehört nicht nur zu einem
Delphi-Quellcode:
begin
, sondern evtl. auch zu anderen Statements. So wie
Delphi-Quellcode:
case
und sowas...

Amenovis 14. Dez 2018 21:49

AW: [Fehler] M_LGS.pas(115): E2018 Record, Objekt oder Klassentyp erforderlich
 
Ok mhh dann so

Delphi-Quellcode:
while Ed_01.text[i]<>'=' do
  begin
    case Ed_01.text[i] of
    'x':begin
          if i=1 then x_1:= 1 else x_1:=strtofloat(Ed_01.text[i_2-i]);
          i_2:=i+1;
        end;
    'y':begin
          if i=1 then y_1:= 1 else y_1:=strtofloat(Ed_01.text[i_2-i]);
          i_2:=i+1;
        end;
    '+':begin
          if (Ed_01.text[i-1]<> 'x') and (Ed_01.text[i-1]<> 'y') then z_1:=-strtofloat(Ed_01.Text[i_2-i]);
        end;
        end;
    i:= i+1;
end;

pchklm 14. Dez 2018 22:35

AW: [Fehler] M_LGS.pas(115): E2018 Record, Objekt oder Klassentyp erforderlich
 
Danke Günther! Das Programm lässt sich jetzt zumindest mal starten. Doch wenn ich den Button andrücke, nachdem ich etwas im ersten Edit eingegeben habe kommt ein kleines fenster mit einem roten Kreuz und einem Punkt dahinter und oben links steht: Auf den Prozess kann nicht zugegriffen werde. Weiß jemand wie man das beheben kann?

Luckie 15. Dez 2018 20:02

AW: [Fehler] M_LGS.pas(115): E2018 Record, Objekt oder Klassentyp erforderlich
 
Für eine neue Frage, mach bitte einen neuen Thread auf.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:59 Uhr.
Seite 1 von 2  1 2      

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