Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Подскажите пожалуйста, если кто знает. Как стереть строку из файла, по её содержанию. Есть FileDelLine но она удаляет только по номеру строки. Уже 3 дня голову ломаю, ничего не получается ;(
подробнее пожалуйста про эти две переменные [нужное содержание] и [строка в файле] Как я понял, [нужное содержание] это то что должен найти цикл, а что тогда [строка в файле] ?
Вы говорите, что вам надо стереть строку из файла по её содержанию. Данный цикл считывает каждую строку из файла в переменную [строка в файле], и если одна из считанных строк совпадает с тем, что надо стереть (т.е. с переменной [нужное содержание]), цикл прекращается и эта строка стирается. Все таки вот так будет надежней:
Code
FileLen "[имя файла]" "[кол-во строк в файле]" Loop "1" "[кол-во строк в файле]" "[N]" FileRead "[имя файла]" "[N]" "[строка в файле]" If "[строка в файле]" "=" "[нужное содержание]" FileDelLine "[имя файла]" "[N]" ExitLoop EndIf EndLoop
Сообщение отредактировано Bodi - Вт, 21 Июля 2009, 14:46
Как я понял, [нужное содержание] это то что должен найти цикл, а что тогда [строка в файле] ?
[нужное содержание] это то что ты ищеш(образец), [строка в файле] с каждым проходом цикла, тут оказывается содержимое строки из файла с номером N, который увеличивается на 1 с каждым проходом. Как только искомое совпадет с полученым из файла цикл заканчивается, в переменной N остается номер искомой строки в файле, ее то ты и удаляеш.
Добавлено (21 Июль 2009, 14:39) ---------------------------------------------
Quote (Bodi)
Все таки вот так будет надежней:
While..... лишний раз увеличивает? FileDelLine "[имя файла]" "[N-1]"
Добавлено (21 Июль 2009, 14:43) --------------------------------------------- Преимущество While - цикл заканчивается при первом нахождении, в твоем варианте, будет полный перебор, даже если искомая строка найдена первой, при большом размере файла это будет ощутимо.
Преимущество While - цикл заканчивается при первом нахождении, в твоем варианте, будет полный перебор, даже если искомая строка найдена первой, при большом размере файла это будет ощутимо.
Цикл While - пока, при достижении условия при первом проходе, выполняет тело цикла один раз, цикл фор нет.
Добавлено (21 Июль 2009, 15:19) --------------------------------------------- В связи с некоторой извращенностью кода, ты получаеш то что нужно, первое сравнение у тебя с пустотой, или мусором.
а подскажите как удалить папку, если в ней что-то содержится?
Сначала нужно удалить содержимое папки, а только потом уже саму папку. Если в папке файлов немного, то это достаточно просто сделать средствами самой NeoBook: получить список файлов в папке, удалить их, а затем - папку. Если же в папке имеются ещё и вложенные папки, то задача соответственно усложняется: нужно будет провести рекурсивный поиск файлов во вложенных папках, и также (по той же схеме) все удалять. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Да ладно, решил не делать. Вот, оцените работу. Сам AppServ можно скачать здесь http://prdownloads.sourceforge.net/appserv/appserv-win32-2.5.10.exe?download
А что делает эта прога? какова ее цель? А где проверка на установленость Апаче и т.д. или хотя бы нстройки, где можно прописать путь к приложениям
Добавлено (25 Июль 2009, 22:35) --------------------------------------------- Просто не у всех стоит именно AppServ, у меня например денвер и устанавливать другое как то нехочется. Твоя панель может и имеет свои плюсы, но может сделать ее уневирсальной? а не только привязывать к определеному серверу. Это просто предложение
Твоя панель имеет свои плюсы, но может сделать ее уневирсальной? а не только привязывать к определеному серверу.
А я так вообще не понял нифига - что это такое и зачем оно?
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
А я так вообще не понял нифига - что это такое и зачем оно?
судя по обложке это авторан для виртуального сервера, т.е. запуск программ для работы вирт.серв. Практического применения незнаю, наверное в этом AppServ неудобный запуск, но я не тестил по причине неработоспособности программы под Денвер
Сообщение отредактировано sp3d - Сб, 25 Июля 2009, 23:44
AppServ хороший сервер, но в нём нет панели управления, только лишь .bat файлы, для запуска. Решил для него и сделать панель управления, только лишь для него. На то и рассчитано что у пользователя уже установлен AppServ, а устанавливать нужно именно в корневую папку с AppServ.
Кто не знает что такое AppServ: Это маленькая и удобная сборка Apache, содержащая MySQL, PHP и Perl. Локальный веб-сервер, для теста ваших сайтов.
На то и рассчитано что у пользователя уже установлен AppServ
с этим мы разобрались, а как на счет универсальности? Думаю не помешает в твоем проекте сделать настройку запуска приложений. К томуже если юзер установит в другое место тот же самый AppServ, то он как, будет запускатся?
Ну для особо одарённых я пишу что нужно устанавливать в папку с сервером. А насчёт универсальности, я об этом думал, но уже поздно. Я отформатировал hdd и потерял исходник программы
Апач и мускул это службы, запускаются и останавливаются командами net start имя службы, net stop имя службы, обычно это в бат файлах. Или c:\phpdev\apache\apache -k shutdown cd c:\phpdev\apache apache.exe -k start запуск файла с ключем. Как видите, если сервис уже установлен, то старт стоп как службы, не требует знания их размещения. Вот с хостами уже по сложнее. запускать можно и без бат файла, смд.ехе и далее по тексту бата
Ну для особо одарённых я пишумолодой человек, ненадо грубить! Тебя прекрасно поняли, вопрос стоял в другом...
В разделе ММВ уже есть один сопливый "умник"! В необушном таковых НЕ БУДЕТ!
Quote (sp3d)
ладно забыли.
На первый раз... - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
возвращает всегда FLASE, я проверял, в диспетчере задач это приложение запущено, httpd.exe Как то странно, поэтому пришлось записывать в файл run.ini когда нажимаешь "запустить" записывается true
Добавлено (26 Июль 2009, 13:44) --------------------------------------------- смотри дебагер, особенно когда не работает код, обычно там хорошо видно пути которые используются в проекте через переменые ([MyDocuments] [ProgramFiles] [PubDir] [SystemDir] [TempDir] [WindowsDir]) вот путь твоего кода