AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

problem beim erstellen einer Funktion

Ein Thema von sigma · begonnen am 12. Jul 2006 · letzter Beitrag vom 12. Jul 2006
Antwort Antwort
Seite 1 von 2  1 2      
sigma

Registriert seit: 21. Jun 2006
29 Beiträge
 
#1

problem beim erstellen einer Funktion

  Alt 12. Jul 2006, 09:18
hallo ich habe ein Problem mit meiner Funktion
ich will eine funkion schreiben damit ich nicht immer bei meinem Taschenrechner bei jeder zeile den quelltext schreiben muss will dort nur noch die funktion auf rufen und dann soll es klappen
kann mir jemand dabei vielleicht helfen
Delphi-Quellcode:
function Taste (tas:Tbutton): integer; forward;
var strZahl: string;
    dblX : double;

    begin
         if edtEingabe.Text = '0then
            edtEingabe.Text := tas.caption
            else
            edt.Eingabe.Text := edtEingabe.Text + tas.Caption;
            strZahl := edtEingabe.Text;
            dblX := StrToFloat (StrZahl);
    end;
hoffe das man so eine Funktion erstellt
danke als mal für die hilfe
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Funktion

  Alt 12. Jul 2006, 09:22
Gib Deiner Frage bitte einen aussagekräftigen Titel. "Funktion" sagt nichts zu Deinem Problem aus

......

P.S.: Auch mehr als ein Wort sind im Titel erlaubt.
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#3

Re: problem beim erstellen einer Funktion

  Alt 12. Jul 2006, 09:29
Ja, so sieht im Allgemeinen eine Funktion aus.

Warum setzt du den Rückgabewert nicht?
Wenn du keinen Rückgabewert brauchst, nimm am Besten eine Prozedur.

procedure Name(Param: ParamType);
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
sigma

Registriert seit: 21. Jun 2006
29 Beiträge
 
#4

Re: problem beim erstellen einer Funktion

  Alt 12. Jul 2006, 09:39
mit prozeduren kenn ich mich auch nicht aus
und bei meiner Funktion bekomme ich sau viele fehlermeldung
zum beispiel
[Fehler] Unit2.pas(37): Anweisungen sind im Interface-Abschnitt nicht erlaubt
[Fehler] Unit2.pas(39): Undefinierter Bezeichner: 'edtEingabe'
[Fehler] Unit2.pas(39): 'THEN' erwartet, aber Bezeichner 'Text' gefunden
[Fehler] Unit2.pas(57): 'THEN' erwartet, aber Bezeichner 'Text' gefunden
[Fehler] Unit2.pas(67): 'THEN' erwartet, aber Bezeichner 'Text' gefunden
[Fehler] Unit2.pas(77): 'THEN' erwartet, aber Bezeichner 'Text' gefunden
[Fehler] Unit2.pas(83): Anweisung erwartet, aber Dateiende gefunden
  Mit Zitat antworten Zitat
Hulig4n

Registriert seit: 16. Jan 2006
15 Beiträge
 
#5

Re: problem beim erstellen einer Funktion

  Alt 12. Jul 2006, 09:46
Du hast warscheinlich in anderen sprachen vorher programmiert. Einfach F1(help) benutzen.
Der einzige unterschied zwischen function und procedure ist das die function nen wert zuruck gibt.
Alles andere funtz gleich.
  Mit Zitat antworten Zitat
sigma

Registriert seit: 21. Jun 2006
29 Beiträge
 
#6

Re: problem beim erstellen einer Funktion

  Alt 12. Jul 2006, 09:54
ja ich hab vorher C++ programmiert und jetzt soll ich delphi lernen
hab aber meine Proleme wie man sieht
  Mit Zitat antworten Zitat
pacman1986

Registriert seit: 11. Feb 2005
Ort: Kirchhain
498 Beiträge
 
Delphi 2005 Personal
 
#7

