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

  #1  
Старый 28.04.2008, 18:57
z01b
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
С нами: 10182506

Репутация: 1393


По умолчанию

Цитата:
Сообщение от Metall  
Не совсем понятно как работает код, предлагаемый вами, т. к. мои знания Delphi пока минимальны. Но все равно спасибо.

Выдает ошибку: Cannot focus a disabled or invisible window
Так не пойдет, нельзя поставить курсор, на неактивный компонент.
 
Ответить с цитированием

  #2  
Старый 28.04.2008, 18:56
desTiny
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
С нами: 10139366

Репутация: 1502


По умолчанию

А что к тебя invisible или disabled?
__________________
Bedankt euch dafür bei euch selbst.

H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
 
Ответить с цитированием

  #3  
Старый 28.04.2008, 19:35
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
С нами: 10018169

Репутация: 1680


По умолчанию

Нужен код на делфи который парсит текстовый файл, и выводит содержимое в memo.

Смысл такой, надо проверить в текстовом файле каждую линию есть ли там http:// и нету ли там none.ru и вывести уже отфильтрованный текст всех линий в memo, с меня как и полагается плюсы!!!
 
Ответить с цитированием

  #4  
Старый 28.04.2008, 20:03
qPhoenix
Banned
Регистрация: 15.12.2005
Сообщений: 95
С нами: 10738406

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

2Nightmarе
Код:
procedure TForm1.Button1Click(Sender: TObject);
var fil:textfile;
    s:string;
begin
 assignfile(fil,'file.txt');
 reset(fil);
 repeat
  readln(fil,s);
  if (pos('http://',s)<>0) and (pos('none.ru',s)=0) then Memo1.Lines.Add(s);
 until eof(fil);
 closefile(fil);
end;
 
Ответить с цитированием

  #5  
Старый 29.04.2008, 19:22
zl0y
Banned
Регистрация: 13.09.2006
Сообщений: 523
С нами: 10346786

Репутация: 925


По умолчанию

Стыдно просить(( но посоветуйте компонент для скачивания страницы,чтобы был timeout на подключение к серверу и выдавал размер файла в начале или в процессе получения idhttp бажный походу ((
Wininet гавно хуже некуда
WinSock ниче,но зае%ся с 302 и 301 ошибками.
 
Ответить с цитированием

  #6  
Старый 29.04.2008, 19:26
desTiny
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
С нами: 10139366

Репутация: 1502


По умолчанию

Цитата:
Сообщение от zl0y  
Стыдно просить(( но посоветуйте компонент для скачивания страницы,чтобы был timeout на подключение к серверу и выдавал размер файла в начале или в процессе получения
что-нть типа:
Код:
function DownloadFile(const Url: string): string;
var
  NetHandle: HINTERNET;
  UrlHandle: HINTERNET;
  Buffer: array[0..1024] of char;
  BytesRead: cardinal;
begin
  Result := '';
  NetHandle := InternetOpen('Delphi 7.x', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);

  if Assigned(NetHandle) then
    begin

    UrlHandle := InternetOpenUrl(NetHandle, PChar(Url), nil, 0, INTERNET_FLAG_RELOAD, 0);

    if Assigned(UrlHandle) then
      { UrlHandle правильный? Начинаем загрузку } 
      begin 
      FillChar(Buffer, SizeOf(Buffer), 0); 
      repeat
        Result := Result + Buffer;
        FillChar(Buffer, SizeOf(Buffer), 0);
        InternetReadFile(UrlHandle, @Buffer, SizeOf(Buffer), BytesRead);
      until BytesRead = 0; 
      InternetCloseHandle(UrlHandle); 
      end 
    else 
      begin 
      { UrlHandle неправильный. Генерируем исключительную ситуацию. } 
      raise Exception.CreateFmt('Cannot open URL %s', [Url]); 
      end;

    InternetCloseHandle(NetHandle); 
    end 
  else 
    { NetHandle недопустимый. Генерируем исключительную ситуацию } 
    raise Exception.Create('Unable to initialize Wininet'); 
end;
В процессе размер в BytesRead..
Конечно, не совсем то, но всё же...

PS И не такое уж и гавно wininet А с сокетами работать надо ОсТоРоЖнО
__________________
Bedankt euch dafür bei euch selbst.

H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
 
Ответить с цитированием

  #7  
Старый 29.04.2008, 22:50
zl0y
Banned
Регистрация: 13.09.2006
Сообщений: 523
С нами: 10346786

Репутация: 925


По умолчанию

Цитата:
Сообщение от desTiny  
что-нть типа:
Код:
function DownloadFile(const Url: string): string;
var
  NetHandle: HINTERNET;
  UrlHandle: HINTERNET;
  Buffer: array[0..1024] of char;
  BytesRead: cardinal;
begin
  Result := '';
  NetHandle := InternetOpen('Delphi 7.x', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);

  if Assigned(NetHandle) then
    begin

    UrlHandle := InternetOpenUrl(NetHandle, PChar(Url), nil, 0, INTERNET_FLAG_RELOAD, 0);

    if Assigned(UrlHandle) then
      { UrlHandle правильный? Начинаем загрузку } 
      begin 
      FillChar(Buffer, SizeOf(Buffer), 0); 
      repeat
        Result := Result + Buffer;
        FillChar(Buffer, SizeOf(Buffer), 0);
        InternetReadFile(UrlHandle, @Buffer, SizeOf(Buffer), BytesRead);
      until BytesRead = 0; 
      InternetCloseHandle(UrlHandle); 
      end 
    else 
      begin 
      { UrlHandle неправильный. Генерируем исключительную ситуацию. } 
      raise Exception.CreateFmt('Cannot open URL %s', [Url]); 
      end;

    InternetCloseHandle(NetHandle); 
    end 
  else 
    { NetHandle недопустимый. Генерируем исключительную ситуацию } 
    raise Exception.Create('Unable to initialize Wininet'); 
end;
В процессе размер в BytesRead..
Конечно, не совсем то, но всё же...

PS И не такое уж и гавно wininet А с сокетами работать надо ОсТоРоЖнО
У меня тоже самое уже есть раза 3 на wininet и 2 на winsock'e,кстати флаг надо ставить чтобы не писал в кеш! Просто надоело подгонять winsock под ответы серверов и коды типо 302 moved here and e.t.c думаю,надо просто сесть и написать это норм а не страдать хней с wininet'ом



Цитата:
UrlHandle := InternetOpenUrl(NetHandle, PChar(Url), nil,
ВОт тут то и пауза если сервак не пашет,думаю надо все делать через потоки т.к установить таймаут для коннекта мне не удалось.
 
Ответить с цитированием

  #8  
Старый 29.04.2008, 22:56
NetSter
студент
Регистрация: 30.07.2007
Сообщений: 804
С нами: 9885926

Репутация: 1188


Question

Доброго времени суток. есть вопросик.
наведите пожалуйста пример написания функции на делфи, которая запускает программу или файл с помощью другой программы.
на С++ я себе представил это так
Код:
spawnl (P_WAIT,"c:\\windows\\notepad.exe","","input.txt",NULL) ;
нужно сделать тож самое только на Делфи.
Заранее спасибо.
 
Ответить с цитированием

  #9  
Старый 29.04.2008, 23:02
z01b
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
С нами: 10182506

Репутация: 1393


По умолчанию

Цитата:
Сообщение от NetSter  
Доброго времени суток. есть вопросик.
наведите пожалуйста пример написания функции на делфи, которая запускает программу или файл с помощью другой программы.
на С++ я себе представил это так
Код:
spawnl (P_WAIT,"c:\\windows\\notepad.exe","","input.txt",NULL) ;
нужно сделать тож самое только на Делфи.
Заранее спасибо.
Может просто добавить к notepad-у аргумент (место файла). Вот например так WinExec('c:\\windows\\notepad.exe c:\\input.txt',SW_SHOW);

ЗЫ Если программа считывает аргументы при старте, то будет открывать как тебе нужно, иначе она просто откроется, как без аргумента.

Последний раз редактировалось z01b; 29.04.2008 в 23:04..
 
Ответить с цитированием

  #10  
Старый 29.04.2008, 23:12
desTiny
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
С нами: 10139366

Репутация: 1502


По умолчанию

Цитата:
Сообщение от z01b  
Может просто добавить к notepad-у аргумент (место файла). Вот например так WinExec('c:\\windows\\notepad.exe c:\\input.txt',SW_SHOW);

ЗЫ Если программа считывает аргументы при старте, то будет открывать как тебе нужно, иначе она просто откроется, как без аргумента.
Micro$oft не рекомендует пользоваться функцией winexec, она оставлена только для совместимости с 9x
ShellExecute - что-то похожее
Ни ту, ни другую функцию заставить работать нормально и правильно лично мне не удалось.
Посему использую CreateProcess.
__________________
Bedankt euch dafür bei euch selbst.

H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
 
Ответить с цитированием
Ответ



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



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


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




ANTICHAT ™ © 2001- Antichat Kft.