![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Как организовать цикл чтоб при выборе системы исчисления (с основой от 10 до 36) менялся и ListBox "Первый множитель", и UpDown "Второй множитель" ? При чем после 9-ти должны идти буквенные представления чисел. (А=10; В=11; С=12...)
![]() |
|
#2
|
|||
|
|||
|
Честно говоря не очень понял, при чем тут цикл..
Проще всего - обрабатывать событе onChange и в нем заполнять листбокс. насчёт букв можно определить массив и в него забить и цифры и буквы, потом из массива подгружать |
|
#3
|
||||
|
||||
|
а поподробней про массив можно?
![]() |
|
#4
|
||||
|
||||
|
Код:
procedure TForm1.ComboBox1Change(Sender: TObject); const digits36: array [0..35] of Char = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; var i: Integer; begin ListBox1.Clear; for i:=0 to StrToInt(ComboBox1.Text)-1 do ListBox1.Items.Add(digits36[i]); end; |
|
#5
|
||||
|
||||
|
а как в этом массиве буквенным выражениям присвоить соответствующее значение?
|
|
#6
|
||||
|
||||
|
индекс элемента массива является десятичным эквивалентом числа-значения элемента массива
|
|
#7
|
||||
|
||||
|
Допустим, я умножаю С*8. Прога выдает ошибку: "С" is not valid integer value.
И как такую же процедурку прописать для изменения Edit у UpDown? П.С. я уж извиняюсь, что такой дебил.. ![]() |
|
#8
|
||||
|
||||
|
Как я понял, речь идёт о своеобразной "таблице умножения" для разных систем счисления? Что ж, задачка интересная
![]() В гугле есть достаточно методов перевода чисел из любой/в любую систему счисления. Воспользуйся любым из них для начала, а потом чистая логика ![]() |
|
#9
|
||||
|
||||
|
Код:
function AnyToInt(c: Char): Integer;
begin
if c in ['0'..'9'] then Result:=StrToInt(c)
else if c in ['A'..'Z'] then Result:=10+Ord(c)-Ord('A')
else raise Exception.Create('AnyToInt Exception');
end;
ShowMessage(IntToStr(AnyToInt('C')*8));Последний раз редактировалось NumLock, 07.04.2011 в 11:42. |
|
#10
|
||||
|
||||
|
спасибо большое
![]() |