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

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


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

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

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

Выпуск № 301
от 21.11.2005, 13:36

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


Вопрос № 29595: Привет всем! Скажите пожалуйста, можно ли и как отпарсить дос окно вызваное с параметром sw_hide ? Спасибо!...
Вопрос № 29597: Здраствуйте Ataman N. N. Вы мне писали про компонент KSDevSkinEngine. подскажите где можно его скачать или вышлите мне на почту с/у Ера...
Вопрос № 29628: Подскажите где взять RAS И как его установить на 7 версию. Как его использовать, чтобы сделать connect к интернету....
Вопрос № 29630: Что надо задать в опциях компилятора Делфи 6, что бы я мог внутри цикла изменять значения счетчика цикла и при этом компилер перестал ругаться? В данном приложении j. Большое спасибо....
Вопрос № 29645: Ув Эксперты У меня к ВАМ следующий вопрос появился в ходе моей работы в Delphi, я только учусь так что не обижайтесь если часто задаю вопросы У меня возник следующий вопрос. Как программно открыть word файл упакованного в архив с паролем на...
Вопрос № 29651: Добрый день! Поскажите , плиз, реализацию двух видов сортировки: - Быстрая сортировка с разделением на три части (метод Бентли-Макилроя); - Поразрядная сортировка LSD. Или подскажите где можно в нете поискать! Всем спасибо!...

