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

Rusland

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

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

  • Посещение

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

    26

Весь контент Rusland

  1. Может быть использовать логирование? Тогда по крайней мере будет видно на каком шаге происходит падение.
  2. Почитайте про потоки http://fire-monkey.ru/topic/30-fonovoe-vypolnenie-operatcii-bez-zamorazhivani/
  3. Проверял и с GET-запросом - работает.
  4. Вложения пока не работают, форум сломался
  5. А если так передавать параметры sStream := TStringStream.Create(); sList:=TStringList.Create; sList.Add('Lat='+Lat); sList.Add('Lon='+Lon); sList.Add('Alt='+Alt); aResponse:=aHttpClient.Post(sURL,sList,sStream);
  6. Аналогично. В Яндекс браузере. Пишет: Ошибка Возникла ошибка при загрузке файла Тоже самое. Если пытаюсь вставить код по Ctrl+V - тишина
  7. Нужен для того чтобы логировать все что происходит при запросах через IdTCPclient, IdUDPclient и т.п. Например, положите на форму IdHTTP1, IdLogFile1, IdIOHandlerStack1 и Button. Пропишите следующее unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdIntercept, IdLogBase, IdLogFile, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, FMX.Controls.Presentation, FMX.StdCtrls; type TForm1 = class(TForm) Button1: TButton; IdHTTP1: TIdHTTP; IdLogFile1: TIdLogFile; IdIOHandlerStack1: TIdIOHandlerStack; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.Button1Click(Sender: TObject); begin IdLogFile1.Filename:='c:\temp\1.log'; IdLogFile1.Active:=True; IdIOHandlerStack1.Intercept:=IdLogFile1; IdHTTP1.IOHandler:= IdIOHandlerStack1; IdHTTP1.Get('http://google.ru'); end; end. После нажатия кнопки можете увидеть результат лога в файле c:\temp\1.log
  8. RemoveDir удаляет пустую папку... видимо она не пуста
  9. Вот, например, взял данные из svg и простым Ctrl-C/Ctrl-V скопировал в PathData M121.720001220703,37.5099983215332 C134.070007324219,37.4599990844727 146.419998168945,37.3300018310547 158.770004272461,37.25 C149.610000610352,52.1599998474121 140.360000610352,67.0100021362305 131.229995727539,81.9400024414063 C123.230003356934,81.5400009155273 115.169998168945,82.4599990844727 107.540000915527,84.9100036621094 C112.309997558594,69.120002746582 116.959999084473,53.2999992370605 121.720001220703,37.5099983215332 Z M134.979995727539,82.3499984741211 C145.630004882813,67.3099975585938 156.210006713867,52.2099990844727 166.850006103516,37.1599998474121 C179.839996337891,41.4199981689453 192.839996337891,45.6500015258789 205.820007324219,49.9300003051758 C189.960006713867,63.2700004577637 173.820007324219,76.3000030517578 158.110000610352,89.8099975585938 C150.740005493164,86.379997253418 143.130004882813,83.25 134.979995727539,82.3499984741211 Z M81.5100021362305,55.5699996948242 C91.6999969482422,51.4799995422363 101.910003662109,47.4500007629395 112.110000610352,43.4099998474121 C109.519996643066,57.5999984741211 106.819999694824,71.7799987792969 104.290000915527,85.9800033569336 C97.2699966430664,88.9700012207031 90.629997253418,92.8899993896484 84.9700012207031,98.0299987792969 C83.8000030517578,83.879997253418 82.6800003051758,69.7300033569336 81.5100021362305,55.5699996948242 Z M53.9900016784668,84.0400009155273 C61.1300010681152,77.1500015258789 68.1999969482422,70.1900024414063 75.4499969482422,63.4099998474121 C77.9700012207031,75.5500030517578 80.5100021362305,87.6900024414063 83.0699996948242,99.8199996948242 C78.0299987792969,104.819999694824 73.870002746582,110.660003662109 70.6800003051758,116.98999786377 C65.1699981689453,105.980003356934 59.5499992370605,95.0199966430664 53.9900016784668,84.0400009155273 Z M88.0699996948242,106.139999389648 C98.8600006103516,95.0599975585938 114.519996643066,88.9599990844727 129.970001220703,89.9100036621094 C142.520004272461,90.5100021362305 154.679992675781,95.7799987792969 163.949996948242,104.230003356934 C144.149993896484,117.919998168945 124.339996337891,131.580001831055 104.540000915527,145.25 C106.300003051758,150.710006713867 108.129997253418,156.149993896484 109.970001220703,161.580001831055 C112.029998779297,161.130004882813 114.080001831055,160.679992675781 116.129997253418,160.240005493164 C119.220001220703,166.880004882813 122.230003356934,173.559997558594 125.23999786377,180.240005493164 C124.690002441406,180.220001220703 123.580001831055,180.190002441406 123.029998779297,180.169998168945 C114.559997558594,179.059997558594 105.790000915527,178.589996337891 97.4400024414063,180.710006713867 C94.6699981689453,181.470001220703 91.9100036621094,182.570007324219 89.8600006103516,184.649993896484 C79.1800003051758,174.789993286133 72.6399993896484,160.559997558594 72.3399963378906,146 C71.8600006103516,131.300003051758 77.6999969482422,116.559997558594 88.0699996948242,106.139999389648 M90.0899963378906,109.059997558594 C80.9400024414063,117.790000915527 75.2900009155273,130.229995727539 75.4300003051758,142.949996948242 C75.6100006103516,155.449996948242 80.2099990844727,167.699996948242 87.4899978637695,177.779998779297 C90.379997253418,176.729995727539 93.2799987792969,175.729995727539 96.1800003051758,174.75 C89.5999984741211,166.050003051758 84.5599975585938,155.919998168945 83.0899963378906,145.009994506836 C81.7799987792969,135.270004272461 83.9899978637695,124.889999389648 90.0899963378906,117.059997558594 C98.0400009155273,106.639999389648 109.720001220703,100.110000610352 121.220001220703,94.3399963378906 C119.5,93.9300003051758 117.709999084473,93.1900024414063 115.98999786377,94.0400009155273 C106.400001525879,97.0299987792969 97.3399963378906,102.059997558594 90.0899963378906,109.059997558594 Z M43.5299987792969,117.25 C46.560001373291,110.150001525879 49.5999984741211,103.040000915527 52.6199989318848,95.9400024414063 C58.1800003051758,103.970001220703 63.7999992370605,111.940002441406 69.3000030517578,120.01000213623 C67.2799987792969,124.940002441406 65.8300018310547,130.089996337891 65.0100021362305,135.360000610352 C57.8300018310547,129.350006103516 50.6699981689453,123.309997558594 43.5299987792969,117.25 Z M114.01000213623,148.389999389648 C133.880004882813,134.740005493164 153.690002441406,121.01000213623 173.529998779297,107.309997558594 C175.619995117188,117.459999084473 177.649993896484,127.620002746582 179.630004882813,137.789993286133 C158.139999389648,142.559997558594 136.690002441406,147.470001220703 115.209999084473,152.220001220703 C114.800003051758,150.940002441406 114.400001525879,149.669998168945 114.01000213623,148.389999389648 Z M43.1500015258789,144.440002441406 C43.6300010681152,137.460006713867 44.2099990844727,130.479995727539 44.7900009155273,123.51000213623 C51.4000015258789,128.479995727539 58.1199989318848,133.309997558594 64.6500015258789,138.389999389648 C64.2300033569336,143.270004272461 64.3000030517578,148.190002441406 64.9400024414063,153.050003051758 C57.689998626709,150.160003662109 50.4300003051758,147.270004272461 43.1500015258789,144.440002441406 Z M45.2599983215332,150.039993286133 C51.9599990844727,151.910003662109 58.7000007629395,153.619995117188 65.3499984741211,155.649993896484 C66.129997253418,159.850006103516 67.3199996948242,163.979995727539 68.879997253418,167.960006713867 C62.7799987792969,167.929992675781 56.6800003051758,167.899993896484 50.5699996948242,167.830001831055 C48.8499984741211,161.880004882813 47.0200004577637,155.970001220703 45.2599983215332,150.039993286133 Z M125.440002441406,161.210006713867 C130.029998779297,164.050003051758 133.050003051758,168.699996948242 137.470001220703,171.75 C144.039993286133,176.639999389648 151.330001831055,181.190002441406 155.600006103516,188.410003662109 C159.410003662109,194.860000610352 162.350006103516,201.800003051758 164.889999389648,208.839996337891 C161.880004882813,213.759994506836 157.380004882813,217.600006103516 151.960006713867,219.610000610352 C143.119995117188,200.149993896484 134.199996948242,180.710006713867 125.440002441406,161.210006713867 Z M52.9900016784668,171.949996948242 C58.5499992370605,171.229995727539 64.129997253418,170.589996337891 69.7099990844727,169.910003662109 C71.129997253418,173.600006103516 73.7600021362305,176.699996948242 75.0599975585938,180.429992675781 C71.1699981689453,181.880004882813 67.370002746582,183.539993286133 63.4900016784668,185 C60.0299987792969,180.619995117188 56.439998626709,176.339996337891 52.9900016784668,171.949996948242 Z 214993062.zip
  10. sviat, Нарисуйте сначала что-нибудь карандашиком, затем сохраните... ищите в файле "<path ... d=" - вот все что в d, то и вставляйте в PathData
  11. Использую helper для раскраски ListView (LVhelper.pas) из примера ZuBy. procedure TFrmMain.SetListViewStyle(); begin Lsv.SetColorItemFill($FF000000); // цвет фона item-а серый Lsv.SetColorBackground($FF000000); // фон делаем "черным" Lsv.SetColorItemFillAlt($FF1A1A1A); Lsv.SetColorItemSelected($FF1A1A1A); // фон выделенного item-а Lsv.SetColorText($FFFFFFFF); // шрифт белый Lsv.SetColorTextSelected($FFFFFFFF); // шрифт белый end; Раскрашивается замечательно, НО когда я выделяю item, то текста в выделенной ячейке практически не видно - он становится то ли темно-серым, то ли черным. Как побороть? Оказывается все просто, процедуру надо вызывать непременно в OnApplyStyleLookup - тогда все работает как надо.
  12. Inkscape умеет сохранять в SVG, к тому же бесплатный
  13. Можно конечно, но для версии Professional, да и сам этот Add-On стоит не дешево
  14. mrseagull, там убрано все самое нужное
  15. ZuBy, на NetHTTPClient аналогично можно сделать? Timeout-ы задать как-то можно?
  16. Вот здесь видел как удалить СМС, но у меня не корректно работало на телефоне Android 4.2.2 (подвисало). PS. Похоже вы как раз наткнулись на этот же код.
  17. Может попробовать поработать с компонентом TChromium? (когда-то использовал из-за проблем стандартного Webbrowser)... не знаю только есть ли он под Firemonkey
  18. Если нужно нарисовать простую фигуру (треугольник, ромб, трапеция итп), то можно самому писать, строя отрезки. Вот для примера треугольник: Обратите внимание на направление оси Y. Координаты точек: A (0,0) B (2,-2) С (2,0) Значит TPathData будет такой: M0,0 L2,-2 L2,0 L0,0 M - Move to L - Line to (в конце возвращаемся в исходную точку) или можно так M0,0 L2,-2 L2,0 Z
  19. им надо было на 9 мая ее выпускать! )) В апреле выпустят... обычно так. Калькулятор нет так-то просто написать... польскую нотацию надо знать Но переименований действительно не надо.
  20. mader, я забыл прикрепить файл CSBroadcastReceiver.pas CSBroadcastReceiver.zip
  21. Вот так uses Winapi.ShellAPI, Winapi.Windows; procedure TForm1.Button1Click(Sender: TObject); var FullProgPath: String; begin FullProgPath:='C:\Temp\1.exe'; // полный путь к exe ShellExecute(0, PChar('open'), PChar(FullProgPath), PChar(''), PChar(ExtractFilePath(FullProgPath)), SW_SHOWNORMAL); Application.Terminate; end;
  22. haword, не могли бы вы выложить целиком весь unit? У меня не получается Вроде компилируется, но цвет не меняется procedure TFrmMain.FormCreate(Sender: TObject); begin LsvAlarms.SetBackgroundItemStyleColor(TAlphaColors.red); end; Оказывается все работает, просто сначала надо заполнить ListView и лишь затем вызывать эту процедуру
  23. Выбираю, нажимаю <Del> - ничего не происходит, элемент остается на месте... пока делаю так - сохраняю стиль, в редакторе вырезаю ненужное, загружаю стиль обратно в StyleBook
  24. Вот пример, из которого вы можете видеть как перехватывать звонки (добавьте на форму Memo) uses CSBroadcastReceiver, Androidapi.JNI.JavaTypes.Own, Androidapi.Jni, AndroidApi.JNI.GraphicsContentViewText, Androidapi.Jni.JavaTypes, Androidapi.JNI.Os, Androidapi.JNIBridge, Androidapi.JNI.Telephony, FMX.Controls.Presentation, FMX.ScrollBox, FMX.Memo, FMX.StdCtrls; private { Private declarations } procedure CreateBroadcastReceiver; procedure BroadcastReceiverOnReceive(csContext: JContext; csIntent: JIntent); procedure CheckPhoneCallState(Context: JContext; Intent: JIntent); procedure CheckSmsInState(Context: JContext; Intent: JIntent); function KillCall(Context: JContext): Boolean; public { Public declarations } end; var Form1: TForm1; BroadcastReceiver: TCSBroadcastReceiver; implementation uses Androidapi.Jni.App, Androidapi.Helpers, Androidapi.Log; procedure TForm1.CreateBroadcastReceiver; begin if not Assigned(BroadcastReceiver) then begin BroadcastReceiver:= TCSBroadcastReceiver.Create(nil); BroadcastReceiver.OnReceive:= BroadcastReceiverOnReceive; BroadcastReceiver.RegisterReceive; BroadcastReceiver.Add('android.intent.action.PHONE_STATE'); BroadcastReceiver.Add('android.intent.action.NEW_OUTGOING_CALL'); end; end; procedure TForm1.CheckPhoneCallState(Context: JContext; Intent: JIntent); var telephonyService: JObject; telephonyManager: JTelephonyManager; state: JString; incomingCallNumber: string; outgoingCallNumber: string; outputResult: string; begin outputResult:= #13#10; telephonyService := TAndroidHelper.Context.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE); telephonyManager := TJTelephonyManager.Wrap((telephonyService as ILocalObject).GetObjectID); if JStringToString(Intent.getAction).Equals('android.intent.action.PHONE_STATE') then begin state:= Intent.getStringExtra(TJTelephonyManager.JavaClass.EXTRA_STATE); if state.equals(TJTelephonyManager.JavaClass.EXTRA_STATE_IDLE) then outputResult:= outputResult + 'Phone is IDLE ' + #13#10 else if state.equals(TJTelephonyManager.JavaClass.EXTRA_STATE_RINGING) then begin incomingCallNumber:= JStringToString(Intent.getStringExtra(TJTelephonyManager.JavaClass.EXTRA_INCOMING_NUMBER)); if incomingCallNumber.Equals('') then incomingCallNumber:= 'PRIVATE NUMBER'; outputResult:= outputResult + 'Phone is RINGING' + #13#10; outputResult:= outputResult + 'Incoming call from ' + incomingCallNumber + #13#10; if incomingCallNumber = '+79391234567' then /// телефон в черном списке // тут отбиваем звонок end else if state.equals(TJTelephonyManager.JavaClass.EXTRA_STATE_OFFHOOK) then outputResult:= outputResult + 'Phone is OFFHOOK' + #13#10; end else if JStringToString(Intent.getAction).Equals('android.intent.action.NEW_OUTGOING_CALL') then begin outgoingCallNumber:= JStringToString(Intent.getStringExtra(TJIntent.JavaClass.EXTRA_PHONE_NUMBER)); outputResult:= outputResult + 'Outgoing call to ' + outgoingCallNumber + #13#10; if outgoingCallNumber = '+79051234567' then /// телефон в черном списке begin BroadcastReceiver.SetResultData(nil); outputResult:= outputResult + 'Call is not allowed to ' + outgoingCallNumber + #13#10; end; end; Memo1.Lines.Append(outputResult); end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin if Assigned(BroadcastReceiver) then BroadcastReceiver.Free; end; procedure TForm1.FormCreate(Sender: TObject); begin CreateBroadcastReceiver; end; Отправить на PHP сервер можно, например, через Indy компоненты.
  25. mrseagull, они там пишет "свежие"... ну-ну
×
×
  • Создать...