Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Перевод кода javascript в код Delphi


Автор: dilik 8.2.2007, 22:26
Вот код яваскрипта, надо его переделать в код Delphi! Кто поможет? 

Код

 <script language=javascript>
ax=0;
function writeTable() {
    ax=Math.round(Math.random()*26);
    alphaArray=new Array("a", "n", "b", "d", "f", "h", "{", "i", "l", "v", "x", "z", "I", "J", "M", "N", "o", "O", "R", "S", "T", "U", "m", "6", "^", "u", "_", "[", "]")
    table="<table border=0 cellspacing=1 cellpadding=1 width='40%'><tr>"
    j=1;
    for ( i = 99 ; i >= 0 ; i-- ) {
        a=Math.round(Math.random()*26);
        if ( i%9 == 0 &&  i < 89 ) 
            a=ax;
        table+="<td class='numtd'>"+i+"</td><td class='symtd'>"+alphaArray[a]+"</td>"
        if ( j%10 == 0 ) 
            table+="</tr><tr>"    
        j++
    }
    table+="</table>"
    sym.innerHTML=table
    sh.innerHTML=""
}
function showAnswer() {
    sh.innerHTML=alphaArray[ax]
    sym.innerHTML="<h1><a href='javascript:writeTable()'>Невероятно:)(! Попробуем еще разок?</a></h1>"
}
</SCRIPT>


Автор: Aliance 8.2.2007, 22:49
Думаю, тебе нужно в раздел по Делфи. Я знаю JS, но Делфи практически нет =)

Автор: Nicholas_S 8.2.2007, 23:24
Будет так:
Код

  const
      alphaArray: Array[0..28] of char = ('a', 'n', 'b', 'd', 'f', 'h', '{', 'i', 'l', 'v', 'x', 'z', 'I', 'J', 'M', 'N', 'o', 'O', 'R', 'S', 'T', 'U', 'm', '6', '^', 'u', '_', '[', ']');
  var
      ax: Integer = 0;
      sh_innerHTML: String;

implementation

{$R *.dfm}

function writeTable(): String;
 var   table: String;
       i, j, a: Integer;
begin
  Randomize;
  ax := random(27);
  table := '<table border=0 cellspacing=1 cellpadding=1 width="40%"><tr>';
  j :=1;
  for i := 99 downto 0 do
  begin
      a := random(27);
      if (i mod 9 = 0) and (i < 89) then
        a := ax;
        table := table + '<td class="numtd">'+IntToStr(i)+'</td><td class="symtd">'+alphaArray[a]+'</td>';
        if (j mod 10 = 0) then
          table := table + '</tr><tr>';
        Inc(j);
  end;

  Result := table + '</table>';
end;

function showAnswer(): String;
begin
  sh_innerHTML := alphaArray[ax];
  Result := '<h1><a href="javascript:writeTable()">Невероятно:)(! Попробуем еще разок?</a></h1>';
end;


Только здесь writeTable и showAnswer не пишут никуда текст, а возвращают его как результат выполнения функции.

Автор: dilik 9.2.2007, 09:52
СПАСИБО! Вот только что с Result делать?! 
Код

 Result := '<h1><a href="javascript:writeTable()">Невероятно:)(! Попробуем еще разок?</a></h1>';

Delphi его не поймет, думаю разберусь smile 

Автор: Nicholas_S 9.2.2007, 16:45
Ну это уж в зависимости от задачи. Функция возвратить текст, делай с ним все, что захочешь. 

Автор: dilik 10.2.2007, 15:18
всем спасибо, проблему решил

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)