Здорово! Такой у меня вопрос: Как в Borland C++ Builder 5 можно из-под созданой мной функции вызвать функцию другого класса? Поясню свой вопрос на примере. Как вызвать LineTo в MyFunc? Недайте умереть! На Вас последняя надежда! Заранее огромное СПАСИБО!
у тебя должен быть экземпляр класс Canvas. Скорее всего, если у тебя глобальная функция, тебе придется его передавать через параметр void MyFunc(int x, Canvas * pCanvas) { pCanvas->LineTo(x, x); } вызов из формы уже очериден MyFunc(i, Canvas); Ответ отправлен: 29.05.2003, 09:41 Отправитель: vitya Отвечает Артём Шегеда
Добрый день, Len!
Вариант 1. Передавать в функцию в качестве параметра ссылку на объект:
Ответ отправлен: 28.05.2003, 20:36 Отправитель: Артём Шегеда Отвечает [MozgC]
напиши перед Canvas Form1 или куда ты там хочешь выводить линию... Ответ отправлен: 28.05.2003, 21:12 Отправитель: [MozgC] Отвечает BOLT
Добрый день, Len! Нужно объявить метод членом класса TForm1.Ну и не забудь в заголовочном файле описать новый метод. Счастливо!
Приложение: Ответ отправлен: 28.05.2003, 21:42 Отправитель: BOLT
Вопрос № 675
Мне необходимо получить список IP и Имена компов в локалке на которых стоит клиент? Можно ли это сделать при помощи компонента ClientSocket и ServerSocket? если при помощи этих компоненто нельзя это сделать, то подскажите как подругому это можно реализовать.Если можно то привидите примерчик. Башое, Башое пасиба. Toha.
Для "Клиента сетей Microsoft" знаний программирования сокетов не нужно. Пример - в приложении. Для поиска всех машин в локальной сети нужно воспользоваться broadcast-рассылкой (с которой я лично никогда дела не имел) - но не факт, что все машины откликнутся.
Приложение: Ответ отправлен: 29.05.2003, 13:57 Отправитель: Артём Шегеда Отвечает vitya
Здравствуйте, toha! используйте эту функцию - WNetEnumResource за подробностями бегом в мсдн или винапи хелп. Ответ отправлен: 29.05.2003, 09:35 Отправитель: vitya
Вопрос № 676
Уважаемые эксперты!! Я новичок поэтому вопрос может не совсем правильный.Как сделать консольное приложение из проги написанной в TP7.0 (вообще это возможно?),что для этого нужно поменять и как потом запустить это приложение. Спасибо за помощь.
Для этого придется менять модули, так же где-то в настройках есть пункт Генерировать консольное приложение. Ответ отправлен: 29.05.2003, 14:32 Отправитель: [MozgC] Отвечает Артём Шегеда
Здравствуйте, антон!
В принципе, это несложно. Просто нужно знать некоторые правила. 1. Не используй модули DOS и CRT - вместо них используй модуль Windows и, если найдёшь, модуль, заменяющий CRT. 2. Для создания консольного приложения в свойствах проекта установи соответствующую галочку (Project/Options/Linker/GenerateConsoleApplication) 3. Старайся не использовать VCL - вполне достаточно модулей Classes и SysUtils Ответ отправлен: 29.05.2003, 14:04 Отправитель: Артём Шегеда Отвечает BOLT
Доброе время суток, антон! :з) Все проги, написанные в TP7.0 - консольные! Счастливо! Ответ отправлен: 29.05.2003, 17:59 Отправитель: BOLT Отвечает Stein
Добрый день, антон! А куда именно перенести-то надо: в Delphi или Builder? Ессно надо будет модули все менять или совать их в delphi...lib, и функции(если внешние) ну и там сопутствующую лабуду. Легче создать консольное приложение прямо в delphi и туда загонять код(времени уйдёт, но что делать)... Ответ отправлен: 29.05.2003, 14:02 Отправитель: Stein
Вопрос № 677
Доброе время! Помогите, пожалуйста с такой проблемой: в приложении код, создающий двумерный массив чекбоксов. Когда нужно создать 20х20 ещё терпимо, но 100х100 создавать- так долго, что устанешь ждать. Как это можно сделать быстрее? Спасибо!
Я думаю что быстрее никак не получится. Ответ отправлен: 29.05.2003, 14:31 Отправитель: [MozgC] Отвечает Stein
Добрый день, =FeanaR=! Да никак, если влоб идти. Тебе же нужно 10000 создать, а не 400! Можно создать несколько потоков, которые по отдельности заполняют массив, то есть у каждого потока - своя облсать заполнения, как по-другому - ниНаю... Ответ отправлен: 29.05.2003, 14:02 Отправитель: Stein Отвечает BOLT
Доброе время суток, =FeanaR=! 100x100 ???? Нифига себе.Это получается 10 000 штук. Это столько раз создавать объект(конструктор, методы, присвоение).Не удивительн, что и комп рехнулся!Интересно, за чем это нужно. Счастливо! Ответ отправлен: 29.05.2003, 18:14 Отправитель: BOLT Отвечает Артём Шегеда
Добрый день, =FeanaR=!
Stein, конечно, прогнал: "несколько потоков". Это будет только медленнее - ведь операционка должна ещё и потоки переключать. Но в том, что тебе нужно в 25 раз больше времени (а скорее всего, ещё больше) - он прав. Единственное, что могу посоветовать - спрятать форму перед созданием такого количества дочерних контролов, а после создания - отобразить. По-идее, форма не будет каждый раз отрисовываться - это должно ускорить работу. Эту версию не проверял - оставляю решать тебе. Ответ отправлен: 29.05.2003, 14:16 Отправитель: Артём Шегеда
Вопрос № 678
Люди SOS!!! Пишу свои WEB-сервера: SMPT и POP. Как эти сервера общаются с клиентами - понятно. А вот как письмо попадает от SMPT на POP нет. Объясните пожалуйста или скиньте материал на мыло
Доброе время суток, Pin! Ну, во-первых, правильное название - SMTP. А во-вторых, когда приходит сообщение, то твоя прога извлекает это сообщение из всего текста (убирает заголовок протокола SMTP), вставляет заголовок POP3, а потом пересылает адресату, если он запросит. Ответ отправлен: 30.05.2003, 18:09 Отправитель: baldr Отвечает [MozgC]
Не помню толи в примерах, то ли в сети видел пример почтовика - посмотри в примерах или хелпе, если нет, то в инете поищи.. Ответ отправлен: 30.05.2003, 17:34 Отправитель: [MozgC] Отвечает vitya
Добрый день, Pin! у них общая виртуальная файлова система. То есть СМТП пишет в файл, ПОП3 читает из файла. Для каждого пользователя может быть несколько файлов. Может вообще не быть файла, а стоять база данных. Зависит уже от реализации. п.с. если будешь работать с файлами тебе самому придется реализовывать защиту файлов от потоков. А то кто-то будет писать одно, а другой стирать и в итоге получится ерунда. Ответ отправлен: 30.05.2003, 08:37 Отправитель: vitya Отвечает Stein
Здравствуйте, Pin! Честно говоря нифига не понял вопроса, но лучше залезь в справку, так точно есть пример почтового клиента(сам писал такой когда-то). Или посоветую компоненты Internet Mail Suite(крэк ищи на cracks.am): я сам ими пользовался.
Ответ отправлен: 30.05.2003, 05:47 Отправитель: Stein
Вопрос № 679
Привет эксперты! Скажите, если кто знает, можно ли прогу из Delphi перевести и скомпилить внутри кода на C++ Builder
Приветствую Вас, Athlon! В принципе, если есть возможность, то можно сделать DLL на Delphi и вызывать функции из Builder. Это если ты хочешь использовать функции, написанные на Делфях... Ответ отправлен: 30.05.2003, 18:31 Отправитель: baldr Отвечает Артём Шегеда
Приветствую Вас, Athlon!
Гарантирую, что можно. Просто добавляй Pas-файл в проект - и вперёд! Для перевода простого dpr-проекта в bpr-проект сделай следующее: 1. Создай новый проект в Bilder'е 2. Установи в Bilder'е все те компоненты, которые используются в проекте Delphi и которых не хватает. 3. Добавь в созданный проект все модули из dpr-проекта 4. Компилируй и запускай.
Зачастую в проекте кроме форм есть ещё и дополнительный код - с ним сложнее: его нужно переписывать в C++ или создать новый pas-модуль и подключить к проекту, вызывая startup-код... Ответ отправлен: 30.05.2003, 15:58 Отправитель: Артём Шегеда Отвечает [MozgC]
Вроде можно, посмотри там в настройках, я сам ни разу не пробовал, так что это не точно, но слышал как-то... Ответ отправлен: 30.05.2003, 03:02 Отправитель: [MozgC] Отвечает Pin
Добрый день, Athlon! Вставляешь модуль(форму) в проект. И все! Ну, или почти все: номер версии C++Builder должен быть не ниже версии DELPHI. Ответ отправлен: 31.05.2003, 00:15 Отправитель: Pin Отвечает BOLT
Приветствую Вас, Athlon! Если я правельно понял вопрос, то этого зделать нельзя, т.е. внутри кода на C++ вписывать код Object Pascal нельзя. А вот перевести код программы из Delphi на C++ Builder это возможно.Трудность этого повысится, если в Delphi используются спецефичные для этого языка приемы, например: если вы написали объект(класс) на Pascal'е, то перевести его на C++ будет сложно и потребует от программиста высоких знаний обоих языков.Если же вы написали программу, исключительно манипулирующию VCL, тогда первести на C++ Builder не составит труда, т.к. оба продукта построены на одной архитектуре, хоть и используют разные языки программирования. Счастливо! Ответ отправлен: 01.06.2003, 13:06 Отправитель: BOLT
Вопрос № 680
Привет, в-натуре! ХР на Stein'а наезжать - он мне помог. Спасибо также Артёму. P.S.: Я игру сделал. Не хотите посмотреть? Она здесь http://newff.narod.ru/oxota.rar (782Кб).
Доброе время суток, Криминальный Авторитет (newff.narod.ru)! Ага Ответ отправлен: 30.05.2003, 18:15 Отправитель: Stein Отвечает [MozgC]
спам не рулит Ответ отправлен: 30.05.2003, 14:48 Отправитель: [MozgC] Отвечает baldr
Здравствуйте, Криминальный НеАвторитет! Я не хочу. Ответ отправлен: 30.05.2003, 18:33 Отправитель: baldr Отвечает BOLT
Здравствуйте, Криминальный Авторитет (newff.narod.ru)! Да видно, что движок DelphiX.Отстой полнейший(не игра а движок - тормозит).А игра неплохая - 5 минут я отвлекся от работы. Мой совет: используй DetrictX на прямую, не через там всякие движки и на C/C++,а еще лучше на Assembler'е.Тогда успех тебе гарантирован. Счастливо! Ответ отправлен: 01.06.2003, 13:39 Отправитель: BOLT
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.