![]() |
Re: array auf Inhalt überprüfen
Hi,
Wenn ich das richtig sehe dann sollte es doch so gehen:
Delphi-Quellcode:
Edit: Der erste Versuch war nichts so ganz das gewünschte
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; Edit2: Fehler beseitigt |
Re: array auf Inhalt überprüfen
Zitat:
So ist das ja nur stochern im Ungewissen. Grüße Klaus |
Re: array auf Inhalt überprüfen
na klar, aber gerne doch. :thumb:
Delphi-Quellcode:
und tdaten ist dabei ein record bestehend aus Strings.
datenfeld:array[1..max]of tdaten;
@ 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: |
Re: array auf Inhalt überprüfen
Zitat:
Delphi-Quellcode:
Vielleicht so?
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; Genauer geht es nicht, da ich nicht weiß wie Dein TDaten ausschaut. Grüße Klaus |
Re: array auf Inhalt überprüfen
ich spring gleich aus'm fenster :lol:
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; |
Re: array auf Inhalt überprüfen
Delphi-Quellcode:
Funktionert aber auch nur dann wenn der clanname wirklich nichts enthält.
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; Oder was ist Dein Kriterium um zu sehen, daß das Datenfeld leer ist? Grüße Klaus |
Re: array auf Inhalt überprüfen
super das funktioniert. genauso sollte es gehn...hab vielen dank :thumb: :thumb: :thumb:
wäre natürlich um vieles besser wenn er gleich an die stelle springen würde... :? |
Re: array auf Inhalt überprüfen
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.
Delphi-Quellcode:
Wenn nicht dann sag' mir einmal was du damit meintest:
(FindComponent('Edit'+inttostr(leer)) as TEdit).setFocus;
Zitat:
Klaus |
Re: array auf Inhalt überprüfen
Hi,
Ich hab meine Funkion noch mal geändert jetzt gehts falls einer mal sowas braucht. War frei geschrieben. :firejump: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz