-
Постов
6 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные MrDevillio
-
-
Добрый день!
Спойлерfunction idHttpPost(const aURL: string; aBody: String; var IsExcepted: Boolean): string; var Return: IHTTPResponse; HTTPClient: TNetHTTPClient; MS: TMemoryStream; aBodyStrings: TStringList; begin Result := ''; IsExcepted := false; try aBodyStrings := TStringList.Create; MS := TMemoryStream.Create; HTTPClient := TNetHTTPClient.Create(nil); HTTPClient.HandleRedirects := true; with TNetHTTPRequest.Create(nil) do try Client := HTTPClient; aBodyStrings.Add(aBody); aBodyStrings.WriteBOM := false; aBodyStrings.TrailingLineBreak := false; aBodyStrings.SaveToStream(MS); // aBodyStrings.SaveToStream(MS, TEncoding.ASCII); // aBodyStrings.SaveToStream(MS, TEncoding.ANSI); // aBodyStrings.SaveToStream(MS, TEncoding.UTF8); // aBodyStrings.SaveToStream(MS, TEncoding.Unicode); MS.Position := 0; try Return := post((IfThen(Pos('http', aURL) = 1, '', FAPIServer) + aURL), MS); // Return := Post((IfThen(Pos('http', aURL) = 1, '', FAPIServer) + aURL), aBodyStrings); Result := UTF8ToString(Return.ContentAsString()); except on e: exception do begin IsExcepted := true; Result := ' -> api error : ' + TimeToStr(Time) + ' ' + e.Message; end; end; finally Free; end; finally aBodyStrings.Free; MS.Free; HTTPClient.Free; end; end;
Вот так пытаюсь отправлять запрос на сервер. Если отправляю body как TStringList, мой тестовый webbroker говорит, что Request.Content = '';
Если отправляю body как TMemoryStream (или как TStringStream) то в момент чтения Request.Content получаю EEncodingError.
Вставил вот такую распорку для хоть какого-то чтения Request.Content (этот текст помогает с русскими буквами в других брокерах, когда запросы шлю из Windows приложений через TIdHTTP)
Спойлерfunction BinToAscii(const bin: array of byte): AnsiString; var i: integer; begin SetLength(Result, Length(bin)); for i := 0 to Length(bin)-1 do Result[1+i] := AnsiChar(bin[i]); end; function ConvertContentBytesToUnicode(RC: TBytes): String; begin try Result := TEncoding.UTF8.GetString(RC); except Result := BinToAscii (RC); end; end;
Но так вижу только англ буквы, русские - вопросами при любом варианте TEncoding при отправке.
Подскажите, как из Android приложения правильно отправлять запросы с русскими буквами в body?
Спасибо!
-
Доброго времени суток!
Создал в стилях новый listviewstyle, получилось настроить вид!
Кроме одной вещи. accessorymore иконка у меня серая, а нужен другой цвет. Не могу найти ничего наподобие IconTintColor.
Подскажите, как поменять цвет Accessory More Icon?
Спасибо!
-
Добрый день! Я новичок в FMX )
Если форме не назначаю StyleBook, то ListView отображается прозрачным (transparent = true) (но остальные некоторые элементы не так как надо, даже несмотря на StyleBook.UseStyleManager = true).
Если назначаю форме StyleBook - ListView показывается стандартным, непрозрачным, белым. В настройке стилей в списке компонентов не вижу ListView. Подскажите, как правильно настраивать вид ListView?
Спасибо!
-
Спасибо за отзыв! Да, проект один и тот же. Разбирал apk файл, там нет "предыдущих" картинок.
Проблему нашел. Так ведет себя телефон Lenovo A7010 (Android 6.0). Для проекта с одним и тем же именем он запоминает первые настройки (с которыми первый раз приложение запустилось) и их все время показывает. Да, наверное, какой-то кэш.
Удаление и переустановка приложения, чистка памяти не помогает. Только перезагрузка устройства обновляет эти настройки. На другом, еще более стареньком LG такой фишки нет.
-
Добрый день!
Не могу избавиться от огонька при запуске. Настройки в Project/Options/Application не имеют никакого эффекта (ни галочка Include, ни замена, ни удаление путей к файлам splash,ни даже удаление самих этих файлов из bin\artwork) - постоянно при запуске огонек.
Скачал готовый проект, в котором заменили картинку. Тут http://delphifmandroid.blogspot.com/2014/03/splash-screen-android.html Действительно, запустилось приложение с той картинкой (Powered XE5).
Но все дальнейшие пробы (снятие галочек, замена файла splash, удаление папки Android, пересборка, удаление приложение и запуск нового) - заставка все время появлялась. (При этом на другом телефоне это же приложение запустилось текущими на тот момент настройками - без заставки).
Тогда я еще раз все удалил, распаковал изначальный пример и сразу, без сборки, заменил splash с их картинкой (Powered) на свой png. Заново скомпилировал, запустил на телефоне - открылась их предыдущая картинка! А не моя.
Подскажите, что это за непонятка. Такое впечатление что где-то, под конкретный телефон (или в нем самом) сохраняются параметры splash (для конкретного названия проекта). И в дальнейшем показываются они, а не те, что собраны сейчас.
Спасибо!
TNetHTTPRequest как отправить в body русский текст?
в Отладка
Опубликовано
Спасибо вам большое. И правда, перемудрил, вот так работает: