Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Poslati kotrole kako listu (array) of object

[es] :: Pascal / Delphi / Kylix :: Poslati kotrole kako listu (array) of object

[ Pregleda: 1416 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sanivr
Sanja Ristic
Student
Vranje

Član broj: 303492
Poruke: 39
*.v4.ngi.it.



+14 Profil

icon Poslati kotrole kako listu (array) of object15.05.2017. u 21:57 - pre 83 meseci
Imam formu sa brdo tabova tako da ima brdo edita komboa i tako dalje. Zamiso mi je kada kliknem Save button da pozove neku funkciju Check koja kao ulazni parametar bi imala listu objekta (kombo boksovi, editi, i.t.d) koi nisu popunjeni i na kraju fuknckija vraca string u formatu. Ako moze neko da mi pomogne ovo da odradim u Delphiju. Hvala

kvazi kod

Kreiraj array
Proveri svako polje, ako je prazno stavi ga u array
pozovi funkciju koja kao parametar uzima array

i funkcija

Code:

string message = "Polja ";

for int i = 0; i >= ListOfObject.Length; i++
message += ListOfObject[i].Name + ", ";

message += "su obavezna";
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Poslati kotrole kako listu (array) of object15.05.2017. u 22:19 - pre 83 meseci
Prvo mi pada ovo na pamet:

Iteriraj kroz sve komponente (for i:= ... to ComponentCount...). Postavi Tag npr 1 onima koje su obavezne. Kada naletiš na obaveznu, provjeri, ako nije popunjena zapiši.
F
 
Odgovor na temu

sanivr
Sanja Ristic
Student
Vranje

Član broj: 303492
Poruke: 39
*.v4.ngi.it.



+14 Profil

icon Re: Poslati kotrole kako listu (array) of object15.05.2017. u 23:05 - pre 83 meseci
To je mozda dobro resenje ali ne znam tacan broj parametra i imace problem sa pravopisom :S mislim na ovo

Polja ClassID, ono, ovo are required! radi zapete bice malo ono. Znaci volela bih bas da znam broj polja koja su prazna (tacnije to sve da strpam u array i onda citam odatle).
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Poslati kotrole kako listu (array) of object16.05.2017. u 01:07 - pre 83 meseci
> To je mozda dobro resenje ali ne znam tacan broj parametra i imace problem sa pravopisom :S mislim na ovo

> Polja ClassID, ono, ovo are required! radi zapete bice malo ono. Znaci volela bih bas da znam broj polja koja su
> prazna (tacnije to sve da strpam u array i onda citam odatle).

Ne kapiram sta je tacno problem?

Dakle ides kroz sve komponente na formi (ili na tom tabu) i sve TEdit (TMemo i sta ti jos treba od kontrol) koji su prazni ubacis u taj dodatni niz. Grubi kod:

Code:

for i := 0 to ComponentCount -  1 do
begin
  if (Components[i] is TEdit) and (TEdit(Components[i]).Text = '') then
      // Uradi nesto;
  
  if (Components[i] is TMemo) and (TMemo(Components[i]).Text = '') then
      // Uradi nesto;

end;


 
Odgovor na temu

sanivr
Sanja Ristic
Student
Vranje

Član broj: 303492
Poruke: 39
84.233.242.*



+14 Profil

icon Re: Poslati kotrole kako listu (array) of object16.05.2017. u 07:47 - pre 83 meseci
Problem je sintaksa ipak sam ja .net developer :) Hvala ti ovo ce pomoci.
 
Odgovor na temu

sanivr
Sanja Ristic
Student
Vranje

Član broj: 303492
Poruke: 39
84.233.242.*



+14 Profil

icon Re: Poslati kotrole kako listu (array) of object16.05.2017. u 08:45 - pre 83 meseci
Ali opet nista, znaci kastiranje ne pomaze ja dobijam parametre od TEdit ali ne i parametre od edita koj je prazan napimer. Zato mi je zamisla bila da posaljem sve prazne kotrole kao array.
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
*.e-info.ba.



+62 Profil

icon Re: Poslati kotrole kako listu (array) of object16.05.2017. u 09:05 - pre 83 meseci
Znaci tako, .net developer, heh?

Mislim da te buni deklaracija array-a. U Delphi-ju imas dinamicke nizove, sintaksa je otprilike ovakva:
Code:

  type
    TComponentArray = array of TComponent;
  var
    MyComponentArray: TComponentArray; 


Pogledaj funkcije/procedure SetLength() i length(), rade sa dinamickim array-om. Takodje, indeksiranje array-a krece od nule (zero-based).

Pozz
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Poslati kotrole kako listu (array) of object16.05.2017. u 10:58 - pre 83 meseci
> Ali opet nista, znaci kastiranje ne pomaze ja dobijam parametre od TEdit ali ne i parametre od edita koj je prazan napimer.

Ovo ne razumem, sta znaci dobiti parametre od praznog ili ne praznog edita?

> Zato mi je zamisla bila da posaljem sve prazne kotrole kao array.

Mozda ne kapiram najbolje sta ti treba, ali sam siguran da moze, pokusaj da bolje objasnis i postavi neki primer koda.
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Poslati kotrole kako listu (array) of object16.05.2017. u 20:43 - pre 83 meseci
Ona želi dobiti naziv TEdit-a koji je prazan. Kada iteriraš kroz komponente (kod od kolege savkica), možeš dobiti njegov naziv:

Code (delphi):
for i := 0 to ComponentCount -  1 do
begin
  if (Components[i] is TEdit) and (TEdit(Components[i]).Text = '') then
   begin
      // Uradi nesto;
     MyComponentArray[i] := Components[i].Name;
  end;
 
  if (Components[i] is TMemo) and (TMemo(Components[i]).Text = '') then
      // Uradi nesto;

end;


Ili ako su ti to DB componente, onda možeš npr ovako:

Code (delphi):


function PretvoriNazive(ADefault: string): string;
begin
if ADefault = 'code_id' then Result := 'Kod ID';
...
end;

for i := 0 to ComponentCount -  1 do
begin
if (Components[i] is TDBEdit) and (TDBEdit(Components[i]).Text = '') then
   begin
      // Uradi nesto;
     MyComponentArray[i] := PretvoriNazive(Components[i].FieldName);
  end;
 
  if (Components[i] is TMemo) and (TMemo(Components[i]).Text = '') then
      // Uradi nesto;

end;


Na taj način češ dobiti korisniku čitljiviji rezultat, jer čisto sumnjam da ti se kontrole zovu "Šifra grada"
F
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Poslati kotrole kako listu (array) of object

[ Pregleda: 1416 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.