Перейти к содержанию
Fire Monkey от А до Я

Лидеры

  1. Andrey Efimov

    Andrey Efimov

    Модераторы


    • Баллы

      2

    • Постов

      851


  2. krapotkin

    krapotkin

    Пользователи


    • Баллы

      2

    • Постов

      2 213


  3. Brovin Yaroslav

    Brovin Yaroslav

    Администраторы


    • Баллы

      1

    • Постов

      2 124


  4. Равиль Зарипов (ZuBy)

    Равиль Зарипов (ZuBy)

    Модераторы


    • Баллы

      1

    • Постов

      2 517


Популярный контент

Показан контент с высокой репутацией 05.02.2018 во всех областях

  1. Andrey Efimov

    Узнать дату Android приложения

    Вот так попробуйте: uses Androidapi.JNI.GraphicsContentViewText, Androidapi.JNI.JavaTypes, Androidapi.Helpers, Androidapi.JNI.App; procedure TForm1.Button1Click(Sender: TObject); var PackageManager: JPackageManager; PackageName: JString; LastUpdateTime: Int64; begin PackageManager := TAndroidHelper.Activity.getPackageManager; PackageName := TAndroidHelper.Context.getPackageName; LastUpdateTime := PackageManager.getPackageInfo(PackageName, 0).lastUpdateTime; // firstInstallTime end; p.s. А вообще, это вы должны были ещё в первом посте указать версию среды...
    1 балл
  2. любую Shared папку, которую вам не жалко "захламлять". В остальные вас система не пустит, а не-shared уйдут вместе с программой
    1 балл
  3. Andrey Efimov

    Прозрачность TlistViewItem

    Через стиль можно сделать, "itembackground.color" ставим Null. Ну и прозрачность у самого компонента включаем.
    1 балл
  4. ессно, определиться с БД если вам не хочется поднимать свой сервер, создавать там БД, делать API к ней, с юзерами, логинами, сессиями и проч, то возьмите готовый back-end типа google Firebase или вон scorocode.ru собсно, остается только с помощью HTTP запросов передавать и принимать информацию. но придумать, как все что вам нужно будет храниться, все равно придется самостоятельно...
    1 балл
  5. Равиль, я так понимаю, что вы внесли изменения в стандартный ListView. Скажите плиз, в какой версии делфи взят исходник? берлин? Я это к тому, что при переходе на токио ModernLV нужно будет заново сливать с оригинальным исходником, правильно? Сорри за кучу знаков "вопрос"
    1 балл
  6. поиск по форуму ModernListView, ModernLV
    1 балл
  7. Akad

    [Windows] Сворачивание приложение

    Может где тему отдельную завести "исправляем ошибки в fmx сами", где наработки подобные собирать? Сегодня часа 4 убил, что бы найти ошибку разработчиков, что бы TLabel всегда выводил правильный шрифт после обновления информации в себе. Кому интересно, файл FMX.Objects.pas, procedure TText.DoSetText(const Value: string);Ищем строчку FLayout.LayoutCanvas := Canvas; после неё вставляем FLayout.Font := Self.Font;
    1 балл
  8. Старая тема, но столкнулся с такой же проблемой, также добавил WM_SYSCOMMAND, точно также после разворота не активировалось окно, пофиксил это дело, выложу тут, может кому пригодится. Такая же проблема ив Tokyo 10.2.2 - хотелось бы, чтобы такой глюк был пофиксен из коробки, хотя бы в следующей версии WM_SYSCOMMAND: begin if wParam = SC_MINIMIZE then PlatformWin.MinimizeApp else if wParam = SC_RESTORE then PlatformWin.RestoreApp; DefWindowProc(HWND, uMsg, wParam, LPARAM); sleep(50); // у FMX какая-то беда с потоками, иногда при нажатии по иконуе приложения в TaskBar окно не сворачивается а снова активируется, sleep уменьшает количество таких глюков Winapi.Windows.SetActiveWindow(FormToHwnd(LForm)); // после разворота активирует окно - проверил в Berlin и Tokyo 10.2.2 end; Нужно добавить код в FMX.Platform.Win в функцию function WndProc(hwnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
    1 балл
  9. Долго мучался отсутствием штатного средства красивого вывода JSON в текст, все что есть в комплекте, в REST к примеру, выводит убогую, не читаемую кашу. Плюнул и на написал свою функцию, на базе REST TSON.Format. function JsonPrettyPrint(AJsonValue : TJsonValue; AIndent : string = ' ') : string; var SourceContent: string; AChar: char; EOL: string; LeftIndent: string; isEOL: boolean; isInString: boolean; isInArray: boolean; isEscape: boolean; begin Result:=''; EOL:=#13#10; AIndent:= ' '; LeftIndent:=''; isEOL:=true; isInString:=false; isInArray:=false; isEscape:=false; SourceContent := AJsonValue.ToString; //This will basically display all strings as Delphi strings. Technically we should show "Json encoded" strings here. for AChar in SourceContent do begin case AChar of '{' : if not isInString and not isInArray then begin Result := Result + AChar + EOL; LeftIndent := LeftIndent + AIndent; Result := Result + LeftIndent; isEOL := true; end; ',' : if not isInString and (AChar = ',') then begin isEOL := false; if isInArray then Result := Result + AChar + ' ' else Result := Result + AChar + EOL + LeftIndent; end; '}' : if not isInString then begin Delete(LeftIndent, 1, Length(AIndent)); if not isEOL then Result := Result + EOL; Result := Result + LeftIndent + AChar; end; ':' : if not isInString and (AChar = ':') then Result := Result + AChar + ' '; else begin isEOL := false; Result := Result + AChar; end; end; isEscape := (AChar = '\') and not isEscape; if not isEscape and (AChar = '"') then isInString := not isInString; if not isEscape and (AChar = '[') then isInArray:=True; if not isEscape and (AChar = ']') then isInArray:=False; end; end; Результат налицо: { "Rig": { "Name": "node07", "Account": "3DQ9fRMVfxHaT7noy7molmuhlCI3RQkxt2y8BB", "PowerCost": [4.43, 4.43, 4.43, 4.43, 4.43, 4.43, 4.43, 4.43, 4.43, 4.43, 4.43, 4.43, 4.43, 4.43, 4.43, 4.43, 4.43, 4.43, 4.43, 4.43, 4.43, 4.43, 4.43, 4.43] }, "ExcavatorInstance": { "Host": "192.168.0.156", "Port": 38080, "APIToken": "asevsdrbdrtnetyjer34yb435t", "ConnectionType": "HTTP" }, "Devices": { "DeviceType": "", "UseDevices": [0, 1, 2, 3, 4] }, "Algorithms": { "cryptonight": { "Enable": true, "Devices_TDP_CoreDelta_MemoryDelta": [108, 150, 500], "WorkerPerDevice": 1, "WorkerParameters": [32, "M=2", 876], "Speed": 1506138068.81243, "Power": 851 }, "lbry": { "Enable": true, "Devices_TDP_CoreDelta_MemoryDelta": [95, 120, -1000], "WorkerPerDevice": 1, "WorkerParameters": [], "Speed": 1506138068.81243, "Power": 851 }, "pascal": { "Enable": true, "Devices_TDP_CoreDelta_MemoryDelta": [108, 150, 500], "WorkerPerDevice": 1, "WorkerParameters": [], "Speed": 1506138068.81243, "Power": 851 }, "decred": { "Enable": true, "Devices_TDP_CoreDelta_MemoryDelta": [108, 150, 500], "WorkerPerDevice": 1, "WorkerParameters": [], "Speed": 1506138068.81243, "Power": 851 }, "neoscrypt": { "Enable": true, "Devices_TDP_CoreDelta_MemoryDelta": [108, 150, 500], "WorkerPerDevice": 1, "WorkerParameters": [], "Speed": 1506138068.81243, "Power": 851 }, "daggerhashimoto": { "Enable": true, "Devices_TDP_CoreDelta_MemoryDelta": [108, 150, 500], "WorkerPerDevice": 1, "WorkerParameters": [], "Speed": 1506138068.81243, "Power": 851 }, "daggerhashimoto_decred": { "Enable": true, "Devices_TDP_CoreDelta_MemoryDelta": [108, 150, 500], "WorkerPerDevice": 1, "WorkerParameters": [], "Speed": 1506138068.81243, "Power": 851 }, "daggerhashimoto_sia": { "Enable": true, "Devices_TDP_CoreDelta_MemoryDelta": [108, 150, 500], "WorkerPerDevice": 1, "WorkerParameters": [], "Speed": 1506138068.81243, "Power": 851 }, "lyra2rev2": { "Enable": true, "Devices_TDP_CoreDelta_MemoryDelta": [95, 120, -1000], "WorkerPerDevice": 1, "WorkerParameters": [], "Speed": 1506138068.81243, "Power": 851 }, "blake2s": { "Enable": true, "Devices_TDP_CoreDelta_MemoryDelta": [108, 150, 500], "WorkerPerDevice": 1, "WorkerParameters": [], "Speed": 1506138068.81243, "Power": 851 }, "equihash": { "Enable": true, "Devices_TDP_CoreDelta_MemoryDelta": [108, 150, 500], "WorkerPerDevice": 1, "WorkerParameters": ["2", "M=1", "676556"], "Speed": 1506138068.81243, "Power": 851 }, "daggerhashimoto_pascal": { "Enable": true, "Devices_TDP_CoreDelta_MemoryDelta": [108, 150, 500], "WorkerPerDevice": 1, "WorkerParameters": [], "Speed": 1506138068.81243, "Power": 851 }, "keccak": { "Enable": true, "Devices_TDP_CoreDelta_MemoryDelta": [108, 150, 500], "WorkerPerDevice": 1, "WorkerParameters": [], "Speed": 1506138068.81243, "Power": 851 }, "sia": { "Enable": true, "Devices_TDP_CoreDelta_MemoryDelta": [108, 150, 500], "WorkerPerDevice": 1, "WorkerParameters": [], "Speed": 1506138068.81243, "Power": 851 } } } Конкретно в текущем случае, массивы мне нужны были в одну строку. Кому понадобиться иное - закомментируйте последние 4 строки.
    1 балл
  10. За постоянное нарушение этих правил пользователь может быть забанен, в том числе по адресу IP.Если тема оформлена не правильно, то она будет закрыта. 1. Общие правила Перед тем как создать тему по вашему вопросу, воспользуйтесь поиском по форуму. Форум рассчитан на консультирования применения FireMonkey, решения прикладных задач с использованием FireMonkey. Запрещено публиковать найденные ошибки. Для публикации и решения вопросов ошибок FMX существует специальный ресурс Embarcadero Quality Central. Запрещается обсуждение вопросов не связанных с разработкой и FireMonkey Запрещается использовать нецензурные выражения в тексте и заголовке сообщений 2. Создание темы Одна тема — один вопрос. Два вопроса в одной теме задавать запрещено. Запрещено создавать несколько тем для одного вопроса. Тема должна быть размещена в наиболее подходящем для нее по смыслу разделе. Если такового не имеется, то размещать тему на свое усмотрение. 2.1 Каким должен быть заголовок темы? Вопрос должен быть сформулирован в заголовке темы. Заголовок темы должен содержать не менее 4 слов. Заголовок темы должен формулировать вопрос как можно подробнее. 2.2. Каким должен быть текст вопроса? Текст вопроса нужно начать с указания используемой версии RAD Studio, Версии ОС и модель устройства (если речь идет о мобильной разработке) Текст темы должен максимально подробно описывать суть вопроса. Текст темы должен по возможности содержать иллюстрации. Иллюстрации должны быть не от балды, а иллюстрировать текущее состояние вопроса: то есть, наглядно показывать факт существования описанного поведения. Если ваш вопрос касается конкретного случая разработки, нужно прикрепить проект (только исходные коды в zip архиве) к сообщению. Вставляя код в текст темы, позаботьтесь о том, чтобы он соответствовал стандарту «Руководство по оформлению кода на Pascal» (это можно сделать, при помощи средств автоматического форматирования кода, которые есть в RAD Studio Edit -> Format Source или Ctrl + D), а также не забудьте использовать тег «Код» при оформлении кода в сообщении. 3. Ответы в темы Задавать свой вопрос в чужой теме можно только в случае если ваш вопрос совпадает с вопросом в теме. Отвечать можно на любые темы. При ответе старайтесь подробно описывать решение вопроса. Избегайте лишних сообщений не касающихся решения вопроса.
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...