[Latest][6]

Delphi
DIY

Login

Enter your username and password to enter your Blogger Dasboard


Featured Post

Power resistor DIY

Power resistor DIY This is one simple way to create power resistor at home. I needed 0,33 ohm resistor with some larger wattage so I de...

Recent Articles

Powered By Blogger

Monday, June 27, 2016

Delphi tutorial Client server application

kobyx     2:30 PM     0
 Delphi tutorial   Client server application

This is Delphi Tutorial about client-server application, and as usual you can find here source code for this app, and also exe files at address :
https://drive.google.com/open?id=0B_njK7HczCjDekg0WG1hamUyWTA

Here is video tutorial :




and here is source code :
Source code for client app :
unit MainForm;

interface

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

type
TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; GroupBox1: TGroupBox; CheckBox1: TCheckBox; Label3: TLabel; Label4: TLabel; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Button1: TButton; Button2: TButton; Memo1: TMemo; ClientSocket1: TClientSocket; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
private { Private declarations }
public { Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Active:=False;
ClientSocket1.Host:=Edit1.Text;
ClientSocket1.Port:=StrToInt(Edit2.Text)
;
ClientSocket1.Active:=True;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ClientSocket1.Socket.SendText(Edit5.Text);
Memo1.Lines.Add('Me : '+edit5.Text);
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
CheckBox1.Checked:=Socket.Connected;
Edit3.Text:=Socket.LocalAddress;
Edit4.Text:=Socket.LocalHost;
Memo1.Lines.Clear;

end;

procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
CheckBox1.Checked:=Socket.Connected;
end;

procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(ClientSocket1.Socket.ReceiveText);
end;

end.
Source code for server app :
unit Main;

interface

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

type
TForm1 = class(TForm) GroupBox1: TGroupBox; GroupBox2: TGroupBox; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; CheckBox1: TCheckBox; Edit1: TEdit; Button1: TButton; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Label6: TLabel; Button2: TButton; Memo1: TMemo; ServerSocket1: TServerSocket; procedure Button1Click(Sender: TObject); procedure ServerSocket1Accept(Sender: TObject; Socket: TCustomWinSocket); procedure Button2Click(Sender: TObject); procedure ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
private { Private declarations }
public { Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
port:Integer;
begin
ServerSocket1.Active:=False;
port:=StrToInt(Edit1.Text);
ServerSocket1.Port:=port;
ServerSocket1.Active:=True;
Edit4.Text:='Listening...';
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ServerSocket1.Socket.Connections[0].SendText(Edit6.Text);
Memo1.Lines.Add('Me : '+Edit6.Text);
Edit6.Text:='';
end;

procedure TForm1.ServerSocket1Accept(Sender: TObject; Socket: TCustomWinSocket);
begin
CheckBox1.Checked:=true;
Edit2.Text:=Socket.RemoteAddress;
Edit3.Text:=Socket.RemoteHost;
Edit5.Text:=Socket.LocalAddress;
Edit4.Text:='Connected';
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(Socket.RemoteHost+' : '+Socket.ReceiveText);
end;

Tuesday, May 3, 2016

Delphi Tutorial Timer

kobyx     2:29 PM     0
In this video you can learn how to work with Timer in Delphi.
You can learn how to manipulate with components using timer.

example application:https://drive.google.com/open?id=0B_njK7HczCjDOEpVMER4aFctSDQ

Here is also code used in this video :

unit MainForm;

interface

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

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Image1: TImage;
    Button1: TButton;
    Label1: TLabel;
    Button2: TButton;
    ProgressBar1: TProgressBar;
    Timer1: TTimer;
    Timer2: TTimer;
    Timer3: TTimer;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Edit1: TEdit;
    UpDown1: TUpDown;
    Edit2: TEdit;
    UpDown2: TUpDown;
    Edit3: TEdit;
    UpDown3: TUpDown;
    Edit4: TEdit;
    UpDown4: TUpDown;
    Edit5: TEdit;
    UpDown5: TUpDown;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Edit2Change(Sender: TObject);
    procedure Edit3Change(Sender: TObject);
    procedure Edit4Change(Sender: TObject);
    procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);
    procedure UpDown2Click(Sender: TObject; Button: TUDBtnType);
    procedure UpDown3Click(Sender: TObject; Button: TUDBtnType);
    procedure UpDown4Click(Sender: TObject; Button: TUDBtnType);
    procedure Button7Click(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Edit5Change(Sender: TObject);
    procedure UpDown5Click(Sender: TObject; Button: TUDBtnType);
  private
    { Private declarations }
  public
   LabInt:Integer;
   ButtonTag: Integer;

   IntxL, IntxR, IntxB, IntxT : Integer;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
if Timer1.Enabled=false then
  Timer1.Enabled:=true
else
  Timer1.Enabled:=False;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if Timer2.Enabled=false then
  Timer2.Enabled:=true
else
  Timer2.Enabled:=False;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
ButtonTag:=101;
Timer3.Enabled:=True;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
ButtonTag:=102;
Timer3.Enabled:=True;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
ButtonTag:=103;
Timer3.Enabled:=True;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
ButtonTag:=104;
Timer3.Enabled:=True;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
Timer1.Enabled:=False;
Timer2.Enabled:=False;
Timer3.Enabled:=False;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
IntxL:=StrToInt(Edit1.Text);
end;

procedure TForm1.Edit2Change(Sender: TObject);
begin
IntxR:=StrToInt(Edit2.Text);
end;

procedure TForm1.Edit3Change(Sender: TObject);
begin
IntxT:=StrToInt(Edit3.Text);
end;

procedure TForm1.Edit4Change(Sender: TObject);
begin
IntxB:=StrToInt(Edit4.Text);
end;

procedure TForm1.Edit5Change(Sender: TObject);
begin
Timer3.Interval:=StrToInt(Edit5.Text) ;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin

LabInt:=0;

IntxL :=10;
IntxR :=10;
IntxB:=10;
IntxT:=10;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
LabInt:=LabInt+10;
Label1.Caption:=IntToStr(LabInt);
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
if ProgressBar1.Position<ProgressBar1.Max then
 ProgressBar1.Position:=ProgressBar1.Position+1
else
  ProgressBar1.Position:=0;
end;

procedure TForm1.Timer3Timer(Sender: TObject);
begin
case ButtonTag of
101:
if Image1.Left>0 then
Image1.Left:=Image1.Left-IntxL
else Button4.Click;
102:
if Image1.Left<Panel2.Width then
Image1.Left:=Image1.Left+IntxR
else
Button3.Click;
103:
if Image1.Top>0 then
Image1.Top:=Image1.Top-IntxT
else
Button6.Click;
104:
if Image1.Top<Panel2.Height then
 Image1.Top:=Image1.Top+IntxB
 else
 Button5.Click;

end;

end;

procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
if Button=btNext then IntxL:=IntxL+10;
if Button=btPrev then IntxL:=IntxL-10;
Edit1.Text:=IntToStr(IntxL);
end;

procedure TForm1.UpDown2Click(Sender: TObject; Button: TUDBtnType);
begin
if Button=btNext then IntxR:=IntxR+10;
if Button=btPrev then IntxR:=IntxR-10;
Edit2.Text:=IntToStr(IntxR);
end;

procedure TForm1.UpDown3Click(Sender: TObject; Button: TUDBtnType);
begin
if Button=btNext then IntxT:=IntxT+10;
if Button=btPrev then IntxT:=IntxT-10;
Edit3.Text:=IntToStr(IntxT);
end;

procedure TForm1.UpDown4Click(Sender: TObject; Button: TUDBtnType);
begin
if Button=btNext then IntxB:=IntxB+10;
if Button=btPrev then IntxB:=IntxB-10;
Edit4.Text:=IntToStr(IntxB);
end;

procedure TForm1.UpDown5Click(Sender: TObject; Button: TUDBtnType);
begin
if Button=btNext then Timer3.Interval:=Timer3.Interval+10;
if Button=btPrev then Timer3.Interval:=Timer3.Interval-10;
Edit5.Text:=IntToStr(Timer3.Interval);
end;

end.

Wednesday, March 30, 2016

Delphi Tutorial Listview

kobyx     12:53 PM     0
Delphi Tutorial Listview

In this tutorial you can learn how to work with Listview in Delphi.
You can learn how to create,edit and delete items, and also how to add icons to items.

Here is video with steps :



Here is also code used in this video :

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ImgList, Menus, StdCtrls, ExtCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    ListView1: TListView;
    Panel1: TPanel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    CheckBox1: TCheckBox;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    ImageList1: TImageList;
    Button10: TButton;
    CheckBox2: TCheckBox;
    procedure Button1Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure ListView1DblClick(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure ListView1Edited(Sender: TObject; Item: TListItem; var S: string);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button10Click(Sender: TObject);
var
Itm:TListItem;
i:Integer;
begin
for I := 1 to 10 do
begin
Itm:=ListView1.Items.Add;

Itm.Caption:='Item '+IntToStr(ListView1.Items.Count);
Itm.SubItems.Add(Itm.Caption+' Subitem 1');
Itm.SubItems.Add(Itm.Caption+' Subitem 2');
Itm.ImageIndex:=0;
end;


end;

procedure TForm1.Button1Click(Sender: TObject);
var
Itm:TListItem;
begin
Itm:=ListView1.Items.Add;
Itm.Caption:='Item '+IntToStr(ListView1.Items.Count);
Itm.SubItems.Add(Itm.Caption+' Subitem 1');
Itm.SubItems.Add(Itm.Caption+' Subitem 2');

Itm.ImageIndex:=0;
end;

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

procedure TForm1.Button3Click(Sender: TObject);
begin
ListView1.Items.Clear;
end;

procedure TForm1.Button4Click(Sender: TObject);
var i:Integer;
begin
for I := 0 to ListView1.Items.Count-1 do
begin
ListView1.Items[i].Checked:=True;
end;
end;

procedure TForm1.Button5Click(Sender: TObject);
var i:Integer;
begin
for I := 0 to ListView1.Items.Count-1 do
begin
ListView1.Items[i].Checked:=False;
end;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
ListView1.ViewStyle:=vsIcon;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
ListView1.ViewStyle:=vsList;
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
ListView1.ViewStyle:=vsReport;
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
ListView1.ViewStyle:=vsSmallIcon;
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  ListView1.Checkboxes:=CheckBox1.Checked;
end;

procedure TForm1.CheckBox2Click(Sender: TObject);
begin
ListView1.RowSelect:=CheckBox2.Checked;
end;

procedure TForm1.ListView1DblClick(Sender: TObject);
begin
if ListView1.ItemFocused.Checked=true then
 ListView1.ItemFocused.Checked:=false
else
  ListView1.ItemFocused.Checked:=True;
end;

procedure TForm1.ListView1Edited(Sender: TObject; Item: TListItem;
  var S: string);
begin
 Item.SubItems[0]:=
S+' Subitem 1';
Item.SubItems[1]:=
S+' Subitem 2';
end;

end.

Wednesday, February 3, 2016

Delphi Tutorial work with INI files

kobyx     12:17 PM     0
Delphi Tutorial work with INI files



In this lesson you can learn how to work with INI files in Delphi.
You can learn how to save settings in application, like window position and size, 
controls position and properties etc.

Here is video with all steps :


Here is also code used in this video :

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Panel1: TPanel;
    Edit1: TEdit;
    Button8: TButton;
    CheckBox1: TCheckBox;
    procedure Button7Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  MyINI:TMemIniFile;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Panel1.top:=Panel1.Top-10;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Panel1.top:=Panel1.Top+10;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Panel1.left:=Panel1.left-10;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
Panel1.left:=Panel1.left+10;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
MyINI.EraseSection('Main');
MyINI.UpdateFile;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
MyINI:=TMemIniFile.Create(ExtractFilePath(Application.ExeName)+'Settings.ini');

MyINI.WriteInteger('Main','Left',Form1.Left); //Main form left position on screen
MyINI.WriteInteger('Main','Top',Form1.Top); //Main form top position on screen

MyINI.WriteInteger('Main','Width',Form1.Width); //Main form width
MyINI.WriteInteger('Main','Height',Form1.Height); //Main form Height

MyINI.WriteInteger('Panel','Left',Panel1.Left); //Panel left position on screen
MyINI.WriteInteger('Panel','Top',Panel1.Top); //Panel top position on screen

MyINI.WriteString('Panel','Caption',Panel1.Caption); //Panel Caption

MyINI.WriteBool('Check','Checked',CheckBox1.Checked); //Checkbox checked


MyINI.UpdateFile;// Save settings to INI file
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
Panel1.Caption:=Edit1.Text;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
MyINI:=TMemIniFile.Create(ExtractFilePath(Application.ExeName)+'Settings.ini');

Form1.Left:=MyINI.ReadInteger('Main','Left',Form1.Left); //Main form left position on screen
Form1.Top:=MyINI.ReadInteger('Main','Top',Form1.Top); //Main form top position on screen

Form1.Width:=MyINI.ReadInteger('Main','Width',Form1.Width); //Main form width
Form1.Height:=MyINI.ReadInteger('Main','Height',Form1.Height); //Main form Height

Panel1.Left:=MyINI.ReadInteger('Panel','Left',Panel1.Left); //Panel left position on screen
Panel1.Top:=MyINI.ReadInteger('Panel','Top',Panel1.Top); //Panel top position on screen

Panel1.Caption:=MyINI.ReadString('Panel','Caption',Panel1.Caption); //Panel Caption

CheckBox1.Checked:=MyINI.ReadBool('Check','Checked',CheckBox1.Checked); //Checkbox checked

end;

end.

Saturday, January 30, 2016

Microsoft Excel Tutorial for Beginners formating cell

kobyx     12:14 PM     0
In this tutorial you can see some basic Excel cells formatting.
Microsoft excel is a powerful tool for data manipulation.
This is just basic way to do this, it is unbelievable how this can be used in more advanced examples.
I use this in my regular work very often.



Tuesday, January 26, 2016

Delphi Tutorial Listbox manipulate items

kobyx     2:33 PM     0
Delphi Tutorial Listbox manipulate items

In this video you can learn how to manipulate with Listbox items in Delphi.
You can learn how to add one, add multiple items, delete one or all items , so as save items to and load from text file.

Here is also code used in this video :
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Button3: TButton;
    Edit2: TEdit;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    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);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items.Add('Item - '+IntToStr(ListBox1.Items.Count));
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ListBox1.Items.Add(Edit1.Text);
end;

procedure TForm1.Button3Click(Sender: TObject);
var
i:Integer;
begin
ListBox1.Items.Clear; // clear all items in listbox first
for I := 1 to StrToInt(Edit2.Text) do
begin
ListBox1.Items.Add('Item - '+IntToStr(i));
end;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
ListBox1.Items.Delete(ListBox1.ItemIndex);
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
ListBox1.Items.Clear;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
if SaveDialog1.Execute then
SaveDialog1.InitialDir:='C:\Temp\';
ListBox1.Items.SaveToFile(SaveDialog1.FileName);
ListBox1.Items.Clear;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
ListBox1.Items.Clear;
if OpenDialog1.Execute then
OpenDialog1.InitialDir:='C:\Temp\';
ListBox1.Items.LoadFromFile(OpenDialog1.FileName);
end;

end.

Music in video by :
bensound-theelevatorbossanova
www.bensound.com

Tuesday, January 19, 2016

Power resistor DIY

kobyx     1:52 PM     0
Power resistor DIY

This is one simple way to create power resistor at home.
I needed 0,33 ohm resistor with some larger wattage so I decide to create one, instead of buying one.
I always say, creating is much more fun then buying.

So you need one old high wattage resistor ( I had one 10W 100 ohm ) to use wire from it.You will have to destroy it, and take high resisting wire of desired length-resistance.
You also need some copper wire as connectors.
And you will need jointing filler to create mass for coating, to protect resistor wire from oxidation, and to provide heat transfer from wire to environment.
Also you will need small piece of tin to create mold.

After finishing it will take some day or two to dry

Comments

© 2014 Tutorials. Designed by Bloggertheme9. Powered by Blogger.