Список форумов Шадринский форум -> Программирование -> Общие вопросы программирования -> Преподавание программирования
Начать новую тему   Ответить на тему   вывод темы на печать

Преподавание программирования

Автор
Сообщение
villain
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 26.11.2004
Сообщения: 78
Откуда: Shadrinsk

Статус: Offline
СообщениеДобавлено: 2005.03.22 20:17.30
Ответить с цитатой
А как написать простую программу под Windows с оболочкой, чтобы на неё нажать два раза и она запустилась. Это возможно?
Посмотреть профиль Отправить личное сообщение
vladislav
Запомнил кнопки...



Зарегистрирован: 04.02.2005
Сообщения: 147


Статус: Offline
СообщениеДобавлено: 2005.03.22 20:19.50
Ответить с цитатой
Вы имеете в виду с графическим окном?
Посмотреть профиль Отправить личное сообщение
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2005.03.22 20:32.46
Ответить с цитатой
villain писал(а):
А как написать простую программу под Windows с оболочкой, чтобы на неё нажать два раза и она запустилась. Это возможно?
Ржу может тебе чемнить другим заняться?

хотяяя... сколько тебе лет?
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
vladislav
Запомнил кнопки...



Зарегистрирован: 04.02.2005
Сообщения: 147


Статус: Offline
СообщениеДобавлено: 2005.03.22 20:40.30
Ответить с цитатой
Уважаемый villain не обращайте внимание на выпады, на форумах это обычное дело. Продолжим беседу.
Посмотреть профиль Отправить личное сообщение
villain
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 26.11.2004
Сообщения: 78
Откуда: Shadrinsk

Статус: Offline
СообщениеДобавлено: 2005.03.22 21:28.52
Ответить с цитатой
Ну да, с графическим окном, просто я ещё в этом не разбираюсь, но очень хочу разобраться. Я хотел бы попробовать скомпилировать такую программу которая бы была с графическим окном, то есть, при нажатии на неё два раза, она запускалась как все программы, что бы ее не нужно было открывать через far и хотел бы посмотреть как она работает просто для примера, что бы было понятно какие программы можно делать на языке Visual С++ .NET
Посмотреть профиль Отправить личное сообщение
vladislav
Запомнил кнопки...



Зарегистрирован: 04.02.2005
Сообщения: 147


Статус: Offline
СообщениеДобавлено: 2005.03.22 21:48.36
Ответить с цитатой
Да продукт называется Visual С++ .NET, но здесь одна тонкость. На самом деле здесь два продукта: Visual С++ .NET и Visual C++.
.NET или dot net это новая технология, которую продвигает Microsoft. Для программ, написанных с помощью этой технологии необходима среда выполнения. Если вы установили у себя Visual Studio, то среда установилась автоматически. Вообще на диске со студией должна быть программа dotnetfx.exe, она и устанавливает эту среду. Это просто к сведению.
Но вы то имели в виду, наверное, другое. Обычные Windows-программы. Лучше всего воспользоваться тем, шаблоном который предлагает мастер. Выберите шаблон win32 и мастер сделает вам приложение с минимальной функциональностью, по которому вы сможете изучать структуру приложения.
Посмотреть профиль Отправить личное сообщение
mоishe
Гость







Статус: Offline
СообщениеДобавлено: 2005.03.22 21:49.18
Ответить с цитатой
#include <windows.h>

int WINAPI WinMain(HINSTANCE hi,HINSTANCE phi,LPSTR cmd,int ncmd) {
MessageBox(NULL,"Вы из Эстонии, да?","Вопрос на засыпку",MB_YESNO|MB_SETFOREGROUND|MB_ICONQUESTION);
return(0);
}


Рекомендую http://firststeps.ru/ - там много информации и примеров.
vladislav
Запомнил кнопки...



Зарегистрирован: 04.02.2005
Сообщения: 147


Статус: Offline
СообщениеДобавлено: 2005.03.22 21:51.43
Ответить с цитатой
Не плохо. Я о таком приложении даже и не подумал.
Посмотреть профиль Отправить личное сообщение
villain
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 26.11.2004
Сообщения: 78
Откуда: Shadrinsk

Статус: Offline
СообщениеДобавлено: 2005.03.22 22:56.51
Ответить с цитатой
vladislav у вас на сайте и в вашей книге программирование на Visual C++.NET. Написано Для начала Вы можете разобрать следующую маленькую программу.

void main()
{
int a[10], b[10], i;
for(i=0; i<10; i++)
{
a[i]=10; b[i]=15;
printf(“%d\n %d\n”,a[i],b[i]);
}
}

это и есть программа? она работает? Да кажется я сам сдесь запутался надо мне разобраться.
Посмотреть профиль Отправить личное сообщение
vladislav
Запомнил кнопки...



Зарегистрирован: 04.02.2005
Сообщения: 147


Статус: Offline
СообщениеДобавлено: 2005.03.23 19:31.31
Ответить с цитатой
Уважаемый vilain, пример который вы привели, это не пример программирования. В книге я его привел по другому поводу. Я просто хотел сравнить возможности оптимизатора программ Visual C и C Builder. Так вот компилятор C Builder не распознал подвоха (во всяком случае той версии, которую я проверял), а Visual C очень легко понял, что к чему и просто удалил не нужный массив. Так что это не пример программирования, во всяком случае не пример хорошего программирования.
Посмотреть профиль Отправить личное сообщение
villain
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 26.11.2004
Сообщения: 78
Откуда: Shadrinsk

Статус: Offline
СообщениеДобавлено: 2005.03.23 22:05.36
Ответить с цитатой
Сложный язык C++? vladislav вы много написали программ на С++? у вас ведь есть самая лучшая программа на C++ ? выложите её пожалуйста или мини игра на C++ или что-нибудь подобное только на С++ спасибо.

Последний раз редактировалось: villain (2005.03.23 22:11.31), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение
Slin
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 17.12.2004
Сообщения: 1869


Статус: Offline
СообщениеДобавлено: 2005.03.23 22:10.58
Ответить с цитатой
очень сложный...
Посмотреть профиль Отправить личное сообщение ICQ Number
vladislav
Запомнил кнопки...



Зарегистрирован: 04.02.2005
Сообщения: 147


Статус: Offline
СообщениеДобавлено: 2005.03.23 22:59.50
Ответить с цитатой
Для vilain.
Посьба, конечно, немного наивная. Объясню почему. Учиться писать по достаточно большой программе достаточно бессмысленно. Лучше писать свои не большие программы, а потом можно переходить к средним и так далее. а маленькие программы - кто их хранит.
Я достаточно много писал на Си. Но к Си я пришел уже после Паскаля, а до этого был еще Бэйсик, а до него был Фортран. Ну и Ассемблер идет со мной уже много лет. Что касается Си. Больших программ для Windows я писал не так уж много. В 97-99 годах я написал достаточно большую программу - 16 тыс. строк. Программа осущестляла поиск ресурсов в локальной сети и выполнения определнного набора операций над ними. Сама идея мне кажется вполне актуальной. Во всяком случае программ с подобной идеей я еще не встречал (кстати xdsl эту программу видел). Писал я ее на C Borland 5.00, тогда к этой фирме я еще относился хорошо. Не давно мне пришла мысль перевести эту программу на Visual C и доработать ее. Но когда я стал смотреть текст программы, желание у меня пропало. Вот как я сейчас смотрю на программирование, мне кажется тот текст очень плохой. Хотя все работало. И я сейчас его уже стыжусь. Да и какой вам толк от 16 тыс. строк.
Конечно, есть какие-то программы и поменьше, но это не правильный путь. Если вы действительно хотите научиться программировать на Си++, то я с удовольствием буду вас консультировать или на форуме или по почте. Кстати один студент с первого курса занимается на Си, я время от времени слежу за его успехами. Присоединяйтесь. Можете ко мне в институте подойти.
Посмотреть профиль Отправить личное сообщение
villain
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 26.11.2004
Сообщения: 78
Откуда: Shadrinsk

Статус: Offline
СообщениеДобавлено: 2005.03.23 23:33.22
Ответить с цитатой
vladislav большое спасибо за то, что вы мне уделяете время, да я действительно хочу научиться программировать на С++ и с удовольствием буду у вас консультироваться если вас это не затруднит. Вы не могли бы дать свой Е-mail?
Посмотреть профиль Отправить личное сообщение
vladislav
Запомнил кнопки...



Зарегистрирован: 04.02.2005
Сообщения: 147


Статус: Offline
СообщениеДобавлено: 2005.03.24 10:09.34
Ответить с цитатой
Конечно pirogov@shadrinsk.net
Посмотреть профиль Отправить личное сообщение
mоishe
Гость







Статус: Offline
СообщениеДобавлено: 2005.03.24 14:26.00
Ответить с цитатой
vladislav писал(а):
я написал достаточно большую программу - 16 тыс. строк. Программа осущестляла поиск ресурсов в локальной сети и выполнения определнного набора операций над ними.
Ух ты! Можно подробнее, что она такого делала, что понадобилось 16 000 строк? (Никакой иронии! Я вот написал вполне вменяемый веб-сервер (пользуясь только WinAPI и winsock), так он только 1600 строк.)
vladislav
Запомнил кнопки...



Зарегистрирован: 04.02.2005
Сообщения: 147


Статус: Offline
СообщениеДобавлено: 2005.03.24 17:27.18
Ответить с цитатой
Ну, ну, а веб-сервер то причем. Загляни на wasm.ru там на ассемблере web-сервер и еще меньше строк.
И вообще, в простейшем случае, это достаточно примитивная программа. Вы вот полноценный веб-браузер напиши с интерпретором java script, тогда я посмотрю хаватит ли тебе 16000 строк.
Посмотреть профиль Отправить личное сообщение
mоishe
Гость







Статус: Offline
СообщениеДобавлено: 2005.03.24 20:06.34
Ответить с цитатой
Веб-сервер не при чем, конечно, я и на перле веб-сервер видел, о-очень компактный. (Справедливости ради, у меня был далеко не самый простейший случай.) Мне правда интересно, что делает программа в 16000 строк. Расскажете?
vladislav
Запомнил кнопки...



Зарегистрирован: 04.02.2005
Сообщения: 147


Статус: Offline
СообщениеДобавлено: 2005.03.24 20:45.22
Ответить с цитатой
Вообще вы видимо не писали больших прикладных проектов, поэтому вас это удивило. Хороший прикладной проект, бухгалтерский, кадры и т.п. занимает не менее 20 тыс. строк. И это еще мало. И связано это с обилием различных функций, операций, сервисов, решения проблем безопасности и и т.п.
А что делала эта программа. Вот кратко:

1. Осуществление поиска файлов и каталогов по различным параметрам на локальных дисках, в архивах, а также сетевых ресурсах, к которым она могла автоматически подключаться, находя их в сети.
2. Для программы был предусмотрен простейший макро язык, с помощью которого можно было писать сценарии поиска и выполнения различных команда над найденными файлами. Можно было выполнять пакеты сценариев.
Программа могла сидеть тихо и в фоновом режиме проверять сеть, осущестлвляя какие-то действия. В принципе там было довольно много различных функций, о которых в общем то мне уже не интересно говорить. Сейчас бы я ее сделал немного по другому и написал бы на Visual C. Мечта, однако, остается.
Посмотреть профиль Отправить личное сообщение
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2005.03.24 20:51.12
Ответить с цитатой
по-видимому, moisha таки писал проекты... а чего вы как детишки - пиписьками меряетесь, у кого больше строк?
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
vladislav
Запомнил кнопки...



Зарегистрирован: 04.02.2005
Сообщения: 147


Статус: Offline
СообщениеДобавлено: 2005.03.24 20:54.32
Ответить с цитатой
Это точно. По детски.
Посмотреть профиль Отправить личное сообщение
moishe
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1668


Статус: Offline
СообщениеДобавлено: 2005.03.25 07:42.05
Ответить с цитатой
"Большой" - понятие относительное. А писать Бухгалтерию/Кадры на С, по-моему, сомнительное удовольствие. Именно потому, что тогда без 20 000 строк, пожалуй, не обойтись.
vladislav писал(а):
Программа осущестляла поиск ресурсов в локальной сети и выполнения определнного набора операций над ними.
Это меня и удивило. Как то не увязывается масштаб решаемых проблем с объемом выполненной работы. Поэтому я предположил, что в программу был заложен некий избыточный потенциал. Мне стало интересно, что это за потенциал, я и спросил.

vladislav писал(а):
Вы вот полноценный веб-браузер напиши с интерпретором java script, тогда я посмотрю хаватит ли тебе 16000 строк.
Можете спокойно обращаться ко мне на "ты", я не обижусь. Веб-браузер не интересно писать - их и так много, хороших и разных. (Вот веб-сервер мне действительно был нужен, из имеющихся я не смог подобрать ничего подходящего к поставленной задаче.) Я сейчас пишу графического клиента для PostgreSQL с хранением "метаданных" на сервере и встроенным скриптовым языком. Обещаю уложиться в 5000 строк. Потом возьмусь за среду разработки под этого клиента.
Пожалуй, рано проанонсировал - ничего толком еще не готово, ну да ладно.

P.S. А есть у кого-нибудь libpq.dll свежая? Поделитесь, а то у меня она на 2 года старше сервера, удивляюсь, как еще работает.
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
vladislav
Запомнил кнопки...



Зарегистрирован: 04.02.2005
Сообщения: 147


Статус: Offline
СообщениеДобавлено: 2005.03.25 08:51.53
Ответить с цитатой
Хоть PostgreSQL я и не интересуюсь, но задача наверное интересная. Нельзя ли по подробнее о клиенте. Под клиентом ведь обычно понимается программа, выполняющая конкретные прикладные задачи, а здесь, как я понимаю, речь идет о возможностях администрирования сервера или я не так понял.
Посмотреть профиль Отправить личное сообщение
moishe
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1668


Статус: Offline
СообщениеДобавлено: 2005.03.25 10:44.26
Ответить с цитатой
Да, клиент - для прикладных задач. Для администрирования из-под Windows есть pgAdmin, из-под Linux pgAccess - вполне удовлетворяют. Идея такая: заводим в базе отдельную схему (это там как-бы каталог для таблиц), в которой описываем т.н. "метаданные" (прижилось словцо от 1С) - то есть описания всех меню, панелей инструментов, форм, отчетов, и т.п. А мой клиент должен все это собрать, переварить и превратить в визуальную форму. Ну и язык нужен, понятно. Приходилось вам в MS Access'e приложения создавать? Мне - да. Кое-что очень даже понравилось. Вот, решил сделать что-то типа того, но в качестве хранилища данных решил взять Postgres (не только хранилище, кстати, полноценный SQL сервер), язык свой придумал, потому что 1) готовый язык мне в полной мере не поддержать, и 2) свой я заточил под удобсто (=> скорость) прямой интерпретации, к тому же 3) свой я могу расширять по мере надобности и приспосабливать под конкретные нужды.

Вопрос: зачем мне это надо? Очень просто: нигде не нашел графического клиента, который бы меня устроил. Можно, конечно, подождать, пока кто-нибудь что-нибудь напишет, да ждать уже, честно говоря, надоело.
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2005.03.25 11:03.34
Ответить с цитатой
какая разница, какую БД использовать?
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
mоishe
Гость







Статус: Offline
СообщениеДобавлено: 2005.03.25 15:03.52
Ответить с цитатой
Не понял вопроса. Для реализации определенного проекта БД подбирается по потребностям. Нет, правда не понял.
Гость








Статус: Offline
СообщениеДобавлено: 2005.03.25 15:11.30
Ответить с цитатой
А-а-а... Наверно, имелось в виду: Почему ты говоришь "клиент для Postgres'a", можно же универсального написать, какая разница, где "метаданные" хранить?
Отвечаю: я использую "родную" клиентскую библиотеку Postgres'a (libqp), соответственно, внутри клиента обращаюсь к ее функциям. Можно и универсального сделать, но это потом когда-нибудь. А пока с чего-то надо же начать - я выбрал Postgres. Можно, конечно, было на ODBC нацелиться, но...
villain
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 26.11.2004
Сообщения: 78
Откуда: Shadrinsk

Статус: Offline
СообщениеДобавлено: 2005.03.25 16:01.42
Ответить с цитатой
vladislav купил вашу книгу Программирование на Visual С++.NET, книга хорошая, но сложновато в ней разобраться. Пожалуйста напишите мне простую программу для изучения. Типа такой: запускаю, на экране кнопка, на кнопке надпесь. "Нажми!" Нажимаю эту кнопку мышкай, появляется надпесь "Привет Мир!".
Посмотреть профиль Отправить личное сообщение
vladislav
Запомнил кнопки...



Зарегистрирован: 04.02.2005
Сообщения: 147


Статус: Offline
СообщениеДобавлено: 2005.03.28 17:16.11
Ответить с цитатой
Дело в том, что в этой книге подобные программы есть. Вот пример такой программы. Окно без кнопки с простейшей функциональностью. Попробуйте в этом разобраться, а потом дальше двинемся.

#include <windows.h>

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
char cname[]="Class";
char title[]="Наше первое окно";
MSG msg;

//структура для регистрации класса окон
WNDCLASS wc;
wc.style = 0;
wc.lpfnWndProc = (WNDPROC)WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName = 0;
wc.lpszClassName = cname;
//регистрируем класс
if(!RegisterClass(&wc)) return 0;
//создать окно
HWND hWnd = CreateWindow(
cname, //класс
title, //заголовок
WS_OVERLAPPEDWINDOW, //стиль окна
0, //координата X
0, //координата Y
500, //ширина окна
300, //высота окна
NULL, //дескриптор окна-родителя
NULL, //дескриптор меню
hInstance, //идентификатор приложения
NULL); //указатель на структуру, посылаемую
//по сообщению WM_CREATE
//проверим, создалось ли окно
if (!hWnd) return 0;
//показать окно
ShowWindow(hWnd, nCmdShow);
//обновить содержимое окна
UpdateWindow(hWnd);

//цикл обработки сообщений
while (GetMessage(&msg, NULL, 0, 0))
{
//транслировать коды виртуальных клавиш в ASCII-коды
TranslateMessage(&msg);
//переправить сообщение процедуре окна
DispatchMessage(&msg);
}

return 0;
};

//процедура окна
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
//сообщение при создании окна
case WM_CREATE:
break;
//сообщение при закрытии окна
case WM_DESTROY:
//необходимо, чтобы выйти из цикла обработки сообщений
PostQuitMessage(0);
break;
//сообщение приходящее при перерисовки окна
case WM_PAINT:
break;
//возврат не обработанных сообщений
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
Посмотреть профиль Отправить личное сообщение
villain
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 26.11.2004
Сообщения: 78
Откуда: Shadrinsk

Статус: Offline
СообщениеДобавлено: 2005.03.28 19:16.24
Ответить с цитатой
vladislav я в програмировании начинающий и хотелбы задать глупый вопрос, а куда этот текст надо вставить чтобы посмотреть пример, желательно по подробней.
Посмотреть профиль Отправить личное сообщение
Страница 3 из 5
Начать новую тему   Ответить на тему   вывод темы на печать
На страницу Пред.  1, 2, 3, 4, 5  След.
Показать сообщения:   
Список форумов Шадринский форум -> Программирование -> Общие вопросы программирования -> Преподавание программирования

 
Перейти: 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы