Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001

Здесь есть возможность читать онлайн «Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Советы по Delphi. Версия 1.4.3 от 1.1.2001: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Советы по Delphi. Версия 1.4.3 от 1.1.2001»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

…начиная с 1001. Смотрите другие файлы…

Советы по Delphi. Версия 1.4.3 от 1.1.2001 — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Советы по Delphi. Версия 1.4.3 от 1.1.2001», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Кстати, функции эти были уже в самых ранних версиях Паскаля. Так что мой совет — изучите Паскаль — полезно.

Hy, если yж дело идет к изyчению списка фyнкций :), то yпомянy еще Ceil и Floor. Unit Math;

Кстати, втоpая из них мне очень пpигодилась для полyчения экспоненты числа. Имеется в видy экспонента: X=1E 13 [001193]

Почему непpавильно pаботает функция StrToFloat?

Nomadicсоветует:

Пишу даже прямо StrToFloat('32.34'), к примеру, получаю исключение «'32.34' is not valid float». Если пишу число без десятичной точки, то все ОК. А какой у тебя DecimalSeparator? В Russian settings почему-то по умолчанию считается, что разделитеь дроби – запятая. Пеpеустанови пpи запуске пpогpаммы

DecimalSeparator := '.';

Или пользуйся этой функцией так:

StrToFloat('32,24');

Число строкой X

Сергей AKA WildSeryприслал свой вариант:

Привожу мой вариант, написал для своего приложения за 20 минут. В силу специфики приложения не утруждал себя прописью полностью "рублей" и "копеек", а ограничился "руб." и "коп.", а также не было необходимости в знаке числа, по это все добавляется буквально 3-4 строками.

function currency2str (value: double): string;

consthundreds: array[0..9] of string= ('',' сто',' двести',' триста',' четыреста',' пятьсот',' шестьсот',' семьсот',' восемьсот',' девятьсот');

tens: array[0..9] of string= ('','',' двадцать',' тридцать',' сорок',' пятьдесят',' шестьдесят',' семьдесят',' восемьдесят',' девяносто');

ones: array[0..19] of string= ('','','',' три',' четыре',' пять',' шесть',' семь',' восемь',' девять',' десять',' одиннадцать',' двенадцать',' тринадцать',' четырнадцать',' пятнадцать',' шестнадцать',' семнадцать',' восемнадцать',' девятнадцать');

razryad: array[0..6] of string= ('',' тысяч',' миллион',' миллиард',' триллион',' квадриллион',' квинтиллион');

vars: string; i: integer; val: int64;

functionshortnum(s: string; raz: integer): string;

begin

Result:=hundreds[StrToInt(s[1])];

ifstrtoint(s)=0 thenexit;

ifs[2]<>'1' then begin

Result:=Result+tens[StrToInt(s[2])];

casestrtoint(s[3]) of

1: ifraz=1 thenresult:=result+' одна' elseresult:=result+' один';

2: ifraz=1 thenresult:=result+' две' elseresult:=result+' два';

elseresult:=result+ones[strtoint(s[3])];

end;

Result:=Result+razryad[raz];

casestrtoint(s[3]) of

0,5,6,7,8,9: ifraz>1 thenresult:=result+'ов';

1: ifraz=1 thenresult:=result+'а';

2,3,4: ifraz=1 thenresult:=result+'и' else ifraz>1 thenresult:=result+'а';

end;

end else begin

Result:=Result+ones[StrToInt(Copy(s,2,2))];

Result:=Result+razryad[raz];

ifraz>1 thenresult:=result+'ов';

end;

end;

begin

val:=Trunc(value);

ifval=0 then beginresult:='ноль'; exit; end;

s:=IntToStr(val); Result:=''; i:=0;

whilelength(s)>0 do begin

Result:=shortNum(Copy('00'+s,Length('00'+s)-2,3),i)+Result;

iflength(s)>3 thens:=copy(s,1,length(s)-3) elses:='';

inc(i);

end;

s:=IntToStr(Trunc((value-val)*100+0.5));

Result:=Result+' руб. '+s+' коп.';

end;

Даты

Добавление даты и времени в компонент Memo

Delphi 1

{ Следующий код вставляет значение даты/времени в memo-поле. }

Var

s : string;

begin

s := DateToStr( Date ) + ' ' + TimeToStr( Time ) + ' :';

Memo1.Lines.Insert(0, s);

Memo1.SetFocus;

Memo1.SelStart := Length(s);

Memo1.SelLength := 0;

Вычисление даты Пасхи II

Delphi 1

functioneaster (year: integer): tdatetime;

{----------------------------------------------------------------}

{ Вычисляет и возвращает день Пасхи определенного года. }

{ Идея принадлежит Mark Lussier, AppVision < MLussier@best.com>. }

{ Скорректировано для предотвращения переполнения целых, если по }

{ ошибке передан год с числом 6554 или более. }

{----------------------------------------------------------------}

var

nMonth, nDay, nMoon, nEpact, nSunday,

nGold, nCent, nCorx, nCorz: Integer;

begin

{ Номер Золотого Года в 19-летнем Metonic-цикле: }

nGold := (Year mod19) + 1;

{ Вычисляем столетие: }

nCent := (Year div100) + 1;

{ Количество лет, в течение которых отслеживаются високосные года… }

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Советы по Delphi. Версия 1.4.3 от 1.1.2001»

Представляем Вашему вниманию похожие книги на «Советы по Delphi. Версия 1.4.3 от 1.1.2001» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Советы по Delphi. Версия 1.4.3 от 1.1.2001»

Обсуждение, отзывы о книге «Советы по Delphi. Версия 1.4.3 от 1.1.2001» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x