Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Не копирует из файла русские символы

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

1. koba - 13 Сентября, 2021 - 05:06:57 - перейти к сообщению
Заместо русских букв крякозябры, английские нормально.
код
CODE:
if (fopen ("C:\22.txt", "r")!=0)//
{
string text1;
if (freadline(text1)!=0)//
{
writeclipboard(text1);
//messagebox;
//вставляем куда надо ctrl+v

}
fclose();//закрываем
}

как вылечить?
2. Zireael - 13 Сентября, 2021 - 05:17:05 - перейти к сообщению
 Цитата:
Заместо русских букв крякозябры
как вылечить?

CODE:
if (fopen ("C:\22.txt", "r")!=0)
{
string text1;
if (freadline(text1)!=0)
{
sendlanguage("00000419", formatiw(gethwnd())); // переключить раскладку в кибор на рус.
writeclipboard(text1);
//вставляем куда надо ctrl+v
}
fclose();//закрываем
}
3. koba - 13 Сентября, 2021 - 05:47:22 - перейти к сообщению
Zireael
это не помогло,
а помогло только сохранение файла в кодировке ANCI,
крякозябры русских символов из-за UTF-8.
4. Zireael - 13 Сентября, 2021 - 05:50:03 - перейти к сообщению
 Цитата:
крякозябры русских символов из-за UTF-8.

CODE:
string T="Программируемый кликер";//Текст в формате UTF-8
string S=utf8toansi (T);//В S будет текст в формате ANSI
messagebox (S);
5. koba - 13 Сентября, 2021 - 09:59:56 - перейти к сообщению
Zireael
а как сщитать определенную строку в тхт файле, к пример текст:
CODE:
первая строка
вторая строка
третья строка
четвертая строка

надо скопировать в буфер к примеру "третья строка" и потом ее уже вставлять куда надо.
6. Zireael - 13 Сентября, 2021 - 18:08:33 - перейти к сообщению
 Цитата:
а как сщитать определенную строку в тхт файле

CODE:
string text[999];

if (fopen ("C:\account.txt", "r")!=0)
{
freadlineall(#text[0], sizearray(text));
fclose();
messagebox (text[2]); // третья строка из файла
messagebox (utf8toansi(text[2])); // третья строка из файла, если текст в utf8
}
7. koba - 14 Сентября, 2021 - 02:42:40 - перейти к сообщению
Здорово
8. koba - 14 Сентября, 2021 - 04:42:53 - перейти к сообщению
Блин проблема
CODE:
string text[999];

if (fopen ("C:\KIBOR\22.txt", "r")!=0)
{
freadlineall(#text[0], sizearray(text));
writeclipboard(text[2]);
fclose();
}

почему он каждый новый цикл копирует добавляет еще одну,
т.е. на третьей строке к примеру написано "строка"
первый цикл копирует одно слово "строка", второй цикл уже "строкастрока", третий "строкастрокастрока" и тд.
Как лечить?
9. Zireael - 14 Сентября, 2021 - 04:54:36 - перейти к сообщению
 Цитата:
почему он каждый новый цикл копирует добавляет еще одну,

Это баг.
Перед freadlineall добавить эту строку:
CODE:
initialarray(#text[0], "");

Зачем несколько раз считывать файл? Если он не меняется, то в этом нет смысла, весь файл и так в массиве.
10. koba - 14 Сентября, 2021 - 06:07:51 - перейти к сообщению
 Zireael пишет:
initialarray(#text[0], "" );

с этим работает Закатив глазки

Powered by ExBB FM 1.0 Final