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

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


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 790
от 24.04.2007, 21:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 466, Экспертов: 96
В номере:Вопросов: 6, Ответов: 8


Вопрос № 83174: Всем привет!!! Помогите начинающему в работе с БД. Проблема стоит в том, что созданная таблица DBGrid1 при помощи База Данных мастера форм, должна дополняться новыми данными с dbf файлов, которые загружаются при помощи кнопки button, а я не знаю...
Вопрос № 83190: Доброго времени суток уважаемые! Сегодня состоялось мое первое знакомство с FastReport 3.24. У меня n-ное кол-во проектов использующих версию <b>2.47</b>. Естественно они перестали работать, а переделывать надо. Как быть? Некоторые отчеты довольно сл...
Вопрос № 83192: Здраствуйте экперты. Мне нужно создать в Delphi 6, 2 приложения: 1)Сервер, cgi приложение(или другое, если возможно), исполняеться на вэб сайте. 2)Клиент, исполняеться на компьютере пользователя Мне нужно что бы можно было выполнить т...
Вопрос № 83239: Здравствуйте! Подскажите пожалуйста, как убрать мерцание у компоненты TIMAGE при ее перерисовки? ОЧЕНЬ НУЖНО :) __Пожалуйста с примером__ .... Всем спасибо!!!...
Вопрос № 83240: Здравствуйте Уважаемые эксперты! Вот мой случай: у меня есть патч-инсталлятор(не мой), я хочу его засунуть в свою прогу как ресурс и сделать защиту с привязкой к компу. Лучше делать через имя компьютера или как? После правильного кода юзера,...
Вопрос № 83275: Проблема такая: в потоке формируется письмо и отправляется по почте. Дело в том что почта отправляется и доходит до адресата, но вот программа не хочет закрываться. Я так понимаю что программа подвисает в условии (if form1.IdSMTP1.Connected) и не дох...

