Hallo, Leute,
ich programmiere als Anfänger gerade in Embarcadero
RAD Studio XE3. Ich gehe die Anfängerbeispiele zum Programmieren mit der Delphi-Sprache durch und verwende dazu Doberenz, W. & Gewinnus, T. (2007). Borland Delphi 7 - Grundlagen, Profiwissen, Kochbuch (Das umfassende Handbuch für die
Win32-Anwendungsentwicklung). Ich bin im Beispiel, wo man einen "Pieptonunterdrücker" programmieren soll. Dazu wird folgender Quelltext geliefert:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if CheckBox1.Checked then if key = #13 then key := #0
end;
Dieser wurde insgesamt wie folgt eingefügt:
Delphi-Quellcode:
unit Pieptonunterdruecken;
interface
uses
Winapi.Windows,
Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms,
Vcl.Dialogs,
Vcl.StdCtrls;
type
TForm1 =
class(TForm)
Edit1: TEdit;
CheckBox1: TCheckBox;
Button1: TButton;
procedure Edit1Change(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Edit1KeyPress(Sender: TObject;
var Key: Char);
begin
if CheckBox1.Checked
then if key = #13
then key := #0
end;
end.
Ich bin dann auf Start F9 gegangen. Da kam unten folgende Meldung:
Abhängigkeiten des Projekts werden überprüft...
Compilieren von Project2.dproj (Debug,
Win32)
brcc32 Befehlszeile für "Project2.vrc"
c:\program files (x86)\embarcadero\
rad studio\10.0\bin\cgrc.exe -c65001 "Project2.vrc" -foProject2.res
dcc Befehlszeile für "Project2.dpr"
c:\program files (x86)\embarcadero\
rad studio\10.0\bin\dcc32.exe -$O- -$W+ --no-config -M -Q -TX.exe
-AGenerics.Collections=System.Generics.Collections; Generics.Defaults=System.Generics.Defaults;WinType s=Windows;WinProcs=Windows;DbiTypes=
BDE;
DbiProcs=
BDE;DbiErrs=
BDE -DDEBUG -E.\
Win32\Debug -I"c:\program files (x86)\embarcadero\
rad studio\10.0\lib\
Win32\debug\DE";"c:\program files
(x86)\embarcadero\
rad studio\10.0\lib\
Win32\debug";"c:\program files (x86)\embarcadero\
rad studio\10.0\lib\
Win32\release\DE";"c:\program files
(x86)\embarcadero\
rad studio\10.0\lib\
Win32\release";"\\psf\Home\Documen ts\
RAD Studio\10.0\Imports";"c:\program files (x86)\embarcadero\
rad
studio\10.0\Imports";"C:\Users\Public\Documents\RA D Studio\10.0\Dcp";"c:\program files (x86)\embarcadero\
rad studio\10.0\include"
-LE"C:\Users\Public\Documents\
RAD Studio\10.0\
Bpl" -LN"C:\Users\Public\Documents\
RAD Studio\10.0\Dcp" -N0.\
Win32\Debug -NSWinapi;System.Win;Data.Win;
Datasnap.Win;Web.Win;
Soap.Win;
Xml.Win;
Bde;System;X ml;Data;Datasnap;Web;
Soap;
Vcl;
Vcl.Imaging;
Vcl.Touc h;
Vcl.Samples;
Vcl.Shell; -O"c:\program files
(x86)\embarcadero\
rad studio\10.0\lib\
Win32\release";"\\psf\Home\Documen ts\
RAD Studio\10.0\Imports";"c:\program files (x86)\embarcadero\
rad
studio\10.0\Imports";"C:\Users\Public\Documents\RA D Studio\10.0\Dcp";"c:\program files (x86)\embarcadero\
rad studio\10.0\include" -R"c:\program files
(x86)\embarcadero\
rad studio\10.0\lib\
Win32\release\DE";"c:\program files (x86)\embarcadero\
rad studio\10.0\lib\
Win32\release";
"\\psf\Home\Documents\
RAD Studio\10.0\Imports";"c:\program files (x86)\embarcadero\
rad studio\10.0\Imports";"C:\Users\Public\Documents\RA D
Studio\10.0\Dcp";"c:\program files (x86)\embarcadero\
rad studio\10.0\include" -U"c:\program files (x86)\embarcadero\
rad
studio\10.0\lib\
Win32\debug\DE";"c:\program files (x86)\embarcadero\
rad studio\10.0\lib\
Win32\debug";"c:\program files (x86)\embarcadero\
rad
studio\10.0\lib\
Win32\release\DE";"c:\program files (x86)\embarcadero\
rad studio\10.0\lib\
Win32\release";"\\psf\Home\Documen ts\
RAD
Studio\10.0\Imports";"c:\program files (x86)\embarcadero\
rad studio\10.0\Imports";"C:\Users\Public\Documents\RA D Studio\10.0\Dcp";"c:\program files
(x86)\embarcadero\
rad studio\10.0\include" -V -VN -NB"C:\Users\Public\Documents\
RAD Studio\10.0\Dcp" -NH"C:\Users\Public\Documents\
RAD
Studio\10.0\hpp" -NO.\
Win32\Debug Project2.dpr
[dcc32 Fehler] Pieptonunterdruecken.pas(28): E2003 Undeklarierter Bezeichner: 'Edit1KeyPress'
[dcc32 Fehler] Pieptonunterdruecken.pas(28): E2029 ';' erwartet, aber '(' gefunden
[dcc32 Fehler] Pieptonunterdruecken.pas(28): E2029 ';' erwartet, aber ')' gefunden
[dcc32 Fehler] Pieptonunterdruecken.pas(30): E2003 Undeklarierter Bezeichner: 'CheckBox1'
[dcc32 Fehler] Pieptonunterdruecken.pas(14): E2065 Ungenügende Forward- oder External-Deklaration: 'TForm1.Edit1Change'
[dcc32 Fataler Fehler] Project2.dpr(5): F2063 Verwendete
Unit 'Pieptonunterdruecken.pas' kann nicht compiliert werden
Misslungen
Verstrichene Zeit: 00:00:04.7
An welcher Stelle könnte er denn Klammern statt Semikolons gefunden haben? Was ist eine Ungenügende Forward- oder External-Deklaration? Wie kann ich den Code verbessern?
Danke und Gruß, lusthansa
PS: Dieses Mal habe ich nicht den Fehler des Crosspostings gemacht; die Frage steht wirklich nur hier