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 2 von 2     12   
C.Schoch

Registriert seit: 2. Jan 2006
Ort: Wüstenrot
235 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: array auf Inhalt überprüfen

  Alt 3. Jan 2007, 23:12
Hi,
Wenn ich das richtig sehe dann sollte es doch so gehen:
Delphi-Quellcode:
  procedure FindFirstEmptyEdit();
var
  i: Integer;
begin
  for i := 0 to Form3.ControlCount - 1 do
  begin
    if Form1.Controls[i] is TEdit then
    begin
      if (Form1.Controls[i] as TEdit).Text = 'then
      begin
        (Form1.Controls[i] as TEdit).SetFocus;
        Break;
      end;
    end;
  end;
end;
Edit: Der erste Versuch war nichts so ganz das gewünschte
Edit2: Fehler beseitigt
Tschau Christian
Das System hofft auf Besserung
[Siemens]
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.757 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: array auf Inhalt überprüfen

  Alt 4. Jan 2007, 06:40
Zitat von ghost1601:
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?
Vielleicht gibst Du auch dann einmal das Array und dessen Datentypen bekannt.
So ist das ja nur stochern im Ungewissen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
ghost1601

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

Re: array auf Inhalt überprüfen

  Alt 4. Jan 2007, 10:56
na klar, aber gerne doch.
datenfeld:array[1..max]of tdaten; und tdaten ist dabei ein record bestehend aus Strings.
@ C.Schoch: tut mir leid aber das haut nicht hin...ich bekomm immer einen fehler an Form1.Controls[i].SetFocus; speziell focus kennt form1.controls nicht...
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.757 Beiträge
 
Delphi 10.4 Sydney
 
#14

Re: array auf Inhalt überprüfen

  Alt 4. Jan 2007, 11:23
Zitat von ghost1601:
na klar, aber gerne doch. :thumb:
datenfeld:array[1..max]of tdaten; und tdaten ist dabei ein record bestehend aus Strings.
@ C.Schoch: tut mir leid aber das haut nicht hin...ich bekomm immer einen fehler an Form1.Controls[i].SetFocus; speziell focus kennt form1.controls nicht... :cry:
Delphi-Quellcode:
var
  i: Integer;
  leer:Integer;
begin
  ....
  leer:=-1;
  i:=low(datenfeld);
  while (leer < 0) and (i <= high(datenfeld)) do
    begin
      if datenfeld[i].whatever = ' then
        leer:=i;
      inc(i);
    end;
  ....
end;
Vielleicht so?

Genauer geht es nicht, da ich nicht weiß wie Dein TDaten ausschaut.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
ghost1601

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

Re: array auf Inhalt überprüfen

  Alt 4. Jan 2007, 12:34
ich spring gleich aus'm fenster
das funzt leider auch nicht...im gegenteil da passiert so ziemlich gar nichts
ich hab das, was du geschrieben hast in eine Button procedure gepackt und er springt auf keinem fall zu der stelle im array wo noch nichts steht und das zeigt er auch nicht an
hier noch die TDaten
Delphi-Quellcode:
type tdaten=record
      clanname:string[50];
      clankuerzel:string[12];
      homepage:string[70];
      nation:string[13];
      spiel:string[20];
      kontaktname:string[30];
      icq:string[12];
      msn:string[30];
      maps:string[150];
      kommentar:string[150];
end;

const max=100;

var p:integer;
    daten:tdaten;
    datenfeld:array[1..max]of tdaten;
    datendatei:file of tdaten;
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.757 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: array auf Inhalt überprüfen

  Alt 4. Jan 2007, 15:47
Delphi-Quellcode:
var
  i: Integer;
  leer:Integer;
begin
  ....
  leer:=-1;
  i:=low(datenfeld);
  while (leer < 0) and (i <= high(datenfeld)) do
    begin
      if datenfeld[i].clanname = 'then // <- etwas geändert
        leer:=i;
      inc(i);
    end;
  if leer = -1 then
    ShowMessage('keine leere Stelle gefunden')
  else
    ShowMessage('leere Stelle liegt an Position'+ IntToStr(leer));
  ....
end;
Funktionert aber auch nur dann wenn der clanname wirklich nichts enthält.
Oder was ist Dein Kriterium um zu sehen, daß das Datenfeld leer ist?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
ghost1601

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

Re: array auf Inhalt überprüfen

  Alt 4. Jan 2007, 16:12
super das funktioniert. genauso sollte es gehn...hab vielen dank
wäre natürlich um vieles besser wenn er gleich an die stelle springen würde...
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.757 Beiträge
 
Delphi 10.4 Sydney
 
#18

Re: array auf Inhalt überprüfen

  Alt 4. Jan 2007, 18:56
Da ich Dein System immer noch nicht so ganz durchdrungen habe.

Ein Arrayfeld ist einem Editx zugeordnet - ist das richtig?
datenfeld[1] -> edit1.text z.B.

Wenn dem so ist, dann kannst Du doch mit FindComponent arbeiten.

(FindComponent('Edit'+inttostr(leer)) as TEdit).setFocus; Wenn nicht dann sag' mir einmal was du damit meintest:
Zitat:
wäre natürlich um vieles besser wenn er gleich an die stelle springen würde...
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
C.Schoch

Registriert seit: 2. Jan 2006
Ort: Wüstenrot
235 Beiträge
 
Turbo Delphi für Win32
 
#19

Re: array auf Inhalt überprüfen

  Alt 4. Jan 2007, 21:41
Hi,
Ich hab meine Funkion noch mal geändert jetzt gehts falls einer mal sowas braucht. War frei geschrieben.
Tschau Christian
Das System hofft auf Besserung
[Siemens]
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 00:05 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