
Последние записи
- Запуск сторонней программы с передачей строки и ожиданием ее завершения
- Перемешать строки
- Поэлементное сложение списков с вложенными словарями
- Найти все диски
- Игра Лабиринт (Console Edition)
- Почему не работает функция CharToOem
- Можно ли запускать приложение написанное на Java в браузере
- Изменить в word файле шрифт
- Удалить лишнее слева и справа от конкретных символов (Microsoft Office Excel)
- Как из ip адреса вывести последние цифры

Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk

Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
17th
Май
Обращение к свойству компонента не зная его имени
Примерно такая ситуация – есть n компонентов TImage.Статических.Хочу обратиться к свойству tag рандомно выбранного компонента.Возможно такое?(можно хранить их в массиве конечно и создавать динамически но мне желательно без этого)…
...
var
RaspMatF: TRaspMatF;
cbet : array of integer;
.....
for i := 0 to RaspMatF.ComponentCount - 1 do // перебираем на форме все компоненты
begin
if (RaspMatF.Components is TCheckBox) and TCheckBox(RaspMatF.Components).Checked then // и если выбранный компонент является чекбоксом, и он выбра(стоит галочка)
begin
SetLength(cbet, (length(cbet)+1)); // то мы увеличиваем размер массива на 1
cbet[High(cbet)] := TCheckBox(RaspMatF.Components).Tag; // добавляем значение в массив
end;
end;
таким образом я записывал в массив значения Tag выбранных компонентов CheckBox
17th
Гауссовское распределение
К примеру, нормальное (Гауссово) строится используя математическую хитрость о том, что сумма равномерно-распределенных случ. величин – есть нормальная случ. величина.
{ Моделирование нормального распределения }
function Norm: Real;
var
s: Real;
i: Integer;
begin
s := 0;
for i := 1 to Nmax do s := s + Random;
norm := s-Nmax/2;
end;
{ Моделирование распределения скоростей Максвелла }
procedure Maxwell(disp,norm:real;var vx,vy:array of Real);
var
i: integer;
begin
for i := 1 to Nmax do begin
vx := norm*disp;
vy := norm*disp;
end;
end;
Максвеловское (на самом деле это очень похожее на него) приведено для примера. Как управлять дисперсией.
С нормальным немного почесать затылок и можно будет сместить и среднее значение и среднее отклонение.
ЗЫ: Random – встроенный генератор случайных чисел, выдает случайную величину с равномерной плотностью распределения. если что ))
17th
Фреймы HTML
Хоть от фреймов и желательно отказаться, но появляются в сети вопросы, о работе с ними.
Пример страницы с четырьмя фреймами.
<!--- содержимое файла index.html ---!>
<frameset rows="100,*,20">
<frame src="head.html">
<frameset cols="200,*">
<frame src="menu.html">
<frame src="content.html">
</frameset>
<frame src="footer.html">
</frameset>
<!--- содержимое файла head.html ---!>
шляпго
<!--- содержимое файла menu.html ---!>
<a href="http://url">гиперссылка(любая)</a>
<!--- содержимое файла content.html ---!>
текст(любой)
<!--- содержимое файла footer.html ---!>
<center>О_о</center>
PS: в данном примере все файлы должны лежать в одной папке.
17th
Движение бильярдного шара
Простенькая наработка для имитации движения бильярдного шара.
uses crt,graph;
var gd,gm:integer;
dx,dy:integer;
x1,y1,radius:integer;
begin
gd:=detect;
initgraph(gd,gm,' ');
setcolor(green);
rectangle(10,10,610,460);
x1:=50;y1:=200;
radius:=10;
dx:=3;dy:=2;
setcolor(yellow);
circle(x1,y1,radius);
repeat
setcolor(0);
circle(x1,y1,radius);
if x1>610 then dx:=-dx;
if x1<10 then dx:=-dx;
if y1>470 then dy:=-dy;
if y1<10 then dy:=-dy;
x1:=x1+dx;y1:=y1+dy;
setcolor(yellow);
circle(x1,y1,radius);
delay(10000);
until (x1-10<=10) and (y1+10>=47) or
(x1-10<=10) and (y1-10<=10) or
(x1+10>=610) and (y1-10<=10) or
(x1+10>=610) and (y1+10>=470);
readln;
closegraph;
end.
16th
Май
Lazarus: Полная кроссплатформенность?
Доброе время суток.
На этот раз, меня интересует среда программирования Lazarus. А именно: компиляция при ее помощи проектов Delphi под Mac OS X и Linux. Насколько я слышал, Лазарус не всегда их корректно компилирует. Это вроде бы связано с некоторыми библиотеками (так во всяком случае я читал). Меня интересует так ли это и насколько вообще среда Lasarus пригодна для переноса программ на Delphi под другие ОС?
15th
Май
Как программно отправить CTRL+V?
raxp:
а нескольких кнопок послать нажатие можно так:
var msg: TMessage;
…
msg.LParamLo:= MOD_CONTROL;
msg.LParamHi:= VK_CONTROL or ord(’V’);
PostMessage(handle_window, WM_HOTKEY, 0, Msg.LParam);
14th
Май
Прерывание 1ch
DronSC:
Cалкнулся с такой вот проблеммой:
при создавание нового вектора 1сh я не могу не вводить не выводить символы(буквы,цифры…).
airyashov:
в начале программы устанавливайте текстовый режим принудительно, после в XP писать в видеопамять можно писать
вот примерmov ax,3
int 10h
13th
Май
Рассылка. Выпуск 58.
От ведущего.
Добрый вечер дорогие читатели. Читайте в сегодняшнем номере рассылки, обзор интересных тем за неделю на форуме программистов, а так же одна статья из журнала “ПРОграммист”.
12th
Май
Закрытие чужого процесса WinApi
Одно из многочисленных готовых решений:
function ProcessTerminate(dwPID:Cardinal):Boolean;
var
hToken:THandle;
SeDebugNameValue:Int64;
tkp:TOKEN_PRIVILEGES;
ReturnLength:Cardinal;
hProcess:THandle;
begin
Result:=false;
// Добавляем привилегию SeDebugPrivilege
// Для начала получаем токен нашего процесса
if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES
or TOKEN_QUERY, hToken ) then
exit;
// Получаем LUID привилегии
if not LookupPrivilegeValue( nil, 'SeDebugPrivilege', SeDebugNameValue )
then begin
CloseHandle(hToken);
exit;
end;
tkp.PrivilegeCount:= 1;
tkp.Privileges[0].Luid := SeDebugNameValue;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
// Добавляем привилегию к нашему процессу
AdjustTokenPrivileges(hToken,false,tkp,SizeOf(tkp),tkp,ReturnLength);
if GetLastError()< > ERROR_SUCCESS then exit;
// Завершаем процесс. Если у нас есть SeDebugPrivilege, то мы можем
// завершить и системный процесс
// Получаем дескриптор процесса для его завершения
hProcess := OpenProcess(PROCESS_TERMINATE, FALSE, dwPID);
if hProcess =0 then exit;
// Завершаем процесс
if not TerminateProcess(hProcess, DWORD(-1))
then exit;
CloseHandle( hProcess );
// Удаляем привилегию
tkp.Privileges[0].Attributes := 0;
AdjustTokenPrivileges(hToken, FALSE, tkp, SizeOf(tkp), tkp, ReturnLength);
if GetLastError() < > ERROR_SUCCESS
then exit;
Result:=true;
end;
12th
Прочитать значение раздела в реестре
uses Registry;
var
Reg: TRegistry;
Count: Integer;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKeyReadOnly(’\Software\Microsoft\Windows\CurrentVersion\Run’);
Reg.GetValueNames(Memo1.Lines);
for Count := 0 to Memo1.Lines.Count -1 do
Memo1.Lines.Strings[Count] := Memo1.Lines.Strings[Count] + ‘ : ‘
+ Reg.ReadString(Memo1.Lines.Strings[Count]);
Reg.Free;
end;
Облако меток
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 форма Файлы интернет excel Microsoft Office Excel winapi журнал ПРОграммист DelphiКупить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту

пеллетные котлы

Пеллетный котел Emtas

Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)