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

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

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

> Без описания
Stepik
Отправлено: 16 Июля, 2016 - 08:27:55
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 7
Дата рег-ции: Июль 2016  
Откуда: Russia
Репутация: 0




fopen (file1, r);
freadline (num);
//проверка на качество
//если да то:
fopen (file2, a);
fwrite(num);
fwrite(ENDL);
fclose() //file2
fclose() // file1

как это реализовать?
 
 Top
Kibor
Отправлено: 16 Июля, 2016 - 09:49:13
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




fopen (file1, r);
freadline (num);
fclose() //file2
//ïðîâåðêà íà êà÷åñòâî
//åñëè äà òî:
fopen (file2, a);
fwrite(num);
fwrite(ENDL);
fclose() // file1
 
 Top
Stepik
Отправлено: 16 Июля, 2016 - 12:32:02
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 7
Дата рег-ции: Июль 2016  
Откуда: Russia
Репутация: 0




РЕШЕНО

CODE:

string number[300]; //хранить номера будем в массиве number
int x,y; //переменные для счетчика
fopen ("C:\1.txt", "r"); //открываем текст для чтения
x=0; //обнуляем счетчик
messagebox ("Начали чтение"); //говорим сами с собой
st: //метка чтения всего файла и загона его в массив (когда прочитаем 100 строк файл 1 закроется, откроется 2, смотри вниз)
if (x<100) //условие на количество строк
{
freadline (number[x]); //помните сбросили счетчик? в этой строке читаем первую строку в массив number[0]
x++; // увеличиваем значение счетчика на 1. следующая строка пойдет в массив number[1]
goto st; //идем на метку чтения всего файла (подними глаза и прочитай в скобках)
}
else
fclose(); //закрыли
fopen ("C:\2.txt", "a"); //открыли для записи (дописываем)
y=0;
messagebox ("Начали запись"); //говорим сами с собой
// все точно так же, заменили x на y, принцип тот же + дописываем (смотри ниже)
ts:
if (y<100)
{
fwrite (number[y]);
fwrite (ENDL); // дописываем перенос строки
y++;
goto ts;
}
else fclose();
messagebox ("Конец"); //говорим сами с собой
 
 Top
Kibor
Отправлено: 16 Июля, 2016 - 12:41:49
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 Stepik пишет:
РЕШЕНО

Советую изучить это
CODE:
string number[300]; //хранить номера будем в массиве number
int n, k=0;
if (fopen ("C:\1.txt", "r")!=0)//открываем файл для чтения "r"
{
while (freadline(number[k])!=0)k++;
fclose();//закрываем файл
}

if (fopen ("C:\2.txt", "a")!=0)//открыли для записи (дописываем)
{
for (n=0; n<k; n++)
{
fwrite (number[n]);
fwrite (ENDL); // дописываем перенос строки
}
fclose();
}
messagebox ("Конец"); //говорим сами с собой

и сделать как положено, во избежание сбоев в работе и запутанности скрипта..
 
 Top
Stepik
Отправлено: 16 Июля, 2016 - 19:45:37
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 7
Дата рег-ции: Июль 2016  
Откуда: Russia
Репутация: 0




Спасибо. Но, буду юзать свое ибо глаз привык, смена количества читаемых строк быстра и понятна. Все работает. собрал все за два дня. Софт отличный, начинаю следующий кликер.
 
 Top
sedoi
Отправлено: 30 Сентября, 2021 - 21:04:45
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 47
Дата рег-ции: Апр. 2016  
Репутация: 1




Ребятки, подскажите кто может, как сделать рабочим код? не могу поместить циклично полученные данные в переменные, что бы можно было бы сравнить с условием.
файл с которого считывается инфа выглядит так
CODE:

Оплата ОК
9
30
19
5000
Оплата картинки
9
30
19
200
Оплата VK
9
30
19
2000

с верху вниз, услуга , месяц, день, время, по месяцу, дню, и времени, нужно выводить инфу на экран, как напоминание, не могу ни как осилить.
CODE:


options ("stop","F");
int Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds;
getlocaltime(Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds);
string text[1000];
string path_file = "D:\Myfiles\base.txt";
int row = 0;
int count_if = 0;
//======================================================================================

string purpose_of_payment = getcontrol(EDIT_0);
int month =formatsn(getcontrol(EDIT_1));
int day =formatsn(getcontrol(EDIT_2));
int hour =formatsn(getcontrol(EDIT_3));
int sum =formatsn(getcontrol(EDIT_4));

//========================================================================================



//========================================================================================

// Проверка заполнения всех полей EDIT
for(int count = 1; count > 0; count++)
{
if(purpose_of_payment == "" || month <= 0 || month > 12 || day <= 0 || day > 31 || hour < 0 || hour > 24 || sum <= 0)
{
messagebox("Поля заполнены не верно!");
goto start_of_code;
}
break;
}

//==========================================================================================



