Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Общие вопросы Delphi
Регистрация

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 03.05.2014, 19:02   #1
UKRtortik
Форумчанин
 
Регистрация: 25.02.2014
Сообщений: 366
Репутация: -14
По умолчанию сложить число из edit1+edit1, потом удалить последние 3 символа (Поиск ошибки)

Нужно сложить число из edit1+edit1, потом удалить последние 3 символа зашифровать в md5 и сохранить в файл.

Код:
var
f:System.Text;
A,C:Integer;
x,b,z:string;
begin
A:=StrToInt(edit1.text);
C:=A+A;
z:=IntToStr(C);
showmessage (z);
b:=copy(z,1,length(z)-3);
x:=md5(b);
AssignFile(f,edit1.Text+'.txt');
Rewrite(f);
Write(f,x);
CloseFile(f);
end;
UKRtortik вне форума   Ответить с цитированием
Старый 03.05.2014, 19:11   #2
STRELOK-2007
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 144
Репутация: -8
По умолчанию

Судя по скриншоту, выходит число больше чем 2147483647. Наверное это и причина. Ибо больше integer вместить не может.

Если надо 4 байтовое число - используй Cardinal или лучше NativeUINT. Если не важно количество байт - int64.

NativeUINT кстати автоматически при 64битной компиляции станет 8 байтным.
STRELOK-2007 вне форума   Ответить с цитированием
Старый 03.05.2014, 19:25   #3
UKRtortik
Форумчанин
 
Регистрация: 25.02.2014
Сообщений: 366
Репутация: -14
По умолчанию

А как тут отнять последние 3 символа от SerialNum

Код:
var
SerialNum:Dword;
begin
//Тут отнять
keys:=(IntToStr(SerialNum+SerialNum));
UKRtortik вне форума   Ответить с цитированием
Старый 03.05.2014, 19:40   #4
denis76560
Форумчанин
 
Регистрация: 13.01.2010
Сообщений: 121
Репутация: 35
По умолчанию

А как тут отнять последние 3 символа от SerialNum

var
SerialNum:Dword;
begin
keys:=(IntToStr(SerialNum+SerialNum ));
keys:=copy(keys,0,length(keys)-3)
denis76560 вне форума   Ответить с цитированием
Старый 03.05.2014, 19:55   #5
UKRtortik
Форумчанин
 
Регистрация: 25.02.2014
Сообщений: 366
Репутация: -14
По умолчанию

мне сначало надо отнять от SerialNum 3 последних символа, а потом только сложить.
UKRtortik вне форума   Ответить с цитированием
Старый 04.05.2014, 01:03   #6
BDA
Модератор
Заслуженный модератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Адрес: RF Moscow
Сообщений: 5,406
Репутация: 2502

icq: 438888048
По умолчанию

Код:
SerialNum:=SerialNum div 1000;
keys:=(IntToStr(SerialNum+SerialNum));
__________________
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить Edit1 при нажимание на button alman12 Общие вопросы Delphi 11 15.03.2014 19:31
[Делфи]Как удалить последний символ в edit1.text? zotox Помощь студентам 3 05.08.2009 12:05
Копирование данных с Edit1 в Edit1 Girl Общие вопросы Delphi 1 02.06.2009 09:19
Выдача ошибки при вводе 2 нулей в Edit1..Edit5 prikolist Общие вопросы C/C++ 5 11.04.2009 22:44
Поиск символа в Edit1.text Alar Компоненты Delphi 0 29.10.2006 20:02


09:36.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.