Вопрос № 100180: Доброе время суток эксперты!
Недавно заметил что моя программа скомпилированна с RunTime Packages. Убрал галочку и почему-то стали вылезать ошибки. (В приложении) Скажите как побороть?
BDS 2006....Вопрос № 100213: Привет всем!
Пишу программу удаленного администрирования научился пользоваться winsock, вопрос как в таких программах реализуется такая вещь как получение дерева каталогов клиентом с сервера?...Вопрос № 100257: Добрых Вам суток господа эксперты!!!!
Помогите разобраться в следуюющем вопросе, в общем дело в разных версиях VC++, компилирую Screen Saver под v.7 (2003) - Нормальйок, а под VC++ v.8 (2005)-ругается:
Error 1 error LNK2019: unresolved extern...Вопрос № 100277: Привет всем!
Как на c++ заставить приложение растягиваться на весь экран? Причём чтобы на мониторах с разным разрешением? При включении свойства fullscreen на других мониторах не работает......
Вопрос № 100.180
Доброе время суток эксперты!
Недавно заметил что моя программа скомпилированна с RunTime Packages. Убрал галочку и почему-то стали вылезать ошибки. (В приложении) Скажите как побороть?
BDS 2006.
Отвечает: Виктор Пырлик
Здравствуйте, Уваров Андрей Александрович!
Поставте галочку - Generate Underscores и Autodependency Information.
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Студент)
Ответ отправлен: 30.08.2007, 15:53
Вопрос № 100.213
Привет всем!
Пишу программу удаленного администрирования научился пользоваться winsock, вопрос как в таких программах реализуется такая вещь как получение дерева каталогов клиентом с сервера?
Отправлен: 30.08.2007, 09:57
Вопрос задал: Tatarin (статус: 2-ой класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Aristos
Здравствуйте, Tatarin!
Список файлов (и директорий, которая тоже является файлом) можно передать с сервера на клиент, как любой другой ресурс. Взаимодействие можно построить, например, по следующей схеме:
Клиент запрашивает список файлов для директории. (Передает родительскую директорию, маску поиска, атрибуты искомых файлов).
Сервер выполняет поиск и возвращает список файлов (имя, путь, атрибуты, иконка).
Клиент отображает ветку в дереве.
Далее, если необходимо повторяется для директорий.
Ответ отправил: Aristos (статус: 5-ый класс)
Ответ отправлен: 30.08.2007, 11:13
Отвечает: Баранов Владимир aka C4tnt
Здравствуйте, Tatarin!
Могу предложить весьма компактную схему для передчи каталогов и подкаталогов по единственному запросу (из минусов - резервированные комбинации байт)
Находим первую папку (или файл)
если это папка - заходим в неё, в файл пишем имя папки и после него INNER_STEP. Продолжаем поиск.
если это файл - ставим SEPARATOR и пишем имя файла
если папка или файл были последними - пишем OUTER_STEP и выходим из текущей папки.
Получим что-то вроде:
C: 0x01 WINNT 0x01 SYSTEM32 0x01 msimg.dll 0x02 0x02 GAMES 0x01 и так далее. (0x01 это символ с кодом 1, а пробелы добавлены для читаемости.)
Расшифровка на стороне клиента выглядит так:
Читаем текст до первого спец. знака и помещаем в корень дерева.
Если знак - 0x00 то мы прочитали название файла. Таким же образом читаем дальше.
Если знак - 0x01 то мы прочитали название папки. В этом месте вызываем расшифровщик рекурсивно и он строит поддерево начиная с этого места.
Если знак - 0x02 то функция завершает свою работу.
Особый случай - сразу при вызове функция читает 0x02. В этом случае нужно вернуть пустую ветку дерева.
Ещё одна подсказка: можете реализовать FTP протокол и качать файлы с сервера любым доступным FTP клиентом.
--------- Теперь к нашим ответам осталось лишь найти вопросы
Добрых Вам суток господа эксперты!!!!
Помогите разобраться в следуюющем вопросе, в общем дело в разных версиях VC++, компилирую Screen Saver под v.7 (2003) - Нормальйок, а под VC++ v.8 (2005)-ругается:
Error 1 error LNK2019: unresolved external symbol _ScreenSaverProc@16 referenced in function _RealScreenSaverProc@16 scrnsave.lib
Error 2 error LNK2019: unresolved external symbol __imp__InitCommonControlsEx@4 referenced in function _WinMainN@16 scrnsave.lib
И само собой :
Error 3 fatal error LNK1120: 2 unresolved externals C:AlexVC++ ProjectsssPhotoAlbumDebugssPhotoAlbum.exe
подозрение на параметры................
------------
Заранее благодарен Alexiod
или может не заморчиваться и поставить v.7 и всёёёёёёёёёёёёё!!!!!!!!!!!!
Отвечает: kool
Здравствуйте, Новак Александер Васильевич!
Скорее всего не может найти библиотеку (*.dll), в кот
содер-ся код ф-ции _ScreenSaverProc@16
Удачи!
--------- I am.
Ответ отправил: kool (статус: Практикант)
Ответ отправлен: 30.08.2007, 20:57
Отвечает: Maxim V.G.
Здравствуйте, Новак Александер Васильевич!
Попробуйте в свойствах проекта подключить scrnsave.lib, должно помоч.
--------- Жить вредно - от неё умирают
Ответ отправил: Maxim V.G. (статус: 4-ый класс)
Ответ отправлен: 31.08.2007, 14:23
Вопрос № 100.277
Привет всем!
Как на c++ заставить приложение растягиваться на весь экран? Причём чтобы на мониторах с разным разрешением? При включении свойства fullscreen на других мониторах не работает...
Отвечает: Баранов Владимир aka C4tnt
Здравствуйте, Попов Максим алексеевич!
ShowWindow(hWnd, SW_MAXIMIZE); - должна развернуть окно на весь экран независимо от его желания. При этом окно будет "максимизированно" и его можно будет свернуть до прежнего состояния.
SetWindowPos(hWnd,NULL,0,0,ScreenWidth,ScreenHeigth,SWP_NOZORDER); - Установит размеры и положение окна так, чтобы оно в нормальном состоянии занимало весь экран.
ScreenWidth и ScreenHeight - высота и ширина экрана соответственно. Их можно получить с
помощью следующего кода:
RECT Rect;
GetWindowRect(GetDesktopWindow(),&Rect);
ScreenWidth = Rect.right;
ScreenHeigth = Rect.bottom;
--------- Теперь к нашим ответам осталось лишь найти вопросы
Ответ отправил: Баранов Владимир aka C4tnt (статус: 4-ый класс)
Ответ отправлен: 30.08.2007, 20:30 Оценка за ответ: 5 Комментарий оценки: спасибо большое
Отвечает: Лис Иван
Здравствуйте, Попов Максим алексеевич!
Есть такая возможность узнать размеры экрана:
void CMyDlg::Function()
{
int right=GetSystemMetrics(SM_CXSCREEN);
int bottom=GetSystemMetrics(SM_CYSCREEN);
}
А можно узнать размер рабочей области экрана(т.е. экран минус панель задач)
RECT rect;
if(SystemParametersInfo(SPI_GETWORKAREA,0,&rect,0))
{
int x=rect.right;
int y=rect.bottom;
}
else
{
//не удалось получить размер рабочей области
}
Ответ отправил: Лис Иван (статус: 1-ый класс)
Ответ отправлен: 31.08.2007, 00:50
Отвечает: Shurka
Доброго времени. Можно например воспользоваться WINAPI - функцией
SetWindowPlacement
Ответ отправил: Shurka (статус: 2-ой класс)
Ответ отправлен: 31.08.2007, 06:51 Оценка за ответ: 5
Отвечает: Архипов Александр Леонидович
Здравствуйте, Попов Максим алексеевич!
Можно попробовать через свойство формы Align, см. прил. Если надо вернуть, то сначало надо запомнить текущие размеры и положение, а потом вернуть обратно.