Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Borland -> Visual C++ ... ? Как прогу переделать под Visual C++? 
V
    Опции темы
JENNIE
  Дата 6.3.2006, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

Репутация: нет
Всего: нет



Я новичок в программировании... попросила знакомого написать прогу на С++. Он написал в Borland ,а мне надо в VISUAL!! а я не знаю, как переделать... Помогите, а? smile
PM MAIL ICQ   Вверх
Dark Elf
Дата 6.3.2006, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 9
Всего: 10



Если программа консольная то особых проблем быть не должно а если GUI (написана с использованием VCL) это в случае двовльно крупного проекта нетривиальная задача


--------------------
PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
_hunter
Дата 6.3.2006, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



смотря что за прога. если консольное приложение -- должно без проблем перенестись. если формы -- забудь...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
JENNIE
Дата 6.3.2006, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

Репутация: нет
Всего: нет



Я могу проектик переслать ...
Добавлено @ 15:51
Прога не должна быть сложной ... я на 1ом курсе универа ... ну так чего? кто-нить поможет, а ?

PM MAIL ICQ   Вверх
Romikgy
Дата 6.3.2006, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



Цитата(Dark Elf @ 6.3.2006, 14:22 Найти цитируемый пост)
GUI

или
Цитата(Dark Elf @ 6.3.2006, 14:22 Найти цитируемый пост)
программа консольная

smile
Цитата(JENNIE @ 6.3.2006, 14:49 Найти цитируемый пост)
Я могу проектик переслать ..

прикрепи к сообщению, если не большое


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
JENNIE
Дата 6.3.2006, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

Репутация: нет
Всего: нет




я не знаю, чего там smile ... не скажу, что глупая, просто не понимаю пока ничего ... а проектик ... 2 мега


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


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

Репутация: 1
Всего: 26



JENNIE, у тебя при запуске программы должно появлятся такое черное окошечко или прощне говоря dos окно(если это так,то это консольная программа),а если такое серенькое,напоминающее к примеру калькулятор,то это уже с использованием форм.Может теперь яснее стало smile


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
JENNIE
Дата 6.3.2006, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

Репутация: нет
Всего: нет



nikitao , Да, ясно ). Так вот - не консольное )))
Да там можно переделать! я уверена! ... только, правда, не знаю как... там библиотеки, что ли, разные...
А в основном-то прога universal ))) , так сказать ))
Возьмется кто-нить? Как подарок мне на 8ое марта ? ))

PM MAIL ICQ   Вверх
_hunter
Дата 6.3.2006, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



ясен пень что переделать можно...
ты код выкладывай -- может кому-нить делать будет нефиг -- отпортирует



--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Romikgy
Дата 6.3.2006, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



Цитата(JENNIE @ 6.3.2006, 15:05 Найти цитируемый пост)
а проектик ... 2 мега

Исходного текста ? smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
JENNIE
Дата 6.3.2006, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

Репутация: нет
Всего: нет



ну ... я ламер ))) 2 мега - папочка, в которой все лежит smile
PM MAIL ICQ   Вверх
Romikgy
Дата 6.3.2006, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



файлы *.cpp & *.h(pp) & *.bpr & *.dfm , собери в архив, и посмотри сколько весить будет , если немного , цепляй к сообщению


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
JENNIE
Дата 6.3.2006, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

Репутация: нет
Всего: нет



Код

//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "form_main.h"

// одна из последующих трех строк должна быть незакомментирована
#define FIRST            // непараметризованные классы
//#define SECOND            // параметризованные классы
//#define THIRD            // с помощью STL

#ifdef FIRST
#include "list.h"
#endif

#ifdef SECOND
#include "list_template.h"
#endif

#ifdef THIRD
#include "list_stl.h"
#endif

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMainForm *MainForm;

#ifdef FIRST
list lst;
#endif

#ifdef SECOND
list<int> lst;
#endif

#ifdef THIRD
listSTL<int> lst;
#endif

//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FirstBtnClick(TObject *Sender)
{
    lst.first();
    display();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::LastBtnClick(TObject *Sender)
{
    lst.last();
    display();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::PrevBtnClick(TObject *Sender)
{
    lst.prev();
    display();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::NextBtnClick(TObject *Sender)
{
    lst.next();
    display();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::InsertBtnClick(TObject *Sender)
{
    lst.ins();
    display();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::DeleteBtnClick(TObject *Sender)
{
    lst.del();
    display();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::SortBtnClick(TObject *Sender)
{
    lst.sort();
    display();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ExitBtnClick(TObject *Sender)
{
    Close();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::display(void)
{
    NodesList->Clear();

#ifndef THIRD
    if (lst.getcurr()) {
#endif

#ifdef FIRST
        node* temp = lst.getcurr();
#endif

#ifdef SECOND
        node<int>* temp = lst.getcurr();
#endif

#ifndef THIRD
        int i = 0;
        lst.first();
        while (lst.getcurr()->getnext()) {
            NodesList->Items->Add(AnsiString(*lst.getcurr()->getvalue()));

            if (lst.getcurr() == temp) NodesList->Selected[i] = true;
            i++;

            lst.next();
        }
        NodesList->Items->Add(AnsiString(*lst.getcurr()->getvalue()));
        if (lst.getcurr() == temp) NodesList->Selected[i] = true;

        lst.first();
        while (lst.getcurr() != temp) lst.next();
    }
#endif

#ifdef THIRD
    list<int>::iterator display_iter = lst.lst.begin();
    for (int i = 0; i < lst.lst.size(); i++) {
        NodesList->Items->Add(AnsiString(*display_iter));
        if (lst.iter == display_iter) NodesList->Selected[i] = true;
        display_iter++;
    }
#endif
}
//---------------------------------------------------------------------------








Код

#include <stdlib.h>

// класс элемента двунаправленного списка
template <class T> class node {
private:
    node<T>* _prev;    // ссылка на предыдущий элемент
    node<T>* _next;    // ссылка на следующий элемент
    T* _value;    // ссылка на значение (в данном случае - целое число)

public:
    node(void) { _prev = NULL; _next = NULL; _value = new T; *_value = rand(); }
    ~node(void) { delete _value; }

    void setprev(node<T>* newprev) { _prev = newprev; }
    void setnext(node<T>* newnext) { _next = newnext; }
    void setvalue(T* newvalue) { _value = newvalue; }

    node<T>* getprev(void) { return _prev; }
    node<T>* getnext(void) { return _next; }
    T* getvalue(void) { return _value; }
};

// класс двунаправленного списка
template <class T> class list {
private:
    node<T>* _head;    // ссылка на начальный элемент списка
    node<T>* _tail;    // ссылка на последний элемент списка
    node<T>* _curr;    // ссылка на текущий элемент списка

public:
    list(void) { _head = NULL; _tail = NULL; _curr = NULL; }
    ~list(void) { while (_curr) del(); }

    // функция сдвигает указатель на один элемент ближе к началу
    void prev(void) { if (_curr != _head) _curr = _curr->getprev();    }

    // функция сдвигает указатель на один элемент ближе к концу
    void next(void) { if (_curr != _tail) _curr = _curr->getnext(); }

    // функция устанавливает указатель на начало списка
    void first(void) { _curr = _head; }

    // ... на конец списка
    void last(void) { _curr = _tail; }

    node<T>* getcurr(void) { return _curr; }

    // создает элемент и вставляет его после текущего элемента,
    // если список не был пуст
    void ins(void);

    // удаляет текущий элемент, новым текущим элементом становится
    // предшествующий удаленному, если был удален не первый элемент,
    // в противном случае - последующий элемент
    void del(void);

    // сортирует список по возрастанию значений
    void sort(void);
};


template <class T> void list<T>::ins(void) {
    node<T>* newnode = new node<T>;    // создаем новый элемент списка
    node<T>* prevnode = _curr;        // указатель на элемент, после которого вставляем
    node<T>* nextnode = NULL;        // указатель на элемент, перед которым вставляем

    if (prevnode) nextnode = prevnode->getnext();

    // если вставляем между двумя элементами
    if (prevnode && nextnode) {
        prevnode->setnext(newnode);
        nextnode->setprev(newnode);
        newnode->setprev(prevnode);
        newnode->setnext(nextnode);
    }

    // если вставляем в конец списка
    if (prevnode && !nextnode) {
        prevnode->setnext(newnode);
        newnode->setprev(prevnode);
        _tail = newnode;
    }

    // если вставляем в начало списка
    if (!prevnode && nextnode) {
        nextnode->setprev(newnode);
        newnode->setnext(nextnode);
        _head = newnode;
    }

    // если вставляем в пустой список первый элемент
    if (!prevnode && !nextnode) {
        _head = newnode;
        _tail = newnode;
    }

    // вставленный элемент становится текущим элементом списка
    _curr = newnode;
}

template <class T> void list<T>::del(void) {
    // удаляемый элемент - это текущий элемент
    node<T>* delnode = _curr;

    // если список не пустой
    if (delnode) {
        node<T>* prevnode = delnode->getprev();    // указатель на предыдущий элемент
        node<T>* nextnode = delnode->getnext();    // указатель на следующий элемент

        // если удаляем между двумя элементами
        if (prevnode && nextnode) {
            prevnode->setnext(nextnode);
            nextnode->setprev(prevnode);
            _curr = prevnode;
        }

        // если удаляем из конца списка
        if (prevnode && !nextnode) {
            prevnode->setnext(NULL);
            _curr = prevnode;
            _tail = prevnode;
        }

        // если удаляем из начала списка
        if (!prevnode && nextnode) {
            nextnode->setprev(NULL);
            _curr = nextnode;
            _head = nextnode;
        }

        // если удаляем единственный элемент списка
        if (!prevnode && !nextnode) {
            _curr = NULL;
            _head = NULL;
            _tail = NULL;
        }

        delete delnode;
    }
}

template <class T> void list<T>::sort(void) {
    // если есть хотя бы два элемента в списке
    if (_head != _tail) {
        T* temp;
        first();
        do {
            if (*_curr->getvalue() > *_curr->getnext()->getvalue()) {
                // следующие три строки - обмен указателями на данные между
                // двумя соседними элементами, стоящими не по возрастанию
                temp = _curr->getvalue();
                _curr->setvalue(_curr->getnext()->getvalue());
                _curr->getnext()->setvalue(temp);
                first();
            } else next();
        } while (_curr != _tail);
    }
    // после сортировки списка текущим элементом становится последний элемент
}





Код

#include <stdlib.h>
#include <list.h>

// класс двунаправленного списка на основе STL
template <class T> class listSTL {
public:
    list<T> lst;                // список STL
    list<T>::iterator iter;        // итератор этого списка

    listSTL(void) { iter = lst.begin(); }

    // функция сдвигает указатель на один элемент ближе к началу
    void prev(void) { if (iter != lst.begin()) iter--; }

    // функция сдвигает указатель на один элемент ближе к концу
    void next(void) { if (iter != --lst.end()) iter++; }

    // функция устанавливает указатель на начало списка
    void first(void) { iter = lst.begin(); }

    // ... на конец списка
    void last(void) { iter = --lst.end(); }

    // создает элемент и вставляет его после текущего элемента,
    // если список не был пуст, текущим становится новый элемент
    void ins(void);

    // удаляет текущий элемент, новым текущим элементом становится
    // предшествующий удаленному, если был удален не первый элемент,
    // в противном случае - последующий элемент
    void del(void);

    // сортирует список по возрастанию значений
    void sort(void);
};


template <class T> void listSTL<T>::ins(void) {
    lst.insert(++iter, rand());
    iter--;
}

template <class T> void listSTL<T>::del(void) {
    if (lst.size()) lst.erase(iter--);
    if (iter == lst.end()) iter = lst.begin();
}

template <class T> void listSTL<T>::sort(void) {
    lst.sort();
}




Код

#include <stdlib.h>

// класс элемента двунаправленного списка
template <class T> class node {
private:
    node<T>* _prev;    // ссылка на предыдущий элемент
    node<T>* _next;    // ссылка на следующий элемент
    T* _value;    // ссылка на значение (в данном случае - целое число)

public:
    node(void) { _prev = NULL; _next = NULL; _value = new T; *_value = rand(); }
    ~node(void) { delete _value; }

    void setprev(node<T>* newprev) { _prev = newprev; }
    void setnext(node<T>* newnext) { _next = newnext; }
    void setvalue(T* newvalue) { _value = newvalue; }

    node<T>* getprev(void) { return _prev; }
    node<T>* getnext(void) { return _next; }
    T* getvalue(void) { return _value; }
};

// класс двунаправленного списка
template <class T> class list {
private:
    node<T>* _head;    // ссылка на начальный элемент списка
    node<T>* _tail;    // ссылка на последний элемент списка
    node<T>* _curr;    // ссылка на текущий элемент списка

public:
    list(void) { _head = NULL; _tail = NULL; _curr = NULL; }
    ~list(void) { while (_curr) del(); }

    // функция сдвигает указатель на один элемент ближе к началу
    void prev(void) { if (_curr != _head) _curr = _curr->getprev();    }

    // функция сдвигает указатель на один элемент ближе к концу
    void next(void) { if (_curr != _tail) _curr = _curr->getnext(); }

    // функция устанавливает указатель на начало списка
    void first(void) { _curr = _head; }

    // ... на конец списка
    void last(void) { _curr = _tail; }

    node<T>* getcurr(void) { return _curr; }

    // создает элемент и вставляет его после текущего элемента,
    // если список не был пуст
    void ins(void);

    // удаляет текущий элемент, новым текущим элементом становится
    // предшествующий удаленному, если был удален не первый элемент,
    // в противном случае - последующий элемент
    void del(void);

    // сортирует список по возрастанию значений
    void sort(void);
};


template <class T> void list<T>::ins(void) {
    node<T>* newnode = new node<T>;    // создаем новый элемент списка
    node<T>* prevnode = _curr;        // указатель на элемент, после которого вставляем
    node<T>* nextnode = NULL;        // указатель на элемент, перед которым вставляем

    if (prevnode) nextnode = prevnode->getnext();

    // если вставляем между двумя элементами
    if (prevnode && nextnode) {
        prevnode->setnext(newnode);
        nextnode->setprev(newnode);
        newnode->setprev(prevnode);
        newnode->setnext(nextnode);
    }

    // если вставляем в конец списка
    if (prevnode && !nextnode) {
        prevnode->setnext(newnode);
        newnode->setprev(prevnode);
        _tail = newnode;
    }

    // если вставляем в начало списка
    if (!prevnode && nextnode) {
        nextnode->setprev(newnode);
        newnode->setnext(nextnode);
        _head = newnode;
    }

    // если вставляем в пустой список первый элемент
    if (!prevnode && !nextnode) {
        _head = newnode;
        _tail = newnode;
    }

    // вставленный элемент становится текущим элементом списка
    _curr = newnode;
}

template <class T> void list<T>::del(void) {
    // удаляемый элемент - это текущий элемент
    node<T>* delnode = _curr;

    // если список не пустой
    if (delnode) {
        node<T>* prevnode = delnode->getprev();    // указатель на предыдущий элемент
        node<T>* nextnode = delnode->getnext();    // указатель на следующий элемент

        // если удаляем между двумя элементами
        if (prevnode && nextnode) {
            prevnode->setnext(nextnode);
            nextnode->setprev(prevnode);
            _curr = prevnode;
        }

        // если удаляем из конца списка
        if (prevnode && !nextnode) {
            prevnode->setnext(NULL);
            _curr = prevnode;
            _tail = prevnode;
        }

        // если удаляем из начала списка
        if (!prevnode && nextnode) {
            nextnode->setprev(NULL);
            _curr = nextnode;
            _head = nextnode;
        }

        // если удаляем единственный элемент списка
        if (!prevnode && !nextnode) {
            _curr = NULL;
            _head = NULL;
            _tail = NULL;
        }

        delete delnode;
    }
}

template <class T> void list<T>::sort(void) {
    // если есть хотя бы два элемента в списке
    if (_head != _tail) {
        T* temp;
        first();
        do {
            if (*_curr->getvalue() > *_curr->getnext()->getvalue()) {
                // следующие три строки - обмен указателями на данные между
                // двумя соседними элементами, стоящими не по возрастанию
                temp = _curr->getvalue();
                _curr->setvalue(_curr->getnext()->getvalue());
                _curr->getnext()->setvalue(temp);
                first();
            } else next();
        } while (_curr != _tail);
    }
    // после сортировки списка текущим элементом становится последний элемент
}



Код

#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>

//---------------------------------------------------------------------------
class TMainForm : public TForm
{
__published:    // IDE-managed Components
    TButton *FirstBtn;
    TButton *PrevBtn;
    TButton *NextBtn;
    TButton *LastBtn;
    TButton *InsertBtn;
    TButton *DeleteBtn;
    TButton *SortBtn;
    TListBox *NodesList;
    TButton *ExitBtn;
    void __fastcall FirstBtnClick(TObject *Sender);
    void __fastcall LastBtnClick(TObject *Sender);
    void __fastcall PrevBtnClick(TObject *Sender);
    void __fastcall NextBtnClick(TObject *Sender);
    void __fastcall InsertBtnClick(TObject *Sender);
    void __fastcall DeleteBtnClick(TObject *Sender);
    void __fastcall SortBtnClick(TObject *Sender);
    void __fastcall ExitBtnClick(TObject *Sender);
private:    // User declarations
public:        // User declarations
    __fastcall TMainForm(TComponent* Owner);

    void __fastcall display(void);

};
//---------------------------------------------------------------------------
extern PACKAGE TMainForm *MainForm;
//---------------------------------------------------------------------------
#endif




Вот! выложила )))
Добавлено @ 17:51
ну... вот ... )

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  _____.rar 4,99 Kb
PM MAIL ICQ   Вверх
Romikgy
Дата 6.3.2006, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



Цитата(JENNIE @ 6.3.2006, 16:45 Найти цитируемый пост)
Вот! выложила )))

Это хорошо вот только еще бы написала названия этих файлов
PS имхо ничего сложного , только под рукой нет визуал студии, если никто не поможет, то возьму домой и помогу осилить smile
Добавлено @ 18:02
Цитата(Romikgy @ 6.3.2006, 16:44 Найти цитируемый пост)
*.dfm

и bpr небыло файлов?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
JENNIE
Дата 6.3.2006, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

Репутация: нет
Всего: нет



Romikgy, спасибо )

PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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