AGB  ·  Datenschutz  ·  Impressum  







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

Procedure Vs. Function

Ein Thema von Steffen · begonnen am 27. Mär 2003 · letzter Beitrag vom 18. Jul 2003
Antwort Antwort
Steffen

Registriert seit: 19. Mär 2003
Ort: Hamburg
111 Beiträge
 
Delphi 7 Enterprise
 
#1

Procedure Vs. Function

  Alt 27. Mär 2003, 12:58
Hallo!

Ich habe mal eine ganz allgemeine Frage zur Performance.

Ich habe gerade eine Prozedur geschrieben, die folgende Syntax hat:

Delphi-Quellcode:
Procedure AddSum(var Summe : byte);
begin
  Summe := Summe + [Rechnung...]
end;
nun frage ich mich gerade, ob eine Funktion in folgender Form schneller/sinnvoller wäre:

Delphi-Quellcode:
function AddSum(Summe : Byte) : Byte;
begin
  AddSum := Summe + [Rechnung...]
end;
Ich denke schon, doch wollte ich auch mal eure Meinung dazu hören!

Gruss,
Steffen
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2
  Alt 27. Mär 2003, 13:03
Es kommt auf den Zusammenhang in dem die Funktion/Prozedur benutzt wird an. Die Prozedur benötigt 2 Speicherzugriffe mehr (am Anfang und am Ende). Jedoch kann es bei der Funktion passieren, dass der zurückgelieferte Wert zuerst einmal aus dem Speicher geladen werden muss um nach der Funktion wieder in der Speicher geschrieben zu werden. Somit entsteht kein Geschwindigkeits-Unterschied.
  Mit Zitat antworten Zitat
Steffen

Registriert seit: 19. Mär 2003
Ort: Hamburg
111 Beiträge
 
Delphi 7 Enterprise
 
#3
  Alt 27. Mär 2003, 13:08
Okay, damit wäre das Geschwindigkeitsproblem geklärt...

Danke!
  Mit Zitat antworten Zitat
masters001

Registriert seit: 23. Dez 2002
78 Beiträge
 
#4

Re: Procedure Vs. Function

  Alt 18. Jul 2003, 15:04
Hallo ich habe auch noch eine Frage zu proceduren, wenn ich in meinem prog eine procedure erstelle, ist es dann nur so möglich das ich alle variablen und objecte die ich in der procedure benötige manuell einbinde?
Also:
procedure gmx(NMPOP3:TNMPOP3;NMSMTP1:TNMSMTP;MAILButton1:TButton.........); Denn ich brauche dort bestimmt 30 Variablen!
Oder ist es auch möglich durch einen Befehl sofort alle im prog verfügbaren Variablen sofort einzubinden?

cu masters001
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Procedure Vs. Function

  Alt 18. Jul 2003, 15:10
Wie wäre es mit einem Record?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von RomanK
RomanK

Registriert seit: 7. Jun 2002
Ort: Kirchheim unter Teck
1.036 Beiträge
 
Delphi 7 Personal
 
#6

Re: Procedure Vs. Function

  Alt 18. Jul 2003, 15:10
Wenn du in dem Form die Variable hier hinschreibst dann kannst du die Variable in allen Proceduren dieser Unit benutzen
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  // <--- HIER
Roman Keller
Krieg ist Gottes Art den Amerikanern Geographie beizubringen!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Procedure Vs. Function

  Alt 18. Jul 2003, 15:10
Moin Masters,

dafür könnte es sich glatt lohnen einen neuen Typ (Record) zu deklarieren der die ganzen Werte enthält. Dann brauchst Du nur noch eine Variable zu übergeben, und kannst in der Prozedur dann auf die Felder des Records zugreifen.

Zitat von masters001:
Oder ist es auch möglich durch einen Befehl sofort alle im prog verfügbaren Variablen sofort einzubinden?
Nicht das ich wüsste. Wozu auch?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:03 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