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

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


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


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

Выпуск № 337
от 28.05.2004, 08:30

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


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

sir henry
Статус: Профессиональный
Общий рейтинг: 162.23
[Подробней >>]
Pawel
Статус: Профессиональный
Общий рейтинг: 156.38
[Подробней >>]
Boriss
Статус: Профессиональный
Общий рейтинг: 162.94
URL: Программирование на Паскале
[Подробней >>]
 
CrackLab
Статус: Доверительный
Общий рейтинг: 141.74
[Подробней >>]
Snowm@n
Статус: Опытный
Общий рейтинг: 111.13
[Подробней >>]


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

Вопрос № 1552. В ответ на ответ Sir Henry по вопросу #1549 пишу следующее: ключ уникальности стоит - ясен перец, но... (ответов: 1)
Вопрос № 1553. У нас есть локальная сеть, протянутая по всему городу. Есть куча разных серверов. Как хттп, так и фт... (ответов: 2)
Вопрос № 1554. Привет! Есть функция, которой я определяю существование 20 URLов. Если URL найден, то тут же выдаетс... (ответов: 3)
Вопрос № 1555. Была написана программа на Дельфи6. Затем в результате отката ОС ХР были потеряны исходники к измене... (ответов: 5)
Вопрос № 1556. Добрый день! Подскажите, что я не так делаю: есть база Foxpro 2.0 Пробую ее с помощью DataPump пер... (ответов: 3)
Вопрос № 1557. Спасибо Sir Henry, but : в триггере не выполняется SET GENERATOR .. TO .. Версия Interbase 6.0 Как б... (ответов: 1)
Вопрос № 1558. Здравствуйте,ALL! Опять я со своим вопросом...за номером 1540 и похожим на мой 1547.Пример с базой i... (ответов: 1)
Вопрос № 1559. Здравствуйте ,эксперты .Может кто знает в каком файле лежат все зарезервированные слова в Delphi .Не... (ответов: 5)
Вопрос № 1560. Доброе время суток! Помогите мне в таком деле: 1. Требуется создать невизуальный компонент, который ... (ответов: 3)
Вопрос № 1561. Уважаемые эксперты пожалуйста помогите: Необходимо в СBuilder вывести на принтер PaintBox как это мо... (ответов: 2)
Вопрос № 1562. ================-------------------- Я бы запускал проверку либо скачивание указанной страницы в отд... (ответов: 1)

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


 Вопрос № 1552

В ответ на ответ Sir Henry по вопросу #1549 пишу следующее:
ключ уникальности стоит - ясен перец, но ТОЛЬКО НА ПОЛЕ ID !!! Номер документа (официальный) идет с начала года с №1 и до 23:59,31 декабря след.года, далее он опять должен считаться с нуля, следовательно он не может быть уникальным. Моно, конечно, и при открытие проги проверяить на подобное и в случае чего SET GENERATOR .. TO 0, но хотелось бы с помощью триггера попробовать. Номера на документ прихода/расхода могут достигать до 8 номеров одновременно



Вопрос отправлен: 23.05.2004, 11:43
Отправитель: jiny (zhas-trz@tarazinfo.kz)

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

Отвечает sir henry

Приветствую Вас, jiny!
В таком случае, ясен перец :)), Вам в этот триггер нужно посылать текущую дату и дату обнуления генератора, и проверять уже в триггере, нужно обнулять ентот столбец с номером документа или не нужно.
//NowDate - текущая дата, EdgeDate - дата перевода стрелок :), например 31.12.2004_11:59:59
CREATE TRIGGER MyNewIDPlat(NowDate DATE, EdgeDate DATE)
....

IF (:NowDate > :EdgeDate) THEN
SET GENERATOR ... TO 0
...

Впрочем, не претендую на истину в последней инстанции, можно и еще какие-нибудь варианты сделать основываясь на том, что дату можно и в самом триггере проверить.

Ответ отправлен: 24.05.2004, 07:19
Отправитель: sir henry


 Вопрос № 1553