Вопрос № 83.174
Всем привет!!! Помогите начинающему в работе с БД.
Проблема стоит в том, что созданная таблица DBGrid1 при помощи База Данных мастера форм, должна дополняться новыми данными с dbf файлов, которые загружаются при помощи кнопки button, а я не знаю. Как это осуществить?
Заранее благодарю!
Отправлен: 18.04.2007, 22:22
Вопрос задала: Lin (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Химяк Виктор Васильевич
Здравствуйте, Lin!
1.С вкладки BDE бросаем на форму компонент TTable, в свойстве TableName прописываем путь к таблице, щелкаем правой кнопкой мыши на TTable, выбираем из контекстного меню пункт Fields Editor добавляем необходимые поля,
2. С вкладки DataAccess на форму бросаем компонент TDataSourse, в свойстве DataSet, выбираем TTable.
3. В свойстве DataSourse DBGrid-a выбираем DataSourse1.
4. В свойстве Active TTable, ставим Тrue.
Ответ отправил: Химяк Виктор Васильевич (статус: 4-ый класс)
Ответ отправлен: 18.04.2007, 22:48


Вопрос № 83.190
Доброго времени суток уважаемые! Сегодня состоялось мое первое знакомство с FastReport 3.24. У меня n-ное кол-во проектов использующих версию 2.47. Естественно они перестали работать, а переделывать надо. Как быть? Некоторые отчеты довольно сложные, а их общее количество около 200. Неужели другого пути, кроме как переписывать нет?
Отправлен: 19.04.2007, 00:12
Вопрос задала: Ta-ny (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Синельников Сергей
Здравствуйте, Ta-ny!

Конечно есть. Господа разработчики позаботились и создали конвертер из fr2x в fr3. Должен быть у них на сайте в свободном доступе, т.е. даром.
Ответ отправил: Синельников Сергей (статус: 3-ий класс)
Ответ отправлен: 20.04.2007, 01:44
Оценка за ответ: 5

Отвечает: Gh0stik
Здравствуйте, Ta-ny!

Да существует конвертер проектов FastReport 2.xx в FastReport 3, но как оказалось найти его не так уж и просто на сайте производителя, вот ссылка на продукт (но для закачки Вам предложат заполнить маленькую анкету).

Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 20.04.2007, 02:03
Оценка за ответ: 5


Вопрос № 83.192
Здраствуйте экперты.
Мне нужно создать в Delphi 6, 2 приложения:
1)Сервер, cgi приложение(или другое, если возможно), исполняеться на вэб сайте.
2)Клиент, исполняеться на компьютере пользователя
Мне нужно что бы можно было выполнить такой алгоритм действий:
а)Приложение2 отправляет в Приложение1 текст, и свой IP
б)Приложение1 обрабатывает данные(это сделаю я сам)
в)Приложение1 отправляет результат в Приложение2.
Меня интересует как реализовать пункты а) и в), если можно, то выложите пример, или где такой материал можно найти.
Всем заранее спасибо.
Отправлен: 19.04.2007, 00:52
Вопрос задал: Иван Ивановввв (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Bingo
Здравствуйте, Иван Ивановввв!
Можно реализовать Вашу задумку с помощью TIdTCPClient и TIdTCPServer, расположенных на панели Indy. Чтобы узнать текущий IP у компьютера, необходимо использовать TIdIPWatch на панели Indy Misc (для верности, но можно было бы узнать адрес клента во время получения строки).
Ниже код для сервера (TIdTCPServer) - приложение1.
---

procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var s,res:string;
begin
with AThread.Connection do
begin
s:=currentreadbuffer;//здесь хранится строка с IP адресом , которую послал клиент
//Ваши вычисления.....
writeln(res);// в переменной res будет храниться ответ клиенту.
Disconnect;
end;
end;

----

Все, сервер готов. Создадим клиент - приложение2. На форме разместим кнопку и TEdit. В настройках клиента запишем такой же порт, как и у сервера, а в Host - IP адрес или имя компьютера, где размещен сервер. По нажатии по кнопке произойдет следующее:

---

procedure TForm1.Button1Click(Sender: TObject);
begin
IdTCPClient1.Connect;
IdIPWatch1.ForceCheck;//проверяем текущей IP.
IdTCPClient1.Write(IdIPWatch1.CurrentIp+'%'+Edit1.Text);//в посылаемой строке IP адрес будет отделяться от текста процентом(%).
Edit1.Text:=IdTCPClient1.readln; // в TEdit запишется ответ с сервера.
IdTCPClient1.Disconnect;
End;

---
Ну вот, все как Вы просили сделать. Только необходимо, чтобы на Web сайте было разрешено запускать различные исполняемые программы.
Удачи!
---------
C темным пивом в светлое будущее!
Ответ отправил: Bingo (статус: 4-ый класс)
Ответ отправлен: 21.04.2007, 15:16
Оценка за ответ: 5
Комментарий оценки:
Спачибо, вы мне очень помогли. Теперь вот осталось запустить програму с сайта.


Вопрос № 83.239
Здравствуйте!
Подскажите пожалуйста, как убрать мерцание у компоненты TIMAGE при ее перерисовки? ОЧЕНЬ НУЖНО :)
__Пожалуйста с примером__ ....
Всем спасибо!!!
Отправлен: 19.04.2007, 11:17
Вопрос задал: Чернявский Александр (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Jakoni
Здравствуйте, Чернявский Александр!
начало перерисовки
Image1.Canvas.Lock;
конец перерисовки
Image1.Canvas.UnLock;
Ответ отправил: Jakoni (статус: 1-ый класс)
Ответ отправлен: 19.04.2007, 11:23

Отвечает: ~Steep~
Здравствуйте, Чернявский Александр!
Либо сначала рисуйте в памяти (например на TBitmap.Canvas) , а потом уже на компоненте отрисовывайте.
То же самое что Form1.DoubleBuffered := true;
---------
Все всегда делаеться к Лучшему!
Ответ отправил: ~Steep~ (статус: 6-ой класс)
Ответ отправлен: 19.04.2007, 12:25
Оценка за ответ: 4


Вопрос № 83.240
Здравствуйте Уважаемые эксперты!
Вот мой случай: у меня есть патч-инсталлятор(не мой), я хочу его засунуть в свою прогу как ресурс и сделать защиту с привязкой к компу. Лучше делать через имя компьютера или как?
После правильного кода юзера, прога распаковывает патч(он для игры) и устанавливает его, при этом я хочу сделать так, чтобы другие пользователи сети не могли запустить эту игру. Я хочу сделать так: скрыть(как системный) запускной exe файл и поставить свой вместо него, который будет проверять имя компа с которого запускается игра(имя, прога будет брать наверное при генерировании кода при регистрации, т.к. я хочу сделать привязку к имени компа). Нормально так получится?
И ещё патч распакует файлы, которые юзеры могут перенести к себе и запустить со своим оригинальный exe, как в этом случае быть, можно ли как-нибудь защитить файлы от копирования на другой комп???

Спасибо за внимание! С Уважением, Кирилл.
Отправлен: 19.04.2007, 11:22
Вопрос задал: Букаев Кирилл Иванович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: LanK
Здравствуйте, Букаев Кирилл Иванович!

"можно ли как-нибудь защитить файлы от копирования на другой комп"
нет нельзя

В вашем варианте можно распаковать в память там с ними отратботать и удалить...

Привязка к имени компьютера... если игра классная - ну что ж, поменяем ;) ... себе имя компьютера. Бери комплекс - сколько памяти, сколько винт всё что сможете "выдрать".

