Отправляет email-рассылки с помощью сервиса Sendsay

Самоучитель по Delphi

  Все выпуски  

Самоучитель по Delphi Самоучитель по Delphi - выпуск 5


 Здравствуйте дорогие читатели! С вами Артём, автор рассылки "Самоучитель по Delphi".

Сегодня 25 апреля 2006 года и это 4 выпуск моей рассылке.

Контакты

Автор и выпускающий редактор рассылки - NC.Luthermail.ru

Сайт - http://tibrazco.info.
Предложения и замечания по рассылке отсылайте по e-mail: NC.Luthermail.ru. Я обязательно учту ваши пожелания предложения при составлении рассылки.

Выпуск  4

Теперь вы можете скачать исходники и файлы к рассылке на сайте http://tibrazco.info/df.htm

Вопросы от читателей

          Максим: Здравствуйте, NC. Я достаточно давно программирую на Делфи, и вот недавно я написал одну программулину, и она использует расчеты связанные с лунным календарем, проблема в том что я совершенно не понимаю алгоритм построения этого календаря, если вам встречался подобный алгоритм прошу поделиться опытом.

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

          http://grigam.wallst.ru

          Максим: Здравствуйте, NC. И еще такой вопрос, компилирую ресурс строк (*.res) а потом присоеденяю его к DLL-ке, дык вот, когда такой ботвы много то получается довольно внушительная по размеру штуковина. Есть какой нить способ уменьшения res-файлов?

          Если будем уменьшать(изменять) файл типа *.res, то компилятор просто не поймет нашу программу. Если Вы хотите уменьшить вес программы, то скачайте программку ASPack

          http://aspack.com

          Ксати эту программку разработали русские программисты. Но она к сожалению платная. Думаю, что в просторах интернета Вы сможте найти "лекарство". Программа уменьшает вес где-то в 3, а иногда 5-6 раз!

          Неизвестный: Помоги написать программу секундомер с описание!! зарание благодарен!

          Я написал исходный текст программы и вылодил его на своем сайте tt-luther. Программка очень проста и удобна. Сейчас обьясню как всё действует.

          Вставляй на форму Label и две кнопки. Одну кнопку обзывай "Старт", а другую "Обнулить". Первая кнопка будет стартовать и останавливать твой секундомер, вторая будет обнулять счетчик. Теперь вставляй на форму Timer. Ставь свойство interval таймера на 100.

          Теперь нажми двойным счелчком на кнопку с надписью "Старт". Пиши такой код:

          procedure TForm1.Button1Click(Sender: TObject);

          begin

                Timer1.Enabled:=not Timer1.Enabled;

                if Timer1.Enabled then button1.Caption:='Стоп'

                else button1.Caption:='Старт'

          end;

          Если мы стартанули, то надпись изменится на Стоп, и наоборот. При нажатии запускается или останавливается таймер.

          Теперь добавь раздел глобальных переменных три переменные:

          var

          Form1: TForm1;

          msec, sec, min : integer;

          Мы добавили три переменны, которые будем использовать ниже. Ксати в этой программке я использовал две функции о которых говорил ранее: StrToInt и IntToStr.

          Теперь кликай двойным счелчом на таймер и пиши:

          procedure TForm1.Timer1Timer(Sender: TObject);

          var s:string;

          begin

              if msec=10 then inc(sec); // Если кол-во милисекунд равно десяти, то добавляем 1 к секундам

              if msec<10 then inc(msec) // Если кол-во милисекунд меньше десяти, то добавляем 1 к милискундам

              else msec := 0;  //в противном случае обнуляем милисекунду.

              if sec=60 then begin // Если sec равна 60, то обнуляем секунду и добаляем 1 к минутам

               sec := 0;

               inc(min);

              end;

               s:=inttostr(min)+':'; //Меняем значени переменной s на количество минут и  :

               if sec<10 then s:=s+'0'+inttostr(sec) else // если sec меньше 10, то добаляем к уже имеющимуся s ноль и количество секунд

               s:=s+inttostr(sec); // в противном случае, добавляем только количество секунд( в этом случае оно естесвенно будет равно 10)

               s:=s+':'; // прибавляем к s двоеточие

              if msec<10 then s:=s+'0'+inttostr(msec) else // Те же самые действия, которые мы проводили с секундами, делаем с милисекундами

              s:=s+inttostr(msec);

              Label6.Caption := s; // Меняем надпись на лейбле на s

          end;

          Теперь опишем реакцию на нажатие второй кнопки:

          procedure TForm1.Button2Click(Sender: TObject);

          begin

          Timer1.Enabled:=false; // Останавлием таймер

          msec := 0; // Обнуляем все переменные

          sec := 0;

          min := 0;

          label6.caption:='0:00:00';

          Button1.Caption := 'старт'; // Меняем надпись на первой кнопкой

          end;

Заключение

Напоминаю, что  предыдущие выпуски рассылки вы можете прочитать на моем сайте  http://tibrazco.info в разделе рассылки http://tibrazco.info/mail.htm И не бойтесь присылать свои вопросы, я отвечу на них и помещу их в рассылки, чтобы все читатели узнали что-то новое. Присылайте их сюда NC.Luthermail.ru.


В избранное