AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

array auf Inhalt überprüfen

Ein Thema von ghost1601 · begonnen am 3. Jan 2007 · letzter Beitrag vom 4. Jan 2007
Antwort Antwort
Seite 1 von 2  1 2      
ghost1601

Registriert seit: 26. Aug 2006
64 Beiträge
 
Delphi 2005 Personal
 
#1

array auf Inhalt überprüfen

  Alt 3. Jan 2007, 16:33
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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: array auf Inhalt überprüfen

  Alt 3. Jan 2007, 16:59
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
  Mit Zitat antworten Zitat
ghost1601

Registriert seit: 26. Aug 2006
64 Beiträge
 
Delphi 2005 Personal
 
#3

Re: array auf Inhalt überprüfen

  Alt 3. Jan 2007, 17:36
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, vielleicht ginge das damit?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: array auf Inhalt überprüfen

  Alt 3. Jan 2007, 18:02
Hallo,

Zitat von ghost1601:
ja aber ein array hab ich ja schon ...
um so besser.

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 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
  Mit Zitat antworten Zitat
ghost1601

Registriert seit: 26. Aug 2006
64 Beiträge
 
Delphi 2005 Personal
 
#5

Re: array auf Inhalt überprüfen

  Alt 3. Jan 2007, 18:06
hi again^^,

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
falls du sonst noch weitere anforderungen erfahren willst, frag doch einfach.
  Mit Zitat antworten Zitat
thales

Registriert seit: 2. Jan 2007
Ort: Kiel
1 Beiträge
 
#6

Re: array auf Inhalt überprüfen

  Alt 3. Jan 2007, 18:23
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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: array auf Inhalt überprüfen

  Alt 3. Jan 2007, 18:24
Was verstehst du unter "Stelle"?
Wie ist die Ordnung definiert?
  Mit Zitat antworten Zitat
ghost1601

Registriert seit: 26. Aug 2006
64 Beiträge
 
Delphi 2005 Personal
 
#8

Re: array auf Inhalt überprüfen

  Alt 3. Jan 2007, 19:31
@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

@marabu: mit stelle ist die position im array gemeint
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: array auf Inhalt überprüfen

  Alt 3. Jan 2007, 20:15
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
  Mit Zitat antworten Zitat
ghost1601

Registriert seit: 26. Aug 2006
64 Beiträge
 
Delphi 2005 Personal
 
#10

Re: array auf Inhalt überprüfen

  Alt 3. Jan 2007, 20:56
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?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:43 Uhr.
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