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

dim

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

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

  • Посещение

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

  1. подскажите как можно отследить, что в определенной папке изменился файл в реальном времени у меня пока только на ум приходит по таймеру пробегаться по всем файлам и сличать с данными в программе (например кэш файла) может есть какой то другой способ?
  2. спасибо, и в правду так проще, возвращаюсь назад в будущее )
  3. есть IdHTTPServer который формирует страницу с формой при нажатии Submit пытаюсь обработать ответ и если есть кириллица в поле то она возвращает не то что вводим если в форме ввести 011к marsh:=ARequestInfo.Params.Values['marsh']; то на выходе 011ê. пробовал TIdURI.ParamsEncode не работает через online раскодировщики определил что это WINDOWS-1252, как получить ее в нормальной кодировке? заголовок страницы AResponseInfo.ContentEncoding := 'windows-1251'; AResponseInfo.ContentType := 'text/html; charset=windows-1251'; AResponseInfo.ContentLanguage := 'ru'; AResponseInfo.CharSet := 'windows-1251';
  4. какой еще пример привести? я и так привел пример кода всей процедуры, написал какие значения получает переменная rz:=Length(CartList); возвращает 1 соответственно for iio := 0 to rz-1 do begin должен быть цикл от 0 до 0 (1-1=0) но он делает цикл от 1 до 0 если я делаю for iio := 1 to rz do begin то он делает от 2 до 1 значения iio я смотрю в отладчике я уже не знаю как описать ситуацию более понятно для Вас и отстаньте от CartList она вообще тут не причем, я так же делал и rz:=1;
  5. блииииин, еще раз говорю CartList не имеет отношения к вопросу, вопрос касается цикла
  6. ну дык CartList - локальная переменная. не инициализирована. ну я же отделил ... это значит она объявлена где то еще и там все с ней сделано по ней как раз проблем нет, проблема в цикле. я пока другим циклом сделал while , а там "шамана надо вызывать" хотя в других процедурах for работает штатно
  7. TCartList = array of TRec; ... var lb:TListBoxItem; rz:integer; iio:integer; CartList:TCartList; Rec:TRec; begin if CartList<>nil then begin rz:=Length(CartList); for iio := 0 to rz-1 do begin Rec:=CartList[iio]; end; end; end; все банально
  8. потому что это не важно, проблема в том, что for iio := 0 to rz do begin назначает iio=1 и цикл не выполняет (rz=0 это написано) причем если делаешь for iio := 1 to rz+1 do begin, в просмотре показывает iio=2 и цикл опять не выполняется такое ощущение что firemonkey сошла сума
  9. блин, что делаю не так (под андроид) var iio:integer; begin rz:=High(CartList);// возвращает 0 хотя есть 1 запись в массиве for iio := 0 to rz do begin // цикл не выполняется так как iio=1 в отладчике end; уже всю голову сломал подскажите что не так
  10. string[x] или shortstring и все будет писаться (в обычной Delphi)
  11. в моем коде акцент не на запись в файл (это я для примера вставил, даже не смотрел будет ли работать), а на объявление переменной f:file of TMyRec которую с строками я не могу выполнить. Да можно извратиться вместо string объявить array[1..25] of char, но это усложняет реализацию. и haword прав, когда тупо надо скинуть массив в файл то такая запись работает проще и быстрее
  12. пришлось через ini делать, просто сроки поджимают по этому надо то что быстро реализовать и будет работать по поводу хранить в JSON надо будет реализовать на будущее, вот почему в FireMonkey все через ....
  13. Подскажите как сохранить в файл типизированный массив под андроид, раньше делал: TMyRec = record id : string; name : string; nomer : string; fio : string; end; TMyList = array of TMyRec; MyList:TMyList; ...... f:file of TMyRec; MyRec:TMyRec; begin AssignFile(F,path); Rewrite(F); Seek(F,0); rz:=High(MyList); for i := 0 to rz do begin MyRec:=MyList[i]; Write(F,MyRec); end; для андроида этот код не работает ошибка на f:file of TMyRec; так как использую string (string[x] и shortstring тоже не подходит) подскажите как можно еще массив сохранить в файл и считать его потом
  14. Ups, блин убил пару дней
  15. в смысле обман? я гружу файл в StringList, а потом его помещаю в XML
  16. сделал через ls:=TStringList.Create; ls.LoadFromFile(strXml); XMLDocument1.XML:=ls; все заработало
  17. XMLDocument1.LoadFromXML(strXml); XMLDocument1.Active := True;<== Вот тут и ошибка я пробовал и создавать новый файл (скопировав с оригинала) и символы смотрел уже все нормально но так как файл приходит автоматом и загрузка должна быть без участия пользователя хотелось бы что бы нормально грузило (php ее грузит)
  18. пользуюсь стандартным компонентом XMLDocument и стразу при загрузке ошибка
  19. а как определить в чем ошибка, внешне вроде все нормально <?xml version="1.0" encoding="UTF-8"?> <CIM CIMVERSION="2.0" DTDVERSION="2.2"> <DECLARATION> <DECLGROUP> <VALUE.OBJECT> <INSTANCE CLASSNAME="NEW"> <PROPERTY_1 TYPE="string" NAME="ID"> <VALUE>1</VALUE> </PROPERTY_1> <PROPERTY_2 TYPE="string" NAME="СБ_ID"> <VALUE>SD100000001</VALUE> </PROPERTY_2> <PROPERTY_4 TYPE="string" NAME="ИНФОРМАЦИЯ"> <VALUE>Шаблон::</VALUE> </PROPERTY_4> <PROPERTY_5 TYPE="string" NAME="ИНИЦИАТОР"> <VALUE>Сергей Николаевич</VALUE> </PROPERTY_5> <PROPERTY_6 TYPE="string" NAME="РГ"> <VALUE>для сотрудников</VALUE> </PROPERTY_6> <PROPERTY_7 TYPE="string" NAME="ПБ"> <VALUE>42</VALUE> </PROPERTY_7> </INSTANCE> </VALUE.OBJECT> <VALUE.OBJECT> <INSTANCE CLASSNAME="NEW"> <PROPERTY_1 TYPE="string" NAME="ID"> <VALUE>2</VALUE> </PROPERTY_1> <PROPERTY_2 TYPE="string" NAME="СБ_ID"> <VALUE>SD100000002</VALUE> </PROPERTY_2> <PROPERTY_4 TYPE="string" NAME="ИНФОРМАЦИЯ"> <VALUE>Шаблон::</VALUE> </PROPERTY_4> <PROPERTY_5 TYPE="string" NAME="ИНИЦИАТОР"> <VALUE>Сергей Николаевич</VALUE> </PROPERTY_5> <PROPERTY_6 TYPE="string" NAME="РГ"> <VALUE>для сотрудников</VALUE> </PROPERTY_6> <PROPERTY_7 TYPE="string" NAME="ПБ"> <VALUE>42</VALUE> </PROPERTY_7> </INSTANCE> </VALUE.OBJECT> </DECLGROUP> </DECLARATION> </CIM>
  20. dim

    Парсинг XML файла

    подскажите чем можно парсить xml? пробовал XMLDocument XMLDocument1.LoadFromXML(strXml); XMLDocument1.Active := True; но он при загрузке файла выдает ошибку "Ошибка в элементе верхнего уровня документа Line:1" этот файл мне приходит от поставщика и при открытии другими программами не ругается на структуру
  21. Нарооод, ну не ужели ни кто не пользуется определением адресов по координатам???? выходит ошибка на строку fGeocoder.GeocodeReverse(myCoordinat); myCoordinat при вызове имеет правильные координаты, а в unit System.Sensors; class procedure TGeocoder.GeocodeReverse( const Coords: TLocationCoord2D); begin if Geocoding then GeocodeError(SGeocodeMultipleRequests); FGeocoding := True; try GeocodeReverseRequest(Coords); finally FGeocoding := False; end; end; Coords становится равный {Latitude = -1.1427781371357079e+180, Longitude = -4.8767659040532049e+176} и соответственно вылазит ошибка
  22. я сделал так, пробую вызвать метод try ClientModule1.ServerMethods1Client.Send_messageOperator(Person.Phone,task_operator.Text); except ClientModule1:=nil; ConnectToServer; exit; end; и если ошибка то в ConnectToServer if ClientModule1=nil then ClientModule1:= TClientModule1.Create(self) else ClientModule1.DataModuleCreate(nil);
  23. а как можно менять иконку? дописал компонент, вроде работает, если кому надо: uses VCL.Graphics; .... protected procedure SetIcon(Icon: TIcon); public property Icon: TIcon read FIcon write SetIcon; ... procedure TCustomTrayIcon.SetIcon(Icon: TIcon); begin FIcon:=Icon; FData.hIcon:=FIcon.Handle; Refresh; end;
×
×
  • Создать...