[ Delphi / Pascal ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by banned, 6 May 2007.

Thread Status:
Not open for further replies.
  1. Nullsleep

    Nullsleep Member

    Joined:
    2 Jun 2009
    Messages:
    67
    Likes Received:
    26
    Reputations:
    0
    HTL, выделяешь нужные компоненты, жмешь Ctrl + X, щелкаешь на GroupBox и Ctrl + V.
     
  2. Thenno

    Thenno Member

    Joined:
    3 Jul 2009
    Messages:
    77
    Likes Received:
    21
    Reputations:
    0
    В Objekt TreeView выделяешь эти объекты и переносишь их на название GroupBox1.
     
  3. ChuKeY

    ChuKeY New Member

    Joined:
    21 Jun 2009
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    PHP:
    <?
    $ip=getenv("REMOTE_ADDR"); #айпишник компа с которого пришел отчет
     
    $dirname "logs/"#папка куда будут складываться отчеты
    if(!file_exists($dirname)){        #если нету паки, создаем
        
    mkdir($dirname0777true); #ставим права доступа
      
    }
    $name =$dirname.$_FILES['myfile']['name']; #составляем имя файла  папка/время/[айпишник]/имя файла которое было на компе
     
    $filegate=@$_FILES['myfile']['tmp_name']; #пока идет закачка дается временное имя
     
    if (!empty($filegate))
      {
        
    move_uploaded_file($filegate,$name); #все складваем в лог папку
       
    echo "okkk";
      }
    ?>

    Code:
    procedure sendpost(host,pathscript,filename:string);
    var
      hOpenHandle, hConnectHandle, hResourceHandle: Pointer;
      boundary:string;
      header, data:string;
       fhand: THandle;
      fBuffer: pchar;
      fhFileSize,BytesRead: dword;
        bound:string;
        namefile:string;
    begin
    fhand := CreateFile(pchar(filename), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
     fhFileSize:= GetFileSize(fhand,nil);
     GetMem(fBuffer, fhFileSize);
     ReadFile(fhand, fBuffer^, fhFileSize, BytesRead, nil);
      closehandle(fhand);
    
      bound:=
         chr(65+random(25))+chr(97+random(25))+chr(48+random(9))
         +chr(97+random(25))+chr(65+random(25))+chr(48+random(9))
    	 +chr(97+random(25))+chr(97+random(25))+chr(48+random(9))
         +chr(65+random(25))+chr(48+random(9))+chr(97+random(25))
         +chr(65+random(25))+chr(48+random(9))+chr(97+random(25))
         +chr(48+random(9))+chr(97+random(25))+chr(48+random(9))
         +chr(65+random(25))+chr(97+random(25))+chr(65+random(25))+chr(97+random(25));
      namefile:=extractfilename(filename);
      hOpenHandle := InternetOpen(nil, 0, nil, nil, 0);
      if hOpenHandle <> nil then
      begin
        hConnectHandle := InternetConnect(hOpenHandle, pchar(host), 80, nil, nil, 3, 0, 0);
        if hConnectHandle <> nil then
        begin
          hResourceHandle := HttpOpenRequest(hConnectHandle, 'POST', pchar(pathscript), nil, nil, nil, INTERNET_FLAG_KEEP_CONNECTION, 0);
          if hResourceHandle <> nil then
          begin
            boundary := inttostr(random(65355))+inttostr(random(65355))+inttostr(random(65355));
            header := 'Content-Type: multipart/form-data; boundary=----------'+bound;
            data := '------------'+bound+#13#10+
                    'Content-Disposition: form-data; name="info"'#13#10#13#10+'dfgdfgdfgdfg'+#13#10+
                    '------------'+bound+#13#10+
                    'Content-Disposition: form-data; name="myfile"; filename="'+namefile+'"'#13#10+
                    'Content-Type: text/plain'#13#10#13#10+fBuffer+#13#10+
                    '------------'+bound+'--';
    
            HttpSendRequest(hResourceHandle, @header[1], length(header), @data[1], length(data));
            InternetCloseHandle(hResourceHandle);
          end;
          InternetCloseHandle(hConnectHandle);
        end;
        InternetCloseHandle(hOpenHandle);
      end;
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    if opendialog1.execute
    then
    sendpost('test.ru', '/test.php',opendialog1.FileName);
    end;
    
    
     
  4. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    чтото я не вкурил, это к чему код?
    Склеен кое как из моего куска и еще чегото. Куча левых, неиспользуемых строк.
    + комменты для php файла чуть неправильны )
     
  5. ChuKeY

    ChuKeY New Member

    Joined:
    21 Jun 2009
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    отправляет текстовый файл на сервак)) как бинарный кидать через вининет не разобрался... а php не обращай внимания, главное работает, принимает и ладно))...
     
  6. Vlad3d

    Vlad3d Elder - Старейшина

    Joined:
    18 Jan 2008
    Messages:
    47
    Likes Received:
    54
    Reputations:
    -1
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]


    подскажите что за ошибки
     
  7. ZdezBilYa

    ZdezBilYa Elder - Старейшина

    Joined:
    29 Aug 2008
    Messages:
    198
    Likes Received:
    75
    Reputations:
    19
    Не найдены свойства компонент. Версии другие?
     
  8. Tombik

    Tombik Banned

    Joined:
    21 Dec 2008
    Messages:
    18
    Likes Received:
    85
    Reputations:
    13
    мм... другие версии компонента? Или не может найти такие компоненты?
     
  9. ZdezBilYa

    ZdezBilYa Elder - Старейшина

    Joined:
    29 Aug 2008
    Messages:
    198
    Likes Received:
    75
    Reputations:
    19
    другие версии компонент. возможно изменились названия свойств и т.д.
     
  10. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 Nightmarе Код под загрузке бинарника в буфер - это просто ужас.
    1) Читает по 1 байту.
    2) EOF - это эля текстовых файлов.

    более правильнее былобы
    такая последовательность функций
    CreateFile (... GENERIC_READ ....)
    size := GetFileSize(...)
    setlength(buf, size);
    ReadFile(... @buf[1], size, ....)
    CloseFile();

    т.е. ты открываешь файл на чтение. Получаешь его размер.
    Под этот размер расширяешь строку, и сразу весь файл считываешь в неё.
     
  11. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Ты не установил компоненты.
    1) Качаешь отсюда http://www.raize.com/DevTools/RzComps/RC5Trial.zip
    2) Ставишь все по дефолту
    3) Открываешь Delphi
    4) Component -> Install Packages, Кнопка Add
    5) Выбираешь C:\Program Files\Raize\RC5\Bin\RaizeComponentsTrialVcl_Design70.bpl
    6) Жмешь ОК, компоненты добавляются, радуешься жизни
    :cool:
     
  12. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    //решено :)
     
    #3812 mailbrush, 30 Jul 2009
    Last edited: 30 Jul 2009
  13. Vlad3d

    Vlad3d Elder - Старейшина

    Joined:
    18 Jan 2008
    Messages:
    47
    Likes Received:
    54
    Reputations:
    -1
    [​IMG]
    хммм
     
  14. ZdezBilYa

    ZdezBilYa Elder - Старейшина

    Joined:
    29 Aug 2008
    Messages:
    198
    Likes Received:
    75
    Reputations:
    19
    по-моему, сообщает, что RaizeComponentsVd70 уже установлен (и возникает конфликт)
    попробуй удалить установленную версию (удалить все пути и файлы), а потом установить эту
     
  15. Vlad3d

    Vlad3d Elder - Старейшина

    Joined:
    18 Jan 2008
    Messages:
    47
    Likes Received:
    54
    Reputations:
    -1
    пробовал почему то опять появляются все те же 5 ошибок, что я выше выкладывал
     
  16. Nullsleep

    Nullsleep Member

    Joined:
    2 Jun 2009
    Messages:
    67
    Likes Received:
    26
    Reputations:
    0
    Code:
    var
      proxy_info: PInternetProxyInfo;
    begin
      New(proxy_info);
      proxy_info^.dwAccessType := INTERNET_OPEN_TYPE_DIRECT;
      UrlMkSetSessionOption(INTERNET_OPTION_PROXY, proxy_info,
        SizeOf(Internet_Proxy_Info), 0);
      //здесь идет твой код
      Dispose(proxy_info);
    end;
    
     
    1 person likes this.
  17. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Вообще эти настройки делаются сразу при открытии сесии

    InternetOpen('BROWSER ID', INTERNET_OPEN_TYPE_PROXY, 'host:port', nil, 0);


    INTERNET_OPEN_TYPE_DIRECT – обрабатывает все имена хостов локально.

    INTERNET_OPEN_TYPE_PRECONFIG – берет установки из реестра.

    INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY - берет установки из реестра и предотвращает запуск Jscript или Internet Setup (INS) файлов.

    INTERNET_OPEN_TYPE_PROXY – использование прокси-сервера. В случае неудачи использует
    INTERNET_OPEN_TYPE_DIRECT.
     
  18. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    Использую компонент: IdHTTP Для передачи POST запроса

    При ошибки 404 появляется масага с текстом об 404 ошибки и завершение обработки кода (Не выход из программы), как монжно сделать чтобы при 404 ошибки выполнялись определенные действия из обработчика?
     
    #3818 НTL, 31 Jul 2009
    Last edited: 31 Jul 2009
  19. ZdezBilYa

    ZdezBilYa Elder - Старейшина

    Joined:
    29 Aug 2008
    Messages:
    198
    Likes Received:
    75
    Reputations:
    19
    try
    <- POST-запрос
    except
    <- действия при ошибке
    end;
     
  20. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    Это работает, но масага все равно выскакивает
     
Thread Status:
Not open for further replies.