Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Records löschen (https://www.delphipraxis.net/19644-records-loeschen.html)

TheMiller 6. Apr 2004 14:17


Records löschen
 
Hi,

ich habe mal wieder eine Frage zu den Records: Wie kann ich einzelne Datensätze eines Records löschen? Zum Beispiel habe ich eine Datenbank mit Rezepten. Nun mag ich das eine nicht mehr haben und es aus der Datenbank von ca 100 löschen. Wie kann ich nun das Rezept so entfernen, dass ich keinen leeren Datensatz habe, sondern dass das Record vollständig entfernt wird und dann die kommenden alle eins aufrücken?

Danke im Vorraus

MrKnogge 6. Apr 2004 14:24

Re: Records löschen
 
du rückst einfach in ner schleife, die restlichen nach.

TheMiller 6. Apr 2004 14:55

Re: Records löschen
 
ja, aber meine eigentlich Frage ist, wie ich ein speziellen Eintrag eines Records löschen kann. Ich habe damit noch kaum gearbeitet. Sorry für diese evtl. Anfängerfrage.

Wäre trotzdem cool, wenn ihr mir antworten könntet..

Bye

s14 6. Apr 2004 14:58

Re: Records löschen
 
Wenn die Reihenfolge keinen Rolle spielt kannst du auch den zu löschenden Eintrag mit dem Letzten vertauschen und dann die Länge des Array um 1 verkleinern.

TheMiller 6. Apr 2004 15:12

Re: Records löschen
 
hi,

wie würde das funktionieren?

hacki 6. Apr 2004 15:12

Re: Records löschen
 
Hi DJ-SPM,

nimm einfach eine Table Komponente. Den aktiven Datensatz kannst Du dann mit

Code:
MyForm.MyTable.Delete;
löschen. Der Datensatz ist dann weg. Wenn Du allerdings eigene laufende Nummern in einem Feld geführt hast, hast du dabei eine Lücke. Du müsstest dann eine Reorganisation durchführen.


grüsse
hacki

TheMiller 6. Apr 2004 15:19

Re: Records löschen
 
Danke erstmal,

aber was ist eine "Label-Komponente"? :?:

hacki 6. Apr 2004 15:24

Re: Records löschen
 
Keine LABEL - Komponente sondern eine TABLE - Komponente ! Ein Objekt vom Typ TTABLE !!

Wie hast Du die Datenbank denn erstellt ? Hast du keine Table Komponenten verwendet ?

s14 6. Apr 2004 15:27

Re: Records löschen
 
Hier mal ein Beispiel zu Records. Es wird nur eine Memo-Komonente zur Ausgabe des Array benötigt.

Delphi-Quellcode:
procedure TForm1.Button19Click(Sender: TObject);
type
  TEntries = record
    text: string;
  end;
var
  a : Array of TEntries;
  i : Integer;
begin
  SetLength(a, 5);
  // array füllen
  for i := low(a) to high(a)
    do a[i].text := Format('Eintrag: %d', [i]);

  // Testausgabe in memo
  for i := low(a) to high(a) do Memo1.Lines.Add(a[i].text);

  // Eintrag 3 löschen
  a[3] := a[high(a)];
  SetLength(a, 4);

  // Testausgabe in memo, diesmal fehlt der Eintrag 3
  for i := low(a) to high(a) do Memo1.Lines.Add(a[i].text);
end;

TheMiller 6. Apr 2004 15:27

Re: Records löschen
 
War vielleicht der falsche Ausdruck. Es ist keine Datenbank sondern ein Record...


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 Uhr.
Seite 1 von 2  1 2      

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