Autor Beitrag
dejavu
Hält's aus hier
Beiträge: 13



BeitragVerfasst: So 02.05.10 17:36 
Nabend, ich muss für die Schule ein Delphi Programm schreiben, welches quadratische Gleichungen der art 'ax^2+bx+c=0'
löst. Doch wenn ich mein geschriebenes Programm starten möchte kommen immer Fehler auf.. kann wer helfen? Danke im Vorraus.
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
unit UHaupt; 

interface 

uses 
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
Dialogs, StdCtrls; 

type 
TForm1 = class(TForm) 
Edit1: TEdit; 
Label1: TLabel; 
Edit2: TEdit; 
Label2: TLabel; 
Edit3: TEdit; 
Label3: TLabel; 
Label4: TLabel; 
Label5: TLabel; 
Label6: TLabel; 
Button1: TButton; 
Label7: TLabel; 
L1: TLabel; 
L2: TLabel; 

procedure Button1Click(Sender: TObject); 
private 
{ Private declarations } 
public 
{ Public declarations } 
end

var 
Form1: TForm1; 

implementation 

{$R *.dfm} 

procedure TForm1.Button1Click(Sender: TObject); 

var a, b, c, Diskriminante, L1, L2: Real; 
LoesungText1, LoesungText2: String
begin 

a := StrToFloat(Edit1.Text); 
b := StrToFloat(Edit2.Text); 
c := StrToFloat(Edit3.Text); 


if a = 0 then 
Label7.Caption := 'Keine Quadratische Gleichung!' 
else 
begin 
Diskriminante := b*b - 4*a*c; 


if Diskriminante < 0 then 
Label7.Caption := 'Keine Lösung möglich!' 
else 
begin 

if Diskriminante = 0 then 
begin 
Label7.Caption := 'Es gibt nur eine Lösung!'
L1 := - b / (2*a); 
LoesungText1 := FloatToStr(L1); 
end 
else 
begin 
Label7.Caption := '2 Lösungen!'
L1 := (- b + sqrt(Diskriminante)) / (2*a); 
L2 := (- b - sqrt(Diskriminante)) / (2*a); 
LoesungText1 := FloatToStr(L1); 
LoesungText2 := FloatToStr(L2); 
end
end
end

self.EditL1.Text:=LoesungText1; 
self.EditL2.Text:=LoesungText2; 
end

end.

Sorry, vergessen zu sagen welche Fehler.

1. [Error]UHaupt.pas(79):undeclared indentifier: 'EditL1'
2. [Error]UHaupt.pas(80):undeclared indentifier: 'EditL2'
3. [Fatal Error] QuadratischeGleichungen.dpr(6): Could not compile used unit 'UHaupt.pas'

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


Aah danke dir Jaenicke, habe anstatt Editfelder Label erstellt, dass ist denke ich das Problem.

Oder auch nicht obwohl die Edit-Felder jetzt
L1: TEdit;
L2: TEdit;
heißen...


Zuletzt bearbeitet von dejavu am So 02.05.10 18:16, insgesamt 3-mal bearbeitet
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19339
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 02.05.10 17:40 
Hallo und :welcome:

user profile icondejavu hat folgendes geschrieben Zum zitierten Posting springen:
Doch wenn ich mein geschriebenes Programm starten möchte kommen immer Fehler auf..
Wäre nett, wenn du uns auch noch sagst welche. Und wo diese auftreten. ;-)

// EDIT:
Ja, die Fehlermeldungen sagen doch schon alles:
Es gibt bei dir keine Editfelder mit den Namen EditL1 und EditL2. Deshalb kannst du natürlich auch nicht auf welche mit diesem Namen zugreifen. Deine Editfelder heißen Edit1, Edit2 und Edit3, da du die Standardnamen beibehalten hast.

Heißt: Du hast den Quelltext kopiert, aber die Namen der Komponenten nicht angepasst, weil du eigentlich mit dem Quelltext nix anfangen kannst. :roll:
Wie wäre es, wenn du den zumindest einmal zu verstehen versuchst?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19339
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 02.05.10 18:23 
user profile icondejavu hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
2:
self.EditL1.Text:=LoesungText1; 
self.EditL2.Text:=LoesungText2;

[...]
Oder auch nicht obwohl die Edit-Felder jetzt
L1: TEdit;
L2: TEdit;
heißen...
Naja...
Also irgendwie heißen die immer noch nicht genauso, findest du nicht? :zwinker:

Wenn du jetzt alle Antworten immer oben rein editierst, dann findet sich hier bald niemand mehr zurecht, du kannst ruhig auf "Antworten" klicken. ;-)
Deshalb habe ich das jetzt mal gemacht statt noch mehr zu editieren...