Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Edit Felder mit Rechenfunktionen erstellen aber wie? (https://www.delphipraxis.net/40900-edit-felder-mit-rechenfunktionen-erstellen-aber-wie.html)

Duffy Duck 23. Feb 2005 20:12

Re: Edit Felder mit Rechenfunktionen erstellen aber wie?
 
also, habe den Code eingegeben... beim compilieren erhalte ich bei dieser Zeile einen Fehler, was das immer auch heissen mag....

Delphi-Quellcode:
procedure TForm1.AllEditKeyPress(Sender: TObject; var Key: Char);

Binärbaum 23. Feb 2005 20:18

Re: Edit Felder mit Rechenfunktionen erstellen aber wie?
 
Zitat:

Zitat von Duffy Duck
also, habe den Code eingegeben... beim compilieren erhalte ich bei dieser Zeile einen Fehler, was das immer auch heissen mag....

Delphi-Quellcode:
procedure TForm1.AllEditKeyPress(Sender: TObject; var Key: Char);

Da wäre es schon hilfreich, zu sagen was für ein Fehler genau es ist. (Fehler-/Compilermeldung).

MfG
Binärbaum

alcaeus 23. Feb 2005 20:22

Re: Edit Felder mit Rechenfunktionen erstellen aber wie?
 
Hallo Duffy Duck,

nachdem es in Sharkys Code nicht enthalten ist, schaetze ich dass du vergessen hast, die Funktionen ind er Klasse zu deklarieren. Fuege einfach unter den ganzen Edit-Variablen folgende Zeile hinzu:
Delphi-Quellcode:
procedure AllEditKeyPress(Sender: TObject; var Key: Char);
Greetz
alcaeus

jfheins 23. Feb 2005 20:24

Re: Edit Felder mit Rechenfunktionen erstellen aber wie?
 
Delphi-Quellcode:
Glaskugel := TGlaskugel.Create;
Glaskugel.Input := 'Fehler in Zeile X';
Glaskugel.ProcessInput;
Glaskugel.PostResult ('DelphiPRAXIS');
Glaskugel.Free;
Ergebnis: Guck doch 'mal, ob davor eine Semikolon fehlt ...

:mrgreen: :mrgreen: :mrgreen:

Duffy Duck 23. Feb 2005 20:40

Re: Edit Felder mit Rechenfunktionen erstellen aber wie?
 
irgenwie bekomme ich es einfach nicht gebacken..... ich sage ja "Anfänger"

hier mal den Code wie ich Ihn von Sharky eingefügt habe:
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.AllEditKeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in ['0'..'9', #8, DecimalSeparator]) then
  begin
    Key := #0;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  // Allen drei Eingabefeldern wir die selbe OnKeyPress-Methode zugewiesen
  Edit1.OnKeyPress := AllEditKeyPress;
  Edit2.OnKeyPress := AllEditKeyPress;
  Edit3.OnKeyPress := AllEditKeyPress;
  // Alle Editfelder löschen
  Edit1.Clear;
  Edit2.Clear;
  Edit3.Clear;
  Edit4.Clear;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  zahl1,
  zahl2,
  zahl3 : Real;
  ergebniss : Real;
begin
  // Prüfen ob in den Editfeldern etwas steht.
  if (Edit1.Text = '') then
  begin
    ShowMessage ('Bitte im Edit1 etwas eingeben');
    Edit1.SetFocus; // Caret in Edit1 setzen
    Exit; // Abbruch der Procedure
  end;

  if (Edit2.Text = '') then
  begin
    ShowMessage ('Bitte im Edit2 etwas eingeben');
    Edit2.SetFocus;
    Exit;
  end;

  if (Edit3.Text = '') then
  begin
    ShowMessage ('Bitte im Edit3 etwas eingeben');
    Edit3.SetFocus;
    Exit;
  end;

  zahl1 := StrToFloat(Edit1.Text); // Zahl aus Edit1 
  zahl2 := StrToFloat(Edit2.Text); // Zahl aus Edit2 
  zahl3 := StrToFloat(Edit3.Text); // Zahl aus Edit3 

  ergebniss := (zahl1 + zahl2) / zahl3; // Die Berechnung

  Edit4.Text := FloatToStr(ergebniss); // Ausgabe des Ergebnisses
end;

end.

alcaeus 23. Feb 2005 20:41

Re: Edit Felder mit Rechenfunktionen erstellen aber wie?
 
Wie gesagt...fuege diese Zeile
Delphi-Quellcode:
procedure AllEditKeyPress(Sender: TObject; var Key: Char);
unter dieser Zeile ein:
Delphi-Quellcode:
procedure FormCreate(Sender: TObject);
Anschliessend sollte alles funktionieren

Greetz
alcaeus

Duffy Duck 23. Feb 2005 20:52

Re: Edit Felder mit Rechenfunktionen erstellen aber wie?
 
hmmm habe ich nun auch gemacht... nur wird es einfach nicht compiliert... der cursor bleibt bei:

Delphi-Quellcode:
procedure TForm1.AllEditKeyPress(Sender: TObject; var Key: Char);
nach "AllEditKeyPress" stehen.... also vor der Klammer

alcaeus 23. Feb 2005 20:55

Re: Edit Felder mit Rechenfunktionen erstellen aber wie?
 
In welcher zeile? Noch im Deklarationsteil der Klasse oder bei der Implementation?
Und haettest du endlich die Guete uns die Fehlermeldung zu verraten? :roll:

Greetz
alcaeus

Duffy Duck 23. Feb 2005 21:01

Re: Edit Felder mit Rechenfunktionen erstellen aber wie?
 
nunja, so wie ich es verstanden habe, in der Implementation...

hier die Fehler:
  • Erzeugen
    [Fehler] Unit1.pas(52): Undefinierter Bezeichner: 'Button1Click'
    [Fehler] Unit1.pas(52): ';' erwartet, aber '(' gefunden
    [Fehler] Unit1.pas(60): Undefinierter Bezeichner: 'Edit1'
    [Fehler] Unit1.pas(63): Operator oder Semikolon fehlt
    [Fehler] Unit1.pas(67): Undefinierter Bezeichner: 'Edit2'
    [Fehler] Unit1.pas(70): Operator oder Semikolon fehlt
    [Fehler] Unit1.pas(74): Undefinierter Bezeichner: 'Edit3'
    [Fehler] Unit1.pas(77): Operator oder Semikolon fehlt
    [Fehler] Unit1.pas(81): Es gibt keine überladene Version von 'StrToFloat', die man mit diesen Argumenten aufrufen kann
    [Fehler] Unit1.pas(82): Operator oder Semikolon fehlt
    [Fehler] Unit1.pas(82): Es gibt keine überladene Version von 'StrToFloat', die man mit diesen Argumenten aufrufen kann
    [Fehler] Unit1.pas(83): Operator oder Semikolon fehlt
    [Fehler] Unit1.pas(83): Es gibt keine überladene Version von 'StrToFloat', die man mit diesen Argumenten aufrufen kann
    [Fehler] Unit1.pas(85): Operator oder Semikolon fehlt
    [Fehler] Unit1.pas(87): Undefinierter Bezeichner: 'Edit4'
    [Fehler] Unit1.pas(87): '(' erwartet, aber ':=' gefunden
    [Fataler Fehler] Project2.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
¨

hoffe es hilft...

Matze 23. Feb 2005 21:09

Re: Edit Felder mit Rechenfunktionen erstellen aber wie?
 
Zitat:

Zitat von alcaeus
Delphi-Quellcode:
if not (Key in ['0'..'9', #8, DecimalSeparator]) then
da kommen sicher keine Buchstaben durch.

Wer hat dir denn das erzählt? ;)

Per Copy & Paste kommen auch Buchstaben durch. Aber ich denke, das ist vernachlässigbar, ist nur der Vollständligkeit halber.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:58 Uhr.
Seite 2 von 4     12 34      

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-2025 by Thomas Breitkreuz