Есть ли аналог функции time() как в php но токо в делфи? time() Возвращает количество секунд, прошедших с начала Эпохи Unix (т.е. с 1 января 1970, 00:00:00 GMT по наше время)
Можно если найдешь 32-х битную версию и напишеш сам ICQ клиент. Но вообще паскаль считай умер, юзай делфи. Ненравится размер - откажись от VCL
Дайте книжку по Delphi "Програмирование для людей из раздела прогресирующего даунизма" или что то подобное, все книги сразу рассматривают готовое приложение, а переменные и постоянные не рассказано как делать.
Здравствуйте, уважаемые античатовцы. У меня возникла неожиданная проблемма с Indy. Программа должна делать загрузку файлов на хостинг. В процессе тестирования выяснилось, что программа отправляет в 2 раза больше трафика: если я загружал файл на 2 Мб - реально моя программа отправляет чуть больше 4-х. Я растерян. Кто встречался с подобным, подскажите решение проблеммы. Пользують D2010, Indy 10.5.5. Спасибо за внимание. Код загрузки: Code: function Upload(AURL, AFile: string): string; var formData: TIdMultiPartFormDataStream; begin formData := TIdMultiPartFormDataStream.Create; try // Добаляю параметры в formData // и файл: formData.AddFile('upsingle',AFile,GetContentType(AFile)); try Result := idHTTP.Post(AURL,formData); except Result := ''; end; finally formData.Free; end; end;
=Zeus=, 10.5.5 вышла 19.12.2008, почти год назад. Поставьте версию поновее (вдруг поможет). Сегодняшняя ревизия indy 10.5.7 (rev.3853), с пофиксенным TIdMultiPartFormData (не по вашему случаю, но очень важно) - вылил на рапиду.
предыдущую копию этого вопроса (2 дня назад) удалил, по прежнему актуально. не верю что совершенно никто не знает за решение с меня +10. вопрос: как реализовать периодический отстук приложения внутри одного сокета? Вариант, который отстукивает каждые 60 секунд создавая новый сокет: Code: WSAStartup(MAKEWORD(2,0), wsaData); while not terminated do begin sleep(60000); s:=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); FillChar(addr, SizeOf(sockaddr_in), 0); addr.sin_family:=AF_Inet; addr.sin_addr.S_addr:=inet_addr('111.22.33.44'); addr.sin_port:=htons(80); Connect(S,addr,SizeOf(TSockAddr)); sendbuff := 'GET / HTTP/1.1'+ #13#10 + 'Host: 111.22.33.44'+ #13#10#13#10; send(s, sendbuff[1] , Length(sendbuff), 0); closesocket(s); end; WSACleanup; Если вписать строку с send 2 раза(метод научного тыка), то на второй отстук внутри того же сокета ответа от хоста не будет. Добавлять Keep-Alive: 300 Connection: Keep-Alive тоже бесполено. Видимо изначально нужно как-то до-другому открывать сокет. Заранее благодарю
зачем именно внутри одного? вообще считается что для каждого соединения надо создавать свой сокет. по поводу Keep-Alive - не все серверы и не всегда будут слушаться этой инструкции. Тут желательно посмотреть что он отвечает, возможно там будет Connection: close
Я взломал точку, все пароль пишу но мне видает что сеть ограничено или отсутствует что это? раньше все норм было подключался
Здравствуйте, пишу автореггер на один сайт и требуется сделать его многопоточным , знаю что нужно делать с помощью TThread , но что то не получается( Запросы отправляются через IdHttp
Nizhegorodets, хорошая стать про потоки в idhttp __http://www.delphisources.ru/pages/faq/base/http_protocol.html для начала как раз
Вон, на Делфикингдоме прочитал: Может в этом проблема, если 2 раза send написать? Ну, думаю не стоит упоминать, что между ними должен быть sleep(). А может действительно проблема в сервере...
Приветствую Вопрос такой: Есть программа Нужно узнать её версию и загрузить в переменную Нашол один способ: function GetMyVersion:string; type TVerInfo=packed record Nevazhno: array[0..47] of byte; // ненужные нам 48 байт Minor,Major,Build,Release: word; // а тут версия end; var s:TResourceStream; v:TVerInfo; begin result:=''; try s:=TResourceStream.Create(HInstance,'#1',RT_VERSION); // достаём ресурс if s.Size>0 then begin s.Read(v,SizeOf(v)); // читаем нужные нам байты result:=IntToStr(v.Major)+'.'+IntToStr(v.Minor)+'.'+ // вот и версия... IntToStr(v.Release)+'.'+IntToStr(v.Build); end; s.Free; except; end; end; Но вот неужели нет более простого способа получить эти заветные циферки? Неужели программа нигде не хранит свою версию кроме как в ресурсах?