AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Anfänger findest fehler nicht: error in prozedur
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi Anfänger findest fehler nicht: error in prozedur

Ein Thema von eDonkey · begonnen am 10. Okt 2011 · letzter Beitrag vom 11. Okt 2011
 
Benutzerbild von eDonkey
eDonkey

Registriert seit: 8. Okt 2011
11 Beiträge
 
Delphi 7 Personal
 
#1

Delphi Anfänger findest fehler nicht: error in prozedur

  Alt 10. Okt 2011, 17:39
Delphi-Version: 5
Hallo Community, ich bin gerade dabei delphi zu lernen und programmiere nun einen taschenrechner der auch mit hotkeys arbeitet.

bei meiner backspace prozedur bekomm ich aber den error:
[Error] Rechner.dpr(307): Incompatible types: 'String' and 'procedure, untyped pointer or untyped parameter'
Zeile hab ich markiert, ist in der vorletzten prozedur.
könnt ihr mir weiterhelfen? schonmal danke im vorraus

hier der sourcecode:

[SPOILER]
Delphi-Quellcode:
unit Rechner;

interface

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

type
  TForm1 = class(TForm)
    LabelZeichen: TLabel;
    Edit: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Button11: TButton;
    Button12: TButton;
    Button13: TButton;
    Button14: TButton;
    Button15: TButton;
    Button16: TButton;
    Button17: TButton;
    Button18: TButton;
    Button19: TButton;
    Button20: TButton;
    Button21: TButton;
    Button22: TButton;
    Button23: TButton;
    LabelMemory: TLabel;
    EditErgebnis: TEdit;
    procedure Button9Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure Button20Click(Sender: TObject);
    procedure Button22Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button21Click(Sender: TObject);
    procedure Button23Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Backspace;
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);


  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Safemode: Boolean = false;
  Memory: String = '';

implementation

{$R *.dfm}

procedure TForm1.Button9Click(Sender: TObject);
begin
If Edit.Text <> '0then
  Edit.Text := Edit.Text + '0';
end;

procedure TForm1.Button19Click(Sender: TObject);
begin
If Edit.Text = '0then
  Edit.Text := '1'
else
  Edit.Text := Edit.Text + '1';
end;

procedure TForm1.Button20Click(Sender: TObject);
begin
If Edit.Text = '0then
  Edit.Text := '2'
else
  Edit.Text := Edit.Text + '2';
end;

procedure TForm1.Button22Click(Sender: TObject);
begin
If Edit.Text = '0then
  Edit.Text := '3'
else
  Edit.Text := Edit.Text + '3';
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
If Edit.Text = '0then
  Edit.Text := '4'
else
  Edit.Text := Edit.Text + '4';
end;

procedure TForm1.Button13Click(Sender: TObject);
begin
If Edit.Text = '0then
  Edit.Text := '5'
else
  Edit.Text := Edit.Text + '5';
end;

procedure TForm1.Button14Click(Sender: TObject);
begin
If Edit.Text = '0then
  Edit.Text := '6'
else
  Edit.Text := Edit.Text + '6';
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
If Edit.Text = '0then
  Edit.Text := '7'
else
  Edit.Text := Edit.Text + '7';
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
If Edit.Text = '0then
  Edit.Text := '8'
else
  Edit.Text := Edit.Text + '8';
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
If Edit.Text = '0then
  Edit.Text := '9'
else
  Edit.Text := Edit.Text + '9';
end;

procedure TForm1.Button18Click(Sender: TObject);
begin
If not Safemode then
  EditErgebnis.Text := FloatToStr(StrToFloat(Edit.Text));
If not Safemode then
  Edit.Text := '0';
  Safemode := true;
  LabelZeichen.Caption := '+';
end;

procedure TForm1.Button16Click(Sender: TObject);
begin
if not AnsiContainsText(Edit.Text,',') then
  Edit.Text:= Edit.Text+',';
end;

procedure TForm1.Button11Click(Sender: TObject);
begin
EditErgebnis.Text := '';
LabelZeichen.Caption := '';
Edit.Text := '0';
Safemode := false;
end;

procedure TForm1.Button21Click(Sender: TObject);
begin
Edit.Text := '0';
end;

procedure TForm1.Button23Click(Sender: TObject);
begin
If not Safemode then
  EditErgebnis.Text := FloatToStr(StrToFloat(Edit.Text));
If not Safemode then
  Edit.Text := '0';
Safemode := true;
LabelZeichen.Caption := '-';
end;

procedure TForm1.Button17Click(Sender: TObject);
begin
If not Safemode then
  EditErgebnis.Text := FloatToStr(StrToFloat(Edit.Text));
If not Safemode then
  Edit.Text := '0';
Safemode := true;
LabelZeichen.Caption := '*';
end;

procedure TForm1.Button12Click(Sender: TObject);
begin
If not Safemode then
  EditErgebnis.Text := FloatToStr(StrToFloat(Edit.Text));
If not Safemode then
  Edit.Text := '0';
Safemode := true;
LabelZeichen.Caption := '/';
end;

procedure TForm1.Button4Click(Sender: TObject);
var
s : String;
begin
s := Edit.Text;
If s = '0then
else if AnsiContainsText(s, '-') then
  Delete(s,1,1)
else
  s := '-' + s;
  Edit.Text := s;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
Memory := Edit.Text;
LabelMemory.Caption := 'M'
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
If Memory <> 'then
   Edit.Text := Memory;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Memory := '';
LabelMemory.Caption := '';
end;

procedure TForm1.Button15Click(Sender: TObject);
var
Wert1,Wert2: Extended;
Casevar: Integer;
Ergebnis: String;
begin
Casevar := 0; //compiler meckern umgehen
If (EditErgebnis.Text <> '') and (EditErgebnis.Text <> 'error') then begin
  Wert1 := StrToFloat(EditErgebnis.Text);
  Wert2 := StrToFloat(Edit.Text);
  If LabelZeichen.caption = '+then
    Casevar := 1
  else If LabelZeichen.caption = '-then
    Casevar := 2
  else If LabelZeichen.caption = '*then
    Casevar := 3
  else If LabelZeichen.caption = '/then
    Casevar := 4
  else If (LabelZeichen.caption = '/') and (Edit.Text = '0') then
    Casevar := 5;
  If (Casevar = 1) xor (Casevar = 2) xor (Casevar = 3) xor (Casevar = 4) xor
     (Casevar = 5) then begin
    Case Casevar of
      1: Ergebnis := FloatToStr(Wert1 + Wert2);
      2: Ergebnis := FloatToStr(Wert1 - Wert2);
      3: Ergebnis := FloatToStr(Wert1 * Wert2);
      4: Ergebnis := FloatToStr(Wert1 / Wert2);
      5: Ergebnis := '0';
    end;
  end
end;
EditErgebnis.Text := Ergebnis;
end;

procedure TForm1.Button8Click(Sender: TObject);
var
s: String;
begin
s := Edit.Text;
If (s <> '0') and (s <> '1') then begin
  if AnsiContainsText(s, '-') then begin
    Delete(s,1,1);
    Edit.Text := FloatToStr(Sqrt(StrToFloat(s)));
  end;
  if s = '1,00000000000001then
    Edit.Text := '1'
  else
    Edit.Text := FloatToStr(Sqrt(StrToFloat(s)));
end;
end;

//Problemprozedur
procedure TForm1.Backspace;
var
Str: String;
begin
Str := Edit.Text;
If Length(Str) < 1 then
  Edit.Text := Delete(Str, Length(Str), 1)
else // line 307...
  Edit.Text := '0';
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  case Key of
    VK_NUMPAD0, $30 : Button9.Click;
    VK_NUMPAD1, $31 : Button19.Click;
    VK_NUMPAD2, $32 : Button20.Click;
    VK_NUMPAD3, $33 : Button22.Click;
    VK_NUMPAD4, $34 : Button10.Click;
    VK_NUMPAD5, $35 : Button13.Click;
    VK_NUMPAD6, $36 : Button14.Click;
    VK_NUMPAD7, $37 : Button6.Click;
    VK_NUMPAD8, $38 : Button3.Click;
    VK_NUMPAD9, $39 : Button5.Click;
    110 : Button16.Click;
    106 : Button17.Click;
    107 : Button18.Click;
    109 : Button23.Click;
    111 : Button12.Click;
    VK_RETURN : Button15.Click;
    VK_BACK : Backspace;
    VK_ESCAPE : close;
  end;
end;

end.
[/SPOILER]

Geändert von eDonkey (10. Okt 2011 um 17:56 Uhr)
  Mit Zitat antworten Zitat
 


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 06:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz