![]() |
AW: Array aus Record löschen
Kleine Anschluss frage
Delphi-Quellcode:
Ist das schnell genug oder sollte ich hier das Array mit Move verschieben ?
procedure Delete(var SrcArray: TArray<TSprite>; Index: Integer);
var I: Integer; begin for I := (Index + 1) to (Length(SrcArray) - 1) do SrcArray[I- 1] := SrcArray[I]; Setlength(SrcArray, length(SrcArray) - 1); end; gruss |
AW: Array aus Record löschen
Da ja keine Delphi-Verison angeeben wurde ....
Delphi kann inzwischen auch endlich Insert/Delete für dynamische Arrays (k.A. warum das so viele Jahre gedauert hat) und es hat eine nette statische Klasse TArray in System.Generics.Collections . Move ... nur wenn du weißt was du machst und dabei nicht z.B. eine Speicherverwaltung/Referenzzählung der Felder zerschrottest. |
AW: Array aus Record löschen
Zitat:
Sorry! Ok denke mal dann ist das so in Ordnung mehr als 200 Icons(Verknüpfungen liegen eh nicht auf dem Desktop) Und es ist auch nur eine Sicherheitsmaßnahme damit ich kein leeres Icon auf der Bar zu sehen bekomme.
Delphi-Quellcode:
gruss
// Prüfen ob wir einige der Verknüpfungen deaktivieren (verstecken) müssen.
for K := High(gs) downto ID_FIRST do //ID_FIRST = 6 erster Icon Eintrag im Array 0 > 6 reserviert für die Grafische Oberfläche begin if gS[K].h_Bitmap = 0 then begin Delete(gs, K); dec(Count); if gp.RecycleBin = K then gp.RecycleBin := 0; end; //Das RecycleBin-Array entsprechend ändern if gp.RecycleBin > Count then gp.RecycleBin := Count; end; |
AW: Array aus Record löschen
Zitat:
|
AW: Array aus Record löschen
Zitat:
gruss |
AW: Array aus Record löschen
Leider nicht fündig geworden. Ich finde nur Sort aber weder Delete noch Insert.
|
AW: Array aus Record löschen
Zitat:
gruss |
AW: Array aus Record löschen
Liste der Anhänge anzeigen (Anzahl: 1)
Anhang 47409
Alt und "Neu".
Delphi-Quellcode:
oder
B := Copy(A)
Delphi-Quellcode:
geht ja auch schon längere Zeit ... nur Delete und Insert fehlte halt.
B := Copy(A, 1, 3)
Weiß nicht genau seit wann es mit DynArrays geht, aber seit XE7 kann man noch ganz andere Dinge, wie "string like"-Operationen ala
Delphi-Quellcode:
var A, B, C: array of Byte; // TArray<Byte> oder TBytes
A := B + C; A := [1, 2, 3]; A := B + [1, 2, 3]; |
AW: Array aus Record löschen
Delete, Insert, Copy für dynamische Arrays. Vereinfacht mein Leben bestimmt sehr in Zukunft. Danke für den Tipp :thumb:
|
AW: Array aus Record löschen
Zitat:
Die Frage nur ob das sinnvoll ist für einen einzigen Aufruf die Generics mit einzubinden. Das bauscht den Code wieder um einige KB auf. (Wäre in meinem Fall also unnötig) Wenn man viel mit Arrays unterwegs ist. Warum nicht! Dann wird sich das lohnen. gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:40 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