On Mon, 10 Mar 2003 at 14:11 (+0100), Holger Macht wrote:
Am Montag, 10. März 2003 13:44 schrieb Bernhard Walle:
Bei einem Array hingegen kann direkt auf einen Index zugegriffen werden da ja nur sizeof(obj) * index gerechnet werden muss. Andererseits ist ein statisches Array von QString-Objekten natuerlich Platzverschwendung, es sei denn es sind immer genau 200 Stueck.
Ein statisches Array finde ich auch nicht gut, nur habe ich bis jetzt (z.B. in PAscal) halt keine andere Möglichkeit gewusst.
Ich denke mal in Pascal gibt's auch bessere Moeglichkeiten. Notfalls bastelt man sich halt selber eine Liste -- Produkttypen kennt ja Pascal. Eine Liste ist entweder leer oder ein Paar aus einem Element und einer weiteren Liste. Wenn man das Ganze dann mit Zeigern realisiert nimmt man fuer die leere Liste NULL (oder nil wie das IIRC in Pascal heisst) und los geht's. ... Dass das viel Auswand ist ist klar, davon abgesehen gibt's in Delphi/Kylix bestimmt vordefinierte Listen ... aber GEHEN tut's. :-)
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.
Naja, da ein Vokabltrainer bestimmt kein hochperformantes Programm ist wuerde ich einfach QStringList verwenden und fertig. Ich kann mir nicht vorstellen dass man bei den kleinen Datenmangen, die ein Vokabeltrainer so zu verwalten hat wirkliche Performanceprobleme bekommt ... Gruß, Bernhard -- _________ http://www.bwalle.de _________________________________________________ "Unix is the most user friendly system I know, the point is the it is really selective about who is indeed its friend." -- Luigi Genoni