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

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

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2013, 01:35   #1
felicita_091
Пользователь
 
Регистрация: 26.10.2012
Сообщений: 34
По умолчанию Удалить строчку ListBox

Код:
void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{                    //  Удалить
   String Str;
   if (ListBox1->ItemIndex<0)
   {  
     if (MessageBox(0,"Удалить автора?","",MB_OKCANCEL)==IDOK )
   {
   if (pIni) {
     int ob1 = pIni->ReadInteger("CONF","Objem",0), ob2=ob1;
     for (int i=0; i<ob1; i++)  {
       Str=pIni->ReadString("LINE"+IntToStr(i+1),"Avtor","") ;
       if (Str==ComboBox1->Text) {
         for ( ;i<(ob1-1);i++) {
           Str=pIni->ReadString("LINE"+IntToStr(i+2),"Avtor","") ;
           pIni->WriteString("LINE"+IntToStr(i+1),"Avtor",Str);
           Str=pIni->ReadString("LINE"+IntToStr(i+2),"List","") ;
           pIni->WriteString("LINE"+IntToStr(i+1),"List",Str);
           Str=pIni->ReadString("LINE"+IntToStr(i+2),"File","") ;
           pIni->WriteString("LINE"+IntToStr(i+1),"File",Str);
         }
         pIni->EraseSection("LINE"+IntToStr(ob1));
         ob2 -=1;
         pIni->WriteInteger("CONF","Objem",ob2);
         break;
       }
     }
     pIni->UpdateFile();
     delete pIni;
   }
     FormShow(0);
  }
  }  
  else  //в листбоксе выбрано произведение
  {
    if (MessageBox(0,"Удалить произведение?","",MB_OKCANCEL)==IDOK )
        ListBox1->Items->Delete(ListBox1->ItemIndex);
  }
}
Когда нажимаю на удаление произведение, удаляется,
При запуске в программу все остается как прежде
felicita_091 вне форума Ответить с цитированием
Старый 01.05.2013, 12:57   #2
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

Ты удаляешь из листбокса, но основная информация у тебя в ини-файле. Добавь несколько строчек, чтоб обновлять ини-файл:
Код:
  else  //произведение
  {
    if (MessageBox(0,"Удалить произведение?","",MB_OKCANCEL)==IDOK )
        ListBox1->Items->Delete(ListBox1->ItemIndex);
      // добавить..
    String St = "";
    for (int i=0;i<ListBox1->Items->Count;i++)
      St += ListBox1->Items->Strings[i]+"_" ;
    if (pIni)  {  pIni->WriteString("LINE"+
       IntToStr(ComboBox1->ItemIndex+1),"List",St);
      pIni->UpdateFile();
    }
  }
nick42 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавить новую строчку ListBox felicita_091 C++ Builder 1 01.05.2013 13:24
Если есть совпадение, то удалить строчку MASRUB Microsoft Office Excel 3 18.02.2011 17:06
Массив в Си. как определить и удалить строчку в которой находится макс элемент Софья9 Помощь студентам 15 11.06.2009 18:46
Удалить не нужное из ListBox Shouldercannon Общие вопросы Delphi 7 20.12.2008 00:07
Контекстное меню (удалить строчку) Air Свободное общение 1 06.11.2008 21:56