Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Помогите справиться с OpenDialog!


Автор: kulikoff 2.2.2006, 12:35
Помогите, пожалуйста!
Надо в прогу вставить OpenDialog. вроде поствил, открывает его, а когда выбираю файл - матюкается, что файл инвалид и при этом пытается открыть файл с ещё одним разрешением. В общем, выводит сообщение: Invalid file name. File: D:\"10450131.DBF".DBF'.
Я просто потом хочу имя файла подставить в запросы и т.д...

Автор: Rennigth 2.2.2006, 12:37
код приведи как ты вызываешь OpenDiaolg

Автор: kulikoff 2.2.2006, 12:40
Код

if sOpenDialog1.Execute
then
  begin
    Table2.TableName:=sOpenDialog1.FileName;
    Table2.TableType:=ttFoxPro;
    Table2.Active:=true;
    k:='select KEYBANK, ZKPO, S, BANK_ND, NPL, BANK_DD, BANK_DAT, MFO_PL, NAIM_PL from "' + Table2.TableName +'"';
  end
else exit;


Автор: Rennigth 2.2.2006, 12:43
ты маску наверное неправильно задаешь, тебе нужны только чтобы видны DBF?

Автор: kulikoff 2.2.2006, 12:45
Да, пишу в фильтре *.dbf. Разве это неправильно?

Автор: _hunter 2.2.2006, 12:48
вот это место и покажи

Автор: Grig 2.2.2006, 12:49
С кавычками скорей всего проблема.. Попробуй их убрать вообще..

Автор: Rennigth 2.2.2006, 12:49
Код

var
  lOpenDialog: TOpenDialog;
begin
  lOpenDialog := TOpenDialog.Create(nil);
  lOpenDialog.Filter := '*.dbf|*.dbf';
  if lOpenDialog.Execute then
  begin
    Table2.TableName:=lOpenDialog.FileName;
    Table2.TableType:=ttFoxPro;
    Table2.Active:=true;
    k:='select KEYBANK, ZKPO, S, BANK_ND, NPL, BANK_DD, BANK_DAT, MFO_PL,   NAIM_PL from "' + Table2.TableName +'"';
  end;
  lOpenDialog.Free;


Автор: MIX55 2.2.2006, 12:50
Попробуй написать *.dbf в DefaultExt. И попробовать свой пример

Автор: Grig 2.2.2006, 12:51
или используй одинарные кавычки,
Я, например однажды таким образом извращался
Код

'WHERE fl_p='+''''+'0'+''''+
' ORDER BY code_pc ASC';

Автор: kulikoff 2.2.2006, 12:56
Я понял, он в самом окне открытия файла чего- к имени файла иещё и кавычки прикручивает... Как это убрать?

Автор: _hunter 2.2.2006, 13:09
не должен он подставлять ничего. посмотри отладчико что куда приходит

Автор: Grig 2.2.2006, 13:10
Да ну на фиг! Нигде он их не прикручивает:
Код

if OpenDialog1.Execute then showmessage(ExtractFileName(OpenDialog1.FileName));

Это ты по ходу их в запросе прикручиваешь, на это и ругань вся идет.

Автор: kulikoff 2.2.2006, 14:24
да не, диалог эти кавычки двойные прикручивает ещё в окне, где я файл выбираю... Вручную их удаляю и всё работает

Автор: Rennigth 2.2.2006, 15:15
kulikoff
Что-то бред какой-то, наверное ты что-то напутал при ручной настройке в DesignTime с Dialog-ом. Попробуй его создавать динамически(см. мой второй пост) или удали и заного кинь на форму и в фильтре поставь *.dbf|*.dbf.

Автор: kulikoff 2.2.2006, 20:38
поступил глупым способом, но он оказался действенным - удалил этот даилог и заново кинул его на форму - всё работает отлично, скорее всего глюк какой-то был. Всем спасибо за помощь!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)