Вопрос № 29.595
Привет всем!
Скажите пожалуйста, можно ли и как отпарсить дос окно вызваное с параметром sw_hide ?
Спасибо!
Отправлен: 15.11.2005, 13:32
Вопрос задал: FishMD (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: sir henry
Здравствуйте, FishMD!
Пожалуйста поясните, что значит "отпарсить дос окно"?
Ответ отправил: sir henry (статус: Академик)
Отправлен: 15.11.2005, 13:37

Отвечает: Jadd
Здравствуйте, FishMD!
А что значит отпарсить? Получить вывод этого окна в свое приложение? Тогда через CreatePipe. Перенаправляешь вывод в пайп и читаешь из пайпа. Я тут отвечал уже на подобный вопрос и давал пример. Если не найдешь, пиши мне на мыло, пришлю.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Отправлен: 15.11.2005, 13:38


Вопрос № 29.597
Здраствуйте Ataman N. N.
Вы мне писали про компонент KSDevSkinEngine. подскажите где можно его скачать или вышлите мне на почту
с/у Ера
Отправлен: 15.11.2005, 13:47
Вопрос задал: ERA (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ataman N. N.
Здравствуйте, ERA!
Я Вам с удовольствием вышлю этот пакет компонент, если буду знать Ваш e-mail.
Вы можете связаться со мной по адрессу: atamannn@mail.ru.
Ответ отправил: Ataman N. N. (статус: 2-ой класс)
Отправлен: 18.11.2005, 11:07


Вопрос № 29.628
Подскажите где взять RAS И как его установить на 7 версию.
Как его использовать, чтобы сделать connect к интернету.
Отправлен: 16.11.2005, 01:04
Вопрос задал: REFERI (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, REFERI!
1. RAS можно взять на www.torry.net. Зайдете на этот сайт, наберете в строке поиска ras и он Вам выдаст более десятка компонентов. Выберете себе, какой больше понравится. Устанавливать обычно не надо, т.к. там невизуальные компоненты, а просто в строке USES прописываете название модуля.
2. Вот, например, функция подключения, взятая с сайта delphiworld.narod.ru
function DialProvider(connection: string): boolean;
// connection - имя учетной записи
var
pars: TRasDialParams;
hRas: ThrasConn;
r: integer;
begin
hRas := 0;
strpcopy(pars.szEntryName, connection); // имя учетной записи
pars.szPhoneNumber := ''; // номеp телефона - по умолчанию
pars.szcallbacknumber := ''; // callback нам не нужен
pars.szUserName := ''; // логин - по умолчанию
pars.szPassWord := ''; // паpоль - по умолчанию
pars.szDomain := ''; // аналогично с домейном
pars.dwSize := Sizeof(TRasDialParams); // вычисляем pазмеp записи
r := rasdial(nil, nil, pars, 0, nil, hRas); // звоним
if r <> 0 then
begin // если что-то неполучилось, то
rasHangUp(hRas); // сбpасываем соединение
result := false; // ф-ция тепеpь веpнет false
end
else
result := true; // а если все ок - то true.
end;
Ответ отправил: sir henry (статус: Академик)
Отправлен: 16.11.2005, 05:13


Вопрос № 29.630
Что надо задать в опциях компилятора Делфи 6, что бы я мог внутри цикла изменять значения счетчика цикла и при этом компилер перестал ругаться? В данном приложении j. Большое спасибо.

Приложение:

Отправлен: 16.11.2005, 02:17
Вопрос задал: Master135 (статус: Студент)
Всего ответов: 7
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: mvp
Здравствуйте, Master135!
Ничего не выйдет :(
Можно посмотреть сюда http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_20266132.html
Правда на английском, но, из текста получается, что в Delphi 5 ещё можно было так сделать, а начиная с 6-го - уже нет.
Так что, или ставить 5-ю дельфю или заменить через while или repeat (см. приложение)

Приложение:

---------
Моя совесть чиста - не бывшая в употреблении

Ответ отправил: mvp (статус: 10-ый класс)
Отправлен: 16.11.2005, 02:54
Оценка за ответ: 5

Отвечает: sir henry
Здравствуйте, Master135!
Внутри цикла FOR? Вы с ума сошли, зачем там менять значения счетчика?
Если непременно хотите менять, то для этого есть два других цикла:
While .. do
Repeat .. Until
Вот в них пожалуйста делайте что хотите. А компилятор тут Вам совсем не при чем. :)
Ответ отправил: sir henry (статус: Академик)
Отправлен: 16.11.2005, 05:18

Отвечает: Schmak
Здравствуйте, Master135!
Сомневаюсь. что у Вас что-то получится. А почему Вам не нроавится цикл While/ Пример:
i:=0;
size:=10;
while i<=size do
begin
inc(i);
//А здесь уж что надо, то и делает с i например
if i mod 2=0 then inc(i);
end;
Правда при изменении i внутри цикла есть шанс уйти в бесконечный цикл, если неправильно поставить условия.
---------
Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: 9-ый класс)
Отправлен: 16.11.2005, 05:26

Отвечает: Jadd
Здравствуйте, Master135!
Откройте справочник по языку. Значения циклической переменной (цикл for) менять нельзя. Это не свойство компиллера, а свойство языка программирования. Используйте дугие виды циклов (while, repeat).
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Отправлен: 16.11.2005, 08:46

Отвечает: Denisss
Здравствуйте, Master135!
Если Вас не устраивают циклы while и repeat, то используйте тот же for, но downto (см. пример)

Приложение:

Ответ отправил: Denisss (статус: Практикант)
Отправлен: 16.11.2005, 10:11

Отвечает: Маренич Владимир
Здравствуйте, Master135!
Использовать цикл while вместо for

Приложение:

Ответ отправил: Маренич Владимир (статус: 5-ый класс)
Отправлен: 16.11.2005, 11:01

Отвечает: REFERI
Здравствуйте, Master135!
Delphi не позволяет внутри цикла изменять значения счетчика цикла во избежании путаницы компилятором и возникновения ошибок памяти. Чтобы манипулировать значениями счетчика нужно просто использовать не сами их значения, а присвоив их другой переменной. Например k:=j Dec(k).

---------
Не судите, да не судимы будете...
Ответ отправил: REFERI (статус: 1-ый класс)
Отправлен: 17.11.2005, 20:31


Вопрос № 29.645
Ув Эксперты
У меня к ВАМ следующий вопрос появился в ходе моей работы в Delphi, я только учусь так что не обижайтесь если часто задаю вопросы
У меня возник следующий вопрос. Как программно открыть word файл упакованного в архив с паролем например zip архив
подскажите пожалуйста как это реализовать, если можно примерчик
с/у Ера
Отправлен: 16.11.2005, 09:37
Вопрос задал: ERA (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Denisss
Здравствуйте, ERA!
Честно говоря, я Вас не совсем понял.
Что Вам надо - включить в запароленный архив Word файл, или же распаковать и открыть?
Как бы там ни было, но для работы с Zip архивами Вам придется найти какие-нибудь компоненты, либо библиотеку. Из всех известных мне компонентов, с запароленными архивами могут работать только VCLZip, ZipTV, ZipForge - к сожалению, все они платные.
Кроме того есть в интернете и бесплатные библиотеки, но они основаны на работе с Zip.dll и UnZip.dll - если это Вас не смущает, то:
http://www.torry.net/vcl/compress/std/chiefzip.zip;
http://www.torry.net/vcl/compress/std/dzdel.zip;
http://www.torry.net/vcl/compress/std/kazip20.zip.

Ну или поищите тут:
http://www.torry.net/quicksearchd.php?String=zip+dll&Title=No
Ответ отправил: Denisss (статус: Практикант)
Отправлен: 16.11.2005, 09:58

Отвечает: sir henry
Здравствуйте, ERA!
То что часто, это хорошо, значит Вы человек неравнодушный. Главное, чтобы вопросы были понятны. :)
Тут у Вас два отдельных вопроса друг с другом не связаные. Первый - как распаковать zip-архив защищенный паролем и второй - как открыть вордовский файл.
1. Самый простой способ распаковать архив - использовать внешний архиватор и функцию ShellExecute(), при этом разархивация (ключи, пароли) определяются программой, которая будет использоваться для разархивации. Например:
ShellExecute(0. 'open', '7z', 'x -r0 -pПароль -y',NIL, SW_SHOW);
Здесь распаковка архива производится архиватором 7z (отличный, рекомендую).
Можно использовать компонент для работы с zip-архивами (например zlib, который поставляется с Delphi 7). Тут конкретный код будет определятся самим компонентом.
2. Для открытия вордовского документа можно использовать либо компоненты которые есть в составе Дельфи, либо самостоятельно использовать OLE, например:
var
MsWord: OleVariant;
Begin
MsWord:=CreateOleObject('Word.Application');
MsWord.Documents.Add(fileName,EmptyParam);
MsWord.Visible:=True;
End;
Можно вместо Add применить Open(), но там идет чудовищное количество параметров, причем их количество зависит от ветисии Word. :)
Ответ отправил: sir henry (статус: Академик)
Отправлен: 16.11.2005, 11:44


Вопрос № 29.651
Добрый день!
Поскажите , плиз, реализацию двух видов сортировки:
- Быстрая сортировка с разделением на три части (метод Бентли-Макилроя);
- Поразрядная сортировка LSD.

Или подскажите где можно в нете поискать!
Всем спасибо!
Отправлен: 16.11.2005, 11:55
Вопрос задал: LeVin (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Schmak
Здравствуйте, LeVin!
Зайдите на страничку http://algolist.manual.ru/sort/
Там есть ссылки на разные алгоритмы сортировки, в частности
http://algolist.manual.ru/sort/quick_sort.php
http://algolist.manual.ru/sort/radix_sort.php

---------
Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: 9-ый класс)
Отправлен: 16.11.2005, 16:23


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

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

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

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

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


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


© 2001-2005, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100 hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=314124&im=101&r="+escape(document.referrer)+"&pg="+ escape(window.location.href); document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N"); hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+ (((navigator.appName.substring(0,3)=="Mic"))? screen.colorDepth:screen.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; document.write("HotLog")

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Архив рассылки
Отписаться
Вспомнить пароль

В избранное