purebasic.info

PureBasic forum
Текущее время: Ср май 23, 2018 5:56 am

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Нужно 866To1251
СообщениеДобавлено: Вт май 08, 2018 8:20 pm 
Не в сети
доцент

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 73
Благодарил (а): 10 раз.
Поблагодарили: 23 раз.
Пункты репутации: 0
Вопрос в заголовке.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Нужно 866To1251
СообщениеДобавлено: Вт май 08, 2018 8:39 pm 
Не в сети
доцент

Зарегистрирован: Пн мар 26, 2018 9:09 pm
Сообщений: 28
Благодарил (а): 0 раз.
Поблагодарили: 5 раз.
Пункты репутации: 0
Ответ в ответе тут


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Нужно 866To1251
СообщениеДобавлено: Ср май 09, 2018 2:56 pm 
Не в сети
ассистент

Зарегистрирован: Сб фев 27, 2016 4:37 pm
Сообщений: 13
Благодарил (а): 5 раз.
Поблагодарили: 1 раз.
Пункты репутации: 0
AZJIO
есть в юникод:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
prog$ = "cmd.exe" 
dosbox = RunProgram(prog$, "", "", #PB_Program_Open|#PB_Program_Read|#PB_Program_Write|#PB_Program_Hide|#PB_Program_Ascii)
 
If dosbox  
  OpenWindow(0,0,0,400,500,"Results from DosBox",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
  StartDrawing(WindowOutput(0))
    DrawText(65,200, "Pinging now, Stand by for results...", #Black, GetSysColor_(#COLOR_BTNFACE))
  StopDrawing()
  NewList results.s()
  WriteProgramStringN(dosbox, "ping google.com", #PB_Ascii)
  WriteProgramData(dosbox, #PB_Program_Eof, 0)
  While ProgramRunning(dosbox)
    If AvailableProgramOutput(dosbox)
      AddElement(results())
     
      sOEM_in_unicode.s = ReadProgramString(dosbox, #PB_Ascii)
      iByteLength = Len(sOEM_in_unicode) + 2      
      sOem_in_Ascii.s = Space(iByteLength)
      PokeS(@sOem_in_Ascii, sOEM_in_unicode, -1, #PB_Ascii)
      sunicode.s = Space(iByteLength)
      OemToChar_(@sOem_in_Ascii, @sunicode)
      results() = sunicode
 
    Else
      Delay(1)
    EndIf
  Wend
  AddElement(results())
  AddElement(results())
  results() = "Program finished with exit code = " + Str(ProgramExitCode(dosbox))
  CloseProgram(dosbox)
 
  ListViewGadget(0,0,0,400,500)
  ForEach results()
    AddGadgetItem(0, -1, results())
  Next
  Repeat:Until WaitWindowEvent()=#WM_CLOSE
Else
  MessageRequester("OOPS!", "Can't find " + prog$ )
EndIf
 
 



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Нужно 866To1251
СообщениеДобавлено: Чт май 10, 2018 6:08 pm 
Не в сети
доцент

Зарегистрирован: Вс июл 05, 2009 5:55 pm
Сообщений: 35
Откуда: Украина Полтава
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
у меня пурик 5.21LTS и команда в справке выглядит так:
Result = WriteProgramStringN(Program, String$).
Какая версия для этих команд:(и еще какое число в константе #PB_Program_Ascii, ато ругается на нее)
WriteProgramStringN(dosbox, "ping google.com", ) .

както вобще нехочет работать нпример это
prog$ = "cmd.exe"
dosbox = RunProgram(prog$, "", "", #PB_Program_Open|#PB_Program_Read|#PB_Program_Write|#PB_Program_Hide);|#PB_Program_Ascii)

так без проблем открывается RunProgram("cmd.exe").
После корекции чегото заработало но первая строка выглядит так: dosbox = RunProgram("cmd.exe", "", "", #PB_Program_Open|#PB_Program_Read|#PB_Program_Write|#PB_Program_Hide);|#PB_Program_Ascii) .
Потом совсем стало нормально работать, но вопрос с WriteProgramStringN(dosbox, "ping google.com", #PB_Ascii) остается.

_________________
искатель истины


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Нужно 866To1251
СообщениеДобавлено: Чт май 10, 2018 8:52 pm 
Не в сети
доцент

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 73
Благодарил (а): 10 раз.
Поблагодарили: 23 раз.
Пункты репутации: 0
мне ещё такое дали
Код:
1
2
3
4
5
6
Procedure.s OemA2Ansi(Str$)
  user32_dll=OpenLibrary(#PB_Any, "user32.dll")
  CallFunction(user32_dll,"OemToCharA",@Str$,@Str$)
  CloseLibrary(user32_dll)
  ProcedureReturn PeekS(@Str$,-1,#PB_Ascii)
EndProcedure



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

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


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

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


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

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