Saturday, May 7, 2011

Membuat Kamus/Dictionary

By : Zephio
//Bagian Data
unit Data;

interface

Uses
   IniFiles, SysUtils, Forms;

procedure Translate;

var
   Ini : TIniFile;

implementation

procedure Translate;
begin
try
   Ini := TIniFile.Create(ChangeFileExt(Application.ExeName,'.zsd'));
// Jawa - Indonesia
   Ini.WriteString('Zephio Soft - 2010', 'Koen', 'Kamu, Anda');
   Ini.WriteString('Zephio Soft - 2010', 'Aku', 'Saya, Aku');
// Indonesia - Jawa
   Ini.WriteString('Zephio Soft - 2010', 'Saya', 'Aku, Awakku');
   Ini.WriteString('Zephio Soft - 2010', 'Kamu', 'Koen, Kowe, Awakmu, Sampeyan');
 finally
   Ini.Free;
 end;
end;

end.
 
 
//Engine
unit Engine;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, StdCtrls, IniFiles, Data;

type
  TForm1 = class(TForm)
    E1: TEdit;
    M1: TMemo;
    B1: TSpeedButton;
    Label1: TLabel;
    Label2: TLabel;
    E3: TEdit;
    E4: TEdit;
    Label3: TLabel;
    B2: TSpeedButton;
    procedure FormShow(Sender: TObject);
    procedure B1Click(Sender: TObject);
    procedure B2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Ini : TIniFile;
 
implementation

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
begin
if not FileExists(ChangeFileExt(ExtractFileName(Application.ExeName),'.zsd')) then
   Translate;
end;

