Skip to content

Commit

Permalink
Initial
Browse files Browse the repository at this point in the history
  • Loading branch information
filipkis committed Sep 25, 2012
0 parents commit 1ee909c
Show file tree
Hide file tree
Showing 36 changed files with 2,658 additions and 0 deletions.
Binary file added FrameTelefon.dcu
Binary file not shown.
Binary file added FrameTelefon.ddp
Binary file not shown.
33 changes: 33 additions & 0 deletions FrameTelefon.dfm
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
object fTelefon: TfTelefon
Left = 0
Top = 0
Width = 222
Height = 26
TabOrder = 0
OnClick = FrameClick
OnEnter = FrameEnter
object shSel: TShape
Left = 3
Top = 0
Width = 216
Height = 26
Brush.Style = bsClear
Pen.Color = 13003057
Visible = False
end
object edOpis: TEdit
Left = 93
Top = 3
Width = 121
Height = 21
TabOrder = 1
end
object edBroj: TEdit
Left = 8
Top = 3
Width = 79
Height = 21
MaxLength = 13
TabOrder = 0
end
end
79 changes: 79 additions & 0 deletions FrameTelefon.pas
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
{====================================Modul FrameTelefon============================
U njemu se nalaze procedure, funkcije i varijable za Freme Telefon. U Frameu se
nalaze polja Broj i Opis koja predstavljaju broj telefona i opis istog.
===================================================================================}
unit FrameTelefon;

interface

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

type
TfTelefon = class(TFrame)
edOpis: TEdit;
edBroj: TEdit;
shSel: TShape;
procedure SetSelection(s:boolean);
function GetSelection:boolean;
procedure FrameEnter(Sender: TObject);
procedure FrameClick(Sender: TObject);
private
{ Private declarations }
public
constructor Create(AOwner:TComponent);
property Selected:boolean read GetSelection write SetSelection;
end;

implementation
{$R *.dfm}

{procedure SetSelection
pokazuje okvir koji oznacuje da je Frame selektiran ovisno o tome
jeli "s" true ili false.}
procedure TfTelefon.SetSelection(s:boolean);
begin
shsel.Visible:=s;
end;

{function GetSelection
vraca vrijednost jeli vidljiv okvir koji pokazuje da je Frame selektiran
ili nije.}
function TfTelefon.GetSelection:boolean;
begin
result:=shsel.Visible;
end;

{constructor Create
izvrsava se prlikom kreiranja svakog Frame Telefon te ga smjesta na
odgovarajuce mjesto u Frame-u Telefoni.}
constructor TfTelefon.Create(AOwner:TComponent);
begin
inherited create(AOwner);
if owner.ComponentCount>1 then top:=(owner.Components[owner.ComponentCount-2] as TfTelefon).top+height
else Top:=0;
end;

{procedure FrameEnter
izvrsava se prilikom stvljanja kursora u Frame. Tada prikazuje
okvir koji oznacava da je Frame selektiran.}
procedure TfTelefon.FrameEnter(Sender: TObject);
var
i:integer;
begin
for i:=0 to owner.ComponentCount-1 do
if owner.FindComponent('tel'+inttostr(i)).Name<>self.Name then
if (owner.Components[i] as TfTelefon).Selected then (owner.Components[i] as TfTelefon).Selected:=false;
selected:=true;
end;

{procedure FrameClick
izvrsava se pritiskom na Frame misem. Stavlja kursor za unos
na polje Broj.}
procedure TfTelefon.FrameClick(Sender: TObject);
begin
edBroj.SetFocus;
end;

end.
Binary file added FrameTelefoni.dcu
Binary file not shown.
Binary file added FrameTelefoni.ddp
Binary file not shown.
9 changes: 9 additions & 0 deletions FrameTelefoni.dfm
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
object fTelefoni: TfTelefoni
Left = 0
Top = 0
Width = 244
Height = 78
VertScrollBar.Increment = 26
VertScrollBar.Tracking = True
TabOrder = 0
end
112 changes: 112 additions & 0 deletions FrameTelefoni.pas
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
{====================================Modul FrameTelefoni===========================
U njemu se nalaze procedure i varijable vezane za prikazivanje polja Frame-a Telefon
u Frame-u Telefoni. Takodjer osim samog proikazivanja jos se nalaze i procedure koje
svaki Frame Telefon pune odgovarajucim podacima iz baze.
===================================================================================}
unit FrameTelefoni;

interface

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

type
TfTelefoni = class(TFrame)
private

public
Tel:array of TfTelefon;
procedure Napravi(aray:array of TTelefon);
procedure DodajTelefon;
procedure ObrisiTelefon(koji:integer);
procedure Spremi(a:array of TTelefon);
procedure vrati(a:array of TTelefon);
published

end;

implementation

{$R *.dfm}

{procedure Vrati
vraca vrijednost polja Broj i Opis svakog Frame-a Telefon na vrijednost
iz baze}
procedure TfTelefoni.Vrati(a:array of TTelefon);
var
i:integer;
begin
for i:=0 to high(a) do
begin
tel[i].edBroj.Text:=a[i].Broj;
tel[i].edOpis.text:=a[i].Opis;
end;
end;

{procedure Spremi
sprema vrijednost polja Broj i Opis svakog Frame-a Telefon u bazu}
procedure TfTelefoni.Spremi(a:array of TTelefon);
var
i:integer;
begin
for i:=0 to high(a) do
begin
a[i].Broj:=tel[i].edBroj.Text;
a[i].Opis:=tel[i].edOpis.Text;
end;
end;

{procedure ObrisiTelefon
brise Frame Telefon rednog broja "koji"}
procedure TfTelefoni.ObrisiTelefon(koji:integer);
var
i:integer;
begin
for i:=koji to high(Tel)-1 do
begin
tel[i].edBroj.Text:=tel[i+1].edBroj.text;
tel[i].edOpis.Text:=tel[i+1].edopis.text;
end;
tel[high(tel)].Free;
setlength(tel,high(tel));
end;

{procedure DodajTelefon
dodaje novi Frame Telefon}
procedure TfTelefoni.DodajTelefon;
begin
if high(tel)>2 then Tel[0].SetFocus;
setlength(Tel,length(Tel)+1);
Tel[high(tel)]:=TfTelefon.Create(self);
with Tel[high(tel)] do
begin
Parent:=self;
Name:='Tel'+inttostr(high(tel));
SetFocus;
end;
end;

{procedure Napravi
izvrsava se tijekom prikazivanja Frema Telefoni tj. prikazivanja
prozora Kontakt u kojem se on nalazi. Kreira potreban broj
Frame-ova za odredjeni kontakt te ih puni podacima iz baze.}
procedure TfTelefoni.Napravi;
var i:integer;
begin
setlength(tel,high(aray)+1);
for i:=0 to high(aray) do
begin
Tel[i]:=TfTelefon.Create(self);
with Tel[i] do
begin
Parent:=self;
Name:='Tel'+inttostr(i);
edOpis.text:=aray[i].Opis;
edBroj.text:=aray[i].Broj;
end;
end;
if high(tel)<>-1 then tel[0].Selected:=true;
end;

end.
3 changes: 3 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## ISDNPlus

This is one of my first applications that had a real pupose. It worked on the, now already old but back in 2003 quite popular technology of ISDN (that was a step up from dial-up modems). If you had such a line at home and compute equiped with an ISDN card you could have used this software to arrange your address book and see who is calling you on your computer screen. It supported MSN (multiple subscriber numbers, not the Microsoft Messanger :P) so you could see who is calling you on which number. The user base was huge (2 users) and included both home users (me) and enterprise (my fathers company). It was in service for several years. Even when ISDN went out of fashin my father used it till 2009 for his address book. Until I wrote a short script to transfer my "propriatory" data base format to CSV.
Binary file added baloon.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added baza.dcu
Binary file not shown.
Loading

0 comments on commit 1ee909c

Please sign in to comment.