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

Rusland

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

    1 204
  • Зарегистрирован

  • Посещение

  • Победитель дней

    26

Активность репутации

  1. Like
    Rusland получил реакцию от Равиль Зарипов (ZuBy) в как раскрасить Detail   
    Положил на форму Button, ListView, скопировал код ^^^
    На строке    
    AItem.Objects.DetailObject.TextColor := AItem.Data['status'].asinteger; получаю Access Violation.
    ListView надо сначала настроить как-то?
     
    UPD: нашел, в LV ItemAppearance стоял ListItem, а надо было выбрать любой содержащий Detail
  2. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в как раскрасить Detail   
    var FUpdateLV: Boolean = false; implementation {$R *.fmx} procedure TForm12.Button1Click(Sender: TObject); var I: Integer; AItem: TListViewItem; begin ListView1.ItemAppearance.ItemAppearance := 'ImageListItemBottomDetail'; for I := 0 to 25 do begin FUpdateLV := false; AItem := ListView1.Items.Add; with AItem do begin Text := 'Random Text ' + IntToStr(I); Detail := 'Detail for ' + Text; if I mod 3 = 0 then Data['status'] := TAlphaColorRec.Red else Data['status'] := TAlphaColorRec.Green; end; FUpdateLV := true; ListView1.Adapter.ResetView(AItem); end; end; procedure TForm12.ListView1UpdateObjects(const Sender: TObject; const AItem: TListViewItem); begin if not FUpdateLV then exit; if AItem.HasData['status'] then begin AItem.Objects.DetailObject.TextColor := AItem.Data['status'].asinteger; end; end;
  3. Like
    Rusland получил реакцию от AngryOwl в Контролировать приход SMS   
    Отлично работает! Большое спасибо
  4. Like
    Rusland получил реакцию от Равиль Зарипов (ZuBy) в Наклеить одно изображение на другое   
    Отлично! Артефакты пропали. Если свернуть/развернуть приложение, ничего не исчезает 
  5. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в Наклеить одно изображение на другое   
    var bmp: TBitmap; SrcRect, DstRect, SrcRect2, DstRect2: TRectF; begin bmp := TBitmap.Create(256, 256); bmp.Canvas.BeginScene(); try SrcRect := TRectF.Create(0, 0, 256, 256); DstRect := TRectF.Create(20, 20, 236, 236); SrcRect2 := TRectF.Create(0, 0, 256, 256); DstRect2 := TRectF.Create(0, 0, 256, 256); bmp.Clear(TAlphaColorRec.Null); bmp.Canvas.DrawBitmap(Image1.Bitmap, SrcRect2, DstRect2, 0.8, false); bmp.Canvas.DrawBitmap(Image2.Bitmap, SrcRect, DstRect, 0.8, false); finally bmp.Canvas.EndScene(); Image3.Bitmap.SetSize(256, 256); Image3.Bitmap.CopyFromBitmap(bmp); bmp.Free; end; end;  
  6. Like
    Rusland отреагировална DimArt в Berlin Артефакты при отрисовке   
    Вроде как в секцию инициализации   http://docwiki.embarcadero.com/Libraries/XE6/en/FMX.Types.GlobalUseGPUCanvas
  7. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в Berlin Артефакты при отрисовке   
    в dpr, до
    Application.Initialize;  
  8. Like
    Rusland получил реакцию от Равиль Зарипов (ZuBy) в Контролировать приход SMS   
    Отлично работает! Большое спасибо
  9. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в Контролировать приход SMS   
    я исправил уже, смотри выше
  10. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в Контролировать приход SMS   
    const SMS_RECEIVED = 'android.provider.Telephony.SMS_RECEIVED'; procedure SMSReceiver(aIntent: JIntent); //uses // Androidapi.JNI.JavaTypes, Androidapi.JNI.Telephony, Androidapi.JNI.Provider, Androidapi.JNIBridge, // Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers; var aSmss: TJavaObjectArray<JSmsMessage>; aSms: JSmsMessage; aFrom: string; aBody: string; I: Integer; begin if aIntent = nil then exit; if (aIntent.getAction <> nil) and (aIntent.getAction.compareToIgnoreCase(StringToJString(SMS_RECEIVED)) = 0) then begin aSmss := TJavaObjectArray<JSmsMessage>.Create; aSmss := TJSms_Intents.JavaClass.getMessagesFromIntent(aIntent); aFrom := JStringToString(aSmss[0].getDisplayOriginatingAddress); aBody := ''; for I := 0 to aSmss.Length - 1 do begin aSms := aSmss[I]; aBody := aBody + JStringToString(aSms.getDisplayMessageBody); end; end; end; не проверял, но по коду так, только как нить вернуть нужно aFrom, aBody
    сделать как функцию и тд..
  11. Like
    Rusland отреагировална Pax Beach в Контролировать приход SMS   
    У в Берлине АПД1 в исходниках, Androidapi.JNI.Provider.pas
    есть такой метод.
    UPD:
    А... обратил внимание, что метод появился с API-19.
  12. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в Контролировать приход SMS   
    да входящие, вот функция
    // перевод с UnixDate в TDateTime function myUnixToDateTime(USec: Longint): TDateTime; begin Result := (USec / 86400) + UnixDateDelta; end;  
  13. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в Контролировать приход SMS   
    я пользовался таким кодом когда-то, текст в смс был таким 
    // получение кода с СМС отправленного при регистрации function GetSMSCode: string; // uses // FMX.Helpers.Android, Androidapi.JNI.Net, Androidapi.JNI.JavaTypes, Androidapi.JNI.Telephony, // Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers {$IFDEF ANDROID} var cursor: JCursor; uri: Jnet_Uri; address, body, Return: string; msgunixtimestampms: int64; addressidx, msgdateidx, bodyidx: integer; aUTCOffset: integer; SMSTime: TDateTime; begin try Return := ''; uri := StrToJURI('content://sms/inbox'); cursor := SharedActivity.getContentResolver.query(uri, nil, nil, nil, nil); addressidx := cursor.getColumnIndex(StringToJstring('address')); msgdateidx := cursor.getColumnIndex(StringToJstring('date')); bodyidx := cursor.getColumnIndex(StringToJstring('body')); cursor.moveToFirst; address := JStringToString(cursor.getString(addressidx)); msgunixtimestampms := cursor.getLong(msgdateidx); body := JStringToString(cursor.getString(bodyidx)); if Pos('exFood:', body) > 0 then // эта строчка всегда приходит в сообщении begin // учитываем Часовой пояс with TTimeZone.Create do begin aUTCOffset := Local.GetUtcOffset(Now).Hours; Free; end; SMSTime := IncHour(myUnixToDateTime(msgunixtimestampms div 1000), aUTCOffset); // вычисляем последнюю смс if DayOf(SMSTime) = DayOf(Now) then if MinuteOf(SMSTime) = MinuteOf(Now) then Return := Copy(body, body.Length - 3, MAX_PATH); // вырезаем код подтверждения end; Result := Return; except Result := 'ERROR'; end; {$ELSE} begin Result := '0000'; {$ENDIF} end;  
  14. Like
    Rusland отреагировална Pax Beach в Наклеить одно изображение на другое   
    Как ты ищешь? )
    Вот решение люди предлагают.
     
  15. Like
    Rusland получил реакцию от AngryOwl в Наклеить одно изображение на другое   
    Безрезультатно убил полдня на поиски решения в интернете, пришлось разбираться самому:
    var bmp: TBitmap; SrcRect, DstRect: TRectF; begin bmp:=TBitmap.Create(200,260); bmp.Canvas.BeginScene(); try SrcRect := TRectF.Create(0, 0, 200, 260); DstRect := TRectF.Create(0, 0, 200, 260); bmp.Canvas.DrawBitmap( Image1.Bitmap, SrcRect, DstRect, 1, false); bmp.Canvas.DrawBitmap( Image2.Bitmap, SrcRect, DstRect, 1, false); finally bmp.Canvas.EndScene(); end; Image3.Bitmap.Assign(bmp); "А ларчик просто открывался" 
     
    PS. Осталось научится, как некоторые точки самому делать прозрачными
  16. Like
    Rusland получил реакцию от Alex7wrt в Не запускается на Sony Xperia и Samsung DUOS? А на Lenovo S60 запускается   
    Рекомендуют свести к минимуму использование анимации.
    380мб... почему бы и нет... если это не размер готового apk-файла... естественно когда хотите поделиться кодом проекта, то папку Android не нужно включать в архив.
  17. Like
    Rusland отреагировална AngryOwl в Благодраность   
    Вы знаете...
    На самом деле, за последний год изменилось очень многое.
    Я искренне рад за компанию Embarcadero, и, конечно, за сам продукт RAD Studio. Им есть над чем работать, возможно не хватает ресурсов и т.д. и т.п... Однако на все сложности, думаю, у них очень большие перспективы. Серьезно! На мой взгляд, на сегодняшний день, аналога RAD Studio просто не существует! Его просто нет! Ну вот хоть убейтесь - нет его! И это далеко не только мое мнение. Мнение очень многих серьезных программистов, которые используют и другие IDE и, тем-более, языки (и которые работают в очень серьезных компаниях). И "всепропальщиков" я слышу со времен моей работы с Turbo-Pascal 5.0... )
    Недостатки есть у всех! Можно так охаять любую IDE и любой язык, - что мало не покажется. Это касается "любого" (я о всяких студиях... и мелкомягких и корпорацияхдобра)... Вопрос больше в ресурсах, которые есть у компании, чтобы оперативно решать проблемы: баги, обновления, документация, поддержка и т.д...
    А если говорить непосредственно о FMX, то вообще - все остальные тупо в пролете!
    И мы говорим о продукте компании, которая катастрофически уступает своими возможностями и ресурсами таким монстрам как Microsoft с их Visual Studio.
    Сейчас уже все больше и больше и документации и информации и ресурсов по FMX, в частности. Это и китайские ресурсы, и японские и немецкие. Не думайте - что только в постсоветском пространстве популярен Delphi, в частности, и среда RAD Studio. Это не серьезно! )
    Китай, Япония, Германия, Франция и т.д. и т.д.
    Все больше и больше и открытых исходников и разнообразных ресурсов и компонентов. Тот же Boian Mitov - куча компонентов, уникальные инструменты. Большинство - с поддержкой, и под, FMX! (не реклама! ссылок не даю - сами найдете). Уникальный болгарский (если мне память не изменяет) программист - написал и развил огромную библиотеку... И таких как он - много.
    К чему я все это... А к тому - что изменилось столько всего! что даже не уверен, что об этом вообще надо говорить. А уж я то за ней следил еще со времен библиотеки VG-Scene (Евгения Крюкова) и далее - с самой первой XE...
    А уж текущий ресурс - считаю один из лучших. Главное - уметь пользоваться!
    И я полностью согласен с [Kitty] и поддерживаю - благодарю ребят за то, что они создали и ведут этот ресурс!
  18. Like
    Rusland отреагировална AngryOwl в Не запускается на Sony Xperia и Samsung DUOS? А на Lenovo S60 запускается   
    По поводу Sony - я уже писал, и не раз (просто у меня несколько таких девайсов было).
    И по моему опыту - это касается не только Sony.
    На чем я вообще тестил (лично) свои программы: Sony (Xperia L, SP, Tablet Z), Huawei (G7, P7), Samsung (много), Highscreen (Zera S, Spider), Fly (tornado slim octa)... Всех не упомнишь...
    И пришел к однозначному выводу - не использовать градиенты ни каким образом. Намного проще и быстрее (в работе) - готовые изображения (png).
    Это же касается и TCircle. И, например, - прямоугольник с "закругленными" углами. Можно и без них обходиться, и при этом все будет более "гладким" и без багов.
  19. Like
    Rusland получил реакцию от AngryOwl в Не запускается на Sony Xperia и Samsung DUOS? А на Lenovo S60 запускается   
    Рекомендуют свести к минимуму использование анимации.
    380мб... почему бы и нет... если это не размер готового apk-файла... естественно когда хотите поделиться кодом проекта, то папку Android не нужно включать в архив.
  20. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в Проверка валидности символов   
    function TForm11.isEditCorrect(Sender: TEdit): Boolean; var   text: String;   i: Integer;   aCharArr: TCharArray; begin   text := TEdit(Sender).text;   aCharArr := text.ToCharArray;   Result := True;   for i := Low(aCharArr) to High(aCharArr) do   begin     if not(aCharArr[i] in charters) then       Result := False;   end;   if text.CountChar('-') > 1 then     Result := False; end; вот так правильно
  21. Like
    Rusland отреагировална POV в Благодраность   
    Не знаю что имеется в виду под мануалом, но год назад не было ни манулов ни справки на сайте абракадарбы - у каждого почти метода прочерк. Всё, блин, методом тыка и интуиции познавалось. 
    С мая FMX не пользую по ряду причин, может чего изменилось.
  22. Like
    Rusland отреагировална Kitty в Благодраность   
    Большое спасибо Ярославу, что находит время и фиксит проблемы, которые мы тут поднимаем. И курсы его великолепные!
    Спасибо профессионалам, таким как ZuBy, который терпит наши глупые вопросы и помогает.
    СПАСИБО!!!
  23. Like
    Rusland отреагировална POV в 2D объекты на 3D объектах   
    Именно оно
  24. Like
    Rusland отреагировална POV в 2D объекты на 3D объектах   
    Вот иллюстрация проги с 2Дэ объектами (пароль архива 123)
    SemyonUtil.rar
  25. Like
    Rusland отреагировална POV в 2D объекты на 3D объектах   
    Не Layout3D а Layer3D

×
×
  • Создать...