Поиск сообщества
Показаны результаты для тегов 'delphi xe'.
Найдено: 2 результата
-
Всем доброго дня. Прошу помочь, любая малейшая подсказка прояснит ситуацию. Сделал русскоязычное Андроид приложение на Delphi XE8. Использовал SQlite в своем проекте. Работает отлично, оттестировал на Android 6.0 и Android 4.5 на двух разных аппаратах. Прежде чем делать мультиязычное приложение, решил проверить как оно будет работать, если язык системы будет отличным от русского. Поставил английский-United Kingdom и приложение не запустилось, вернее пошла заставка, после нее приложение просто закрылось без ошибок. То же самое при французском, испанском системных языках. А вот при немецком и украинском языке системы - работает. В чем здесь дело никак не могу понять и куда копать. Приложение не могу предоставить - слишком большое.
-
На Windows тип AnsiString присутствует, на Android отсутствует. Имеется код (функция): function TForm1.GetConvertedText(s: string): string; var m:TMemoryStream; {$IFDEF MSWINDOWS}ss:AnsiString;{$ENDIF MSWINDOWS} {$IFDEF ANDROID} ss:String;{$ENDIF ANDROID} b:byte; begin m:=TMemoryStream.Create; m.LoadFromFile(s); m.Seek(0,soFromBeginning); SetLength(ss,5); m.Read(ss[1],5); if ss=SIGN then begin ss:=''; m.Read(b,1); SetLength(ss,; m.Read(ss[1],; end; Result:=ss; m.free; end; На Windows результат отображается нормально, потому что ss:=AnsiString; А вот на Android'e нету значения AnsiString, поэтому для теста я просто присвоил String; Отсюда пошли кракозябры, как можно получить результат в нормальной читаемой кодировке? Почитав немного, наткнулся на TEncoding, но не разобрался.