У нас есть локальная сеть, протянутая по всему городу. Есть куча разных серверов. Как хттп, так и фтп. Есть инет-страница, которая показывает статистику этих серверов. Определяет она это состояние следующим образом: на каждом сервере (HTTP or FTP) есть файл y.gif. Так вот если его нет, то картинка в браузер не грузится, а если есть, то грузится ;) Таким образом юзеры видят состояние серверов в данный момент.
На Дельфи я хочу сделать тоже самое. Вернее почти уже сделал... но пока нашел функцию скачки файлов по HTTP. Но на 11 сервере она почему-то останавливается и ничего не пишет. Причем если 11ым поставить другой сервер, все происходит также :(
Может как-то можно по-другому проверить состояние FTP и HTTP ?
Вот исходник проекта:


Приложение:


Вопрос отправлен: 23.05.2004, 16:07
Отправитель: maDByte

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

Отвечает Pawel

Добрый день, maDByte!
Посмотри в Королевстве Delphi

Ответ отправлен: 24.05.2004, 19:04
Отправитель: Pawel


Отвечает Boriss

Здравствуйте, maDByte!
Может использовать простое PING:
http://www.delphimaster.ru/articles/icmp.html (Реализация ping с помощью ICMP API)
Кроме того в Королевстве Delphi нашел то, что в приложении. Не проверял

Приложение:

Ответ отправлен: 24.05.2004, 11:48
Отправитель: Boriss


 Вопрос № 1554

Привет!
Есть функция, которой я определяю существование 20 URLов.
Если URL найден, то тут же выдается положительный ответ, но загвостка заключается в том, что если URL не нашелся, перед ответом 'Такого ресурса нет', программа думает целых 25 секунд... Может есть способ как увеличить скорость проверки существования URL?
Заранее благодарю!


Приложение:


Вопрос отправлен: 24.05.2004, 07:22
Отправитель: maDByte

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

Отвечает CrackLab

Добрый день, maDByte!
Я бы запускал проверку либо скачивание указанной страницы в отдельном потоке, одновременно запускал бы таймер на 5 секунд например. При срабатывании таймера я бы проверял как там дела с проверкой ну или со скачиванием страницы (сколько байт страницы скачалось), и если дела плохо, то завершал бы поток и дальше уже выводил бы ответ -такого ресурса нет- или что угодно...

Ответ отправлен: 24.05.2004, 07:59
Отправитель: CrackLab


Отвечает Boriss

Здравствуйте, maDByte!
Пожалуй, совет CrackLab наиболее удачен. Так уж устроена сеть, что она пытается найти всегда. И это правильно, так как сервер может просто не успевает дать Вам положительный ответ

Ответ отправлен: 24.05.2004, 10:28
Отправитель: Boriss


Отвечает Pawel

Добрый день, maDByte!
Использовать таймер в отдельном потоке.

Ответ отправлен: 24.05.2004, 19:13
Отправитель: Pawel


 Вопрос № 1555

Была написана программа на Дельфи6. Затем в результате отката ОС ХР были потеряны исходники к измененной версии программы. Осталось только откомпиллированный exe файл. Необходимо востановить исходные коды программы из этого exe файла. Возможно ли это, если возможно, то как? Нужен практический совет или хотя бы ссылки.



Вопрос отправлен: 24.05.2004, 09:43
Отправитель: Dfkthbq

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

Отвечает Boriss

Доброе время суток, Dfkthbq!
Вряд ли получится что хорошее. То есть деассемблировать точно сможете, но разобраться в нем ... Проще заново написать. Слышал о программах, восстанавливающих код Паскаля, но даже и не пробовал.
Вот, например:
http://www.ems-hitech.com/sourcerescuer (кажется, платный)


Ответ отправлен: 24.05.2004, 10:18
Отправитель: Boriss


Отвечает CrackLab

Здравствуйте, Dfkthbq!
Исходный код дельфи восстановить не получится. Как уже ответили другие эксперты можно только засунуть файл в дизассемблер и получить дизассемблированный листинг и все. Но это вам ничем не поможет. В общем нужно писать заново.

Ответ отправлен: 24.05.2004, 14:18
Отправитель: CrackLab


Отвечает sir henry

Приветствую Вас, Dfkthbq!
Возможно, но только в исходный код ассемблера, потому-что ЛЮБАЯ программа, на чем бы она не была написана, преобразуется в машинный код. А аналог машинного кода - это только ассемблер.

Ответ отправлен: 24.05.2004, 11:05
Отправитель: sir henry


Отвечает Snowm@n

Добрый день, Dfkthbq!
Юзай DeDe (Delphi Decompiler) - авось поможет :)

Ответ отправлен: 26.05.2004, 09:58
Отправитель: Snowm@n


Отвечает Pawel

Добрый день, Dfkthbq!
Полностью нельзя.
Частично(формы, ресурсы и т.п.) с использованием DeDe.

Ответ отправлен: 24.05.2004, 19:16
Отправитель: Pawel


 Вопрос № 1556

Добрый день!
Подскажите, что я не так делаю:
есть база Foxpro 2.0
Пробую ее с помощью DataPump
перегнать в *.db (Paradox)
не получается что-то с кодировкой,
хотя в Visual Foxpro открывается с
кодировкой 866 все нормально.
В BDE ставил самые разные драйвера Langdriver,
все равно на экране какая-то белиберда.



Вопрос отправлен: 24.05.2004, 10:25
Отправитель: Владимир

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

Отвечает Boriss

Доброе время суток, Владимир!
Вопрос неточно сформулирован. Что значит "самые разные"? На моей машине имеется только один подходящий dBASE RUS cp866.
Не лучше ли решить проблему средствами FoxPro - сменить кодировку.
Или, нашел в справке:
Надо установить шрифт по умолчанию не Arial Cyr , а Fixedsys или System. Примерно так:
1.найти производителя в реестре
HKEY_CURRENT_USERSOFTWAREBORLANDDBD7.0PreferencesPropertiesSystemFont и
меняешь Arial Cyr на стандартные для Windows: Fixedsys или System (писать название шрифта с большой буквы).
2. И в стандартном драйвере BDE ,например DBASE, ставишь русский драйвер dBASE RUS cp866.
Открываешь BDE configurator(administrator) и в строке Drivers->Native->DBASE->Langdriver->ставишь dBASE RUS cp866.

Ответ отправлен: 24.05.2004, 16:15
Отправитель: Boriss


Отвечает sir henry

Доброе время суток, Владимир!
Скорее всего у Вас в *.db тоже получается 866-я кодировка. Попробуйте в VFP или написав соответствующую программу на дельфи, сначала конвертировать 866-ю кодировку в 1251, а потом уже перегонять в db.

Ответ отправлен: 24.05.2004, 11:09
Отправитель: sir henry


Отвечает Pawel

Приветствую Вас, Владимир!
Ну так и получаете в db тоже кодировку 866.
Нужно через FoxPro перекодить базу.


Ответ отправлен: 24.05.2004, 19:17
Отправитель: Pawel


 Вопрос № 1557

Спасибо Sir Henry, but :
в триггере не выполняется SET GENERATOR .. TO ..
Версия Interbase 6.0
Как быть ?
И 2-ой вопрос :
пишу под Win98
хотелось бы XP-шный стиль, со вставкой XPmanifest ничего не меняется, перерыл инфу на эту тему, но так ничего не понял. Прошу доходчиво объяснить как это делается на практике.(поэтапно)



Вопрос отправлен: 24.05.2004, 13:19
Отправитель: jiny (zhas-trz@tarazinfo.kz)

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

Отвечает sir henry

Добрый день, jiny!
1. Да, действительно. Я честно говоря об этом не подумал :)).
Но не все так плохо как кажется :). Обнулить генератор можно так:
TEMPVAR = GEN_ID(NameOfGenerator, -GEN_ID(NameOfGenerator, 0);
т.е. сгенерировать значение с приращением на то же число, что уже есть в генераторе, но с обратным знаком. Немножко притянуто за уши, но работает :).
2. Не могу ничего сказать по этому поводу, т.к. не люблю украшательства в программах, но по-моему манифест работает только в XP, для остальных (W2K, например) нужно скачивать специальные библиотеки. Я этим вопросом не задавался, поэтому более подробно ничего сказать не могу.

