CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Optymalizacja kodu

Optymalizacja kodu

dział ogólny

Optymalizacja kodu

Nowy postprzez Pitek » wtorek, 5 października 2010, 21:38

Mam pytanie jak zoptymalizować przykładowy kod :
KOD cpp:     UKRYJ  
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Label1->Caption = "";
Label2->Caption = "";
Label3->Caption = "";
Label4->Caption = "";
Label5->Caption = "";
Label6->Caption = "";
Label7->Caption = "";
Label8->Caption = "";
Label9->Caption = "";
Label10->Caption = "";
}
//---------------------------------------------------------------------------

Chodzi mi o jakąś krótszą postać tak jakby numeracja komponentu Label była numeracją taką jak w tablicy.
Czy da się to jakoś skrócić i jak ?
Komputer służy do tego aby ułatwić Ci pracę, której bez niego w ogóle byś nie miał.
E.Murphy
http://piotrekprogramy.pl
Avatar użytkownika
Pitek
Kreacjusz
Kreacjusz
 
Posty: 290
Dołączył(a): środa, 14 października 2009, 14:53
Lokalizacja: Rybnik/Wrocław
Podziękował : 43
Otrzymał podziękowań: 5
System operacyjny: Win 7 Ultimate 64bit SP1 / Ubuntu 19.04 LTS 64bit
Kompilator: Embarcadero RAD Studio XE2
SKYPE: pitek3010
Gadu Gadu: 7060047
    Windows XPFirefox

Re: Optymalizacja kodu

Nowy postprzez MisticFrezer » wtorek, 5 października 2010, 22:39

Chodzi Tobie aby kolejnym Labelom nadac kolejne wartości np od 1 do 8?
Pętla i funkcja FindComponent:

Znajdujesz kolejne labele i jeżeli taki label istnieje, to nadajesz mu wartość i.

Kod: Zaznacz cały
TLabel * label;
for(int i = 1; i <=8; i++)
{
label = FindComponent("Label"+IntToStr(i));
if(label)label->Caption = IntToStr(i);
}


Pisane na szybko, mogą być literówki.
Avatar użytkownika
MisticFrezer
Bladawiec
Bladawiec
 
Posty: 23
Dołączył(a): wtorek, 23 lutego 2010, 23:57
Lokalizacja: Wrocław
Podziękował : 1
Otrzymał podziękowań: 4
System operacyjny: Windows XP Pro SP3, Windows 7 Pro
Kompilator: BCB6, RAD Studio 2010, VS 2010
Gadu Gadu: 0
    Windows XPOpera

Re: Optymalizacja kodu

Nowy postprzez Cyfrowy Baron » środa, 6 października 2010, 08:38

KOD cpp:     UKRYJ  
  for(int x = 1; x <= 10; x++)
  {
    dynamic_cast<TLabel *>( FindComponent( "Label" + IntToStr(x) ) )->Caption = "";
  }


Poczytaj sobie w serwise Cyfrowy Baron o polimorfizmie w dziale: teoria -> rzutowanie typów, przypisanie polimorficzne.
Proponuję również zapoznać się z poradami:

  • porady -> różne -> Dostęp do właściwości komponentów poprzez nazwę klasy.
  • porady -> różne -> Wyliczanie komponentów na formularzu, dostęp do komponentów poprzez pętlę.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 2 gości