-
Постов
2 517 -
Зарегистрирован
-
Посещение
-
Победитель дней
264
Активность репутации
-
Равиль Зарипов (ZuBy) получил реакцию от Alisson R Oliveira в TListView Custom checkboxes (иконка чекбокс "избранное")
как-то так, но это наверное сложно для понимания)
LVStars.rar
-
Равиль Зарипов (ZuBy) получил реакцию от Kitty в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]
ну думаю изменить нужно код, а что именно поменять это решение не для этого форума. вам нужно обратиться на форум по php
-
Равиль Зарипов (ZuBy) получил реакцию от Ingalime в [FGX] Будет ли релиз FGX под Tokyo?
ребята уже ставили, совместимость есть
-
Равиль Зарипов (ZuBy) получил реакцию от ENERGY в MySQL + Android + PHP - как добавить картинку в MySQL
картинку желательно не загружать в базу а складывать в папку на сервере (и лучше всего сжать до нужных размеров) и в базу вписать лишь путь до файла
вот мануалчик на пхп
http://php.net/manual/ru/features.file-upload.post-method.php
на delphi это просто составляем POST запрос
aURL - путь до скрипта, который будет принимать файлы aFileName - полный путь до файла, который нужно отправить var aData: TMultipartFormData; aHTTP: THTTPClient; aResp: TStringStream; begin aResp := TStringStream.Create('', aEncoding); aData := TMultipartFormData.Create(); aHTTP := THTTPClient.Create; try try aData.AddFile('image', aFileName); // на php считываем по полю image aHTTP.Post(aURL, aData, aResp); Result := aResp.DataString; // тут скрипт должен что-то вернуть о успешном принятии except Result := TmyHTTPClient.ERROR_COMMON; // генерация своей ошибки, если что-то пошло не так end; finally FreeAndNil(aHTTP); FreeAndNil(aData); FreeAndNil(aResp); end;
-
Равиль Зарипов (ZuBy) получил реакцию от Rusland в Ищу несколько кросс-платформенных компонентов
да, T(Net)HTTPClient как раз и работает адекватно на всех платформах
при запуске проверить функцией CheckInet, если нету доступа показать окно с прокси
-
Равиль Зарипов (ZuBy) получил реакцию от Kitty в TAdMob (рекламное видео)
про это?
http://www.fmxexpress.com/code-snippet-for-full-screen-interstitial-ads-in-delphi-xe8-firemonkey-on-android/
-
Равиль Зарипов (ZuBy) получил реакцию от chaplin.u@gmail.com в Как открыть PDF в стандартном приложении просмотра PDF файлов?
на ios нету интентов, там все делается через url. открываете url и система сама откроет приложение если такое установлено
modURL.rar
-
Равиль Зарипов (ZuBy) отреагировална Кривяков Виталий в Как открыть PDF в стандартном приложении просмотра PDF файлов?
function GetDefaultFilePath(const FileName: string): string; begin {$IFDEF Android} Result := TPath.Combine(TPath.GetSharedDocumentsPath, FileName); {$ENDIF} {$IFDEF IOS} Result := TPath.Combine(TPath.GetDocumentsPath, FileName); {$ENDIF} {$IFDEF MSWindows} Result := TPath.Combine(TPath.GetDocumentsPath, FileName); {$ENDIF} ForceDirectories(ExtractFilePath(Result)); end; procedure TForm.ShowPDF; var {$IFDEF Android} Intent: JIntent; {$ENDIF} FilePath, tmpStr: string; begin FilePath := GetDefaultFilePath(Filename); {$IFDEF Android } try Intent := TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_VIEW); Intent.setDataAndType(StrToJURI('file:' + FilePath), StringToJString('application/pdf')); Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NO_HISTORY); Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK); SharedActivity.startActivity(Intent); except on E: Exception do ShowToast(E.Message); end; {$ENDIF} {$IFDEF IOS} wbViewPDF.Visible := True; wbViewPDF.URL := 'file:/' + FilePath; {$ENDIF} end; Приблизительно так...
-
Равиль Зарипов (ZuBy) получил реакцию от enatechno в MySQL + Android + PHP - как добавить картинку в MySQL
картинку желательно не загружать в базу а складывать в папку на сервере (и лучше всего сжать до нужных размеров) и в базу вписать лишь путь до файла
вот мануалчик на пхп
http://php.net/manual/ru/features.file-upload.post-method.php
на delphi это просто составляем POST запрос
aURL - путь до скрипта, который будет принимать файлы aFileName - полный путь до файла, который нужно отправить var aData: TMultipartFormData; aHTTP: THTTPClient; aResp: TStringStream; begin aResp := TStringStream.Create('', aEncoding); aData := TMultipartFormData.Create(); aHTTP := THTTPClient.Create; try try aData.AddFile('image', aFileName); // на php считываем по полю image aHTTP.Post(aURL, aData, aResp); Result := aResp.DataString; // тут скрипт должен что-то вернуть о успешном принятии except Result := TmyHTTPClient.ERROR_COMMON; // генерация своей ошибки, если что-то пошло не так end; finally FreeAndNil(aHTTP); FreeAndNil(aData); FreeAndNil(aResp); end;
-
Равиль Зарипов (ZuBy) получил реакцию от Rusland в WebBrowser + ComboBox = ошибка ?
ага, посмотрел логом, думаю правильней будет так
// ZuBy *** procedure TCustomWebBrowser.FormHandleCreated(const Sender: TObject; const Msg: TMessage); var WBService: IFMXWBService; begin if not(Sender.ClassNameIs('TCustomPopupForm')) then if not(csDesigning in ComponentState) and TPlatformServices.Current.SupportsPlatformService(IFMXWBService, WBService) then begin FWeb := WBService.CreateWebBrowser; FWeb.SetWebBrowserControl(Self); FWeb.UpdateContentFromControl; FWeb.URL := FURL; FWeb.Navigate; end; end; // *** ZuBy не реагировать на создание Попап окон, на формы это не влияет. Сильно не тестил, так что хз.
-
Равиль Зарипов (ZuBy) получил реакцию от krapotkin в MySQL + Android + PHP - как добавить картинку в MySQL
картинку желательно не загружать в базу а складывать в папку на сервере (и лучше всего сжать до нужных размеров) и в базу вписать лишь путь до файла
вот мануалчик на пхп
http://php.net/manual/ru/features.file-upload.post-method.php
на delphi это просто составляем POST запрос
aURL - путь до скрипта, который будет принимать файлы aFileName - полный путь до файла, который нужно отправить var aData: TMultipartFormData; aHTTP: THTTPClient; aResp: TStringStream; begin aResp := TStringStream.Create('', aEncoding); aData := TMultipartFormData.Create(); aHTTP := THTTPClient.Create; try try aData.AddFile('image', aFileName); // на php считываем по полю image aHTTP.Post(aURL, aData, aResp); Result := aResp.DataString; // тут скрипт должен что-то вернуть о успешном принятии except Result := TmyHTTPClient.ERROR_COMMON; // генерация своей ошибки, если что-то пошло не так end; finally FreeAndNil(aHTTP); FreeAndNil(aData); FreeAndNil(aResp); end;
-
Равиль Зарипов (ZuBy) отреагировална Alex7wrt в Не могу добавить сторонний txt файл в скомпилированый пакет под андроид
То есть просто вы раньше не добавляли наклонную черту-разделитель между директорией и именем файла. Вот и вся загвоздка.
-
Равиль Зарипов (ZuBy) получил реакцию от Евгений Корепов в Не могу добавить сторонний txt файл в скомпилированый пакет под андроид
на билдере вроде так
TPath::GetDocumentsPath() ну или вот так, чтобы уж наверняка
System::IOutils::TPath::GetDocumentsPath()
-
Равиль Зарипов (ZuBy) отреагировална chaplin.u@gmail.com в файл не находится
после долгих мучений нашёл проблему. баг в деплойменте. файл не деплоится если в имени файла есть символ подчёркивания _ !
почему я не проверил сразу т.к. почти все файлы аппликации содержат этот символ а то и два. я вообще-то и взял файл для проверки один из стандартных.
но они проходят на ура а файлы которые идут в документс не проходят.
спасибо всем кто помогал.
-
Равиль Зарипов (ZuBy) получил реакцию от Mars M в Количество видимых Items — ?
ModernLV.getVisibleCount
-
Равиль Зарипов (ZuBy) отреагировална krapotkin в Зачем создается дополнительный файл формы
это не случайные символы. и создаете вы его сами, когда НАСЛЕДУЕТЕ master-форму для конкретных платформ и разрешений
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Using_FireMonkey_Views
-
Равиль Зарипов (ZuBy) получил реакцию от Kitty в Ищу несколько кросс-платформенных компонентов
да, T(Net)HTTPClient как раз и работает адекватно на всех платформах
при запуске проверить функцией CheckInet, если нету доступа показать окно с прокси
-
Равиль Зарипов (ZuBy) получил реакцию от Vitaldj в Ищу несколько кросс-платформенных компонентов
да, T(Net)HTTPClient как раз и работает адекватно на всех платформах
при запуске проверить функцией CheckInet, если нету доступа показать окно с прокси
-
Равиль Зарипов (ZuBy) отреагировална ENERGY в TListView Custom checkboxes (иконка чекбокс "избранное")
Огромное спасибо Равиль! Как хорошо что вы помогаете.
Итак для тех кто не знает, в TListView есть режим DynamicAppearance , который позволяет добавлять предустановленные элементы - картинки, текст, GlyphButon. В хелпе написано что их может быть любое количество.
Итак добавляем TListView, в панели Structure выбираем TListView > ItemAppearance > Item.
В инспекторе объектов выбрать свойство Appearance и комбобоксе Dynamic Appearance. Рядом в инспекторе появится свойство Objects - нажать на него и там уже добавляем нужные поля. Там же можно переименовать поле, в AppearanceObjectName чтобы позже использовать в RunTime. У меня периодически на этих этапах вылетает Catastrophic Failure и среду приходится терминировать с диспетчера (Berlin Update 2).
Дальше, жмем правой кнопкой мыши по ListView и выбираем Toggle Design Mode, где можно увидеть эти добавленные Custom поля и расставить их мышкой и указать выравнивание.
Это имя затем можно использовать в Runtime, для картинки это индекс в ImageList, который нужно указать в ListView таким образом (за это еще раз спасибо Равилю! :), почему это сделали так неочевидно и почему это не указано в мануале, остается загадкой..
Для TImageObjectAppearance с именем Star -
ListView1.Items.Add.Data['Star'] := Integer(1);
Например заполняем список с картинками с индексами 0 и 1:
procedure TForm5.FormShow(Sender: TObject); var I: Integer; begin for I := 0 to 9 do begin with ListView1.Items.Add do begin Text := 'Item ' + I.ToString; Data['Star'] := Integer(I mod 2 = 0); end; end; end; Переключаем с картинки с индексом 1 на 0 и наоборот. procedure TForm5.ListView1ItemClick(const Sender: TObject; const AItem: TListViewItem); begin AItem.Data['Star'] := AItem.Data['Star'].AsInteger xor 1; end ;
-
Равиль Зарипов (ZuBy) получил реакцию от Rusland в TListView Custom checkboxes (иконка чекбокс "избранное")
как-то так, но это наверное сложно для понимания)
LVStars.rar
-
Равиль Зарипов (ZuBy) получил реакцию от Евгений Корепов в WebBrowser + ComboBox = ошибка ?
ага, посмотрел логом, думаю правильней будет так
// ZuBy *** procedure TCustomWebBrowser.FormHandleCreated(const Sender: TObject; const Msg: TMessage); var WBService: IFMXWBService; begin if not(Sender.ClassNameIs('TCustomPopupForm')) then if not(csDesigning in ComponentState) and TPlatformServices.Current.SupportsPlatformService(IFMXWBService, WBService) then begin FWeb := WBService.CreateWebBrowser; FWeb.SetWebBrowserControl(Self); FWeb.UpdateContentFromControl; FWeb.URL := FURL; FWeb.Navigate; end; end; // *** ZuBy не реагировать на создание Попап окон, на формы это не влияет. Сильно не тестил, так что хз.
-
Равиль Зарипов (ZuBy) получил реакцию от giveaway в Ищу несколько кросс-платформенных компонентов
чтобы прям кросс, думаю такой код подойдёт
function StartGranted: boolean; // uses System.IOUtils begin Result := not TFile.Exists(TPath.Combine(TPath.GetDocumentsPath, 'IamStarted')); TFile.WriteAllText(TPath.Combine(TPath.GetDocumentsPath, 'IamStarted'), ''); end; в dpr пишем
begin if StartGranted then begin Application.Initialize; Application.CreateForm(TForm2, Form2); Application.Run; end; end. ну и в дестрое главной формы
procedure TForm2.FormDestroy(Sender: TObject); //uses System.IOUtils; begin TFile.Delete(TPath.Combine(TPath.GetDocumentsPath, 'IamStarted')); end; Но это не точно, может есть и аналог mutex'a в MacOS
-
Равиль Зарипов (ZuBy) отреагировална krapotkin в Можно ли как-нибудь попроще воспроизвести на Андроиде произвольный звук?
http://stackoverflow.com/questions/2413426/playing-an-arbitrary-tone-with-android
тут формируют буфер синусом и
audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, sampleRate, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, (int)numSamples*2, AudioTrack.MODE_STATIC); audioTrack.write(generatedSnd, 0, generatedSnd.length); // Load the track audioTrack.play(); ну или тут
https://gist.github.com/slightfoot/6330866
-
Равиль Зарипов (ZuBy) отреагировална Ерлан в [Обзор] #3 ModernListView - динамическая подгрузка контента
Рахмад, Равиль! Сбилдил, все заработало! Привет с Караганды)
-
Равиль Зарипов (ZuBy) получил реакцию от Rusland в Ищу несколько кросс-платформенных компонентов
чтобы прям кросс, думаю такой код подойдёт
function StartGranted: boolean; // uses System.IOUtils begin Result := not TFile.Exists(TPath.Combine(TPath.GetDocumentsPath, 'IamStarted')); TFile.WriteAllText(TPath.Combine(TPath.GetDocumentsPath, 'IamStarted'), ''); end; в dpr пишем
begin if StartGranted then begin Application.Initialize; Application.CreateForm(TForm2, Form2); Application.Run; end; end. ну и в дестрое главной формы
procedure TForm2.FormDestroy(Sender: TObject); //uses System.IOUtils; begin TFile.Delete(TPath.Combine(TPath.GetDocumentsPath, 'IamStarted')); end; Но это не точно, может есть и аналог mutex'a в MacOS