Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Список файлов + chekbox, +свясь с ini файлом 
:(
    Опции темы
MrDmitry
Дата 21.10.2008, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 556
Регистрация: 10.11.2006

Репутация: нет
Всего: нет



Народ помогите осуществить следующею штуку.
Есть ini файл со списком файлов (помимо списка там есть коменты) и есть папка в которой хронятся эти файлы.
Нужно вывести список файлов из папки в поле MEMO. только список без их пути и около каждой записи поставить компонент Chekbox. В начале ini файл должен прочитатся. если перед название файла в ini файле стоит символ ; то флажок в поле memо около название этого файла не нажат, и наоборот. При нажатии на chеkbox в самов проги в ini файл убирался символ ; перед названием этого файл и наоборот. пытался сделать.  Взял код из DRKB3_Full чтоб вывести список файлов.
Код

plugin:='C:\test\*.*\'
If FindFirst(plugin, faAnyFile, SearchRec)=0 then
repeat
Memo2.Lines.add(ExpandFileName(SearchRec.name));
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;

В начале он выводил файлы но полностью вместе с путём. 
C:\test\имя файла.
А щас вообще не хочет ни че выводить (
PM MAIL   Вверх
THandle
Дата 21.10.2008, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 65
Всего: 372



MrDmitry

http://forum.vingrad.ru/faq/topic-212851/h...name/index.html

Советую посмотреть.

Вообще лучше использовать TCheckListBox.
PM   Вверх
MrDmitry
Дата 22.10.2008, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 556
Регистрация: 10.11.2006

Репутация: нет
Всего: нет



Цитата(THandle @ 21.10.2008,  21:40)
MrDmitry

http://forum.vingrad.ru/faq/topic-212851/h...name/index.html

Советую посмотреть.

Вообще лучше использовать TCheckListBox.

вот есть такой код
Код

Path:=Application.ExeName;
Path:=ExtractFileDir(Path);
if Path[Length(Path)]<>'\' then Path:=Path+'\';
Ini:=TIniFile.Create(Path+'cg.ini');
dir:=Ini.ReadSTRING('basic','path',dir);
plugin:=dir+'c:\plugins\*.*';
If FindFirst(plugin, faAnyFile, SearchRec)=0 then
repeat
CheckListBox1.Items.add(ExtractFileName(ExpandFileName(SearchRec.name)));
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;

Если я указываю путь так то у меня вообще не чиге не выводится. Если указваю путь вручную то список выводится. Но с папкой по названию проги. ( 
Нужно чтоб список выводилося считав с ini путь. и не выводилась эта папка.

Это сообщение отредактировал(а) MrDmitry - 22.10.2008, 14:50
PM MAIL   Вверх
THandle
Дата 22.10.2008, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 65
Всего: 372



MrDmitry

Код

Path:=Application.ExeName;
Path:=ExtractFileDir(Path);
if Path[Length(Path)]<>'\' then Path:=Path+'\';


Зачем такие телодвижения?

Код

Path := ExtractFilePath(Application.ExeName);


И все.

Зачем переменная plugin?
Она тут ИМХО лишняя.

Вот, попробуй такой примерчик:
Код


procedure TForm1.Button1Click(Sender: TObject);
var
  Dir: String;
  SearchRec: TSearchRec;
  Path: String;
begin
  Path := ExtractFilePath(Application.ExeName);
  with TIniFile.Create('Path' + 'cg.ini') do
  begin
    Dir := ReadString('basic','path', '');
    Free;
  end;
  If FindFirst(Dir + '*.*', faAnyFile, SearchRec) = 0 then
  repeat
    if ((SearchRec.Name <> '.') and (SearchRec.Name <> '..')) then
      if (SearchRec.Attr and faDirectory) = 0 then
        CheckListBox1.Items.add(ExtractFileName(SearchRec.name));
  until FindNext(SearchRec) <> 0;
  FindClose(SearchRec);
end;

PM   Вверх
MrDmitry
Дата 22.10.2008, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 556
Регистрация: 10.11.2006

Репутация: нет
Всего: нет



Ну ты немного не понел что я хочу. 
Прога которую я делаю нужна для работы с конфигами другой проги которые находятся в разных местах. При первом запуске пользователь указывает путь до папки где устоновлена та прога. И уже в зависимости от действий пользователя форумруется полный путь до нужно файла (Иерархию папок другой проги я знаю)

предоставленный выше кусок проги я немного не правельно написал

Код
 Path:=Application.ExeName;
Path:=ExtractFileDir(Path);
if Path[Length(Path)]<>'\' then Path:=Path+'\';
Ini:=TIniFile.Create(Path+'cg.ini');
dir:=Ini.ReadSTRING('basic','path',dir);
plugin:=dir+'addons\plugins\';
If FindFirst(plugin + '*.*', faAnyFile, SearchRec) = 0 then
  repeat
    if ((SearchRec.Name <> '.') and (SearchRec.Name <> '..')) then
      if (SearchRec.Attr and faDirectory) = 0 then
        CheckListBox1.Items.add(ExtractFileName(SearchRec.name));
  until FindNext(SearchRec) <> 0;
  FindClose(SearchRec);
end;
 Вот так сейчас. И все равно ничего не появляется

Это сообщение отредактировал(а) MrDmitry - 22.10.2008, 18:39
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0948 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.