Autor Beitrag
msp2006
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 01.11.06 22:02 
Hey Community,

ich habe mich extra um diese Frage zu stellen in diesem Forum angemeldet und nehmt es mir bitte nicht übel wenn ich jetzt eine Frage stelle die Tausend mal gestellt wurde.

Also ich schreibe morgen eine wichtigen Klausur zu Thema Delphi und mir sind die unterschiede, geschweige denn die Beudeutungen noch nicht ganz geläufig. Was ist zum Beispiel der unterschied zwischen if, then und else (alles 3 zusammen) und case of ?!? Und was ist function ?!? Ich kann mir auf diese Typen keinen reim machen. Wäre wirklich nett wenn es jemand noch schafft vor 24 Uhr mir zu helfen.


MfG MSP2006
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 01.11.06 22:06 
Hallo!

Schau am Besten mal in meinen Crashkurs Delphi: www.christian-stelzm...rials_crashkurs.html

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Mi 01.11.06 22:10 
Wenn du z.B. eine integer-Variable hast, die 10 verschiedene Werte annehmen kann und du diese prüfen willst, dann kann man schreiben:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
if (myvar = 1) then
   foo
else if (myvar = 2) then
   foo1
else if (myvar = 3) then
   foo2
.
.
.

Es geht aber auch kürzer:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
case myvar of
1: foo;
2: foo1;
3: foo2;
...

Erspart Speicherplatz. Ich denke mal, dass case-of auch für die Performance besser ist, da nicht 10 mal if-Abfragen geprüft werden müssen, sondern nach dem richtigen Fund abgebrochen wird (oder nicht? :gruebel:).

Function ist wie alles andere kein Typ.

Function leitet ein Funktion ein:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
function Summiere(a,b: integer): integer;
begin
  result : = a + b;
end;

Jede Funktion hat einen Rückgabewert (hier integer). Funktionen machen den Code im Großen und Ganzen übersichtlicher und verwendbarer.

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
msp2006 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 01.11.06 22:25 
Besten dank ihr beiden. Das mit case und if hab ich jetzt verstanden. Es ist im Grunde das gleiche nur in verkürzter Form. Nur function ist mir noch ein wenig unschlüssig. Ich bin jetzt nicht so der große Programmier experte, aber was leitet function denn jetzt genau ein ?!? ersetzt es irgendeine andere type oder wie ?!?
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Mi 01.11.06 22:28 
Nein eine Funktion ist ein Unterprogramm, welches einen wert zurückgibt ( wie eine mathematische Funktion)

_________________
Markus Kinzler.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 01.11.06 22:29 
Wie gesagt, schau Dir den Crashkurs an ;-)

Aber wichtig: Function, case of, etc. sind keine Typen. Es sind Schlüsselwörter! Typen sind sowas wie Integer, String, etc., davon kannst Du ja auch Variablen erstellen.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
msp2006 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 01.11.06 22:48 
Ok danke jungs, ich danke euch wirklich ganz doll. Hoffe die Klausur morgen steht auf meiner Seite ^^. Euch noch viel Spaßhier im Forum.

MfG MSP2006
Coder
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1383
Erhaltene Danke: 1

WinXP
D2005 PE
BeitragVerfasst: Mi 01.11.06 23:19 
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Mi 01.11.06 23:54 
Hallo,
user profile iconMarco D. hat folgendes geschrieben:
Ich denke mal, dass case-of auch für die Performance besser ist, da nicht 10 mal if-Abfragen geprüft werden müssen, sondern nach dem richtigen Fund abgebrochen wird (oder nicht? :gruebel:).

Bei if then else-Treppen werden auch nicht alle if-Abfragen geprüft.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
myvar := 1;
if (myvar = 1) then
  foo// ---> raus
  else if (myvar = 2) then
    foo1
      else if (myvar = 3) then
        foo2

Nutzt man nur if then werden alle durchlaufen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
if (myvar = 1) then
  foo
if (myvar = 2) then
  foo1
if (myvar = 3) then
  foo2

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )