AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TList für Integer

Ein Thema von Coder · begonnen am 11. Jul 2023 · letzter Beitrag vom 11. Jul 2023
 
Benutzerbild von Coder
Coder

Registriert seit: 27. Feb 2004
Ort: Bochum
203 Beiträge
 
Delphi 3 Professional
 
#1

TList für Integer

  Alt 11. Jul 2023, 12:51
Delphi-Version: 5
Moin,

ja und zwar wollt ich mal fragen u.a. auch anlässlich der
https://www.delphipraxis.net/213266-...-new-post.html

an diser Stelle natürlich auch mein Glückwunsch!

und
weil es mich immerschonmal interessiert hat:

Warum hat man bis vor 10 Jahren unter Delphi keine Liste für Integer gebraucht, gewünscht (nicht gekonnt?) bzw. wo hat man die Integer gelassen?
Nur in einem Array?
oder TFrickelliste?
Warum gab es zwar eine TStringlist, aber kein bequemes Pendant für immerhin die Integer (wenn auch Flieskommazahlen sicherlich schwerer zu speichern sind).
Gut, klar mit Tlist und Pointern kann ich mir da was zusammenmatschen. Muß aber selber vor dem PointerZuweisen dafür Speicher reservieren, adde das an die Liste, rufe es wieder ab und muß anschließend erst den Speicher für den Pointer wieder mit Dispose freigeben, bevor ich es von der Liste löschen kann (also den Pointer).
Das ist/war doch undurchsichtiges, fehlerträchtiges Gefrickel. (s.u.)

OKOK, an eine Tlist kann ich Daten aller Formate und Typen, sowie beliebiger Länge dranklatschen.

und - OK, ja, seit 2011 oder wann kann ich mir auch eine mit
  List: TList<Integer>; durch Generische Collections basteln.

Aber wie um Himmelswillen hat man das früher gemacht??
- und warum hat man sich das vor 2011 nicht einfacher gemacht???!!
1980 Nen visuellen Editor, Compiler und Linker in 80 kb (!!!) gepresst, später dann
die C++-Builder-IDE mittels Delphi erstellt u. compiliert, damit man's einfacher hatte,
in den 20 Jahren aber keine Zeit für ne Titnegerlist gehabt???!
Boarland .... embargodero ... Menschenskinder ...

Delphi-Quellcode:
function bla(a: String);
var
  tl : Tlist;
  p : ^Integer;
begin
  tl := Tlist.create;
  new(p);
  p^ := 2; // Zahl 2 zuweisen
  tl.add( p);
  p := tl[0];
   self.Caption := inttostr((p^)); // z.B. Ausgabe / Bsp.-Weiterverarbeitung
  dispose(p);
  tl.Delete(0);
  tl.free;
end; // Function
Kann sich da noch jemand dran erinnern, warum man das nicht eher gemacht hat?
OK, bei Integern bin ich da nicht auf Länge von 2147483648 oder Cardinal beschränkt.

mein Workaround war immer:
Delphi-Quellcode:
var ts: tStringlist;
begin
ts := tStringlist.Create;
ts.add(inttostr(2));
ts.add(inttostr(5));
ts.add(inttostr(7));
 form1.zahl := strtoint(ts[1]) * 3); // gleich Sechs (als Zahl weiterverarbeiten)
 ts.delete(ts.count-2);// die 5; od. einfach gleich alle drei löschen:
ts.delete(0);ts.delete(0);ts.delete(0); // optional
ts.free;
Ok, geht vielleicht auch als langjähriger Programmierer sicher eleganter)
Aber was hätte ich mich über eine einfache Lösung für Integer gefreut ...
ICQ: 204141443
Delphi 3 Professional, Intel 2x 2,4Ghz, 3 GB-Graka, Sound-onBrd, --
außerdem D2S, D3Pro, D4S, D5S, D6S, D7S + Indy, Lazarus, VB5Std, VC++5Pro, Tasm4+5 - was braucht man mehr?
-

Geändert von Coder (11. Jul 2023 um 13:13 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz