یادداشت های برنامه نویس

تجربیات و سورس کدهای رایگان در زمینه برنامه نویسی دلفی و دیتابیس ها

یادداشت های برنامه نویس

تجربیات و سورس کدهای رایگان در زمینه برنامه نویسی دلفی و دیتابیس ها

لیست دستگاههای صدا و Capture



uses System.SysUtils, System.Types, System.UITypes, System.Rtti, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.Layouts, FMX.Memo, FMX.Media; type TForm3 = class(TForm) Button1: TButton; Memo1: TMemo; Label1: TLabel; Button2: TButton; Label2: TLabel; Memo2: TMemo; procedure Button1Click(Sender: TObject); private { Private declarations } NumberOfDevices : integer; public { Public declarations } end; implementation {$R *.fmx} uses System.TypInfo; procedure TForm3.Button1Click(Sender: TObject); var i : integer; begin // get the number of audio and video capture devices - if any NumberofDevices := TCaptureDeviceManager.Current.Count; Label1.Text := 'Devices: '+IntToStr(NumberOfDevices); Memo1.Lines.Clear; // for each capture device, display the index, name, media type and the state for i := 0 to NumberOfDevices-1 do begin Memo1.Lines.Add( IntToStr(i) + ': "' + TCaptureDeviceManager.Current.Devices[i].Name + '", Type: ' + GetEnumName(System.TypeInfo(TMediaType), Ord(TCaptureDeviceManager.Current.Devices[i].MediaType)) + ', State: ' + GetEnumName(System.TypeInfo(TCaptureDeviceState), Ord(TCaptureDeviceManager.Current.Devices[i].State)) ); end; end;

آیا فایل در حال استفاده است؟

function IsFileInUse(FileName: TFileName): Boolean;
var
  HFileRes: HFILE;
begin
  Result := False;
  if not FileExists(FileName) then Exit;
  HFileRes := CreateFile(PChar(FileName),
                         GENERIC_READ or GENERIC_WRITE,
                         0,
                         nil,
                         OPEN_EXISTING,
                         FILE_ATTRIBUTE_NORMAL,
                         0);
  Result := (HFileRes = INVALID_HANDLE_VALUE);
  if not Result then
    CloseHandle(HFileRes);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  if IsFileInUse('d:\saeed\saeed.exe') then
    ShowMessage('File is in use.');
  else
    ShowMessage('File not in use.');
end;

highlight آیتم های Listbox هنگام حرکت ماوس

procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  p: TPoint;
begin
  p.x := x;
  p.y := y;
  ListBox1.ItemIndex := ListBox1.ItemAtPos(P, True);
end;

UNdo در Memo وmemoField

Memo1.Perform(EM_UNDO, 0, 0);


تشخیص UNdo (یعنی متن تغییر کرده)



ButtonUndo.Enabled := Memo1.Perform(EM_CANUNDO, 0, 0);
ButtonUndo.Enabled := Memo1.CanUndo; 



پاک کردن حافظه Undo

  Memo1.Perform(EM_EMPTYUNDOBUFFER, 0, 0);

Memo1.ClearUndo; // in Delphi 4 or higher

انتخاب همه رکوردها DBgrid

برای انتخاب همه رکوردها در dbgrid از کد زیر استفاده کنید


function GridSelectAll(Grid: TDBGrid): Longint;
begin
  Result := 0;
  Grid.SelectedRows.Clear;
  with Grid.DataSource.DataSet do
  begin
    First;
    DisableControls;
    try
      while not EOF do
      begin
        Grid.SelectedRows.CurrentRowSelected := True;
        Inc(Result);
        Next;
      end;
    finally
      EnableControls;
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  GridSelectAll(DBGrid1);
end;

خبر کردن کاربر در حالتی کمینه بودن برنامه

وقتی می خواهید موضوعی را به کاربر اطلاع بدهید و برنامه در حالت مینیمایز است(مثل پنجره های چت یاهو مسنجر)
از کد زیر میتونید استفاده کنید


FlashWindow(Handle, True); // فرم فعلی
 
FlashWindow(Application.Handle, True);//

سریال برای نصب دلفی XE3

سریال: MAFA-A3D7PD-FJBBAE-FACN