HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #3821  
Старый 22.06.2009, 11:59
Lazar88
Новичок
Регистрация: 03.06.2009
Сообщений: 7
С нами: 8915148

Репутация: 1
По умолчанию

Цитата:
Сообщение от Nizhegorodets  
Нужно скопировать текст из edit в буфер обмена.Как это можно осуществить?
Clipboard.AsText := edit1.text;

в разделе Uses должен быть прописан модуль ClipBrd
 
Ответить с цитированием

  #3822  
Старый 22.06.2009, 12:07
Lazar88
Новичок
Регистрация: 03.06.2009
Сообщений: 7
С нами: 8915148

Репутация: 1
По умолчанию

Нужно занести данные на web страницу через TWebBrowser
выдает ошибку:


Подскажите что не так.
И поделитесь ссылкой на подробную статью о работе c TWebBrowser если есть у кого

Код:
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ComCtrls, OleCtrls, SHDocVw, MSHTML_TLB;

procedure TForm1.Button1Click(Sender: TObject);
var
v: Variant;
 form : variant;
 f,i:Integer;
 begin
WebBrowser1.Navigate('http://id.rambler.ru/sсriрt/newuser.cgi');

for f:=0 to WebBrowser1.OleObject.Document.forms.Length-1 do begin
form:=WebBrowser1.OleObject.Document.forms.Item(f) .elements;
for i:=0 to form.Length-1 do
if form.item(i).name='login' then 
form.item(i).value:='test1'
else
if form.item(i).name='firstname' then 
form.item(i).value:='test2';

end;  end;

вылетает здесь:
for f:=0 to WebBrowser1.OleObject.Document.forms.Length-1 do begin

а если заменить WebBrowser1.OleObject.Document.forms.Length-1 просто на цифру то здесь:
form:=WebBrowser1.OleObject.Document.forms.Item(f) .elements;
 
Ответить с цитированием

  #3823  
Старый 22.06.2009, 12:56
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

работа тут идет в асинхронном режиме и по этому
WebBrowser1.Navigate('http://id.rambler.ru/sсriрt/newuser.cgi'); - заставляет грузить страницу
for f:=0 to WebBrowser1.OleObject.Document.forms.Length-1 do begin - пытается обратиться к еще незагруженным данным, так что ожидай события OnDocumentComplete
 
Ответить с цитированием

  #3824  
Старый 22.06.2009, 13:03
Nizhegorodets
Участник форума
Регистрация: 21.03.2009
Сообщений: 207
С нами: 9021828

Репутация: 119
По умолчанию

Цитата:
Сообщение от Lazar88  
Clipboard.AsText := edit1.text;

в разделе Uses должен быть прописан модуль ClipBrd
+1
 
Ответить с цитированием

  #3825  
Старый 22.06.2009, 13:13
--StraNger--
Познающий
Регистрация: 04.01.2009
Сообщений: 94
С нами: 9131159

Репутация: 145
По умолчанию

Цитата:
Сообщение от Nizhegorodets  
Нужно скопировать текст из edit в буфер обмена.Как это можно осуществить?
Кстати не обязательно использовать отдельный класс Clipboard
Т.е.у некоторых компонентов есть свои методы.
Например:
Код:
Edit1.CopyToClipboard //копировать в буфер
Edit1.CutToClipboard //вырезать
 
Ответить с цитированием

  #3826  
Старый 22.06.2009, 13:37
Lazar88
Новичок
Регистрация: 03.06.2009
Сообщений: 7
С нами: 8915148

Репутация: 1
По умолчанию

Цитата:
Сообщение от slesh  
работа тут идет в асинхронном режиме и по этому
WebBrowser1.Navigate('http://id.rambler.ru/sсriрt/newuser.cgi'); - заставляет грузить страницу
for f:=0 to WebBrowser1.OleObject.Document.forms.Length-1 do begin - пытается обратиться к еще незагруженным данным, так что ожидай события OnDocumentComplete
можно по подробнее об использовании события? желательно на примере.
 
Ответить с цитированием

  #3827  
Старый 22.06.2009, 13:54
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

зафикач код
Код:
for f:=0 to WebBrowser1.OleObject.Document.forms.Length-1 do begin
form:=WebBrowser1.OleObject.Document.forms.Item(f)   .elements;
for i:=0 to form.Length-1 do
if form.item(i).name='login' then 
form.item(i).value:='test1'
else
if form.item(i).name='firstname' then 
form.item(i).value:='test2';
в обработчик события. (события - там где свойства компонента, тока на другйо вкладке)
 
Ответить с цитированием

  #3828  
Старый 22.06.2009, 14:00
Lazar88
Новичок
Регистрация: 03.06.2009
Сообщений: 7
С нами: 8915148

Репутация: 1
По умолчанию

Цитата:
Сообщение от slesh  
зафикач код
Код:
for f:=0 to WebBrowser1.OleObject.Document.forms.Length-1 do begin
form:=WebBrowser1.OleObject.Document.forms.Item(f)   .elements;
for i:=0 to form.Length-1 do
if form.item(i).name='login' then 
form.item(i).value:='test1'
else
if form.item(i).name='firstname' then 
form.item(i).value:='test2';
в обработчик события. (события - там где свойства компонента, тока на другйо вкладке)
все разобрался. все работает. спасибо
 
Ответить с цитированием

  #3829  
Старый 22.06.2009, 16:49
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
С нами: 8947056

Репутация: 229
По умолчанию

Вообщем надо мне просто один пакет послать... (который в мемо)(пакет/пакеты могут быть к разным хостам)
Как это сделать?

Там же надо с типом "sockaddr_in" что-то мудрить! Но я знаю как с ним мудрить если к одному хосту все это идет, а если к нескольким?(как в моем случае)
 
Ответить с цитированием

  #3830  
Старый 22.06.2009, 18:08
scroollocker
Новичок
Регистрация: 14.06.2009
Сообщений: 8
С нами: 8899449

Репутация: 1
По умолчанию

Цитата:
Сообщение от scroollocker  
Не получается закинуть файл на фтп! Проблемное место в коде отмечено!
Delphi говорит: "Incompatible types: 'string' and 'PAnsiChar' "
Помогите!
Код:
uses
  Windows, Messages, SysUtils, Variants, Classes,   Graphics, Controls, Forms,
  Dialogs, StdCtrls, jpeg, ExtCtrls, wininet, Mask, ComCtrls;

var
 conn_param,inet_open : hinternet;
 AboutPC, ftpfilename, filename:pchar;
 port: integer;
procedure TForm1.Button1Click(Sender: TObject);
begin
    Port:=21;
    AboutPC:=Pchar('Любая String строка');// вот я перевел String в PChar
    filename:='C:\Info_.txt';
    ftpfilename:='/test/Info_'+AboutPC+'.txt'; // вот здесь он ругается! и вылетает! 
    inet_open := internetopen('iexplore',INTERNET_OPEN_TYPE_DIRECT,nil,nil,0);
    conn_param := internetconnect(inet_open,'ftp.ru',port,'Name','Pass',INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,0);
    sleep(100);
    ftpputfile(conn_param,filename,ftpfilename,FTP_TRANSFER_TYPE_UNKNOWN,0);
    internetclosehandle(conn_param);
    internetclosehandle(inet_open) ;
    if true then
    showmessage('Good');
end;
end.
Я и память под PChar выделял и все делал как мне сказали, но не получается! Ну в чем тут трабла?
вот string в PChar перевел
AboutPC:=Pchar('Любая String строка');
а делфи ругает
ftpfilename:='/test/Info_'+AboutPC+'.txt';

"Incompatible types: 'string' and 'PAnsiChar' "
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2569 10.05.2026 13:27
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.