Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Tabellen bzw. Arraywerte verschieben... (https://www.delphipraxis.net/94561-tabellen-bzw-arraywerte-verschieben.html)

DataNess 23. Jun 2007 11:30


Tabellen bzw. Arraywerte verschieben...
 
Hallo,

ich habe ein Array und eine Tabelle die immer länger werden (Sammeln von Messwerten).
Und nun möchte ich immer die obersten Werte (1.Zeile der Tabelle und des Arrays) löschen.
Gibt es da einen schnelleren bzw. elleganteren Weg als eine Schleife die in die 1.Zeile die Werte der 2.Zeile schreibt ?

z.B.
Delphi-Quellcode:
for n:=1 to AnzData-1 do
begin
  DataArray[n]:=DataArray[n+1];
  Tabelle.Rows[n]:=Tabelle.Rows[n+1];
end;
Danke im Vorraus...

DeddyH 23. Jun 2007 11:34

Re: Tabellen bzw. Arraywerte verschieben...
 
Nimm doch statt des Arrays eine verkettete Liste oder eine gleich eine TList.

anzu 23. Jun 2007 12:57

Re: Tabellen bzw. Arraywerte verschieben...
 
Hallo,

wenn die Daten in eine Tabelle gespeichert werden, dann kanst du ja einfach auf den ersten Datensatz gehen und den weglöschen, also

table1.first;
table1.delete;

oder die ersten x Einträge

var i,x : integer;

begin
table1.first;
for i:=1 to x do
table1.delete;
end;

DeddyH 23. Jun 2007 12:59

Re: Tabellen bzw. Arraywerte verschieben...
 
Ich denke nicht, dass es sich um eine Datenbanktabelle handelt, sondern wohl eher um eine StringGrid.

DataNess 23. Jun 2007 13:20

Re: Tabellen bzw. Arraywerte verschieben...
 
Richtig, es ist ein einfaches StringGrid, und in dem Array sind Real-Werte gespeichert, also geht eine StringList nicht...

Chemiker 23. Jun 2007 13:24

Re: Tabellen bzw. Arraywerte verschieben...
 
Hallo DataNess,

es gibt die Möglichkeit das ganze als Ringpuffer zu organisieren. Ich habe das bisher zwar nicht mit einem Array durchgeführt aber theoretisch müsste das auch gehen. Man könnte es zum Beispiel so machen das man den Array beschrägt z.B.: auf 10 Messwerte, sind diese erreicht so wird der Array – Index wieder auf 0 gesetzt und der 11 Messwert wird an der 0 Stelle vom Array geschrieben und so weiter.

Bis bald Chemiker

DeddyH 23. Jun 2007 13:27

Re: Tabellen bzw. Arraywerte verschieben...
 
Ich hatte nichts von TStringList gesagt. Schau mal in der OH unter TList nach.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 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