Поиск по сайту

Результаты поиска по тегам 'delphi'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Категории и разделы

  • Общие вопросы
    • Анимация
    • Графика
    • Стили
    • Базы данных и REST
    • Компоненты
    • Положение, размеры, выравнивание
    • Работа с текстом
    • Приложение и формы
    • Отладка
    • Развертывание приложений
    • Вопросы по языку Object Pascal и RTL
    • Общая информация о TControl
    • События
    • Прочие вопросы
  • Вопросы по платформам
    • Android
    • iOS
    • OSX
    • Windows
    • Windows Phone
    • Linux
  • Вопросы по использованию RAD Studio
    • Лицензирование
    • Сборка проектов
    • Multi-Device Designer
    • Редактор кода
    • Вопросы
  • Обучение
    • Основная информация
    • Вопросы
    • Отзывы
  • Поиск специалистов по FireMonkey
    • Консультации
    • Ищу подрядчика
  • API интернет сервисов
    • ВКонтакте API
    • Google Maps API
    • Yandex деньги
  • Дополнительные ресурсы по FireMonkey
    • Сторонние компоненты
    • Приложения, написанные с использованием FireMonkey
    • Примеры
    • Руководства
    • Шаблоны
    • Статьи и заметки
    • Информация о версиях RAD Studio
    • Новости
  • Организация работы данного форума
    • Правила форума
    • Нарушения правил форума
    • Предложения об организации форума
    • Проблемы
  • Видеокурсы
    • Основная информация
    • Курсы
    • Предложения и голосования за новые курсы
    • Вопросы

Категории

  • Курсы



Фильтр по количеству...

Найдено 33 результата

  1. Доброго времени суток. Пишу мобильное приложение на Delphi Berlin. Добавил вибрацию при нажатии на кнопку. На Андроид 4.4.2 все работает нормально, на Андроид 6 при нажатии на кнопку приложение вылетает. Проблема точно в вибрации, так как при отсутствии вибрации все работает нормально. В качестве процедуры вибрации использую следующий код: procedure Vibr; //Процедура вибрации var VibratorObj: JObject; Vibrator: JVibrator; begin VibratorObj := SharedActivity.getSystemService(TJActivity.JavaClass.VIBRATOR_SERVICE); Vibrator := TJVibrator.Wrap((VibratorObj as ILocalObject).GetObjectID); if Vibrator.hasVibrator() then Vibrator.vibrate(200); end; Как по Вашему, в чем может быть причина?
  2. Добавьте, пожалуйста, в список подсветки синтаксиса кода пункт Pascal/Delphi. Вроде самая необходимая на данном форуме подсветка, а её до сих пор нет Спасибо!
  3. Ссылка: https://habrahabr.ru/post/318876/ Автор: Error Описание: Delphi и C++Builder разработчики, использующие VCL не по наслышке знают о вездесущей проблеме мерцания контролов. Мерцание происходит при перерисовке, вследствие того, что сначала отрисовываеться фон компонента, и только потом сам компонент. И если в случае с наследниками от TWinControl частичным решением проблемы является установка свойства DoubleBuffered в True, что заставляет контрол отрисовываться в буфере(однако DoubleBuffered работает тоже не идеально, к прим.: контрол перестает быть прозрачным), то в случае с TGraphicControl решение с DoubleBuffered просто невозможно, из-за отсутствия у TGraphicControl окна, установка же DoubleBuffered в True у родителя не помогает, из-за того что отрисовка вложенных TGraphicControl-ов происходит уже после прорисовки родителя в буфере. Обычно остается только одно — смириться с мерцанием, и максимально упростить отрисовку для минимизации эффекта, или использовать по возможности исключительно TWinControl-ы, что не всегда возможно и удобно. Однажды намучившись с мерцанием, я не выдержал и решил решить эту проблему, раз и навсегда! ...
  4. Заполняю в рантайме ListView: procedure TAddForm.ConnectClick(Sender: TObject); var LI: TListViewItem; begin with Query do begin Open; while not Eof do begin LI := ListView1.Items.Add; LI.Text := Query.FieldByName('Type').AsString; LI.Detail := Query.FieldByName('Cargo').AsString + #13#10 + Query.FieldByName('Weight').AsString; Next; end; end; end; Как видно, Detail разбивается и заполняется в две строки (оказалось, что так удобнее смотреть). Но на обеих строках сухие цифры: Поэтому хотелось бы в начало обеих строчек вставить свои иконки, чтобы в конечном итоге выглядело как-то так: Есть идеи, как это можно сделать? А то товарищ kramler в другой теме писал, что не видит масла стоя перед открытым холодильником - так вот я сейчас уже в таком состоянии, что начинаю забывать, где мой собственный холодильник стоит, не говоря уже о масле в нём И смешно, и грустно...
  5. Как избежать повторных нажатий/ закликиваний на кнопку? Имеется следующий код: procedure Tfm.ButtonPrevCardClick(Sender: TObject); begin ButtonPrevCard.Enabled := false; Application.ProcessMessages; // здесь код по смене карты + пауза в 2 секунды ButtonPrevCard.Enabled := true; Application.ProcessMessages; end; Под Windows повторных нажатий/закликиваний при этом не происходит. А под Андроид, если пользователь быстро подряд нажал несколько раз, то сработает также несколько раз.
  6. Для FMX-приложения понадобилось разместить кнопки с битмапами в заголовке OSX-окна: Здесь был, это читал, но подходящего Delphi-решения найти не смог. Есть какие-нибудь идеи?
  7. Ссылка: https://habrahabr.ru/post/317814/ Автор: Пётр (Error) Описание: За годы существования фреймворк Fire-Monkey(FMX) претерпел множество изменений, и если с самого начала он был очень сырым и ненадежным, то сейчас это намного более стабильная и надежная платформа. Данная заметка представляет из себя сборник из нескольких полезных советов для разработчиков использующих данный фреймворк...
  8. Добрый день. IDE: Delphi 10.1 Berlin Update2 OS: Windows 7/64 ->Android (тестировал на 4.4.4) Вопрос 1: Пытаюсь загрузить в Listbox файл с русскими словами: ListBox1.Items.LoadFromFile(TPath.Combine(TPath.GetDocumentsPath, 'test1.txt')); При запуске на устройстве выдает ошибку: No mapping for the Unicode character exists in the target multi-byte code page Файл пытался сохранить и в UTF-8, и в ANSI, и в Unicode - без разницы (после смены кодировки делал Deployment) Как можно это победить? Вопрос 2: Вставил напрямую в дизайн-моде список этих же слов (из файла вопрос1) в Listbox - при старте программа очень долго думает. Слов порядка 10000. Как-то можно это ускорить?
  9. Кто-нибудь может подсказать хорошую Delphi- библиотеку или компоненты для чтения EXIF и других метаданных из файлов с изображениями в формате JPG? Те, про которые мне известно, считывают не все, например, нужен GPS
  10. LiveBindings

    Возможно ли как то сделать связь компонентов с классом? Что бы вышло ,что то вроде : Вручную добавляется ,но только один.Или без связи
  11. Добрый день. Решил сегодня сделать некоторые доработки в приложение написанное на XE7 под Андроид и столкнулся со следующей проблемой: приложение не получает информацию через связку TIdTCPClient/TIdTCPServer. До этого все работало. Отправляю сообщение с компьютера через TIdTCPClient: try form2.IdTCPClient1.Connect; form2.IdTCPClient1.IOHandler.WriteLn(ss,enUTF8); form2.IdTCPClient1.Disconnect; except showmessage('Error'); end; end;//try получаю (вернее не получаю) на телефоне под Андроид: procedure TForm1.IdTCPServer1Execute(AContext: TIdContext); begin l := AContext.Connection.IOHandler.ReadLn(enUTF8); showmessage(l); end; В чем может быть проблема и как решить?
  12. Доброе время суток . Я только начал знакомится с потоками , не судите строго . Вот код . Смысл которого через отдельный поток загружать изображение с сервера . unit Unit5; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,iduri,idhttp, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Objects, FMX.Controls.Presentation, FMX.StdCtrls; type ThreadHTTP=class(TThread) private Stream:TMemoryStream; bmp:tbitmap; url:string; public constructor Create(abmp:tbitmap; aurl: String); procedure Execute;override; // procedure ShowResult; end; type TForm5 = class(TForm) Button1: TButton; Image1: TImage; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } procedure getpic(pic: string; img: Tbitmap); end; var Form5: TForm5; implementation {$R *.fmx} constructor ThreadHTTP.Create(abmp:tbitmap;aurl:string); begin inherited Create(false); bmp := abmp; url:=aurl; end; procedure ThreadHTTP.Execute; var j:integer; idhttp : TIdHTTP; ms:tmemorystream; png:tbitmap; begin ms := TMemoryStream.Create; IdHTTP := TIdHTTP.Create(nil); url:=TIdURI.URLEncode(url); try idhttp.Get(url,ms); ms.Position := 0; finally bmp.LoadFromStream(ms); idhttp.Free; ms.Free; end; end; procedure TForm5.Button1Click(Sender: TObject); begin getpic('krovat1',form5.Image1.Bitmap); end; procedure TForm5.getpic(pic: string; img: Tbitmap); var zapros:string; idhttp:tidhttp; MyHTTP:ThreadHTTP; begin zapros:='http://127.0.0.1/getimage_'+pic; MyHTTP:=ThreadHTTP.Create(img,zapros); MyHTTP.FreeOnTerminate := true; MyHTTP.resume; end; end. Код корявый , но работает в win32 . В Android ничего не происходит . Помогите разобраться , пожалуйста .
  13. Доброго времени суток. Есть приложение на Windows (сервер) и есть от 1 до 4 приложений (клиенты) на Андроид. Все устройства в сети. IP адреса клиентов не известны серверу, а адрес сервера клиентам. Приложения после того как узнают адреса друг друга, будут обмениваться сообщениями через TIdTcpClient и TIdTcpServer. Как лучше реализовать распознавание клиентов в сети? Делаю сейчас используя Tethering, но способ мне не нравится.
  14. Добрый день! Ищем программиста для работы над созданием Desktop CRM системы на Delphi (FireMonkey). Есть уже разработанный прототип, оболочка приложения. Система будет кросс-платформенной, сперва выпущена Desktop версия, а затем издана мобильная версия под Android и iOS. Требуется знание: Pascal(Delphi), PHP, MySQL Работа: возможно совмещение. Есть и реализовано: 1. 1.Опыт в создании однотипного продукта a. Созданая CRM-системы, выведенная на рынок (старая версия) b. Разработка технических заданий на доработку и разработку CRM-систем c. Внедрение и интеграция CRM-систем 2. 2.Опыт в реализации и продажи CRM-систем a. Знание рынка b. Знание потребностей целевой аудитории c. Выстроенная ценовая политика d. Разработанные ключи продаж e. Ведение переговоры с первыми лицами компаний 3. 3.Прототипы a. Описанные модули, требования к ним и их функциональные возможности b. Разработанный и свёрстанный дизайн на Embarcadero XE10.1 Berlin) 4. 4.Действующий и раскрученный сайт a. Действующий сайт с уровнем конвертации посетителя в «лид» 8-10% 5. 5.Разработанная маркетинговая продукция (КП, Документы, HTML-письма, и.т.д.) ППо всем вопросам пишите на почту: wasd.tech@mail.ru или в личные сообщения! Спасибо!
  15. В связи с недавней акцией по бесплатной раздачи Delphi Starter, как мне кажется, это не сильно отразится на рынке труда Delphi программистов. А как хочется, что бы Delphi опять стал «Первым в мире». У меня предложение. Почему бы не допустить, что бы Delphi захватил весь мир? Что для этого нужно, по моему мнению. Для начала: для редакции архитект берлин версии, снизить цену на именную лицензию до 100-200 $ МАКСИМУМ. Для учебных заведений за эту же цену на все рабочие места. Для данной редакции разрешить любое свободное коммерческое использование произведенной на ней программ. Заключить договор с компаниями DevArt и DevExpress на предоставлении значительных (90%) скидок для владельцев данной версии. Какая цена будет на обновление с это версии, это уже не важно. Через пол года, Delphi программисты, будут самыми востребованными в мире. Зато, что будет дальше ? ….
  16. Коллеги, прошу прощенья за возможный офф топ, но он все таки касается студии. Я имею мак, для программирования на Delphi держу виртуальную машину VirtualBox. В ней стоит windows. Все работает как часы. Но заметил не большую странность. Дело в том, что сама виртуализация требует ресурсов, поэтому запущенная винда потребляет процессорное время. Но! Когда в ней ничего не запущено или просто какие нибудь офисные программы, профессор мака показывает 10-15 %: Причем это даже когда я не работаю в офисной программе, то есть virualbox свернут. Но стоит запустить Delphi (причем даже не открывая в нем никакие приложения), как потребление процессора в маке раза в 4-е повышается и доходит да 50-60%: И это тоже в свернутой VB! Может кто знает, чем это Delphi занимается? С какой целью потребляет ресурсы? От версии это не зависит: пробовал и на 7 и на 8 и на Сиэтле и Берлине! Одинаково! PS Если запускаю монитор процессов в самой винде, Delphi ничего не потребляет, процессорное время самой винды на нуле.
  17. Всем привет, кто может объяснить куда сохраняет класс SharedPreference значения, и может ли кто извне легко считать от туда данные. Таким образом var Prefs: JSharedPreferences; Editor: JSharedPreferences_Editor; Prefs := SharedActivity.getPreferences(0); Editor:= Prefs.edit; //сохраняю данные Editor.putString(StringToJString('ключ'), StringToJString('значение')); Editor.apply; //беру данные result:=JStringToString(Prefs.getString(StringToJString('ключ'), StringToJString('по умолчанию значение'))); происходит сохранение к примеру важного значение из программы, которое пользователю не нужно знать, и в нужный момент прога их берет для своих манипуляций.
  18. как создать чат между людьми Android Делфи? может кто-нибудь помочь?
  19. Здравствуйте, коллеги! Я не хочу, чтобы в моем приложении пользователь мог подставлять фиктивные координаты своего местоположения, используя для этого функцию разработчика "mock location". Помогите пожалуйста правильным кодом или советом, как определять, включена ли данная функция на устройстве, чтобы соответственно ее обрабатывать?
  20. Задача отбить\завершить звонок. uses FMX.Memo, FMX.Memo.Types, FMX.Media, FMX.Helpers.Android, System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, System.IOUtils, Androidapi.Helpers, Androidapi.JNI.JavaTypes, Androidapi.JNI.Os, Androidapi.JNI.App, Androidapi.JNIBridge, Androidapi.JNI.GraphicsContentViewText, System.Threading, Androidapi.JNI.Telephony, Androidapi.JNI.Provider, Androidapi.JNIBridge, Androidapi.JNI.GraphicsContentViewText; function getdeclaredMethod(Cls: Jlang_class; const Name: JString): JMethod; var Arr: TJavaObjectArray<JMethod>; Meth: JMethod; I: Integer; begin Result := nil; Arr := Cls.getDeclaredMethods; for I := 0 to Arr.Length-1 do begin Meth := Arr.Items[I]; if Meth.getName.compareTo(Name) = 0 then begin Result := Meth; Exit; end; end; raise Exception.CreateFmt('method not found: %s', [Name]); end; function killCall(context: JContext): Boolean; var obj: JObject; telephonyManager: JTelephonyManager; classTelephony: Jlang_Class; methodGetITelephony: JMethod; telephonyInterface: JObject; telephonyInterfaceClass: Jlang_Class; methodEndCall: JMethod; begin try // Get the boring old TelephonyManager obj := context.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE); telephonyManager := TJTelephonyManager.Wrap((obj as ILocalObject).GetObjectID); // Get the getITelephony() method classTelephony := TJlang_Class.JavaClass.forName(telephonyManager.getClass.getName); methodGetITelephony := getDeclaredMethod(classTelephony, StringToJString('getITelephony')); // Ignore that the method is supposed to be private // methodGetITelephony.setAccessible(True); JAccessibleObject(methodGetITelephony).setAccessible(True); // Invoke getITelephony() to get the ITelephony interface telephonyInterface := methodGetITelephony.invoke(telephonyManager); // Get the endCall method from ITelephony telephonyInterfaceClass := TJlang_Class.JavaClass.forName(telephonyInterface.getClass.getName); methodEndCall := getDeclaredMethod(telephonyInterfaceClass, StringToJString('endCall')); // Invoke endCall() methodEndCall.invoke(telephonyInterface); Result := True; except on E: Exception do // Many things can go wrong with reflection calls begin // Result := False; end; end; end; Это я нешел отсюда: stackoverflow Соответственно вопрос с invoke(): telephonyInterface := methodGetITelephony.invoke(telephonyManager); в вышеуказанной теме остался открытым. Как отловить входящий звонок (необходимый момент) через BroadcastReceiver понятно. Как решить задачу с завершением текущего звонка? P.S.: Как писать на JAVA и экспортировать функции что бы использовать их из Delphi представляю себе весьма туманно.
  21. Может кто-то поделиться Хотфиксом утечки памяти для Rad Studio 10 Seattle Update 1 с Embarcadero Developer Network? Нигде не могу найти Ссылка с хотфиксом: http://cc.embarcadero.com/item/30453
  22. Привет. Delphi Berlin iso установка проблема. coredelphi russian.7zip
  23. Коллеги, подскажите пожалуйста, как в Delphi из своего приложения перейти к настройкам устройства Android, в частности Wi-Fi и GPS? По нажатию кнопки пытаюсь выполнить такой код (нашел по теме на просторах), ничего не происходит ни в отладчике ни на экране. А, по идее, должна открыться Activity «Способ определения координат». var Intent: JIntent; WiFIServiceNative: JWifiManager; begin Intent := TJIntent.Create; Intent.setClassName(StringToJString('com.android.settings'), StringToJString('com.android.settings.widget.SettingsAppWidgetProvider')); Intent.addCategory(TJIntent.JavaClass.CATEGORY_ALTERNATIVE); Intent.setData(StrToJURI('3')); TAndroidHelper.Activity.sendBroadcast(Intent); ... Вот еще, здесь же пытаюсь программно выключить Wi-Fi — приложение вылетает с ошибкой «...class segmentation fault (11).», в отладчике методы Wi-Fi менеджера выполняются бесконечное количество раз, пока не вылетает указанная ошибка, т.е. нажатие F8 возвращает обратно на ту же строчку выполнения метода. WiFIServiceNative := JWifiManager(TAndroidHelper.Activity.getSystemService(TJContext.JavaClass.WIFI_SERVICE)); if Assigned(WiFIServiceNative) then begin memo1.Lines.Add('Has Wifi manager'); memo1.Lines.Add('Wifi state: ' + IntToStr(WiFIServiceNative.getWifiState)); memo1.Lines.Add('Try to Wi-Fi off:'); if WiFIServiceNative.setWifiEnabled(false) then memo1.Lines.Add(' - OK') else memo1.Lines.Add(' - FAIL'); Прошу вашей помощи — как правильно работать с настройками Android? Приложение пустое — кнопка и мемо. Permissions для проекта такие: <!-- This is the platform API where NativeActivity was introduced. --> <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_CALENDAR" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_CALENDAR" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" />
  24. Как получить уровень приема сотовой сети? Google пользоваться умею, а вот отсутствие опыта дает о себе знать. Буду благодарен за ссылки, что почитать для общего понятия написания по android c учетом специфики Delphi. Нашел: TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE); int dbm = 0; if ( tm.getNetworkType() == TelephonyManager.NETWORK_TYPE_LTE){ dbm = Integer.parseInt(parts[8])*2-113; } else{ if (signalStrength.getGsmSignalStrength() != 99) { int intdbm = -113 + 2 * signalStrength.getGsmSignalStrength(); dbm = Integer.toString(intdbm); } } Вот что пытаюсь сделать: function GetLevel: string; var TelephonyObj: JObject; TelephonyManager: JTelephonyManager; Listner: JPhoneStateListener; begin TelephonyObj := SharedActivityContext.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE); TelephonyManager := TJTelephonyManager.Wrap((TelephonyObj as ILocalObject).GetObjectID); Listner := TelephonyManager.listen(Listner, 2); result := JStringToString(Listner.toString); //ПОЛАГАЮ ПОЛУЧУ НАЗВАНИЕ КОМПОНЕНТА ВМЕСТО РЕЗУЛЬТАТА??? )) end; Пытаюсь и вот так function GetSim1Level: integer; var TelephonyObj: JObject; TelephonyManager: JTelephonyManager; cellinfogsm: JCellInfoGsm; CellSignalStrengthGsm: jcellSignalStrengthGsm; Level: integer; begin TelephonyObj := SharedActivityContext.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE); TelephonyManager := TJTelephonyManager.Wrap((TelephonyObj as ILocalObject).GetObjectID); cellinfogsm:= (TelephonyManager.getAllCellInfo.get(0) as JCellInfoGsm); CellSignalStrengthGsm := cellinfogsm.getCellSignalStrength(); Result := cellSignalStrengthGsm.getLevel; end; В на выходе конечно же получаю ошибку... Как я понимаю тут надо создать какой то ресивер? Он используется постоянно и вызываетя при событии описываемой в Delphi процедурой? Или к нему разовый доступ и получение текущей информации при обращении к его свойствам? Прошу больше помочь не готовым кодом, а что почитать. Поскольку есть желание понять.
  25. Ссылка на статью. Автор: Александр Бирюков В статья я максимально подробно попытался описать работу с PHP скриптом для рассылки Push сообщений из любой программы вне зависимости от платформы. Затрагивается вопроса от экспорта скриптов до кода программы: отправка и получение Push, регистрация устройств. Надеюсь кому-нибудь пригодится. Буду рад комментариям, обоснованной критике и доработкам.