Показано с 1 по 2 из 2

Тема: Создать файл с русскими буквами в названии

  1. #1

    По умолчанию Создать файл с русскими буквами в названии

    Добрый день!
    Как создать файл "МойФайл.txt" в папке "\home" с содержимым "йцукенqwerty123456"?
    Спасибо!

    P.S.
    Без русских букв в имени файла - всё работает
    Русские буквы в содержимом файла - работают

    Тестовый код сейчас примерно такой:
    Код:
    //Создание
    R_Trig_Main(CLK := CreateFile);
    IF R_Trig_Main.Q THEN
    
    	TextForFile := OSU.UNICODE_TO_CP1251("йцукенqwerty123456");
    	FileName := OSU.UNICODE_TO_CP1251("/home/МойФайл.txt");
    	
    	
    	
    	hFile := SysFile.SysFileOpen(FileName, SysFile.ACCESS_MODE.AM_WRITE, pResult);
    	SysFile.SysFileWrite(hFile, ADR(TextForFile), TO_UDINT(LEN(TextForFile)), pResult);
    	SysFile.SysFileClose(hFile);
    END_IF

  2. #2

    По умолчанию

    Разобрался. Если кому надо, то вот:

    Код:
    PROGRAM File
    VAR
        CreateFile: BOOL;
        R_Trig_Main: R_Trig;
        
        	pResult : POINTER TO SysFile.SysTypes.RTS_IEC_RESULT;
    	hFile   :	POINTER TO SysFile.SysTypes.RTS_IEC_HANDLE;
    	
    	TextForFile : STRING(255);
    	FileNameWString : WSTRING(255);
    	FileNameString : STRING(255);
    END_VAR
    Код:
    //Создание
    R_Trig_Main(CLK := CreateFile);
    IF R_Trig_Main.Q THEN
    
    	//Содержимое
    	TextForFile := OSU.UNICODE_TO_CP1251("йцукенqwerty123456");
    
    	//Имя файла
    	FileNameWString := "/home/МойФайл.txt";
    	STU.ConvertUTF16toUTF8(ADR(FileNameWString), ADR(FileNameString), SIZEOF(FileNameString), FALSE);
    	
    	//Создание файла
    	hFile := SysFile.SysFileOpen(FileNameString, SysFile.ACCESS_MODE.AM_WRITE, pResult);
    	SysFile.SysFileWrite(hFile, ADR(TextForFile), TO_UDINT(LEN(TextForFile)), pResult);
    	SysFile.SysFileClose(hFile);
    END_IF
    Разве что, Putty всё равно вместо файла показывает "???????.txt", но оно мне в Putty смотреть особо и не надо

Похожие темы

  1. Создать отчет
    от Sherkhan в разделе Master SCADA 4D
    Ответов: 3
    Последнее сообщение: 05.05.2023, 14:40
  2. Для чего в программе OWEN Logic пункт создать файл ключа
    от majevgenij в разделе Программируемые реле
    Ответов: 2
    Последнее сообщение: 16.12.2017, 19:54
  3. Ответов: 0
    Последнее сообщение: 11.12.2017, 15:02
  4. Ошибка в названии темы
    от rovki в разделе Сервисное обслуживание приборов ОВЕН
    Ответов: 1
    Последнее сообщение: 20.08.2012, 17:02
  5. Ответов: 95
    Последнее сообщение: 27.01.2012, 10:45

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •