Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
7 / 7 / 1
Регистрация: 10.06.2009
Сообщений: 58
1

Чтение NON-Unicode симвлов

23.09.2010, 15:44. Показов 1144. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вопрос:
есть файл в котором содержится 1 строка байт,
к примеру такая: "㄀ㄱㄱㄱㄱ ".
надо её прочитать и найти в другом файле с множеством строк.
Всё дело в том что ни в TStringList методом LoadFromFile, ни в String используя readln(f, target)
не получается прочитать эти символы.

Как быть?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.09.2010, 15:44
Ответы с готовыми решениями:

Как Консольное-приложение в Lazarus сдружить c кодировкой Unicode или Unicode Big Endian или UTF-8
Нужно чтобы Lazarus отображал символы псевдографики желательно все, но в основном вот эти......

Чтение Unicode
Есть файл в кодировке Unicode. Надо вывести его содержимое в другой файл и в консоль. Использую...

Чтение unicode-символов из файла
Добрый день. помогите пожалуйста с таким вопросом. Имеется файл, сохранённый с кодировкой unicode....

Чтение файла кодировки Unicode
Здравствуйте, пишу под MFC приложение. Нужно прочитать из текстового файла строки, в кодировке...

1
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
23.09.2010, 16:16 2
Лучший ответ Сообщение было отмечено Esserg как решение

Решение

Действовать можно так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
type
  TPos = 1..High(Integer);
 
//Поиск подстроки, начиная с позиции aPos.
function StrFindEx(const aStr, aStrF : String; const aPos : TPos) : Integer;
var
  i, j, Len1, Len2 : Integer;
begin
  Result := 0;
  if (aStr = '') or (aStrF = '') then Exit;
  Len1 := Length(aStr);
  Len2 := Length(aStrF);
  if Len2 > (Len1 + aPos - 1) then Exit;
 
  for i := aPos to Len1 - Len2 + 1 do begin
    for j := 1 to Len2 do begin
      if aStr[i + j - 1] <> aStrF[j] then Break
    end;
    if j > Len2 then begin
      Result := i;
      Break;
    end;
  end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
const
  Fn1 = 'file1.dat';
  Fn2 = 'file2.dat';
var
  F1, F2 : file;
  Len1, Len2, PosF : Integer;
  Str1, Str2 : String;
begin
  AssignFile(F1, Fn1);
  //Открываем файл в режиме чтения блоков размером 1 байт.
  Reset(F1, 1);
  Len1 := FileSize(F1);
  SetLength(Str1, Len1);
  if Len1 > 0 then begin
    BlockRead(F1, Pointer(Str1)^, Len1); //Либо так: BlockRead(F1, Str1[1], Len1);
  end;
  CloseFile(F1);
 
  AssignFile(F2, Fn2);
  Reset(F2, 1);
  Len2 := FileSize(F2);
  SetLength(Str2, Len2);
  if Len2 > 0 then begin
    BlockRead(F2, Pointer(Str2)^, Len2); //Либо так: BlockRead(F2, Str2[1], Len2);
  end;
  CloseFile(F2);
 
  //Здесь можно использовать функцию Pos() или PosEx() из модуля StrUtils.
  PosF := StrFindEx(Str2, Str1, 1);
 
  if PosF = 0 then begin
    ShowMessage('Подстрока не найдена.');
  end else begin
    ShowMessage('Подстрока найдена с началом в позиции: ' + IntToStr(PosF));
  end;
end;
1
23.09.2010, 16:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.09.2010, 16:16
Помогаю со студенческими работами здесь

Чтение из файла unicode-символов
Добрый день. помогите пожалуйста с таким вопросом. Имеется файл, сохранённый с кодировкой unicode....

Чтение из файла в формате Unicode
Прошу помощи, пытаюсь считать информацию из файла который в кодировке Unicode в ANSI все...

Чтение файла в Unicode формате
Как можно за одно обращение к потоку забрать не один байт, а сразу два? Необходимо считать все...

Чтение UNICODE символов из STDOUT процесса
У меня есть процесс (cmd.exe) создан через WINAPI функцию CreateProcess. К процессу подключено 2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru