A A A A Автор Тема: Помогите разобратся  (Прочитано 2836 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн AbversoftАвтор темы

  • Новичок
  • *
  • Сообщений: 13
  • Благодарностей: 0
    • Сообщения от Abversoft
Re: Помогите разобратся
« Ответ #20 : 25 Янв 2009 [23:05:19] »
если не трудно помогите перевести  и с в паскаль два момента

1)-------------
for(int i = 0; i < 60; i++)
        {
            g.drawLine(xx, yy1, xx + 2, yy1);
            g.drawLine(xx, yy2, xx + 2, yy2);
            g.drawLine(xx, y, xx + 2, y);
            g.drawLine(xx, yy, xx + 2, yy);
            xx += 6;
        }
-----------------------------

и
2)-------------------
   for (int i=-x; x+i<2*x0; i++) {
         yy = computeLat(i, dec);
         yy1 = computeLat(i+1, dec);
         g.drawLine(xL+x+i,y0-yy,xL+x+i+1,y0-yy1);
         if (i % 7 ==0)
            g.drawLine(xL+x+i,y0-yy,xL+x+i,y0+F*90-2);
         }

----------------------------------------

Оффлайн елVIс

  • *****
  • Сообщений: 1 360
  • Благодарностей: 15
  • Мне нравится этот форум!
    • Сообщения от елVIс
Re: Помогите разобратся
« Ответ #21 : 26 Янв 2009 [09:24:55] »
Когда  это я на паскале писал? Лет 15 назад - огого время летит  ::)   ;D
проверить не на чем синтаксис - простите, если что забыл.

for i:=0 to 59 do
  begin
            g.drawLine(xx, yy1, xx + 2, yy1);
            g.drawLine(xx, yy2, xx + 2, yy2);
            g.drawLine(xx, y, xx + 2, y);
            g.drawLine(xx, yy, xx + 2, yy);
            xx:=xx+6;
  end;

i:=-x;
while (x+i<2*x0) do
  begin
         yy: = computeLat(i, dec);
         yy1: = computeLat(i+1, dec);
         g.drawLine(xL+x+i,y0-yy,xL+x+i+1,y0-yy1);
         if (i mod 7 = 0) then  g.drawLine(xL+x+i,y0-yy,xL+x+i,y0+F*90-2);
         i:=i+1;
  end;
« Последнее редактирование: 26 Янв 2009 [09:37:17] от елVIс »
ТАЛ-150ПМ, Coronado PST, Алькор, Pentax IstD с ЗМ-5СА и МТО-1000

Оффлайн елVIс

  • *****
  • Сообщений: 1 360
  • Благодарностей: 15
  • Мне нравится этот форум!
    • Сообщения от елVIс
Re: Помогите разобратся
« Ответ #22 : 26 Янв 2009 [09:32:26] »
Во втором цикле тоже можно с for обойтись,
но я решил показать, как он переводится в общем виде.
Кстати, имеено так работают некоторые трансляторы с Си в паскаль.

Лучше всего пытаться самостоятельно, вручную транслировать программы - так Вы разберетесь с его, Си, синтаксисом.
Но если программа большая, а Вам лень  - взгляните http://www.astonshell.com/freeware/c2pas32/ 
Может, и пригодится.

ТАЛ-150ПМ, Coronado PST, Алькор, Pentax IstD с ЗМ-5СА и МТО-1000

Оффлайн AbversoftАвтор темы

  • Новичок
  • *
  • Сообщений: 13
  • Благодарностей: 0
    • Сообщения от Abversoft
Re: Помогите разобратся
« Ответ #23 : 26 Янв 2009 [21:19:32] »
ура. получилось
на рис 1 (взято с сайта http://www.jgiesen.de/TNApplet/DN/index.html) оригинал
на рис 2 то что перевел с Ява на Дельфи (ну и извращении в Яве с датами,пока разобрался столько шишек набил). Если надо то могу выложить исходник, единственно пришлось использовать один компонент для рисование все этого безобразия

Оффлайн AbversoftАвтор темы

  • Новичок
  • *
  • Сообщений: 13
  • Благодарностей: 0
    • Сообщения от Abversoft
Re: Помогите разобратся
« Ответ #24 : 29 Янв 2009 [01:46:15] »
то что разобрался в том как все это делается, видно ни кому не интересно, если ни кто не интересуются на счет исходников (код не большой, делфи 7)

Оффлайн AbversoftАвтор темы

  • Новичок
  • *
  • Сообщений: 13
  • Благодарностей: 0
    • Сообщения от Abversoft
Re: Помогите разобратся
« Ответ #25 : 30 Янв 2009 [08:11:19] »
исходник выложен на Delphi Soureces http://www.delphisources.ru/pages/sources/graph/2009-year/sun-clock.html
« Последнее редактирование: 31 Янв 2009 [04:57:26] от Abversoft »