Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (2): [1] 2 »   

> Без описания
007wan
Отправлено: 02 Февраля, 2018 - 15:18:04
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017  
Репутация: -2




Принцип: Открывает файл, через каждые 2 строчки очищает их(начиная с нулевой). Например, есть надпись:
CODE:

0 строчка//удалить
1 строчка
2 строчка
3 строчка//удалить
//и так до бесконечности.
Сразу хочу отметить строчек может быть разное количество может сделать, что бы он определял сколько строчек(что бы заполнить в массив text[n]

CODE:
string text[1000];
int a=0;

loop(50)//тут проблема надо узнать сколько строчек, что бы завершить скрипт по мере конца последней строчки
{
if (fopen ("C:\Users\Home\Desktop\ÌΨ\Ìóçûêà.txt", "a")!=0)
{
fwrite(text[a+2]);

fclose();
}
}

(Добавление)
Еще такой нюанс: первая и последняя строчка должны начинаться на "0:" если это не так, то первую и последнюю удалять до тех пор пока не будет так.
(Добавление)
 007wan пишет:
Еще такой нюанс: первая и последняя строчка должны начинаться на "0:"
нет, лучше тогда должны начинться/заканчиваться последняя/первая на любые числа и ":"
 
 Top
Zireael
Отправлено: 02 Февраля, 2018 - 15:51:14
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
тут проблема надо узнать сколько строчек

CODE:
string text[1000];
string str;

if (fopen ("C:\Users\abc\Desktop\111.txt", "r")!=0) // открываем файл для чтения
{
for(int i=0; freadline(str)!=0; i++)text[i]=str; // читаем по строке до конца файла
fclose();
}
int count=i;
messagebox("Строк в файле: "+format(count));

// массив text содержит весь файл
// производим нужные действия и сохраняем в файл
messagebox("Первая строка: "+text[0]);
messagebox("Вторая строка: "+text[1]);

 Цитата:
Еще такой нюанс:
нет, лучше тогда

Через пару минут ещё что-то изменится?Улыбка
 
 Top
007wan
Отправлено: 02 Февраля, 2018 - 16:13:31
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017  
Репутация: -2




 Zireael пишет:
Еще такой нюанс:
нет, лучше тогда

Через пару минут ещё что-то изменится?Улыбка
Не думаю)
(Добавление)
 Zireael пишет:
 Цитата:
тут проблема надо узнать сколько строчек

CODE:
string text[1000];
string str;

if (fopen ("C:\Users\abc\Desktop\111.txt", "r")!=0) // открываем файл для чтения
{
for(int i=0; freadline(str)!=0; i++)text[i]=str; // читаем по строке до конца файла
fclose();
}
int count=i;
messagebox("Строк в файле: "+format(count));

// массив text содержит весь файл
// производим нужные действия и сохраняем в файл
messagebox("Первая строка: "+text[0]);
messagebox("Вторая строка: "+text[1]);

 Цитата:
Еще такой нюанс:
нет, лучше тогда

Через пару минут ещё что-то изменится?::smile24.gif::

вылетает
 
 Top
Zireael
Отправлено: 02 Февраля, 2018 - 16:24:29
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




Путь к файлу на свой исправьте. Ну и лучше так:
CODE:
string text[1000];
string str;

if (fopen ("C:\Users\abc\Desktop\111.txt", "r")!=0) // открываем файл для чтения
{
for(int i=0; freadline(str)!=0; i++)text[i]=str; // читаем по строке до конца файла
fclose();
int count=i;
messagebox("Строк в файле: "+format(count));

// массив text содержит весь файл
// производим нужные действия и сохраняем в файл
messagebox("Первая строка: "+text[0]);
messagebox("Вторая строка: "+text[1]);
}

(Добавление)
 Цитата:
тогда должны начинться/заканчиваться последняя/первая на любые числа и ":"

Нормальный пример приведите. Что есть в файле и что должно остаться.
 
 Top
007wan
Отправлено: 03 Февраля, 2018 - 09:06:37
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017  
Репутация: -2




 Zireael пишет:
Путь к файлу на свой исправьте. Ну и лучше так:
CODE:
string text[1000];
string str;

if (fopen ("C:\Users\abc\Desktop\111.txt", "r")!=0) // открываем файл для чтения
{
for(int i=0; freadline(str)!=0; i++)text[i]=str; // читаем по строке до конца файла
fclose();
int count=i;
messagebox("Строк в файле: "+format(count));

// массив text содержит весь файл
// производим нужные действия и сохраняем в файл
messagebox("Первая строка: "+text[0]);
messagebox("Вторая строка: "+text[1]);
}

(Добавление)
 Цитата:
тогда должны начинться/заканчиваться последняя/первая на любые числа и ":"

Нормальный пример приведите. Что есть в файле и что должно остаться.

первым делом я как раз и поменял путь. и теперь работает. ПРИМЕР: в файле n количество строчек, узнали, УДАЛЯЕМ(первую строчку удаляем, а не очищаем, т.е она полностью исчезнет) и если после удаления строчки не найдено сочетание любая цифра+ символ ":", то удаляем снова и снова, пока не будет найдено, а если выполнил это условие, то пропускает еще 2 строчки и уже на 4 строчке(нулевая строчка-это первая итд..если посчитать...)не удалит ее, а ОЧИСТИТ(именно не убираем строчки, а просто очищаем ее, что бы она была пустая, но оставалась) и после этого снова пропускает 2 строчки и уже снова и снова очищает и так до бесконечности... когда находит последнюю строчку, то удаляет ее до тех пор пока не будет найдена условие любая цифра+ символ ":".
 
 Top
Zireael
Отправлено: 03 Февраля, 2018 - 19:28:19
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




code (Отобразить)

Содержимое блокнота, на котором тестил (Отобразить)
 
 Top
007wan
Отправлено: 04 Февраля, 2018 - 14:59:08
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017  
Репутация: -2




Zireael , Не много по другому, у меня почему-то очищает весь файл.
Принцип должен быть таким:
Удалить строчку(очистить со смещением вверх) и очистить строчку(просто убираем содержимое, но она останется)
CODE:

//0 строчка(Удалить ЕСЛИ)(удаляем нулевую строчку ЕСЛИ она не содержит ЛЮБУЮ цифру(т.е все что угодно, но не это, например, любой текст), я не имею ввиду рондомную, я просто хочу сказать , что она может быть разная, т.е 1,2,3,4,5,6... . И содержит символ ":". Получается нам нужно искать в нулевой строчке сочетание, например, "3:". ЕСЛИ оно не найдено, ТО удалить эту строчку, ИНАЧЕ пропустить эту строчку+еще 2, т.е всего пропустить 3 строчки. После этой строчки должно находится такое же сочетание- Очищаем его, но не удаляем строчку.)
//1 строчка(пропустить)
//2 строчка(пропустить)
//3 строчка(очистить)
//4 строчка(пропустить)
//5 строчка(пропустить)
//6 строчка(очистить)
//7 строчка(пропустить)
//8 строчка(пропустить)
//9 строчка(очистить)
...
//804 строчка(пропустить)
//805 строчка(пропустить)
//806 строчка(очистить)
//807 строчка(предположим нашли сколько строчек и это будет конец, где будет работать скрипт. после последнего сочетания "любая цифра+ :" пропускаем 2 строчки и всё остальное удаляем)
 
 Top
Zireael
Отправлено: 04 Февраля, 2018 - 15:34:47
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Содержимое блокнота, на котором тестил

На этом примере скрипт работает. Или вы даже не проверяли?
Нормальный пример приведите. Что есть в файле и что должно остаться.
 
 Top
007wan
Отправлено: 04 Февраля, 2018 - 15:35:15
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017  
Репутация: -2




Вылетает с большим количеством строк. Скрипт не работает: path_out записывает пустой файл. пути верные
(Добавление)
Zireael , проверял. пустой файл для конца
 
 Top
Zireael
Отправлено: 04 Февраля, 2018 - 15:56:38
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Вылетает с большим количеством строк.

CODE:
string text[1000]; // максимальное количество строк в файле
char array[500]; // максимальная длина строки
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by