Einzelnen Beitrag anzeigen

radekj

Registriert seit: 17. Dez 2006
22 Beiträge
 
#3

Re: STL Standard Delphi Library für Delphi Win32

  Alt 17. Dez 2006, 15:10
Beispiel:
Delphi-Quellcode:
procedure Test();
var
DummeFragen: DMap;
begin
DummeFragen := DMap.Create;
DummeFragen.purPair('Frage1', 'aaa...');
DummeFragen.purPair('Frage2', 'bbb...');
DummeFragen.purPair('Frage3', 232); <- Zahl !!!
DummeFragen.purPair('Frage4', 'ccc...');

//finde und zeige Frage 2 (string)
ShowMessage( getString(DummeFragen.locate(['Frage2'])) );

//finde und zeige Frage3 (eine Zahl !!!)
ShowMessage(IntToStr( getInteger(DummeFragen.locate(['Frage3'])) ));

DummeFragen.Free;
end;
Versuche das mit TList zu machen !!!


oder etwas komplexer:

We have two classes of students. Some students can be in both classes. We want to find
every student whose grade is above 80 in both classes, making sure that we remove
duplicates (because students might be in both classes). Then we want to sort the students by
their names, in reverse alphabetical order. Here’s the code:
Delphi-Quellcode:
Procedure test;
 Var class1, class2 : DMap;
 GoodStudents : DArray;
 I : Integer;
 Iter1, Iter2 : DIterator;
Begin

 // fill our classes with random students and grades
 class1 := DMap.Create;
 class2 := DMap.Create;

 for I := 1 to 25 do
 begin
  class1.putPair([Random(100), RandomName]);
  class2.putPair([Random(100), RandomName]);
 end;

 goodStudents := DArray.Create;
 iter1 := class1.lower_bound([80]);
 iter2 := class2.lower_bound([80]);
 setIntersectionIn(iter1, class1.finish, iter2, class2.finish, goodStudents.finish);
 reverse(goodStudents);
 PrintContainer(goodStudents);

 FreeAll([class1, class2, GoodStudents]);
end;
ciao
Radek
  Mit Zitat antworten Zitat