Форум: "Основная";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];
ВнизПрошу совета относительно списка файлов Найти похожие ветки
← →
KidMan (2002-10-17 22:50) [0]Привет Мастера!
У меня локальные DBF файлы на каждый месяц. Нумеровка такая: 012002.dbf 022002.dbf и так далее... Первые две цифры - месяц, четыре последние - год... Мне нужно чтобы в комбобокс загружались только эти файлы (месяц год) а не какие нибудь случайные которые по идеи могут оказаться в этом каталоге... даже если у них расширение dbf...
Но главное... как сделать так, чтобы прога автоматически определяла номер месяца и года и загружала соответствующий файл когда юзер выбирает в combobox1.ItemIndex ??
Заранее благодарю!
← →
MBo (2002-10-17 23:01) [1]findFirst,findNext, при это проверяешь, подходят ли найденные имена под твои критерии, и если да, то добавляешь в комбо.
А теперь о главном... ;)
что юзер выбирает в combobox1.ItemIndex ?????
← →
KidMan (2002-10-17 23:08) [2]Дело в том что я очень грубо проверяю соответствие имен файлов которые должны соответствовать моему формату... Я просто использую copy и беру первые два символа а потом вторые четыре и прибавляю к ним ".dbf"... получается типа Table1.Table1Name := "часть первая" + "часть вторая" +".dbf"...
Грубо не правда ли ? Самого тошнит....
Что же касается выбора юзера... то я не понимаю... одного...
Ну вот... типа со страданиями я как то загнал в комбобокс имена нужных файлов... А как мне сделать так чтобы когда юзер выбирает например второй пункт в комбобоксе ему соответствовал именно нужный DBF файл???
Thanx...
← →
Юрий Зотов (2002-10-17 23:13) [3]cbYear - комбобокс с годами.
cbMonth - комбобокс с месяцами (в порядке январь..декабрь).
Оба имеют стиль csDropDownList.
function TMyForm.GetFileName(Dir: string): string;
begin
with cbMonth do
begin
Result := IntToStr(ItemIndex + 1);
if ItemIndex < 9 then Result := "0" + Result
end;
with cbYear do
Result := Result + Items[ItemIndex] + ".dbf";
if Dir = "" then Dir := GetCurrentDir;
Result := IncludeTrailingBackSlash(Dir) + Result;
if not FileExists(Result) then
raise Exception.CreateFmt("File %s not found", [Result])
end;
← →
KidMan (2002-10-17 23:53) [4]Спасибо я попробую завтра (нет под рукойдельфя чичас ((( ...)
Если что... спрошу еще раз если не против...
Еще раз сэнкс!
← →
KidMan (2002-10-18 01:45) [5]Плииииз!
← →
KidMan (2002-10-19 22:54) [6]Юрий
Я оказался оптимистом (( Честно говоря я мпло что понял из вашего совета... Я не понял главного - откуда взялась эта функция (TMyForm.GetFileName)... Ее надо регистрировать?
Остальное вроде понятно... вот только с TMyForm.GetFileName не разобрался... что это и с чем его едят...
Был бы очень благодарен за дополнительные сведения...
Сорри... но я всего лишь новичек... и то что очевидно вам не совсем очевидно для меня...
Заранее благодарю!
← →
Юрий Зотов (2002-10-20 01:07) [7]Просто вызывайте эту функцию перед тем, как загрузить файл. Она либо вернет имя нужного юзеру файла (причем заведомо правильное), либо, если такого файла нет, то сгенерит ошибку и выдаст диагностическое сообщение.
← →
KidMan (2002-10-20 01:12) [8]Вызов этой функции у меня вызывает ошибку... Когда я убираю имя формы перед GetFileName то появляются другие ошибки коипиляции...
Это может и паника но я совсем ничего не понимаю в вашем коде... ((((
← →
Юрий Зотов (2002-10-20 01:33) [9]Объявление функции надо включить в объявление класса формы. Например, в раздел public:
public
function GetFileName(Dir: string): string;
> но я совсем ничего не понимаю в вашем коде
Плохо это, потому что код очень простой. Я могу его прокомментировать, но будет гораздо больше пользы, если Вы с помощью книги и хелпа попробуете разобрать его сами, буквально каждый знак. Думаю, что это частично получится, а что останется неясным - я готов ответить на каждый конкретный вопрос.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c