• Sonuç bulunamadı

NEAR EAST UNIVERSITY Faculty of Engineering

N/A
N/A
Protected

Academic year: 2021

Share "NEAR EAST UNIVERSITY Faculty of Engineering"

Copied!
54
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

NEAR EAST UNIVERSITY

Faculty

of Engineering

ENT OF COMPUTER ENGINEERING

STOCK CONTROL PROGRAM

GRADUATION PROJECT

COM 400

Student: Mahmut BÖKE

Supervisor:

Ümit İLHAN

(2)

,FCONTENTS

11 111 ıv

O~,

.

MENU . fü . ORD PRODUCT. .

ORD PRODUCT FLOWCHART. .

ıııe

ıwu.ı PRODUCT .

•ıau PRODUCT FLOWCHART .

I• ff PRODUCT. · . IT PRODUCT FLOWCHART . 2 3

4

5

6

7

8 9

;u

JO ... ··· · 11

ı·

-..ııL'"i CODES... 12 ---~ 48 ~CES 49

(3)

e to thank my supervisor Mr. Ümit iLHAN for his invaluable advice and my self over the course of this graduation project.

like to thank my family for their constant encouragement and support ion ofthis project.

(4)

ABSTRACT

The stock control is an important job for companies or big firms. It is hard to keep or

save the records produced by those firms. In later time two or three people working for

making stock process. This means that there is more outcomes and more complexity

and also more risks to lose data.

But now, there is a technological chance for such firms. This is the computer. Of course

a computer cannot do any thing alone. The computer needed programs to work. This

program is stock control or similar program.

What The stock control program can do?. The program mainly save the records in an

order and save them. And it make easy to work with records such search a record, find ,

and edit it easily. The main titles for a stock control program are written below;

Record Process

Search Records

Edit Records

And list records

These are most important for a such program. A stock control program should include

these.

(5)

I

INTRODUCTION

This stock control program can be used for fırms. The purpose of this program is

making work easier.

Firstly the program start with a password dialog box. This is important to prevent entry

program non-authorized people. If the correct user enter the program it will start with a

main menu.

The main menu is most important menu that the user can reach every thing, what he

want to do with this program. These are mainly Record process, search record, edit

record, enter new record, list record and print the records. The entry of the program are

keep in a database file. This file is created by the Delphi programming language.

(6)

PASSWORD MENU

198S

Enter Password

the program for the first time, it is appeared password menu. This

(7)

MAIN MENU

1988

When the user enter the correct password the program start working, and the main menu

form appear.

What can you do when you see this menu?

You can enter new record, add record, take out record, see list of record, edit record and

print records. These are main titles, that program can do. Main menu has exit button to

easily close program, and you can search a record on this menu by clicking product

record button. So you can see how many record left and what is the unit price of that

record and so on.

(8)

NEW RECORD PRODUCT MENU

-- -- -I _'tın• =>NJ-~

rtıew Rec«d Prı,duct =·· c;;-;- ~--Jl'_; -.,..,.,~.,..-.-~,-- ._..,,_:ı,,,.,,c&, ,. " - '"';,.,; . i

,ı-• f (!J N- R-,I Pıoduct , ' Pıoduct Coda

f

A5 . .

.J

I

(E,ıplııııation) Puıchasedı:-- I Pıice

ıı

'

t

ti

england

I

~\

" ~. DRecoıd Pıııducl L• Product N- iKARTU~ 11 2 \'

I

r Plaı:e

Er

J

'

QTake Out Pıoduı:t

~j ( Unil

f:S ,, .

J

ı

ı

lQ Shık List ;

ıı

Price

[-..

..

J

·,

' J

-

I

o

Pıinl' " I ~

J

C)Eoll ! ıi'

ı'

,

•;t ii, ' I I

l

CiEd (

"

r

·=· "· ! ·.• '"""''·=·-.,,.. ~:,,.---- - '''"'~"" .,,, " ,, ,..,:,;.;,__;;:.•··_::; ~TI

Esc:Nain 11--ıı;;;.---.-~·<M-""~

-

-~-

-~~~

... -~ ~-

·---Assume that you by or you produce new product. You can easily enter this product and

its information in to the program database and save it. To do this click on the new entry

button which is placed on the main menu. The new form will appear named new record

entries.

(9)

NEW RECORD PRODUCT MENU FLOWCHART

START

~~~~~~•~ı

ENTERRECORD

N y

SAVE

EXIT

(10)

RECORD PRODUCT

MENU

-~...;;:,.~---~- -·....~ ...,,.~---

..•.•nıx

:.:-·-~-~

----~---! lank•a

2

;JTab Out Pnıduct

Eıc: Main

M-This form is a multitasking form, you can do many think with this form. First off all you

can add product which is previously save it in the program, and you can change the unit

price of a product. And than you can search a record to learn whether it is exist enough

number or not.

(11)

RECORD PRODUCT FLOWCHART

N y SEE RECORD EDIT N y SAVE

(12)

TAKE OUT PRODUCT MENU

Nli#illh ·-- -~-

---~ ~~~:

(Eıplanation) Puıdıaaıd r-- Price

1 ıusa

Pıeılııı:tNw }AAM

ıı-r--

L -

J

Pise IRAF4 .

_J

Ese: Main Meru

When you save the product and you want to take out from the database file, you have to

use this form. The general purpose of this form is to delete one or more number of that

product or delete all from the database file.

(13)

TAKE OUT PRODUCT MENU FLOWCHART

ENTER CODE

N

y

Number of product want

~---~.ıı to delete y N DELETE

SAVE

EXIT

(14)

STOCK LIST MENU

/' COM 400 ll!lflil EJ.

,. N- RecaılProductI I •.I I / 1No IPnıdııcl Code I'Pnıdııcl "-Al HARD DıSK 2 A5 KARTUS 3 Cl RAM 4 A2 SOUND 5 821 VGA Ese: :Main

(15)

EDIT MENU

/COM-400 11!11!1£11 il' M!iOMeııl' Place Price -~ ReaııdPnıduı:t Pnıılııı:tı:-

F1

Pıııılııı:t •••••FARODıSK ---'"""== PıııclııııııdFir•

E_f1_

Tııle0111Product

Stm; List Pıiı:e reoo~ooo_o_ __

_J

Print

Eıc :Main Menu

This form is only edit the product information such as product name, place of product

and etc.

(16)

EXIT MENU

/WM- ~00

1988

COM 400 GRADUATION PROJECT

Mahmut Boke

When you click exit button on the main menu new form is appearing for a few second.

This an animation that's give little information about the programer.

(17)

PROGRAM CODES

unit Sifre;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

ExtCtrls, MPlayer, jpeg, StdCtrls;

type

TPassword

=

class(TForm)

Iınagel: Tlmage;

Edit 1 : TEdit;

Labell: TLabel;

Label2: TLabel;

Iınage2: Tlmage;

procedure FormKeyPress(Sender: TObject; var Key: Char);

procedure EditlKeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

procedure Form.Create(Sender:TObject);

procedure Edit 1 Change(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Password: TPassword;

Say: Byte;

implementation

(18)

uses AnaSayfa, Lisans;

{$R *.DFM}

procedure TPassword.FonnKeyPress(Sender: TObject; var Key: Char); begin

ifKey=#27 then Halt; end;

procedure TPassword.EditlKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

begin

if key= 13 then begin

if (CompareText(Editl .Text,'l ')=O) then begin Hide;

forml .Show;

Forml .GroupBoxl .Visible:=False; Forml. GroupBox3. Visible:=True; end end else begin Editl .Text:="; edit l.setfocus; Say:=Say+ 1;

if Say=3 then Close;

Labe12.Caption:='Pleace Enter Valid Password .. .'; end;

end;

procedure TPassword.FormCreate(Sender: TObject); begin

Say:=O;

(19)

end;

procedure TPassword.Edit 1 Change(Sender: Tübject ); begin

Label2. Caption:="; end;

(20)

unit AnaSayfa;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Buttons, StdCtrls, Mask, ExtCtrls, ComCtrls, Grids, Printers, jpeg;

type TUrun =

record

SiraNo : String[lO];

UrunKodu: String[15];

UrunAdi: String[50];

RafNo : String[lO];

Adet : String[6];

SFiyat,SFiyat2: String[15];

Tarih: String[lO];

F

: Char;

end;

TAlinanYerler

=

record

UrunKodu: String[15];

Yer : String[50];

AFiyat: String[15];

F: Char;

end;

TForınl

=

class(TForm)

GroupBoxl: TGroupBox;

Labell: TLabel;

Editl: TEdit;

GroupBox2: TGroupBçx;

GroupBox3: TGroupBox;

RadioGroup 1: TRadioGroup;

Label2: TLabel;

(21)

Labe13: TLabel; Labe14: TLabel; Label5: TLabel; Label6: TLabel; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; GroupBox4: TGroupBox; ListViewl: TListView; Gridl: TStringGrid; ListView2: TListView; Labe17: TLabel; GroupBox5: TGroupBox; Edit7: TEdit; GroupBox6: TGroupBox; Edit8: TEdit; GroupBox7: TGroupBox; Edit9: TEdit; Labe19: TLabel; EditlO: TEdit; Labell O: TLabel; SpeedButton2: TSpeedButton; GroupBox8: TGroupBox; ListView3: TListView; GroupBox9: TGroupBox; ListBoxl: TListBox; ListView4: TListView; MaskEdit 1: TMaskEdit; MaskEdit2: TMaskEdit; Labe18: TLabel; Labell 1: TLabel;

(22)

Edit 11 : TEdit; Labell 3: TLabel; Edit 12: TEdit; ~ Image 1: Tlmage; Image2: Tlmage; Image3: Tlmage; GroupBoxl O: TGroupBox; Label15: TLabel; Label16: TLabel; Timerl: TTimer; GroupBoxl 1: TGroupBox; Edit13: TEdit; Label18: TLabel; Label14: TLabel; Label19: TLabel; Panell: TPanel; Image4: Tlmage; Image5: Tlmage; BitBtnl: TBitBtn;

procedure FormCreate(Sender: TObject);

procedure FormKeyPress(Sender: TObject; var Key: Char); procedure RadioGrouplClick(Sender: TObject);

procedure GridlKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState );

procedure Edit7KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState );

procedure Edit8KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure SpeedButton2Click(Sender: TObject);

procedure ListBoxlClick(Sender: TObject);

procedure Edit12KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState );

(23)

procedure Edit2KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

procedure Edit13KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState );

procedure MaskEdit2KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState };

procedure Edit13Change(Sender: TObject); procedure GroupBox6Click(Sender: TObject ); private { Private declarations } public { Public declarations } end; var Forml: TForml;

FUrun,FSatis,FUT,FST : File of TU run; FYerler,FYT: File ofTAlinanYerler; Urun: TUrun;

Yerler : TAlinan Yerler; DolarKuru : Longlnt; SterlinK.uru : Longlnt; Items : TListltem; Columns : TListColumn;

Status : Array[l..10] ofBoolean; KayitDurumu: String[lO]; IsTiming,IsTiming02: Boolean; Counter : Integer;

tempUrunler : Array[l..40000] of TU run; EskiUrunKodu: String[IO];

DuzeltmeSonu: Boolean; { Status

(24)

implementation uses Sifre; {$R *.DFM} procedure FileToTemp; var i: Integer; begin AssignFile(FUT,'TempUrunler.wwa'); Re Write(FUT);

for i:=O to FileSize(FUrun)-1 do begin Seek(FUrun,i); Read(FUrun, Urun); Seek(FUT,FileSize(FUT)); Write(FUT,Urun); end; CloseF ile(FUT); AssignFile(FST,'TempSatis.wwa'); ReWrite(FST);

for i:=O to FileSize(FSatis)-1 do begin Seek(FSatis,i); Read(FSatis,Urun); Seek(FST,FileSize(FST)); Write(FST ,Urun); end; CloseFile(FST);

AssignFile(FS T, 'TempSatis. wwa'); Re Write(FST);

for i:=O to FileSize(FSatis )-1 do begin Seek(FSatis,i);

(25)

Read(FSatis, Urun); Seek(FST,FileSize(FST)); Write(FST ,Urun); end;

CloseFile(FST);

AssignFile(FYT ,'Temp Yerler. wwa'); Re Write(FYT);

for i:=O to FileSize(FYerler)-1 do begin Seek(FYerler,i);

Read(FY erler, Yerler); Seek(FYT,FileSize(FYT)); Write(FYT, Yerler); end; CloseFile(FYT); end; procedure TempToFile; var i: Integer; begin Re Write(FUrun);

AssignFile(FUT ,'TempUrunler. wwa'); {$i-}Reset(FUT); {$i+}

iflOResult<>O then Re Write(FUT); for i:=O to FileSize(FUT)- 1 do begin

Seek(FUT ,i); Read(FUT ,Urun); Seek(FUrun,FileSize(FUrun)); Write(FUrun, Urun); end; CloseFile(FUT);

(26)

AssignF ile(FST, 'TempSatis. wwa'); { $i,.} Reset(FST); { $i+}

ifIOResult<>O then Re Write(FST); for i:=O to FileSize(FST)-1 do begin

Seek(FST,i); Read(FST ,Urun); Seek(FSatis,FileS ize(FSatis)); Write(FSatis,Urun); end; CloseFile(FST); Re Write(FY erler); AssignFile(FYT,'Temp Yerler.wwa'); {$i-}Reset(FYT); {$i+}

ifIOResult<>O then Re Write(FYT); for i:=O to FileSize(FYT)-1 do begin

Seek(FYT,i); Read(FYT, Yerler);

Seek(FYerler,FileSize(FYerler)); Write(FY erler, Yerler);

end; CloseFile(FYT); end; procedure sortByName;

var

i,j : Integer; flag: Boolean; tempUrun : TUrun; FSize : Integer; begin

(27)

for i:=O to FileSize(FUrun)-1 do begin Seek(FUrun,i);

Read(FUrun,tempUrunler[i+ 1 ]); end;

flag:=False;

while flag=False do begin flag:=True;

for i:=1 to FileSize(FUrun)-1 do begin

iftempUrunler[i].UrunAdi>tempUrunler[i+ 1].UrunAdi then begin flag:=false;

tempUrun:=tempUrunler[i];

tempUrunler[i]:=tempUrunler[i+ 1]; tempUrunler[i+ 1] :=temp Urun; end; end; end; FSize:= FileSize(FUrun); Re Write(FUrun); j:=O;

for i:=1 to FSize do begin Seek(FUrun,FileSize(FUrun)); iftempUrunler[i].F='*' thenj:=j+l; tempUrunler[i].SiraNo:=IntToStrG); Write(FUrun,tempUrunler[i]); end; end; end; procedure kodduzenle; var i: Integer;

liste: array[l..10000] ofString[40]; temp : string[40];

(28)

begin

with forml do begin

for i:=O to' FileSize(FUrun)- 1 do begin Seek(FUrun,i);

Read(FUrun, Urun); liste[i+ 1 ]:=Urun.UrunAdi; end;

foundedı=false;

while not founded do begin founded:=True;

for i:=l to FileSize(FUrun)-1 do begin ifliste[i]>liste[i+ 1] then begin

temp:=liste[i]; liste[i] :=liste[i+ 1 ]; liste[i+ 1] :=temp; founded: =false; end; end; end;

for i:=O to FileSize(FUrun)-1 do begin Seek(FUrun,i); Read(FUrun,Urun); Urun.UrunAdi:=Liste[i+ 1 ]; Seek(FUrun,i); Write(FUrun, Urun); end; end; end; procedure printing; var i,N : Integer; xfark,yfark : Integer; begin N:=60; xfark:=10; yfark:=180;

(29)

with forml do begin

J

for i:=O to FileSize(FUrun),-1do begin

Seek(FUrun,i);

Read(FUrun,Urun);

ifi mod N=Othen begin

Printer.Beginfroc;

Printer.Canvas.Font.Style:=Printer.Canvas.Font.Style+[fsbold];

Printer.Canvas.Font.Size:=16;

Printer.Canvas.Textüut(xfark+ 1000,yfark-80,'STOK LIST

');

Printer.Canvas.Font.Size:=13;

Printer.Canvas.TextOut(xfark+2000,yfark- 100,DateToStr(Now));

Printer.Canvas.Textüut(xfark+ 100-20 ,yfark+40,'No');

Printer.Canvas.TextOut(xfark+45 0-20 ,yfark+40,'Product Code');

Printer.Canvas.Textüut(xfark+ 1050-20,yfark+40,'Product Name');

Printer.Canvas.Textüut(xfark+ 1850-20,yfark+40,'Unit');

Printer.Canvas.Font.Style:=Printer.Canvas.Font.Style-[fsbold];

Printer.Canvas.Font.Size:=11;

end;

Printer.Canvas.Textüut(xfark+ 100 ,(i mod N)*45+yfark+ 100,Urun.SiraNo);

Printer.Canvas.Text0ut(xfark+450 ,(i mod N)*45+yfark+ 100,Urun.UrunKodu);

Printer.Canvas.Textüut(xfark+ 1050,(i mod N)*45+yfark+ 100,Urun.UrunAdi);

Printer.Canvas.Text0ut(xfark+1850,(i mod N)*45+yfark+ 100,Urun.Adet);

if (i mod N=N-l)or(i=FileSize(FUrun)-1) then begin

Printer.EndDoc;

end;

end;

end;

end;

procedure DeleteFromYerler;

var

i: Integer;

FTYerler: File ofTAlinanYerler;

(30)

begin

AssignFile(Ft Yerler ,'Temp Yerler. ww.a'); Re Write(Ft Yerler);

for i:=O to FileSize(FY erler )-1 do begin Seek(FY erler,i);

Read(FY erler, TY erler);

if forml.Edit2.Text<>TYerler.UrunKodu then begin Seek(Ft Yerler ,FileS ize(Ft Yerler));

Write(FtYerler,TYerler); end;

end;

Re Write(FY erler);

for i:=O to FileSize(FtYerler)-1 do begin Seek(Ft Yerler,i);

Read(Ft Yerler, TY erler); Seek(FYerler,FileSize(FYerler)); Write(FY erler, TY erler); end; CloseFile(FtYerler); end; procedure FillListView;

var

i,j : Integer; begin

with Forml do begin ListViewl .Items.Clear; ListViewl .Columns.Clear; Columnsr=Listviewl .Columns.Add; Columns.Caption:='No'; Columns. Width:=60; Columns:=ListViewl .Columns.Add; Columns.Caption:='Product Code'; Columns. Width:= 100;

(31)

Columns:=List View 1. Columns.Add;

I

Columns. Caption:='Product Name'; Columns. Width:=300;

Columrıs=ListViewl .Columns.Add; Columns. Caption:='U nit';

Columns. Width.=vü;

for i:=O to FileSize(FUrun)- 1 do begin Seek(FUrun,i);

Read(FUrun, Urun); ifUrun.F='*' then begin

Items:=ListViewl .Items.Add; Items.Caption:=Urun.SiraNo; Items.Subltems.Add(Urun.UrunKodu); Items. Subitems.Add(Urun.UrunAdi); Items.Subltems.Add(Urun.Adet ); end; end; end; end; procedure InitialValues; var i: Integer; begin

with Forml do begin Edit I .Text:="; Edit2.Text:="; Edit3.Text:="; Edit4.Text:="; Edit5.Text:="; Edit 6. Textr="; Edit7.Text:="; Edit8.Text:="; Edit9.Text:=";

(32)

Editl I.Text:="; Editl2.Text:="; Edit13.Text:=";

for i:=1 to Gridl.RowCount-1 do begin Gridl .Rows[i].Clear; end; Gridl .RowCount:=2; Gridl .Col:=1; Gridl.Cells[O, 1 ]:='1 '; end; end; procedure AlllnVisible; begin

with Forml do begin GroupBoxl .Visible:=False; GroupBox2.Visible:=False; GroupBox4.Visible:=False; GroupBox5.Visible:=False; GroupBox6.Visible:=False; GroupBox7.Visible:=False; GroupBox8.Visible:~False; GroupBox9.Visible:=False; GroupBoxlO.Visible:=False; GroupBoxl l .Visible:=False; end; end;

function StringWithFormat(S : String): String; begin

iflength( s)>9 then begin insert('.',s,length(s)-2); insert('.' ,s,length( s)-6); insert('.',s,length(s)-1 O);

(33)

end

,

else if length( s)>6 then begin insert('.',s,length(s)-2); insert('.',s,length(s)-6); end

else if Length( s)> 3 then begin insert('.',s,length(s)-2);

end; Result:=S; end;

function StringWithUnFormat(S : String) : String; var

i: Integer; St: String; begin

St·="·

.

'

for i:=1 to Length(S) do begin if S[i]<>'.' then begin

St:=St+S[i]; end;

end; Result:=St; end;

procedure TForml.FormCreate(Sender: Tübject); begin

Top:=10; Left:=10;

AssignFile(FUrun,'Urunler. wwa'); {$i-}Reset(FUrun);{$i+}

iflOResult<>O then Re Write(FUrun); AssignF ile(FSatis, 'SatilanUrunler. wwa');

(34)

AssignF ile(FY erler,' Al inan Yerler. wwa');

I

{$i-}Reset(FYerler);{$i+}

ifIOResult<>O then ReWrite(FYerler);

AllinVisible;

GroupBoxl. Visible:=True;

InitialValues;

GroupBox3.Top:=10; GroupBox3.Left:=10;

GroupBox4.Top:=45; GroupBox4.Left:=200;

GroupBox9.Top:=100; GroupBox9.Left:=10;

GroupBoxl .Top:=80; GroupBoxl .Left:=200;

image3.Top:=200;

Gridl .ColWidths[O]:=20;

Grid1.ColWidths[1] :=200;

Gridl.Co1Widths[2]:=80;

Gridl.RowHeights[0]:=17;

Gridl .RowHeights[1] :=17;

Gridl.Cells[l,O]:=' (Explanation) Purchased Firm';

Gridl.Cells[2,0]:='

Price';

Gridl .Cells[O,1 ]:='1';

Counter:=O;

TempToFile;

end;

procedure TForml .FormKeyPress(Sender: Tübject; var Key: Char);

begin

if not Status[l] then begin

if Key=# 13 then begin

Key:=#0~·

PostMessage(Handle,WM_KEYDOWN,09,0);

end;

end;

Status[l] :=False;

if Key=#27 then begin

if (DuzeltmeSonu)and(GroupBox2.Visible) then begin

(35)

Showmessage('Henüz Kaydedilmedi!'); end else begin AlllnVisible; im.age3.Visible:=True; SpeedButton2.Visible:=False; GroupBox3. Visible:=True; RadioGroup l .Itemlndex:=-1; Label? .Visible:=False; Edit2.Enabled:=True; Edit3 .Enabled:=True; Edit4.Enabled:=True; Edit5.Enabled:=True; Edit6.Enabled:=True; Edit 11.Enabled:=True; Gridl .Enabled:=True; Label6.Visible:=True; Labell2.Visible:=True; Edit6.Visible:=True; Edit 11.Visible:=True; Label12.Top:=192; Editl l.Top:=192; end; end; end;

procedure TForml .RadioGroup 1 Click(Sender: TObject); begin

if Radio Group 1.Itemlndex=O then begin AlllnVisible;

GroupBox2.Visible:=True; Initial Values;

Edit2.SetFocus;

(36)

KayitDurumu:='Y eni';

GroupBox2.Caption:='New Record Product'; lmage3

.Visible.=False; ~

end

else if Radio Group l .Itemlndex= 1 then begin Allin Visible;

GroupBox5.Visible:=True; InitialV alues;

Edit7. SetF ocus; Label7. Visible:=True; KayitDurumu:='Giriş'; SpeedButton2.Visible:=True; Image3.Visible:=False; BitBtnl .Visible:=false; end

else if Radio Group 1 .Itemlndex=2 then begin Allin Visible;

GroupBoxS.Visible:=True; InitialValues;

Edit7. SetF ocus; Label7. Visible:=True; KayitDurumu:='Çıkış'; SpeedButton2.Visible:=True; Image3.Visible:=False; BitBtnl .Visible:=true; end

else if RadioGroup 1.Itemlndex=3 then begin Allin Visible; GroupBox4.Visible:=True; InitialV alues; sortByName; F illListView; Label7. Visible:=True; Image3.Visible:=False;

(

(37)

end

else if RadioGroup 1.Itemlndex=4 then begin

ifMessageDlg('Are you sure ?',mtConfırmation,[mbYes,mbNo],O)=mrYes then begin Printing; end else begin RadioGroup l .ltemlndex:=-1; end; end

else if RadioGroup 1.Itemlndex=5 then begin Allln Visible; GroupBox5. Visible:=True; InitialValues; Edit7. SetFocus; Label7.Visible:=True; SpeedButton2. Visible:=True; KayitDurumu:='Düzeltme'; Image3. Visible:=False; end

{ else ifRadioGroupl.Itemlndex=6 then begin AlllnVisible; GroupBoxl .Visible:=True; Edit 1. SetFocus; InitialValues; sortByName; FillL istView; Label? .Visible:=True; Image3. Visible:=False; end}

else ifRadioGroupl.Itemlndex=6 then begin IsTiming:=True;

end;

(38)

procedure TForml.GridlKeyDown(Sender: Tübject; var Key: Word; Shift: TShiftState ); var i: Integer; founded: Boolean; foundedindex : Integer; st: String; begin

if Key= 13 then begin

if (Gridl.Cells[l,Gridl.Row]<>")and(Gridl.Row=Gridl.RowCount-1) then begin

Status[I

J:=True;

ifGridl.Col=I then begin

Gridl.Col:=2;

end

else if (Gridl.Co1=2) then begin

Gridl .RowCount:=Gridl .RowCount+ 1;

Gridl .Row:=Gridl .Row+1;

Gridl.RowHeights[Gridl.Row]:=17;

Gridl .Cells[O,Gridl.Row]:=IntToStr(Gridl .Row);

Gridl .Col:=1;

end;

end

else begin

{---Kaydet---}

St:='Do You Want Save İnformation?';

ifMessageDlg(St,mtConfirmation,[ mbYes,mbNo],O)=mrYesthen begin

founded:=False; foundedindex:=-1;

for i:=O to FileSize(FUrun)-1 do begin

Seek(FUrun,i);

Read(FUrun,Urun);

ifCompareText(Urun.UrunKodu,Edit2.Text)=O then begin

founded:=true;

(39)

end; end; Urun.SiraNo:=IntToStr(FileSize(FUrun)+ 1 ); Urun.UrunKodu:=Edit2.Text; Urun.UrunAdi:=Edit3.Text; Urun.RafNo:=Edit4.Text; Urun.Adet :=Edit5. Text; Urun.SFiyat:=Edit6. Text; Urun.SFiyat2:=Editl I.Text; Urun.Tarih:=DateToStr(Now); Urun F·='*'·

. .

'

if not founded then begin

Seek(FUrun,FileSize(FUrun));

end

else begin

DuzeltmeSonu:=False;

Seek(FUrun,foundedindex);

end;

Write(FUrun,Urun);

if KayitDurumu='Düzeltme' then begin

for i:=O to FileSize(FSatis)-1 do begin

Seek(FSatis,i);

Read(FSatis,Urun);

ifUrun.UrunKodu=EskiUrunKodu then begin

Urun.UrunKodu:=Edit2.Text;

Urun.UrunAdi:=Edit3.Text;

Urun.RafNo:=Edit4.Text;

Urun.SFiyat:=Edit6.Text;

Urun.SFiyat2:=Editl 1.Text;

Seek(FSatis,i);

Write(FSatis,Urun);

end;

end;

(40)

DeleteFrom Yerler;

for i:=1 to Gridl.RowCount-1 do begin Yerler .UrunKodu:=Edit2. Text; Yerler. Yer:=Gridl .Cells[l ,i]; Yerler .AFiyat:=Gri~ 1. Cells[2,i]; Yerler.F:='*';

if Gridl.Cells[l,i]<>" then begin Seek(FYerler,FileSize(FYerler)); Write(FY erler, Yerler);

end; Gridl .Rows[i].Clear; end; SortByName; Gridl .RowCount:=2; Initial Values; if (KayitDurumu='Giriş')or(KayitDurumu='Çıkış')or(KayitDurumu='Düzeltme') then begin Alllnvisible; InitialValues; GroupBox3. Visible:=True; RadioGroup 1 .Itemlndex:=- 1; Image3 .Visible:=True; Label7 .Visible:=False; end; end else begin InitialValues; Edit2.SetFocus; end; File To Temp; end; end; end;

(41)

procedure TForml.Edit7KeyDown(Sender: Tübject; var Key: Word; Shift: TShiftState ); var i: Integer; founded: Boolean; begin

if Key= 13 then begin ( AlllnVisible;

GroupBox2.Visible:=True; SpeedButton2.Visible:=false; EskiUrunKodu:=Edit7. Text;

ifKayitdurumu<>'Düzeltme' then begin if KayitDurumu='Giriş' then begin

GroupBox2. Caption:='Record Product'; GroupBox6.Caption:='Unit Record Product'; end;

if KayitDurumu='Çıkış' then begin

GroupBox2.Caption:='Unit Record Product'; GroupBox6.Caption:='Unit Take Out Product'; Gridl .Enabled:=False; end; Edit2.Enabled:=False; Edit3.Enabled:=False; Edit4.Enabled:=False; Edit5.Enabled:=False; Edit6.Enabled:=False; Edit 11 .Enabled:=False; Gridl .Enabled:=False; DuzeltmeSonu:=False; end else begin GroupBox2.Caption:='Düzeltme'; DuzeltmeSonu:=True;

(42)

founded:=false; i:=O;

while (i<FileSize(FUrun))and(not founded) do begin Seek(FU run,i);

Read(FUrun,Urun);

if (CompareText(Edit7.Text,Urun.UrunKodu)=O)and(Urun.F='*') then begin Edit2. Text:=Urun. UrunKodu;

Edit3.Text:=Urun.UrunAdi; Edit4.Text:=Urun.RafNo; Edit5.Text:=Urun.Adet; Edit6.Text:=Urun.SFiyat; Editl l.Text:=Urun.SFiyat2; ifEdit6.Text=" then begin

Label6.Visible:=False; Edit6.Visible:=False; Labell2.Top:=Label6.Top; Editl l.Top:=Edit6.Top; end;

ifEditl I.Text=" then begin Labell2.Visible:=False; Editl l.Visible:=False; end;

if KayitDurumu='Düzeltme' then Urun.F:=' '; founded:=true; Seek(FUrun,i); Write(FUrun, Urun); end; i:=i+ 1; end;

if founded then begin

Gridl.Row:=1; Gridl.RowCount:=2; for i:=O to FileSize(FYerler)-1 do begin

Seek(FYerler,i); Read(FY erler, Yerler);

(43)

ifYerler.UrunKodu=Edit2.Text then begin

Gridl .Cells[O,Gridl .Row]:=IntToStr(Gridl .Row); Gridl .Cells[l ,Gridl .Row]:=Yerler.Yer;

Gridl ,Cells[2,Gridl .Row]:=Yerler.AFiyat; Gridl .RowCount:=Gridl .RowCount+ 1; Gridl .Row:=Gridl .Row+ 1;

Gridl.RowHeights[Gridl.Row]:=17; end;

Gridl .Cells[O,Gridl .Row]:=IntToStr(Gridl .Row); end;

end else begin

ShowMessage('This Product not Record .. .'); Alllnvisible;

GroupBox5. Visible:=True; Edit7. SetFocus;

end;

if founded then begin

if (StrTolnt(Urun.Adet )>O)or(KayitDurumu='Giriş') then begin ifKayitDurumu<>'Düzeltme' then begin

GroupBox6. Visible:=True; Edit8. SetF ocus;

end; end

else if StrTolnt(Urun.Adet)=O then begin

MessageDlg('This Product not Found.',mtWarning,[mbOk],O); if KayitDurumu<>'Düzeltme' then begin

Alllnvisible; InitialValues; GroupBox3. Visible:=True; RadioGroup l .Itemlndex:=-1; end; end;

(44)

end; end;

procedure TForml.Edit8KeyDown(Sender: TObject; var Key: Word;

-

Shift: TShiftState);

var

i: Integer;

founded: Boolean;

begin

if Key= 13 then begin

ifMessageDlg('Are you sure?',mtConfırmation,[mbYes,mbNo],O)=mrYesthen begin

GroupBox6.Visible:=False;

ifKayitDurumu<>'Çıkış' then begin

Gridl .Enabled:=True;

Gridl .SetFocus;

end;

i:=O; founded:=False;

while (not founded)and(i<FileSize(FUrun))do begin

Seek(FUrun,i);

Read(FUrun,Urun);

ifCompareText(Urun.UrunKodu,Edit2.Text)=O then begin

if StrTolnt(Urun.Adet)-StrTolnt(Edit8.Text)>O then begin

if (StrTolnt(Urun.Adet)>O)and(StrTolnt(Urun.Adet)<=1 )then MessageDlg('This

Product is Low.',mtWarning,[mbOk],O);

end;

if (StrTolnt(Urun.Adet)=O)thenbegin

MessageDlg('This Product not Fond.. .',mtWarning,[mbOk],O);

end

else begin

ifKayitDurumu='Giriş' then begin

Urun.Adet:=IntToStr(StrTolnt(Urun.Adet)+StrTolnt(Edit8.Text));

end;

ifKayitDurumu='Çıkış' then begin

GroupBox7.Visible:=True;

(45)

Urun.Adet:=IntToStr(StrTolnt(Urun.Adet)-StrTolnt(Edit8.Text)); if Edit6.Text<>" then begin

LabellO.Caption:='$'; Edit9.Text:=StringWithFormat(FloatToStr(DolarKuru*StrToFloat(Edit6.Text)*StrToFl oat(Edit8. Text))); Edit10.Text:=StringWithFormat(FloatToStr(StrToFloat(Edit6.Text)*StrToFloat(Edit8.T ext))); end else begin Labell O.Caption:='£'; Edit9.Text:=StringWithFormat(FloatToStr(SterlinKuru*StrToFloat(Editl 1.Text)*StrTo Float(Edit8. Text))); EditlO.Text:=StringWithFormat(FloatToStr(StrToFloat(Editl l.Text)*StrToFLoat(Edit8 .Text))); end; end;

if (StrTolnt(Urun.Adet )>O)and(StrTolnt(Urun.Adet )<=3 )then MessageD lg('This Product is Low .. .',mtWarning,[mbOk],O);

if (StrTolnt(Urun.Adet)=O)then MessageDlg('This Product in not Remaining.',mtWarning,[mbOk],O);

if Strtolnt(Urun.Adet)>=O then begin Seek(FUrun,i);

Write(FUrun, Urun); Edit5. Text:=Urun.Adet;

if KayitDurumu='Çıkış' then begin Urun.Adet:=Edit8. Text;

Urun.Tarih:=DateToStr(now); Seek(FSatis,FileSize(FSatis) ); Write(FSatis, Urun);

(46)

end; end else begin

MessageDlg('This Product not Request in Stok!',mtWarning,[mbük],O); Allln Visible;

GroupBox3. Visible:=True; Radio Group 1 .Itemlndex:=- 1; end; founded:=true; end; end; i:=i+ 1; end; end else begin Alllnvisible; InitialValues; GroupBox3. Visible:=True; RadioGroup 1 .Itemlndex:=- 1; end; FileToTemp; end; end;

procedure TForml .FormClose(Sender: Tübject; var Action: TCloseAction); begin CloseFile(FUrun); CloseFile(FYerler); CloseF ile(FSatis); IsTiming:=True; Password. Close; end;

(47)

var

i,j : Integer; begin

GroupBox8.Visible:=not GroupBox8.Visible; List View3 .Items. Clear;

ListView3.Columns.Clear;

Columns:=List View3 .Columns.Add; Columns.Caption:='No'; Columns. Width:=60; Columns:=ListView3.Columns.Add; Columns.Caption:='Product Code'; Columns.Width:=100; Columns:=ListView3.Columns.Add; Columns.Caption:='Product Name'; Columns. Width:=250; Columns:=ListView3.Columns.Add; Columns. Caption:='Unit'; Columns. Width:=90; j:=O;

for i:=0 to FileSize(FUrun)-1 do begin Seek(FUrun,i);

Read(FUrun,Urun);

Urun.SiraNo:=IntToStr(i+ 1 ); Seek(FUrun,i);

Write(FUrun,Urun); ifUrun.F='*' then begin

j:=j+ 1; Items:=ListView3.ltems.Add; Items.Caption:=IntToStrG); Items.Subltems.Add(Urun.UrunKodu); Items.Subltems.Add(Urun.UrunAdi); ltems.Subltems.Add(Urun.Adet); end;

(48)

end;

procedure TForml .ListBoxl Click(Sender: TObject); var i: Integer; begin ListView4.ltems.Clear; ListView4.Columns.Clear; Columns:=ListView4.Columns.Add; Columns.Caption:='Ürün Kodu'; Columns. Width:=80; Columns:=ListView4.Columns.Add; Columns. Caption:='Ürün Adı'; Columns. Width:=21 O;

Columns:=ListView4.Columns.Add; Columns.Caption:='Adet';

Columns. Width:=60;

for i:=O to FileSize(FSatis)-1 do begin Seek(FSatis,i);

Read(FSatis, Urun);

if (Urun.F='*')and(Urun.Tarih=ListBoxl .ltems[ListBoxl .ltemlndex]) then begin ltems:=ListView4.ltems.Add; Items. Caption:=Urun.UrunKodu; ltems.Subltems.Add(Urun.UrunAdi); Items. Subltems.Add(Urun.Adet ); end; end; end;

procedure TForml.Edit12KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

begin

if Key= 13 then begin try

(49)

DolarKuru:=StrTolnt(StringWithUnFormat(Editl.Text)); SterlinKuru:=StrTolnt(StringWithUnFormat(Editl2.Text)); AlllnVisible; GroupBox3. Visible:=True; image3.Top:=300; Label14.Visible:=True; Label 19. Visible:=True; Label14.Caption:='Dolar. ... : '+Editl.Text; Label19.Caption:='Sterlin .. : '+Edit12.Text; except on EConvertError do begin

ShowMessage('Geçersiz Değerler Girildi!!'); Edit 1 .Text:="; Editl2.Text:="; end; end; end; end;

procedure TForml.Timerl Timer(Sender: Tübject); begin

iflsTiming then begin AlllnVisible; Imagel.Visible:=False; Image2.Visible:=False; Image3.Visible:=False; GroupBoxl O. Visible:=True; Counter:=Counter+ 1; if Counter=2 then begin

Close; end; end;

(50)

IsTiming02:=False; Timerl .lnterval:=1000; end;

end;

procedure TForml .Edit2KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState );

var

ı :

Integer;

founded: Boolean;

begin

if Key= 13 then begin

founded:=False;

for i:=O to FileSize(FUrun)-1 do begin

Seek(FUrun,i);

Read(FUrun,Urun);

if ((CompareText(Edit2.Text,Urun.UrunKodu)=O)and(Urun.F='*'))then begin

founded:=True;

end;

end;

if founded then begin

ShowMessage('This Code Exist...');

Edit2.SetFocus;

end;

end;

end;

'ıJ

'' ''

procedure TForml.Edit13KeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

begin

if Key= 13 then begin

if CompareStr(Edit 13.Text,'1 ')=0 then begin

AllinVisible;

(51)

MaskEditl .SetFocus; Image3.Visible:=False; MaskEditl .Text:="; MaskEdit2. Text:="; ListBoxl .Items.Clear; ListView4.Items.Clear; IsTiming02:=True; Timerl .Interval:=1; end else begin Edit 13.SelectAll;

Label18.Caption:='Lütfen Tekrar Deneyin'; end;

end; end;

procedure TForml.MaskEdit2KeyDown(Sender: Tübject; var Key: Word; Shift: TShiftState ); var i: Integer; TarihOl : TDate; IsDatesTrue: Boolean; begin

if Key= 13 then begin ListBoxl .Items.Clear; IsDatesTrue:=True; try

TarihOl :=StrToDate(MaskEditl .Text); except

on EConvertError do begin

ShowMessage('Lütfen Tarihi Doğru Giriniz'); IsDatesTrue:=False;

(52)

end;

r:

v" ., ,.

=,

,.

.

'\

\\ 2.

.

..

.-·\,,\ v

·

cf

~.

1'

~~ }'n#x~//

,.._ ;;·88 • \,: ~ .::--:_..-,,:::;

try

TarihOl:=StrToDate(MaskEdit2.Text);

except

on EConvertError do begin

ShowMessage('Lütfen Tarihi Doğru Giriniz');

IsDatesTrue:=False;

MaskEdit2.SetFocus;

end;

end;

if IsDatesTrue then begin

for i:=O to FileSize(FSatis)-1 do begin

Seek(FSatis,i);

Read(FSatis,Urun);

if (ListBoxl

.Items.IndexOf(Urun.Tarih)=-l )and(StrToDate(MaskEdit.Items.IndexOf(Urun.Tarih)=-l .Text)&.Items.IndexOf(Urun.Tarih)=-lt;=StrToDate(Urun.Tarih))and(StrToDate(MaskEdit2

.Text)>=StrToDate(Urun.Tarih)) then begin

ListBoxl.Items.Add(Urun.Tarih);

end;

end;

end;

end;

end;

procedure TForml.Edit13Change(Sender: TObject);

begin

Labell 8.Caption:=";

end;

procedure TForml.GroupBox6Click(Sender: TObject);

begin

edit8.setfocus;

end;

(53)

CONCLUSION

The program are used by to small firms. And it is understtod that it can be used without

any exceptions. With all this it is suitable to improvement.

In the next time when a programmer decided to improve this program it can be easily

done. And the data base file of this program can be used by the other programing

language that support the paradox 7. O. beacuse the database file was preapared as

paradox.

The program cant support MID (Multiple Interface Data). But multiple user can use the

database at the same time.

(54)

REFERENCES

1.Cahit AKIN, Delphi 5, Alfa LTD, İstanbul/TÜRKİYE

Referanslar

Benzer Belgeler

As a start, you may like to use say 25 thou for signal tracks, 50 thou for power and ground tracks, and 10-15 thou for going between IC and component pads.. Good design practice is

1.1 Overview Of Transmission Line Modeling 1.2 Distributed Transmission Line Parameter 1.3 Lumped Transmission Line Parameters.. 1.4 Lumped Parameter Transmission

ASP is a feature of the Microsoft Internet Information Server (IIS), but, since the server-side script is just building a regular HTML page, it can be delivered to ahnost

The Boolean data type is used to declare a variable whose value would be set as true (1) or false (O). To declare such a value, you use the Boolean

Corrosion of electrodes due to oxidation and direct chemical attack is sometimes a problem to be considered. Bare copper acquires a protective oxide film under normal

The Oracle implementation is packaged into two different distributions: The Java Runtime Environment (JRE) which contains the parts of the Java SE platform required to run

a) Plates. These are generally made from copper, zinc, steel, or cast iron, and may be solid or the lattice type. Because of their mass, they tend to be costly. With the steel

Calculus also provides important tools in understanding functions and has led to the development of new areas of mathematics including real and complex analysis,