Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2011, 16:50   #1
Den7656
Форумчанин
 
Аватар для Den7656
 
Регистрация: 08.06.2011
Сообщений: 103
По умолчанию Аналог функции "FOR"

Приветствую Вас, столкнулся с такой проблемой, нужно переписать JavaScript на Delphi, никак не могу разобраться, вернее разобрался, но никак не могу осуществить функцию FOR там (в JavaScript'е) задается ей три параметра. Куда запихать третий ?
Компилятор ругается, если ставлю z = z + 3 в цикл for'а

PHP код:
<script>
var 
data "1111111111222222222279";

var 
doca1 '';
for (
30i--) {
    for (
i<= data.length3) {
        
doca1 =  doca1+data.charAt(z);
    }}

document.write(doca1);
</script> 
всем ответившим заранее спасибо
Жизнь хорошая штука -и⊥ʎdʞ ин ʞɐʞ
Den7656 вне форума Ответить с цитированием
Старый 12.10.2011, 17:10   #2
fate
Форумчанин
 
Аватар для fate
 
Регистрация: 17.03.2009
Сообщений: 318
По умолчанию

Код:
for i:=3 downto 0 do begin

end;
fate вне форума Ответить с цитированием
Старый 12.10.2011, 17:16   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
for i:=3 downto 1 do begin
  z:=3-i;
  while z<=data.length do begin
    ...
    Inc(z,3);
  end;
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.10.2011, 17:56   #4
Den7656
Форумчанин
 
Аватар для Den7656
 
Регистрация: 08.06.2011
Сообщений: 103
По умолчанию

Спасибо за ответы. Странно получается, вроде все сделал верно, а результаты разные в HTML'е и на Delphi. На Delphi не полный результат получается, если сравнить его с первым.

PHP код:
procedure TForm1.Button1Click(SenderTObject);
var
p,i,z:integer;
s,s1:string;
begin
s1
:='';
s:='1111111111222222222279';
for 
i:=3 downto 0 do begin
  p
:=3-i;
  while 
p<=length(s) do begin
      Inc
(p,3);
    
s1:=s1+s[p];
  
end;
end;  
memo2.Lines.Add(s1);
end
Жизнь хорошая штука -и⊥ʎdʞ ин ʞɐʞ
Den7656 вне форума Ответить с цитированием
Старый 12.10.2011, 18:00   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

В первом цикле разве до 0?
i > 0 -- до 1


ADD

и Inc(p,3); перед концом цикла должен быть
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 12.10.2011 в 18:03.
Аватар вне форума Ответить с цитированием
Старый 12.10.2011, 18:01   #6
Den7656
Форумчанин
 
Аватар для Den7656
 
Регистрация: 08.06.2011
Сообщений: 103
По умолчанию

Результат тот же, ставил и единицу, и ноль, на результат не влияет.
Жизнь хорошая штука -и⊥ʎdʞ ин ʞɐʞ
Den7656 вне форума Ответить с цитированием
Старый 13.10.2011, 13:52   #7
Den7656
Форумчанин
 
Аватар для Den7656
 
Регистрация: 08.06.2011
Сообщений: 103
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
В первом цикле разве до 0?
i > 0 -- до 1


ADD

и Inc(p,3); перед концом цикла должен быть
спасибо, но не помогло, пробовал по-разному ((

и так:
PHP код:
procedure TForm1.Button1Click(SenderTObject);
var
p,i,z:integer;
s,s1:string;
begin
s1
:='';
s:='123456789abcd';
for 
i:=3 downto 0 do begin
  p
:=3-i;
  while 
p<=length(s) do begin
     Inc
(p,3);
    
s1:=s1+s[p];
     
Inc(p,3);
  
end;
end;
memo2.Lines.Add(s1);
end
Возвращает 39

и так:
PHP код:
procedure TForm1.Button1Click(SenderTObject);
var
p,i,z:integer;
s,s1:string;
begin
s1
:='';
s:='123456789abcd';
for 
i:=3 downto 0 do begin
  p
:=3-i;
  while 
p<=length(s) do begin
     Inc
(p,3);
    
s1:=s1+s[p];
     
Inc(p,3);
  
end;
  
Inc(p,3);
end;
memo2.Lines.Add(s1);
end
Возвращает 39

и так:
PHP код:
procedure TForm1.Button1Click(SenderTObject);
var
p,i,z:integer;
s,s1:string;
begin
s1
:='';
s:='123456789abcd';
for 
i:=3 downto 0 do begin
  p
:=3-i;
  while 
p<=length(s) do begin
     Inc
(p,3);
    
s1:=s1+s[p];
    
end;
  
Inc(p,3);
end;
memo2.Lines.Add(s1);
end
Возвращает 369c

а сама функция:
PHP код:
<script>
var 
data "123456789abcd";

var 
doca1 '';
for (
30i--) {
    for (
i<= data.length3) {
        
doca1 =  doca1+data.charAt(z);
    }}

document.write(doca1);
</script>
<br>
<br>
<br> 
Возвращает 147ad258b369c
то есть сперва берет 1-ый, потом 4-ый, потом 7-й, потом 10-й, потом 13-й символы.. Потом 2-ый, потом 5-ый, потом 8-й, потом 11-й....
Че-то никак не сообразить как в циклах это организовать
В голове уже каша какая-то...

Надеялся, что человек, наконец-то, начнет оформлять код по правилам, но так и не дождался...
А посему - получите заслуженную кару.
Жизнь хорошая штука -и⊥ʎdʞ ин ʞɐʞ

Последний раз редактировалось mihali4; 20.10.2011 в 18:52.
Den7656 вне форума Ответить с цитированием
Старый 13.10.2011, 14:05   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А как нужно так и не пробовали
Код:
 while p<=length(s) do begin 
    s1:=s1+s[p]; 
    Inc(p,3); 
 end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 20.10.2011, 18:43   #9
Den7656
Форумчанин
 
Аватар для Den7656
 
Регистрация: 08.06.2011
Сообщений: 103
По умолчанию

Так тоже пробовал... не получается((
Жизнь хорошая штука -и⊥ʎdʞ ин ʞɐʞ
Den7656 вне форума Ответить с цитированием
Старый 20.10.2011, 19:02   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
procedure TForm2.Button2Click(Sender: TObject);
var i,j: Integer;
    s1,s2: String;
begin
  s1:='123456789abcd';
  s2:='';
  for i:=1 to 3 do begin
    j:=i;
    while j<=Length(s1) do begin
      s2:=s2+s1[j];
      Inc(j,3);
    end;
  end;
  Label4.Caption:=s2;  //результат
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DebugAPI перехват функции "на" и "после" Cj_ Win Api 1 20.04.2010 01:11
Аналог функции "Сохранить как->Веб-страница, полностью" beemoto Работа с сетью в Delphi 1 23.11.2009 17:12
Аналог функции "Сохранить как->Веб-страница, полностью" Magister Yoda Работа с сетью в Delphi 16 22.09.2009 12:53
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04