Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2007, 06:19   #11
-=DeS=-
Форумчанин
 
Аватар для -=DeS=-
 
Регистрация: 20.12.2006
Сообщений: 135
По умолчанию

можно например так:
Код:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9',#27,#8]) then Key := #0;
end;
writeln('Hello Dude!!!');
-=DeS=- вне форума Ответить с цитированием
Старый 25.02.2007, 09:45   #12
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

Пользуйся.
Вложения
Тип файла: rar Калькулятор.rar (14.4 Кб, 54 просмотров)
merax вне форума Ответить с цитированием
Старый 25.02.2007, 21:43   #13
HAMMAN
Пользователь
 
Аватар для HAMMAN
 
Регистрация: 09.01.2007
Сообщений: 92
По умолчанию

Большое спасибо!
HAMMAN вне форума Ответить с цитированием
Старый 26.02.2007, 20:27   #14
HAMMAN
Пользователь
 
Аватар для HAMMAN
 
Регистрация: 09.01.2007
Сообщений: 92
По умолчанию

и еще вопрос как сделать BACKSPACE и перевод из одной системы счисления в другую?(те же что и на стандартном калькуляторе Винды)
HAMMAN вне форума Ответить с цитированием
Старый 04.03.2007, 08:51   #15
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Цитата:
как сделать BACKSPACE
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var s:string;
begin
if not (Key in ['0'..'9',#27,#8]) then Key := #0;
if key = #8 then
begin
s:=Edit1.text;
Delete(s,length(s),1);
Edit1.text:=s;
if Edit1.text='' then Edit1.text:='0';
end;
end;
zetrix вне форума Ответить с цитированием
Старый 04.03.2007, 13:25   #16
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Цитата:
Сообщение от HAMMAN Посмотреть сообщение
... и перевод из одной системы счисления в другую?(те же что и на стандартном калькуляторе Винды)
Можно сделать лучше, чем у Винды
Есть функция переведения ИЗ десятичной системы в другие системы (это пример с основой до 62):
Код:
Function DecimalToXBasedNum(Decimal: integer; Base: byte): string;
var
 step: integer;
function convert(Num: byte): string;
begin
 case Num of
  0..9: Result:= inttostr(Num);
  10..35: Result:= chr(55+Num);
  36..61: Result:= chr(61+Num);
 Else raise EConvertError.Create('Base Number is out of range');
 end;
end;
begin
 Step:=1;
 Result:=Convert(Decimal mod Base);
 while (Decimal div Trunc(IntPower(Base, step))) > 0 do
 begin
  Result:=Convert((Decimal div Trunc(IntPower(Base, step))) mod Base)+result;
  inc(step);
 end;
end;
Функция переведения из любой системы в десятичную гораздо проще: просто умножаем каждое число (справа налево) на основу в степени(порядковый_номер_числа), начиная отсчет с нуля
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Калькулятор Nixtone Помощь студентам 7 03.07.2008 23:17
Калькулятор =) noxer Microsoft Office Excel 1 29.04.2008 05:14
Калькулятор Ivanich Помощь студентам 5 21.12.2007 14:48
Калькулятор Maycal Общие вопросы C/C++ 2 18.11.2007 06:02
Калькулятор zetrix Софт 7 28.09.2007 08:39