Ответ отправлен: 25.05.2004, 09:13
Отправитель: sir henry


 Вопрос № 1558

Здравствуйте,ALL!
Опять я со своим вопросом...за номером 1540 и похожим на мой 1547.Пример с базой interbaseпонятен, но есть и MSACCESS:)
Перепробовал 1001 комбинацию,и опять
прошу помочь, потомучто ничего не получилось.
Привожу пример кода- регистрации, который не работает.
И неможет работать...


Приложение:


Вопрос отправлен: 24.05.2004, 16:45
Отправитель: Гена Васечкин

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

Отвечает Boriss

Приветствую Вас, Гена Васечкин!
Не пользую Interbase, а ADO. Но вот что нашел в описании:
Так как для доступа к БД компонентам Interbase не требуется BDE, то для создания соединения используется всего одно свойство DatabaseName. Для создания соединия можно воспользоваться СТАНДРАТНЫМ ДИАЛОГОМ ВЫБОРА ФАЙЛА ПРИ ЩЕЛЧКЕ НА КНОПКЕ СВОЙСТВА В ИНСПЕКТОРЕ ОБЪЕКТОВ (TIBDabase). Компонент имеет собственнй редактор, позволяющий задавать значения свойств соединения.
Там же можно и протестировать соединение

Ответ отправлен: 27.05.2004, 16:29
Отправитель: Boriss


 Вопрос № 1559

Здравствуйте ,эксперты .Может кто знает в каком файле лежат все зарезервированные слова в Delphi .Не хочеться лазить по модулям и в ручную вытаскивать их .Спасибо за ответ .



Вопрос отправлен: 24.05.2004, 17:15
Отправитель: Seiphirot

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

Отвечает sir henry

Добрый день, Seiphirot!
Все зарезервированые слова лежат не в модуле, а в учебнике по Дельфи. Если Вы имеете в виду слова типа FOR, IF, REPEAT, то их орпеделений ни в одном модуле Вы не найдете, это Вам не функции :)).

Ответ отправлен: 25.05.2004, 10:24
Отправитель: sir henry


Отвечает Pawel

Приветствую Вас, Seiphirot!
Reserved Words в хелпе посмотри.

Ответ отправлен: 24.05.2004, 18:51
Отправитель: Pawel


Отвечает CrackLab

Приветствую Вас, Seiphirot!
В дельфи в хелпе есть тема Reserved Words. Вот что там написано:
The following reserved words cannot be redefined or used as identifiers.
and
array
as
asm
begin
case
class
const
constructor
destructor
dispinterface
div
do
downto
else
end
except
exports
file
finalization
finally
for
function
goto
if
implementation
in
inherited
initialization
inline
interface
is
label
library
mod
nil
not
object
of
or
out
packed
procedure
program
property
raise
record
repeat
resourcestring
set
shl
shr
string
then
threadvar
to
try
type
unit
until
uses
var
while
with
xor
In addition to the words above, private, protected, public, published, and automated act as reserved words within object type declarations, but are otherwise treated as directives. The words at and on also have special meanings.

Ответ отправлен: 24.05.2004, 18:24
Отправитель: CrackLab


Отвечает Boriss

Здравствуйте, Seiphirot!
%)) А зачем их вытаскивать? Пусть там и сидят.
А серьезно, купите учебник любой, а лучше хороший. Я считаю, что и английский и язык знаю, а всех ж пять учебников купил. Там сеют доброе.
Или у Вас какой-то замысел хитрый?

Ответ отправлен: 25.05.2004, 18:53
Отправитель: Boriss


Отвечает Snowm@n

Добрый день, Seiphirot!
help->reserved words

Ответ отправлен: 26.05.2004, 09:56
Отправитель: Snowm@n


 Вопрос № 1560