loop()
{
write_parameters_file();
read_file();
}
// Записываем данные в файл
function write_parameters_file()
{
if(getcontrol(CHECK_0)==1)
{
if (fopen (path_file, "a")!=0)//если открылся или есть такой файл
{
fwrite(purpose_of_payment);//записываем в файл название платежа
fwrite(ENDL);//Перенос строки
fwrite(month);//записываем в файл месяц
fwrite(ENDL);//Перенос строки
fwrite(day);//записываем в файл день
fwrite(ENDL);//Перенос строки
fwrite(hour);//записываем в файл время
fwrite(ENDL);//Перенос строки
fwrite(sum);//записываем в файл сумму
fwrite(ENDL);//Перенос строки
fclose();//закрываем файл

if(purpose_of_payment == "" || month <= 0 || month > 12 || day <= 0 || day > 31 || hour < 0 || hour > 24 || sum <= 0)
{
messagebox(" Поля заполнены не верно! ");
goto global start_of_code; // Переход на метку CREATE_INTERFACE
}

messagebox("Все данные сохранены!");
sendcontrol(CHECK_0, 0);// Снять галку
sleep(1000);
}
}
}

//===========================================================================================
// Получаем данные из файла
function read_file()
{
if (fopen (path_file, "r")==0)//если открылся или есть такой файл
{
messagebox(" У вас еще нет данных! ");
goto global start_of_code; // Переход на метку CREATE_INTERFACE
}
if (fopen (path_file, "r")!=0)//если открылся или есть такой файл
{
for(int i=0; freadline(text[i])!=0; i++)row++;
fclose();
for(i =0; i < row; i++)
{
purpose_of_payment = text[i];
month = formatsn(text[i]);
day = formatsn(text[i]);
hour = formatsn(text[i]);
sum = formatsn(text[i]);
if(Month == month && Day == day && Hour == hour)
{
textbkcolor (255,65408);
textout(0,0, 0, " " + format(Day) + " ЧИСЛО, " + " время: " + format(Hour) + " : " + format(Minute) + ", " + purpose_of_payment + ": " + format(sum) + " РУБ ", 0);
//beep(1500,500);
sleep(1000);
if(count_if < 10)
{
beep(1500,500);
sleep(1000);
count_if++;
}
}
}
}
}


//============================================================================================



//sleep(7200000);



start_of_code:;

CREATE_INTERFACE
{
DIALOG "Планировщик оплат" 287 230 //РазмерX РазмерY

STATIC_0 "Название платежа:" 10 12 120 18 //ПозицияX ПозицияY РазмерX РазмерY
EDIT_0 "Оплата ОК" 115 12 120 18 //ПозицияX ПозицияY РазмерX РазмерY


STATIC_1 "Укажите месяц:" 10 40 90 18 //ПозицияX ПозицияY РазмерX РазмерY
EDIT_1 "1" 95 40 25 18 //ПозицияX ПозицияY РазмерX РазмерY


STATIC_2 "Укажите день:" 10 70 90 18 //ПозицияX ПозицияY РазмерX РазмерY
EDIT_2 "1" 95 70 25 18 //ПозицияX ПозицияY РазмерX РазмерY


STATIC_3 "Укажите время:" 10 100 90 18 //ПозицияX ПозицияY РазмерX РазмерY
EDIT_3 "1" 95 100 25 18 //ПозицияX ПозицияY РазмерX РазмерY


STATIC_4 "Укажите сумму:" 10 130 90 18 //ПозицияX ПозицияY РазмерX РазмерY
EDIT_4 "5000" 95 130 35 18 //ПозицияX ПозицияY РазмерX Размер
STATIC_5 "РУБ" 133 132 90 18 //ПозицияX ПозицияY РазмерX РазмерY


CHECK_0 0 /*Выключена*/ "Сохранить данные" 10 160 115 18 //ПозицияX ПозицияY РазмерX РазмерY




BUTTONSCRIPT "Запустить" 175 171 100 25 //ПозицияX ПозицияY РазмерX РазмерY
//Добавление контролов управления ......

}



Это код программы, функция read_file() мне не далась. Если кто знает как сделать, что бы скрипт пробегал по файлу брал первые 5 значений и проверял на условие совпадений и выводил инфу к примеру секунд 5, и шел по файлу вниз дальше к следующим 5ти параметрам, и какие условия выполняются такие циклично выводились на экран, до тех пор пока я не выключу программу или не истечет время, сработки час.
 
 Top
Zireael
Отправлено: 01 Октября, 2021 - 02:19:16
Post Id



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


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




Можно прочитать весь файл по строкам и потом обращаться к элементам массива. Суть такая:
CODE:
string text[99999];
string path_file = "D:\Myfiles\base.txt";

if (fopen (path_file, "r")==0)
{
messagebox("Файл не открылся");
}
else
{
int count_line = freadlineall(#text[0], sizearray(text));
messagebox("Всего строк в файле: "+format(count_line));

for(int i=0; i<count_line; i=i+5)
{
string purpose_of_payment = text[i];
int month = formatsn(text[i+1]);
int day = formatsn(text[i+2]);
int hour = formatsn(text[i+3]);
int sum = formatsn(text[i+4]);

// тут проверять что нужно
messagebox(purpose_of_payment);
}
}
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by