Andy
-
Постов
27 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Сообщения, опубликованные Andy
-
-
2 минуты назад, krapotkin сказал:
конечно, любые public оно будет тянуть
просто вот у меня как-то нечасто объекты без вложенных внутри списков/массивов
а с этим уже не все так просто
Я передавал "родными" компонентами и вложенные массивы, и массивы классов - проблем не встретил
-
Можно и без сеттеров и геттеров и тоже будет работать:
TTelegaUser = Class FID: Integer; FFirst_Name: String; FLast_Name: String; FUsername: String; End;
-
27 минут назад, krapotkin сказал:
у родной нет таких клевых штук как alias('');
Да, согласен. Но если автор хочет "родными", то выглядит это так:
type TTelegaUser = Class private FID: Integer; FFirst_Name: String; FLast_Name: String; FUsername: String; published property ID: Integer read FID write FID; property First_Name: String read FFirst_Name write FFirst_Name; property Last_Name: String read FLast_Name write FLast_Name; property Username: String read FUsername write FUsername; End; ..... procedure TForm1.Button1Click(Sender: TObject); var TelegaUser: TTelegaUser; begin TelegaUser := TJson.JsonToObject<TTelegaUser>(MEMO1.Lines.Text); end; ........
В memo1 лежит ваш JSON
{"id":122041176,"first_name":"Delphi in TelegAPI","username":"test_delphi_api_bot"}
Важно чтобы у класса Свойства назывались точно так-же как в JSON.
-
Только есть один нюанс. В классе все свойства должны начинаться с буквы F. Если вы используете классы с Сеттерами и Геттерами - то проблем быть не должно.
-
Если правильно понимаю автор имеет ввиду TJSon.ObjectToJsonObject и TJSon.ObjectToJsonString. Как раз в стандартной библиотеке...
-
Стандартная библиотека поддерживает.
-
Гугл советует все сетевые запросы в отдельном потоке запускать... Попробуй...
-
Если есть возможность в мобильной версии форума "Последние темы" поднять в начало страницы. Думаю дл многих актуально...
-
Вот так
uses Winapi.ShellAPI, Winapi.Windows; procedure TForm1.Button1Click(Sender: TObject); var FullProgPath: String; begin FullProgPath:='C:\Temp\1.exe'; // полный путь к exe ShellExecute(0, PChar('open'), PChar(FullProgPath), PChar(''), PChar(ExtractFilePath(FullProgPath)), SW_SHOWNORMAL); Application.Terminate; end;
Насколько я понимаю, это не сработает, если запрещен запуск второй версии приложения и/или настроен монопольный доступ к бд (то есть только 1 коннект).
В этом случае придется писать службу которая будет отвечать за перезапуск приложения или писать скрипты (или *.bat)...
-
Опередил... ХЕ5 не лучший вариант для Андроид...
-
Вроде же не все смартфоны\планшеты поддерживаются? Только с Neon. Не думаю что у каждого клиента кафе будут соответствующие девайсы. Да и как показывает форум на разных аппаратах могут неожиданно вылезти неприятные баги... Имхо fmx пока можно использовать под корпоративные решения, где есть возможность выдвигать требования к железу.
-
При динамическом создании объектов указываете свойства OnMouseDown, OnMouseMove и пр. из примера видео? Про мигания: какая платформа? Пример кода?
P.S. Мне нравятся Ваши вопросы - с интересом слежу... Но иногда кажется что Вы - первый раз за develop...
-
1. Поробуйте поменять местами строки в Длл
frxDBDataset1.UserName:='Rekv';
frxDBDataset1.DataSet:=Temp;
2. Как вариант вызвать Designer в Длл и просмотреть в нем какие там получились Датасеты и поля (но это смотря какая версия фастрепорта)
-
Ради эксперимента пробовал на ScrollBox кидать (runtime) достаточное кол-во объектов (TRectangle) - более 100. Правда стили не использовал. На 4 аппратах (2013, 2014, 2010 годов), т.е. с разными процессорами и ОЧЕНЬ разной производительностью проблем с вылетом или тормозами не заметил. Так - что:
1) Какие контролы кидаете?это вычеркнул, не внимательно прочел в Вашем посте...2) Попробуйте отключить стили
3) Если контролы "кидаете" в рантайм - проверьтесь на освобождение ресурсов, выход за рэйндж и пр.
-
Да, почитал другие источники. Получается или две формы, или руками менять расположение. Причем второй вариант предпочтительней, чтобы не переносит данные, как отметил
-
Доброго дня всем! Такой вопроса: у меня на форме два ListView. В портретной ориентации первый над вторым. Существуют ли штатные механизмы в Delphi (типа view) для изменения положения этих контролов при смене ориентации экрана (например повернули в ландшафт и первый контроль стал слева от второго)?
Или только ручками в коде?
-
И да: Embedded лучше использовать уже у клиентов, для разработки советую поставить полноценный сервер, просто зачастую надо и в IDE базу держать открытой и при этом в IBExpert... а Embedded работает с базой в монопольном режиме.
-
Вы резво начали . Давайте потихоньку. Я создаю проект. Какие компоненты IBX необходимы? И, кроме этого, как использовать библиотеку Embedded сервера?
Компоненты IBX и FireDAC сами работают с библиотекой сервера (fbembed.dll). Если выбираешь работать с IBX то IBDatabase, IBTransaction, IBDataset или IBQuery (первый умеет делать не только select, но и insert, delete, update, а второй только select (ну почти, если не подключать IBSQLUpdate). Имхо IBX лучше для начала изучения, но потом советую перейти на FireDAC.
Кидаешь на форму IBDatabase, IBTransaction, IBDataset. Связываешь между собой (думаю разберешься там все интуитивно). В IBDataset.SelectSQL пишешь
свой первыйзапрос: select id, field from TABLEДальше можно через ComponentEditor (ПКМ да IBDataset) - Dataset Editor или ручками в свойствах InsertSQL, UpdateSQL, DeleteSQL создать запросы на вставку, обновление и удаление записей из таблицы. Тут лучше первый вариант (там есть кнопка Generate SQL) - так быстрее разберешься что к чему.
Пока все, Удачи
-
А автор сабжа просто спросил какие компоненты использовать для коннекта к БД )))
FDConnection, FDQuery, FDTransaction - при необходимости, ну и FDPhysFBDriverLink и кинь ещё FDGUIWaitCursor
-
Простите, сударь, а можно рисовать непосредственно векторной графикой?)Coral векторная графика, а ты рисуешь растровой.
Вообще-то можно: WMF, SVG... Да и сама FMX вектор-базированная библиотека. А вот рисовать и сохранять сабж в растре - полное извращение
-
Как вариант - на базе http-протокола делать запросы к серверу и получать ответы в виде xml..
Indy под делфи 7 имеются.. xml сформировать проблем нет.. точно также как на андроиде разобрать..
это конечно вариант, но тогда мы теряем "всю прелесть" RAD, т.е. придется все обработчики (парсинг) http запросов писать вручную. DataSnap нас лишает этих затрат человеко/часов , но берет с нас "мзду" в виде производительности... давно пытаюсь найти простую альтернативу с генерацией "чистого" и форматируемого ответа (в частности JSON)
-
Эта история ещё с Borland Delphi... Или вернуть назад опции компилятора, или вместе с ехе копировать bpl файлы
-
Еще 20 лет непонятных глючных версий (
-
Осталось реализовать класс для вывода данных, помимо TDataset, в json,например, и готово для 3х звенки
Маршалинг/ДеМаршалинг в System.JSON
в JSON
Опубликовано
Автор поста задал вопрос... Надеюсь получил ответ...
Можем закрывать?