Последние записи
- Чтение из файла большого размера (нехватка памяти)
- VBA excel: найти текст в файле Word и вставить в Excel
- Как убрать окно «Подтвердите повторную отправку формы»?
- Windows Driver Framework — подпись драйвера
- Функция GetCurrentProcessToken (processthreadsapi.h)
- With … do и вызов функции. Как получить указатель на сам объект?
- TChromium обработка клика
- Delphi 7: замостить TImage маленьким изображением
- Определить, что кнопка зажата сейчас
- ATmega128 — При появлении положительного фронта на входе PD3 запустить таймер-счётчик 0
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
17th
Окт
Как проверить вводимое значение.
Написал программу, в которой обрабатываются числа (тип Integer), необходимо проверить вводимые значения на соответствие типу Integer, если вводимые значения- не принадлежат типу Integer,тто вывести сообщение о некорректных вводимых данных..как это сделать?
6th
Окт
Как скопировать файлы?
Есть Listq : TStringList; где находится список файлов в виде
‘D:\Program Files\Acro\Writer\README.HTM’
и необходимо эти файлы скопировать в другой каталог. Подскажите как такое возможно осуществить? При этом необходимо автоматически переименовывать имена одинаковых файлов.
var F : TShFileOpStruct;i:integer;
begin
F.Wnd := 0;
F.wFunc := FO_COPY;
for i:=0 to Listq.count-1 do
FromFile:=FromFile+Listq[i]+#0;
FromFile:=FromFile+#0#0;
F.pFrom:=pchar(FromFile);
ToDir:=ToDir+#0;
F.pTo:=pchar(ToDir);
F.fFlags := FOF_RENAMEONCOLLISION;
result:=ShFileOperation(F) = 0;
end;
6th
Как расчитать время между нажатием и отпусканием кнопки мыши?
procedure TForm1.RzBitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
time1 := Time;
end;
procedure TForm1.RzBitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var h, m, s, ms: Word;
st: string;
d: Double;
begin
time2 := Time;
time3 := time2 – time1;
DecodeTime(time3, h, m, s, ms);
st := IntToStr(s) + ‘.’ + IntToStr(ms);
d := RoundTo(StrToFloat(st), -1);
label1.Caption := FloatToStr(d);
end;
5th
Окт
Как получить классы всех дочерних окон формы?
var s:string;
begin
SetLength(s,256);
SetLength(s,GetClassName(HWND,s[1],256));
Form1.Memo1.Lines.Add(s);
Result:=true;
end;
на кнопке пишем
EnumChildWindows(<хендл окна, у которого перечисляем>,@EnumClasses,0);
4th
Окт
Изменение курсора
Пишите процедуру типа
begin
Screen.Cursors[p] := LoadCursor(HInstance,s);
Image1.Cursor:=TCursor(p);
end;
Вместо Image1 Ваш элемент,для кот. должен появляться Ваш курсор.
Пример использования:
‘oval’ – имя курсора из файла *.res.
В коде формы подключите Ваш res-файл,например, {$R MyFile.RES}
Файл с ресурсами создаёте заранее,например в Image Editor (стандартный Борландовский: Меню Tool->Image Editor) – он будет содержать Ваши курсоры.
Если что-то не получится во вложении пример программы и скриншот. Писал 1,5-2 года назад,как курсовую. Тогда ещё много чего не знал(да и сейчас не всё знаю:),так что код очень корявый,но рабочий. Перед запуском программы скопируйте папку “КРАБ” на диск С.
КР(NEW)!!!.zip
3rd
Окт
Gecko. Как его использовать в дельфи?
Установка, полезные ссылки, различные решения проблем. Читать тему на форуме
3rd
Действия над числами в строке
вот такой вроде не сложный но в тоже время интересный вопрос, как сделать действия над числами если они все в одной строке и разделены знаками, например:
S:=’1+2+2-3+5-1=’;
var
z: Char;
ipos: Integer;
function StrToReal(chaine: string): Real;
var
r: Real;
Pos: Integer;
begin
Val(chaine, r, Pos);
if Pos > 0 then Val(Copy(chaine, 1, Pos – 1), r, Pos);
Result := r;
end;
function RealToStr(inreal: Extended; digits: Byte): string;
var
S: string;
begin
Str(inreal:0 : 0, S);
realToStr := S;
end;
procedure NextChar;
var
s: string;
begin
if ipos > Length(SMyExpression) then
begin
z := #9;
Exit;
end
else
begin
s := Copy(SMyExpression, ipos, 1);
z := s[1];
Inc(ipos);
end;
if z = ‘ ‘ then nextchar;
end;
function Expression: Real;
var
w: Real;
function Factor: Real;
var
ws: string;
begin
Nextchar;
if z in [‘0′..‘9′] then
begin
ws := ”;
repeat
ws := ws + z;
nextchar
until not (z in [‘0′..‘9′, ‘.’]);
Factor := StrToReal(ws);
end
else if z = ‘(’ then
begin
Factor := Expression;
nextchar
end
else if z = ‘+’ then Factor := +Factor
else if Z = ‘-’ then Factor := -Factor;
end;
function Term: Real;
var
W: Real;
begin
W := Factor;
while Z in [‘*’, ‘/’] do
if z = ‘*’ then w := w * Factor
else
w := w / Factor;
Term := w;
end;
begin
w := term;
while z in [‘+’, ‘-’] do
if z = ‘+’ then w := w + term
else
w := w – term;
Expression := w;
end;
begin
ipos := 1;
Result := RealToStr(Expression, digits);
end;
вызов:
s:=calculate(s,0);
3rd
Как получить список отмеченных Checkbox’ов
Как получить список отмеченных Checkbox’ов. Нужно, чтобы список отображался в Memo или ListBox.
i: integer;
begin
for i := 0 to Form1.ControlCount – 1 do
begin
if (Form1.Controls[i] is TCheckBox) then
if (Form1.Controls[i] as TCheckBox).Checked then
Memo1.Lines.Add((Form1.Controls[i] as TCheckBox).Caption
1;
end;
end
3rd
Вставить иконку в ячейку DBGridEh
Надо показать иконку в ячейке вместе с текстом. То есть слева в ячейке иконка, а за ней текст.
begin
if (DataCol = 0) then
begin
Icon := TIcon.Create;
Icon.LoadFromFile(‘user1_16.ico’);
cc := DBGridEh1.Canvas;
cc.FillRect(rect);
cc.Draw(Rect.Left, Rect.Top, Icon);
cc.TextOut(Rect.Left + 20, Rect.Top, DBGridEh1.DataSource.DataSet.Fields[0].AsString);
Icon.Free;
end;
1st
Окт
Загрузка BMP в Simple Graph и сохранение в BMP формат
function TSimpleGraph.GetAsMetafile: TMetafile;
var
I: Integer;
GraphRect: TRect;
MetaCanvas: TMetafileCanvas;
begin
GraphRect := GraphBounds;
Result := TMetafile.Create;
Result.Width := GraphRect.Right - GraphRect.Left;
Result.Height := GraphRect.Bottom - GraphRect.Top;
MetaCanvas := TMetafileCanvas.Create(Result, 0);
try
SetViewportOrgEx(MetaCanvas.Handle, -GraphRect.Left, -GraphRect.Top, nil);
for I := 0 to Objects.Count - 1 do
with Objects do if IsLink then Draw(MetaCanvas);
for I := 0 to Objects.Count - 1 do
with Objects do if not IsLink then Draw(MetaCanvas);
finally
MetaCanvas.Free;
end;
end;
procedure TSimpleGraph.SaveAsMetafile(const Filename: String);
var
Metafile: TMetafile;
begin
Metafile := GetAsMetafile;
try
Metafile.SaveToFile(Filename);
finally
Metafile.Free;
end;
end;
У SG есть метод SaveAsMetafile – в метафайл.
Вроде как можно свой метод добавить с TBitmap.
А вообще в BMP сохранять нерационально – картинка может несколько
мегабайт весить, – сжатия,то нет никакого. ИМХО,лучше что-то типа JPEG
применять (подключаете стандартный модуль JPEG).
Облако меток
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 (Компьютерное железо)