Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.013 c
14-66078
ProjectMaker
2003-10-22 20:15
2003.11.20
Всегда ли находит тот, кто ищет?


6-66038
Navi1982
2003-09-17 15:35
2003.11.20
MultiChat Project


14-66102
Думкин
2003-10-29 04:52
2003.11.20
С днем рождения! 29 октября.


1-65890
Walrus
2003-11-07 18:45
2003.11.20
Сохранение сложных объектов


3-65794
_VaaL_
2003-10-30 13:59
2003.11.20
. Кодировки для баз





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский