Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2008, 12:13   #1
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,265
По умолчанию Кодировка (Делфи)

Как можно определить кодировку открываемого файла? Открытие в мемо, чтобы сразу перевести в понятный язык. Типа как в Бреде. Можно пример
Simply-Art вне форума Ответить с цитированием
Старый 17.06.2008, 15:39   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Пример не дам, но есть предположение:
Читай заголовок файла. Вобщем поглубже уровня TMemo нужно вникнуть в тему.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 17.06.2008, 15:46   #3
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,265
По умолчанию

Э .. ну в какую сторону то вникать, что искать и с помощью чего. А то чёт обстрактно всё
Simply-Art вне форума Ответить с цитированием
Старый 17.06.2008, 16:03   #4
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
А то чёт обстрактно всё
Так и есть =)

О каких файлах собственно речь?
Вот>>> например структура txt
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 17.06.2008, 16:14   #5
knight
Дон Кихот
Форумчанин
 
Аватар для knight
 
Регистрация: 17.01.2008
Сообщений: 130
По умолчанию

Сначала прочитать как текст, затем определить кодировку либо по окончаниям #13#10 - ansi, либо по таблице символов для каждой кодировки... т.е. из какой таблицы кодов больше в тексте, следовательно кодировка и будет скорее всего указанная в таблице.... А дальше нужно преобразовать по тем же таблицам полученную кодировку в "родной" формат windows ANSI
knight вне форума Ответить с цитированием
Старый 17.06.2008, 16:31   #6
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

могу предложить пример определения кодировки текстового файла
(распознает две кодировки DOS/WIN).

Код:
function isWinCodePage(fName:String):boolean;
var F:TFileStream;
    buffer:array [1..1024] of byte;
    C, i, C1, C2:integer;
    S1, S2:String;
    WC, DC:array [char] of byte;
begin
   F := TFileStream.Create(fName, fmOpenRead);
   try
      fillChar(WC, sizeOf(WC), 0);
      fillChar(DC, sizeOf(DC), 0);
      C := F.read(buffer, 1024);
      for i:=1 to C do begin
         S1 := chr(Buffer[i]);
         S2 := chr(Buffer[i]);
         OEMToChar(PChar(S1), PChar(S2));
         inc(WC[S1[1]]);
         inc(DC[S2[1]]);
      end;
      C1 := 0; C2 := 0;
      for i:=0 to 255 do begin
         if chr(i) in ['О','Т','Е','Н','А','Р',
                       'о','т','е','н','а','р']
         then begin
            inc(C1, WC[chr(i)]);
            inc(C2, DC[chr(i)]);
         end;
      end;
      result := C1 > C2;
   finally
      F.free;
   end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   if isWinCodePage('win.txt')
   then label1.Caption := 'WIN'
   else label1.Caption := 'DOS';
...
alexBlack вне форума Ответить с цитированием
Старый 17.06.2008, 17:45   #7
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,265
По умолчанию

Спасибо всем, все пошло как надо.
PS to knight
#13#10 - это перенос, он и в "африке" перенос (ansi,koi,oem) и по нему не поределить
Simply-Art вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодировка в C++ kpishnik Помощь студентам 2 24.07.2008 19:31
UTF-8 кодировка OrdJONY Общие вопросы Delphi 2 23.03.2008 16:56
Кодировка Dbf Nikolaeva БД в Delphi 7 05.02.2008 13:24
Кодировка в HLP-файле для Делфи Umen Общие вопросы Delphi 0 26.01.2007 12:05