Einzelnen Beitrag anzeigen

lusthansa

Registriert seit: 7. Mär 2013
9 Beiträge
 
#1

Fehler im Delphi-Code ganz am Ende beim Kompilieren

  Alt 7. Mär 2013, 05:30
Delphi-Version: XE2
Hallo, ich habe die Entwicklungsumgebung Embarcadero RAD XE3. Das kann man in der Auswahl nicht einstellen. Ich habe einen 30tägigen Test. Ich bin Student und muss mir selber Delphi beibringen. Sonst kann ich kein Praktikum machen. Ich habe mir auf http://www.amazon.de/Borland-Delphi-...dp_ob_image_bk das Hanser-Buch dazu gekauft. Ich bin gerade in Kapitel 1.3.2 Einführungsbeispiel für Umsteiger ... da soll man einen Währungsumrechner programmieren. Das Programm macht man gar nicht selber, man kopiert aus dem Ebook nur den Quellcode und fügt ihn zwischen begin und end in eine Unit ein. Wenn ich das mache, dann kommt bei mir folgender Code raus:

unit Beispiel2;

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)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Button1: TButton;
Edit3: TEdit;
Label3: TLabel;
procedure EditKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Close
end;

procedure TForm1.EditKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
var kurs, euro, dollar: Single; // Variablen, mit denen gerechnet wird
s: string; code: Integer; // Hilfsvariablen
begin
// Werte aus Editierfeldern in Variablen einlesen und prüfen:
Val(Form1.Edit1.Text, kurs, code); // Kurs einlesen
if code <> 0 then Exit;
Val(Form1.Edit2.Text, euro, code); // Euro einlesen
if code <> 0 then Exit;
Val(Form1.Edit3.Text, dollar, code); // Dollar einlesen
if code <> 0 then Exit;
// Berechnungen mit den Variablen durchführen:
if Sender = Edit3 then euro := dollar * kurs // dollar wurde eingegeben
else dollar := euro / kurs; // euro oder kurs wurden eingegeben
// Werte der Variablen in den Editierfeldern anzeigen:
if Sender = Edit3 then // dollar geändert
begin
Str(euro:8:2,s); Form1.Edit2.Text := s // Anzeige von euro (8 Stellen,
// davon 2 Nachkomma)
end else // kurs oder euro geändert
begin
Str(dollar:8:2,s); Form1.Edit3.Text := s // sonst Anzeige von dollar
end
end;

wenn ich dann auf die Pfeiltaste mit dem roten Dingsda gehe (also Start (F9)), dann kommen zwei Fehler. Wenn ich dann auf OK gehe, wird die letzte Zeile in rot markiert angezeigt. Wie muss ich es richtig machen und warum?

Danke und Gruß, Lusthansa
  Mit Zitat antworten Zitat