Форум: "Основная";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];
ВнизПомогите сократить код... Найти похожие ветки
← →
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 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c