![]() |
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:
|
Re: STL Standard Delphi Library für Delphi Win32
![]() Es gibt auch noch ein decaldev Projekt bei Sourceforge, aber das ist was völlig anderes. |
Re: STL Standard Delphi Library für Delphi Win32
Bitte erst lesen !
Es handelt sich um STL für Delphi WIN32 !!! und nicht das ultra langsame unübersichtige und aus 1001 dlls bestehende Black-Box .NET !!! also keine Namespaces, UniqueStrings etc... ciao Radek |
Re: STL Standard Delphi Library für Delphi Win32
Zitat:
Zitat:
Zitat:
|
Re: STL Standard Delphi Library für Delphi Win32
Zitat:
|
Re: STL Standard Delphi Library für Delphi Win32
Zitat:
hat Microsoft die MFC und jetzt die .NET nie für die internen Projekte (Office, Windows etc.) verwendet, sondern die Microsoft's Active Template Library). Warum wohl ?! Radek |
Re: STL Standard Delphi Library für Delphi Win32
Ich finde die STL nicht besonders nuetzlich. Alles schoen abstrakt, aber genau das macht dem Durchschnittsprogrammierer Probleme.
Das womit mit einem Delphi-Programm meist Geld verdient wird, ist ueblicherweise doch eher simpel. Da steht die Leistungsfaehigkeit und der Abstraktionsgrad der STL eher im Weg. Die Staerke von Delphi liegt eher im Bereich Oberflaeche machen und Datenbank ansteuern. Da versagt die STL fast voellig, denn die Oberflaeche braucht meist nur simple Event-Handler und der Datenbankzugriff geht ueber massgeschneiderte Komponenten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 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