Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 00:38 18.05.24 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Тема Проблем с оцветяването  
Автор s1ckbOy (непознат )
Публикувано25.05.09 12:12



Имам PаgeControl с два tabsheet-a , единият с много TDBEdit. При натискане на бутон ми се задейства процедура която прави проверка дали има стойности в текущият запис в БД, ако не минавам на вторият tabsheet , оцветявам в червено TDBEdit-те и ехit oт процедурата. Като си въведа корекциите и пусна процедурата отново , ако в следващ запис има празни полета TDBEdit-те не се оцветят ...

... Оцветяването работи само първият път

Редактирано от s1ckbOy на 25.05.09 12:15.



Тема Re: Проблем с оцветяванетонови [re: s1ckbOy]  
Автор ozzoz (непознат)
Публикувано26.05.09 12:07



Дай малко пове4е инфо.

и кода на процедурата



Тема Re: Проблем с оцветяванетонови [re: ozzoz]  
Автор s1ckbOy (непознат )
Публикувано28.05.09 10:50



Имам Page Control с два TabSheet-a. На единият TabSheet имам DBGrid който ми визуализира само някои от полетата в таблица от БД, и бутон с процедура която ще обходи всички записи. На другия TabSheet имам DBEdit компоненти които визуализират всички полета от таблицата в БД за текущият запис (този който в момента е посочен в Grid-a на Tabsheet1). Процедурата ми прави текстов файл в който са ми нужни някои полета които DBGrid-a не показва. Така процедурата прави проверка кои не са попълнени преди да генерира текстовия файл и ако има такива сменям от Tabsheet1 ---> на Tabsheet2 и оцветявам всички празни DBEdit-и в червено и казвам "Червените полета са задължителни трябва да се попълнят"....

Например:

Ако имам празни полета в 20тия запис от Grida процедурата спира , показва Tabsheet2 и оцветява кое да се попълни. Правя си корекциите и пускам отново. Намирам пак празни полета на 32рия запис и процедурата отново ме прехвърля на Tabsheet2, но не оцветява

!! Работата е там че записите нямат номерация и немога да ги обходя и посоча всички които имат празни полета още в началото.

//-------------------------------------- Проверката-----------------------------------//
function TfDokumenti.CheckFields: Boolean;
var Poleta:TStringList;
j:integer;
begin
Poleta:=TStringList.Create;
Result:=True;
if dmLocal.sqPlatejniDATA_PREDST.AsString=EmptyStr then Poleta.Add('dbeDataPredst');
if dmLocal.sqPlatejniDATA_DOK.AsString=EmptyStr then Poleta.Add('dbeDokData');
if dmLocal.sqPlatejniDATA_IZPAL.AsString=EmptyStr then Poleta.Add('dbeDataIzpaln');
if dmLocal.sqPlatejniIBAN.AsString=EmptyStr then Poleta.Add('dbeBankaIBAN');
if dmLocal.sqPlatejniNAREDITEL.AsString=EmptyStr then Poleta.Add('dbeNareditel');
if dmLocal.sqPlatejniBIC.AsString=EmptyStr then Poleta.Add('dbeBankaBIC');
if dmLocal.sqPlatejniBANKA_IME.AsString=EmptyStr then Poleta.Add('dbeBankaIme');
if dmLocal.sqPlatejniKL_BIC.AsString=EmptyStr then Poleta.Add('dbeKlBankaBIC');
if dmLocal.sqPlatejniKL_BANKA_IME.AsString=EmptyStr then Poleta.Add('dbeKlBankaIme');
if Poleta.CommaText<>EmptyStr then
begin
TabSheet2.Show;
for j:=0 to Poleta.Count-1 do
begin
if FindComponent(Poleta.Strings[j]).ClassNameIs('TDBEdit') then
begin
(FindComponent(Poleta.Strings[j]) as TDBEdit).Color:=clRed;
(FindComponent(Poleta.Strings[j]) as TDBEdit).Repaint;
end;
end;
MessageDlg('Попълни червените!',mtWarning,[mbOK],0);
Result:=False;
FreeAndNil(Poleta);
end;
//---------------------------------------------------------------------------------------//

Ако това нещо върне false процедурата ми спира.




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.