purebasic.info

PureBasic forum
Текущее время: Пн дек 10, 2018 6:33 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: СОхранение файла .bat
СообщениеДобавлено: Сб ноя 22, 2014 10:21 pm 
Не в сети
студент
Аватар пользователя

Зарегистрирован: Сб ноя 22, 2014 10:14 pm
Сообщений: 5
Откуда: Россия, Москва
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Как можно сохранить через программу файл типа test.bat в кодировке UTF8 no BOM ?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: СОхранение файла .bat
СообщениеДобавлено: Сб ноя 22, 2014 11:01 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6412
Благодарил (а): 21 раз.
Поблагодарили: 200 раз.
Пункты репутации: 52
Корейко Максим писал(а):
Как можно сохранить через программу файл типа test.bat в кодировке UTF8 no BOM ?

Как в справке указано + формат #PB_UTF8 + файл в формате utf8 + создать unicode приложение.
Код:
1
2
3
4
5
6
7
8
9
If CreateFile(0, "c:\utf8.bat")   
    For i=1 To 5
      WriteStringN(0, "Номер строки -"+Str(i),#PB_UTF8)  
   Next
    CloseFile(0)                      
  Else
    MessageRequester("Information","may not create the file!")
  EndIf
 


_________________
read-only ¯\_(ツ)_/¯


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: СОхранение файла .bat
СообщениеДобавлено: Вс ноя 23, 2014 12:10 am 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
Виталий, а что с BOM? Пурик с ним сохраняет?

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: СОхранение файла .bat
СообщениеДобавлено: Вс ноя 23, 2014 12:25 am 
Не в сети
студент
Аватар пользователя

Зарегистрирован: Сб ноя 22, 2014 10:14 pm
Сообщений: 5
Откуда: Россия, Москва
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Но они сохраняют с BOM, а мне нужно без.
Работающий батник в кодировке UTF8-NoBOM (смотрел по notepad++)
Тогда перефразирую вопрос:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
OpenWindow(#PB_Any,0,0,200,70,"Хэлп аплоадеру",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
TextGadget(0,2,2,196,28,"Выберите что нужно добавить к видео", #PB_Text_Center)
ButtonGadget(1,2,30,96,30,"Озвучку")
ButtonGadget(2,102,30,96,30,"Субтитры")
Repeat
  Event=WaitWindowEvent()
  If Event = #PB_Event_Gadget
    Select EventGadget()
        Case 2
          video$ = OpenFileRequester("Выберите видео","","Видео| *.mp4;*.mkv;*.avi",0)
          subtitle$ = OpenFileRequester("Выберите субтитры","","Субтитры| *.ass",0)
          output$ = SaveFileRequester("Сохранить файл в","converted","Видео | *.mp4",0)
          temp = CreateFile(#PB_Any,"temp.cmd")
          WriteStringFormat(temp,#PB_UTF8)
          CurrentDirectory$ = GetCurrentDirectory()
          temp1 = WriteString(temp,"set FC_CONFIG_DIR=%CD% && set FONTCONFIG_FILE=%CD%fonts.conf && set FONTCONFIG_PATH=%CD% && "+"cd "+CurrentDirectory$+" && ")
          temp2 = WriteString(temp,"ffmpeg.exe -i "+Chr(34)+video$+Chr(34)+" -vf ass="+Chr(34)+subtitle$+Chr(34)+" -preset superfast -tune animation -y "+output$+" -report && pause")
          CloseFile(temp)
          RunProgram("temp.cmd")
          DeleteFile("temp.cmd")
      EndSelect
      EndIf
Until event = #PB_Event_CloseWindow
 



Содержимое файла temp:
Код:
1
敳⁴䍆䍟乏䥆彇䥄㵒䌥╄☠…敳⁴但呎佃䙎䝉䙟䱉㵅䌥╄潦瑮⹳潣普☠…敳⁴但呎佃䙎䝉偟呁㵈䌥╄☠…摣䌠尺晦灭来⁜☦映浦数⹧硥⁥椭∠㩃啜敳獲큜킜킰톺킁킸岼敄歳潴屰牰橯捥屴湩異彴楶敤⹯歭≶ⴠ晶愠獳∽㩃啜敳獲큜킜킰톺킁킸岼敄歳潴屰牰橯捥屴畳⹢獡≳ⴠ牰獥瑥猠灵牥慦瑳ⴠ畴敮愠楮慭楴湯ⴠ⁹㩃啜敳獲큜킜킰톺킁킸岼敄歳潴屰牰橯捥屴潣癮牥整⹤灭‴爭灥牯⁴☦瀠畡敳



Может со мной Конфуций пытается связаться?
Да, я не могу вызвать FFmpeg с этими параметрами, т.к. для него нужно выставлять Environment Variables


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: СОхранение файла .bat
СообщениеДобавлено: Вс ноя 23, 2014 1:07 am 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11335
Благодарил (а): 4 раз.
Поблагодарили: 443 раз.
Корейко Максим писал(а):
Но они сохраняют с BOM, а мне нужно без.
Тогда зачем записываешь в файл признак кодировки?
Корейко Максим писал(а):
Код:
1
WriteStringFormat(temp,#PB_UTF8)


И если необходимо сохранять текст в кодировке UTF-8, то следует использовать флаг #PB_UTF8 в функции WriteString().

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: СОхранение файла .bat
СообщениеДобавлено: Вс ноя 23, 2014 7:23 am 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6412
Благодарил (а): 21 раз.
Поблагодарили: 200 раз.
Пункты репутации: 52
Никита Однороб писал(а):
Виталий, а что с BOM? Пурик с ним сохраняет?

Да. Опять же в справке написано
Цитата:
Syntax

Result = WriteStringFormat(#File, Format)
Description

Writes a BOM (Byte Order Mark) at the current position in the file.


Т.о. Как я первый раз показал
Код:
1
WriteStringN(0, "Номер строки -"+Str(i),#PB_UTF8)  


Это будет БЕЗ BOM .
А как Корейко Максим пишет
Код:
1
WriteStringFormat(temp,#PB_UTF8)


будет соотсетсвенно с BOM.
Вопрос к нему - зачем вопросы задавать, если потом делать, не так как подсказали, а по другому, и ещё потом возмущаться?

_________________
read-only ¯\_(ツ)_/¯


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: СОхранение файла .bat
СообщениеДобавлено: Вс ноя 23, 2014 7:56 am 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6412
Благодарил (а): 21 раз.
Поблагодарили: 200 раз.
Пункты репутации: 52
Корейко Максим писал(а):
Да, я не могу вызвать FFmpeg с этими параметрами, т.к. для него нужно выставлять Environment Variables

Нужно, так выставляй:
Цитата:
SetEnvironmentVariable(Name$, Value$)
Description

Creates an environment variable in the environment block of this program with given name and value. If a variable with this name already existed, its content will be changed to the new value.


Потом через RunProgram() запускай FFmpeg с параметрами. Командный файл вообще не нужен.

_________________
read-only ¯\_(ツ)_/¯


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: СОхранение файла .bat
СообщениеДобавлено: Вс ноя 23, 2014 12:48 pm 
Не в сети
студент
Аватар пользователя

Зарегистрирован: Сб ноя 22, 2014 10:14 pm
Сообщений: 5
Откуда: Россия, Москва
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Спасибо, прямой вызов и SetEnvironmentVariable() помогли


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB