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


Авторские права

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

Здесь можно скачать бесплатно "Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001" в формате fb2, epub, txt, doc, pdf. Жанр: Программирование. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001
Рейтинг:
Название:
Советы по Delphi. Версия 1.4.3 от 1.1.2001
Издательство:
неизвестно
Год:
неизвестен
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

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

Описание и краткое содержание "Советы по Delphi. Версия 1.4.3 от 1.1.2001" читать бесплатно онлайн.



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






 RoundEx := Int(X) + ScaledFractPart/Precision;

end;

Разное

Генерация еженедельных списков задач

Мне необходима программа, которая генерировала бы еженедельные списки задач. Программа должна просто показывать количество недель в списке задач и организовывать мероприятия, не совпадающие по времени. В моем текущем планировщике у меня имеется 12 групп и планы на 11 недель.

Мне нужен простой алгоритм, чтобы решить эту проблему. Какие идеи? 

Вот рабочий код (но вы должны просто понять алгоритм работы):  

unit Unit1;


interface


uses Windows,  Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;


type TForm1 = class(TForm)

 ListBox1: TListBox;

 Edit1: TEdit;

 Button1: TButton;

 procedure Button1Click(Sender: TObject);

private { Private declarations }

public { Public declarations }

end;


var Form1: TForm1;


implementation


{$R *.DFM}


const maxTeams = 100;

var

Teams: Array[1..maxTeams] of integer;

 nTeams, ix, week, savix: integer;


function WriteBox(week: integer): string;

var

str: string;

 ix: integer;

begin

Result := Format('Неделя=%d ',[week]);

 for ix := 1 to nTeams do begin

  if odd(ix) then Result := Result+' '

  else Result := Result+'v';

  Result := Result+IntToStr(Teams[ix]);

 end;

end;


procedure TForm1.Button1Click(Sender: TObject);

begin

nTeams := StrToInt(Edit1.Text);

 if Odd(nTeams) then inc(nTeams); {должны иметь номера каждой группы}

 ListBox1.Clear;

 for ix := 1 to nTeams do Teams[ix] := ix;

 ListBox1.Items.Add(WriteBox(1));


 for week := 2 to nTeams-1 do begin

Teams[1] := Teams[nTeams-1]; {используем Teams[1] в качестве временного хранилища}

  for ix := nTeams downto 2 do if not Odd(ix) then begin

savix := Teams[ix];

   Teams[ix] := Teams[1];

   Teams[1] := savix;

  end;

  for ix := 3 to nTeams-1 do if Odd(ix) then begin

savix := Teams[ix];

   Teams[ix] := Teams[1];

   Teams[1] := savix;

  end;

  Teams[1] := 1; {восстанавливаем известное значение}

  ListBox1.Items.Add(WriteBox(week));

 end;

end;


end.

Mike Orriss

Генерация случайного пароля

The_Sprite советует:

Вам понадобилось, чтобы Ваше приложение само создавало пароли ? Возможно данный способ Вам пригодится. Всё очень просто: пароль создаётся из символов, выбираемых случайным образом из таблицы.

Совместимость: Delphi 5.x (или выше)

Собственно сам исходничек: Пароль создаётся из символов, содержащихся в таблице.

Внимание: Длина пароля должна быть меньше, чем длина таблицы!

// запускаем генератор случайных чисел (только при старте приложения).

procedure TForm1.FormCreate(Sender: TObject);

begin

 Randomize;

end;


function RandomPwd(PWLen: integer): string;

 // таблица символов, используемых в пароле

const StrTable: string =

 '!#$%&/()=?@<>|{[]}\*~+#;:.-_' +

 'ABCDEFGHIJKLMabcdefghijklm' +

 '0123456789' +

 'ДЦЬдцьЯ' + 'NOPQRSTUVWXYZnopqrstuvwxyz';

var

 N, K, X, Y: integer;

begin

 // проверяем максимальную длину пароля

 if (PWlen > Length(StrTable)) then K := Length(StrTable)-1

 else K := PWLen;SetLength(result, K); // устанавливаем длину конечной строки

 Y := Length(StrTable); // Длина Таблицы для внутреннего цикла

 N := 0; // начальное значение цикла

 while N < K do begin // цикл для создания K символов

  X := Random(Y) + 1; // берём следующий случайный символ

  // проверяем присутствие этого символа в конечной строке

  if (pos(StrTable[X], result) = 0) then begin

   inc(N); // символ не найден

   Result[N] :=StrTable[X]; // теперь его сохраняем

  end;

 end;

end;


procedure TForm1.Button1Click(Sender: TObject);

var

 cPwd: string;

begin

 // вызываем функцию генерации пароля из 30 символов

 cPwd := RandomPwd(30);

 // ...

end;

Проверка ISBN

Delphi 1

ISBN (или International Standard Book Numbers, международные стандартные номера книг) - мистические кодовые числа, однозначно идентифицирующие книги. Цель этой статьи заключается в том, чтобы убрать покров таинственности, окружающий структуру ISBN, и в качестве примера разработать приложение, проверяющее правильность создания кода-кандидата на ISBN.

ISBN имеет длину тринадцать символов, которые ограничиваются в использовании символами-цифрами от "0" до "9", дефисом, и буквой "X". Этот тринадцатисимвольный код состоит из четырех частей (между которыми располагается дефис): идентификатор группы, идентификатор издателя, идентификатор книги для издателя, и контрольная цифра. Первая часть (идентификатор группы) используется для обозначения страны, географического региона, языка и пр.. Вторая часть (идентификатор издателя) однозначно идентифицирует издателя. Третья часть (идентификатор книги) однозначно идентифицирует данную книгу среди коллекции книг, выпущенных данным издателем. Четвертая, заключительная часть (контрольная цифра), используется в коде алгоритме другими цифрами для получения поддающегося проверке ISBN. Количество цифр, содержащееся в первых трех частях, может быть различным, но контрольная цифра всегда содержит один символ (расположенный между "0" и "9" включительно, или "X" для величины 10), а само ISBN в целом имеет длину тринадцать символов (десять чисел плюс три дефиса, разделяющих три части ISBN).

ISBN 3-88053-002-5 можно так разложить на части:

Группа:            3

Издатель:          88053

Книга:             002

Контрольная цифра: 5

ISBN можно проверить на правильность кода, используя простой математический алгоритм. Суть его в следующем: нужно взять каждую из девяти цифр первых трех частей ISBN (пропуская нечисловые дефисы), умножить каждую отдельную цифру на число цифр, стоящих слева от позиции числа ISBN (оно всегда будет меньше одинадцати), сложить все результаты умножения, прибавить контрольную цифру, после чего разделить получившееся число на одиннадцать. Если после деления на одинадцать никакого остатка не образуется (т.е., число по модулю 11 делится без остатка), кандидат на ISBN является верным числом ISBN. К примеру, используем предыдущий образец ISBN 3-88053-002-5:

ISBN:      3   8  8  0  5  3  0  0  2  5

Множитель: 10  9  8  7  6  5  4  3  2  1

Продукт:   30+72+64+00+30+15+00+00+04+05 = 220

Поскольку 220 на одинадцать делится без остатка, расмотренный нами кандидат на ISBN является верным кодом ISBN.

Данный алгоритм проверки легко портируется в код Pascal/Delphi. Для извлечения контрольной цифры и кода из ISDN номера используются строковые функции и процедуры, после чего они передаются в функцию проверки. Контрольная цифра преобразуется в тип целого, на основе ее формируется стартовое значение составной переменной, состоящей из добавляемых цифр, умноженных на их позицию в коде ISBN (отдельные цифры, составляющие первые три части ISBN). Для последовательной обработки каждой цифры используется цикл For, в котором мы игнорируем дефисы и умножаем текущую цифру на ее позицию в коде ISDN. В заключение, значение этой составной переменной проверяется на делимость без остатка на одиннадцать. Если остатка после деления нет, код ISBN верен, если же остаток существует, то код кандидат на ISBN имеет неправильный код.

Вот пример этой методики, изложенной на языке функций Delphi:

function IsISBN(ISBN: String): Boolean;

var

 Number, CheckDigit: String;

 CheckValue, CheckSum, Err: Integer;

 i, Cnt: Word;

begin

 {Получаем контрольную цифру}

 CheckDigit := Copy(ISBN, Length(ISBN), 1);

 {Получаем остальную часть, ISBN минус контрольная цифра и дефис}


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

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

Книги похожие на "Советы по Delphi. Версия 1.4.3 от 1.1.2001" читать онлайн или скачать бесплатно полные версии.


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

Все книги автора Валентин Озеров

Валентин Озеров - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

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

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

А что Вы думаете о книге? Оставьте Ваш отзыв.