![]() |
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);
|
Re: Edit Felder mit Rechenfunktionen erstellen aber wie?
Zitat:
MfG Binärbaum |
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:
Greetz
procedure AllEditKeyPress(Sender: TObject; var Key: Char);
alcaeus |
Re: Edit Felder mit Rechenfunktionen erstellen aber wie?
Delphi-Quellcode:
Ergebnis: Guck doch 'mal, ob davor eine Semikolon fehlt ...
Glaskugel := TGlaskugel.Create;
Glaskugel.Input := 'Fehler in Zeile X'; Glaskugel.ProcessInput; Glaskugel.PostResult ('DelphiPRAXIS'); Glaskugel.Free; :mrgreen: :mrgreen: :mrgreen: |
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. |
Re: Edit Felder mit Rechenfunktionen erstellen aber wie?
Wie gesagt...fuege diese Zeile
Delphi-Quellcode:
unter dieser Zeile ein:
procedure AllEditKeyPress(Sender: TObject; var Key: Char);
Delphi-Quellcode:
Anschliessend sollte alles funktionieren
procedure FormCreate(Sender: TObject);
Greetz alcaeus |
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:
nach "AllEditKeyPress" stehen.... also vor der Klammer
procedure TForm1.AllEditKeyPress(Sender: TObject; var Key: Char);
|
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 |
Re: Edit Felder mit Rechenfunktionen erstellen aber wie?
nunja, so wie ich es verstanden habe, in der Implementation...
hier die Fehler:
hoffe es hilft... |
Re: Edit Felder mit Rechenfunktionen erstellen aber wie?
Zitat:
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. |
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