Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Eine Frage bittet um Erklärung

Diskussion: Eine Frage bittet um Erklärung im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Ich brauche mal einen Fachmann der mir folgendes erklären oder beantworten kann.^^ Erläutern Sie die Parameterübergabe zwischen einem rufenden ...

Antwort
Alt 17.03.09, 00:58   #1 (permalink)
 
Benutzerbild von Dreamer
 
Registriert seit: 27.05.02
Dreamer Leistung: Facit NTK
Likes: 0
Standard Eine Frage bittet um Erklärung

Anzeige

Ich brauche mal einen Fachmann der mir folgendes erklären oder beantworten kann.^^

Erläutern Sie die Parameterübergabe zwischen einem rufenden Programm und einer Prozedur an Beispielen von Delphi. Gehen Sie dabei auf Gültigkeitsbereich und Initalisierung der Variablen ein. Welche Anforderungen werden an Parameter gestellt?

Ist eine Aufgabenstellung meiner Mitbewohnerin die sie aufbekommen hat. Den Rest der 40 Aufgaben hab ich mit ihr zusammen gelöst und ihr versucht das in einfachen Worten zuerklären aber bei der Frage muss ich nu doch irgendwie passen. Ich hab da keinen Schimmer obwohl ich es eigentlich wissen müsste. :D

__________________
Seien wir realistisch, versuchen wir das Unmögliche.
Dreamer ist offline   Mit Zitat antworten
Alt 17.03.09, 02:01   #2 (permalink)
Senior Member
 
Registriert seit: 27.06.04
Cyberm@ster Leistung: Facit NTK
Likes: 0
Standard

Es geht um die Übergabe per Wert und per Referenz würd ich sagen und den Gültigkeitsbereich von Variablen (Variablen im Hauptprogramm vs Variablen innerhalb einer Prozedur)

Code:
var a,b:integer;

procedure Foobar(x:integer;var y:integer);
begin
   x := 3;
   y := 4;
end;

begin
   a := 1;
   b := 2;
   Foobar(a,b);
end.

Resultat: a = 1, b = 4 da bei x nur der Wert, bei y aber die Referenz (also das Original) übergeben wird.
Cyberm@ster ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 18.03.09, 03:12   #3 (permalink)
Themenstarter
 
Benutzerbild von Dreamer
 
Registriert seit: 27.05.02
Dreamer Leistung: Facit NTK
Likes: 0
Standard

So ungefähr.^^
Hab noch die halbe Nacht gestern geforscht und es rausgefunden. Pünktlich als meine Mitbewohnerin aufgestanden ist war ich fertig und konnte ihr noch soweit alles in nicht Fachdeutsch beibringen bis sie 9 Uhr zur Prüfung musste.^^

Aber trotzdem Danke


Gruß Dreamer
__________________
Seien wir realistisch, versuchen wir das Unmögliche.
Dreamer ist offline   Mit Zitat antworten
Alt 18.03.09, 07:00   #4 (permalink)
Senior Member
 
Registriert seit: 27.06.04
Cyberm@ster Leistung: Facit NTK
Likes: 0
Standard

Zitat:
So ungefähr.^^
Wie lautet denn die "genaue" Erklärung, wenn dir meine nicht präzise genug ist?
Cyberm@ster ist offline   Mit Zitat antworten
Alt 18.03.09, 16:03   #5 (permalink)
 
Registriert seit: 12.01.09
lone.wolf Leistung: Z3
lone.wolf eine Nachricht über AIM schicken
Likes: 1
Standard

a. procedure DoSomeShit( const X: Integer );
b. procedure DoSomeShit( X: Integer );
c. procedure DoSomeShit( var X: Integer );
d. procedure DoSomeShit( X, Y, Z: Integer; A, B, C: Integer ); stdcall;

a -> Der Übergabeparameter wird kopiert als konstante übergeben.
b -> Der Übergabeparameter wird nur kopiert übergeben.
c -> Intern wird der Pointer zur Variable übergeben -> Alle Änderungen werden auch außerhalb der Procedure wirksam. (-> siehe inc() );
d -> Die Werte A, B, C werden in den Stack gepusht. Für X, Y, Z siehe b. !

Hoffe dies war eine qualifizierte Antwort!

EDIT:
Ok, habe mich bei stdcall vertan: bei stdcall werden alle Übergabeparameter in den Stack gepusht

MfG L.W
lone.wolf ist offline   Mit Zitat antworten
Alt 22.03.09, 12:01   #6 (permalink)
Themenstarter
 
Benutzerbild von Dreamer
 
Registriert seit: 27.05.02
Dreamer Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Orginal von Cyberm@ster:
Code:
var a,b:integer;

procedure Foobar(x:integer;var y:integer);
begin
   x := 3;
   y := 4;
end;

begin
   a := 1;
   b := 2;
   Foobar(a,b);
end.

Resultat: a = 1, b = 4 da bei x nur der Wert, bei y aber die Referenz (also das Original) übergeben wird.
Das war die Erklärung ABER ihr Prof wollte es in Worten erklärt haben und das sie nunmal Medienwissenschaften studier und Info machen muss hat sie davon keine Ahnung. Habe ihr da dann einen Text aller Dreamer verfasst der selbst für einen Noob verständlich war. Ich hoffe jedenfalls das er es war.^^
__________________
Seien wir realistisch, versuchen wir das Unmögliche.
Dreamer ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Eine Frage bittet um Erklärung
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Eine Frage bittet um Erklärung Dreamer HaBo Lounge 1 17.03.09 02:01
Brauche eine Erklärung! d3ll_s0ul Cryptography & Encryption 5 09.07.08 09:37
C++ | Zeiger Phänomen? oder eine Simple erklärung? b4ck Code Kitchen 3 04.01.07 14:52
mal eine frage zum wbb (wiw) Sr01 Off topic-Zone 4 01.02.05 16:07
Eine Frage?? TheDuker Off topic-Zone 26 17.04.02 16:22


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61