AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Wichtige allgemeine Fragen

Ein Thema von hotkey · begonnen am 28. Nov 2011 · letzter Beitrag vom 29. Nov 2011
Thema geschlossen
Seite 1 von 3  1 23   
hotkey

Registriert seit: 20. Aug 2011
Ort: Berlin
113 Beiträge
 
Delphi 6 Personal
 
#1

Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 18:59
Hallo , ich gehe in die 12.Klasse und schreibe am Donnerstag eine Informatik-LK-Klausur.

Wir arbeiten mit Delphi.

Nun , ich habe da einige Fragen, hab zwar bei Wikipedia geguckt , aber die Sachen da finde ich nicht so dolle.

Also ; was sind Paramater und warum benutzt man Parameter , wo ist der Vorteil?

Was ist eine Verzweigung ? Wofür benutzt man Verzweigungen?

Wenn ich z.B einen Array habe :

type TSchuler= array [1..3] of string;
var Schuler:Tschuler;

Jetzt habe ich in diesem Array 3 Schüler :

Schüler[1] ='Hans';
Schüler[2] ='Peter';
Schüler[3] ='Marcel';

Kann ich das so machen ?

Und jetzt will ich eine Funktion aufbauen , mit der ich z.B einen Schüler aus dem Array entfernen bzw. ändern will , wie geht das ?

function loeschenoderaendern , wie geht das weiter ?

Und wie kann ich mit einer Funktion einem Array Daten zuweisen ?
Zum Beispiel will ich , dass ich dem Schüler 2 mit einer Funktion nicht Peter zuweise sondern Klaus , wie geht das ? Ich bitte um den kleinen Code mit einer Funktion , das ist für mich sehr wichtig.
Felix
 
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#2

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 19:13
Diesen Wust an Einsteigerfragen (immerhin hast Du schon 14 Beiträge auf Deiner Habenseite) Dir zu beantworten wird sich hier wohl kaum jemand die Mühe machen. Es gibt gute Delphi-Einstiegsliteratur auch im Internet.
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 19:14
Parameter erhöhen die Flexibilität einer Routine. Man übergibt ihr je nach Situation verschiedene Parameterwerte, und die Routine benutzt diese dann intern.
Verzweigungen dienen der Unterscheidung möglicher Zustände. Es gibt die einfache (if then else) und die mehrfache (case of) Verzweigung.
Du hast da ein statisches Array. Die Zuweisung ist so in Ordnung. Löschen geht bei statischen Arrays allerdings nicht, Du kannst das höchstens simulieren, indem Du einen festgesetzten Wert einträgst und das Array-Element so als gelöscht markierst.
Um ein Array an eine Routine zu übergeben, welche dessen Inhalte dauerhaft verändern kann, muss dieses als Var-Parameter gekennzeichnet sein (Call by Reference).

Für weitergehende Infos verweise ich auf die Tutorials bzw. das E-Book im Delphi-Treff.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
 
hotkey

Registriert seit: 20. Aug 2011
Ort: Berlin
113 Beiträge
 
Delphi 6 Personal
 
#4

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 19:18
Na gut , aber es wäre nett , wenn das mit diesen Funktionen erläutert wird , denn ich möchte wissen wie man Daten an Arrays über Funktion vergeben kann , das ist echt wichtig.
Felix
 
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 19:34
DeddyH hat Dir doch alle Antworten gegeben! Bisschen solltest Du Dich schon mit
dem Thema beschäftigen....


http://www.delphi-treff.de/object-pa...ktionen/#c4922


Code:
procedure machwas(var zahl: integer);
  begin
    zahl := zahl+5;
    ...
  end;

  procedure aufruf;
  var einezahl: integer;
  begin
    einezahl := 5;
    machwas(einezahl);
  end;
Philip
 
hotkey

Registriert seit: 20. Aug 2011
Ort: Berlin
113 Beiträge
 
Delphi 6 Personal
 
#6

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 19:36
Das habe ich mir schon angeguckt.

Mein größtes Problem ist ja , dass , wenn ich einen Array habe , wie in meinem ersten Thread zu sehen ist , an diese Daten übergeben will , mit einer FUNKTION.
Wie geht sowas ? Das steht leider NICHT in diesem Tutorial.

Ich will zum Beispiel dem Feld 2 einen anderen Namen zuweisen , mit einer Funktion , wie geht das ?
Felix
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 19:40
Kleine Demo ohne Typisierung (eine solche böte sich zwar wahrscheinlich an, aber ich will es nicht zu kompliziert machen):
Delphi-Quellcode:
procedure ChangeArrayFirstElement(var Arr: array of string); //Var-Parameter
begin
  if Length(Arr) > 0 then
    Arr[0] := 'Blabb';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  TestArr: array[0..10] of string;
begin
  TestArr[0] := 'Wuppdi';
  ShowMessage(TestArr[0]);
  ChangeArrayFirstElement(TestArr);
  ShowMessage(TestArr[0]);
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
 
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.752 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 19:43
Delphi-Quellcode:
function changeValue(sArray: TSchuler;idx: Byte; newValue: AnsiString): Boolean;
begin
  result := true;
  try
    sArray[idx] := newValue;
  except
    result := false;
  end;
end;
Grüße
Klaus
Klaus

Geändert von Klaus01 (28. Nov 2011 um 19:53 Uhr)
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 19:49
Ich bezweifle, dass das mit einem Call By Value so funktioniert wie gedacht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
 
hotkey

Registriert seit: 20. Aug 2011
Ort: Berlin
113 Beiträge
 
Delphi 6 Personal
 
#10

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 19:53
Kleine Demo ohne Typisierung (eine solche böte sich zwar wahrscheinlich an, aber ich will es nicht zu kompliziert machen):
Delphi-Quellcode:
procedure ChangeArrayFirstElement(var Arr: array of string); //Var-Parameter
begin
  if Length(Arr) > 0 then
    Arr[0] := 'Blabb';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  TestArr: array[0..10] of string;
begin
  TestArr[0] := 'Wuppdi';
  ShowMessage(TestArr[0]);
  ChangeArrayFirstElement(TestArr);
  ShowMessage(TestArr[0]);
end;
Danke für das Beispiel , aber warum hast du bei der Prozedur " ChangeArrayFirstElement" im Kopf mit var gearbeitet , warum ist das Call-by-Reference ?
Felix
 
Thema geschlossen
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:50 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