Новость из категории: Информация

Моя версия функции Delphi IntToStr

Моя версия функции Delphi IntToStr

Данная функция была написана мной довольно давно и стала она результатом того, что мне потребовалось написать на такую программу, которая бы смогла работать так же, как и стандартная IntToStr.

Основным и главным преимуществом написанной мной функции стало то, что она максимально возможно независима от любых внешних модулей, причем даже! Этого мне удалось достичь за счет того, что я не использовал в ней других функций. И поставленная задача была решена исключительно с использованием циклов!

Вот, собственно, и сам код:
function myIntToStr ( value : integer ) : string ;/ / Начало функции

var tempStr , RStr : string ;/ / Сроки , которые будут использоваться
n , n1 , n2 , count1 , count2 , t , p , d : integer ;/ / Переменные , которые будут использоваться

begin / / начало расчетов по функции



if value > = 0 then n : = value else n = ( - value ) ;
/ / Получение модуля введенного числа
n1 = n ;/ / Будет использовано для поиска количества знаков в числе
n2 = n ;/ / Будет использовано в основном цикле
count1 = 0 ;/ / накапливать информацию о количестве знаков в числе
tempStr = '' ;/ / Начинаем с пустой сроки

repeat / / С помощью этого цикла будет найдена количество знаков в числе
begin / / Начало тела цикла
n1 = n1 div 10 ;/ / Процедура представляет собой последовательное деление числа на 10
count1 = count1 +1 ;/ / После выхода из цикла равно количеству знаков
end ;/ / Завершение тела цикла
until / / Условие выхода из цикла
n1 = 1 , то d будет другое значение
begin / / Начало процедуры нахождения d
for p : = 1 to n1 do / / Цикл нахождения технической переменной d
begin / / Начало цикла нахождения d
d = d * 10 ;/ / d есть 10 в степени n1
end ;/ / Завершение цикла нахождения d
end ;/ / Завершение процедуры нахождения d

while n2 > = d do / / Цикл уменьшения n2 : выполняется , пока n2 больше d
begin / / Начало цикла уменьшение n2
n2 = n2 - d ;/ / Вычитаем d от n2
count2 = count2 +1 ;/ / Считаем количество таких операций
end ;/ / Завершение цикла уменьшение n2

tempStr = tempStr + format (' % d ' , [ count2 ] ) ;/ / Сохраняем значение count2
/ / Это значение соответствует цифре , занимающий эту позицию

end ;/ / Завершение цикла обхода знаков
end ;/ / Завершение основного цикла
if value > = 0 then RStr = tempStr else RStr = '-' + tempStr ;
/ / Строка с результатом сохранит знак начального числа
result : = RStr ;/ / Это срока функция возвращать после всех расчетов
end ;/ / Завершение расчетов по функции

Надеюсь, что Вам пригодится найденное мной решение!



Итак, с функцией IntToStr мы разобрались, а теперь давайте попробуем ответить на вопрос, где можно найти опытного водителя, который доставит Вас и ваше авто по указанному адресу! И тут все очень просто, здесь (http://driving24.ru) Вы сможете заказать услугу под названием "Трезвый водитель", стоимость которой приятно Вас удивит!

Рейтинг статьи

Оценка
0/5
голосов: 0
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх