Вопрос № 110701: Привет всем! Подскажите плиз как можно открыть текстовый файл через внешний просмоторщик, который установлен виндоуз по умолчанию для этого типа файлов?
З.Ы пользуюсь c++Builder6...Вопрос № 110727: Здравствуйте!
Проблема вот какая. Пишу простенький сокет-сервер, подключаю библиотеку <b>"winsock2.h"</b>, но при компиляции в этой библиотеке выдаются ошибки. Изыскания путём Яндекса и Гугла дали определённый результат - от 65 ошибок в...Вопрос № 110739: Подскажите почему в результате таких действий получается отрицательное число, ведь должно быть полодительным.
И еще один вопрос где можно найти отладчик Под Turbo С++ ...Вопрос № 110789: в с++borland есть компонента EditMask.Так вот, никак не могу дорубиться что означает символ ! в маске (!(999)000-0000;1;_)?...Вопрос № 110795: Здравствуйте уважаемые эксперты!Прошу прощение за повторение!Я неделю назад задавал вопрос по задачкам, на что получил ответ, решение этих задач на С++, не могли бы вы написать эти задачки на С!
Заранее спасибо!
1.Подсчитать, сколько элементо...
Вопрос № 110.701
Привет всем! Подскажите плиз как можно открыть текстовый файл через внешний просмоторщик, который установлен виндоуз по умолчанию для этого типа файлов?
З.Ы пользуюсь c++Builder6
Отправлен: 23.11.2007, 19:00
Вопрос задал: Endru (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Лясин Александр Владимирович
Здравствуйте, Endru!
Вот пример открытия файла редактором (просмотрщиком) по умолчанию:
Ansistring help_file
ShellExecute(NULL, "open", help_file.c_str(),NULL, NULL, SW_SHOW);
здесь help_file - тот файл - который нужно отрыть.
В C++Builder Help есть подробное описание параметров ф-ии.
Ответ отправил: Лясин Александр Владимирович (статус: 2-ой класс)
Ответ отправлен: 23.11.2007, 20:04 Оценка за ответ: 5 Комментарий оценки: Спасибо! Еще столько предстоит узнать что голова идет кругом :)
Отвечает: CruelHity
Здравствуйте, Endru!
Самый простой способ это через Api функции:
UINT WinExec(
LPCSTR lpCmdLine,
UINT uCmdShow
);
и
HINSTANCE ShellExecute( HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
и
BOOL ShellExecuteEx( LPSHELLEXECUTEINFO lpExecInfo
);
см в приложение пример и описания!
Приложение:
Ответ отправил: CruelHity (статус: 5-ый класс)
Ответ отправлен: 23.11.2007, 20:31 Оценка за ответ: 5 Комментарий оценки: Спасибо!
Вопрос № 110.727
Здравствуйте!
Проблема вот какая. Пишу простенький сокет-сервер, подключаю библиотеку "winsock2.h", но при компиляции в этой библиотеке выдаются ошибки. Изыскания путём Яндекса и Гугла дали определённый результат - от 65 ошибок в библиотеке осталась одна. Но с ней справиться никак не могу. Ошибка такая:
c:program filesmicrosoft visual studio 8vcplatformsdkincludewinsock2.h(3791) : error C2371: 'fd_set' : redefinition; different basic types
c:program filesmicrosoft visual studio 8vcplatformsdkincludewinsock2.h(115) : see declaration of 'fd_set'
Библиотека "windows.h" отдельно не подключается. Добавление #pragma comment (lib, "ws2_32.lib") не даёт результата. Других решений проблемы не нашла. На всякий случай, привожу код в приложении.
Буду благодарна за любую помощь!
Приложение:
Отправлен: 23.11.2007, 21:53
Вопрос задала: Verena (статус: Студент)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Ross
Здравствуйте, Verena!
Попробуйте подключать хидер так:
#include < winsock2.h > (сложнее всего в ответе было нарисовать фигурные скобки :)
Код в приложении скомпилился нормально (Visual Studio 8, Console Application -> Empty Project)
--------- Доступно только то, что видимо (c) Б. Керниган
Ответ отправил: Ross (статус: Студент)
Ответ отправлен: 24.11.2007, 01:22 Оценка за ответ: 5 Комментарий оценки: Спасибо за ответ) Правда, это мне и самой приходило в голову, вариант вполне реальный, но, к сожалению, не помог. Впрочем, решение проблемы я нашла, проблема оказалась всё-таки в самой библиотеке - заменила файл и всё заработало.
Вопрос № 110.739
Подскажите почему в результате таких действий получается отрицательное число, ведь должно быть полодительным.
И еще один вопрос где можно найти отладчик Под Turbo С++
Приложение:
Отправлен: 23.11.2007, 23:47
Вопрос задал: Kizlyar (статус: Посетитель)
Всего ответов: 5 Мини-форум вопроса >>> (сообщений: 34)
Отвечает: CruelHity
Здравствуйте, Kizlyar!
Пропишите или так
long int sum;
или
unsigned ing sum;
Тут просто выходит за пределы int 32767 и -32768
Ответ отправил: CruelHity (статус: 5-ый класс)
Ответ отправлен: 23.11.2007, 23:58 Оценка за ответ: 4 Комментарий оценки: Прописывал по разномую все равно отрицательное. Изменил на float стало нормально
Отвечает: Гальцов Андрей
Здравствуйте, Kizlyar!
Потому что значение Вашей сумму превышало диапазон знакового int...там что вроде от -32 тысяч (с чем то) до 32тысяч (с чем то)...точно не помню...и поэтому на последних шагах к sum прибавлялся "мусор" и значение получалось не верным...
См. приложение...Нужно сделать Int без знаковым (usigned)...это будет от 0 до 64 тысяч...
Приложение:
--------- "The more you know, the less you need to show"
Ответ отправил: Гальцов Андрей (статус: Практикант)
Ответ отправлен: 24.11.2007, 00:03 Оценка за ответ: 4
Отвечает: Архипов Александр Леонидович
Здравствуйте, Kizlyar!
Не знаю, не знаю, у меня всё нормально сработало... Ответ очень красивый = 38038. Отрицательного не получилось. Отрицательное могла получиться, если бы сумма превысила ранг типа переменной. У меня Borland 2006 и переменная int имеет разрядность -2,147,483,648 до 2,147,483,647 при размере 32-бит. Как у Turbo C++ не знаю, проверьте, может у него ниже ранг для int, тогда надо другой тип переменной использовать.
Отвечает: Терсков Сергей
Здравствуйте, Kizlyar!
Если вы пишите под Turbo C++, то int у вас 16-ти битный. Соответственно полученное в цикле число превышает лимит - 32767. После переполнения число становится отрицательным, т.к. тип int -знаковый. Выходом может быть использование типа long. Его пределы это - (–2147483648; 2147483647).
Ответ отправил: Терсков Сергей (статус: Студент)
Ответ отправлен: 26.11.2007, 02:56
Отвечает: Sergijj
Здравствуйте, Kizlyar!
Ваша проблема на самом деле просто в выводе значения, точнее в формате вывода.
%i и %d - вывод signed (знаковый) int (диапазон -32768..32767).
Для того, чтобы с помощью printf() вывести unsigned (беззнаковый) int (0..65535) нужно писать не %d, а %u.
Второй вариант решения Вашей проблемы заключается в том, чтобы объявить unsigned long int sum = 0;
Но и тогда нужно не забыть про формат вывода. В этом случае он будет таким: %ul
Приложение:
--------- Стучитесь! И Вас откопают...
Ответ отправил: Sergijj (статус: 10-ый класс)
Ответ отправлен: 26.11.2007, 11:31
Вопрос № 110.789
в с++borland есть компонента EditMask.Так вот, никак не могу дорубиться что означает символ ! в маске (!(999)000-0000;1;_)?
Отправлен: 24.11.2007, 15:22
Вопрос задал: Endru (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Архипов Александр Леонидович
Здравствуйте, Endru!
Если перед маской стоит символ !, то недостающие символы предваряются пробелами, отсутствие символа ! означает,ю что пробелы размещаются в конце.
В Вашем случае этот символ означает, что должно быть введено 10 цифр, если же их будет меньше (без кода города - 7), то пробелы вставятся в скобки, а не в конец строки. Если в Вашу маску ввести 7 (а не 10) цифр, то в свойство Value поля будет введено "( ) 123-4567"
Ответ отправил: Архипов Александр Леонидович (статус: 10-ый класс)
Ответ отправлен: 27.11.2007, 15:31 Оценка за ответ: 5 Комментарий оценки: Огромное спасибо! Я уж думал никто мне не ответит.
Вопрос № 110.795
Здравствуйте уважаемые эксперты!Прошу прощение за повторение!Я неделю назад задавал вопрос по задачкам, на что получил ответ, решение этих задач на С++, не могли бы вы написать эти задачки на С!
Заранее спасибо!
1.Подсчитать, сколько элементов встречается в данном массиве наибольшее число раз.
2.Найти минимум функции Х(в квадрате)-Е(в степени -х) методом дихотомии.
Напомню на языке C(без плюсов))))))
Отправлен: 24.11.2007, 16:14
Вопрос задал: Pimp (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 6)
Отвечает: Boriss
Здравствуйте, Pimp!
Никто не отвечает - вот держи первое задание. Потом в минифорум положу второе
Приложение:
--------- Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss (статус: Профессор) Россия, Саранск Организация: mte WWW:Программирование на Паскале ---- Ответ отправлен: 29.11.2007, 16:15