Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Rizvan
Зарегистрирован: 04.07.2003 Сообщения: 28
|
Добавлено: Чт Фев 06 2003 10:22 Заголовок сообщения: CBiulder |
|
|
void __fastcall TForm1::Button1Click(TObject *Sender) { int i=0; TStringList *List = new TStringList; AnsiString S1=Edit1->Text; AnsiString S11=Edit2->Text; AnsiString S2="d:\\doc\\txt\\1"; List->Add(S11); List->Insert(i, S1); i=i+1; List->SaveToFile(S2); RenameFile(S2, Edit2->Text);
}
Как при нажатии Click значерие i увеличивалась на 1 и при SaveToFile не удаляла существующую запись. |
|
Вернуться к началу |
|
|
xAL
Зарегистрирован: 31.01.2003 Сообщения: 27 Откуда: Челябинск
|
Добавлено: Чт Фев 06 2003 13:19 Заголовок сообщения: Re: CBiulder |
|
|
и? |
|
Вернуться к началу |
|
|
CAHbI4 Гость
|
Добавлено: Сб Фев 08 2003 16:40 Заголовок сообщения: Re: CBiulder |
|
|
Тут в коде есть небольшой недочет. При нажатии Button1 объявляется переменная i, потом i обнуляется. Чтобы значение i не убегало надо ее обьявить за пределами функции. Вот так: // Code START
int i=0; // во здесь надо обьявлять i
void __fastcall TForm1::Button1Click(TObject *Sender) { TStringList *List = new TStringList; AnsiString S1=Edit1->Text; AnsiString S11=Edit2->Text; AnsiString S2="d:\\doc\\txt\\1"; List->Add(S11); List->Insert(i, S1); i=i+1; List->SaveToFile(S2); RenameFile(S2, Edit2->Text); } // Code END
Теперь значение i никуда не денется |
|
Вернуться к началу |
|
|
Rizvan
Зарегистрирован: 04.07.2003 Сообщения: 28
|
Добавлено: Пн Фев 10 2003 10:36 Заголовок сообщения: Re: CBiulder |
|
|
Спосибо. Но уменя при 3-м клике выдает ошибку "List index out of bounds(2)". И удоляет предыдущую строку. Как избежать этого? |
|
Вернуться к началу |
|
|
|