Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Füllstand eines Arrays ermitteln? (https://www.delphipraxis.net/182831-fuellstand-eines-arrays-ermitteln.html)

wonkos2 20. Nov 2014 15:23

Füllstand eines Arrays ermitteln?
 
Ahoi DP,

aktuell grüble ich über das Problem nach, wie sich der Füllstand eines Arrays auslesen läßt. Gibt es dazu eine Funktion? Wenn nein, wie kann ich das mit Bordmitteln selbst bauen (XE3)? Ein dynamisches Array kann ich leider dazu nicht benutzen.

Hat jemand eine Idee dazu? Wenn ja, bitte ich um Euren Kommentar.

Viele Grüße,

wonkos2

DeddyH 20. Nov 2014 15:24

AW: Füllstand eines Arrays ermitteln?
 
Was soll denn der Füllstand eines Arrays sein? :gruebel:

Daniel 20. Nov 2014 15:31

AW: Füllstand eines Arrays ermitteln?
 
Also Du hast ein Array fester Länge und hast offenbar auch Kriterien anhand derer Du prüfen kannst, ob ein Eintrag des Arrays als "belegt" oder als "frei" gilt.
Ich würde einfach von vorn bis hinten durchlaufen und zählen.

baumina 20. Nov 2014 15:32

AW: Füllstand eines Arrays ermitteln?
 
Du merkst dir einfach beim Array-Füllen wieviel du gefüllt hast. Das wird wahrscheinlich eine Zählvariable sein.

TRomano 20. Nov 2014 15:36

AW: Füllstand eines Arrays ermitteln?
 
@DeddyH: er meint wohl, ob ein Array-Element "belegt" ist oder eben nicht.

Das kommt wohl auf den Typ des Array´s an. Bei z.B. einem Integer-Array muss Du dir darüber im klaren sein, was für Dich "leer" bedeutet ... eine "0" oder was auch immer.

DeddyH 20. Nov 2014 15:37

AW: Füllstand eines Arrays ermitteln?
 
OK, das macht Sinn. Schwierig wird es nur, wenn es kein eindeutiges Kriterium gibt.

TRomano 20. Nov 2014 15:42

AW: Füllstand eines Arrays ermitteln?
 
Genau. Auch eine Null kann eine "Befüllung" eines Integer-Array´s sein. Aber die Kriterien wird der TE wohl kennen ...

wonkos2 20. Nov 2014 16:05

AW: Füllstand eines Arrays ermitteln?
 
Es geht um ein Array [0..x] of char. Es wird links nach rechts befüllt.

Geht das mit der Length-Funktion?

himitsu 20. Nov 2014 16:14

AW: Füllstand eines Arrays ermitteln?
 
Zitat:

Zitat von wonkos2 (Beitrag 1280529)
Geht das mit der Length-Funktion?

Ja, wenn du das Length auf den enthaltenen Text und nicht auf das Array anwendest.

* Array nach String kopieren/casten und Length darüber
* oder Zeiger (PChar) auf Array und dann mit Length (impliziter Cast nach String) oder MSDN-Library durchsuchenlstrlen (Windows.pas)

Geht alles aber nur, wenn die Chars nach den Befüllten #0 sind (zumindestens das Erste von den Leeren).

Der schöne Günther 20. Nov 2014 16:17

AW: Füllstand eines Arrays ermitteln?
 
Ich habe mich damit nie beschäftigt, aber ist der String nicht "zu Ende" sobald irgendwo ein 0-Character auftaucht? Alles danach würde nicht mehr gezählt werden.
Wenn er denn schon ein Char-Array hat wird man mit dem Umwandeln zu vollkommen anderen Typen sicher nicht glücklich wenn man nur wissen will "Wieviele Elemente im Array sind ungleich x?"


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz