Мне нужно оперировать с юникодными именами файлов, делать обычные операции: Readln/Writeln/BlockRead/BlockWrite. System.AssignFile не допускает на входе юникодного имени. Есть ли заменитель для AssignFile в виде другой функции или же заменитель всех этих функций в виде класса, позволяющего работать с юникодными именами, делать все то же самое? Нужно для D5-D6.
Re: Заменитель System.AssignFile для юникодных имен
Здравствуйте, AlexeyT, Вы писали:
AT>Мне нужно оперировать с юникодными именами файлов, делать обычные операции: Readln/Writeln/BlockRead/BlockWrite. System.AssignFile не допускает на входе юникодного имени. Есть ли заменитель для AssignFile в виде другой функции или же заменитель всех этих функций в виде класса, позволяющего работать с юникодными именами, делать все то же самое? Нужно для D5-D6.
наследоваться от THandleStream и реализовать функционал, аналогичный TFileStream, но через CreateFileW
Re[2]: Заменитель System.AssignFile для юникодных имен
Здравствуйте, Jack128, Вы писали:
J>Здравствуйте, AlexeyT, Вы писали:
AT>>Мне нужно оперировать с юникодными именами файлов, делать обычные операции: Readln/Writeln/BlockRead/BlockWrite. System.AssignFile не допускает на входе юникодного имени.
Можно написать своой вариант AssignFileW(..) Пример смотри в Printers.pas.
Re[3]: Заменитель System.AssignFile для юникодных имен
J>Можно написать своой вариант AssignFileW(..) Пример смотри в Printers.pas.
Вот, это уже ближе к делу. Писать свой класс для работы с потоками не хочется совершенно, а написать AssignFileW — это можно. Попробую, спасибо за наводку.
Re[4]: Заменитель System.AssignFile для юникодных имен
J>>Можно написать своой вариант AssignFileW(..) Пример смотри в Printers.pas.
AT>Вот, это уже ближе к делу. Писать свой класс для работы с потоками не хочется совершенно, а написать AssignFileW — это можно. Попробую, спасибо за наводку.
Да там писать три строчки. поверь — это гараздо быстрее, чем AssignFileW переписывать. Особенно если никогда этого не делал..
Re: Заменитель System.AssignFile для юникодных имен
21.02.06 в 20:57 AlexeyT в своём письме писал(а):
> Мне нужно оперировать с юникодными именами файлов, делать обычные > операции: Readln/Writeln/BlockRead/BlockWrite.
Сделать файловуб переменную поверх THandleStream
Помнится дл Turbo Pascal 5 я делал readln из строки — самый тупой был
способ распарсить