AGB  ·  Datenschutz  ·  Impressum  







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

Array aus Record löschen

Ein Thema von EWeiss · begonnen am 22. Mai 2017 · letzter Beitrag vom 22. Mai 2017
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

AW: Array aus Record löschen

  Alt 22. Mai 2017, 18:07
Hat das irgendwelche Auswirkungen ? Bitte siehe mein EDIT.
Wird das Teil langsamer oder zu irgendwelchen Einstellungen inkompatibel?

Zitat:
Var ist schon in Ordnung.
Ja danke Olli
Es geht mir um mein EDIT: im vorherigen Beitrag..

gruss
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.382 Beiträge
 
Delphi 12 Athens
 
#2

AW: Array aus Record löschen

  Alt 22. Mai 2017, 18:08
Ich hab auch ein EDIT im Post.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Array aus Record löschen

  Alt 22. Mai 2017, 18:10
Ich hab auch ein EDIT im Post.
Ja habe schon verstanden es ist dann ein "Open Array"
Nur welchen vor oder Nachteil bringt das für mich.
Habe keinen Bock den Code deshalb jetzt komplett umschreiben zu müssen.

Dann mache ich es lieber ohne Procedure.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.382 Beiträge
 
Delphi 12 Athens
 
#4

AW: Array aus Record löschen

  Alt 22. Mai 2017, 18:12
Es ist schneller? (das Open Array kopiert praktisch die Daten/Zeiger, die von außen rein kommen, in seine eigene Struktur rein)

Und vorallem "es funktioniert".
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Array aus Record löschen

  Alt 22. Mai 2017, 18:14
Es ist schneller? (das Open Array kopiert praktisch die Daten/Zeiger, die von außen rein kommen, in seine eigene Struktur rein)

Und vorallem "es funktioniert".
OK Danke.. Das reicht mir wenn ich sonst nichts tun muss
Danke für eure Hilfe.

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Array aus Record löschen

  Alt 22. Mai 2017, 18:16
Kleine Anschluss frage

Delphi-Quellcode:
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;
Ist das schnell genug oder sollte ich hier das Array mit Move verschieben ?

gruss
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.382 Beiträge
 
Delphi 12 Athens
 
#7

AW: Array aus Record löschen

  Alt 22. Mai 2017, 18:18
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.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

AW: Array aus Record löschen

  Alt 22. Mai 2017, 18:19
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 .
D2010.. Ja muss das in mein Profil wieder addieren.
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:
  // 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;
gruss

Geändert von EWeiss (22. Mai 2017 um 18:39 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:10 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-2025 by Thomas Breitkreuz