Re: problem beim erstellen einer Funktion

  Alt 12. Jul 2006, 10:00
Das Problem bei dir ist das proceduren und funktionen die vom programm erstellt werden von jedem element des programms verwendet werden koennen. auch koennen alle komponenten von diesen procedure genutzt werden. also entweder schreibst du vor jeder komponente Form1.

Delphi-Quellcode:
-> Form1.edtEingabe.Text;
-> Form1.tas.Caption;
oder aber du machst das bei deiner funktion. wobei ich tatsaechlich eher sagen wuerde das das eine procedur ist.

das wuerde dann so aussehen :

procedure TForm1.Taste (tas:Tbutton); hier darf man aber nicht vergessen die funktion oben bei tform reinzuschreiben
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Taste (tas:Tbutton); // das ist gemeint
  private
    { Private declarations }
    //darf aber auch hier stehen
  public
    { Public declarations }
   //oder hier
  end;
folglich wuerde deine procedure so aussehen

Delphi-Quellcode:
procedure TForm1.Taste (tas:Tbutton);
var strZahl: string;
    dblX : double;
begin
         if edtEingabe.Text = '0then
            edtEingabe.Text := tas.caption
            else
            edtEingabe.Text := edtEingabe.Text + tas.Caption;
            strZahl := edtEingabe.Text;
            dblX := StrToFloat (StrZahl);
end;
Christian N.
Designed to make a difference

najjaronline.de
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#8

Re: problem beim erstellen einer Funktion

  Alt 12. Jul 2006, 10:05
Zitat von sigma:
...damit ich nicht immer bei meinem Taschenrechner bei jeder zeile den quelltext schreiben muss ...
Hai sigma,

das ganze kannst Du auch ohne eine Funktion lösen. Das "Geheimniss" ist: Du erzeugst nicht für jeden Button eine eigene OnClick Methode sondern verwendest für alle Buttons die selbe. Über den Parameter Sender erfährst Du dann welcher Button das OnClick-Egeigniss ausgelöst hat:

Delphi-Quellcode:
procedure TDemo_Form.FormCreate(Sender: TObject);
begin
  Button1.OnClick := AlleButonOnClick;
  Button2.OnClick := AlleButonOnClick;
  Button3.OnClick := AlleButonOnClick;
  Button4.OnClick := AlleButonOnClick;
end;

procedure TDemo_Form.AlleButonOnClick(Sender: TObject);
var
  zahl : string;
begin
  zahl := (Sender as TButton).Caption;
  // Der Sender wird ausgewertet und auf ein TButton gecastet.
end;
Du musst die Zuweisung der Methode nicht im OnCreate der Form machen. Du kannst auch einfach alle Buttonsmarkieren und dann im Objectinspektor allen das selbe OnClick zuweisen.
Stephan B.
  Mit Zitat antworten Zitat
sigma

Registriert seit: 21. Jun 2006
29 Beiträge
 
#9

Re: problem beim erstellen einer Funktion

  Alt 12. Jul 2006, 10:18
also ich werde da nicht richtig schlau draus kann mir vielleicht jemand mal ne funktion schreiben damit ich mal sehe wie die aussehen soll
  Mit Zitat antworten Zitat
pacman1986

Registriert seit: 11. Feb 2005
Ort: Kirchhain
498 Beiträge
 
Delphi 2005 Personal
 
#10

Re: problem beim erstellen einer Funktion

  Alt 12. Jul 2006, 10:23
Delphi-Quellcode:
function addieren(a,b:integer):integer;
begin
  result:=a+b;
end;
Aufruf Beispiel:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var zahl1,zahl2,endzahl:integer;
begin
  zahl1 := StrToInt(edit1.Text);
  zahl2 := StrToInt(edit2.Text);
  endzahl := addieren(zahl1,zahl2);
end;
edit:delphitags
Christian N.
Designed to make a difference

najjaronline.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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