AGB  ·  Datenschutz  ·  Impressum  







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

Wichtige allgemeine Fragen

Ein Thema von hotkey · begonnen am 28. Nov 2011 · letzter Beitrag vom 29. Nov 2011
Thema geschlossen
Seite 2 von 3     12 3      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#11

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 19:56
Warum hörst Du nicht auf uns und liest die Tutorials? Ich habe keine Lust, jetzt hier über den Urschleim zu referieren, die Mühe haben sich bereits andere gemacht.
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
Online

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

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 19:59
Ich bezweifle, dass das mit einem Call By Value so funktioniert wie gedacht.
Vielleicht liege ich ja falsch, aber werden Arrays nicht immer call-by-reference übergeben.
Egal ob es sich um ein statisches oder dynamisches handelt.

Grüße
Klaus
Klaus
 
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#13

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 20:00
zum rumspielen, ausprobieren und entdecken.
Einfach mal alles verdrehen und schauen was dann nicht mehr geht ....

Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TSchueler=Array of String;


  TForm2 = class(TForm)
    FuellenMit10: TButton;
    ListBox1: TListBox;
    Umbenennen: TButton;
    NachNameLoeschen: TButton;
    procedure FuellenMit10Click(Sender: TObject);
    procedure UmbenennenClick(Sender: TObject);
    procedure NachNameLoeschenClick(Sender: TObject);
  private
    { Private-Deklarationen }
    FSchueler:TSchueler;
    procedure DisplayArray;
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}



Procedure AddSchueler(var Arr:TSchueler;const Entry:String);
begin
  SetLength(Arr, High(Arr) + 2);
  Arr[High(Arr)] := Entry;
end;

Procedure RenameSchueler(var Arr:TSchueler;Index:Integer;const NewEntryName:String);
begin
  if (Index <= High(Arr)) and (Index >= Low(Arr)) then Arr[Index] := NewEntryName;
end;


Procedure DeleteByIndex(var Arr:TSchueler;Index:Integer);
var
  i:Integer;
begin
   if (Index <= High(Arr)) and (Index >= Low(Arr)) then
    begin
      if Index=High(Arr) then SetLength(Arr,High(Arr))
      else
        begin
            for I := Index + 1 to High(Arr) do Arr[i - 1] := Arr[i];
            SetLength(Arr,High(Arr));
        end;
    end;

end;



Procedure DeleteByName(var Arr:TSchueler;const EntryName:String);
var
  i:Integer;
  foundIndex:Integer;
begin
  foundIndex := -1;
  i := Low(Arr) - 1;
  while (i< High(Arr)) and (foundIndex = -1) do
    begin
       inc(i);
       if Arr[i] = EntryName then foundIndex := i;
    end;
  if foundIndex > -1 then DeletebyIndex(Arr, FoundIndex);

end;


procedure TForm2.UmbenennenClick(Sender: TObject);
begin
   RenameSchueler(FSchueler,5,'Fünf');
   DisplayArray;
end;

procedure TForm2.FuellenMit10Click(Sender: TObject);
var
  i:Integer;
begin
  for I := 1 to 10 do AddSchueler(FSchueler, 'Test ' +IntToStr(i));
  DisplayArray;
end;

procedure TForm2.NachNameLoeschenClick(Sender: TObject);
begin
  DeleteByName(FSchueler,'Test 10');
  DisplayArray;
end;

procedure TForm2.DisplayArray;
var
  i:Integer;
begin
  Listbox1.Items.Clear;
  for I := Low(FSchueler) to High(FSchueler) do ListBox1.Items.Add(FSchueler[i]);

end;
end.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
 
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#14

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 20:13
Ich bezweifle, dass das mit einem Call By Value so funktioniert wie gedacht.
Vielleicht liege ich ja falsch, aber werden Arrays nicht immer call-by-reference übergeben.
Egal ob es sich um ein statisches oder dynamisches handelt.

