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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2009, 15:08   #1
SkAndrew
Форумчанин
 
Регистрация: 05.04.2008
Сообщений: 244
Восклицание Как можно извлечь все имена разделов Ini файла в юникоде?

Добрый день!

Вот так можно извлекать имена идентификаторов в указанном разделе INI - файла в юниде:

Код:
procedure ReadSection(const FFileName, Section : WideString; Strings : TWideStrings);
    const BufSize = 16384 * SizeOf(WideChar);
      var Buffer, P: PWideChar;
begin
  // Windows NT/2000/XP and later
  GetMem(Buffer, BufSize);
  try
      Strings.BeginUpdate;
      try
          Strings.Clear;
          if GetPrivateProfileStringW(PWideChar(Section), nil, nil, Buffer, BufSize, PWideChar(FFileName)) <> 0 then
          begin
            P := Buffer;
            while P^ <> #0 do
            begin
              Strings.Add(P);
              Inc(P, LMDStrLen(P) + 1);
            end;
          end;
      finally
          Strings.EndUpdate;
      end;
  finally
      FreeMem(Buffer, BufSize);
  end;
end;
а как можно извлечь все имена разделов Ini файла в юникоде?

Код:
procedure ReadSection(const FFileName: WideString; Strings : TWideStrings);
где FFileName - полный путь к INI файлу.

Спасибо за любое решение и подсказку.
SkAndrew вне форума Ответить с цитированием
Старый 10.06.2009, 16:02   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А хелп что уже не в моде?
Код:
uses IniFiles;
procedure TForm1.FormActivate(Sender: TObject);

var
  AppIni: TIniFile;
begin
  AppIni := TIniFile.Create('WIN.INI');
  AppIni.ReadSections(ListBox1.Items);
  AppIni.ReadSection('Ports',Listbox2.Items);
  AppIni.ReadSectionValues('Ports',ListBox3.Items);
  AppIni.Free;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.06.2009, 16:15   #3
SkAndrew
Форумчанин
 
Регистрация: 05.04.2008
Сообщений: 244
По умолчанию

все в моде уважаемый Stilet только мне список нужен юникодный, ВЫ невнимательно прочитали мой вопрос. мне нужно считать из Ini файла имена секций в юникодный список WideStrings! Спасибо
SkAndrew вне форума Ответить с цитированием
Старый 10.06.2009, 17:08   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ВЫ невнимательно прочитали мой вопрос
Думаешь?
Вот тебе пример:
Код:
var e,s:string;
begin
i:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'file1.ini');
 i.ReadSections(ListBox1.Items);
 e:=ListBox1.Items.Text;
 setlength(s,length(e));
 OemToAnsi(pchar(e),pchar(s));
 ListBox1.Items.Text:=s;
i.Free;
end;
Обычное чтение и обычный перевод из юникода в анси.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.06.2009, 17:55   #5
SkAndrew
Форумчанин
 
Регистрация: 05.04.2008
Сообщений: 244
По умолчанию

хорошо, не буду спорить, но мне нужно сразу считать в юникодный список имена секций, как изменить приведенный в первом посте код, который я нашел в интернете, чтобы модернизировать его к моей задаче. Спасибо

Больше ни у кого никаких идей? Спасибо за любую идею.

Последний раз редактировалось Stilet; 11.06.2009 в 09:33.
SkAndrew вне форума Ответить с цитированием
Старый 11.06.2009, 09:03   #6
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Ну в Delphi 2009 просто используем TMemIniFile и при создании указываем имя ини и TEncoding.Unicode (вроде так). Поидеи дальше как обычно ReadSections. Если другая IDE, то через api как выше.
BOBAH13 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как извлечь базу данных из exe файла? ANDRU13 Общие вопросы Delphi 8 29.01.2009 16:51
Как можно отбразить все ссылки сайт в проге eldar Работа с сетью в Delphi 2 28.09.2008 12:19
Как программно извлечь иконку из exe файла Altera Win Api 3 19.07.2008 21:39
Как извлечь имя скачиваемого файла Crazyman Работа с сетью в Delphi 0 01.07.2008 02:34
Извлечь имена приложений NeiL Win Api 3 07.05.2008 14:33