hi,
maybe with the "class of" declaration ?
A generic class :
TFormatter = class end;
A "class of" class :
TFormatterClass = class of TFormatter;
TCustomerNumberFormatter = class (TFormatter)
private
class function FormatString(aString: String): string;
end;
TArrangementNumberFormatter = class (TFormatter)
private
class function FormatString(aString: String): string;
end;
Cédric
----- Original Message -----
From: "Jesper Stenlund" <[email protected]>
To: <[email protected]>
Sent: Tuesday, May 12, 2009 1:20 PM
Subject: Class method
>I have a bunch of classes that formats a string in different ways.
> Today I have to create an instance of a specific "formattingobject" and
> then run the formattingmethod.
> Instead of that behaviour I now want make the formattingmethod a class
> method.
>
> But that causes me some other problems.
> Here's a small example:
>
> TCustomerNumberFormatter = class (TObject)
> private
> class function FormatString(aString: String): string;
> end;
>
> TArrangementNumberFormatter = class (TObject)
> private
> class function FormatString(aString: String): string;
> end;
>
>
> Then I want to do something like this but I don't know exactly how to
> write my code.
>
> case FormatType of
> ftArrangementNumber: myClass := TArrangementNumberFormatter;
> ftCustomerNumber: myClass := TCustomerNumberFormatter;
> end;
>
> TEdit1.Caption := myClass.FormatString(myObject.StringToFormat);
>
>
> I know that last row isn't correct, but how can I do this?
>
> I hope you understand what I'm looking for.
> I want to use the classname that I get from the case-sentence and then run
> the class function on that particular class.
> Is it possible to do it like this?
>
>
> //Jesper
> _______________________________________________
> Delphi mailing list -> [email protected]
> http://lists.elists.org/cgi-bin/mailman/listinfo/delphi
_______________________________________________
Delphi mailing list -> [email protected]
http://lists.elists.org/cgi-bin/mailman/listinfo/delphi