Вопрос № 43150: Здравствуйте уважаемые эксперты..... подскажите пожалуйста простейший пример реализации клент-сервера с использованием сокета ..... если к примеру необходимо чтобы к серверу подключалось несколько человек, т.е. чтобы он их мог различать и отсылать ин...Вопрос № 43184: Здравствуйте, Уважаемые Эксперты.
Сразу к делу: MS Visual 6, язык Си(не Си++).
В приложении простой калькулятор. Необходимо доработать программу
таким образом, что бы было возможно считать 3,4 и более чисел.
Т.е. нужен калькулято...Вопрос № 43196: Здравствуйте уважаемые эксперты! необходимо сделать приложение с возможностью экспорта данных в Word. Подскажите какие существуют способы это реализовать? Или где почитать . Заранее благодарен.
P.S. Приложение собираюсь писать на Builder-е....
Вопрос № 43.150
Здравствуйте уважаемые эксперты..... подскажите пожалуйста простейший пример реализации клент-сервера с использованием сокета ..... если к примеру необходимо чтобы к серверу подключалось несколько человек, т.е. чтобы он их мог различать и отсылать информацию в текстовом виде определенному клиенту .... номер порта и ipадресов должны вводиться с Эдитов...
Отправлен: 15.05.2006, 22:35
Вопрос задал: Dipp (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Morgion
Здравствуйте, Dipp!
Лови линк!
Приложение:
Ответ отправил: Morgion (статус: Студент)
Ответ отправлен: 16.05.2006, 01:06
Отвечает: koshi
Здравствуйте, Dipp!
Лично я делел многопоточный сервер. ПРосто для каждого соединения на серваке создается свой конкретный сокет для обмена инфо. Т.е. изначально на серваке имеется единственный сокет, который слушает входящие запросы, как только кто-то там начал ломиться, создается еще один сокет и конкретное соединение с постучавшимся идет по новому сокету и еще и в новом потоке. (вообщем плохо объянсни, давно я с этим работал, не помню тонкостей)
Для примера высылаю здесь почти полный код сервера из свой курсач за прошлый год: сервак многопоточный. Если нужно, могу выслать и все проектом на MS VS 2005 (и клиент и сервер и кое какая библиотечка с функционалом), вощем ес. нужно пиши мыло.
P.S. Не удалось вставить в приложение, слишком большой (около 500 строк), так что давай мыло.
--------- Don't worry by groovy
Ответ отправил: koshi (статус: 4-ый класс)
Ответ отправлен: 17.05.2006, 10:31
Вопрос № 43.184
Здравствуйте, Уважаемые Эксперты.
Сразу к делу: MS Visual 6, язык Си(не Си++).
В приложении простой калькулятор. Необходимо доработать программу
таким образом, что бы было возможно считать 3,4 и более чисел.
Т.е. нужен калькулятор простой инфиксной нотации.
Сам алгоритм я понимаю: организовывается цикл до тех пор, пока "Ввод" не
нажат; сканирование данных можно выполнить так
( число) ( + число) ( - число) ( * число) ...end; промежуточный результат сохранять
в стэке. Два дня уже бьюсь и всё никак. Может Вы поможете?
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Евсеев Вячеслав Николаевич!
Нуу... подвижек к изготовлению кода, который будет читать длинный ввод, я не вижу.
Надо сделать так, чтобы в первый раз читалось 3 переменных: число, символ операции и число.
А потом при всех последующих чтениях, брать только 2 параметра: символ операции и число.
И цивильней сделать не while(1), а какое-то нормальное завершение программы.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: 4-ый класс)
Ответ отправлен: 16.05.2006, 10:51 Оценка за ответ: 4 Комментарий оценки: До цивильности мне ещё далекооооооооооооооо. Подвижки лежат на диске, а хотел-то я всего ничего: узнать, каким образом можно обработать этот салат, а не готовый код. Но за совет, проставляюсь.
1.
Вот такое предложение - введеные данные перевести в префиксную натацию и будет счастье, пример:
1+2*3 + 4 = 11
Переводим в польскую запись (отдельнаяя песня):
-1+*2 3 4
Ее кидаем в стек, алгоритм следующий - идем по стеку:
4 3 2 - нет знака
4 3 2 * - умножение, делаем умножение, запихиваем обратно, получается:
4 6, дальше...
4 6 + - сложение, складвыаем, запихиваем обратн, получается:
10, дальше...
10 1 - - вычитение, вычитает, запихиваем обратно, получается:
11, дальше... конец стека, извлекаем результат.
Это самый красивый алгорытм и не громозкий, гуглить "польская запись".
2. Решение в лоб (когда-то сам так делал)
Можно нагородить следющий огород:
Записываем подряд в массив все числа
Во второй все знаки
Сначала делаем умножение и деление, т.е. бежим по массиву знаков и делаем действия
Допустим в массиве днаков у нас masZnaki[2] = '*', тогда с массивом чиселкиф выполняем следующее masChisla[2] = masChisla[2] * masChaisla[3], естественно из массива вырезаем masChisla[3], т.е. оставшуюся часть массива сдвигаем... Ну и все это действо происходит пока знаки не кончастся, и тогда на первом месте окажется ответ.
Вместо массивов можно использовать два стека.
--------- Успех неизбежен
Ответ отправил: Zitz (статус: 10-ый класс)
Ответ отправлен: 16.05.2006, 13:47 Оценка за ответ: 5 Комментарий оценки: К первому предложению: Google от меня уже устал, а вообще-то за постфиксной нотацией и ходить никуда не надо. Керниган и Ричи приводят этот пример в книге, цитирую "Такой калькулятор легче будет написать, если ориентироваться на польскую, а не инфиксную запись выражений". А мы не ищем лёгких путей! - наш ответ Чемберлену.
Всё дело в sprinf(). Он - хитрый. Нужно не забывать в нужном месте пробелы расставлять...;)
Хотя в разных реализациях стандартных библиотек, может быть по разному (особенно любит выпендриваться в этом отношении как раз MS)...:(
Короче, подправил я Вам код (см. приложение). На BC3.1 идёт на ура.
Приложение:
--------- Стучитесь! И Вас откопают...
Ответ отправил: Sergijj (статус: 3-ий класс)
Ответ отправлен: 16.05.2006, 14:04 Оценка за ответ: 5 Комментарий оценки: В MS тоже на ура, только хотелось-то мне кое-что другое. А так, молодцом. Отлично.
Вопрос № 43.196
Здравствуйте уважаемые эксперты! необходимо сделать приложение с возможностью экспорта данных в Word. Подскажите какие существуют способы это реализовать? Или где почитать . Заранее благодарен.
P.S. Приложение собираюсь писать на Builder-е.
Отвечает: Santana
Здравствуйте, Goretsky Anton!
технология назвается OLE. Читать советую Архангельского "Программирование в C++Bilder". И вообще в 6 буилдере богатейшая оффисная палитра
Ответ отправил: Santana (статус: 2-ой класс)
Ответ отправлен: 16.05.2006, 12:03
Отвечает: Zitz
Здравствуйте, Goretsky Anton!
Вот Вам ссылка на информацию ;)
http://www.google.ru/search?q=automation+C+Builder+Word&hl=ru
Нажеюсь понятен мой тонкий намек? Ключевое слово automation... Информации море...
Я лично пользовался вот этим, но это для ВижлСи
http://rsdn.ru/article/vcpp/import.xml
Вообще хороший партал, там много инфы лежит...
З.Ы. если пишете в Билдере, то можно гуглить еще и со словом Delphi, особой разницы нет, разве что базовые основы паскаля нужно знать... А компоненты то одинаковые.
--------- Успех неизбежен
Ответ отправил: Zitz (статус: 10-ый класс)
Ответ отправлен: 16.05.2006, 12:48