Ох, ёшкин хвост!!!

Модератор: Модераторы
zub писал(а):лишний раз подтверждает что глюки в программе а не в компиляторе, вы забыли перекодировать строку перед тем как закинуть ее в unicodestring.
sign писал(а):Это не глюк.
Это незнание матчасти.
С вашим понимаем сути, вы никакой символ не получите, если присутствуют не только латинские буквы и символы.
hinst писал(а):кароч в лазарусе UTF-8, а в Delphi WideChar, поэтому s[1] не буит работать как хочет начавший тему
Добавлено спустя 52 секунды:
твоя работа - твой головняк думать как это реализовать
Stertor писал(а):Уже видел. Глюк возникает с русскими буквами, причем независимо от типа строки - будь это utf8string или unicodestring.
str:='блин, форум не позволяет вставить такие сымволы((';
showmessage(inttostr(length(str)));
Stertor писал(а):Придется ждать выхода другой версии паскаля, как советует мне один добрый человек.
zub писал(а):Упорство плавно переходит в толстоту)) Вам уже в разных формах показали в чем отличие fpc от delphi в части кодировок строк. Повторяю - ОТЛИЧИЕ а не глюк
Stertor писал(а):sign писал(а):Это не глюк.
Это незнание матчасти.
С вашим понимаем сути, вы никакой символ не получите, если присутствуют не только латинские буквы и символы.
Может и так. Только не с моей стороны незнание, а с Вашей.
Stertor писал(а):
Будет, еще как будет(если речь о Делфи), причем безразлично, чем набита строка, хоть русские буквы вперемешку с йероглифами.
Stertor писал(а):Глюк сводится к тому, что нельзя получить 1 символ строки, если строка состоит из 1 символа.
- Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
//Delphi
var
str:string;
begin
str:='ы';
showmessage(str[1]); // ы
end;
zub писал(а):>>Прошу считать тему закрытой, буду ждать новую версию компилятора.
Таки еще один коментарий, с вашего разрешения))
что за задача такая что требуется именно посимвольная работа не с байтами, а с символами?
Мне на ум ничего такого не приходит, просто не представляю чде утф8 может помешать.
Основа остнов - побайтное сравнение строк - все прекрасно рвботает, несмотря на переменную длину символа
Добавлено спустя 4 минуты:
Нет, придумал - например посчитать ширину строки, при ртрбражении ее какимнибудь своим самодельным шрифтом
Article := UTF8Copy(mmPromoRec.Text, mmPromoRec.SelStart, mmPromoRec.SelLength);
i := UTF8Pos('Удален', SC);
MaxLen := UTF8Length(Source);
UTF8Delete(S, i, j+lenP2 - i);
Вернуться в Free Pascal Compiler
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16