On Montag, 10. März 2003 14:11, Holger Macht wrote:
Also ich habe schon vor einiger Zeit einmal ein Vokabellernprogramm mit Delphi bzw. Kylix erstellt. Dieses möchte ich jetzt auch gerne als QT-Programm schreiben. Also die StringListen sollen z.B. alle englischen Vokabeln eines Kapitels speichern, von denen sie dann aus am Ende in eine Datei geschrieben werden. In dem Programm werden die Strings sortiert, durchgemischt oder halt auf einzelne zugegriffen (z.B. beim Bearbeiten). Das Sortieren oder Mischen kommt dabei häufiger zum Einsatz.
Das schreit für mich nach QDict. Da kannst Du z.B. so etwas machen: english[ "Dingsbums" ] = "gadget"; - d.h. ganz natürlich darauf zugreifen (in einer Richtung zumindest).
Es wuerde sich _vielleicht_ ein Array von Zeigern auf QStrings anbieten, wobei das allerdings auch nur dann empfehlenswert ist wenn die Zahl nie groesser als 200 wird. Ausserdem muss man aufpassen dass man nicht ueber die Arraygrenzen hinauslaeuft. Wenn es weniger sind ist es nicht ganz so schlimm da so ein Zeiger ja nur 4 Bytes belegt.
Es könnte schon passieren, dass die Zahl größer als 200 wird. Was soll ich verwenden? Den Code wieder umzuschreiben ist das kleinste Problem.
Wenn es um richtig große Mengen geht, ist ein Array mit ziemlicher Sicherheit
nicht die beste Lösung - irgendwas (egal was) dynamisches. Was genau, richtet
sich danach, wie Du in der Regel zugreifen willst: Wenn Du oft die Zuordnung
suchst, ist QDict (s.o.) sehr gut - dann sparst Du Dir jeglichen Suchaufwand.
Ein Array (wenn schon, dann dynamisch) ist eigentlich nur dann zu empfehlen,
wenn Du oft über den Index zugreifen mußt.
CU
--
Stefan Hundhammer