На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
  
> задание шага в цикле for , ???
    хотела сделать цикл с шагом скажем 0.1
    но оказалось, что в Делфи нет раздела step :( , который есть в VB
    как быть???
      Использовать while .. do, repeat.. until
        Используем While...do или
        repeat...until
          бейсик
          ExpandedWrap disabled
            for i=1 to 10 step 2
            /// что нибудь
            next i


          delphi/pascal
          ExpandedWrap disabled
            i:=1;
            while i<10 do begin
            /// что нибудь
            i:=i+2;
            end;
            Цитата Оззя @
            Использовать while .. do, repeat.. until

            я так и сделала :yes:

            думала - может есть какой нить способ через for :rolleyes:

            В ТАКОМ СЛУЧАЕ - ВОПРОС РЕШЕН
            Сообщение отредактировано: olga90 -
              olga90, ну, если
              Цитата olga90 @
              скажем 0.1
              , то кто мешает
              ExpandedWrap disabled
                for i := 100 to 150 do
                  // работать с i / 10

              ?
              То же самое можно сделать и при любом другом шаге... Только зачем?
                olga90
                Нет, для for есть только вариант с отр. шагом 1

                ExpandedWrap disabled
                  for i:=n to 1 downto 1 ...
                  volvo877, хм... а ЧТО... это тоже вариант ;)
                    Вот так делается цикл от 1 до j с шагом step

                    ExpandedWrap disabled
                      For i:=1 to j do if i mod step = 0 then
                        begin
                        end



                    Цитата olga90 @
                    хотела сделать цикл с шагом скажем 0.1


                    И в VB и в Дельфи и вообще в любом языке программирования в качестве счётчика циклов может быть только целочисленная переменная, или перечисляемый тип, но никак не число с плавающей точкой, в противном случае - repeat..until или while.
                      Vit
                      >И в VB и в Дельфи и вообще в любом языке программирования в качестве счётчика циклов может быть только целочисленная переменная, или перечисляемый тип, но никак не число с плавающей точкой, в противном случае - repeat..until или while.

                      Смелое заявление ;))
                      В фортране и бейсике, например, циклы DO и FOR могут использовать вещественные переменные (в VB - только целочисленные)
                        Цитата MBo @
                        Vit
                        >И в VB и в Дельфи и вообще в любом языке программирования в качестве счётчика циклов может быть только целочисленная переменная, или перечисляемый тип, но никак не число с плавающей точкой, в противном случае - repeat..until или while.

                        Смелое заявление ;))
                        В фортране и бейсике, например, циклы DO и FOR могут использовать вещественные переменные (в VB - только целочисленные)

                        Если посмотреть вглубь этого вопроса то всё оказывается просто. Цикл for выполняется (в машинном коде) через специальный регистр счетчик, что делает его "быстрее", чем аналогичные конструкции while .. do, repeat.. until. Но отсюда и ограничение на тип переменной-счетчика и отсутсвие шагов.
                        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                        0 пользователей:


                        Рейтинг@Mail.ru
                        [ Script execution time: 0,0635 ]   [ 15 queries used ]   [ Generated: 8.07.25, 18:51 GMT ]