Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как удалить строку ??? Удаление строки 
V
    Опции темы
I0207
Дата 3.2.2006, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



smile Огромное конечно спасибо, но нужно все сделать ч/з Consol Wizard -> поставить галочку напротив Си++ и прописывать всё в ручную, мне и в Turbo C пригодилось ды решение, так что прошу ПОМОЩИ!!!
PM MAIL   Вверх
Artemon
Дата 3.2.2006, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


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

Репутация: 7
Всего: 20



Код


//---------------------------------------------------------------------------

#include <vcl.h>
#include <conio.h>
#include <stdio.h>

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused

  bool LoadFileAndDelStr(AnsiString Fname, AnsiString Str);

  int main(int argc, char* argv[])
{
  if( !LoadFileAndDelStr("phone.txt", "Igor") )
    printf("\nError!!!");
  else
    printf("\nOK!!!");

  getch();

  return 0;
}
//---------------------------------------------------------------------------
  bool LoadFileAndDelStr(AnsiString Fname, AnsiString Str)
{

  TStringList * lst = new TStringList;

  if( !lst ) return false;

  try         { lst->LoadFromFile(Fname); }
  catch(...)  { return false;                   }

  long int k;

  for( k = 0; k < lst->Count;  )
     {
     if( lst->Strings[k] == Str ) { lst->Delete(k); continue; }
     k++;
     }

  try        { lst->SaveToFile(Fname); }
  catch(...) {return false;            }

  if( lst ) delete lst;

  return true;
}
//---------------------------------------------------------------------------



P.S.
В Turbo C этот код использовать нельзя.

Готовая программа.

Это сообщение отредактировал(а) Artemon - 3.2.2006, 10:08


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
I0207
Дата 3.2.2006, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



smile Огомнейшее спасибо вроде по тихоньку получается, однако тема не закрыта, если что не выйдет я накалякую что-нибудь ещё!!! Ах, да а как этот файл вытащить на печать???
PM MAIL   Вверх
_hunter
Дата 3.2.2006, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 24
Всего: 98



"на печать" это на принтер или в консоль?


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
I0207
Дата 3.2.2006, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Удаляется та строка на которой только слово Igor, а мне желательно удалить строку в которой "Yunusov Igor" при этом введя с клавиатуры "Yunusov" Как такое сделать???(моя последняя просьба)
Добавлено @ 14:04
smile На печать на принтер
PM MAIL   Вверх
_hunter
Дата 3.2.2006, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 24
Всего: 98



зависит от среды.
в Билдере у класса AnsiString есть метод Pos()
в С функция strstr()


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
I0207
Дата 3.2.2006, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



и что??? допустим у меня файл phone. txt как его распечатать???
Добавлено @ 15:07
Artemon!!! прочти пожалуйста после своего кода ОЧЕНЬ ВАЖНО!!!
PM MAIL   Вверх
_hunter
Дата 3.2.2006, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 24
Всего: 98



скопируй его в файл с именем LPT1


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
I0207
Дата 3.2.2006, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Artemon посмотри Please!!!! посмотри после своей программы которую ты здесь написал!!!!
PM MAIL   Вверх
Artemon
Дата 4.2.2006, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


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

Репутация: 7
Всего: 20



Замени строку

Код

if( lst->Strings[k] == Str ) { lst->Delete(k); continue; }


на

Код

if( lst->Strings[k].Pos(Str) ) { lst->Delete(k); continue; }




После этого изменения - программу будет удалять строки, в которых найдет заданную подстроку.




--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
I0207
Дата 5.2.2006, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



smile ARTEMON, ты супер мозг!!!!Круто всё работает, однако ещё одно пожелание есть, как сделать так чтобы Параметр удаления вводился с клавиатуры????
PM MAIL   Вверх
Artemon
Дата 6.2.2006, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


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

Репутация: 7
Всего: 20



Добавь в начало main следующий код:

Код

char mas[1000]="";
printf("\nInput text: ");
scanf("%s", mas);


замени строку
Код

if( !LoadFileAndDelStr("phone.txt", "Igor") )


на

Код

if( !LoadFileAndDelStr("phone.txt", (AnsiString)mas)  )




--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
I0207
Дата 6.2.2006, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



smile Artemon, спасибо тебе огромное, не знаю что бы я без твоей помощи делал, КАК ХОРОШО ЧТО НА СВЕТЕ ЕСТЬ ТАКИЕ ЛЮДИ!!!(ЛЮДИЩА!!!!)
Спасибо всем, тема закрыта!!!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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