Доброе время суток!
Помогите мне в таком деле:
1. Требуется создать невизуальный компонент, который будет
при изменений размеров формы менять пропорционально
размеры всех находящихя на нём др. визуальных компонентов.
Как это сделать?
2. Как события копмонентов создаваемых привязять к событию др. компнента?
Заранее всем спасибо, кто ответит!



Вопрос отправлен: 24.05.2004, 19:49
Отправитель: Roman

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

Отвечает Boriss

Здравствуйте, Roman!
А зачем? Просто в обработчке события OnResize для заданной формы изменяйте размеры других форм. Для этого пропишите их модули в USES, посмотрите в VAR, как они называются и спокойно так изменяете. Тут одно только - не зациклитесь!
Это стандарнтый такой приемик ...
2) Уточнине: программно или во время разработки?

Ответ отправлен: 25.05.2004, 19:08
Отправитель: Boriss


Отвечает sir henry

Добрый день, Roman!
1. В свойстве OnResize формы отслеживайте коэффициент изменения формы и меняйте размеры других компонентов по этому коэффициенту. Зачем нужен невизуальный компонент при этом - совершенно непонятно. Но если он Вам нужен - дело Ваше :).
2. Нельзя ли переформулировать вопрос? Вы имеете в виду, как из событий одного компонента вызывать события другого компонента? Просто вызывайте и все :).

Ответ отправлен: 25.05.2004, 10:30
Отправитель: sir henry


Отвечает Snowm@n

Приветствую Вас, Roman!
OnResize просчитывать координаты.

Ответ отправлен: 26.05.2004, 09:54
Отправитель: Snowm@n


 Вопрос № 1561

Уважаемые эксперты пожалуйста помогите:
Необходимо в СBuilder вывести на принтер PaintBox как это можно реализовать, а также копирование в буфер. На PaintBoxe рисую методом canvas.



Вопрос отправлен: 24.05.2004, 19:43
Отправитель: Андрей Зеленый (andreigreen@mail.ru)

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

Отвечает sir henry

Приветствую Вас, Андрей Зеленый!
1. У принтера есть такой-же Canvas. Делайте выводы :)).
Почитайте по ссылке:
http://www.comprice.ru/debug/2003-50.phtml
2. PaintBox в буфер - смотрите приложение.

Приложение:

Ответ отправлен: 25.05.2004, 10:55
Отправитель: sir henry


Отвечает Boriss

Здравствуйте, Андрей Зеленый!
sir henry все написал. Я только напомню, что в Builder вместо "дельфийской" точки (ю) ставьте ->. И все будет, как написано


Ответ отправлен: 25.05.2004, 19:10
Отправитель: Boriss


 Вопрос № 1562

================--------------------
Я бы запускал проверку либо скачивание указанной страницы в отдельном потоке, одновременно запускал бы таймер на 5 секунд например. При срабатывании таймера я бы проверял как там дела с проверкой ..., и если дела плохо, то завершал бы поток и дальше уже выводил бы ответ -такого ресурса нет- или что угодно...
----------------=====================
А реализацию можно ?
Заранее благодарен!!!



Вопрос отправлен: 24.05.2004, 20:54
Отправитель: maDByte

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

Отвечает CrackLab

Доброе время суток, maDByte!
Ну всю программу я писать не буду, хотя бы потому что последний раз я писал программу для работы с интернет года 2 назад и сейчас в упор не помню че там и как. Но могу подсказать как в Delphi создать поток, а вы уже впишете тело функции в потоковую процедуру.

Ответ отправлен: 24.05.2004, 21:11
Отправитель: CrackLab



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

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

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (22)
C / C++ (15)
Perl (1)
Builder / Delphi (17)
Pascal (20)
Basic / VBA (2)
Java / JavaScript (4)
PHP (12)
Криптография (6)
WinAPI (8)
Радиоэлектроника (9)
Пользователю
Windows 95/98/Me (35)
Windows NT/2000/XP (49)
"Железо" (29)
Поиск информации (16)
Администратору
Windows NT/2000/XP (21)
Linux / Unix (7)
Юристу
Гражданское право (10)
Семейное право (8)
Трудовое право (9)
КоАП (7)

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




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


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

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


В избранное