AGB  ·  Datenschutz  ·  Impressum  







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

mengentypen in einer funktion

Ein Thema von vsilverlord · begonnen am 29. Nov 2008
Antwort Antwort
Benutzerbild von vsilverlord
vsilverlord

Registriert seit: 7. Jan 2008
Ort: Baden Württemberg- Hohenlohekreis
174 Beiträge
 
RAD-Studio 2009 Arc
 
#1

mengentypen in einer funktion

  Alt 29. Nov 2008, 16:07
Hallo.
Ich versuche gerade, zwei array of string zu einem zusammenzufügen, was aus einem unerfindlichen Grund nicht funktioniert.
Der Quelltext ist zu lang, hässlich und zu kompliziert, ich wüsste jetzt aber auch nicht was ich ändern könnte.
Viel besser würde mir das gefallen, wenn ich mit einem Mengentypen in einer Funktion arbeiten könnte, das würde mit viel besser gefallen, zb vereinfacht so:
Delphi-Quellcode:
function tform1.fusion(a,b:set of integer):set of integer;
begin
result:=a+b
end
nur leider ist das ja unmöglich. Hier nun mein quelltext. Es gibt auf dem Formular nur 3 buttons, 2 textfelder und 1 memo. mit den ersten beiten buttons kann man strings (von edit1 und edit2) zu dem jeweiligen array of string hinzufügen (button 1 und 2). Mit button3 sollten die beiden array of string zusammengefügt werden und dann im memo1 ausgegeben werden.
Delphi-Quellcode:
unit Unit1;

interface

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

type
  thasenkolonie=record
    hasen:array of string;
    anzahl:integer;
    end;
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Edit2: TEdit;
    Button2: TButton;
    Memo1: TMemo;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    function hasenkoloniefusion(a,b:thasenkolonie):thasenkolonie;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  keinohrhasen,mitohrhasen:thasenkolonie;
  gemischtehasen:thasenkolonie;

implementation

{$R *.dfm}

function tform1.hasenkoloniefusion(a,b:thasenkolonie):thasenkolonie;
var
i:integer;
begin
setlength(result.hasen,a.anzahl+b.anzahl);
for i:=0 to a.anzahl-1 do
  begin
    result.hasen[i]:=a.hasen[i];
  end;
for i:=a.anzahl to (a.anzahl+b.anzahl-1) do
  begin
    result.hasen[i]:=b.hasen[i-a.anzahl+1]
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
setlength(keinohrhasen.hasen,length(keinohrhasen.hasen)+1);
keinohrhasen.hasen[length(keinohrhasen.hasen)-1]:=edit1.Text;
inc(keinohrhasen.anzahl);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
setlength(mitohrhasen.hasen,length(mitohrhasen.hasen)+1);
mitohrhasen.hasen[length(mitohrhasen.hasen)-1]:=edit1.Text;
inc(mitohrhasen.anzahl);
end;

procedure TForm1.Button3Click(Sender: TObject);
var
i:integer;
begin
gemischtehasen:= hasenkoloniefusion(mitohrhasen,keinohrhasen);
for i:=1 to gemischtehasen.anzahl do
begin
memo1.Lines.Add(gemischtehasen.hasen[i])
end
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
setlength(mitohrhasen.hasen,0);
mitohrhasen.anzahl:=0;
setlength(keinohrhasen.hasen,0);
keinohrhasen.anzahl:=0;
end;

end.
Volker
~beware
Wizards First Rule:
People are stupid; given proper motivation, almost anyone will believe almost anything. Because people are stupid, they will believe a lie because they want to believe it’s true, or because they are afraid it might be true
  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 13:43 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