-
Постов
135 -
Зарегистрирован
-
Посещение
-
Победитель дней
12
Активность репутации
-
zairkz получил реакцию от Rusland в Как правильно подключить библиотеки Androidapi.JNI.Media, AndroidApi.Helpers
Делаю так:
После
implementation uses Общие библиотеки {$IFDEF ANDROID} , андройд библиотеки {$ENDIF} {$IFDEF IOS} , iOS библиотеки {$ENDIF} ; Например: uses System.Threading, IdMultipartFormData, System.Json {$IFDEF ANDROID}, Androidapi.JNI.JavaTypes, Androidapi.JNI.Os, Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers {$ENDIF} {$IFDEF IOS}, iOSapi.UIKit, iOSapi.Foundation, Macapi.Helpers {$ENDIF} ; Если только андройд библиотеки нужны так пропишите после implementation {$IFDEF ANDROID} uses Androidapi.JNI.Media, Androidapi.Helpers; {$ENDIF} -
zairkz получил реакцию от Равиль Зарипов (ZuBy) в [Событие] Мировой тур RAD Studio 10 Seattle
С ZuBy приедем с Астаны в Алмату, мы будем 2 октября , также предлагаю обмыть встречу в Алмате, кто за и кто будет? Будем пить и не мало, надеюсь Ярослав выпьет со своими форумчанами
-
zairkz получил реакцию от Andrey Efimov в [Событие] Мировой тур RAD Studio 10 Seattle
С ZuBy приедем с Астаны в Алмату, мы будем 2 октября , также предлагаю обмыть встречу в Алмате, кто за и кто будет? Будем пить и не мало, надеюсь Ярослав выпьет со своими форумчанами
-
zairkz получил реакцию от BoriZZ_21 в Кодировка под Android
with TStringStream.Create do try LoadFromFile('d:\11.txt', TEncoding.UTF8); Edit1.Text := DataString; finally Free; end; всё что нужно было
-
zairkz отреагировална AngryOwl в Как записать видео на Андроиде?
Вообще, конечно, собрать видео из отдельных кадров можно. Вполне реально. Но не для всего)
И это все "свистоперделки"...
Что касается частоты кадров - реально получать 10-15. Еще и от устройства зависит, от камеры и т.д. Но все эти тормоза из-за класса "обертки" работы с видео. Именно он выдает так мало кадров. Сама камера работает. FMX работает тоже ничего, но основные тормоза из-за того что в TCameraComponent уже "приходит" мало кадров.
На самом деле, как я считаю, разработка для мобильных платформ должна в первую очередь решать именно мультимедийные функции (я бы сказал, что это ОЧЕНЬ важно). А мы имеем пока-что их жалкое подобие, которое нужно допиливать ручками...
Я уже не говорю о том, что почему-то если в той же iOS что-то "запрещено", то это же касается и Android, хотя в ней все намного проще и она более "открыта". Глупо как-то, уж простите за откровенность...
-
zairkz отреагировална brunnengi в Как получить доступ к значениям элементов TJSON?
могу только на пример в делфи, ибо С++ не знаю.
Вот код, будут вопросы задавай, отвечу
procedure TForm1.Button1Click(Sender: TObject); var JS : TJSONObject; JSAr : TJSONArray; s : string; begin s := Memo1.Text; JS := TJSONObject.ParseJSONValue(s) as TJSONObject; if Assigned(JS) then begin JS := TJSONObject.ParseJSONValue(JS.GetValue('response').ToString) as TJSONObject; JSAr := TJSONObject.ParseJSONValue(JS.GetValue('items').ToString) as TJSONArray; JS := TJSONObject.ParseJSONValue(JSAr.Items[0].ToString) as TJSONObject; Memo1.Clear; Memo1.Lines.Add('id: ' + JS.GetValue('id').Value); Memo1.Lines.Add('owner_id: ' + JS.GetValue('owner_id').Value); Memo1.Lines.Add('player: ' + JS.GetValue('player').Value); Memo1.Lines.Add('title: ' + JS.GetValue('title').Value); JS.Free; end; end; -
zairkz отреагировална brunnengi в Как узнать какой тип у элемента JSON
Не знаю то или не то что ты хочешь, но вот:
Пример:
Строка JSON: {"type1":199, "type2":"val2","ar":["arval1","arval2"]}
первый это число, второе строка, третье массив
Код на кнопку:
procedure TForm1.Button1Click(Sender: TObject); var s : string; js : TJSONObject; begin s := '{"type1":199, "type2":"val2","ar":["arval1","arval2"]}'; JS := TJSONObject.ParseJSONValue(s) as TJSONObject; memo1.Lines.Add(JS.Pairs[0].JsonValue.ClassName); memo1.Lines.Add(JS.Pairs[1].JsonValue.ClassName); memo1.Lines.Add(JS.Pairs[2].JsonValue.ClassName); end; Запускаем и в memo1 попадают вот такие ответы:
TJSONNumber TJSONString TJSONArray Думаю дальше ты знаешь что делать, если конечно я правильно тебя понял и правильно тебе насоветовал тут. -
zairkz отреагировална brunnengi в Как получить доступ к значениям элементов TJSON?
Не за что.
Если что спрашивай.
XML формат мне всегда был противен, хоть и понятен, но все равно внутренне я был против него и как следствие принципиально не использовал в своих программах.
Но вот формат JSON мне очень понравился. Его легко написать от руки, легко читать, даже через регулярки парситься легко, если приспичило. И он не избыточен как XML, а значит по канала связи передается меньше трафика.
Так что не бросай этот формат
И кстати, что касается утечек. Я когда сам только начинал разбираться в формате JSON и с тем как работать с ним в Delphi, у меня тоже были утечки, ибо я использовал JSON для парсинга ответа с сервера, в потоке. Я тогда начал склоняться к всеобщему мнению что просто сама реализация работы с этим форматом в делфи кривая.
Но поколебавшись все таки принял во внимание ту мысль, что разработчики Embacadero на девять жизней умнее меня, и вряд ли они выпустили модуль с таким явным глюком. И решил все таки углубиться дальше.
Как оказалось просто поставить JS.Free в конце не достаточно.
Т.е. вот так вот делать не стоит:
var JS: TJSONObject; begin s := '{"jsonString":"ok"}; JS := TJSONObject.ParseJSONValue(s) as TJSONObject; ShowMessage(JS.GetValue('jsonString').Value); JS.Free; end; В процессе работы потока с ним может случиться все что угодно - обрыв связи, тайоут сработает, или некорректные данные, или еще что нибудь. И JS объект может не освободиться. Т.е. поток может уже и не существует, но в оперативке созданный объект лежит.
К тому же при таком подходе могут быть и ошибки, например параметра 'jsonString' может и не быть, и все вывалиться в ошибку (но в потоке этого можно и не увидеть) и до JS.Free код никогда не дойдет. А значит будет опять утечка памяти.
Так что правильней всего делать через Assigned:
var JS: TJSONObject; begin s := '{"jsonString":"ok"}'; JS := TJSONObject.ParseJSONValue(s) as TJSONObject; if Assigned(JS) then begin ShowMessage(JS.GetValue('jsonString').Value); JS.Free; end; end; Тогда утечек не будет. Это я теперь точно знаю!)))
-
zairkz отреагировална magicxor в RAD XE9 (RAD X Seattle)
http://docwiki.embarcadero.com/RADStudio/Seattle/en/What's_New#Support_for_Internationalized_Domain_Names
Заявленная TURI.UnicodeToIDNA выдаёт какой-то бред. Завёл багрепорт https://quality.embarcadero.com/browse/RSP-12099
-
zairkz отреагировална Brovin Yaroslav в OXml - библиотека для работы с XML
OXML - это новая библиотека по работе с XML для Delphi и Lazarus, разработанная в конце 2013 года.
Целью OXML является быть универсальной и быстрейшей XML библиотекой для языка Паскаль.
Основные особенности OXML являются:
Парсер SAX Реализация DOM Прямое чтение /запись XML файлов Полная совместимость при работе с TXMLDocument (XmlIntf.TXMLDocument)
Автор: Software Solution Ondřej Pokorný
Тип лицензии: Open Source
Ссылка: http://www.kluug.net/oxml.php
Скачать: SourceForge
-
zairkz отреагировална #WAMACO в RAD XE9 (RAD X Seattle)
https://mega.nz/#!vAkxGBJL!8K6ZUvF0oDqCqEeorjNxlqOUDXU0QIrhtu6ABQ95Qhs
-
zairkz отреагировална Равиль Зарипов (ZuBy) в RAD XE9 (RAD X Seattle)
ссылочку можно для прямого скачивания?
-
zairkz получил реакцию от Alex Bozhko в RAD XE9 (RAD X Seattle)
Андройды на интелах, я так понял эмулируют другую архитектуру, только вот интересно как сервисы на Intel будут себя "самочувствовать", пожалуйста проверьте кто нибудь на интеле.
-
zairkz отреагировална krapotkin в RAD XE9 (RAD X Seattle)
сервисы - важнее
и исправления в RTL
и мульти-вью
-
zairkz получил реакцию от Равиль Зарипов (ZuBy) в RAD XE9 (RAD X Seattle)
ТЫ ды ДЫЩЬ!!! Родился малыш Seattle -> http://www.embarcadero.com/ru/products/rad-studio
-
zairkz отреагировална Вячеслав в XE8 и Windows 10 Metro UI
Это не возможно осознать что вы, тут написали.
-
zairkz отреагировална bigjorj в RAD XE9 (RAD X Seattle)
Вот вам и что нового!
http://docwiki.embarcadero.com/RADStudio/Seattle/en/What%27s_New
-
zairkz отреагировална Kitty в RAD XE9 (RAD X Seattle)
Bug fix list for RAD Studio 10 Seattle
http://edn.embarcadero.com/article/44561
-
-
zairkz получил реакцию от Cody71727172 в Не получается подключиться к MySQL
Для подключения к базе на удаленном хостинге, необходимо:
1. Выделенный IP адрес, (хостинг на выделенном сервере или VDS)
2. На сервере настроить в брэндмауре пакеты MySQL на порт 3306 (по умолчанию)
3. Возможно на маршрутизаторе хостинга закрыты порты, обычно нужно написать чтобы открыли порт.
4. Настроить сам MySQL, добавить учетную запись на соединение из вне или дать доступ root (не желательно).
5. Зайдите на сервер лучше по RDP (удаленный рабочий стол), и можете через программу dbForge (бесплатная) добавить учетную запись, указав подключение хоть от куда (то есть %)
6. Далее попробуйте подключиться для начала со своего компьютера через dbForge
7. FireDac не использую, там херь какую то надо настраивать с драйверам)), но ZuBy позже скинет исходник коннекта к MySQL через FireDac.
8. Использую платный MyDac от Devart, если вам лень и вы НЕ СМОЖЕТЕ с FireDac работать (как я), тогда могу скинуть свой MyDac. писать в ЛС.
-
zairkz получил реакцию от Равиль Зарипов (ZuBy) в Не получается подключиться к MySQL
Для подключения к базе на удаленном хостинге, необходимо:
1. Выделенный IP адрес, (хостинг на выделенном сервере или VDS)
2. На сервере настроить в брэндмауре пакеты MySQL на порт 3306 (по умолчанию)
3. Возможно на маршрутизаторе хостинга закрыты порты, обычно нужно написать чтобы открыли порт.
4. Настроить сам MySQL, добавить учетную запись на соединение из вне или дать доступ root (не желательно).
5. Зайдите на сервер лучше по RDP (удаленный рабочий стол), и можете через программу dbForge (бесплатная) добавить учетную запись, указав подключение хоть от куда (то есть %)
6. Далее попробуйте подключиться для начала со своего компьютера через dbForge
7. FireDac не использую, там херь какую то надо настраивать с драйверам)), но ZuBy позже скинет исходник коннекта к MySQL через FireDac.
8. Использую платный MyDac от Devart, если вам лень и вы НЕ СМОЖЕТЕ с FireDac работать (как я), тогда могу скинуть свой MyDac. писать в ЛС.
-
zairkz отреагировална Kitty в RAD XE9 (RAD X Seattle)
Собираем в интернете, что нас ждет в RAD XE9.
1. Увеличение стабильности в два раза:
http://community.embarcadero.com/write-blog-post/entry/coming-soon-to-rad-studio-twice-the-ide-memory-brings-a-new-level-of-productivity-performance-and-stability
2. Создание служб в Андроиде:
http://community.embarcadero.com/blogs/entry/coming-soon-to-delphi-execute-background-tasks-with-android-services
Может еще кто найдет что-то интересное.
-
zairkz отреагировална Kitty в RAD XE9 (RAD X Seattle)
3. Coming Soon to RAD Studio ... iOS 64-bit Universal App Debugging
http://community.embarcadero.com/blogs/entry/coming-soon-to-rad-studio-ios-64-bit-universal-app-debugging
4. See What's Coming in RAD Studio, Delphi and C++Builder Wednesday, September 2, 2015
http://forms.embarcadero.com/RADFirstLookWebinar-2015-09-02
-
zairkz отреагировална Rusland в TMapsEngine
enatechno, kitty спасибо. Уже выложили.
Даже ZuBy там засветился c TMapsEngine
-
zairkz отреагировална rareMax в [TScrollBox] Возврат toolbar'a при лёгкой прокрутке вверх
Source code e APK Link: Codice sorgente Delphi XE7
Link: Demo APK (da installare sul vostro dispositivo Android)