08 Juni 2009

Tip dan Trik Delphi (8 Juni 2009)

Disable salah satu Radio Button pada TRadioGroup
Pada komponen TRadioGroup terdapat satu atau lebih item yang berupa Radio Button. Skrip berikut men-disable Radio Button kedua (indeks pertama adalah 0).
TRadioButton(RadioGroup1.Controls[1]).Enabled := False;

Pindah ke kontrol berikutnya dengan tombol Enter
Didalam suatu form terdapat banyak kontrol/komponen visual. Tiap user menekan tombol Enter pindah ke kontrol berikutnya. Ada cara mudah tanpa harus melakukan pengecekan per kontrol. Pertama set properti Form.KeyPreview ke True. Kedua pada event Form.OnKeyPress tambahkan skrip ini.
if Key = #13 then SelectNext(ActiveControl, True, True);

Mendapatkan direktori Windows
uses System, SysUtils, Windows;

function GetWindowsDir: string;
var
  dir: array [0..MAX_PATH] of Char;
begin
  GetWindowsDirectory(dir, MAX_PATH);
  Result := string(dir);
end;

Mendapatkan direktori sistem Windows
uses System, SysUtils, Windows;

function GetWindowsSystemDir: string;
var
  dir: array [0..MAX_PATH] of Char;
begin
  GetSystemDirectory(dir, MAX_PATH);
  Result := string(dir);
end;

Mendapatkan direktori Windows Temp
uses System, SysUtils, Windows;

function GetWindowsTempDir: string;
var
  dir: array [0..MAX_PATH] of Char;
begin
  GetTempPath(SizeOf(dir) - 1, dir);
  Result := string(dir);
end;

Mendapatkan direktori Application Data user
uses System, Windows, SHFolder;

function GetApplicationDataDir: string;
var
  dir: array [0..MAX_PATH] of Char;
begin
  SHGetFolderPath(0, CSIDL_LOCAL_APPDATA, 0, 0, dir);
  Result := string(dir);
end;

Memainkan file suara
Untuk memainkan file suara gunakan unit MMSystem.
Memainkan file suara:
PlaySound('C:\ sound.wav', 0, SND_NODEFAULT);

Untuk menghentikan sebelum selesai:
PlaySound(nil, 0, SND_NODEFAULT);

Memainkan file suara secara asynchronous:
PlaySound('C:\ sound.wav', 0, SND_ASYNC or SND_NODEFAULT);

Tidak ada komentar:

Posting Komentar