-
Постов
181 -
Зарегистрирован
-
Посещение
-
Победитель дней
26
Активность репутации
-
enatechno получил реакцию от Kitty в TEdit с автозавершением
Пользуйтесь поиском на сайте.
У TMS есть еще такой вариант TTMSFMXEdit. Но он платный
-
enatechno получил реакцию от Rusland в TEdit с автозавершением
Пользуйтесь поиском на сайте.
У TMS есть еще такой вариант TTMSFMXEdit. Но он платный
-
enatechno получил реакцию от Rusland в Не отображается Splash форма на iOS
Цитирую Виталия из этой темы:
Там же есть пример реализации сплеша с прогрессбаром.
-
enatechno получил реакцию от Anatoliy в Не отображается Splash форма на iOS
Цитирую Виталия из этой темы:
Там же есть пример реализации сплеша с прогрессбаром.
-
enatechno отреагировална Maximus в Обращение к серверу в потоке (Android)
Прям немедленно остановить нельзя, но можно вызвать метод Cancel
var Task : ITask; ... Task := TTask.Run(...); ... Task.Cancel; //когда нужно остановить А внутри таска сделать проверки, что если выполняется
Task.Status = TTaskStatus.Canceled то не нужно обновлять данные, там где вы их обновляете и досрочно закончить работу кода таска.
-
enatechno получил реакцию от Anatoliy в Печать на сетевом принтере
У нас тоже печать через базу данных. Отличие от описанного варианта только в том что база удаленная, а служба печати может быть установлена на любом клиентском компе с Windows, с которого и идет печать на любой принтер доступный с этого клиентского компа. При этом на клиенте служба может быть настроена для выбора только определенных заданий печати (например задания только определенного отдела или задания отправленные только с определенных терминалов).
-
enatechno отреагировална haword в [Андроид]не видно картинки
в делфи делается так -
li:= lv.Items.Add;
lii:=li.Objects.FindObjectT<TListItemImage>('Image');
lii.OwnsBitmap:=True;
далее можно грузить картинку, если в потоке то
TThread.Synchronize(TThread.CurrentThread, procedure()
begin
// присваивание битмапу картинки
lii.Bitmap:= TBitmap.Create;
lii.Bitmap.SetSize(ItemBitmap.Width, ItemBitmap.Height);
lii.Bitmap.Clear(TAlphaColors.Null);
lii.Bitmap.CopyFromBitmap(ItemBitmap);
end
);
-
enatechno получил реакцию от Anatoliy в [Андроид]не видно картинки
Проверьте наличие файла if(FileExists(path)) перед LoadFromFile(path);
-
enatechno получил реакцию от Anatoliy в libmidas.dylib для iOS
libmidas.dylib - это только для IOS-симулятора. Для реальных iOS устройств нужно деплоить libmidas.a:
C:\Program Files (x86)\Embarcadero\Studio\<версия RAD>\lib\iosDevice64\release\libmidas.a
C:\Program Files (x86)\Embarcadero\Studio\<версия RAD>\lib\iosDevice32\release\libmidas.a
http://docwiki.embarcadero.com/RADStudio/Berlin/en/DbExpress_Supported_Database_Management_Systems
-
enatechno отреагировална Maximus в Как подавить экранный курсор crSQLWait ?
На самом деле это поведение можно достаточно просто отключить
var Connect : TFDConnection; Query : TFDQuery; ... Connect.ResourceOptions.SilentMode := true; Query.ResourceOptions.SilentMode := true; ...
-
enatechno получил реакцию от x11 в [ListView]пример от embarcadero
По умолчанию в DynamicAppearance есть только один объект - Text. Соответственно, из кода вы должны убрать все упоминания AItem.Objects.TextObject, AItem.Objects.AccessoryObject и изменить заполнение текста в ListViewItem (например так):
for Item in [1..10] do ListView1.Items.Add.Data['Text1']:= Format('Regular item %d.%d', [Group, Item]); Как добавить свои объекты в LIstViewItem читайте Using the DynamicAppearance Value или смотрите видео.
-
enatechno получил реакцию от Anatoliy в Запуск Google Play из своего приложения
Если не ошибаюсь, TAndroidHelper появился в Androidapi.Helpers позже XE7. До его появления использовался такой способ открытия URL:
function OpenURL(const URL: string; const DisplayError: Boolean = False): Boolean; var Intent: JIntent; begin Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW, TJnet_Uri.JavaClass.parse(StringToJString(TIdURI.URLEncode(URL)))); try SharedActivity.startActivity(Intent); exit(true); except on e: Exception do begin if DisplayError then ShowMessage('Error: ' + e.Message); exit(false); end; end; end;
-
enatechno получил реакцию от andahay в Запуск Google Play из своего приложения
Если не ошибаюсь, TAndroidHelper появился в Androidapi.Helpers позже XE7. До его появления использовался такой способ открытия URL:
function OpenURL(const URL: string; const DisplayError: Boolean = False): Boolean; var Intent: JIntent; begin Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW, TJnet_Uri.JavaClass.parse(StringToJString(TIdURI.URLEncode(URL)))); try SharedActivity.startActivity(Intent); exit(true); except on e: Exception do begin if DisplayError then ShowMessage('Error: ' + e.Message); exit(false); end; end; end;
-
enatechno получил реакцию от Rusland в [ListView]пример от embarcadero
По умолчанию в DynamicAppearance есть только один объект - Text. Соответственно, из кода вы должны убрать все упоминания AItem.Objects.TextObject, AItem.Objects.AccessoryObject и изменить заполнение текста в ListViewItem (например так):
for Item in [1..10] do ListView1.Items.Add.Data['Text1']:= Format('Regular item %d.%d', [Group, Item]); Как добавить свои объекты в LIstViewItem читайте Using the DynamicAppearance Value или смотрите видео.
-
enatechno получил реакцию от Anatoliy в [ListView] DynamicAppearance
Посмотрите эту тему. Там на дельфи, но думаю, общий смысл поймете.
-
enatechno отреагировална kami в returnkeytype Next не работает переход между контролами
Нет.
ReturnKeyType - это всего лишь какая надпись будет на кнопке Enter. Поведение по нажатию на эту кнопку задаете именно вы.
Система Андроид не знает о том, какой порядок табуляции установлен у ваших контролов, ей это глубоко симметрично. Если переход по Enter необходим - действительно используйте SetFocus, но на всякий случай - оберните его в TThread.ForceQueue
-
enatechno отреагировална kami в Нестандартная клавиатура для своего приложения
Раз уж пошла такая пьянка - выложу сюда то, что по виртуальной клавиатуре есть у меня на текущий момент (в телеграме уже выложил).
Поддерживаются операционные системы: iOS, Windows. Оттестировано на 10.1 (Berlin)
Итак: архив распаковать куда угодно, в проект в uses подключить модули uCommonCustomKeyboard (отвечает за подмену "штатной виртуальной клавиатуры" на свою) и ufrCustomNumpad (отвечает за отображение цифровой клавиатуры).
Алфавитную, e-mail-овскую и тому подобные виды клавиатур оставляю на ваше усмотрение. Они делаются на основе ufrCustomNumpad, там больше заморочек с красивым размещением кнопок, чем с кодом.
CustomKeyboards.7z
-
enatechno получил реакцию от Anatoliy в [ListView]пример от embarcadero
В п.3 Вы добавляете ListViewItem с Purpose := TListItemPurpose.Header. У него Objects.AccessoryObject = nil и приложение падает в TForm1.ListView1UpdateObjects.
Могу предложить такою правку:
procedure TForm1.ListView1UpdateObjects(const Sender: TObject; const AItem: TListViewItem); begin if AItem.Purpose <> TListItemPurpose.Header then // проверка назначения айтема begin AItem.Objects.TextObject.Width := AItem.Objects.TextObject.Width - (5 + AItem.Objects.AccessoryObject.Width); AItem.Objects.AccessoryObject.Visible := FChecked.Contains(AItem.Index); end; end;
-
-
enatechno получил реакцию от Равиль Зарипов (ZuBy) в Долго загружаются данные в Grid
Я бы порекомендовал добавить на форму Memo и разбросать по своему коду комбинацию из моего примера для поиска места, где происходит задержка:
LTime := Now; // действие Memo1.Lines.Add('Тут название действия: '+ IntToStr(MilliSecondOfTheMinute(Now - LTime)) + ' ms');
-
enatechno получил реакцию от striker в Долго загружаются данные в Grid
Я бы порекомендовал добавить на форму Memo и разбросать по своему коду комбинацию из моего примера для поиска места, где происходит задержка:
LTime := Now; // действие Memo1.Lines.Add('Тут название действия: '+ IntToStr(MilliSecondOfTheMinute(Now - LTime)) + ' ms');
-
enatechno получил реакцию от #WAMACO в Долго загружаются данные в Grid
Я бы порекомендовал добавить на форму Memo и разбросать по своему коду комбинацию из моего примера для поиска места, где происходит задержка:
LTime := Now; // действие Memo1.Lines.Add('Тут название действия: '+ IntToStr(MilliSecondOfTheMinute(Now - LTime)) + ' ms');
-
enatechno получил реакцию от Vitaldj в Долго загружаются данные в Grid
Я бы порекомендовал добавить на форму Memo и разбросать по своему коду комбинацию из моего примера для поиска места, где происходит задержка:
LTime := Now; // действие Memo1.Lines.Add('Тут название действия: '+ IntToStr(MilliSecondOfTheMinute(Now - LTime)) + ' ms');
-
enatechno получил реакцию от Rusland в Цифровая подпись
Если нужно просто запустить программу, нажмите на "Подробнее", появится кнопка для запуска.
инфа по цифровой подписи:
Code Signing сертификаты или сертификаты разработчика. Виды, как выбрать
Code signing для Open Source от Certum
Code Signing в Windows, просто и недорого
Где приобрести сертификат : KSoftware, Comodo, Symantec ... (ссылки есть в статьях)
Как подписывать
-
enatechno получил реакцию от striker в Долго загружаются данные в Grid
Вы не прилагаете тестовый пример. Сделал это за Вас.
Итак. В моем примере, откомпилированном в Delphi Berlin и запущенном на Windows, 500 строк заполняются за 13-20 миллисекунд.
Запустите его на Delphi XE6 и скажите Ваш результат. Если результат соизмерим с моим, то дело не в StringGrid.
tstStringGrid.rar