[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
-Справка по PureBasic
(перевод - sergey2400; встраивание стиля, ссылок - AZJIO)
Скачать с dm-Полезности от AZJIO
CodeArchiv.7z
Подсветка для родного IDE - Import.prefs (в настройках есть импорт темы/настроек, внизу), а также тема с другими вариантами.pb.coder для AkelPad - подсветка, автозавершение, свёртки, панель функций (в моей сборке есть)
Тёмная тема для браузера, с использованием плагов Stylish / Stylebot для официального форума (англоязычного и русского) PureBasic(.info, .fr)-


Последний раз редактировалось: nikzzzz (2020-03-02 12:43), всего редактировалось 1 раз

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
Зарезервирована

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 2 месяца
  • Сообщений: 449
  • Репутация:127

    [+] [-]
Справка по PureBasic от AZJIO
dm

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
avalat, перевод от sergey2400, и от меня встраивание стиля, ссылок, в общем там есть страничка "От автора перевода", где пояснение от автора перевода и я там указал что я добавил. Просто не хочу чтобы это звучало как от меня, а ведь автор переводил более 2 лет, я ещё в 17 году выкладывал первую перепаковку.

[Цитировать]

    sergeysvirid
  • 104
  • Стаж: 9 лет 3 месяца
  • Сообщений: 2495
  • Репутация:127

    [+] [-]
  • Откуда: 65 регион (GMT+11)
74427перевод от sergey2400
...от меня встраивание стиля, ссылок...
...а ведь автор переводил более 2 лет
С ума сойти fp
Поистине, только это заслуживает уважения, что не плюнули на это дело fr

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
Несколько ссылок для шапки
CodeArchiv.7z
Подсветка для родного IDE - Import.prefs (в настройках есть импорт темы/настроек, внизу), а также тема с другими вариантами.pb.coder для AkelPad - подсветка, автозавершение, свёртки, панель функций (в моей сборке есть)
Тёмная тема для браузера, с использованием плагов Stylish / Stylebot для официального форума (англоязычного и русского) PureBasic(.info, .fr)

[Цитировать]

    sergeysvirid
  • 104
  • Стаж: 9 лет 3 месяца
  • Сообщений: 2495
  • Репутация:127

    [+] [-]
  • Откуда: 65 регион (GMT+11)
AZJIO,
Спасибо, добавил в шапку az

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
74449тогда подчистить топик от сообщений
на усмотрение
я выложил код-архив, проверил ещё раз внутренности, там папка "Codes из winapi_library" не переведённая, а я выкладывал перевод тут, очень полезные примеры и проверены на почти последних версиях 5.62.
Перезалил код-архив с новыми "Codes из winapi_library".

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]

старое

"Фрагменты" для IDE, находятся в "Инструменты - Шаблоны"
Templates.prefs этот файл нужно положить в "C:\Users\пользователь\AppData\Roaming\PureBasic\" и в шаблонах появятся все примеры WinAPI.
В комплекте в архиве также au3-скрипт, который из любой папки с *.pb-файлами генерирует Templates.prefs.
Обновил "winapi_library", в комлекте с Templates.prefs. Узнал что есть тема обсуждения этого комплекта и с последних 2-х страниц темы добавил ещё сотню примеров.
nikzzzz, можно в шапку добавить PureAutoIt
В примерах winapi_library есть файл "Другие\Внешний вывод отладки в DebugView.pb", там ссылка, по которой я скачал отладчик DebugView Марка Руссиновича, смысл в том, что можно вместо мессаги использовать строку OutputDebugString_("Привет, мир"), при этом при запущенной DebugView в его консоль попадают строки отладки с указанием времени.
Файл "Диск\Определите, является ли диск жестким диском USB.pb" - тут совсем по другому определяется из этих флагов

типы

#BusTypeUnknown = 0
#BusTypeScsi = 1
#BusTypeAtapi = 2
#BusTypeAta = 3
#BusType1394 = 4
#BusTypeSsa = 5
#BusTypeFibre = 6
#BusTypeUsb = 7
#BusTypeRAID = 8
#BusTypeiScsi = 9
#BusTypeSas = 10
#BusTypeSata = 11
#BusTypeSd = 12
#BusTypeMmc = 13
#BusTypeVirtual = 14
#BusTypeFileBackedVirtual = 15
#BusTypeSpaces = 16
#BusTypeMax = 17
#BusTypeMaxReserved = 127
А вот так выдал инфу вплоть до ревизии флешки

выдал инфу

; Автор: Rings
;http://www.purebasic.fr/english/viewtopic.php?p=184194#p184194
EnableExplicit
Structure STORAGE_PROPERTY_QUERY
  PropertyId.l
  QueryType.l
  AdditionalParameters.l
EndStructure
Structure STORAGE_DEVICE_DESCRIPTOR
  Version.l
  Size.l
  DeviceType.b
  DeviceTypeModifier.b
  RemovableMedia.b
  CommandQueueing.b
  VendorIdOffset.l
  ProductIdOffset.l
  ProductRevisionOffset.l
  SerialNumberOffset.l
  BusType.w
  RawPropertiesLength.l
  RawDeviceProperties.b
  Reserved.b[1024]
EndStructure
#BusTypeUnknown = 0
#BusTypeScsi = 1
#BusTypeAtapi = 2
#BusTypeAta = 3
#BusType1394 = 4
#BusTypeSsa = 5
#BusTypeFibre = 6
#BusTypeUsb = 7
#BusTypeRAID = 8
#BusTypeiScsi = 9
#BusTypeSas = 10
#BusTypeSata = 11
#BusTypeSd = 12
#BusTypeMmc = 13
#BusTypeVirtual = 14
#BusTypeFileBackedVirtual = 15
#BusTypeSpaces = 16
#BusTypeMax = 17
#BusTypeMaxReserved = 127
#IOCTL_STORAGE_QUERY_PROPERTY = $2D1400
Define Drive$ = "\\.\N:" ; Указать диск
; Define Drive$ = "\\.\C:" ; Указать диск
Define hDrive
Define udtQuery.STORAGE_PROPERTY_QUERY
Define udtOut.STORAGE_DEVICE_DESCRIPTOR
Define p
Define lngResult
Define dwOutBytes
hDrive = CreateFile_(Drive$, 0, #FILE_SHARE_READ | #FILE_SHARE_WRITE, 0, #OPEN_EXISTING, 0, 0)
If hDrive <> -1
  For p=0 To 1023
    udtOut\Reserved[p]=0
  Next p
  lngResult = DeviceIoControl_(hDrive, #IOCTL_STORAGE_QUERY_PROPERTY, udtQuery, SizeOf(udtQuery), @udtOut, SizeOf(udtout), @dwOutBytes, 0)
;   Debug "lngResult = " + Str(lngResult)
  If lngResult
    Debug "udtOut\Version = " + Str(udtOut\Version) ; размер структуры в байтах
    Debug "udtOut\Size = " + Str(udtOut\Size) ; размер структуры включая строковые данные
    Debug "udtOut\DeviceType = " + Str(udtOut\DeviceType) ; SCSI
    Debug "udtOut\DeviceTypeModifier = " + Str(udtOut\DeviceTypeModifier) ; SCSI
    Debug "udtOut\RemovableMedia = " + Str(udtOut\RemovableMedia) ; 1 = диск может быть извлечён
    Debug "udtOut\CommandQueueing = " + Str(udtOut\CommandQueueing) ; 1 - не выполнена команда SCSI
    Debug "udtOut\Bustype = " + Str(udtOut\Bustype) ; тип шины, к которой подключено устройство, т.е. флешка = #BusTypeUsb, обычный hdd = #BusTypeSata
    Debug "udtOut\RawPropertiesLength = " + Str(udtOut\RawPropertiesLength)
    Debug "udtOut\RawDeviceProperties = " + Str(udtOut\RawDeviceProperties)
    If udtOut\SerialNumberOffset
;       Debug "SerialNumber = " + PeekS(udtOut + udtOut\SerialNumberOffset, -1, #PB_Ascii)
      Debug "SerialNumber = " + LTrim(PeekS(udtOut + udtOut\SerialNumberOffset, -1, #PB_Ascii))
    EndIf
    If udtOut\VendorIdOffset
      Debug "VendorId = " + PeekS(udtOut + udtOut\VendorIdOffset, -1, #PB_Ascii)
    EndIf
    If udtOut\ProductIdOffset
      Debug "ProductId = " + PeekS(udtOut + udtOut\ProductIdOffset, -1, #PB_Ascii)
    EndIf
    If udtOut\ProductRevisionOffset
      Debug "ProductRevision = " + PeekS(udtOut + udtOut\ProductRevisionOffset, -1, #PB_Ascii)
    EndIf
  EndIf
EndIf
CloseHandle_(hDrive)
вывод
lngResult = 1
udtOut\Bustype = 7
udtOut\RemovableMedia = 1
udtOut\Version = 40
udtOut\DeviceTypeModifier = 0
udtOut\DeviceType = 0
udtOut\CommandQueueing = 0
udtOut\RawPropertiesLength = 2359296
udtOut\RawDeviceProperties = 0
SerialNumber = 5E0EE5504B90
VendorId = Kingston
ProductId = DataTraveler 2.0
ProductRevision = PMAP

[Цитировать]

    Smitis
  • 19136
  • Стаж: 5 лет 6 месяцев
  • Сообщений: 2
  • Репутация:0

    [+] [-]
Удобно сделать вызов OutputDebugString отдельной функцией, например такой (в одну строку, чтобы было удобнее копипастить): Procedure dbg(txt.s="") : OutputDebugString_("PURE: "+txt) : EndProcedure
Дополнительный префикс добавлен для удобства фильтрации сообщений в dbgview, а то часто левые проги отправляют туда сообщения и забивают экран ненужной информацией.
Плюс я ещё добавил dbg в Custom keywords и сделал их ярко красного цвета, чтобы выделялись ))
До кучи - понравился DebugView++ более навороченный, чем у Руссиновича. Есть сделанная мной портативная версия (+ портативный dbgview Руссиновича)

[Цитировать]

    valeriduss
  • 121
  • Стаж: 9 лет 3 месяца
  • Сообщений: 15
  • Репутация:0

    [+] [-]
sergeysvirid, уважаемый Сережа, простите за "дурацкий " вопрос.
Я хочу на флешку (или портабле HDD) поставить несколько ОС Linux .
Стандартный способ, сделать флешку GPT, разбить на партиции и далее как обычно . Это я понимаю.
Тут нет вопросов.
Теперь "дурацкий" вопрос.
Есть ли способ установить на одну партицию две и более ОС Linux.
С помощью grub4dos я устанавливал несколько ОС Linux. Это были Live ОС.
Флешка была MBR.
Сейчас все новые ОС Linux. работают и под UEFI.
Как быть ?
Если что-то непонятно изложил , извините.

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
Xubuntu-18.04 - (ubuntu+xfce) скачал 32-битную версию, чтобы скомпилировать 32-битные исполняемые файлы PureBasic. В отличии от многих других ubuntu-18 обозначена как поддерживаемая для установки PureBasic, на которой запустилось прям без единой запинки. А я пытался MX, Mint, Manjaro, ArchBang, нет чтобы сразу правильным путём пойти.
В общем всё что я делал для Linux на PureBasic перезалил с x32 версиями.
Можно Lubuntu, тоже самое. Вот только повторный запрос пакетов в один день может это заблокировало получение нескольких пакетов, поэтому лучше их один раз получить и запаковать для последующего использования (/var/cache/apt/archives/), если не планируется установка системы, а вместо этого подразумевается запуск ISO.

[Цитировать]

    cartmenezz
  • 1384
  • Стаж: 8 лет 6 месяцев
  • Сообщений: 526
  • Репутация:14

    [+] [-]
  • Откуда: Калининград
AZJIO, Здравствуйте aa может конечно в другом месте надо было спрашивать, извиняюсь заранее.
вопрос по вашей программе TextCorrection:
возникла необходимость сделать так чтобы под одним пользователем работало сразу два сочетания клавиш для смены раскладки клавиатуры (и Ctrl+Shift, и Shift+Alt), средствами винды это видимо не решается, только если для второго сочетания использовать доп.программу, которая будет перехватывать. А у меня и так уже стоит ваша утилита, вот и подумал реализовать с помощью нее. В настройках имеется пункт #8 "переключение на альтернативный язык", но к сожалению просто Shift+Alt программа не принимает, нужно ещё что-то нажать.
1) этот пункт то что мне нужно? переключение на альтернативную раскладку
2) раз программа не принимает сочетание, могу я просто в файле настроек вписать сочетание? и может тогда подскажете цифровой код для Shift+Alt ?

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
cartmenezz, Привет! В Windows считается сочетанием модификатор+ клавиша, модификатор Ctrl, Shift, Alt, Win, всё остальное клавиши. И сам элемент принятия клавиш тоже специальный виндовый, который позволяет то что заложено виндой. По этому у тех, у кого работают двойной Ctrl например, это работает через хук, то есть запускается программа отслеживания/перехватывания нажатий клавиш, но не блокируя на себя, а передавая в очереди дальше всем кто их отслеживает и проверяет что через не более чем пол-секунды проходит второе нажатие и происходит событие. То есть надо специально писать другого вида код, а у меня стандартный вариант. Альтернативная раскладка в проге это третий язык, например украинский. И мне конечно лень делать масштабную переделку.

[Цитировать]

    cartmenezz
  • 1384
  • Стаж: 8 лет 6 месяцев
  • Сообщений: 526
  • Репутация:14

    [+] [-]
  • Откуда: Калининград
83780И мне конечно лень делать масштабную переделку
ни в коем случае на это не намекал)) благодарю за ответ, перебьюсь с Win+Пробел

Страница 1 из 4


Показать сообщения:    

Текущее время: 28-Мар 17:09

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


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