Einzelnen Beitrag anzeigen

Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#4

Re: Object zur Laufzeit generieren

  Alt 13. Jun 2005, 09:56
Schlag mich, aber mir fällt der Objektorientierte Ansatz, den ich grad hatte nicht mehr ein... ich geh mir mal nen Kaffee holen. Hier noch schnell die etwas elegantere Variante A, die ich grad mal QFD getippt hab.

Delphi-Quellcode:
type
  TType = (typeInt, typeBool, typeString);

type
  TMyRecord = record
    Typ: TType;
    Data: String;
  end;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    MyRecord: Array of TMyRecord;
  public
    function machBool(meinWert: String):String;
  end;

// [...]

procedure TForm1.FormCreate(Sender: TObject);
var i: Integer;
begin
  setlength(MyRecord, 3);
  MyRecord[0].Typ:=TypeInt;
  MyRecord[0].Data:='65';
  MyRecord[1].Typ:=TypeString;
  MyRecord[1].Data:='65';
  MyRecord[2].Typ:=TypeBool;
  MyRecord[2].Data:='65';

  for i:=0 to high(MyRecord) do
  begin
    case MyRecord[i].Typ of
      TypeInt: showmessage(MyRecord[i].Data);
      TypeString: showmessage(Chr(StrToInt(MyRecord[i].Data))); // Okay, ist momentan eher ein Char statt ein String ;)
      TypeBool: showmessage(machBool(MyRecord[i].Data));
    end;
  end;
end;

function TForm1.machBool(meinWert: String):String;
begin
  if meinWert = '0then
    Result:='false'
  else
    Result:='true';
end;
Ich hab wegen der Anschaulichkeit hier mal mit String gearbeitet. Ist IMHO nicht der beste Weg, aber sehr übersichtlich.

MfG

Tonic
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat