LibKing » Книги » comp-programming » Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001

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

Тут можно читать онлайн Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001 - бесплатно полную версию книги (целиком). Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте LibKing.Ru (ЛибКинг) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
libking
  • Название:
    Советы по Delphi. Версия 1.4.3 от 1.1.2001
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Ваша оценка:

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

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - описание и краткое содержание, автор Валентин Озеров, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

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

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - читать книгу онлайн бесплатно, автор Валентин Озеров
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

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;

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

{ для синхронизации с движением солнца: }

nCorx := (3 * nCent) div4 – 12;

{ Специальная коррекция для синхронизации Пасхи с орбитой луны: }

nCorz := (8 * nCent + 5) div25 – 5;

{ Находим воскресенье: }

nSunday := (Longint(5) * Year) div4 – ncorx – 10;

{ ^ Предохраняем переполнение года за отметку 6554}

{ Устанавливаем Epact – определяем момент полной луны: }

nEpact := (11 * nGold + 20 + nCorz – nCorx) mod30;

ifnepact < 0 thennEpact := nEpact + 30;

if((nepact = 25) and(ngold > 11)) or(nepact = 24) thennEpact := nEpact + 1;

{ Ищем полную луну: }

nMoon := 44 – nEpact;

ifnmoon < 21 thennMoon := nMoon + 30;

{ Позиционируем на воскресенье: }

nMoon := nMoon + 7 – ((nSunday + nMoon) mod7);

ifnmoon &gtl 31 then

begin

nMonth := 4;

nDay := nMoon – 31;

end

else

begin

nMonth := 3;

nDay := nMoon;

end;

Easter := EncodeDate(Year, nMonth, nDay);

end; {easter}

Преобразование даты в количество секунд

Delphi 1

EncodeDate возвращает объект TDateTime, который просто является double-числом. Для получения количества миллисекунд с даты 1/1/0001, умножьте результат на 86400000.0 Но чтобы избежать переполнения, лучше пользоваться более поздней датой.

Преобразование даты в неделю

Delphi 1

procedureTForm1.Button1Click(Sender: TObject);

var frstDay,toDay : TDateTime; week : Integer;

begin

frstDay := StrToDate('1/1/96');

toDay := StrToDate(Edit1.Text);

week := Trunc((toDay - frstDay) / 7) + 1;

Label1.Caption := IntToStr(week);

end;

Преобразование даты

Delphi 1

procedureTForm1.Button1Click(Sender: TObject);

var

st,formatsave : string;

DT : TDateTime;

begin

st := Edit1.text; // '1996-06-03 00.00.00'

formatsave := ShortDateFormat;

ShortDateFormat := 'yyyy.mm.dd hh.mm.ss';

whilepos ('-', st) > 0 do st [pos ('-', st)] := '.';

DT := StrToDateTime(st);

ShortDateFormat := formatsave;

Label1.Caption := DateTimeToStr(DT);

end;

Преобразование даты — добавление столетия

Delphi 1

LongDate := FormatDateTime('ddmmyyyy', StrToDate(ShortDate));

Данный код преобразует дату, переданную в формате, определенном в виде короткой даты в Панели Управления (типа DD/MM/YY) в формат, заданный в строке Format (в нашем примере DDMMYYYY).

Если DD/MM/YY — входное поле, а DDMMYYYY — поле базы данных, то приведенный выше код может сослужить пользователю хорошую службу, если он вдруг захочет использовать другой формат даты, с его соответствующим переопределением в Панели Управления.

(Естественно, YYYYMMDD для поля базы данных при обычных обстоятельствах будет лучше чем DDMMYYYY, поскольку в настоящее время используется метод последовательной сортировки).

Приведение даты

Delphi 1

procedureTForm1.MaskEdit1Exit(Sender: TObject);

var

y, m, d : word;

begin

decodedate(strtodate(maskedit1.text) + 11, y, m, d);

maskedit2.text := inttostr(m) + '/' + inttostr(d) + '/' + inttostr(y);

end;

Даты и недели

Delphi 1

У меня есть программа, которая делает примерно то, что вы хотите. Она сообщает для даты текущую неделю и день недели. Вам необходимо лишь реализовать вычисление предела для дат недели. Кроме того, формат в этом коде для дат задан в виде "06/25/1996".

Вы должны создать форму с именем "Forma", компонентом TEdit с именем "Edit1", четырьмя метками и кнопкой с именем "GetWeekBtn". Убедитесь в том, что обработчиком события формы OnCreate является метод FormCreate.

Надеюсь, что помог вам.

unitForma;

interface

uses

SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,Forms, Dialogs, StdCtrls;

type

TForma1 = class(TForm)

Edit1: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

GetWeekBtn: TButton;

Label4: TLabel;

procedureGetWeekBtnClick(Sender: TObject);

procedureFormCreate(Sender: TObject);

private{ Private declarations }

FunctionHowManyDays(pYear,pMonth,pDay:word):integer;

public{ Public declarations }

end;

var

Forma1: TForma1;

implementation

{$R *.DFM}

UsesInifiles;

procedureTForma1.FormCreate(Sender: TObject);

var WinIni:TInifile;

begin

WinIni:=TIniFile.Create('WIN.INI');

WinIni.WriteString('intl','sShortDate','MM/dd/yyyy');

Читать дальше
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать


Валентин Озеров читать все книги автора по порядку

Валентин Озеров - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Советы по Delphi. Версия 1.4.3 от 1.1.2001 отзывы


Отзывы читателей о книге Советы по Delphi. Версия 1.4.3 от 1.1.2001, автор: Валентин Озеров. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
Большинство книг на сайте опубликовано легально на правах партнёрской программы ЛитРес. Если Ваша книга была опубликована с нарушениями авторских прав, пожалуйста, направьте Вашу жалобу на PGEgaHJlZj0ibWFpbHRvOmFidXNlQGxpYmtpbmcucnUiIHJlbD0ibm9mb2xsb3ciPmFidXNlQGxpYmtpbmcucnU8L2E+ или заполните форму обратной связи.
img img img img img