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

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

 Страниц (16): В начало « 3 4 5 6 [7] 8 9 10 11 » В конец    

> Описание: Продолжение
Zireael
Отправлено: 21 Ноября, 2019 - 01:16:30
Post Id



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


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




 Цитата:
Пока первая изменяет текст, то у второй до сих пор взят текст и он старее, чем у первой

Я уже давал пример, где 3 программы связываются с другой, при этом для каждой программы выделен свой массив.
 
 Top
007wan
Отправлено: 21 Ноября, 2019 - 09:30:01
Post Id



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


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




 Zireael пишет:
Я уже давал пример, где 3 программы связываются с другой, при этом для каждой программы выделен свой массив.
Это я уже знаю, но это не актиально и то, что я писал вышел. Теперь я понял, что лучше сделать по другому.

Проблема была в том, что текст из буфер брался от всех программа и одновременно добавлялся в буфер параллельно, но теперь я знаю как решить эту проблему.
Как сделать такую модель(я покажу как это вижу я):

В буфер главной программы в диалог пишется текст(при запуске программы он именно такой по дефолту):
Для примера (Отобразить)

где Main_Program, Program_1, Program_2 к какой программе относится, имеет значение константы(статическое) и не изменяется, но должно это читаться;
где Editing_Rights - это права на редактирование для данной программы, имеет знрачения 0,1,2.
0 - означает, что редактирование разрешено только для главной программы.
1 - означает, что редактирование разрешено только для первой exe программы.
2 - означает, что редактирование разрешено только для второй exe программы.

Где Function_1 - это значение функции. Имеет так же 2 значения:
0 - функция отключена.
1 - функция включена.

Принцип работы основан не на параллельном редактировании, а на последовательном, что гораздо лучше.
ПРИНЦИП работы:
Как я и говорил при запуске в буфер пишется дефолтный текст, но не такой который выше, это для примера, а вписывается такой текст:
Текст в буфер при запуске главного (Отобразить)

PS: Забыл указать, что в диалоге должны 2 кнопки "Получить окно1" и "Получить окно2".

При нажатии на "Получить окно1".Как мы уже знаем, что редактирование имеет значение "0", значит можно редактировать только главной программе, следовательно она пишет в буфер текст для Program_1 вместо "0" ставит "1", а уже потом для Main_Program вместо "0" ставит "1". Так как у каждой программы(Main_Program, Program_1, Program_2) стоит таймер, определяющий какая цифра стоит в Main_Program, то в зависимости от положения цифры можно будет писать тот или иной текст в буфер, а потом переключать "Управление редактированием для программ"(ту саму переменную, что бы давать управление другой программе).
Если всё правильно сделано должен выйти текст, когда нажали кнопку "Получить окно1"
Текст в буфер при нажатии на кнопку "Получить окно1" (Отобразить)

(Добавление)
Простым языком: буфер изменяется последовательно, последовательно от каждой программы.
(Добавление)
Парсинг не исключен.
(Добавление)
Хотел дополнить, что в начале запуска Main_Program не просто так в значении 0, а будет это до тех пор, пока кнопка не будет нажата "Получить окно1" или втрая, а уже потом изменит на 1...2...и снова 0.

(Отредактировано автором: 21 Ноября, 2019 - 09:30:48)

 
 Top
007wan
Отправлено: 21 Ноября, 2019 - 12:14:55
Post Id



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


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




Можно, пожалуйста реализовать как я вижу это? Просто с парсингом проблемы, да и многие наверное уже подумают, что вообще не только с парсингом, раз уже 3 года изучаю : )
 
 Top
007wan
Отправлено: 21 Ноября, 2019 - 15:02:53
Post Id



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


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




Что не так? Хочу в буфер диалога записать текст этот.
CODE:
char Text_Butffer[255];

