Gość Napisano Listopad 12, 2005 Zgłoś Share Napisano Listopad 12, 2005 WitamJetsem początkujący w pascalu, i mam mały problem :oops:. Mianowicie chce zrobić program z mozliwością robienia nowych baz danych i wyświetleniem zawartości całej bazy no i jak by to było mozliwe z edycją i usuwaniem z poziomu programu. Czy ktoś moze podesłać mi źródło czegoś podobnego ?? Bo ja juz troszke pracowałem nad taką bazą ale efektów pracy niewidać :cry: Nizej zamieszczam moją dotychczasową baze. Jezeli ktoś ma źródło takiej bazy to prosze o zamieszczenie na forum. [code=Delphi] Uses CRT; Var Imie,nazwisko,telefon,adres,mail,numergg^VKLH[BB[]NBNFSĆłFWC$4TEU$Rw&vGŁ&Vv6%67#%ąąŹ4(]Ń%4(I1mą ); Write('Nazwisko : '); ReadLn( nazwisko[ilosc] ); ]J [Y ĘNBXY[Y[H NB]JtG&W2r&VDĆG&W5śĆ65w&FRvr(I1ąmąt4(]Ń4(I1 numergg[ilosc] ); End; PROCEDURE Wyswietl; Begin CB]J Ó[YH K[ ĘHĘNBXYJNB]S [ZYHrĆUśCw&FTĆtćv6śrĆćv6śśCw%Ń1QąąŃąmt4(]Ń1ąres[d1] ); WriteLn('mail : ',mail[d1] ); WriteLn([Y [YWH NB]SB]J ^H[Xc'5W7F6rw&FRtć6fćVFW\"r##Ł4)4(4(4)AI= UIi4) 4(ĄąŹAZA.MCP'); ReWrite(plik); WriteLn(plik,ilosc); d1:BX]BNYJNB]SZ[ZYVWH NBw&FTĆĆĆćv6śśCw&FTĆĆFVĆVfśC4(]Ń1ĄąŹąmt4(]Ń1ĄąŹąąm`); WriteLn(plik,numergg[d1] ); Until d1=ilosc; C[JZĘNB[BBŃQTH]ZBY[BYZ4$5r&W6WBĆ&VDĆĆĆĆ62CŁÓ(I4(Ź4(I1ĄąŹąmt4(eadLn(plik,nazwisko[d1] ); ReadLn(plik,telefon[d1] ); XYZYWH NBXYZXZ[WH NB&VDĆĆĆVW&vuśCVFCĆ636Ć6RĆ4)4(4) 4(%ą4(I4( ąM4(]Ń.('1. Nowy wpis'); WriteLn('2. Wyświetl wpisy'); Write[ ]^IĘNB]S ^IĘNBFTĆsśćV2&w&Rrw&FRt&ŚF6c'ŃŹ4(I4(4(UŃĄą') AND (r<='9'); If r='1' Then Wprowadz; If r='2' Z[Y]BYI[]ZBYI [wŁVF#ssVćB [/code] Link do komentarza Udostępnij na innych stronach More sharing options...
Iskar Napisano Listopad 12, 2005 Zgłoś Share Napisano Listopad 12, 2005 Jeżeli chcesz móc edytować swoje posty, to nie twórz nowego wątku, tylko zarejestruj się.Poza tym, nie dawaj kodu w znaczniki code tylko syntax="delphi"Co tak właściwie jest nie tak z tą twoją bazą danych? Link do komentarza Udostępnij na innych stronach More sharing options...
ktoś Napisano Listopad 12, 2005 Zgłoś Share Napisano Listopad 12, 2005 Jak przechodzisz z konsoli na formatkę, lub odwrotnie, to raczej to Cięzmusza do napisania programu od zera. Najwyżej założenia mogą pozostać te same.Jak chcesz zobaczyć wszystkie rekordy, to napisz procedurke, która napisze ci tyle lini, ile masz rekordów, tlyko przy dużych bazach możesz mieć proble mz przeglądaniem tego.JAk zrobiszn a formatce, to jest taki komponent jak listviev, który może Ci wyświetlić całą zawartość bazy danych w postaci tzw. "szczegółów" Link do komentarza Udostępnij na innych stronach More sharing options...
Gość Napisano Listopad 13, 2005 Zgłoś Share Napisano Listopad 13, 2005 CZePonizej podam Ci rozwiazanie- jedno z mozliwych. Oparłem je na wskaznikach TAk abys mogl w miarę bez skomplikowanych zabiegów wykorzystac to w Pascalu. Kod jest w Delphi. Wiec poadm go w całości. Ewentualny komentarz jest w kodzie. Trochę tego jest...no ale sam chciałeś:-)pozdrawiam oksal [code=Delphi] unit Unit1; interface uses Windows, Messages, SysUt[XX[BGPDDć&V6&@S7G&ćuł#UÓv6śóŃlt4(4( yŃ 4(Ń 4(1, Prawy:pBaza;//wskaż na baze indeks :LongInt;//iZB[N[NB[BLHHĘJCBVóDVó'WGFD'WGFVFCDVFCQ4( ŃŃQ ŃŃ4( ŃŃQ ŃŃ Edit3: TEdit; Button4: TButton; Button5: TBuB]]BYH]PXĘ[W#D&ŚV7B&6VGW&R'WGF$6Ć66VćFW#D&ŚV7B ŃŃ ąŹĄMQ=4(utton4Click(Sender: TObject); procedure Button5Click(SeX NBYH]XĘ[X N&fFP&fFRFV6Ć&F2V&Ć0ąąŃ4(4( Ą%1Int;_dana:tDAna;var baza:PBAza); var Form1: TForm1; i[LB^N^NB[[Y[][BB _CB6VGW&RF7F$CĆćtCFćDDćf\"&Ś$Ś)4(ŃĄ4(4(9Ą 4(Ńaza^do begin Dana:=_dana; indeks:=ID; Lewy[[B]N[[B[B[[CBYQ XŚććFV2FVF7F$BFćĆ&ŚćĆWwą4( Ą%ą}ąx4)4)dure TForm1.Button1Click(Sender: TObject); var & nbsp;dana:tDanaBY[BĘBT FćSŁVFCFWC4(9źŃ4( Ą%ąą4 inc(id); CAption:='W bazie jest tyle rekordów :'+InttostrY NB[BBBYHLK]XĘ[XBf FćFFćFV$Ś$ŚŚ&Vv4(źA=-h]MieMQ-%4(źź******************* Memo1.Clear; tempBAza:=Baza; //pok^ZH]YYB[H[^IF&VvŚW7BFŚ&VrŚŚ7W7VćWFR&Vś&G4(ź if tempBAza^.indeks>-1 then begin Memo1.L[Y [[^W[ZĘJNBY[[K[Y V&ŚDćRVóĆćW2FBFV&ŚDććź4(4(Ń Ń xA4(4); procedure TForm1.Button3Click(Sender: TObject); var & nbsp;[Z[B[YB[^N^NBY[BĘ u%$$4(źź4(źe zaczynaja sie od zera val(Edit3.Text,indeks,kod); temp^NP^NBZZH[[H[ZYCB[H[ŚfCfwCśćF&Vvw6ś7ŚW6ĆŚćŚGŚW7Ń xŃĄŹ4(Ń ŃmpBAza^.Prawy; end; //pokaz wynik if tempBAza<>n[[Y[BY[[KXBY[[K[Y [G\"FV&ŚććFV2VóĆćW2FBFV&ŚDć4(5ź1ĄŃ x9ź4( end; procedure TForm1.Button4Click(Sender: TObject); vaB[Z[B[YB[^N^NBY[B U5TT4R$źźQŃą4(źźlementowi w indeksie przypisz sie ujemna wartosc // & nbsp;odpadYHZ][YHH[HZ[^H]YH]Y^ćś66VFćVĆVVF ŚW6Ć66W7F7Fg%MA=M4(źź4(źsy w bazie zaczynaja sie od zera val(Edit3.Text,indeks,kodNB[^NP^NB[H[^I[BY[BbFV&ŚććFV3ćFV2FV&VvFV x4(źą4( break; end; tempBaza:=tempBAza^.Prawy; end;B[BBYHLK]PXĘ[X NB ĆłŚfĆRbDDćFV&Ś&ŚŚ&Vv4(źźiA%Mh<A1%-T4(źź********* tempBAza:=Baza; AssignFile(plik,'baza.dat'); ]]JZĘNB[H[^I[BY[BbFV&ŚććFV2fwCÓFV&VvFV&Ś4(ŃĄąŹąŃ x4( tempBaza:=tempBAza^.Prawy; end; CloseFile(plik); [BBYHLK]XĘ[X NBĆłŚfĆRbDDćFćFFćŚ&Vv4(ź ieQ(hA1%-T4(źź*** id:=0; Baza:=nil; AssignFile(plik,'baza.dat'); R] ZĘNB[H[ZĘHY[BYZĘZY N&VBĆĆFćF7F$BĆFćĆ&Ść2B4(4( ąąĄąŹ4)4(4)4 [/code]// po raz kolejny..nie używajcie znaczników code tylko syntax="delphi" Link do komentarza Udostępnij na innych stronach More sharing options...
McPustack Napisano Listopad 13, 2005 Zgłoś Share Napisano Listopad 13, 2005 Dzięki ale nasuwa się kolejny problem :/ Niemam modułów (unitów) windos, winprocs, graphics to samo jest na 2.0 i 7.0. :oops: Moze ktoś ma te unity :cry: to niech zamiesci jakiegoś linka albo coś. Link do komentarza Udostępnij na innych stronach More sharing options...
Iskar Napisano Listopad 13, 2005 Zgłoś Share Napisano Listopad 13, 2005 W Pascalu takich modułów nie uświadczysz. Dostałeś gotowe rozwiązanie, przerób to sobie na Pascala. Link do komentarza Udostępnij na innych stronach More sharing options...
McPustack Napisano Listopad 13, 2005 Zgłoś Share Napisano Listopad 13, 2005 Dzieki czyli to jest w delphi a ja musze przerobić... Tyle ze zabardzo niewiem jak :oops: Link do komentarza Udostępnij na innych stronach More sharing options...
oksal Napisano Listopad 13, 2005 Zgłoś Share Napisano Listopad 13, 2005 MCPustack stawisz piwo...poniżej masz kod w Pascalu.Moze nie do konca taki jak bys sobie zyczył... Trochę pozmieniałem w tym co podales na forum . Ale ogolnie masz przyklad zastosowania moich procedur , ktore poprawiłem w stosunku do poprzedniej wersji. dodalem proc Poprzedni i nastepny oraz UsunBiezacy. Pondto zmieniajac strukture danych przechowywanych w bazie mozna to wykorzystac w grach BAza moze przechowywac np objekty [code=Delphi] Uses CRT; type tDAna=record Imie :string[25]B^[LNB[B^OW^NBŚ&V6&@ĆWw&w&Św6ść&ŚP1%ź4(Ń4(4(4)Y4(źTwoje Imie,nazwisko,telefon,adres,mail,numergg:array[1..9H[BB[]NBN]NBłFWCŚP&Ś$ŚFćDDćCĆćtC(4(źź4)9Aek(var Baza:PBaza); begin //idz na poczatek while Baza^]I[^NP^W]NB[BYHRV2f\"&Ś&ŚŚ&VvGćśćV0vĆR&Śąź xA4)4)Adni(var d:tDana; var Baza:PBaza); begin if Baza^.Lewy<[[B^NP^W]NBP^W[NBB[C&6VGW&Rć7FWf\"CDFćf\"&Ś&ŚŚ&Vv xAąŃĄ4( xA4(d:=Baza^.dana; end; procedure PokazRekord(id:integer;var d[N^N^JNBY[BRYXĘ^JNB[H^fCfwCśćF&Vvw6ś7ŚW6ĆŚćŚGŚW7 xŃĄ4(4( x break; end; Baza:=BAza^.Lewy; end; enBYH[Y^XJ^N^JNB^NBVvb&ŚćFVWCŁćŁćŚŃąŃź4(0 x14(0ąt;nil then L^.Prawy:=Baza^.Prawy; P:=Baza^.Prawy; if P&l[[]NP^W]NBJ^JNBXZVĆćw6śŚćś66FrW7F&WŚ7w6śŚć&b0ąŃĄ4( 04( xA@4(end; if P<>nil then begin Baza:=P; Baza^.L]NSB[B[BYHZ^JY[Y[f\"&Ś&Śf $ŚŚ&Vvb&ŚfCfwŃĄ4(4(źŹŃŃźŃk biezacego elementu w L i nastepnego w P L:=Baza; P^W]NB[[CBY[BHYYFW;W66ŁćŁćVćCćWr&Ś4( x104( x4( x4( BAza^.Prawy:=P; //uaktualnij wskazniki sasiadow if L&[[]NP^NBY [[wŁ&ŚŚVćC&6VGW&RŚ7FĆReĆł7G&ćsś&Ś4)Ń A 4(ąŹąŃ4)4( NaPoczatek(Baza); tempBaza:=Baza; Assign(Plik,fPlik);B]]JZĘNB[H[^I[Y[Bw&FRĆFV&ŚćFćFV&ŚŁFV&ŚA4(4( ąĄąŹ4)4)=ŃiAąku(fPlik:string); var plik:file of tDAna; dana:tdana; Y[BYLB^N[[BYZZĘNB] vĆRćBVbĆF&Vv6VVĆĆB&VBąŹą4( Ąąą 4(Ą4( Close(plik); end; //*********************************** BŃQTHYBY[BB]J [ZYH ĘN&VDĆFććRw&FRtćv6śr&VDĆFź4( Ąąą 4(Ą4(; PROCEDURE Wyswietl; Begin ClrScr; //pokaz biezacCB][ [ZYH [K[ZYJNB][ Ó^ ćććv6św&FRtć6fćVFW\"r##Ł&VFś4)4(źź4) 4(d:=0; Repeat ClrScr; WriteLn('1. Nowy wpis'); Wr]S YIĘNB]S IĘNB]SsBW7V&WŚ7rw&FVĆsrŚ7FĆRrw&ą=Ńą4(]Ń1- Repeat r:=readkey; Until (r>='1') AND (IIĘNBYII[YBYI[Y['ŚVFćFć&Św7vWFśVćCb#s2rFV&VvćŃĄą ]Ń4(%QĄ4( clrscr; writeln('imie : ',[K[ZYJNB][ ^ [Kv6św&FVĆw&ŃąUMU84(Ńą4( Write('Anuluj Enter...'); & nbsp;r2:=readk^NBYII[[Y^XJ^JNBVćCb# srrFVŚ7FĆRvFćRćFBą4(ŃĄ=ŃiAą4(UŃ r='9'; End. [/code]// nie używaj tagów code tylko syntax="delphi" - Iskar pozdrawiam oksal Link do komentarza Udostępnij na innych stronach More sharing options...
McPustack Napisano Listopad 14, 2005 Zgłoś Share Napisano Listopad 14, 2005 No teraz to jest gitarka tylko szkoda ze edycji [b]niema Link do komentarza Udostępnij na innych stronach More sharing options...
oksal Napisano Listopad 14, 2005 Zgłoś Share Napisano Listopad 14, 2005 No co Ty....Sortowanie sobie zrob i te inne rzeczy. To ze Pascal nie oznacza ze ubogi.. Wszystko zalezy od programisty:-) pozdrawiam oksal Link do komentarza Udostępnij na innych stronach More sharing options...
McPustack Napisano Listopad 14, 2005 Zgłoś Share Napisano Listopad 14, 2005 No to powiem inaczej niewiem jak zrobić sortowanie alfabetyczne moze ktoś wie ?? Link do komentarza Udostępnij na innych stronach More sharing options...
Iskar Napisano Listopad 14, 2005 Zgłoś Share Napisano Listopad 14, 2005 Człowieku, padne zaraz :evil: 1. Dostałeś gotowy kod, nie potrafiłeś go przerobić. 2. Dostałeś kolejnego gotowca, twierdzisz że sie nie da zrobić sortowania.3. Chcesz, żeby ktoś napisał to znowu za ciebie.Teraz ktoś ci napisze to teoretycznie, a ty znowu: 'ale jak to przełożyć na programowanie?' Jaki z tego wniosek? Nie masz żadnych podstaw, to, o co pytasz znajdziesz w necie, zacznij tak w ogóle od podstaw. Temat zamykam wierząc, że potrafisz obsługiwać wyszukiwarki typu Google i sortowanie znajdziesz. Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.