AGB  ·  Datenschutz  ·  Impressum  







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

Array Rückgabewert Funktion

Ein Thema von Backes · begonnen am 11. Jan 2014 · letzter Beitrag vom 14. Okt 2014
Antwort Antwort
Kuehter

Registriert seit: 14. Okt 2014
59 Beiträge
 
Delphi 7 Professional
 
#1

AW: Array Rückgabewert Funktion

  Alt 14. Okt 2014, 10:03
Ich hätte mal ne frage Wie kann ich ein Array result wieder auslesen?

Delphi-Quellcode:
type
Tintegerarray = array of integer;

function bedingung: Tintegerarray;

SetLength(result,6);
Result[0] := Generierer[0] + Generierer[1]; //A2 + A1 = C1
Result[1] := Generierer[2] + Generierer[0]; //B1 + A1 = C2
Result[2] := Generierer[1] + Generierer[3]; //A2 + B2 = D1
Result[3] := Generierer[2] + Generierer[3]; //B1 + B2 = D2
Result[4] := Result[0]+Result[2]; //engergebnis
und jetzt möchte ich gerne die werte wieder auslesen die ich in der Result bekomme

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
__________________________________________________________________________________________________________________
var
rec: Integerarray;

begin

Edit1.Text := InttoStr(rec[1]);

end;
habe nur bei dem hier immer einen stack overflow
nicht nur Delphi sondern auch Java und C# formen die Welt

Geändert von mkinzler (14. Okt 2014 um 12:08 Uhr) Grund: Delphi-Tags eingefügt
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Array Rückgabewert Funktion

  Alt 14. Okt 2014, 10:05
Dein rec enthält ja keine Elemente, da es keine Funktionsrückgabe ist.

P.S.: Verwende doch bitte künftig Delphi-Tags (die Helm"-Schaltfläche im Beiragseditor), dann ist der Code viel besser zu lesen.
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
  Mit Zitat antworten Zitat
Kuehter

Registriert seit: 14. Okt 2014
59 Beiträge
 
Delphi 7 Professional
 
#3

AW: Array Rückgabewert Funktion

  Alt 14. Okt 2014, 10:10
Einmal der gesamte code sorry ich weiß aber nicht wie du das meinst damit daskein funktionsaufruf da ist ich weiß auch nicht wo ich die am besten aufrufen kann ein boolean ist ja in der if einen int weiß ich auch wie ich den am besten aufrufen kann nur ich weiß nicht wie ich das hin bekomm das array da raus zu ziehen

Delphi-Quellcode:
function bedingung: Tintegerarray;
var
  max, min: integer;
  counter: integer;
  Generierer: array[0..4] of integer;

begin

  max := 250;
  min := 1;
  for counter := 0 to 3 do
  begin
     Generierer[counter] := trunc(random(max))+min;
  end;

  SetLength(result,6);
  Result[0] := Generierer[0] + Generierer[1]; //A2 + A1 = C1
  Result[1] := Generierer[2] + Generierer[0]; //B1 + A1 = C2
  Result[2] := Generierer[1] + Generierer[3]; //A2 + B2 = D1
  Result[3] := Generierer[2] + Generierer[3]; //B1 + B2 = D2
  Result[4] := Result[0]+Result[2]; //engergebnis

  if (Result[4] = Result[0] + Result[2]) and (Result[4] = Result[1] + Result[3]) then
        Result[4] := Result[1]+Result[3]
  else
        ShowMessage('Die Zahlen stimmen nicht ');

end;

procedure TForm1.Button1Click(Sender: TObject);

var
  rec: Integerarray ;

begin
  bedingung;
   Edit1.Text := InttoStr(rec[1]);

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
       Randomize;
end;
danke schon mal im vorraus
nicht nur Delphi sondern auch Java und C# formen die Welt
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Array Rückgabewert Funktion

  Alt 14. Okt 2014, 10:12
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

var
  rec: Integerarray ;

begin
  rec := bedingung; //Zuweisung nicht vergessen!!
   Edit1.Text := InttoStr(rec[1]);

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
  Mit Zitat antworten Zitat
Kuehter

Registriert seit: 14. Okt 2014
59 Beiträge
 
Delphi 7 Professional
 
#5

AW: Array Rückgabewert Funktion

  Alt 14. Okt 2014, 10:17
Vielen Danke für die Schnelle hilfe
nicht nur Delphi sondern auch Java und C# formen die Welt
  Mit Zitat antworten Zitat
ExceptionOverflow
(Gast)

n/a Beiträge
 
#6

AW: Array Rückgabewert Funktion

  Alt 14. Okt 2014, 10:16
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

var
  rec: Integerarray ;

begin
  bedingung;
// Die Funktion wurde aufgerufen aber das rec nicht befüllt
   Edit1.Text := InttoStr(rec[1]);

end;
daher:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

var
  rec: Integerarray ;

begin
  rec := bedingung;
   Edit1.Text := InttoStr(rec[1]);

end;
Edit:

war zu langsam, damit sorry für den "fast" doppelpost ^^
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#7

AW: Array Rückgabewert Funktion

  Alt 14. Okt 2014, 10:24
In den Projektoptionen kann man auch einstellen, daß Results immer zugewiesen werden müssen (ist das Standardverhalten von ur-ur-uralten Delphiversionen). Dann gibt der Compiler eine Fehlermeldung aus, wenn man das Result nicht verwendet/zuweist.
Nur da Viele gern alle möglichen Results einfach so ignorieren, werden viele Codes nicht mehr kompilieren.

[add]
Zitat:
habe nur bei dem hier immer einen stack overflow
Erstmal hättest du hier einen Haltepunkt auf die Fehlerzeile Edit1.Text := InttoStr(rec[1]); machen sollen und dort mit dem Debugger nachschauen was im rec drin steckt.

Alternativ kann man in den Projektoptionen auch einfach mal die Bereichsprüfung aktivieren.
Diese baut dann Prüfcode in alle Array-Zugriffe und prüft, ob man auf gültige/existierende Indize zugreift.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (14. Okt 2014 um 10:35 Uhr)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.739 Beiträge
 
Delphi 6 Enterprise
 
#8

AW: Array Rückgabewert Funktion

  Alt 14. Okt 2014, 10:40
Delphi-Quellcode:
  Result[4] := Result[0]+Result[2]; //engergebnis
  if (Result[4] = Result[0] + Result[2]) and (Result[4] = Result[1] + Result[3]) then
        Result[4] := Result[1]+Result[3]
  else
        ShowMessage('Die Zahlen stimmen nicht ');

Läßt sich der Part nicht "kürzen" zu:

Delphi-Quellcode:
  Result[4] := Result[0]+Result[2]; //engergebnis
  if (Result[4] <> Result[1] + Result[3]) then
    ShowMessage('Die Zahlen stimmen nicht ');
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort


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 01:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz