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

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

    [+] [-]
ChkDskGui (PureBasic) Исходник + EXE, v4.2 (x86, x64)Скачать yadi.sk upload.eeвременная версия


Последний раз редактировалось: AZJIO (2024-11-07 09:05), всего редактировалось 44 раз(а)

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

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

    [+] [-]
Orochi, попробуй с ini-файлом в шапке. Можно задать размер окна, шрифта, цвета консоли.


Последний раз редактировалось: AZJIO (2019-01-14 18:39), всего редактировалось 2 раз(а)

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

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

    [+] [-]
AZJIO
60977А вот если я делаю чтение параметра в реестре, то уже не указываю тип, и если я ранее задал числовой формат некой ширины, то задав соответствующую переменную я получу данные и они будут соответствовать формату без конвертации.
В API нет такой функции, она возвращает RAW данные и их тип, конвертация осуществляется самим программистом.
Я, например, обычно конвертирую любые данные в тип string, с которым достаточно удобно работать.
Пример
Procedure.s OffRegGetValue(hKey, Key.s, ValueName.s)
  Protected pcbData=0,Type=-1,i,GetValue.s=""
  If CallFunction(OffReg_dll, "ORGetValue", hKey, @Key.s , @ValueName, @Type, #NUL , @pcbData)=0
    If pcbData<>0
      *pvData=AllocateMemory(pcbData)
      CallFunction(OffReg_dll, "ORGetValue", hKey, @Key.s , @ValueName, @Type, *pvData, @pcbData)
      Type & $ffffffff
      Select Type
        Case #REG_SZ , #REG_EXPAND_SZ
          GetValue=PeekS(*pvData,pcbData)
        Case #REG_DWORD
          GetValue="0x" + RSet(Hex(PeekI(*pvData)),8,"0")
        Case #REG_BINARY
          For i = 0 To pcbData - 1
            GetValue + RSet(Hex(PeekB(*pvData + i) & $ff),2,"0")
          Next
      EndSelect
      FreeMemory(*pvData)
    EndIf
  EndIf
  ProcedureReturn GetValue
EndProcedure
В Autoit есть свой встроенный набор функций, который преобразует raw данные в нужный тип, но это функции именно Autoit.

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

    Gemostarter
  • 15956
  • Стаж: 7 лет 8 месяцев
  • Сообщений: 323
  • Репутация:35

    [+] [-]
60985тип string, с которым достаточно удобно работать
Та ну... Работа с binary как с hex-строкой тот ещё мазохизм. Пробовал несколько месяцев назад, да и вернулся к указателям.
Реально нужно это только при импорте/экспорте reg-файлов.

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

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

    [+] [-]
Gemostarter,
60986Та ну... Работа с binary как с hex-строкой тот ещё мазохизм.
Так я этого и не предлагаю.
Преимущество string - не нужно думать о размере, а конвертануть при необходимости строку в binary и наоборот никаких проблем.

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

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

    [+] [-]
Что-то сменить шрифт не получается, обновил временную ссылку. С одной стороны прога системная и не нужны навороты лишние, с другой стороны кому то удобней задать размеры чтобы поместились все диски в окно, а не 4. Она без ini работает без проблем и не пытается создавать ini. И просто ради экспериментов, и шрифт мне мелкий не нравится. Просто попробовал Arial надеясь что строки сожмутся, а они вообще не реагируют. Хотя частично реагируют между системным и Consolas.

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

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

    [+] [-]
Разобрался со шрифтом. Надо в ini убрать кавычки и всё станет рабочим.

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

    Orochi
  • 14100
  • Стаж: 8 лет 5 месяцев
  • Сообщений: 218
  • Репутация:0

    [+] [-]
60984попробуй с ini-файлом (временная версия). Можно задать размер окна, шрифта, цвета консоли.
Отлично. Спасибо.
Параметры WinW и WinH не работают. Для ChkDskGui_x64.exe, нужно создать ChkDskGui_x64.ini, а то один ChkDskGui.ini не универсален.
Было бы лучше, если при растягивание окна программы, новые параметры WinW и WinH сохронялись в ini.
Новые улучшения очень понравились.

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

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

    [+] [-]
Orochi
Для ChkDskGui_x64.exe, нужно создать ChkDskGui_x64.ini, а то один ChkDskGui.ini не универсален.
так и есть. Не знаю когда ты качал, но я давно уже выложил с ChkDskGui_x64.ini и кстати так было изначально, просто я забыл сказать что нужен ChkDskGui_x64.ini. В общем ini должен называться также как название проги иначе не увидит его.
rgho.st затупил, то ли вирус нашёл, батник выкинул, всё равно не закачивает, кладу пока на file.sampo.ru
Что нового )))) CHM. Тоже критикуйте.
Параметры WinW и WinH не работают
как раз в справке я написал в том числе и по параметрам. Я указал максимальные/минимальные размеры, в которые должны уместится много дисков, поэтому если укажешь больше, то скинутся в стандартные. Вроде я знаю что даже если указать запредельные размеры окно не увеличится более размера экрана, хотя для многоэкранного это не так. И давно уже есть "На весь экран". Но всё это лишнее.
На повестке думаю делать ли изменение списка дисков при подключении отключении. Там просто диски определяются на старте, а список после и получается всё это надо в функцию и получается что гуи откроется даже если диски не найдены (и надо учитывать условия когда массив с 0 элементов), а сейчас если не найдены, то мессага и закрытие проги.
Ещё добавить копирование строки состояния со вставкой паузы, чтобы можно было использовать с Win+R
Ещё прыжок в просмотр лога или описать его в справке
новые параметры WinW и WinH сохронялись в ini.
сделать можно, но прога в идеале не должна писать на диск, вдруг она на диске который на грани падения. Хотя в LiveCD я сначала копирую на рам-диск. В общем не уверен что надо это делать.

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

    Orochi
  • 14100
  • Стаж: 8 лет 5 месяцев
  • Сообщений: 218
  • Репутация:0

    [+] [-]
61013как раз в справке я написал в том числе и по параметрам. Я указал максимальные/минимальные размеры, в которые должны уместится много дисков, поэтому если укажешь больше, то скинутся в стандартные.
Понятно. Не справку, не ChkDskGui_x64.ini не видел в архиве, когда качал версию с ini из твоего поста выше. Ты сейчас убрал линк. В архиве, то что в шапке, всё нормально.
61013сделать можно, но прога в идеале не должна писать на диск, вдруг она на диске который на грани падения.
Согласен. Не подумал про это.
Спасибо за обновление. ay

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

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

    [+] [-]
Orochi, можно добавить опцию в ini позволяющую включить режим сохранения. И далее кто как сам себе выбирает. В любом случае мой вариант редкая ситуация, так как в LiveCD я скопирую на рам-диск. Да и просто прога не сможет проверить диск на котором она находится, а значит её надо запускать с флешки или с телефона, которые обычно заранее в хорошем состоянии. В общем не исключаю сделать возможность сохранения размеров окна, позиции и возможно галок на дисках (перечисления по критерию буквы), хотя вряд ли можно прогнозировать поломку. У меня уже есть в AutoIt3 функции проверки валидности координат и перемещение в рабочую область при несоответствии, может переделаю, там всего лишь математические рассчёты. Но не задерживать дыхание, выходные закончились...

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

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

    [+] [-]
Обновил! Добавил сохранение координат и размера окна.
Исправил ошибку некритическую:
Я искал инфу по параметрам autocheck и не нашёл.
"autocheck autochk *" стандартный вариант, когда система упала и это было связано с диском и система проверяет все диски на запуске Windows
"autocheck autochk /K:CD *" - добавлен игнор дисков, а в остальном тоже самое, требуется сбой
"autocheck autochk /p \??\C:" - принудительная проверка диска C
Но прошлый раз у меня флешка просто была с флагом сбоя и команда "autocheck autochk /K:CD *" сработала на проверку. Но запуская опять тест и уже не проверяет. Поэтому добавил /p
"autocheck autochk /p /K:CD *" - и заработала принудительная проверка в 3 этапа с игнором указанных дисков.
В этом и есть исправление - добавление /p для принудительной проверки.

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

    Joker-2013
  • 1039
  • Стаж: 9 лет 5 месяцев
  • Сообщений: 2053
  • Репутация:120

    [+] [-]
  • Откуда: из прошлого
AZJIO, я не понял...
Это утиль теперь включает лишь системную дефрагментацию (задачу)
А сама не дефрагментирует с помощью консольной утилиты?

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

    Albert
  • 1131
  • Стаж: 9 лет 4 месяца
  • Сообщений: 160
  • Репутация:12

    [+] [-]
AZJIO , можно ли убрать из списка дисков FDD. А то утилита переживает, что не сможет с ним совладать, и спрашивает совета: Что делать? ab
Мне системник с FDD попался сегодня случайно, похоже таких не осталось, можно на эту тему ничего не предпринимать.

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

    zdoba
  • 138
  • Стаж: 9 лет
  • Сообщений: 357
  • Репутация:22

    [+] [-]
  • Откуда: Россия
Albert, Привет. Проверил на работе с FDD - ничего не спрашивает. Стоит Windows 7x32.

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

    Albert
  • 1131
  • Стаж: 9 лет 4 месяца
  • Сообщений: 160
  • Репутация:12

    [+] [-]
zdoba, сегодня попытаюсь ещё раз получить доступ к тому компьютеру и сделать скриншот.

Страница 11 из 34


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

Текущее время: 28-Ноя 14:35

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


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