![]() |
STL Standard Delphi Library für Delphi Win32
Hallo,
seit 1998 gibt es die freie Standard Delphi Library für Delphi Win32 "DeCAL" (gohostet by sourceforge), ein muss für jeden professionellen Delphi Programmierer. Sie ist praktisch ein Abbild der STL für C++ mit Containern, Interators etc. Sie beschleunigt die Entwicklumg jedes Projektes und verbessert die Lesbarkeit des Codes. ciao Radek |
Re: STL Standard Delphi Library für Delphi Win32
Aha, und wozu is sowas gut und wie beschleunigt es die Entwicklung jedes Projektes oder verbessert die Lesbarkeit des Codes? :gruebel:
|
Re: STL Standard Delphi Library für Delphi Win32
Beispiel:
Delphi-Quellcode:
Versuche das mit TList zu machen !!!
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; 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:
ciao
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; Radek |
Re: STL Standard Delphi Library für Delphi Win32
Hi radekj, du kannst deine Beiträge auch editieren, einen neuen aufmachen ist erst nach 24 Stunden ein Muss.. ;)
|
Re: STL Standard Delphi Library für Delphi Win32
Ja, das sieht wirklich hilfreich aus :o
Da hätte ich auch gleich mal ne Frage: Kann ich auch überprüfen von welchem Typ die daten sind? Quasi anstatt
Delphi-Quellcode:
schreib ich dann
getInteger
Delphi-Quellcode:
:?: :?: :?:
if IsInteger(['Frage3'] then getInteger(...
PS: Es gibt keine dumme Fragen, nur... ;) |
Re: STL Standard Delphi Library für Delphi Win32
Ja.
Aber das ist nur eine von viellen Besonderheiten von STL das man Typen in Conteiner einfach mischen kann, es wird über "array of const" und "TVaRec" Typen gemacht. Ich behaupte das Delphi + STL + LOKALE SQL-Engine das mächtigste Entwicklumgs-Umgebung ist. radek |
Re: STL Standard Delphi Library für Delphi Win32
Zitat:
|
Re: STL Standard Delphi Library für Delphi Win32
Die DeCAL-STL für Delphi war 1998 fertig entwickelt und war bis ca. 2000 ein komerzielles Produkt.
Also es gab nichts zu tun, sie ist seit 1998 stabil. Das OpenSource Projekt hat an der DeCAL nichts gemacht. Ich benutze Sie seit 1998, und ich lebe von Programmierung ! Radek |
Re: STL Standard Delphi Library für Delphi Win32
Zitat:
Und das nur beim schnellen drüberschauen. |
Re: STL Standard Delphi Library für Delphi Win32
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz