Привет всем! PHP: var PostData: TStringList; begin PostData := TStringList.Create; PostData.Add('......................'); IdHTTP1.Post('http://.................', PostData); end; Такой вопрос. У меня строка в поле PostData больше 255 символов и при запросе получаю "String literals may have at most 255 elements". Как решить эту проблему???
вы мне? прошу прощения я ошибся. не "HTTP/1.1 404 Not Found" а "String literals may have at most 255 elements. Даже не компилируется.
Самый простой способ: разбить на строчки, длина которых меньше или равняется 255 символам и соединить их: Code: PostData.Add('........' + '........' + '......');
Эта проблема не имеет никакой связи с предыдущей. Если "HTTP/1.1 404 Not Found", значит делаете запрос на несуществующую страницу, скорее всего.
PHP: var PostData:TStringList; s: string; begin PostData := TStringList.Create; PostData.Add('{"f":["vk123277180"],"i":"vk123277180","k":"0dd818b2dc13aa11b5990788c4b6f1af","l":"","s":{"d":"Dalas1;Dalas2;NaN;ru_RU;0;;","i":"vk123277180","l":"ru-RU","n":"Dalas1 Dalas2",'+'"u":"http://cs303414.vkontakte.ru/u123277180/a_0e266b33.jpg","x":"NaN"},"u":"vk123277180","v":94,"w":38}'); s := IdHTTP1.Post('http://209.190.120.218/Geo/Segment01/segment.ashx', PostData); Memo1.Lines.Add(s); end; в мемо ничего не приходит, но если смотреть в сниффере HTTP Analyzer, то во вкладке Responce Content находится текст который мне нужен. Как его вытянуть из запроса? Помогите!
Код ответа сервера? если отличный от 2хх, то в переменную ничего и не прийдет. Если код ответа 3хх, то выручит idHTTP.HandleRedirects:=True;
idHTTP.Request.ContentType нужно задать JSON (как это делается - гуглите) и скорее всего из-за этого сервер Вам отвечает "400 - Bad Request" Хотя у вас в логе сервер ответил 200. Странно....
400 - Bad Request нет. проблема в том что в мемо не то приходит. вы файл сниффера смотрели? там во вкладке Responce Content приходит код, а не в Posd Data как нужно.
Ответ приходит в формате JSON (почитайте про формат, есть готовые классы практически для всех ЯП) Затестить Ваше ПО не смог из-за ответа "400" т.к. либо у меня не актуальны данные, которые вы в постдата суете, либо еще что-то. Попробуйте все же поставить Request.ContentType в JSON т.к. данные вы отправляете именно в этом формате P.S. а вообще поставьте брейкпоин и поглядите записывается ли ответ сервера в переменную.
Подскажите использую для скрывания в трей компонент TrayIcon идущий в комплекте Delphi 7 Lite Full. Закрытие происходит при нажатии на кнопку минимизации вот таким кодом Code: procedure TForm1.WMSysCommand; begin if Msg.CmdType = SC_MINIMIZE then begin trycn1.Visible := True; Application.MainForm.Hide; end; inherited; end; Открытие происходит вот таким кодом Code: procedure TForm1.trycn1Click(Sender: TObject); begin trycn1.Visible := False; Application.MainForm.Show; end; Все хорошо но есть пару вопросов. 1) При сворачивании в трей остается иконка рядом с панелью быстрого запуска там где висят все запущенные приложения(панель задач). Причем при клике на ней ничего не происходит. Разворачивание возможно только при клике на иконку в трее. Как убрать эту иконку из области панели задач? Кстати если выполнять те же действия но не в обработчике WMSysCommand то иконка с панели задач скрывается. 2) Как меню Poup сделать напротив трея?
Ось какая? Хз как ты там скрываешь, только что на 7 попробовал: Application.ShowMainForm := false; Form1.Hide; работает на ура... В обработчик WM_LBUTTONDBLCLICK иконки, ну или какой там тебе нужен... var P: TPoint; begin GetCursorPos(P); PopupMenu1.Popup(P.x,P.y); end; Ах и да, нах компоненты... Shell_NotifyIcon в помощь...
Ребят,задался вопросом.Как можно на дельфи реализовать так, что бы форма крутилась на 360 градусов.То есть,что то типо линейки.
Похоже что прийдется рисовать свои компоненты т.к. по умолчанию компоненты не перевернуть Которые в зависимости от параметра "угол" будут рисоваться по-другому т.е. переопределять метод Paint
Помогите составить программу которая из массива, состоящего из трёх символов (X,Y,Z), длинной от 1 до 90 символов, определит символ который повторялся дольше всего, и символ который повторялся чаще всего. Так же стоит учесть, что символы могут одинаково часто или одинаково долго повторятса. Буду весьма благодарен за помощ.
Собственно есть следующая процедура: Code: [b]procedure[/b] TForm1.Button1Click(Sender: TObject); [b]var[/b] StrPage, sw:[b]string[/b];dw:[b]string[/b];rw:[b]string[/b];fw:[b]string[/b]; Data:TstringList; [b]begin[/b] Button1.Enabled:=False; idhttp1.HandleRedirects:=true; rw:=Edit3.Text; fw:=Edit4.Text; Data:=TstringList.Create; Data.Add('num=1'); Data.Add('list_name=text'); Data.Add('author_name='+Edit1.Text;); Data.Add('send=1'); Data.Add('act=mail'); Data.Add('subject='+Edit2.Text;); Data.Add('priority=3'); Data.Add('body='+fw); Data.Add('day=0'); Data.Add('h=0'); Data.Add('min=0'); Data.Add('templates=0'); StrPage:=idhttp1.Post(rw, Data); Data.Free; [b]end;[/b] Проблема в том, что при вводе русских слов в поля, постятся они на скрипт в таком виде: ?????????????''????????????? Понимаю, что проблема в кодировке, у скрипта она utf-8. Прошу помощи, как можно решить данную проблему, ибо нужно постить именно русские слова
Русские символы отправляй в таком виде: Code: URLEncode(AnsiToUtf8(string_to_send)); URLEncode можешь найти в Google.