Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обновление TreeView 
V
    Опции темы
TaNK
Дата 17.4.2008, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



есть код
Код

void __fastcall TFMain::FormCreate(TObject *Sender)
{
                TreeView1->Items->Clear();

                 kol = 0;
                 if(FindFirst("Отчеты\\*fr3*",faAnyFile,inf)==0)
                  {
                    do
                      {
                        // Построение списка отчетов
                        TreeView1->Items->Add(NULL,inf.Name);
                        kol++;
                       }

                    while(FindNext(inf)==0);
          }
         FindClose(inf);
}


п.2
Код

void __fastcall TFMain::M_AddClick(TObject *Sender)
{
  // для переноса выбранного файла в папку
     if (OD1->Execute())
     {

     char put_open[ch_size];
     char put_save[ch_size];
     strcpy(put_save,"C:\\Documents and Settings\\obuhanoe\\Рабочий стол\\Designer\\Отчеты\\");
    
     int i,j;
     char sh[3000], temp[3000];
     char ch;

       strcpy(put_open,OD1->FileName.c_str());

       i = strlen(put_open)-1;
       j = 0;
       while (put_open[i] != 0x5c)
        {
           ch = put_open[i];
           sh[j] = sh[j] + ch;
           i--;
           j++;
        }

       int k = 0;
       for (int ii = strlen(sh)-1; ii >= 0;  ii--,k++)
       {
          temp[k] = temp[k] + sh[ii];
       }


      strcat(put_save,temp);
      MoveFile(temp,put_save);

      ZeroMemory(sh,3000);
      ZeroMemory(temp,3000);

     }
}

п.3
Код

void __fastcall TFMain::SPBClick(TObject *Sender)
{
  // для обновления дерева списков
   TreeView1->Items->Clear();

                 kol = 0;
                 if(FindFirst("Отчеты\\*fr3*",faAnyFile,inf)==0)
                  {
                    do
                      {
                        // Построение списка отчетов
                        TreeView1->Items->Add(NULL,inf.Name);
                        kol++;
                       }

                    while(FindNext(inf)==0);
          }
         FindClose(inf);
}


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


--------------------

Oracle 11.2.0.3.0
FireBird 1.0-2.5


PM MAIL ICQ   Вверх
586
Дата 17.4.2008, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

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



TOpenDialog изменил рабочую папку. Путь "Отчеты\\*fr3*" не найден. Неужели так трудно прочитать код ошибки GetLastError?
PM   Вверх
TaNK
Дата 18.4.2008, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



у меня никакая ошибка не вылетатет....treeview просто не отображает список и все..


--------------------

Oracle 11.2.0.3.0
FireBird 1.0-2.5


PM MAIL ICQ   Вверх
TaNK
Дата 18.4.2008, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



проблема решена так

Код

const String ss = "C:\\Documents and Settings\\obuhanoe\\Рабочий стол\\Designer\\Отчеты\\*fr3";

if(FindFirst(ss,faAnyFile,inf)==0)



Всем спасибо...586 - как ты определили что путь изменяет TOpenDialog?


--------------------

Oracle 11.2.0.3.0
FireBird 1.0-2.5


PM MAIL ICQ   Вверх
586
Дата 21.4.2008, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

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



Цитата(TaNK @  18.4.2008,  16:19 Найти цитируемый пост)
как определили что путь изменяет TOpenDialog? 

Вызови GetCurrentDirectory до и после вызова диалога и посмотри.

Это сообщение отредактировал(а) 586 - 22.4.2008, 04:10
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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