Последние записи
- Windows 10 сменить администратора
- Рандомное слайдшоу
- Событие для произвольной области внутри TImage
- Удаление папки с файлами
- Распечатка файла
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
10th
Ноя
Найти все диски
Использую такую вот процедуру. Но не покидает ощущение, что есть более прямой метод получения списка дисков. Вопрос: существует?
Procedure Disks(ss:TStrings);
var
s1:string[2];
c:char;
begin
s1:='A:';
ss.Clear;
A.SetTextBuf(PChar_Computer);
For c:='A' to 'Z' do begin
s1[1]:=c;
If DirectoryExists(s1) then begin
ss.Add(s1);
End;
End;
end;
5th
Ноя
Игра Лабиринт (Console Edition)
Хочу представить вашему вниманию, мою «игрушку»!
Ну шучу конечно! Просто вдруг, кому то делать будет нечего!
Отвлечётся!
Вообщем суть проста!
Генерируется лабиринт, и вы должны его пройти!
Правила:
Вы управляете вот этим «юнитом» : &
Вам нужно сначало найти «ключ» : @
После чего дойти до «двери»: 0
Вот как-то так
Управление:
Вверх — w
Вних — s
Влево — a
Вправо -d
Esc — выход
Пробел — Генерация нового лабиринта!
Вообщем как генерируются лабиринты я не знаю!
Поэтому алгоритм придумал сам!
25th
Окт
Почему не работает функция CharToOem
Embarcadero 11 под Windows 10.
Нужно преобразовать строки ANSI в OEM.
В Delphi 7 под Windows XP всё прокатывало. Сей час же функция возвращает ошибку . Господа, не подскажете в чём засада?
20th
Окт
Можно ли запускать приложение написанное на Java в браузере
Ищу техническое решение, чтобы делать приложение для андроид, чтобы это же приложение можно было запускать в браузере с минимальными изменениями.
Я так понимаю под андроид пишут на Java.
Вопрос.
Можно ли потом приложение написанное для андроид на Java с минимальными изменениями запустить на персональном компьютере в браузере?
Чтобы пользователям не нужно было ничего ставить себе на компьютер и они без проблем бы пользовались этим приложением на сайте через браузер Хром.
(читать всё…)
16th
Окт
Изменить в word файле шрифт
использую код:
import docx
doc = docx.Document('example.docx')
# изменяем размер шрифта для всех параграфов
for paragraph in doc.paragraphs:
paragraph.size = 18
# изменяем цвет шрифта для всех параграфов
for paragraph in doc.paragraphs:
paragraph.color = 'BLACK'
doc.save('restyled.docx') # сохранение результата
ошибок нет и файл пересохраняется, но результата нет, почему? как исправить?
12th
Окт
Удалить лишнее слева и справа от конкретных символов (Microsoft Office Excel)
Надо удалить в выделенной ячейке (может находится в любом месте листа) всё содержимое слева от конкретного символа (в примере #$#) и все справа от конкретного символа (в примере $#$).
20th
Сен
Как из ip адреса вывести последние цифры
как играя со строками
из ip адреса вывести последние цифры
s :=Copy(s, 1, Pos(‘.’, s));
скаежем ip Адрес у ПК 192.168.108.14
нужно вывести 108.14
или 11.14.105.15
то выводом 105.15
причем нужны оба варианта 105.15 и 10515
15th
Сен
Вставка символа Unicode в RichEdit в Delphi 7
Как вставить с помощью ButtonClick символ диаметра в поле RichEdit. Не понимаю как сделать, чтобы Delphi 7 понимал Unicode. Объясните, пожалуйста….
У меня программа, в которой вводится текст в простой Edit. Нужно, с помощью кнопки Button вставлять символ диаметра в место, где находится курсор. Почитав я так понял что в простом Edit это нельзя сделать, т.к. не поддерживает символы из Unicode.
procedure TMainForm.diametr1Click(Sender: TObject);
var diam1: WideString;begin
//diam1:=WideChar(#0216);
//diam1:=WideChar($00C18);
diam1:=WideChar($#2300);
//diam1:=WideChar(#$U+2300);diam.SetSelTextBuf(PChar(diam1));
end;
10th
Сен
Как поменять иконки все папок Windows 11 со стандартной желтой на свою?
Как поменять иконки все папок Windows 11 со стандартной желтой на свою?
По одной папке умею менять. Хочу поменять все и плюс новые когда будут создавать, чтобы с моей иконкой создавались.
5th
Сен
WinIO для чтения/записи портов I/O и физической памяти
Есть подписанный ЭЦП драйвер WinIo 3.0 для доступа к портам и мапинга физической памяти для 32/64-разрадяных Windows. Драйвер с открытым исходным кодом и является весьма популярным.
На Delphi 7 я воспроизвёл код установки драйвера в системе и обращение к нему через DeviceIoControl. Драйвер успешно зарегистрировался в Service Control Manager, запустился через StartService, успешно возвратил хэндл через CreateFile и даже смог считать и писать порты ввода-вывода, как под Windows 11 x64, так и Windows 7 32-bit.
Однако если попытаться замапить память через MapPhysToLin, то драйвер возвращает совсем не то, что нужно. Код мапинга очень простой и ошибки здесь нет:
type
TtagPhysStruct = packed record
dwPhysMemSizeInBytes : Int64; //Number of bytes to map
pvPhysAddress : Int64; //Physical address to be mapped
PhysicalMemoryHandle : Int64; //Handle to a section returned by ZwOpenSection
pvPhysMemLin : Int64; //Pointer to a variable that receives the base address of the view
pvPhysSection : Int64;
end;
function MapPhysToLin(var PhysStruct: TtagPhysStruct) : Int64;
var
dwBytesReturned : DWORD;
begin
if not DeviceIoControl(hDriver,
IOCTL_WINIO_MAPPHYSTOLIN, //IOCTL 0x810
@PhysStruct,
SizeOf(TtagPhysStruct),
@PhysStruct,
SizeOf(TtagPhysStruct),
dwBytesReturned,nil)
then Result:=0
else Result:=PhysStruct.pvPhysMemLin;
Поэтому я решился попробовать замапить память через прилагаемую к драйверу библиотеку WinIo32.dll, которая экспортирует функцию GetPhysLong. Данная функция возвращает значение типа DWORD, записанное по определённому адресу в физической памяти.
var
dllGetPhysLong: function (pbPhysAddr: PByte; out pdwPhysVal: PDWORD): Boolean; stdcall;
dllInitializeWinIo: function : Boolean; stdcall;
procedure TForm1.Button2Click(Sender: TObject);
var
hLibrary: THandle;
hBuffer : PDWORD;
begin
hBuffer:=0;
hLibrary:=LoadLibrary('WinIo32.dll');
if hLibrary > HINSTANCE_ERROR then
begin
@dllInitializeWinIo:=GetProcAddress(hLibrary, 'InitializeWinIo');
@dllGetPhysLong:=GetProcAddress(hLibrary, 'GetPhysLong');
if @dllInitializeWinIo <> nil then
if dllInitializeWinIo then
if @dllGetPhysLong <> nil then
begin
if dllGetPhysLong(Ptr($C0000),hBuffer) then
ShowMessage(IntToHex(DWORD(hBuffer),8))
else ShowMessage('Error '+IntToHex(GetLastError,8));;
end;
FreeLibrary(hLibrary);
end;
end;
В коде выше я считываю 4 байта под адресу 0xC0000 (видеопамять). По этому адресу записано 0хE972AA55, которое успешно и возвращается при нажатии на кнопку. Но юзать DLL-ку мне не хочется. Хотелось бы воспроизвести все функции в своём коде самостоятельно.
Есть подозрение, что в С++ своя особенная упаковка структуры TtagPhysStruct:
#pragma pack(push)
#pragma pack(1)
struct tagPhysStruct
{
DWORD64 dwPhysMemSizeInBytes;
DWORD64 pvPhysAddress;
DWORD64 PhysicalMemoryHandle;
DWORD64 pvPhysMemLin;
DWORD64 pvPhysSection;
};
#pragma pack(pop)
#endif
В общем, если кому-то уже ранее удалось портировать WinIo на Delphi, то я был бы рад любой помощи!
Облако меток
css реестр ассемблер timer SaveToFile ShellExecute программы массив советы word MySQL SQL ListView pos random компоненты дата LoadFromFile form база данных сеть html php RichEdit indy строки Win Api tstringlist Image мысли макросы Edit ListBox office C/C++ memo графика StringGrid canvas поиск файл Pascal форма Файлы интернет Microsoft Office Excel excel winapi журнал ПРОграммист DelphiКупить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)