string rn=formatic(13)+formatic(10);
Text_Butffer[0] = "main_prog|0;"+rn+"prog1|0;"+rn+"prog2|0;";
writebuffer(#Text_Butffer[0], 255, Main_Window);

(Добавление)
Ну пожалуйста, просто в теме где описание функций там старые, а мне нужно пример по компактнее и без этих, когда в один байт записывают один символ
(Добавление)
Просто там не современные примеры.
(Добавление)
По моей логике
должно работать:

CODE:
string Text_Buffer;//текст
char Buffer3;//буфер
for (int l=0; l<sizearray(Text_Tab); l++)
{
Text_Buffer = Text_Buffer+Text_Tab[l]+" Bot|0;"+formatic(13)+formatic(10);//скомпилировали текст (мой)
}
strcpy(#Buffer3[0], Text_Buffer);//копируем в Buffer3 текст Text_Buffer
writebuffer(#Butffer3[0], 255, Main_Window);//отправляем
messagebox(Text_Buffer);

(Добавление)
Всё работает! забыл у char добавить массив размера
 
 Top
nmf234
Отправлено: 21 Ноября, 2019 - 23:42:18
Post Id



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


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




доброго! Ранее я писал о том, что меседжбоксы появляются позади хрома, а нужно поверх. Я заметил вот что: если запускать код через редактор то этой проблемы нет, но я собрал и использую exe, и тут то эта проблема и появляется Огорчение (несколько раз пересобирал, код и exe идентичны).
На всякий, прикрепил "рабочую зону" бота. он поочередно выполняет код то во вкладке слева, то справа.
в том числе и диалог (showdialog (0, "Диалог", 555, 250, 266, 199, 1, 1) тоже появляется позади.
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]

(Отредактировано автором: 21 Ноября, 2019 - 23:49:56)

 
 Top
007wan
Отправлено: 22 Ноября, 2019 - 12:10:53
Post Id



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


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




Добавляется в буфер текст с символами formatic(10) +( 13), а он всеравно в строчку записывается, как перенести строку в буфере и что бы читал из буфера так как задам текст
 
 Top
Zireael
Отправлено: 22 Ноября, 2019 - 12:19:27
Post Id



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


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




 Цитата:
что бы читал из буфера так как задам текст

Что записано, то и читает.
CODE:
char c[100];
strcpy(#c[0], "123"+formatic(13)+formatic(10)+"456"); // строка
messagebox(format(#c[0]));

writebuffer(#c[0], size(#c[0])); // записали в буфер
sleep(100);

char c2[100];
readbuffer(#c2[0], 100); // прочитали
messagebox(format(#c2[0]));
 
 Top
Dantes3000
Отправлено: 22 Ноября, 2019 - 12:19:40
Post Id



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


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




007wan , наверно потому что надо записывать formatic(13) +( 10)?
 
 Top
007wan
Отправлено: 22 Ноября, 2019 - 12:28:50
Post Id



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


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




 Zireael пишет:
 Цитата:
что бы читал из буфера так как задам текст

Что записано, то и читает.
CODE:
char c[100];
strcpy(#c[0], "123"+formatic(13)+formatic(10)+"456"); // строка
messagebox(format(#c[0]));

writebuffer(#c[0], size(#c[0])); // записали в буфер
sleep(100);

char c2[100];
readbuffer(#c2[0], 100); // прочитали
messagebox(format(#c2[0]));
А ressettextout выводит строчкой.
(Добавление)
 Dantes3000 пишет:
007wan , наверно потому что надо записывать formatic(13) +( 10)?
Сократил, а так там на пару символов более)
 
 Top
Zireael
Отправлено: 22 Ноября, 2019 - 12:36:21
Post Id



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


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




 Цитата:
А ressettextout выводит строчкой.

ressettextout сбрасывает текст, а не выводит.
textout выводит текст в одну строку.
 
 Top
Страниц (16): В начало « 3 4 5 6 [7] 8 9 10 11 » В конец
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by