Mikhail писал(а):Это не совсем так...
ага на второй круг пошли, ну расскажите что конкретно не совсем так?
Модератор: Модераторы
Mikhail писал(а):Это не совсем так...
sts писал(а):Mikhail писал(а):Это не совсем так...
ага на второй круг пошли, ну расскажите что конкретно не совсем так?
ttt = record
name:string;
...
end;
Mikhail писал(а):переменные такого типа легко писались в файл в TP7
Это к вопросу о том, нужно ли знать как оно устроено и работает.
Mikhail писал(а):Вот и я о том же. Поэтому мне не понятно зачем нужны строки с кодировкой.
Mikhail писал(а):Имеет, но сейчас разговор не об этом.
Mikhail писал(а):А информация о типе (т.е. кодировка) находится в скрытом блоке перед строкой, как в Делфи, я правильно понимаю?
type DosString = type AnsiString(866);
kazalex писал(а):Самое простое, это взять строку LatinString (AnsiString(8859), вроде) и использовать её в качестве буфера для получения данных. Дальнейшее конвертирование в юникод-строку будет осуществлено простейшим присваиванием.
hinst писал(а):Фича говно хотя бы потому, что она ломает обратную совместимость
kazalex писал(а):читать тут, последний абзац.
Mirage писал(а):Насколько я помню, warning'и эти ни в Delphi ни в Lazarus'e не видны при чтении кода. Только если компиляцию запустить.
hinst писал(а):Раньше string это был AnsiString а теперь string это не AnsiString
kazalex писал(а):p.s. Я не могу сказать, что без строк с информацией о кодировке невозможно жить, но с ними всё же лучше
Сквозняк писал(а):При сложении двух ансистрингов - ничего хорошего
Сквозняк писал(а):Прибавляешь одни данные а что прибавится - решит компилятор исходя из своих заморочек.
Сквозняк писал(а):А вдруг при конвертации из кодировки А в кодировку Б окажется что в Б такого символа нет?
procedure Test(var s: string);
var a: AnsiString(866);
begin
...
s:=a;
end;
var s, s1: AnsiString(1251);
begin
...
Test(s);
...
s1:=s1 + s;
end.
Mikhail писал(а):Вот такой код будет работать?
Вернуться в Free Pascal Compiler
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 40