Вниз
Скачать: CL | DM;

Помогите сократить код...   Найти похожие ветки 

← →
r00t ©   (2003-11-08 10:39) [0]

Имеется такой код:

var
in1,in2,in3,...,in16:integer;
begin
if Edit1.Text="a" then in1:=1;
if Edit1.Text="b" then in1:=2;
if Edit1.Text="c" then in1:=3;
...
if Edit1.Text="z" then in1:=26;
/////////////////////////////////////////////
if Edit2.Text="a" then in2:=1;
...
{----------и т.д.-----------------}
end;

Возможно ли как нибудь автоматизировать данную
процедуру или делать все тупым перебором?
Заранее спасибо.


← →
Igorek ©   (2003-11-08 11:15) [1]

1) вместо in1,in2,in3,...,in16:integer; сделай массив
2) присваивай елементам массива код символов минус соотв. смещение


← →
Anatoly Podgoretsky ©   (2003-11-08 13:42) [2]

if Edit1.Text[1] in ["a".."z"] then in1 := Ord(Edit1.Text[1])-64;


← →
OlegGashev ©   (2003-11-08 13:45) [3]

if Edit1.Text[1] in ["a".."z"] then in1 := Ord(Edit1.Text[1])-ord("a")+1;


← →
phan   (2003-11-09 22:48) [4]

in1:=Ord(Edit1.Text[1]);
if (in1>96)and(in1<123) then in1:=in1-96;


← →
icWasya ©   (2003-11-10 09:56) [5]


var
int : array [1..16] of integer;
Edit : TEdit;
i : Integer;
.....

for i:=1 to 16 do begin
Edit:=FindComponent("Edit"+IntToStr(I));
if Edit.Text[1] in ["a".."z"] then in[i] := Ord(Edit.Text[1])-ord("a")+1;

end;



← →
Zergling ©   (2003-11-10 10:55) [6]

r00t ©

На будующее. Внекоторых ситуациях вместо кучи IF удобней использовать CASE


← →
Silver Alex ©   (2003-11-10 11:12) [7]

> Zergling

case работает с типом Integer, но не со String


← →
Плохиш_   (2003-11-10 11:13) [8]

>Silver Alex © (10.11.03 11:12) [7]

но также работает с типом char


← →
Zergling ©   (2003-11-10 11:15) [9]

Silver Alex © (10.11.03 11:12) [7]

Знаем. Но судя по коду ему нужен только один символ в работе, а с Char Case работает без проблем.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
14-66073
dvs
2003-10-30 09:30
2003.11.20
безделье


1-65965
pomka
2003-11-10 18:55
2003.11.20
Автозагрузка


1-65864
Chlavik
2003-11-07 19:25
2003.11.20
TStatusBar и OwnerDraw какойто страшный глюк :)


1-65976
aser
2003-11-05 13:58
2003.11.20
обработчик для динамически созданного компонента


1-65861
tadalex
2003-11-08 23:25
2003.11.20
PageControl




   Наверх