Grüße
Klaus
Ohne zu wissen, wie es in Delphi wirklich gehandhabt wird, weiß ich, wie das in anderen Sprachen (Java, C) gemacht wird: Bei einem Array wird immer einer Referenz übergeben (alles andere wäre fatal: man stelle sich vor, ein Array der Größe 1000x1000 müsste bei einem Methodenaufruf jedesmal komplett auf den Stack kopiert werden...). Allerdings handelt es sich dabei trotzdem um eine Call-By-Value-Semantik und NICHT um Call-by-Reference! Grund: Wenn ich dem Parameter ein "neues" Array zuweise (und nicht den "Inhalt" des alten Arrays verändere), dann ändert sich beim Aufrufer nichts.

lg

Edit:
Mir fällt gerade ein: In C gibt es m.W.n. sogar einen "Trick", wie man den Compiler wirklich dazu bringen kann, das Array auf den Stack zu kopieren, und zwar, indem man das Array in einen struct einbettet...
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/

Geändert von patti (28. Nov 2011 um 20:20 Uhr)
 
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 22:01
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?

...

das ist für mich sehr wichtig.
Ich habe hier ein Dejavu http://www.delphipraxis.net/164205-klausur-fragen.html
Hallo , ich schreibe morgen eine Informatik-LK-Klausur und habe nun ein paar Fragen:

Was sind Parameter , wo ist der Unterschied zwischen Parameter und Variable , haben Parameter einen Vorteil?

...

ist super wichtig !
Mal sehen wie wichtig das nächste Thema wird ... giga, mega oder ultra

Die Themen-Titel waren auch schon mal besser ...
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
 
Delphi-Laie

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

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 22:50
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 ?
Oh meine Güte, mir reißt der Geduldsfaden.

William, genannt Bill Gates, erzählte (ich will nicht von prahlen sprechen), daß er das Programmieren lernte, indem er weggeworfene BASIC-Ausdrucke intensiv studierte - er war sich dafür angeblich sogar nicht zu fein, sie aus Papierkörben / Abfallcontainern zu fischen/angeln. Studieren kommt aus dem Latein und heißt soviel wie sich befleißigen. Dieses Forum (und andere Foren) ist (sind) überfüllt mit Quelltexten. Wie wäre es demnach, in diesem (diesen) zu stöbern, anstatt hier den Frageroboter zu spielen?

Geändert von Delphi-Laie (28. Nov 2011 um 22:53 Uhr)
 
Delphi-Laie

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

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 23:02
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.
Das ist nicht "echt" wichtig (und auch nicht super, auf Deutsch über) wichtig (wie kann denn etwas "über wichtig" sein??), sondern es ist DIR wichtig. Es ist aber nicht objektiv wichtig (denk' mal an ein Lied Herbert Grönemeyers).

Für einen Abiturienten solltest Du ein wenig mehr Spürsinn und soziale Kompetenz mitbringen. Mit "Ich will" ohne ein Wort des Dankes wirst Du auf wenig Altruismus Deiner Gegenüber stoßen.
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#18

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 23:05
@Delphi-Laie: Es recht langsam, denke ich.
Michael
Ein Teil meines Codes würde euch verunsichern.
 
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#19

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 23:15
Gegen Unwissenheit kann man etwas tun, gegen Dummheit nicht
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#20

AW: Wichtige allgemeine Fragen

  Alt 28. Nov 2011, 23:26
Muss ich hier jetzt jeden einzeln ermahnen? Wenn ihr schon nichts konstruktives zum Thema beizutragen habt, dann schreibt auch bitte nichts.
Michael
Ein Teil meines Codes würde euch verunsichern.
 
Alt 29. Nov 2011, 00:02     Erstellt von Medium
Dieser Beitrag wurde von Luckie gelöscht. - Grund: Unsinniger Beitrag
Thema geschlossen
Seite 2 von 3     12 3      


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 14:42 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