Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: FireMonkey
Войти
Регистрация
Восстановить пароль
 
Nikkore
0 / 0 / 1
Регистрация: 11.12.2012
Сообщений: 27
#1

Непонятное поведение TEdit

07.01.2016, 17:51. Просмотров 424. Ответов 2
Метки нет (Все метки)

Здравствуйте!

Если имеется минутка времени, посмотрите, пожалуйста, фрагмент простейшего кода:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.Button1Click(Sender: TObject);
var FS: TFileStream;
    S: String;
begin
  FS := TFileStream.Create('c:\temp\test.txt', fmOpenRead);
  SetLength(S, 16);
  FS.Read(PWideChar(S)^, 32);
  Edit1.Text := S;
  Edit1.SelectAll;
  Edit1.SetFocus;
  FS.Free;
end;
Компилирую и запускаю в Win32 (Delphi 10 upd 1). В результате вижу следующее:

Непонятное поведение TEdit


То есть выделение (и курсор) убегает вправо от текста!!

Пробовал также AllocMem/FreeMem - то же самое.

Что я неправильно делаю?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2016, 17:51
Ответы с готовыми решениями:

Счётчик в TEdit
Коллеги, приветствую ! Помогите разобраться. Как реализовать автоматическое...

TEdit и TUpDown
Доброго времени суток. У меня такой вот вопрос: Есть два компанента TEdit и...

TEdit и TListBox связать не связимое
Вопрос в том как сделать так чтобы то что я писал TEdit сразу находилось в...

Вывести несколько значений в TEdit
Как вывести в TEdit несколько значений переменной, например, x=sqrt(16), то...

TEdit: Сделать виртуальную клавиатуру
привет как сделать виртуальную клавиатуру, чтобы нажимать клавиши...

2
FIL
Модератор
3416 / 2552 / 726
Регистрация: 19.09.2012
Сообщений: 7,922
07.01.2016, 18:40 #2
Попробуй так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm1.Button1Click(Sender: TObject);
var
  FS: TFileStream;
  S: String;
begin
  FS := TFileStream.Create('c:\temp\test.txt', fmOpenRead);
  SetLength(S, 15);
  FS.Read(PChar(S)^, SizeOf(Char) * Length(S));
  Edit1.Text := S;
//  Edit1.SelectAll;
  Edit1.SetFocus;
  FS.Free;
end;
0
Nikkore
0 / 0 / 1
Регистрация: 11.12.2012
Сообщений: 27
07.01.2016, 19:07  [ТС] #3
Цитата Сообщение от FIL Посмотреть сообщение
Попробуй так: ...
Спасибо большое! Разумеется, я сам виноват. Посмотрев внимательно внутренность файла, я обнаружил в его начале последовательность $FEFF. Соответственно, если сделать
Delphi
1
FS.Seek(2, soFromBeginning);
все работает правильно.
Извините за глупый вопрос!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2016, 19:07

Передача из TEdit в книгу Excel
Разработать проект позволяющий передавать данные из TEdit в книгу Excel с...

Как написать слово в TEdit в Win-кодировке?
Как написать слово в TEdit в Win-кодировке, чтобы искало его в базе данных с...

Как в TEdit изменить регистр вводимых символов?
Подскажите как в Edit изменить регистр букв ввода, в данном случае должны быть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru