Вопрос № 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.
Ответ отправил: 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