Problem z dynamicznym editem

Odpowiedz Nowy wątek
2003-12-31 10:35
0

Dynamiczny edit działa jest OK, pojawia się i znika, ale jak chcę sprawdźć, zdarzeniem w Buttonie czy nie jest pusty to wyskakuje błąd nie wiem czemu
wygląda to tak:
<font color="red"><font color="darkblue">procedure TFrm_1.ButtonClick(Sender: TObject);
begin
for i:=0 to ile_kontrolek-1 do
begin
if trim(dyn_edit[i].Text)='' then -> <font color="darkblue">tu jest błąd i nie wiem czemu</span>
begin
MessageBox('');
exit;
end;
end;
end;</span></span>


pozdrwiam
Dr. Paj

Pozostało 580 znaków

2003-12-31 10:49
0

A tak nie działa?

      if dyn_edit[i].Text='' then

//DOPISANE
w ogóle co to jest za zmienna : ile_kontrolek? Te dynamiczne edity sa trzymane w jakiejś tablicy czy co?


Słowa kierownika : To, jak wy zdążycie to napisać, to ja mam w szeroko rozumianej du*ie.
http://project1.pl

Pozostało 580 znaków

2003-12-31 10:54
0
<quote>A tak nie działa? ```delphi if dyn_edit[i].Text='' then ``` Nie działa - próbowałem róznych rzeczy i jak na razie jest to dynamiczna tablica ```delphi dyn edit: array of TEdit; ```
pozdrwiam
Dr. Paj

Pozostało 580 znaków

2003-12-31 10:56
pq
0
  1. jaki błąd wyskakuje
  2. jak tworzysz Edity?

"Ecie pecie - odparłem. - Wiadomo, że wszystkiemu winien komputer. Ten brzydal!" (Lem)

Pozostało 580 znaków

2003-12-31 11:07
0

Po co masz robic tablice, integery i nie wiem co jeszce?

Umiesc te Edity w TStringList...


Pozostało 580 znaków

2003-12-31 11:25
0

Czy ten błąd to nie aby access violation? Może nie tworzysz editów? Poza tym, nie jest ci potrzebna żadna zmienna do przechowywania ilości editów. Poczytaj o funkcjach Length(), Low() i High().

Umiesc te Edity w TStringList...

Chyba w TList? Poza tym, jeśli te edity nie będą usuwane, to raczej nie ma sensu stosować TList.

Pozostało 580 znaków

2003-12-31 12:23
0

Dynamiczny edit działa jest OK, pojawia się i znika

Raczej beda usuwane. TStringList bylo odruchowo, ja zawsze tak robie, bo moge do nich dodawac jakis string np z pelniona funkcja, ale jak najbardziej TList jest rownie dobrym a nawet lepszym rozwiazaniem.

A wlasnie skoro sa usuwane to zamiast

0 to count -1

zrob count -1 downto 0


Pozostało 580 znaków

2003-12-31 14:27
0
  1. jaki błąd wyskakuje

Acces violation

  1. jak tworzysz Edity?

1).

dyn_Edit:  array of TEdit;

2).

for i:=0 to ilosc_kontrolek_do_wyswietlenia-1 do
begin
SetLength(dyn_edit,Length(dyn_edit)+1);
dyn_edit[i]:=TEdit.Create(self);
dyn_edit[i].Parent:=TabSheet1;
//itd przypisanie właściwosci editowi, 
end;

pozdrwiam
Dr. Paj

Pozostało 580 znaków

2003-12-31 23:26
0

for i:=0 to Form1.ControlCount-1 do
if (Form1.Controls[i] as tEdit).Text = '' Then
// pamietajac ze na formie sa same edity


Ha to ja

Pozostało 580 znaków

2004-01-01 15:34
0

for i:=0 to Form1.ControlCount-1 do
if (Form1.Controls[i] as tEdit).Text = '' Then
// pamietajac ze na formie sa same edity

Cześć! Bardziej poprawne byłoby:

for i:=0 to Form1.ControlCount-1 do
if (Controls[i] if TEdit) then
if (Form1.Controls[i] as tEdit).Text = '' Then
// teraz nie trzeba pamiętać, że na fomie są same Edit'y :)


A mówiłem, że I'll be back :P

Pozostało 580 znaków

2004-01-01 18:23
0

for i:=0 to Form1.ControlCount-1 do
if (Controls[i] is TEdit) then
if (Form1.Controls[i] as tEdit).Text = '' Then
// teraz nie trzeba pamiętać, że na fomie są same Edit'y


gone...

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0