Autor Beitrag
guido12345
Hält's aus hier
Beiträge: 5
Erhaltene Danke: 1



BeitragVerfasst: Mo 01.11.10 22:36 
hallo,

also ich schreibe morgen eine klausur und brauche ganz dringend hilfe zu folgender frage (es geht allerdings um das programmieren bei lazarus...) :

- was ist der unterschied zwischen einer globalen und einer lokalen feldvariable? bzw. wo wird was von beiden deklariert ?
- kann ich in lazarus unter "implementation" schreiben: "type ArrayName = array[hier kommt dann der indexbereich hin] of Elementtyp;" ? ist ArrayName dann eine globale Feldvariable?

ich hoffe ihr könnt mir gaanz schnell bei meinen hoffentlichen simplen fragen helfen :) viieeeeelen dank im vorraus :)
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 01.11.10 22:42 
Da muss ich leider etwas raten. Eine globale Feldvariable ist mir erst mal nicht bekannt. Aber ich denke es sind Attribute oder Eigenschaften einer Klasse gemeint. Global könnte meinen, dass die Variable im Publik-Bereich deklariert ist, während hingegen eine lokale Feldvariable wohl im Private-Bereich deklariert ist.

Und ob dein Array jetzt lokal oder global ist, liegt daran, wo du die Variable deklariert hast.
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Mo 01.11.10 22:43 
zum ersten teil der Frage kann ich nur folgendes sagen:

Christians Crashkurs
Delphi-Wikibook

zum zweiten teil: ja, das wäre dann eine globale variable. (was ich so damals gelernt habe)

btw: ändere bitte das thema deines Topics. zb auf "Variablen: global & lokal", damit man sich auskennt was du von einem willst.

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 01.11.10 22:47 
Ich sehe gerade, er hat sie unter Implementation deklariert. da ist das jetzt so eine Sache, denn dann ist sie nur Unit global im Implementation Abschnitt. Also irgendwie auch wieder lokal.
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Mo 01.11.10 22:52 
user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
Ich sehe gerade, er hat sie unter Implementation deklariert. da ist das jetzt so eine Sache, denn dann ist sie nur Unit global im Implementation Abschnitt. Also irgendwie auch wieder lokal.


gibt es dann in delphi globale variablen? weil so richtig global kenn ich dann keine eigentlich, da es doch immer höchstens in der Unit global ist, oder?

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 764
Erhaltene Danke: 127



BeitragVerfasst: Mo 01.11.10 23:00 
Im deutschen "Programmiersprachen-Raum" wird der Begriff Feld in zweifacher Bedeutung verwendet:
  • Feld in der Bedeutung eines Arrays (Ich nehme an, das ist hier gemeint)
  • Feldvariable in der Bedeutung von Attributen einer Klasse als Übersetzung des Begriffs field-Variable

Globale Variable gelten "überall" innerhalb der aktuellen Unit und können im Interface-Teil, im Implementation-Teil oder als Teil des Formular-Objektes in der Formulardeklaration deklariert werden (dann gelten Sie in allen Methoden des Formulars).
Lokale Variable werden innerhalb einer Funktion oder Prozedur gleich nach der Kopfzeile (vor begin) deklariert und gelten dann auch nur innerhalb dieser Funktion oder Prozedur.

>kann ich in lazarus unter "implementation" schreiben: "type ArrayName = array[hier kommt dann der indexbereich hin] of Elementtyp;" ?
ja

>ist ArrayName dann eine globale Feldvariable?
nein, Arrayname ist nur ein Typ. Eine Variable dieses Typs ist dann global.

ub60
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 01.11.10 23:03 
user profile iconelundril hat folgendes geschrieben Zum zitierten Posting springen:
gibt es dann in delphi globale variablen? weil so richtig global kenn ich dann keine eigentlich, da es doch immer höchstens in der Unit global ist, oder?

Die Form-Variable in der VCL bei GUI-Anwendungen ist zum Beispiel global. Alles was im Interface-Abschnitt deklariert ist, ist unit-übergreifend global.
guido12345 Threadstarter
Hält's aus hier
Beiträge: 5
Erhaltene Danke: 1



BeitragVerfasst: Mo 01.11.10 23:12 
danke schonmal für die vielen antworten...und da fällt mir grad was ein :)
also wenn ich unter "implementation" und über die button-klick-prozeduren in lazarus eine variable deklariere , nämlich so: "var Variable1 : array[1..10] of integer;" als beispiel eben, dann ist Variable1 doch eine globale Feldvariable oder? und wenn ich in einer prozedur (oder button-klick-prozedur) oder in einer funktion zwischen dem prozedurkopf bzw. dem funktionskopf und "begin", also bei "var" variablen deklariere dann sind diese variablen lokal, denn sie sind ja nur im rumpf der prozedur / funktion, und nicht "überall", also nicht methodenübergreifend, bekannt, richtig?
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 01.11.10 23:20 
Richtig. Zumindest der zweite Teil, den ersten habe ich nicht ganz verstanden. ;)
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 764
Erhaltene Danke: 127



BeitragVerfasst: Mo 01.11.10 23:21 
user profile iconguido12345 hat folgendes geschrieben Zum zitierten Posting springen:
also wenn ich unter "implementation" und über die button-klick-prozeduren in lazarus eine variable deklariere , nämlich so: "var Variable1 : array[1..10] of integer;" als beispiel eben, dann ist Variable1 doch eine globale Feldvariable oder? und wenn ich in einer prozedur (oder button-klick-prozedur) oder in einer funktion zwischen dem prozedurkopf bzw. dem funktionskopf und "begin", also bei "var" variablen deklariere dann sind diese variablen lokal, denn sie sind ja nur im rumpf der prozedur / funktion, und nicht "überall", also nicht methodenübergreifend, bekannt, richtig?

Ja!

Also ich würde mal sagen, bleib zu Hause und schreib dem Lehrer, dass Du sowieso schon alles kannst. Er soll Dir Deine eins so geben. :wink: :wink:

ub60
guido12345 Threadstarter
Hält's aus hier
Beiträge: 5
Erhaltene Danke: 1



BeitragVerfasst: Mo 01.11.10 23:28 
ein großes daaaaaaaaaaaaaaaaaankeschön ihr seid meine helden : D

Für diesen Beitrag haben gedankt: elundril
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mo 01.11.10 23:57 
Hallo,

Ich möchte aber nochmal an das erinnern, was user profile iconelundril weiter oben schon sagte:

bitte ändere den Titel des Topics, da er wenig über das eigentlich Thema verrät. Hier der entsprechende Absatz aus den Richtlinien:

1.2 Beiträge:
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist.[...]


Einfach oben bei Deinem ersten Beitrag auf user defined image oder user defined image klicken und den Titel ändern. Danke Dir!

Viele Grüße,
Martok

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."