procedure TForm1.B1Click(Sender: TObject);
begin
if (E1.Text = '') then
   ShowMessage('Input Masih Kosong'+#13#10+'Silahkan Isi Kata yang hendak ditranslate!....')
else
try
   Ini := TIniFile.Create(ChangeFileExt(Application.ExeName,'.zsd'));
   M1.Lines.Text := Ini.ReadString('Zephio Soft - 2010', E1.Text, '');
 finally
   Ini.Free;
 end;
end;

procedure TForm1.B2Click(Sender: TObject);
begin
if (E3.Text = '') or
   (E4.Text = '') then
begin
   ShowMessage('Input Masih Kosong'+#13#10+'Silahkan Isi Kata yang hendak ditambahkan');
   Exit
end
else
   Ini := TIniFile.Create(ChangeFileExt(Application.ExeName,'.zsd'));
   Ini.WriteString('Zephio Soft - 2010', E3.Text, E4.Text);
   Ini.Free;
end;

end.
DL SC : http://www.mediafire.com/?b1r6ggpp77pba2p

Extract File Name

//Extract File Name
//By : Zephio
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, StdCtrls;

type
  TForm1 = class(TForm)
    E1: TEdit;
    E2: TEdit;
    E3: TEdit;
    E4: TEdit;
    B1: TSpeedButton;
    OD: TOpenDialog;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    E5: TEdit;
    Label5: TLabel;
    E6: TEdit;
    Label6: TLabel;
    E7: TEdit;
    Label7: TLabel;
    E8: TEdit;
    E9: TEdit;
    E10: TEdit;
    E11: TEdit;
    procedure B1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.B1Click(Sender: TObject);
begin
if OD.Execute then
begin
   E1.Text := OD.FileName;
   E2.Text := ExtractFileName(E1.Text);
   E3.Text := ExpandFileName(E2.Text);
//------------------------------------------------------------------------------>
   E4.Text := ExtractFileName(ExtractFileExt(E1.Text));
//or
   E11.Text := LowerCase(ExtractFileExt(OD.FileName));
//------------------------------------------------------------------------------>
   E5.Text := ChangeFileExt(ExtractFileName(OD.FileName),'');
   E6.Text := ExtractFileDrive(OD.FileName);
   E7.Text := ExtractFilePath(OD.FileName);
   E8.Text := ExtractFileDir(OD.FileName);
   E9.Text := ExtractFileDir(ExtractFileDir(OD.FileName));
   E10.Text := ExtractShortPathName(OD.FileName);
end;
end;
end.

Windows System Menu

//Windows System menu
//By : Zephio
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Button11: TButton;
    Button12: TButton;
    Button13: TButton;
    Button14: TButton;
    Button15: TButton;
    Button16: TButton;
    Button17: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

//Minimize 1
procedure TForm1.Button1Click(Sender: TObject);
begin
   Form1.Perform(WM_SYSCOMMAND, SC_MINIMIZE, 0);
end;

//Minimize 2
procedure TForm1.Button2Click(Sender: TObject);
begin
   SendMessage(Application.Handle, WM_SYSCOMMAND, SC_Minimize, 1);
end;

//Minimize 3
procedure TForm1.Button3Click(Sender: TObject);
begin
  Application.Minimize;
end;

//Restore 1
procedure TForm1.Button4Click(Sender: TObject);
begin
   Application.Restore;
end;

//Restore 2
procedure TForm1.Button5Click(Sender: TObject);
begin
   Form1.Perform(WM_SYSCOMMAND, SC_RESTORE, 0);
end;

//Restore 3
procedure TForm1.Button6Click(Sender: TObject);
begin
   SendMessage(Application.Handle, WM_SYSCOMMAND, SC_RESTORE, 1);
end;

//Maximize 1
procedure TForm1.Button7Click(Sender: TObject);
begin
  Form1.Perform(WM_SYSCOMMAND, SC_ZOOM, 0);
end;

//Maximize 2
procedure TForm1.Button8Click(Sender: TObject);
begin
   SendMessage(Application.Handle, WM_SYSCOMMAND, SC_ZOOM, 1);
end;

//Maximize 3
procedure TForm1.Button9Click(Sender: TObject);
begin
   Form1.Perform(WM_SYSCOMMAND, SC_MAXIMIZE, 0);
//or:  SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MAXIMIZE, 1);
end;

//Close 1
procedure TForm1.Button10Click(Sender: TObject);
begin
  Close;
//Atau gaya BCB: Close();
end;

//Close 2
procedure TForm1.Button11Click(Sender: TObject);
begin
   Application.Terminate;
end;

//Close 3
procedure TForm1.Button12Click(Sender: TObject);
begin
   Form1.Perform(WM_SYSCOMMAND, SC_CLOSE, 0);
end;

//Close 4
procedure TForm1.Button13Click(Sender: TObject);
begin
   SendMessage(Application.Handle, WM_SYSCOMMAND, SC_CLOSE, 1);
end;

//Klik Start menu
procedure TForm1.Button14Click(Sender: TObject);
begin
   SendMessage(Application.Handle, WM_SYSCOMMAND, SC_TASKLIST, 1);
end;

//Sembunyikan Apps pada Task Bar
procedure TForm1.Button15Click(Sender: TObject);
begin
   ShowWindow(Application.Handle, SW_HIDE);
end;

//Tampilkan Apps pada Task Bar
procedure TForm1.Button16Click(Sender: TObject);
begin
   ShowWindow(Application.Handle, SW_SHOWNORMAL);
end;

//ScreenSaver Mode
procedure TForm1.Button17Click(Sender: TObject);
begin
   SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 1);
end;

end.

Executed DLL

//Bagian Executed DLL
// By : Zephio
// Untuk Membuat DLL, Klik Main Menu : File -> New -> Other...-> DLL Wizard.

library ZS;

uses
  SysUtils,
  Windows,
  ShellApi;

{$R *.res}

procedure EA;
var
   MsgText, MsgCaption : String;
   MsgType, UserResp : integer;
begin
   MsgCaption := '.About :.';
   MsgText := MsgText + 'Created By : Zephio' +#13#10;
   MsgText := MsgText + 'URL :http://amateur-guide.blogspot.com';
   MsgType := MB_OK + MB_ICONINFORMATION + MB_DEFBUTTON1 + MB_APPLMODAL;
   UserResp := MessageBox( 0, PChar(MsgText), PChar(MsgCaption), MsgType);
end;

procedure EE;
begin
   ShellExecute(0,'open','mailto:zephio@myspace.com?subject=Hi, Zephio...','','',SW_SHOW);
end;

procedure EF;
begin
   ShellExecute(0,'open','C:\WINDOWS\system32\cmd.exe',nil,nil,SW_SHOW);
end;



procedure EU;
begin
   ShellExecute(0,'open','http://amateur-guide.blogspot.com',nil,nil,SW_SHOW);
end;

exports EF, EE, EU, EA;
begin
end.

//Bagian Form

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  procedure EF; external 'ZS.dll';
  procedure EA; external 'ZS.dll';
  procedure EE; external 'ZS.dll';
  procedure EU; external 'ZS.dll';
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
   Button1.Caption := 'Contact';
   Button2.Caption := 'URL';
   Button3.Caption := 'Open CMD';
   Button4.Caption := 'About';
end;

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

procedure TForm1.Button2Click(Sender: TObject);
begin
   EU;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
   EF;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
   EA;
end;

end.

Membuat Playlist Dengan Delphi

//Membuat Play List dengan Delphi
{
Created By : Zephio
Contact :  zephio@myspace.com
URL : http://amateur-guide.blogspot.com
Copyright © 2011, Zephio.
}
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, MPlayer;

type
  TForm1 = class(TForm)
  //Component yg digunakan------------------------------------------------------>
    ListBox1: TListBox;
    Button1: TButton;
    OD: TOpenDialog;
    Button2: TButton;
    Button3: TButton;
    SD: TSaveDialog;
    MP: TMediaPlayer;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ListBox1DblClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    //Export To Playlist-------------------------------------------------------->
    function ETPL(S : String) : String;
    { Public declarations }
  end;

var
  Form1: TForm1;
Const
   //Default Title
   DS : String = 'ZS-Play List v1.0';
implementation

{$R *.dfm}

//Export To Playlist------------------------------------------------------------>
function TForm1.ETPL(S : String) : String;
var
   I : Integer;
   SL : TStringList; //Temporary String----------------------------------------->
begin
   SL := TStringList.Create;
   SL.Add('<Head>');
   Sl.Add('<Author>Zephio</Author>');
   SL.Add('<Title>Zephio Soft Play List v1.0</Title>');
   SL.Add(' <Body>');
   SL.Add('  <Total>'+IntToHex(ListBox1.Count, 4)+'</Total>');
for I := 0 to ListBox1.Count  - 1 do
   SL.Add('   <Path="'+ListBox1.Items[I]+'"/>');
   SL.Add(' </body>');
   SL.Add('</Head>');
   SL.SaveToFile(S);
   SL.Free;
end;

//Load Playlist----------------------------------------------------------------->
procedure TForm1.Button1Click(Sender: TObject);
const
   AB : array[0..6] of Char='<Path="';// array 0 - 6 of char = 7---------------->
   AE : array[0..2] of Char='"/>';// array 0 - 2 of char = 3-------------------->
var
   I : Integer;
   SL : TStringList;
begin
   OD.DefaultExt := '*.zs';
   OD.Filter := 'ZS Files|*.zs';
   SL := TStringList.Create;
if not OD.Execute then
   Exit;
   ListBox1.Clear;
   SL.LoadFromFile(OD.FileName);
//Jika tidak ditemukan kata dibawah ini dalam playlist,
// maka applikasi akan menolak playlist tsb
if (SL.Strings[0] <> '<Head>') and
   (SL.Strings[1] <> '<Author>Zephio</Author>') and
   (SL.Strings[2] <> '<Title>Zephio Soft Play List v1.0</Title>') and
   (SL.Strings[3] <> ' <Body>') then
   Exit
else
   Caption := DS+' - [ '+Copy(SL.Strings[1], 9, Length(SL.Strings[1]) - 17)+' ]'+' '+IntToStr(Length(AB))+' '+IntToStr(Length(AE));
{
I = 5 trhitung dari:
1. <Head>
2. <Author>Zephio</Author>
3. <Title>Zephio Soft Play List v1.0</Title>
4. <Body>
5. mengambil Path yg pertama
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SL.Count - 3 = Total Baris pd playlist tsb dikurangi
3. </body>
2. </Head>
1. '' dari I = 0 - Total Baris
}
for I := 5 to SL.Count - 3 do
   ListBox1.Items.Add(Copy(SL.Strings[I], 11, Length(SL.Strings[I]) - 13));
   SL.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
   I : Integer;
begin
   OD.DefaultExt := '*.mp3';
   OD.Filter := 'MP3 Files|*.mp3';
if not OD.Execute then
   Exit;
   ListBox1.Clear;
//I = 0 - Total File pada Open Dialog------------------------------------------->
// atau juga for I := 1 to Total File pada Open Dialog-------------------------->
for I := 0 to OD.Files.Count - 1 do
   ListBox1.Items.Add(OD.Files[I]);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
if not SD.Execute then
   Exit;
//Export Playlist dari Temporay ke File----------------------------------------->
   ETPL(SD.FileName);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   Caption := 'ZS-2011';
end;

procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
   MP.FileName := ListBox1.Items[ListBox1.ItemIndex];
   MP.Open;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
   Caption := DS;
   Application.Title := DS;
end;

end.

{ untuk versi Console Apps cuma load playlist'e saja }

program ZS;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Classes;

const
   AB : array[0..6] of Char='<Path="';
   AE : array[0..2] of Char='"/>';
var
   I : Integer;
   SL : TStringList;
begin
   SL := TStringList.Create;
if not FileExists('ZS.zs') then
   Exit
else
   SL.LoadFromFile('ZS.zs');//Nama file'e
if (SL.Strings[0] <> '<Head>') and
   (SL.Strings[1] <> '<Author>Zephio</Author>') and
   (SL.Strings[2] <> '<Title>Zephio Soft Play List v1.0</Title>') and
   (SL.Strings[3] <> ' <Body>') then
   Exit
else
   WriteLn('Author : '+Copy(SL.Strings[1], 9, Length(SL.Strings[1]) - 17));
   WriteLn('Title  : '+Copy(SL.Strings[2], 8, Length(SL.Strings[2]) - 15));
   WriteLn('=========================================================================');
for I := 5 to SL.Count - 3 do
   WriteLn(Copy(SL.Strings[I], 11, Length(SL.Strings[I]) - 13));
While true do
   Sleep(1000);
   SL.Free;
end.



Download Source Code : Link
MH : Media Fire
FS : 259KB