Menu
Strona główna
Hacking
Programowanie
Telefonia Komórkowa
Kody do Gier
Linux
Dlaczego?
Programowanie w Delphi
Mapa strony
 Programy
Systemy
Artykuły PDF

Security

Skanery
Sniffery
Security

Windows

Użytkowe
Przegl±darki graficzne
Kodeki
Narzędzia plikowe
Narzędzia dyskowe
Narzędzia systemowe
Sterowniki
Szyfrowanie danych
Zarz±dzanie hasłami
Zarz±dzanie rejestrem
£aty i Patche
Zarz±dzanie pamięci±
Synchronizacja czasu
Nagrywanie płyt
Free Antivirus (Darmowe Antyvirusy)
Sterowniki
Obróbka d¼więku
Edycja wideo

Internetowe

Bezpieczeñstwo
Programy P2P
Komunikatory
Dodatki do przegl±darek
Klienty poczty elektronicznej
Narzędzia Antyspamowe
Przegl±darki grup dyskusyjnych
Przegl±darki Offline
Serwery poczty elektronicznej
Telefonia komórkowa
Wyszukiwarki internetowe
Zdalny dostęp
Cybernianie
Klienty FTP
Narzędzia internetowe
Prywatnośc
Przegl±darki internetowe
Serwery FTP
Serwery WWW
Wspomagacze ści±gania
Zarz±dzanie sieci± lokaln±

Tuning Systemu

Diagnostyka i testowanie
Inne
Rozszerzenia pulpitu
Tapety na pulpit
Tuning Systemu
Ikony
Powłoki
Tuning sprzętu
Wygaszacze ekranu

Programowanie

Kompilatory
Biblioteki i komponenty
Bazy danych
Edytory programistyczne
¦rodowiska programistyczne
Debugery
Tworzenie wersji instalacyjnych

Webmastering

Użytkowe
Kursy

Linux

Użytkowe
Internetowe
Multimedialne

Programy biurowe

Programy dla firm
Pakiety biurowe
Administracja
Edytory tekstu
Grafika prezentacyjna
Kadry i płace
Wspomaganie projektowania
Zarz±dzanie projektami
Bazy danych
Finanse i księgowośc
Handel
Programy ewidencyjne
Zarz±dzanie informacj± osobist± (PIM)
 Download GRY
Pelne Wersje GIER
 Artykuy > Programowanie w Delphi > Fakturując w Delphi: Pokaż Mi Pieniądze

Fakturując w Delphi: Pokaż Mi Pieniądze

 

Czy szukasz drogi oswoić faktury w twoim małym biznesie? W tym artykule, pierwszej z dwóch części, będziemy tworzyli w pełni działanie fakturujące system, który może zostać użyty w prawie jakieś środowisko i sytuacja. Zainteresował? Trzymaj czytanie.

Pokaż Mi Pieniądze

Ponieważ to będą miejscowym podaniem i nie klient klientem - serwerem jednym, będziemy używali Microsoft Dostęp bazy danych jako przechowywanie. Też będziemy używali własnościowych komponentów bazy danych trochę Microsoft, zadzwonionego ADO, zrobić związek do bazy danych Dostępu. Artykuł będzie widoczny jak przejść przez proces bycie człowiekiem sukcesu do miejscowej bazy danych, stopniowo.

Tak jakie są wymaganie dla naszego fakturującego podania? Zobacz listę poniżej:

* Nasze podanie musi zrobić to łatwe, by utworzyć nową fakturę.

* Podanie musi mieć opcję, by oglądnąć fakturę w zarówno krótkie i szczegółowe widoki.

* Podanie musi mieć zdolność, by albo być w druku albo utworzyć PDF faktury.

* Podanie musi mieć udogodnienie przeszukać.

* Podanie musi mieć zdolność, by usunąć albo zmienić fakturę.

* Podanie powinno utworzyć, zmienia i dodaje klientów.

