Показать полную графическую версию : [решено] Delphi 2009. Поддержка сокетов.
tier_skg
16-02-2012, 22:58
Доброго времени суток! Я школьник, недавно участвовал в научно-практической конференции по информатике. Темой у меня являлась «Программа тестирования учащихся с сохранением данных на сервере». К несчастью выиграл в своем районе и в зональном этапе, теперь предстоит ехать на край. Программу я писал в Delphi 2009. Как работает программа:
1 . Приложение «Тест» устанавливается на компьютеры учеников.
2. Приложение « Сервер» ставиться соответственно на сервер. Открывается общий доступ к главной папке приложения «Сервер».
3. Учитель создает в папке vopros текстовые файлы с темами тестов , в них пишет название темы, какое-то кол-во вопросов и ответы к ним.
4. Ученики отвечают на тест.
5. Учитель открывает приложение «Сервер» и смотрит таблицы с оценками и если нужно печатает их.
Мне сказали что метод «расшаривания» папок небезопасен и любой ученик может залезть в файлы вопросы и посмотреть ответы, поэтому сказали использовать сокеты. В Delphi 2009 нет объектов TServerSocet и TClientSocet , а в поисковиках информация находится в основном по этим объектам. Сегодня нашел информацию о TIdTCPServer и TIdTCPClient, но информации мало, кто может прошу подсказать литературку о передачи файлов по сети.
Так же еще хочу сделать шифрование вопросов и отчетов, подскажите инфу об этом. В с++, в принципе то понятно, открываем файл как двоичную последовательность и исходя из пароля делаем преобразования . Как быть с дельфи? Там нет такого режима открытия данных.
Прошу не называть ШКОЛОЛО.. я знаю дельфи на нормальном уровне, а до сокетов просто руки не дошли))
Могу если нужно выложить программу в том виде в котором она сейчас и ее исходники
tier_skg, Могу если нужно выложить программу в том виде в котором она сейчас и ее исходники »
Выложите пожалуйста. Можно ссылку отправить личным сообщением. Я не знаю, насколько я смогу вам помочь, скорей всего отправлю читать справку.
Просто хочется посмотреть вменяемые работы школьников. Фоном, для справки: Имею опыт проведение лаб.работ по информатике в институте у первого курса, выводы не утешительные - общий уровень знаний падает. Соотв. если работа выходит на краевой уровень, то мне хочется на нее взглянуть.
И да, про справку - я серьезно. В Delphi достаточно хорошая справка и примеры программ.
На вскидку - данную (http://forum.vingrad.ru/forum/topic-290266/anchor-entry2089361/0.html) тему полюбопытствуйте.
Delirium
17-02-2012, 00:58
Мне сказали что метод «расшаривания» папок небезопасен и любой ученик может залезть в файлы вопросы и посмотреть ответы »
Пусть учат матчасть в области прав NTFS. Достаточно на папку дать право "Запись" без "Чтения" и "обзора содержимого папки". И получим в итоге папку, в которую все будут кидать что угодно, но вот прочесть уже нет. Своеобразный почтовый ящик, так сказать :)
tier_skg
17-02-2012, 02:32
Прикрепляю к сообщению скомпилированную 100% рабочию программу, только там чуть чуть недоделки с Tchart на сервере. Сейчас пытаюсь изучать TIbtcpclient\ TIbtcpserver, уже прогу написал которая выключает компы клиентов, по команде 'power_off' с сервера :yahoo: . Еще могу исходники скинуть. И текст самой работы т.е. как я разрабатывал ПО (сразу скажу, не интересно читать, особенно если вы профессионал в дельфи).
Соотв. если работа выходит на краевой уровень, то мне хочется на нее взглянуть.
Я вообще удивлен, что вышел на край , наверно сработло правило "За неимением королевы, пойдет и кухарка" . Вообщем сказали доработать, а в мае будет краевой этап.
Цитата tier_skg:Мне сказали что метод «расшаривания» папок небезопасен и любой ученик может залезть в файлы вопросы и посмотреть ответы » Пусть учат матчасть в области прав NTFS. Достаточно на папку дать право "Запись" без "Чтения" и "обзора содержимого папки". И получим в итоге папку, в которую все будут кидать что угодно, но вот прочесть уже нет. Своеобразный почтовый ящик, так сказать
Если честно, сам не знал, что так можно, знал только что есть атрибут "только для чтения" и все.., вопрос на будущее, где можно выставить "Запись" без "Чтения" и "обзора содержимого папки"?
tier_skg, Если честно, сам не знал, что так можно, знал только что есть атрибут "только для чтения" и все.., вопрос на будущее, где можно выставить "Запись" без "Чтения" и "обзора содержимого папки"? »
Во первых убрать птицу Папка - свойства - Содержимое - использовать простой доступ к файлам. (Пишу из под линукса, могу чуть ошибиться, но по смыслу то же) Документация MS (http://support.microsoft.com/kb/304040/ru) После этого появится более широкий список прав. Думаю разберешьси :)
Исходники забрал, полюбопытствую, позже прокомментирую.
UPD:
А исходники то где? Я пока вижу примитивный интерфейс (т.е. пока не о чем) и все.
tier_skg
17-02-2012, 13:25
Я пока вижу примитивный интерфейс (т.е. пока не о чем) и все.
В архиве была уже откомпилированная программа и readMe. Теперь выкидываю исходники, опять же прошу сильно не придераться, а вспомнить себя в 10 классе.
tier_skg,опять же прошу сильно не придераться, а вспомнить себя в 10 классе »да никто к тебе не придирается, все только "за" ;)
может показалось резким, но те 2 пустые формы, пока действительно не о чем, и не дают полного материала для объективного суждения. Вот и все :) В этом ничего плохого нет, просто надо принять к сведению и постараться исправить ближе к релизу.
По исходникам.
На первый взгляд все на месте. (Проверял в 2006ом Turbo Delphi). Честно не запускал и не проверял работу программы (каюсь, лень). Т.е. полагаем, что программа полностью рабочая и я в том сомневаться не буду.
Чего не хватает:
Первое, самое важно и серьезное - Комментариев! Заруби себе на носу и вводи в привычку комментировать свой код. Тут без обсуждений и оправданий. Молча киваешь, признаешь свою вину и исправляешь. Возможно это рутина, но это надо. Сделай пожалуйста это красиво. Этим ты покажешь свое уважение ко всем присутствующим.
Что следует сделать:
Заходим на сайт http://docs.embarcadero.com/products/rad_studio/, ищем DELPHI EXAMPLES PACKAGES, скачиваем (6,5 Мб), разворачиваем, ищем работу с сокетами.
Подсказываю: TTcpServerAddServer, TTcpClientSendStream.
Кроме того посмотри оформление кода и другие примеры. Они будут полезны.
Как все будет, будем думать над оформлением форм и документации.
Успехов! :)
tier_skg
17-02-2012, 15:35
Большое спасибо за помощь, буду разберать работу сокетов, добавлять коментарии в код. И ще раз спасибо! Тему закрываю как решенную.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.