-
Постов
64 -
Зарегистрирован
-
Посещение
Весь контент neo
-
это если файл просто текстовый... а у меня там сначала идёт размер строки... у меня в ключевой файл пишется несколько параметров типа IMEI итд
-
ну да =) вот так вызываю.. edit1.text:=StringOf(LoadData); просто размер кажется большим из за того что каждую часть разнёс по функциям/процедурам тк они используются ещё и для других целей если ты умеешь делать это одной строкой то можешь поделится =)
-
строку в файл сохраняю вот так procedure WriteStreamStr(Stream: TStream; Str: string); var StrLen: Integer; begin StrLen:=Length(Str); Stream.WriteBuffer(StrLen,SizeOf(Integer)); if StrLen>0 then Stream.Write(Str[1], StrLen); end; procedure SaveData(Info: String); var Stream: TMemoryStream; begin Stream:= TMemoryStream.Create; try Stream.Seek(0,soFromBeginning); WriteStreamStr(Stream,Info); Stream.SaveToFile('access.key'); finally Stream.Free; end; end;
-
Привет! народ чего то не получается под андройдом из файла получить строку в нужной кодировке... вот так получаю строку function ReadStreamStr(Stream: TStream): String; var StrLen: Integer; begin Result:=''; Stream.ReadBuffer(StrLen,SizeOf(Integer)); SetLength(Result,StrLen); Stream.Read(Result[1],StrLen); end; function LoadData: String; var Stream: TMemoryStream; begin Stream:= TMemoryStream.Create; try Stream.LoadFromFile(TPath.GetDocumentsPath + PathDelim +'access.key'); Stream.Seek(0,soFromBeginning); Result:=ReadStreamStr(Stream); finally Stream.Free; end; end; в LoadData строка далее декодирую её function StringOf(str: String): String; var Bytes: TBytes; begin Bytes := BytesOf(str); if Assigned(Bytes) then Result := TEncoding.ANSI.GetString(Bytes, Low(Bytes), High(Bytes) + 1) else Result := ''; end; но всё равно килиберда получается =(
-
onsavestate сработало спасибо! =) ото уже хотел каждый раз при изменении сохранять ini
-
onClose пробовал но для этого нужно в ручную выходить из программы onsavestate не проверял... а когда оно происходит?
-
Привет! столкнулся с небольшой проблемкой) при закрытии программы сохраняю настройки в Ini файл обычно делаю это на событии OnDestroy но в андройде это не работает если находясь в программе войти в перезагрузку и перезагрузить телефон ничего не сэйвится... и даже если сначала свернуть все приложения и потом перезагрузить... добавление в Hide/Deactive тоже ничего не даёт onClose работает - но для этого нужно в ручную выйти из программы Может кто нибудь знает как это обойти?
-
Народ а как поменять разрешение получаемой картинки через CameraComponent? по умолчанию получаю очень маленькую картинку... хотелось бы сделать её на весь экран =( добавляю сюда CameraComponent1SampleBufferReady CameraComponent1.Quality := TVideoCaptureQuality.highQuality; image.Width := image.Bitmap.Width; image.Height := image.Bitmap.Height; но ничего не меняется =( походу это можно делать только в XE8 а у меня XE7 и использовать нужно CaptureSetting
-
Итак вот что получилось //сдвинуть выделенный пункт вверх procedure TForm1.Up1Click(Sender: TObject); begin if Assigned(ListBox1.Selected) and (listbox1.Selected.index>=1) then ListBox1.ItemsExchange( ListBox1.ItemByIndex(listbox1.Selected.index), ListBox1.ItemByIndex(listbox1.Selected.index-1) ); end; //сдвинуть выделенный пункт вниз procedure TForm1.Down2Click(Sender: TObject); var NextItem: Integer; begin if Assigned(ListBox1.Selected) and (listbox1.Selected.index<ListBox1.Items.Count-1) then begin NextItem:=Listbox1.Selected.Index+1; ListBox1.ItemsExchange( ListBox1.ItemByIndex(listbox1.Selected.index), ListBox1.ItemByIndex(listbox1.Selected.index+1) ); Listbox1.ClearSelection; //к сож. нужно добавить ClearSelection и NextItem иначе идёт мультиселект listbox1.ItemIndex:=NextItem; end; end;
-
ага отлично) самое главное что точно также пытался менять через ItemsExchange но ошибку выдавал.. наверно где-то была тупая опечатка а у ListView как? не знаете? там нету ItemsExchange мне на ум только такая ерунда приходит: Litem:=ListView1.Items.Insert(ListView1.Selected.Index-1); LItem.Text:=listview1.Items.Item[ListView1.Selected.Index].Text; LItem.Detail:=listview1.Items.Item[ListView1.Selected.Index].Detail; Listview1.Items.Delete(ListView1.Selected.Index); это чтоб пункт вверх сдвинуть ну и соответственно вниз то плюс
-
это не те колонки) проверьте ... просто идёт размещение в две колоны.. а пункты раздельные... и выделение идёт раздельное...субитомов больше нету а наличие я вот так проверяю: if not (Listbox1.Selected=nil) then в ListView переименование легко делается... вот и хотел узнать как в ListBox у меня XE7 в ней точно примеров нет как перемещать пункты... и самое главное в ListView тоже не получается пункты сдвинуть просто например мне в настройках нужно по желанию менять очередность пунктов спасибо что ответили надеюсь подобные темы для начинающих будут развиваться
-
Здравствуйте товарищи знатоки! Недавно решил перейти на Firemonkey чтоб создавать мобильные приложения... но к сожалению обнаружил что работа в нём сильно отличается =( и информации в интернете очень мало... и в дельфи демках тоже подобных примеров нету =( не понимаю как можно узнать информацию если ты не работаешь в большом коллективе программистов у которых есть связь с западными колегами которые участвовали в создании тех или иных компонентов... сейчас я разбираюсь с ListBox и хочу научится делать стандартные вещи.... например сначала я попытался создать 2 колонки как в VCL но оказалось так уже нельзя пол дня шерстил интернет и методом тыка научился делать это через Detail ... ok! =) Add: добавлять пункты научился так LItem:=TListBoxItem.Create(ListBox1) ... ListBox1.AddObject(LItem); Delete: поскольку DeleteSelected больше нет удаляю пункт сл образом ListBox1.Items.Delete(listbox1.Selected.index) но как проверить существует ли item? иначе возникает ошибка когда удаляешь и ничего не выделено Rename: переименовать item не получается =( разве что вставить пункт на место выделенного listbox1.InsertObject(... ,...); а сл удалить Move: поменять позицию у выделенного пункта тоже не получается Подскажите пожалуйста ответы на эти казалось бы простые вопросы! думаю это поможет очень многим начинающим ФаерМанкерам =)