AGB  ·  Datenschutz  ·  Impressum  







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

Aus "Result" lesen

Ein Thema von SebE · begonnen am 19. Sep 2005 · letzter Beitrag vom 19. Sep 2005
Antwort Antwort
Seite 1 von 3  1 23      
SebE

Registriert seit: 31. Jul 2004
Ort: Chemnitz
316 Beiträge
 
Delphi 7 Personal
 
#1

Aus "Result" lesen

  Alt 19. Sep 2005, 13:26
Hallo,
heute hat mein Lehrer gemeint, dass man das:

Delphi-Quellcode:
function X: Typ;
begin
Result := 7;

...

if Result = 7 //Darf man hier aus Result lesen?
then ...
end;
nich machen sollte.

Warum nicht?

Und wenn es verboten wäre, wieso meldet es der Compiler nicht?

Danke für Informationen.
Sebastian
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Aus "Result" lesen

  Alt 19. Sep 2005, 13:31
Hi Sebastian,

sei einfach etwas aufmüpfig und mache es doch. Natürlich nur, wenn dein Lehrer wegschaut...

Grüße vom marabu
  Mit Zitat antworten Zitat
SebE

Registriert seit: 31. Jul 2004
Ort: Chemnitz
316 Beiträge
 
Delphi 7 Personal
 
#3

Re: Aus "Result" lesen

  Alt 19. Sep 2005, 13:32
ja, so wird's wahrscheinlich ausgehen.
Aber ich würde gern wissen, ob es dafür einen Grund gibt.
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von Kroko1999
Kroko1999

Registriert seit: 21. Apr 2005
Ort: Spremberg
455 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Aus "Result" lesen

  Alt 19. Sep 2005, 13:34
Ich sehe keine Grund auf Result zuzugreifen, frage ihn doch mal warum
Da sprach der Stumme zum Blinden: "Du wirst sehen ..."
oder
Wer lesen kann, ist klar im Vorteil!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Aus "Result" lesen

  Alt 19. Sep 2005, 13:35
@Sebastian: Nicht wirklich. Da das Knausern mit Hauptspeicher heutzutage eine veraltete Tugend ist, wird der Lehrer vielleicht aus didaktischen Gründen Wert darauf legen, dass du grundsätzlich sprechende Namen für deine Variablen verwenden sollst.

marabu
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Aus "Result" lesen

  Alt 19. Sep 2005, 13:35
Ich denke, das Problem ergibt sich bei Betrachtung anderer Programmiersprachen. Schlagt mich, wenn ich falsch liege, aber soweit ich mich erinnere, erfolgt bei zB PHP bei Aufruf von
Code:
return a;
(was ja in gewisser Hinsicht dem Delphi-Return entspricht) ein verlassen der Funktion.

In Delphi kannst du aber guten Gewissens bereits am Anfang der Funktion dem Result etwas zuweisen. Das wird sogar sehr häufig verwendet. Nicht zuletzt, um nicht extra eine neue Variabel deklarieren und zuweisen zu müssen.
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: Aus "Result" lesen

  Alt 19. Sep 2005, 14:01
Es ist nicht verboten.
Man sollte nur versuchen, das Result so spät als möglich zuzuweisen.
Grund: bei frühzeitiger Zuweisung an Result wird ein wertvolles Prozessorregister für andere Aufgaben blockiert.
Delphi-Quellcode:
// Beispiel
Result := False;
a := ...
b := ...
if a > b then
  Result := True;

// besser
a := ...
b := ...
if a > b then
  Result := True
else
  Result := False;
Andreas
  Mit Zitat antworten Zitat
DerDan

Registriert seit: 15. Nov 2004
Ort: Donaueschingen
251 Beiträge
 
Delphi XE3 Professional
 
#8

Re: Aus "Result" lesen

  Alt 19. Sep 2005, 14:22
Tatsächlich hat Borland die "automatische " Variable Result auch dazu eingefügt damit man darauf zugreifen kann. Also sollt mans auch machen.

In anderen Sprachen gibts sowas leider nicht. das könnte der einzige Grund für eine Lehrkraft (-h+e) sein um so eine Aussage zu fällen. Aber dann soll er den Grund auch nennen.


DerDan
nichts ist so schön wie man es sich vorstellt
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Aus "Result" lesen

  Alt 19. Sep 2005, 14:31
Also ich finde das mit Result in vielen Fällen sehr praktisch.
Delphi-Quellcode:
function IndexOf(a : Array of String; str : String) : Integer;
Begin
  Result := high(a);
  While (Result >= low(a)) and (a[Result] <> str) Do
    dec(Result);
End;
Wozu sollte ich hier jetzt noch extra eine Zählvariable einführen? Geht doch so viel schneller, einfacher und meiner Meinung nach auch eindeutiger.

//Edit:
Am besten du fragst deinen Lehrer mal nach dem Grund für seine Aussage. Ich gehe mal wirklich davon aus, daß es mit anderen Programmiersprachen zu tun hat. Und dann sag ihm, daß es in Delphi sehr wohl geht und auch seine praktische Anwendung haben kann.
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#10

Re: Aus "Result" lesen

  Alt 19. Sep 2005, 14:36
Kann es sein, dass ihr mit Absicht Shmias Beitrag ignoriert oder kapiert ihr ihn nur nicht?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 19:31 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