Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C++ Builder / Delphi

Выпуск № 171
от 02.06.2003, 17:50

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 700
Отправлено ответов: 1233
Активность: 176.1 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

vitya
Статус: Профессиональный
Общий рейтинг: 108.15
[Подробней >>]
Артём Шегеда
Статус: Профессиональный
Общий рейтинг: 116.85
URL: Пристанище неодинокого программиста
[Подробней >>]
[MozgC]
Статус: Опытный
Общий рейтинг: 171.57
[Подробней >>]
 
BOLT
Статус: Профессиональный
Общий рейтинг: 171.11
URL: В помощь начинающему программитсу Assembler, C/C++
[Подробней >>]
Stein
Статус: Опытный
Общий рейтинг: 163.46
[Подробней >>]
baldr
Статус: Профессиональный
Общий рейтинг: 112.44
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
 
Pin
Статус: Опытный
Общий рейтинг: 121.62
URL: My HOMEPAGE
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 674. Здорово! Такой у меня вопрос: Как в Borland C++ Builder 5 можно из-под созданой мной функции вызвать... (ответов: 4)
Вопрос № 675. Мне необходимо получить список IP и Имена компов в локалке на которых стоит клиент? Можно ли это сде... (ответов: 2)
Вопрос № 676. Уважаемые эксперты!! Я новичок поэтому вопрос может не совсем правильный.Как сделать консольное прил... (ответов: 4)
Вопрос № 677. Доброе время! Помогите, пожалуйста с такой проблемой: в приложении код, создающий двумерный массив ч... (ответов: 4)
Вопрос № 678. Люди SOS!!! Пишу свои WEB-сервера: SMPT и POP. Как эти сервера общаются с клиентами - понятно. А вот... (ответов: 4)
Вопрос № 679. Привет эксперты! Скажите, если кто знает, можно ли прогу из Delphi перевести и скомпилить внутри код... (ответов: 5)
Вопрос № 680. Привет, в-натуре! ХР на Stein'а наезжать - он мне помог. Спасибо также Артёму. P.S.: Я игру сделал. ... (ответов: 4)

Вопросов: 7, ответов: 27


 Вопрос № 674

Здорово!
Такой у меня вопрос:
Как в Borland C++ Builder 5 можно из-под созданой мной функции вызвать функцию другого класса?
Поясню свой вопрос на примере.
Как вызвать LineTo в MyFunc?
Недайте умереть! На Вас последняя надежда!
Заранее огромное СПАСИБО!


Приложение:


Вопрос отправлен: 28.05.2003, 20:13
Отправитель: Len (soatoflen@udm.net)

[Следующий вопрос >>] [Список вопросов]

Отвечает vitya

Приветствую Вас, Len!

у тебя должен быть экземпляр класс Canvas.
Скорее всего, если у тебя глобальная функция, тебе придется его передавать через параметр
void MyFunc(int x, Canvas * pCanvas)
{
pCanvas->LineTo(x, x);
}
вызов из формы уже очериден
MyFunc(i, Canvas);

Ответ отправлен: 29.05.2003, 09:41
Отправитель: vitya


Отвечает Артём Шегеда

Добрый день, Len!

Вариант 1.
Передавать в функцию в качестве параметра ссылку на объект:
void MyFunc(int x)
{
Canvas->LineTo(x,x);//тут моя ошибка
}

Вариант 2.
Напрямую обращаться к созданным объектам (если ты уверен, что они существуют)
void MyFunc(int x)
{
Form1->Canvas->LineTo(x,x);//тут моя ошибка
}



Ответ отправлен: 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.



Вопрос отправлен: 28.05.2003, 22:29
Отправитель: toha (tohan@list.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Артём Шегеда

Приветствую Вас, toha!

Для "Клиента сетей Microsoft" знаний программирования сокетов не нужно. Пример - в приложении.
Для поиска всех машин в локальной сети нужно воспользоваться broadcast-рассылкой (с которой я лично никогда дела не имел) - но не факт, что все машины откликнутся.

Приложение:

Ответ отправлен: 29.05.2003, 13:57
Отправитель: Артём Шегеда


Отвечает vitya

Здравствуйте, toha!
используйте эту функцию - WNetEnumResource
за подробностями бегом в мсдн или винапи хелп.

Ответ отправлен: 29.05.2003, 09:35
Отправитель: vitya


 Вопрос № 676

Уважаемые эксперты!!
Я новичок поэтому вопрос может не совсем правильный.Как сделать консольное приложение из проги написанной в TP7.0 (вообще это возможно?),что для этого нужно поменять и как потом запустить это приложение.
Спасибо за помощь.



Вопрос отправлен: 29.05.2003, 06:52
Отправитель: антон (oven_mars@rambler.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает [MozgC]

Для этого придется менять модули, так же где-то в настройках есть пункт Генерировать консольное приложение.

Ответ отправлен: 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, 08:10
Отправитель: =FeanaR=

[Следующий вопрос >>] [Список вопросов]

Отвечает [MozgC]

Я думаю что быстрее никак не получится.

Ответ отправлен: 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 нет. Объясните пожалуйста или скиньте материал на мыло



Вопрос отправлен: 30.05.2003, 00:03
Отправитель: Pin (pinman@list.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает baldr

Доброе время суток, 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



Вопрос отправлен: 30.05.2003, 02:55
Отправитель: Athlon

[Следующий вопрос >>] [Список вопросов]

Отвечает baldr

Приветствую Вас, 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Кб).



Вопрос отправлен: 30.05.2003, 13:30
Отправитель: Криминальный Авторитет (newff.narod.ru) (urisff@inbox.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Stein

Доброе время суток, Криминальный Авторитет (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.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (40)
C / C++ (31)
Perl (5)
Builder / Delphi (14)
Pascal (28)
Basic / VBA (12)
Java / JavaScript (11)
PHP (7)
MySQL / MSSQL (5)
Пользователю
Windows 95/98/Me (37)
Windows NT/2000/XP (30)
"Железо" (28)
Поиск информации (15)
Администратору
Windows NT/2000/XP (15)
Linux / Unix (9)
Юристу
Гражданское право (5)
Семейное право (2)
Трудовое право (3)
КоАП (3)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное