Вопрос № 60324: Ув. эксперты!
Помогите решить такую проблему:
Необходимо (программой написанной на Delphi) открыть интернет страничку (пока для этого пользуюсь TWebBrowser-ом, но если предложите лучший и бесплатный компонент буду очень благодарен), в ко...Вопрос № 60352: здравствуйте, подкажите пож.как решить проблему.
из дельфи запускаю приложение word и excel с помощью след.кода:
var w,e:variant;
..
try
w:=getactiveoleobject('word.application');
except
w:=createoleobject('word.applicatio...Вопрос № 60401: Здравствуйте господа эксперты.
Существуют ли компоненты (для D7 и WinXP) предназначенные для компилирования с ассемблера микропроцессоров семейства MCS-51.
Можно ли написать такой компонент на основе DOS ассемблеров, работающих из команд...Вопрос № 60411: прошу неудивляйтесь моему вопросу
потомучто ответ может быть простой а я как новичек невижу его
задача такай
на форме есть Edit в который я ввожу с клавиатуры набор цифр или букв как сделать чтобы при вводе они появлялись типа звездочек...Вопрос № 60429: Здравствуйте, УВАЖАЕМЫЕ ЭКСПЕРТЫ!!!! Подскажите, как правиьно сделать в данном тесте, чтобы на Form3 в Label6 по клику на кнопке BitBtn1 отобразить результат ответа на вопрос (правильно/неправильно). Заранее СПАСИБО!!!!!
...
Вопрос № 60.324
Ув. эксперты!
Помогите решить такую проблему:
Необходимо (программой написанной на Delphi) открыть интернет страничку (пока для этого пользуюсь TWebBrowser-ом, но если предложите лучший и бесплатный компонент буду очень благодарен), в которой находится несколько фреймов (без названий) и остановить загрузку страницы в одном из фреймов.
Отвечает: PaVeL_Ekt
Здравствуйте, Устинов Сергей Евгеньевич!
Скорее всего все интернет компоненты загружают страницы автоматически и остановить выборочно загрузку врядтли удастся.
По крайней мере, таких компонентов я не знаю.
Но если вам так нужно останавливать загрузку выборочных страниц отображающихся в фреймах, то в принципе можно использовать TClientSocket.
На етом компоненте можно построить свой BROWSER.
В его использовании кончно есть сложности, но с поставленной задачей он справиться.
Правда надо провести анализ запросов и сообщений с вебсервером !!!
см. приложение, там я привел несколько примеров запросов и ответов сервера !!!
отправить сообщение на сервер можно так:
Первое при соединении:
procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
Begin
socket.SendText(Запрос_1);
end;
Прием текста:
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var i:integer;s,s1:string;
begin
s:=socket.ReceiveText;
// обработка текста
// если нужно запрашивать еще страницы то
socket.SendText(Запрос_2);
end;
Приложение:
--------- Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: 4-ый класс)
Ответ отправлен: 27.10.2006, 07:34 Оценка за ответ: 4 Комментарий оценки: Ой как все сложно :( Вариант решения я все-таки создал - он находится в минифоруме вопроса.
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Устинов Сергей Евгеньевич!
Вначале посмотрите эту статью
Загрузку нужного фрейма можно отследить, например, по достижению специальной переменной-счетчика определенного значения.
Для остановки загрузки вызовите WebBrowser.Stop;
В приложении перевод комменатрия к статье на случай, если совсем плохо с иностранными языками.
Приложение:
--------- Не узнаешь - не попробуешь.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: Практикант)
Ответ отправлен: 27.10.2006, 15:20 Оценка за ответ: 4 Комментарий оценки: Остановить загрузку страницы во фрейме, и остановить загрузку всей страницы это, по-моему, немножко разные вещи :) А вообще спасибо!
Вопрос № 60.352
здравствуйте, подкажите пож.как решить проблему.
из дельфи запускаю приложение word и excel с помощью след.кода:
var w,e:variant;
..
try
w:=getactiveoleobject('word.application');
except
w:=createoleobject('word.application');
end;
c excelем также.
если в момент запуска проги есть открытое приложение word/excel, то все работает нормально, т.е.дельфи подключается к запущенному приложению, а если открытого нет, то программа ничего не открывает и выдает ошибку "invalid variant action".
помогите разобраться, в чем проблема и как ее можно обойти.
Отправлен: 27.10.2006, 11:42
Вопрос задала: Ladykey (статус: Посетитель)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Gladiator
Здравствуйте, Ladykey!
На createoleobject напиши также
try
except
on E: Exception do begin
Result:=E.Message; // строка сообщения
Exit
end;
end;
Не уверен что здесь w:=createoleobject('word.application'); ошибка.
Ответ отправил: Gladiator (статус: 5-ый класс)
Ответ отправлен: 27.10.2006, 12:03
Отвечает: PaVeL_Ekt
Здравствуйте, Ladykey!
Ошибка будет выходить только при программировании (свойство TRY) а в скомпилеванном екзешнике она не возникает (сам проверил), и код полностью выполняется (создается новый образец Word.application), так что работайте дальше и не обращайте внимание на ошибки !!!
Могу посоветовать Вам использовать компоненты WordApplication и ExcelApplication на вкладке Servers.
Там у них есть свойство ConnectKind которое по умолчанию равно ckRunningOrNew, тобиш если Word или Excel запущены, тогда он работает с ними иначе запускает.
А вообще эти компоненты очень хороши, мне очень даже понравились !!!
--------- Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: 4-ый класс)
Ответ отправлен: 27.10.2006, 12:40
Ответ отправил: Sattar (статус: 2-ой класс)
Ответ отправлен: 27.10.2006, 19:45
Отвечает: FighterFJ13
Здравствуйте, Ladykey!
Попробуй так:
var
W: OLEVariant;
....
W := CreateOleObject('Word.Application');
W.Visible := True;
....
с Екселем также.
Ответ отправил: FighterFJ13 (статус: 2-ой класс)
Ответ отправлен: 28.10.2006, 01:49
Вопрос № 60.401
Здравствуйте господа эксперты.
Существуют ли компоненты (для D7 и WinXP) предназначенные для компилирования с ассемблера микропроцессоров семейства MCS-51.
Можно ли написать такой компонент на основе DOS ассемблеров, работающих из командной строки, так чтобы при компиляции не отображалось DOS- окно, а результаты работы компилятора выводились в TMemo.
Отвечает: sir henry
Здравствуйте, Николай Петров!
Про подобные компоненты я не знаю, но навряд ли, т.к. каждый компилятор компилирует только инструкции своего языка.
А вот использовать для этой цели компилятор командной строки для МП вполне возможно. Если, конечно, в Вашей винде они успешно работают. :)
Добавляете в своей программе модуль ShellAPI и выдаете процедуру такого вида:
Shellexecute(0, 'open', 'Название_компилятора_для_МП', 'опции_которые_нужны_для_компилирования', NIL, NIL, SW_HIDE);
В параметр с опциями Вы добавляете досовский знак перенаправления в текстовый файл, например '> error.txt', тогда этот файл с инфой компилятора Вы сможете загрузить в Мемо:
Memo1.Lines.LoadFromFile('error.txt');
И любоваться результатом работы компилятора. :)
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 28.10.2006, 06:58
Вопрос № 60.411
прошу неудивляйтесь моему вопросу
потомучто ответ может быть простой а я как новичек невижу его
задача такай
на форме есть Edit в который я ввожу с клавиатуры набор цифр или букв как сделать чтобы при вводе они появлялись типа звездочек
(чтото типа пароля)
если в Edit это сделать невозможно то покажите пример где ето можно сделать и каким образом.
Заранее спасибо.
Отправлен: 27.10.2006, 21:05
Вопрос задал: Fins (статус: Посетитель)
Всего ответов: 6 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Устинов Сергей Евгеньевич
Здравствуйте, Fins!
Свойству PasswordChar объекта Edit присвойте значение *.
Удачи!
--------- Ответы на все вопросы - на сайте www.ya.ru ☺
Отвечает: Sattar
Здравствуйте, Fins!
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.PasswordChar:='*';
end;
Ответ отправил: Sattar (статус: 2-ой класс)
Ответ отправлен: 27.10.2006, 22:01
Отвечает: Andronik
Здравствуйте, Fins!
Добавлю к ответам предыдущих экспертов, что для этого можно использовать не только TEdit, но и специализированный компонент TMaskEdit с палитры Additional, у которого тоже есть свойство PasswordChar. Кроме того, можно использовать не только звездочки, но и вообще любой символ - для этого нужно использовать его код с предшествующим знаком #
Edit1.PasswordChar := #32; //замена пойдет пробелами, а не звездочками
Edit1.PasswordChar := #7; // на каждый введенный символ будет гудеть бипер
--------- Запрограммировать можно все... кроме собственного поведения
Ответ отправил: Andronik (статус: 1-ый класс)
Ответ отправлен: 27.10.2006, 22:41
Отвечает: W@NDeReR
Здравствуйте, Fins!
Чтобы текст или цифры появлялись в виде звёздочек можно воспользоватьтся компонентом MaskEdit c вкладки Additional, в свойстве MaskEdit passwordChar
нужно указать какие символы будут видны заместо текста в вашем случае это *
Ответ отправил: W@NDeReR (статус: 1-ый класс)
Ответ отправлен: 28.10.2006, 09:43
Отвечает: Александр Викторович Анкудинов
Здравствуйте, Fins!
У Edit'а есть свойство PasswordChar. Чтобы все вводимое отоброжадось в виде звездочек оно должно быть равным "*". Но лучше используй что нибудь другое.
Больно легко Edit взламывается.
--------- Век живи - век учись
У EDIT есть свойство PasswordChar
Сделайте его * и все !!!
УДАЧИ
--------- Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: 4-ый класс)
Ответ отправлен: 30.10.2006, 09:17
Вопрос № 60.429
Здравствуйте, УВАЖАЕМЫЕ ЭКСПЕРТЫ!!!! Подскажите, как правиьно сделать в данном тесте, чтобы на Form3 в Label6 по клику на кнопке BitBtn1 отобразить результат ответа на вопрос (правильно/неправильно). Заранее СПАСИБО!!!!!
Приложение:
Отправлен: 28.10.2006, 00:13
Вопрос задала: Алена (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Melamed
Здравствуйте, Алена!
В обрабодчике события OnClick для кнопки BitBtn1 при условии правельности проведенного рассчета
пишешь
Form3.Label6.Caption := "Правильно"
в противном случае
Form3.Label6.Caption := "Неправильно"
Смотри логику своей программы. По вашему вопросу условие правильности произведенных
дейсвий я определить, к сожалению, не могу
Ответ отправил: Melamed (статус: 7-ой класс)
Ответ отправлен: 28.10.2006, 15:06
Отвечает: PaVeL_Ekt
Здравствуйте, Алена!
не совсем понял Ваш вопрос, если Вам нужно с 2 формы нажать кнопку тогда
Form3.label6.caption:='Текст'
Если кнопка находиться на 3 форме но, Вам нужно ее нажать находясь на 2 форме
тогда
Form3.BitBnt1.click;
или можно вызвать обработчик условия нажатия кнопки
Form3.BitBtn1.OnClick(BitBtn1);
Алена убедительная просьба в следующий раз более четко составлять вопросы, это упростит понимание, увеличит скорость ответов, и исключит излишнюю информацию.
УДАЧИ !!!
--------- Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: 4-ый класс)
Ответ отправлен: 30.10.2006, 09:28