Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Records, Array

  Alt 17. Aug 2011, 13:02
Hallo und Willkommen in der DP ,

wenn Du einen Datensatz (Record) einfügen willst, musst Du das Array ja immer erweitern unabhängig von irgendwelchen Bedingungen (es sei denn, Du machst das blockweise, aber das ist ein anderes Thema). So, Du hast nun Deinen einzufügenden Datensatz und das Suchkriterium. Nun beginnst Du beim kleinsten Indexwert (0 bei dynamischen Arrays, Low() geht aber auch immer) und vergleichst den bereits enthaltenen Record mit dem einzufügenden. Ist der enthaltene Wert kleiner als der neue, gehst Du einen Record weiter. Dies wiederholst Du solange, wie der einzufügende Wert größer ist und das Array noch Daten enthält. Bist Du noch nicht am Ende des Array angelangt, musst Du alle folgenden Records um eins nach hinten verschieben. Dazu musst Du von hinten durchgehen und die Daten aus dem Vorgänger kopieren. Dies auch wieder in einer Schleife, bis Du am "Einfüge-Index" angekommen bist. Nun schreibst Du hier die Daten des neuen Records hinein.

Ich hoffe, das war einigermaßen verständlich.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat