Модераторы: группа: Модератор, группа: Комодератор

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> HelloWorld 
:(
    Опции темы
Ignat
Дата 26.10.2005, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة




MuToGeN, где воруешь? smile


--------------------
Теперь при чем :P
PM   Вверх
MuToGeN
Дата 26.10.2005, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва




не скажу


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Poseidon
Дата 27.10.2005, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь




~FoX~, ужась smile


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
~FoX~
Дата 27.10.2005, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград




Красиво получиться, попробуйте smile
Код

uses Word97;
//..............................//
procedure CreateRepDoc();
var
 MsWord: OleVariant;
begin
 try
  MsWord:=GetActiveOleObject('Word.Application.8');
 except
  try
   MsWord:=CreateOleObject('Word.Application.8');
   MsWord.Documents.Add;
   MsWord.Selection.Font.Size:=72;
   MsWord.Selection.Font.Animation := wdAnimationSparkleText;
   MsWord.Selection.Font.Bold:=true;
   MsWord.Selection.ParagraphFormat.Alignment := wdAlignParagraphCenter;
   MsWord.Selection.TypeText('HalloWorlD!');
   MsWord.Visible:=true;
  except
   Exception.Create('HalloWorlD!');
  end;
 end;
end;



--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
3,14
Дата 27.10.2005, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород




~FoX~, ты лучше результат скажи, не у всех есть дельфи


--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
~FoX~
Дата 27.10.2005, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград




НУ вобщем откроется ворд, посредине будет написано 72-ым шрифтома "HalloWorld!" и анимация ака феерверк. Формат - Шрифт - Вкладка "Анимация" - Выбрать феерверк.


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Се ля ви
Дата 28.10.2005, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space




ХеллоВорды на всех известных языках программирования - http://www.roesler-ac.de/wolfram/hello.htm smile Каждый найдите что-нибудь для себя по вкусу и будьте счастливы! smile


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
3,14
Дата 28.10.2005, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород




Се ля ви, там не интересные


--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
Mayk
Дата 28.10.2005, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а




Вот вам текстографический вариант. От представленных он выгодно отличается тем, что для того, чтобы изменить картинку, выводимую на
экран вам надо просто изменить исходник. Причем после изменения перекомпиляция не требуется. Это новое слово в хелловорлдо строительстве!

Файл сохранить в hwsruk.cpp (это значит helloworld from C roo kengaroo).
Внимательный читатель заметит здесь влияние кенгуренка ру.

Язык: АХТУНГ! СРУК!
Код

#if 0

setAt 1 1 S

step 5
rotate
rotate
jump 2
rotate cw
step 4
rotate ccw
jump 2
rotate
rotate
step 5

rotate ccw

jump 3
step 4

jump 3
step 4

jump 3
step 4

jump 4
step 2
jump
rotate
jump 
step 3
jump
rotate ccw
jump
step 2
jump
rotate ccw
jump
step 3
rotate cw
jump 6
rotate cw
step 4
rotate ccw
jump 6
rotate ccw
step 5

rotate cw
jump 7
rotate cw
step 5
rotate cw
step 5
rotate cw
jump 2
rotate cw
jump
step 3
rotate ccw
jump 4
step 4
jump
rotate ccw
jump
step
jump 2
step
rotate ccw
jump
rotate ccw
jump 
step
rotate cw
jump 3
rotate cw
jump 2
rotate cw
step 4
jump



    
rotate ccw

jump 4
step 2
jump
rotate ccw
jump
step 3
jump
rotate ccw
jump 
step 2
jump
rotate ccw
jump
step 3
jump 
rotate ccw


jump 6
rotate ccw
step 5 
rotate cw
step 4
jump
rotate cw
jump
step
jump 2
step 2
rotate
rotate
jump 2
rotate ccw
jump
step 3 
rotate
rotate



jump 6
rotate ccw
jump 2
rotate
rotate
step 5
rotate
step 4
jump 2

step 3
jump
rotate
jump
step 3
jump
rotate
jump
step 3
rotate
step 4


#endif

#if 0

w   w   oo  rrrr  l    ddd
w   w  o  o r   r l    d  d
w   w  o  o rrrr  l    d  d
w w w  o  o r   r l    D  d
 w w    oo  r   r llll ddd 



#endif

#include <stdarg.h>
#include <stdio.h>
#include <vector>
#include <algorithm>
using namespace std;

int si=0;

class Row : public vector<int>
{
    int i;
    public:
    Row(){i=si++;}
    void ensureCapacity(int cap){
        if(size() < cap){
            resize(cap);
        }
    }
    void setAt(int pos){
        Row& self = *this;
        self[pos]=true;
    }
    void clearAt(int pos){
        Row& self = *this;
        self[pos]=false;
    }
    static void print(const Row& r){
//        printf("%d ",r.i);
        for(int i=0; i != r.size(); ++i)
            printf("%c",r[i] ? '#' : ' ');
        printf("\n");
    }

};

class Matrix2D
{
    vector<Row> rows;
    int mx,my;

    Row& findRow(int pos){
        if(pos < rows.size()){
            return rows[pos-1];
        }
        rows.resize(pos);
        return rows[pos-1];
    }
        
    public:
    Matrix2D(){
        mx=my=-1;
    }
    
        
    void setAt(int x, int y){
        if(x > mx) mx=x;
        if(y > my) my=y;
        Row& row = findRow(y);
        row.ensureCapacity(x+1);
        row.setAt(x-1);
    }    

    void clearAt(int x, int y){
        if(rows.size() < y)
            return;
        Row& row = findRow(y);
        if(row.size() < x)
            return;
        row.clearAt(x);
    }    

    void print()
    {
        for_each(rows.begin(), rows.end(), Row::print);
    }

};

Matrix2D matrix;

void drawLine(int x, int y, int x1, int y1)
{
    printf("dl=%d %d %d %d\n",x,y,x1,y1);
    register int dx, dy, DX, DY, A_B, DX2, DY2;
    A_B = 0;
    dx = dy = 1;
    DX = x1 - x;
    DY = y1 - y;
    if (DX < 0) {
    DX = -DX;
    dx = -dx;
    }
    if (DY < 0) {
    DY = -DY;
    dy = -dy;
    }
    if (DX >= DY) {
    DX2 = DX >> 1;

    for (; x != x1; x += dx) {
        matrix.setAt(x, y);
        A_B += DY;
        if (A_B > DX2) {
        y += dy;
        A_B -= DX;
        }
    }
    } else {
    DY2 = DY >> 1;
    for (; y != y1; y += dy) {
        matrix.setAt(x, y);

        A_B += DX;
        if (A_B > DY2) {
        x += dx;
        A_B -= DY;
        }
    }
    }
    matrix.setAt(x, y);
}

namespace Direction{
    enum{N='n',W='w',S='s',E='e'};
};

int x,y,angle=Direction::N;
int lineNum=0;
char buf[1024];
void die( const char* desc, ...)
{
    va_list lst;
    va_start(lst, desc);
    fprintf(stderr,"Error at line %d with args:%s\n", lineNum,buf);    
    vfprintf(stderr, desc, lst);
    fprintf(stderr,"\n");
    exit(EXIT_FAILURE);
    va_end(lst);
}

void func_setAt(char* arg)
{
    int x,y;
    char c;
    int rc = sscanf(arg, "%d %d %c", &x, &y, &c);
    const char dir[] = "nwse";
    if(rc < 2 || rc > 3)
        goto _die;

    if(rc == 3 ){
        if(isupper(c))
            c=tolower(c);
        if(!strchr(dir, c))
            goto _die;
    }
    if(x < 0 || y < 0)
        goto _die;

    ::x = x;
    ::y = y;
    ::angle = c;

    return;
_die:    
    die("setAt expression: setAt X Y [Direction]\n"
            "set roo to given position\n"
            "x,y - roo position(x,y > 0)\n"
            "Direction - optional direction(\n"
            "\tN - north\n"
            "\tW - west\n"
            "\tS - south\n"
            "\tE - east\n"
            ")"
            );
    
}

void func_step(char* arg)
{
    int steps=1;
    int x2=::x;
    int y2=::y;
    int xm= (::angle == Direction::W) ? -1 :
         (::angle == Direction::E) ? 1 : 0;
    int ym= (::angle == Direction::N) ? -1 :
         (::angle == Direction::S) ? 1 : 0;

    if(sscanf(arg,"%d",&steps) && steps <= 0)
        goto _die;
    --steps;
    x2 += xm * steps;
    y2 += ym * steps;
    drawLine(::x, ::y, x2,y2);
    ::x=x2;//-ym;
    ::y=y2;//-xm;
    return;
_die:
    die("step expression: step [count]\n"
        "move roo forward ``count'' times drawing line\n"
        "if optional ``count'' not specifed, 1 is assumed\n");
}

void func_jump(char* arg)
{
    int steps=1;
    int x2=::x;
    int y2=::y;
    int xm= (::angle == Direction::W) ? -1 :
         (::angle == Direction::E) ? 1 : 0;
    int ym= (::angle == Direction::N) ? -1 :
         (::angle == Direction::S) ? 1 : 0;

    if(sscanf(arg,"%d",&steps) && steps <= 0)
        goto _die;
    x2 += xm * steps;
    y2 += ym * steps;

    ::x = x2;
    ::y = y2;
    return;
_die:
    die("jump expression: jump [count]\n"
        "move roo forward ``count'' times w.o. drawing\n"
        "if optional ``count'' not specifed, 1 is assumed\n");
}

void func_rotate(char* arg)
{
    int dir=-1;    //ccw
    const char* dirc="nesw";
    int cur;
    while(isblank(*arg))
        ++arg;
    if(*arg == 'c' || *arg == 'C'){
        switch(arg[1]){
            case 'c':
            case 'C':
                if(arg[2] != 'w' && arg[2] != 'W')
                    goto _die;
                
                if(arg[3] != 0 && !isblank(arg[3]))
                    goto _die;

            break;

            case 'w': 
            case 'W':
                if(arg[2] != 0 && !isblank(arg[2]))
                    goto _die;
                dir=1;
                break;
        }
    }
    cur = 4+ (strchr(dirc,::angle)-dirc);
    ::angle = dirc[(cur+dir)%4];
    printf("new angle=%c\n",::angle);

    return;
    //never reached
_die:
    die("rotate expression: rotate [direction={ccw, cw}]\n"
        "rotate roo counter-clockwise(if direction is ccw)\n"
        "or clockwise(otherwise)\nif direction not specifed,\n"
        "ccw is supposed\n");
}    


struct
{
    const char* cmd;
    int len;
    void (*function)(char* arg);
}funcs[]={
    {"setAt", 5, func_setAt},
    {"step", 4, func_step},
    {"jump", 4, func_jump},
    {"rotate", 6, func_rotate}
};




int main()
{    
    FILE*f = fopen("hwsruk.cpp","r");
    while(1){
        ++lineNum;
        fgets(buf,1024,f);
        while(*buf && buf[strlen(buf)-1]<=32)
            buf[strlen(buf)-1]=0;
        if(!*buf)
            continue;
        if(!strcmp(buf,"#endif"))        
            break;
        
        for(int i = 0; i != sizeof(funcs)/sizeof(funcs[0]); ++i){
            if(!strncmp(buf,funcs[i].cmd, funcs[i].len) 
               && (isblank(buf[funcs[i].len]) || 
                       !buf[funcs[i].len])){
                funcs[i].function(buf+funcs[i].len);
                break;
            }
        }
    }
    
    matrix.print();
}





зы сразу скажу, трафой не делюсь smile
Добавлено @ 21:03
да - .exe'шник и исходник должны быть в одной директории. Из которой и надо запускать екзежник smile
Добавлено @ 21:05
smile smile smile smile smile smile smile smile smile smile smile smile

Это сообщение отредактировал(а) Mayk - 28.10.2005, 21:02


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
S.A.P.
Дата 28.10.2005, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004




Цитата
ХеллоВорды на всех известных языках программирования - http://www.roesler-ac.de/wolfram/hello.htm smile Каждый найдите что-нибудь для себя по вкусу и будьте счастливы! smile
smile smile smile smile
шутники они smile . Даже на PDF написали . А Prograph просто убил меня smile .

PM MAIL   Вверх
~FoX~
Дата 31.10.2005, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград




ASM-Z80 ой рулезно выглядить smile smile


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Флейм"
Тут модерируют вообще все кому не лень!

Это "Песочница"!!!

В разделе не действуют многие правила:

  • Можно оффтопить
  • Можно флудить, но не увлекаться
  • Можно общаться на темы, не только связанные с программированием.
  • Если вы поставили здесь адекватный вопрос, не ждите адекватного ответа.

Строго запрещено:

  • Размещать рекламу
  • Обсуждать политику
  • Оскорблять друг-друга и переходить на личности
  • Наезжать
  • Материться
  • Уныло обсуждать унылые вещи

Напоминаем о существовании волшебной кнопочки Репорт. Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джинна-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт.


Глас Винграда:

Лучшее в Камасутре - это введение!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Все кому не лень.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Песочница | Следующая тема »


 




[ Время генерации скрипта: 0.1362 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.