Настоящая защита может быть только на железном уровне - когда часть вашей программы находится в микросхемах...

Могу посоветовать посмотреть ASProtect.

И самое главное саму программу упаковать ASPack - по крайней мере "прямым" просмотром нельзя будет просмотреть что происходит программа будет распаковываться в память и работать оттуда.

P.S. Написать 100% защищенную на программном уровне программу... идея практически недостижимая.

P.P.S. Самый легкий путь - это выпускать постоянно обновления (для игры - новые юниты, а в обновлениях... проверять "имя компьютеров" :) )

P.P.P.S. Для сети уровня "школа" Ваш вариант может и прокатит ;).
---------
Пусть все будет хорошо! Давайте жить дружно! :) И будет жить еще лучше!
Ответ отправил: LanK (статус: Студент)
Ответ отправлен: 19.04.2007, 11:49
Оценка за ответ: 5
Комментарий оценки:
Спасибо за советы! Мне не нужна супер-защита, нужна просто элементарная для обычных пользователей.


Вопрос № 83.275
Проблема такая: в потоке формируется письмо и отправляется по почте. Дело в том что почта отправляется и доходит до адресата, но вот программа не хочет закрываться. Я так понимаю что программа подвисает в условии (if form1.IdSMTP1.Connected) и не доходить до строчки (form1.close). Или я не прав. Подскажите в чем проблема и как ее решить

Приложение:

Отправлен: 19.04.2007, 14:22
Вопрос задал: Bee.line (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 10)

Отвечает: Werewolf
Здравствуйте, Bee.line!
Почему не сделать Connect в основном потоке перед созданием потока SendMail
а Disconnect и form1.Close в обработчике SendMail.OnTerminate.
Ответ отправил: Werewolf (статус: Студент)
Ответ отправлен: 19.04.2007, 16:53
Оценка за ответ: 4
Комментарий оценки:
Дело в том что я не хочу, чтобы пользователь замечал подвисание программы. А при connect b Send программа подвисает на время выполнения команды, что не удобно. А моя причина в том что поток не завершается, т.е. происходит Disconnect и Close, но из-за того что поток не завершается и программа висит


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

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

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.50 (beta) от 15.04.2007
Яндекс Rambler's Top100

В избранное