Zitat von
Taladan:
Oder sollte ich lieber auf .Net umschwenken, da es da wohl noch Datenobjecte gibt...
Das würde ich dir wirklich empfehlen!
Nimmst du D2005 oder #develop (und somit .Net 1.1) würde ich dir für den Anfang die ArrayList als Grundlage empfehlen.
Sie ist etwas prökelig, aber du kannst deine abgeleitete Klasse später immer noch ändern.
Das schöne ist nun, dass du mit jeder Implementierung von IList DataBinding für Listen bekommst.
Du wirst später noch IBindingList (
) entdecken, aber Anfangs solltest du es möglichst simpel halten.
Cool am DataBinding ist, dass es fast _jedes_ Control unterstützt.
Als abstraktes Beispiel wäre folgendes möglich:
Delphi-Quellcode:
type
TSomeClass = class
private
fFirstvalue :Integer;
fSecondValue :string;
public
// Die properties sind grundlegend wichtig für DataBinding!
property Firstvalue :Integer read fFirstvalue write fFirstvalue;
property SecondValue :string read fSecondValue write fSecondValue;
constructor Create(firstValue :Integer; secondValue :string);
// hier packst du irgendwas rein, was dein Objekt in der ComboBox repräsentieren soll
// z.Bsp.: result := SecondValue;
function ToString :string; override;
end;
Der Code würde ein paar Objekte in die Liste packen und diese an eine ComboBox binden.
Außerdem bekommen 2 Textboxes (TextBox = TEdit für .Net) jeweils eine der beiden Eigenschaften des ausgewählten Objektes der Liste an ihre Text Eigenschaften gebunden.
Delphi-Quellcode:
var
List :ArrayList;
begin
List := new ArrayList();
List.Add(SomeClass.Create(1, 'a'));
List.Add(SomeClass.Create(2, 'b'));
List.Add(SomeClass.Create(3, 'c'));
List.Add(SomeClass.Create(4, 'd'));
ComboBox.DataSource := List;
FirstValueTextbox.DataBindings.Add('Text', List, 'FirstValue');
SecondValueTextbox.DataBindings.Add('Text', List, 'SecondValue');
end;
Man kann sich nun den Datensatz in der ComboBox auswählen und mit den 2 TextBoxes bearbeiten.