Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi array auf Inhalt überprüfen (https://www.delphipraxis.net/83493-array-auf-inhalt-ueberpruefen.html)

ghost1601 3. Jan 2007 16:33


array auf Inhalt überprüfen
 
Hiho,
ich habe eine form in der mehrere editfelder vorhanden sind.
aus diesen editfelder werden daten entnommen die dann in ein array geschrieben werden sollen.
nun hab ich das problem, dass ich mit einem button direkt an die stelle springen will wo noch kein eintrag vorhanden ist. ich habe allerdings keine ahnung wie ich das machen kann.
ich denke man müsste erstmal das array überprüfen ob an stelle x ein eintrag vorhanden ist.
kann mir da jemand weiterhelfen, also speziellan der stelle wie ich das array überprüfen kann?
thx

marabu 3. Jan 2007 16:59

Re: array auf Inhalt überprüfen
 
Hi,

du könntest deine Edit-Felder in ein array of TEdit eintragen und dann mit einer Schleife über dieses array gehen um ein leeres Feld zu finden - etwa so:

Delphi-Quellcode:
var
  EditArray: array of TEdit;
  i: Integer;
begin
  for i := Low(EditArray) to High(EditArray) do
    if EditArray[i].Text = '' then
    begin
      EditArray[i].SetFocus;
      Break;
    end;
end;
Grüße vom marabu

ghost1601 3. Jan 2007 17:36

Re: array auf Inhalt überprüfen
 
Zitat:

Zitat von marabu
Hi,
Delphi-Quellcode:
var
  EditArray: array of TEdit;
  i: Integer;
begin
  for i := Low(EditArray) to High(EditArray) do
    if EditArray[i].Text = '' then
    begin
      EditArray[i].SetFocus;
      Break;
    end;
end;
Grüße vom marabu

ja aber ein array hab ich ja schon und nebenbei mit diesen quelltext geht man auch nicht an die erst leere stelle, soweit ich das beim testen sehen konnte...ich hatte da irgendwann mal eine FindComponent, allerdings weiß ich nicht mehr wie die funktionierte:cry:, vielleicht ginge das damit?

marabu 3. Jan 2007 18:02

Re: array auf Inhalt überprüfen
 
Hallo,

Zitat:

Zitat von ghost1601
ja aber ein array hab ich ja schon ...

um so besser.

Zitat:

Zitat von ghost1601
... und nebenbei mit diesen quelltext geht man auch nicht an die erst leere stelle

Wohin denn dann? Was meinst du denn mit "erste Stelle"? Hast du die Items im Array geordnet, damit erste und letzte Stelle definiert sind?

Zitat:

Zitat von ghost1601
... ich hatte da irgendwann mal eine FindComponent, allerdings weiß ich nicht mehr wie die funktionierte:cry:, vielleicht ginge das damit?

Klar doch - es gibt immer mehrere Wege, wie man ein Problem lösen kann. Den optimalen Weg findet nur der, welcher alle Anforderungen kennt.

Freundliche Grüße

ghost1601 3. Jan 2007 18:06

Re: array auf Inhalt überprüfen
 
hi again^^:lol:,

das array in dem die daten stehen ist natürlich gefüllt und sortiert (das hätte ich erwähnen müssen, da hast du vollkommen recht).
die einträge dort sind von stelle 1 aufwärts eingetragen, derzeit bis zur stelle 11. die 12 wäre daher die erste freie stelle. und die soll das programm finden :-D
falls du sonst noch weitere anforderungen erfahren willst, frag doch einfach.
:thumb:

thales 3. Jan 2007 18:23

Re: array auf Inhalt überprüfen
 
Hallo,

eine Möglichkeit wäre, das Array als dynamisches Array zu deklarieren. Es wird immer so groß gemacht, wie gerade benötigt. Die Länge fragt man mit "length(..)" ab, vergrößert wird es mit "setlength(..)".
Achtung: Die Zählung beginnt immer bei 0!

Bsp.: 12 Einträge: 0 .. 11
"n:=length(array)" ergibt den Wert 12, mit setlength(array,n+3) wird das Array um 3 Plätze erweitert ,
der erste freie platz in dass array[n].

Gruß Thales

marabu 3. Jan 2007 18:24

Re: array auf Inhalt überprüfen
 
Was verstehst du unter "Stelle"?
Wie ist die Ordnung definiert?

ghost1601 3. Jan 2007 19:31

Re: array auf Inhalt überprüfen
 
@thales: das wäre eine möglichkeit...aber ich denke dadurch würde ich nur noch mehr probleme bekommen weil dann anderswo etwas nicht hinhaut :wink:

@marabu: mit stelle ist die position im array gemeint

marabu 3. Jan 2007 20:15

Re: array auf Inhalt überprüfen
 
Hallo,

ich verstehe zwar immer noch nicht, was du da vorhast, aber wenn ich das Suchen nach einem unbelegten Slot im Array als unabhängiges Teilproblem betrachte, dann empfehle ich dir statt einem Array eine TObjectList zu verwenden. Mit demr Methodenaufruf IndexOf(nil) bekommst du dann den Index des ersten freien Slots.

Gute Nacht

ghost1601 3. Jan 2007 20:56

Re: array auf Inhalt überprüfen
 
Guten Abend,

also ich fang am besten von vorne an. ich hab ein programm mit editfeldern. in den editfeldern werden sachen eingetragen die in ein array eines eigenen datentyps geschrieben werden. diese daten, aus dem array will ich nun durchsuchen. die suche soll mir die erste freie stelle (also die wo noch nichts steht) ausgeben. sodass ich an dieser stelle fortfahren kann und auch gleich diese stelle füllen kann.
jetzt klar?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 Uhr.
Seite 1 von 2  1 2      

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