Tylko kilka słów cautionary wcześniej zaczynamy. Podanie faktury zostało utworzone z Delphi Borland 7 i szczęśliwie zostało przetestowane na zarówno Windows 2000 i Windows XP. To może albo nie może pracować nad innymi systemami Windows. Podanie jest przeznaczone dla niskiego użycia tomu, odtąd użycie Access MS. Ponieważ Access MS jest przeznaczony dla niskiej działalności tomu, to mogłoby zwolnić twoje podanie, jeżeli przeładowujesz bazę danych, więc spróbować usunąć zbyteczne dane od tak często jak bazy danych możliwego, albo dobrego jeszcze, zmiana na bazę danych, który może radzić większe tomy danych takie jak MySQL albo SQL MS.

Fakturując w Delphi: Pokaż Mi Pieniądze - Budując Bazę danych

Baza danych będzie miała tylko dwa stoły: stół Klientów, by trzymać informację klienta i stół Faktur, by trzymać informację faktury. W Microsoft Dostęp tworzą te dwa stoły z poszły za polem:

Stół dla klientów:

* clientno - tworzy unikalnego id dla każdego nowego klienta.

* imię - sklep imię dla każdego nowego klienta albo przedsiębiorstwa.

* zwróć do - sklepy adres przedsiębiorstwa.

* email - sklep adres emailowy klienta.

* telefon - sklep telefoniczna liczba klienta.

* faks - sklep liczba faksu klienta.

* kontakt - sklepy imię kontaktu, że będziesz zajmował się z kiedykolwiek jesteś w kontakcie z klientem.

Pole stołu faktur:

* invno - tworzy i gromadzi nowy numer faktury dla każdej nowej faktury, która jest utworzony.

* invname - sklep imię klienta, dla którego faktura została utworzona.

* invdate - sklep data, że faktura została utworzona.

* notatki - sklepy jakaś dodatkowa informacja o fakturze.

Raz utworzyłeś stoły, jedyna rzecz zostawiona, by zrobić ma łączyć ich do podania. Zrobimy to kiedy dyskutujemy kod podania.

Fakturując w Delphi: Pokaż Mi Pieniądze - Budując Interfejs Podania

Zacznij nowy projekt w Delphi i dodaj siedem form do tego. Uratuj części z poszły za imionami:

Unit  Name    Save as...
 unit1           invmain
 unit2           newinv
 unit3           settings
 unit4           stats
 unit5           viewchange
 unit6           viewclients
 unit7           about

W końcu uratuj projekt jako: fakturując. Teraz zamykają się wszystkie inne formy, chyba, że to zapisało jako invmain, ponieważ to jest tym, że potrzebujemy zacząć rozwijać pierwszego. Raz masz Form1 z przodu ciebie, z Standardowej kropli tabulatora komponent Mainmenu na formie. Podwójne kliknąć na to i dodaj poszłe za menu rzeczy:

Plik z rzeczą podmenu zadzwonił Wyjście. Podwójne kliknąć na podmenu wyjścia podobnie i dodaj poszły za kodem:

procedure TForm1.Exit1Click(Sender: TObject); 
begin
  close; 
end;

Teraz utwórz drugą rzecz menu, zadzwonionych Klientów, z rzeczą podmenu zadzwonioną Zarządzają Klientów. Podwójne kliknąć na to i dodaj poszły za kodem:

procedure TForm1.ViewAllClients1Click(Sender: TObject); 
begin 
  form6.show; 
end;

Utwórz trzecie menu podobnie i zadzwoń to Obrabia. Wtedy dodają poszłe za podmenu rzeczy:

Ustawienia

Podwójne kliknąć na powyższe podmenu podobnie i dodaj poszły za kodem:

procedure TForm1.Settings1Click(Sender: TObject); 
begin 
 
form3.show 
end;

Dana

Podwójne kliknąć na powyższe podmenu podobnie i dodaj poszły za kodem:

procedure TForm1.Statistics1Click(Sender: TObject); 
begin 
  form4.show; 
end;

Wtedy utwórz końcową rzecz menu zadzwonioną Pomoc i dodaną rzecz podmenu zajrzała Około. Podwójne kliknąć na to i dodaj poszły za kodem:

procedure TForm1.About1Click(Sender: TObject); 
begin 
  form7.show; 
end;

To jest to dla rzeczy menu. Teraz na formie dodają panel i szeregują to by "wszystek szczyt." Nałożyć panel poszły za komponentami:

Dwa przełączniki - Imię ich rb1 i rb2 kolejno.Wtedy daj im nagłówki: Poszukiwanie przez Imię Faktury i Poszukiwanie przez Numer Faktury.

Tedit - Imię edit "edsearch." Jasny własność tekstu, jeżeli jest jakiś tekst w tym.

Przycisk - nazwij przycisk "btnsearch" i dodaj nagłówek "Poszukiwanie."

Uratuj twoją pracę. Następny, od tabulatora sprawdzań danych dodają siatkę bazy danych i ustawiają jego szeregują własność do wszystkiego klienta. Podwójne kliknąć na siatkę i edytor własności kolumny powinny wejść. Dodaje pięć kolumien i dać im poszły za nagłówkami:

Invoice Number
Invoice Name
Invoice Date
Status

Dodajesz nagłówki przez jechanie do własności tytułu każdej kolumny.

Następny, dodajemy inny panel i ustawiamy jego szeregują własność do "alBottom." Na tym panelu dodają poszły za wiercipiętami:

* Dwa statyczny tekst -- z nagłówkiem nazywa "Suma Fakturuje" i "Aktualna Faktura #."

* Dwie etykiety

* Trzy przyciski, nazwany btnDelete, btnAddInv i btnExit kolejno.

Do trzech przycisków, dodaj poszły za kodem, w rozkazie danego:

btnDelete:

procedure TForm1.btndeleteClick(Sender: TObject);
begin
 
if ado1.RecordCount > 0 then 
  
begin
   
ado1.Delete;
 
end
 
else
   
showmessage('No invoices to delete'); 
end;

btnAddInv:

procedure TForm1.btnAddInvClick(Sender: TObject);
begin
 
ado1.Active:=false;
 
//form1.ado1.TableName:='';
 
form2.show;
end;

btnExit:

procedure TForm1.btnExitClick(Sender: TObject);
begin
  close;
end;

Wtedy w końcu upuść komponent datasource (imię to d1) od tabulatora Dostępu Danych i komponentu stołu ADO (imię to ado1) od Tabulatora Zamieszania. Ustawiony form1 's nagłówek do Kierownika Faktury. To uzupełnia projektowanie na pierwszej formie. Twoja forma powinna spojrzenie coś podobnego do tego:

Fakturując w Delphi: Pokaż Mi Pieniądze - Skończony Kod

Poniżej jest wykazem dla całej głównej części:

unit invmain;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics,
  Controls, Forms,
Dialogs, Buttons, StdCtrls, RpDefine, RpCon,
  RpConDS, DB, ADODB, Grids, 
DBGrids, RpRave, Menus, ExtCtrls,
  ToolWin, ComCtrls,math, INIFiles,
RpRender, RpRenderPDF,
  RpRenderRTF, RpRenderHTML;

type 
  TForm1 = class(TForm) 
    MainMenu1: TMainMenu; 
    PopupMenu1: TPopupMenu; 
    File1: TMenuItem; 
    Windows1: TMenuItem; 
    Clients1: TMenuItem; 
    ools1: TMenuItem; 
    Settings1: TMenuItem; 
    ViewAllClients1: TMenuItem; 
    About1: TMenuItem; 
    Exit1: TMenuItem; 
    Panel1: TPanel; 
    btndelete: TBitBtn; 
    Statistics1: TMenuItem; 
    btnAddInv: TBitBtn; 
    srchpnl: TPanel; 
    rb1: TRadioButton; 
    rb2: TRadioButton; 
    edsearch: TEdit; 
    btnsearch: TBitBtn; 
    BitBtn1: TBitBtn; 
    Label1: TLabel; 
    Label2: TLabel; 
    StaticText2: TStaticText; 
    StaticText3: TStaticText; 
    db1: TDBGrid; 
    ado1: TADOTable; 
    d1: TDataSource; 
    ado1invno: TAutoIncField; 
    ado1invname: TWideStringField; 
    ado1invdate: TDateTimeField; 
    ado1notes: TMemoField; 
    ado1status: TWideStringField; 
    ado1amount: TBCDField; 
    ado1total: TBCDField; 
    procedure File1Click(Sender: TObject); 
    procedure CreateNewInvoice1Click(Sender: TObject); 
    procedure BitBtn2Click(Sender: TObject); 
    procedure db1DblClick(Sender: TObject); 
    procedure Exit1Click(Sender: TObject); 
    procedure FormCreate(Sender: TObject); 
    procedure db1CellClick(Column: TColumn); 
    procedure FormShow(Sender: TObject); 
    procedure btndeleteClick(Sender: TObject); 
    procedure btnAddInvClick(Sender: TObject); 
    procedure Statistics1Click(Sender: TObject); 
    procedure btnsearchClick(Sender: TObject); 
    procedure Settings1Click(Sender: TObject); 
    procedure ViewAllClients1Click(Sender: TObject); 
    procedure About1Click(Sender: TObject); 
    procedure BitBtn1Click(Sender: TObject); 
    procedure ado1AfterPost(DataSet: TDataSet); 
    procedure ado1AfterScroll(DataSet: TDataSet); 
   { procedure ado1AfterPost(DataSet: TDataSet); 
    procedure ado1AfterScroll(DataSet: TDataSet); }

  private 
    { Private declarations }

  public 
    { Public declarations } 
     vat:real; 
     con,rav:string; 
     num:integer; 
  end;

var 
  Form1: TForm1;

implementation

{$R *.dfm}

uses newinv,viewchange, stats, settings, viewclients, about;
procedure TForm1.File1Click(Sender: TObject);
begin
 
close;
end;

procedure TForm1.CreateNewInvoice1Click(Sender: TObject);
begin
 
form2.Show;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
 
close;
end;

procedure TForm1.db1DblClick(Sender: TObject);
begin
 
//num:=db1.Fields[0].AsInteger;
 
num:=ado1.RecNo;
 
ado1.recno:=num;
 
with TForm5.Create(Application) do
 
begin 
 
  ShowModal; 
 
  Free;
 
end;

  //form5.show;
end;

procedure TForm1.Exit1Click(Sender: TObject);
begin
 
close;
end;

procedure TForm1.FormCreate(Sender: TObject);

var
 
settings : TINIFile;

begin
 
settings := TINIFile.Create(ExtractFilePath(Application.EXEName) + 'settings.ini'); 
  try
   
con:=settings.ReadString('Settings', 'con',''); 
  //showmessage(con);
 
vat:=settings.ReadFloat('Settings', 'vat',8.5); 
  //  showmessage(floattostr(vat));
 
rav:=settings.ReadString('Settings', 'rav','');
 
showmessage(rav); 
  finally 
   settings.Free; 
  end; 
  {if (ip= 'Empty') or (port<1) then begin 
    messagedlg('Your connection details are not set. Click ok to continue.', mtInformation,[mbOk], 0); 
     } 
end;

procedure TForm1.db1CellClick(Column: TColumn);
begin
  //a:='clicked';
end;

procedure TForm1.FormShow(Sender: TObject);

var
 
i:integer;

begin
 
//set ado properties
 
ado1.ConnectionString:=con;
 
ado1.TableName:='invoices';
 
ado1.Active:=true;
 
label1.caption:=inttostr(ado1.RecordCount); 
  i:=ado1.RecordCount;
 
label2.Caption:=inttostr(i);
end;

procedure TForm1.btndeleteClick(Sender: TObject);
begin
 
if ado1.RecordCount > 0 then
 
begin
   
ado1.Delete;
 
end
 
else
   
showmessage('No invoices to delete');
end;

procedure TForm1.btnAddInvClick(Sender: TObject);
begin
 
ado1.Active:=false;
 
//form1.ado1.TableName:='';
 
form2.show;
end;

Fakturując w Delphi: Pokaż Mi Pieniądze - Reszta Kodu i Wniosku

procedure TForm1.Statistics1Click(Sender: TObject);
begin
 
form4.show;
end;

procedure TForm1.btnsearchClick(Sender: TObject);
begin
 
if edsearch.Text = '' then showmessage('Please enter a term for the search!') else
 
begin
   
//now check to see that the user selected a search method
   
if not rb1.Checked and not rb2.Checked then begin
     
messagedlg('Either select to search by: '+#13#10+' Invoice number OR Invoice name', mtError , [mbOK], 0);
     
exit;
   
end;
   
//search by invoice name
   
if rb1.Checked then
   
begin
     
if not form1.ado1.Locate('invname',edsearch.Text,[]) then
       
messagedlg(' Invoice for "' +edsearch.Text+ '" was not found', mtError ,[mbOK], 0);
   
end;
   
//search by invoice number 

    if rb2.Checked then
   
begin
     
//check to see if entered value is number, before continuing
     
try
       
StrToInt(edsearch.Text); 
    
  except
       
messagedlg('Please enter a number in the search box.'+#13#10+' You entered "' +edsearch.Text+ '" which is not a number!', mtError , [mbOK],0);
     
exit;
   
end;

    if not form1.ado1.Locate('invno',edsearch.Text,[]) then
     
messagedlg(' Invoice number ' +edsearch.Text+ ' could not be found',

    mtError , [mbOK], 0);
   
end;//end rb2 search
 
end;//edsearch check
end;

procedure TForm1.Settings1Click(Sender: TObject);
begin
 
form3.show
end;

procedure TForm1.ViewAllClients1Click(Sender: TObject);
begin
 
form6.show;
end;

procedure TForm1.About1Click(Sender: TObject);
begin
 
form7.show;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
 
close;
end;

procedure TForm1.ado1AfterPost(DataSet: TDataSet);
begin
 
showmessage('It is done');
 
label1.caption:=inttostr(ado1.RecordCount);
end;

procedure TForm1.ado1AfterScroll(DataSet: TDataSet);
begin
 
label2.caption:=inttostr(ado1.Recno); 
end;
end.

Wniosek

W następnym artykule nie skupimy się tak bardzo na projektowaniu podania, ale raczej na kodzie, który robi to pracuje. Też będziemy wprowadzali fakturę zgłaszającą używanie Poszaleć Donoszącą komponenty.

DISCLAIMER: Zawartość dostarczona w tym artykule nie jest zagwarantowana albo jest gwarantowana przez Producenta Zrzucił, Inc. Zawartość dostarczona jest przeznaczona dla rozrywki i / albo edukacyjne cele żeby wprowadzić do pomysłów klucza czytelnika, pojęć i / albo przeglądy wyrobów. Jako taki to jest ciążące na czytelniku, by zatrudnić prawdziwy światową taktykę dla bezpieczeństwa i wprowadzania najlepszych praktyk. Jesteśmy nie odpowiedzialny za jakieś przeczące konsekwencje, który mogą być skutkiem wprowadzanie w życie jakąś informację zakopaną nasze artykuły albo podręczniki. Jeżeli to jest recenzja sprzętu komputerowego, to nie jest polecone, by otworzyć i / albo zmodyfikować twój sprzęt komputerowy.

komentarz[0] |

Copyright 2006 - 2007 E-comet.info. Wszelkie prawa zastrzeone.

programy,artykuy,gry online,teledyski,filmiki,smieszne reklamy,sterowniki,kodeki,programy,program,download, downloads,security,bramka sms, teledyski,antywirusy,darmowe free program,programy p2p,tapety,programy biurowe,programy dla firm,narzdzia dyskowe,edytory,gry strategiczne,gry przygodowe,gry sportowe, symulatory, gry rpg,gry karciane, gry zrecznosciowe. Zapraszamy.
0.024 |