Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2

Модерирует : ShIvADeSt

ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

RostY



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

procedure LoadUnicodeFile(const filename: string; strings: TStrings);  
 
  procedure SwapWideChars(p: PWideChar);  
  begin  
    while p^ <> #0000 do  
    begin  
      p^ := WideChar(Swap(Word(p^)));  
      Inc(p);  
    end;  
  end;  
 
var  
  ms: TMemoryStream;  
  wc: WideChar;  
  pWc: PWideChar;  
begin  
  ms := TMemoryStream.Create;  
  try  
    ms.LoadFromFile(filename);  
    ms.Seek(0, soFromend);  
    wc := #0000;  
    ms.Write(wc, sizeof(wc));  
    pWC := ms.Memory;  
    if pWc^ = #$FEFF then {normal byte order mark}  
      Inc(pWc)  
    else if pWc^ = #$FFFE then  
    begin {byte order is big-endian}  
      SwapWideChars(pWc);  
      Inc(pWc);  
    end  
    else  
      ; {no byte order mark}  
    strings.Text := WideChartoString(pWc);  
  finally  
    ms.free;  
  end;  
end;  
 
Использовать  
 
LoadUnicodeFile(filename, memo1.lines);

Всего записей: 387 | Зарегистр. 11-01-2006 | Отправлено: 17:37 24-02-2007
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2
ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru