Radek 666 |
23-04-2005 13:20 |
Cytuj:
Oryginalnie napisane przez MatKus
OKi, otrzymałem kody źródłowe.
W kodach nic niebezpiecznego nie widze, natomiast, jeśli pozwolisz, to małą uwagę na temat ilości wstukanego przez ciebie kodu. Strasznie duzo pisania, a nic z tego nie wynika :)
Zamiast pisać
Kod:
edit1.text:=copy(memo1.text,1,1);
edit2.text:=copy(memo1.text,2,1);
edit3.text:=copy(memo1.text,3,1);
edit4.text:=copy(memo1.text,4,1);
edit5.text:=copy(memo1.text,5,1);
edit6.text:=copy(memo1.text,6,1);
edit7.text:=copy(memo1.text,7,1);
edit8.text:=copy(memo1.text,8,1);
edit9.text:=copy(memo1.text,9,1);
i task dalej
Można to przecież łatwiej rozbić. Skorzystaj z objektowości samego Delphi :)
Każdemu editowi nadaj TAG odpowiadający jego pozycji w tekście (edit dla pierwszej litery =1, dla drugiej=2 itd) i teraz tak:
Kod:
for x:=1 to Form1.ControlCount do // jedziemy przez wszystko co jest na forumie (edity, buttony itp. itd.)
begin
if Form1.Controls[x] is TEdit then // czy to, co akurat mamy, to Edit?
begin
with Form1.Controls[x] as TEdit do // mniej pisania :) Po za tym "ogólnie" kontrolkę zaczynamy traktować jako Edit
begin
d:=length(name);
if d>=5 then // żeby przypadkiem za krótka nazwa nie wyszła i sie nie wysypało :P
begin // wpisz odpowiednią literę do tego edita. Jeśli pole nazywa cię
// XXXXbX, na przykład Editb4, to wpisz tam z memo2, itd.
if name[5]='b' then text:=memo2.Text[tag] else
if name[5]='c' then text:=memo3.Text[tag] else
if name[5]='d' then text:=memo4.Text[tag] else
if name[5]='e' then text:=memo5.Text[tag] else
text:=memo1.Text[tag];
end;
end;
end;
end;
Mam nadzieję, że błędu nie zrobiłem, bo pisałem z pamięci.
Wyślę ci to też mailem.
Po za tym jeszcze 2 uwagi : Po pierwsze, czy tyle tych Images i Editów jest potrzebne? Strasznie długo się to przez to kompiluje, a i zasoby systemu nieźle zżera.
A po drugie, czy nie lepiej by było te wszystkie obrazk wrzycić do jednego i skorzystać z copyrect ?
|
Można było tak zrobić, ale domyślił się dopiero kiedy została tylko jedna czcionka, to już skończył tak :P . Przez to strasznie dużo pisania zajmuje troche, ale mi to tam nie przeszkadza. Już mu się chyba nie chce editować tego programiku i robić go inaczej jak działa ;) .
|