Советы по Delphi. Версия 1.0.6 - [7]
> end else while lastdatabaseitem<=n do begin
> Seek(DataBaseFile, LastDataBaseItem);
> Write(DataBaseFile, Kk);
> LastDataBaseItem:= LastDataBaseItem+1;
> end else ReportError(1); {Попытка чтения MaxNumberOfDataBaseItems}
>end; {PutDatabaseItem}
>procedure InitDataBase;
>begin
> LastDataBaseItem:= 0;
> if FileExists(StandardDataBase) then begin
> Assign(DataBaseFile,StandardDataBase);
> Reset(DataBaseFile);
> while not EOF(DataBaseFile) do begin
> GetDataBaseItem(K0R, LastDataBaseItem);
> ItemNameS[LastDataBaseItem]:= K0R.Name;
> LastDataBaseItem:= LastDataBaseItem+1;
> end;
> if EOF(DataBaseFile) then if LastDataBaseItem>0 then LastDataBaseItem:= LastDataBaseItem-1;
> end;
>end; {InitDataBase}
>function FindDataBaseName(Nstg: String): LongInt;
>var ThisOne : LongInt;
>begin
> ThisOne:= 0;
> FindDataBaseName:= –1;
> while ThisOne
> if Nstg = ItemNameS[ThisOne] then begin
> FindDataBaseName:= ThisOne;
> Exit;
> end;
> ThisOne:= ThisOne+1;
> end;
>end; {FindDataBaseName}
>{======================= Инициализация модуля ========================}
>procedure InitLinearSystem;
>begin
> BaseFileName:= '\PROGRA~1\SIGNAL~1\';
> StandardOutput:= BaseFileName + 'K0.wav';
> StandardInput:= BaseFileName + 'K0.wav';
> StandardDataBase:= BaseFileName + 'Radar.sdb';
> InitAllSignals;
> InitDataBase;
> ReadWAVFile(K0R,K0B);
> ScaleAllData;
>end; {InitLinearSystem}
>begin {инициализируемый модулем код}
> InitLinearSystem;
>end. {Unit LinearSystem}
Даты
Вычисление даты Пасхи
>function TtheCalendar.CalcEaster:String;
>var B,D,E,Q:Integer;
> GF:String;
>begin
> B:= 225-11*(Year Mod 19);
> D:= ((B-21)Mod 30)+21;
> If d>48 then Dec(D);
> E:= (Year+(Year Div 4)+d+1) Mod 7;
> Q:= D+7-E;
> If q<32 then begin
> If ShortDateFormat[1]='d' then Result:= IntToStr(Q)+'/3/'+IntToStr(Year)
> else Result:='4/'+IntToStr(Q-31)+'/'+IntToStr(Year);
> end else begin
> If ShortDateFormat[1]='d' then Result:= IntToStr(Q-31)+'/4/'+IntToStr(Year)
> else Result:='4/'+IntToStr(Q-31)+'/'+IntToStr(Year);
> end;
> {вычисление страстной пятницы}
> If Q<32 then begin
> If ShortDateFormat[1]='d' then GF:= IntToStr(Q-2)+'/3/'+IntToStr(Year)
> else GF:='3/'+IntToStr(Q-2)+'/'+IntToStr(Year);
> end else begin
> If ShortDateFormat[1]='d' then GF:= IntToStr(Q-31-2)+'/4/'+IntToStr(Year)
> else GF:='4/'+IntToStr(Q-31-2)+'/'+IntToStr(Year);
> end;
>end;
Дни недели
Кто-нибудь пробовал написать функцию, возвращающую для определенной даты день недели?
Моя функция как раз этим и занимается.
>unit datefunc;
>interface
>function checkdate(date : string): boolean;
>function Date2julian(date : string): longint;
>function Julian2date(julian : longint): string;
>function DayOfTheWeek(date: string): string;
>function idag: string;
>implementation
>uses sysutils;
>function idag() : string;
>{Получает текущую дату и возвращает ее в формате YYYYMMDD для использования
>другими функциями данного модуля.}
>var
> Year, Month, Day: Word;
>begin
> DecodeDate(Now, Year, Month, Day);
> result:= IntToStr(year)+ IntToStr(Month) +IntToStr(day);
>end;
>function Date2julian(date : string) : longint;
>{Получает дату в формате YYYYMMDD.
>Если у вас другой формат, в первую очередь преобразуйте его.}
>var
> month, day, year:integer;
> ta, tb, tc : longint;
>begin
> month:= strtoint(copy(date,5,2));
> day:= strtoint(copy(date,7,2));
> year:= strtoint(copy(date,1,4));
> if month > 2 then month:= month – 3
> else begin
> month:= month + 9;
> year:= year – 1;
> end;
> ta:= 146097 * (year div 100) div 4;
> tb:= 1461 * (year MOD 100) div 4;
> tc:= (153 * month + 2) div 5 + day + 1721119;
> result:= ta + tb + tc
>end;
>function mdy2date(month, day, year : integer): string;
>var
> y, m, d : string;
>begin
> y:= '000'+inttostr(year);
> y:= copy(y,length(y)-3,4);
> m:= '0'+inttostr(month);
> m:= copy(m,length(m)-1,2);
> d:= '0'+inttostr(day);
> d:= copy(d,length(d)-1,2);
> result:= y+m+d;
>end;
>function Julian2date(julian : longint): string;
> {Получает значение и возвращает дату в формате YYYYMMDD}
>var
> x,y,d,m : longint;
> month,day,year : integer;
>begin
> x:= 4 * julian – 6884477;
> y:= (x div 146097) * 100;
> d:= (x MOD 146097) div 4;
> x:= 4 * d + 3;
> y:= (x div 1461) + y;
> d:= (x MOD 1461) div 4 + 1;
> x:= 5 * d – 3;
> m:= x div 153 + 1;
> d:= (x MOD 153) div 5 + 1;
> if m < 11 then month:= m + 2
> else month:= m – 10;
> day:= d;
> year:= y + m div 11;
> result:= mdy2date(month, day, year);
>end;
>function checkdate(date : string): boolean;
>{Дата должна быть в формате YYYYMMDD.}
>var
> julian: longint;
> test: string;
>begin
> {Сначала преобразовываем строку в юлианский формат даты.
> Это позволит получить необходимое значение.}
> julian:= Date2julian(date);
> {Затем преобразовываем полученную величину в дату.
> Это всегда будет правильной датой. Для проверки делаем обратное преобразование.
> Результат проверки передаем как выходной параметр функции.}
> test:= Julian2date(julian);
> if date = test then result:= true
> else result:= false;
>end;
>function DayOfTheWeek(date : string): string;
> {Получаем дату в формате YYYYMMDD и возвращаем день недели.}
>var
> julian: longint;
>begin
> julian:= (Date2julian(date)) MOD 7;
> case julian of
> 0: result:= 'Понедельник';
> 1: result := 'Вторник';
> 2: result:= 'Среда';
> 3: result:= 'Четверг';
> 4: result:= 'Пятница';
> 5: result:= 'Суббота';
Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Когда приходится инкапсулировать, то иногда лучше меньше, чем большеЯ начну со следующего утверждения: Если вы пишете функцию, которая может быть выполнена или как метод класса, или быть внешней по отношению к классу, Вы должны предпочесть ее реализацию без использования метода. Такое решение увеличивает инкапсуляцию класса. Когда Вы думаете об использовании инкапсуляции, Вы должны думать том, чтобы не использовать методы.Удивлены? Читайте дальше.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Embedded system software. General requirements for development and documentationСтандарт подготовлен в развитие ГОСТ Р ИСО/МЭК 12207-99 «Информационная технология. Процессы жизненного цикла программных средств» с целью учета специфики разработки и документирования программного обеспечения встроенных систем реального времени.
«Как пасти котов» – это книга о лидерстве и руководстве, о том, как первое совмещать со вторым. Это, если хотите, словарь трудных случаев управления IT-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды разработчиков. Даже если вы еще месяц назад были блестящим и дисциплинированным программистом и вдруг оказались в роли менеджера, вряд ли вы знаете, с чего надо начать, какой выбрать стиль руководства, как нанимать и увольнять сотрудников, проводить совещания, добиваться своевременного выполнения задач.