.FanTaZy Napisano Czerwiec 18, 2008 Zgłoś Share Napisano Czerwiec 18, 2008 Witam mam w miarę błachy problem ale przerasta mnie... nauzyłem się już komend w pascalu na poziomie podstawowym i chciałbym rozpocząć programowanie bardziej zaawansowane... wybrałem pascala bo jest jak na sam początek prosty i pomoże mi zrozumieć programowanie... a teraz do sedna sprawy... Siedząc we free pascalu i nie wiedząc co mam ze sobą zrbić spojrzałem na zegarek i pomyślałem fajnie by było napisać własny kalendarz... wiec niewiele myślać chciałem zobaczyć jak takowy wygląda... znalazłem w internecie na stronie plik pas, który zawiera kod jakiegostam kalendarza ale za chiny nie moge go rozgryźć bo zmienne i procedury pisane są w języku bodajrze niemieckim a napewno nawet w języku polskim sprawiłyby mi nielada kłopot... bardzo byłbym wdzięczny gdyby ktoś objaśnił mi to wszystko a wprosty sposób... prosze o to bo nie chcę się zniechęcać do programowania na starcie.... Oto link do pliku pas: KODhttp://www.speedyshare.com/562945827.html Kod: program calender; program calender; uses Crt,Dos; { Jos dickmann Software © 1997 for public domain } { More Turbo pascal sources on the internet page....} { http://www.universal.nl/users/dickmann/pascal.htm } { E-mail address....... j.w.j.dickmann@universal.nl } const mnd : array[1..12] of string[9] = ('Januari','Februari','Maart','April', 'Mei','Juni','Juli','Augustus','September','Oktober','November','December'); var jaar,maand,dag,weekdag : word; x,y,p,pp,p1,u,q : integer; s0 : string; ch : char; regs : registers; Function NumbofDaysInMth(y1,m : Word): Byte; begin Case m of 1,3,5,7,8,10,12: NumbofDaysInMth := 31; 4,6,9,11 : NumbofDaysInMth := 30; 2 : NumbofDaysInMth := 28 + ord((y1 mod 4) = 0); end; end; procedure Qtext(x1,y1 :byte;str :string;kleur,achtergrondkleur : Byte); begin textbackground(achtergrondkleur); textcolor(kleur); gotoxy(x1,y1);write(str); textbackground(0); end; procedure qhor(x1,y1,aantal,teken,kleur :byte); begin for p1 :=1 to aantal do qtext(x1+p1-1,y1,chr(teken),kleur,0); end; procedure qver(x1,y1,aantal,teken,kleur :byte); begin for p1 :=1 to aantal do qtext(x1,y1+p1-1,chr(teken),kleur,0); end; procedure Qfill_screen(char,color :byte); begin regs.ah :=9; regs.al :=char; regs.bh :=0; regs.bl :=color; regs.ch :=7; regs.cl :=208; intr(16,regs); textbackground(0); end; begin clrscr; Qfill_screen(178,8); Qtext(10,21,' Arrow-keys --> <-- is scroll months / escape is exit ',15,4); Qhor(11,22,54,176,8); Qtext(28,5,'czesc ramki której forum nie wyswietla poprawnie',3,0); Qver(28,6,11,179,3);Qver(66,6,11,179,3); Qtext(28,17,'czesc ramki której forum nie wyswietla poprawnie',3,0); Qhor(30,18,39,176,8);Qver(67,6,12,176,8);Qver(68,6,12,176,8); window(29,6,65,16);clrscr; Qhor(2,2,34,196,5); Qtext(2,3,'Zon Maa Din Woe Don Vry Zat',9,0); getdate(jaar,maand,dag,weekdag); x :=3+(weekdag*5); { X coordinaten van de weekdag } for p :=dag-1 downto 1 do begin dec(x,5); if x <0 then x :=33; end; repeat Qtext(2,1,mnd[maand]+' ',11,0); str(jaar,s0);Qtext(32,1,s0,11,0); pp :=NumbofDaysInMth(jaar,maand); { telt het aantal dagen in een maand } u :=x; y :=5; for p :=5 to 10 do Qhor(2,p,34,32,7); { maakt veld schoon } for p :=1 to pp do begin if p <10 then q :=1 else q :=0; str(p,s0);Qtext(x+q,y,s0,7,0); if p = dag then Qtext(x+q,y,s0,14,4); inc(x,5);if x >33 then begin x :=3;inc(y,1);end; end; repeat ch :=readkey; until ch in[#75,#77,#27]; case ch of #75:begin dec(maand);sound(200);delay(5);nosound; pp :=NumbofDaysInMth(jaar,maand); x :=u; for p :=pp downto 1 do begin dec(x,5);if x <0 then x :=33; end; end; #77:begin inc(maand);sound(300);delay(5);nosound;end; end; if Maand<1 then begin Maand:=12; Dec(jaar); pp :=NumbofDaysInMth(jaar,maand); x :=u; for p :=pp downto 1 do begin dec(x,5);if x <0 then x :=33; end; end; if Maand>12 then begin Maand:=1;Inc(jaar);end; if jaar<1 then jaar:=1; if jaar>9999 then jaar:=9999; until ch in[#27]; halt; End. PS: Przepraszam ze 1 post to prośba ale wierzę w to że jeśli będę dalej programował napewno nie zrezygnuje z tego forum a wręcz przeciwnie będę służył radą dla wszystkich jeśli tylko będę potrafił... Z góry bardzo dziękuje Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Czerwiec 18, 2008 Zgłoś Share Napisano Czerwiec 18, 2008 Ale co chcesz uzyskać w tym kalendarzu? co ma pokazywać. I pominę fakt, że źle obliczają kiedy rok jest przystępny Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
.FanTaZy Napisano Czerwiec 18, 2008 Autor Zgłoś Share Napisano Czerwiec 18, 2008 Ale co chcesz uzyskać w tym kalendarzu? co ma pokazywać. I pominę fakt, że źle obliczają kiedy rok jest przystępny Ma być to kalendarz gregoriański w którym można przesówać strzałkami miesiące... (lewo prawo); żeby uwzględniał rok przestępny oraz żeby wyświetlanie nr dnia pasowało do dnia podanego słownie na górze bądź z boku....( chodzi o coś takeigo ze przykładowo na górze mam wypisane dni (od pon do niedz) i przykłądowo pozycja (string) -> "pon" to (1,1) ale skoro mamy dzień przykładowo środę 1 czerwca to żeby data (1) była pod środą( pozycja (5,1) nie poniedziałkiem(pozycja (1,1)) no i żeby podświetlał aktualną datę którą pobierze z modułu Dos i wyświetli ją jako start kalendarza ( po właczeniu wyświetli kalendarz z aktualną kartką i podświetloną odpowienio datą ( dokładnie taki jaki umieściłem bez zbędnych elementów graficznych) Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Czerwiec 18, 2008 Zgłoś Share Napisano Czerwiec 18, 2008 aaa, czaje, to wpierw zobacz jakie są warunki aby rok był przystępny, poszukaj jak najwcześniejszego roku który: 1 stycznia to poniedziałek, poprzedni rok był podzielny przez 4, znając to i wiedząc, że rok ma 365 dni, w tym 52*7=364, czyli ma o dzień za dużo, a przystępny o dwa, to z każdym rokiem dodajesz do swego przesunięcia 1 lub 2 (na początku wynosi ono 0), dodajesz modulo7, aż dojdziesz do swego roku wtedy już wiesz jakim dniem jest pierwszy stycznia Twego roku, to pozostałe dni łatwo obliczyć. Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
.FanTaZy Napisano Czerwiec 18, 2008 Autor Zgłoś Share Napisano Czerwiec 18, 2008 aaa, czaje, to wpierw zobacz jakie są warunki aby rok był przystępny, poszukaj jak najwcześniejszego roku który: 1 stycznia to poniedziałek, poprzedni rok był podzielny przez 4, znając to i wiedząc, że rok ma 365 dni, w tym 52*7=364, czyli ma o dzień za dużo, a przystępny o dwa, to z każdym rokiem dodajesz do swego przesunięcia 1 lub 2 (na początku wynosi ono 0), dodajesz modulo7, aż dojdziesz do swego roku wtedy już wiesz jakim dniem jest pierwszy stycznia Twego roku, to pozostałe dni łatwo obliczyć. Z tego co wyczytałem przed chwilą to rok jest przystępny pod takim warunkiem regułu matematycznej która mówi, że... "Jeśli rok dzieli się przez 4, a nie dzieli przez 100, to jest on przestępny" Wiec warunek w pascalu to: if (rok mod 4=0) and (rok mod 100<>0) then Czy to jest prawidłowe w 100%?? A jeśli jest to co dalej?? Jak go użyć i co w jakiej kolejności pisać ?? Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Czerwiec 18, 2008 Zgłoś Share Napisano Czerwiec 18, 2008 nie, pełna to: rok jest podzielny przez 4, ale nie jest podzielny przez 100 chyba, że jest podzielny przez 400. A co dalej to powiedziałem już Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
.FanTaZy Napisano Czerwiec 18, 2008 Autor Zgłoś Share Napisano Czerwiec 18, 2008 nie, pełna to: rok jest podzielny przez 4, ale nie jest podzielny przez 100 chyba, że jest podzielny przez 400. A co dalej to powiedziałem już Ok zrozumiałem wiec warunkiem pełnym jest: (rok mod 4 = 0) and (rok mod 100 <> 0) ) or ( rok mod 400 = 0 ); Teraz przede mną znaleźć poniedziałek 1 stycznia w jak najmłodszym roku sprawdzając od roku 0 ?? Bo troszke nie rozumiem i jeśli juz go znajde to do niego mam dodawać 1 dzien przesunięcia czyli modulo7 ?! Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Czerwiec 19, 2008 Zgłoś Share Napisano Czerwiec 19, 2008 Nie od roku 0, ale od daty gdy wprowadzono kalendarz gregoriański. Poza tym ja walnąłem sobie hasło "wieczny kalendarz" kliknął Wikipedię i dostałem gotowy algorytm dla lat 1-9999, a nie szukałem w hiszpańskojęzycznych rzeczach: link Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
.FanTaZy Napisano Czerwiec 19, 2008 Autor Zgłoś Share Napisano Czerwiec 19, 2008 Nie od roku 0, ale od daty gdy wprowadzono kalendarz gregoriański. Poza tym ja walnąłem sobie hasło "wieczny kalendarz" kliknął Wikipedię i dostałem gotowy algorytm dla lat 1-9999, a nie szukałem w hiszpańskojęzycznych rzeczach: link Teraz to mi już kompletnie się namieszało... Na wiki nie ma kompletnego objaśnienia i przez to nie czaje ile jest w tym kodzie już zawarte... niby mam własną funkcję która liczy mi liczbę dni w miesiacu... następnie z wiki mam funkcję która liczy dni tygodnia ale problem tkwi w tym ze mimo to że jest ona częściowo wytłumaczona nie wiem nic o zmiennych z funkcji ( M,C,D,N)... Juz sam nie wiem ile mi ta funkcja liczy... mógłbyś mi to wyjaśnić na "chłopski rozum" jak to się mówi... ?? Dla przypomnienia: function dzien_tygodnia(Year,Month,Day:word):string; var M,C,D,N:integer; const week:array[0..6]of string[12]=('Niedziela','Poniedziałek','Wtorek','Środa','Czwartek','Piątek','Sobota'); begin M := 1 + (Month + 9) mod 12 ; if M>10 then Dec(Year) ; C := Year div 100 ; D := Year mod 100 ; N := ((13*M-1) div 5 + D + D div 4 + C div 4 + 5*C + Day) mod 7 ; dzien_tygodnia:=week[N]; end; Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Czerwiec 19, 2008 Zgłoś Share Napisano Czerwiec 19, 2008 No podajesz jej datę, a ono mówi co to za dzień. Na wiki jest wytłumaczone, ale Ty od razu polazałeś do "implementacja w pascalu" a wcześnie było opis algorytmu Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
.FanTaZy Napisano Czerwiec 19, 2008 Autor Zgłoś Share Napisano Czerwiec 19, 2008 No podajesz jej datę, a ono mówi co to za dzień. Na wiki jest wytłumaczone, ale Ty od razu polazałeś do "implementacja w pascalu" a wcześnie było opis algorytmu siedzę nad tym pół dnia i dalej nie moge... problem zaczyna się przy działaniach matematycznych... M := 1 + (Month + 9) mod 12 ; if M>10 then Dec(Year) ; z tego co mi wychdozi to nr miesiaca (M) równa się 1 dodac miesiac + 9 mod 12 po co robimy takie równanie? dalej pętla.. której też nie rozumiem... w pozostałych 3 linijkach mam ten sam problem... nie ma wyjaśnionych wszystkich parametrów Przeczytałem tamto wyżej również kilka razy i dalej mi nic z tego nie wynika... kurcze... chodzi mi o coś takiego wiem ze M := 1 + (Month + 9) mod 12 czyli M to miesiac +9 dodac 1 dzielac przez 12 dalej wiem ze jezeli M>10 to "dec(rok)" i teraz skad się wzięło te dec? nie mamy tego w zmiennych czy jest to jakaś wcześniejsza procedura odnośnie ilości dni w miesiacu? bo domyślam się że jest to coś zwiazane z przeskoczeniem roku np 2007/2008 lecąc dalej C := Year div 100 ; D := Year mod 100 ; czyli C to rok dzielony bez reszty na sto D równa się rok dzielony z resztą przez 100 dalej.... N := ((13*M-1) div 5 + D + D div 4 + C div 4 + 5*C + Day) mod 7 ; dzien_tygodnia:=week[N]; N to 13* zmienna m-1 i teraz pytanie co nam ona przechowuje? następnie dzieląc przez 5 bez reszty i dodając D które przechowuje nam i znów pytanie co to jest ?? i D dzielone przez 4 bez reszty następnie dodajemy 5*C i znów pytanie czym we wzorze jest C ?? potem dodajemy dzien i dzielimy przez siedem z resztą... i co do mod7 to pewnie chdozi o ilosć dni w tygodniu... ale nie wiem pewnie się mylę... wtedy wiemy nasza funkcja jest równa tydzien[n] Mógłbyś mi to wyjaśnić?? Bo tego właśnie nie rozumiem w kodzie a na wiki jest zbyt słabo to opisane... reszta pewnie już jakoś pójdzie jak to bede wiedział na jakiej zasadzie działa... Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Czerwiec 19, 2008 Zgłoś Share Napisano Czerwiec 19, 2008 link. Poza tym ja Cię nie rozumie, chcesz po prostu gotowy kod wraz z wytłumaczeniem wszystkiego? Algorytm tak działa bo wystarczy przeanalizować jak się przesuwa początek roku jak bierzemy od razu cały wiek i się tyle dodaje ile mamy pełnych wieków, potem się bada który dzień w roku i tyle, trzeba po prostu przeanalizować kalendarz. Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
.FanTaZy Napisano Czerwiec 20, 2008 Autor Zgłoś Share Napisano Czerwiec 20, 2008 link. Poza tym ja Cię nie rozumie, chcesz po prostu gotowy kod wraz z wytłumaczeniem wszystkiego? Algorytm tak działa bo wystarczy przeanalizować jak się przesuwa początek roku jak bierzemy od razu cały wiek i się tyle dodaje ile mamy pełnych wieków, potem się bada który dzień w roku i tyle, trzeba po prostu przeanalizować kalendarz. No dobra... może to było głupie o co wcześniej pytałem Po prostu chcę wiedzieć co on dokładnie oblicza i jak się używa tej funkcji, co ona wykonuje, jak to wygląda Tzn chodzi mi jak wygląda wartość którą zwraca? czy jest to tylko napis czy od razu wypisuje mi odpowiednie dni pod spodem czy co^^ Link do komentarza Udostępnij na innych stronach More sharing options...
.FanTaZy Napisano Czerwiec 20, 2008 Autor Zgłoś Share Napisano Czerwiec 20, 2008 No dobra.... pomęczyłem się troszkę i wyszło mi coś takiego.... zostało zrobić tylko klawisze lewo prawo podświetlenie aktualnego dnia i wyświetlanie dni w odpowiednich miejscach... program kalendarz; uses Crt,Dos; const nazw_mies : array[1..12] of string[9] = ('Styczeń','Luty','Marzec', 'Kwiecień','Maj','Czerwiec','Lipiec','Sierpień','Wrzesień','Październik', 'Listopad','Grudzień'); tydzien : array[0..6]of string[12] = ('Nie','Pon','Wto','Śro', 'Czw','Pią','Sob'); var rok,miesiac,dzien,tyg : word; a,b,c,d,x,y : integer; { Function miesiac_dni (rok,a : word) : Byte; begin Case a of 1,3,5,7,8,19,12: miesiac_dni := 31; 4,6,9,11 : miesiac_dni := 30; 2 : miesiac_dni := 28 + ord( ((rok mod 4) = 0) and (rok mod 100 <> 0) ) or ( rok mod 400 = 0)); end; end; } Function ilosc_dni (rok,miesiac,dzien:word) : string; var m,c,d,n : integer; begin m := 1 +(miesiac + 9) mod 12; if m>10 then Dec(rok); c := rok div 100; d := rok mod 100; n := ((13*m-1) div 5 + d + d div 4 + C div 4 + 5*c + dzien) mod 7; ilosc_dni := tydzien[n]; end; BEGIN ClrScr; getdate(rok,miesiac,dzien,tyg); gotoxy(9,10); writeln(dzien,' ',nazw_mies[miesiac],' ',rok); {wyswietlenie dni} gotoxy(9,11); writeln('============================='); gotoxy(9,12); a := 0; repeat writeln (tydzien[a]); a := a+1; if a = 1 then gotoxy(14,12); if a = 2 then gotoxy(19,12); if a = 3 then gotoxy(24,12); if a = 4 then gotoxy(29,12); if a = 5 then gotoxy(34,12); if a = 6 then gotoxy(39,12); until a = 6; gotoxy(9,13); writeln('============================='); readln; end. Tylko mam problem teraz z funkcją " miesiac_dni"... coś nie działa mi... zwraca że coś ze średnikiem nie tak... a nie czaje tego... Dodam ze nie wiem w sumie po co mi była ta funkcja (ilosc_dni) bo jak narazie nie przydała się sprawdziłem i zwraca nazwę dnia w postaci const z tabeli tydzien[n]...:PP Prosiłbym o malą podpowiedz co teraz zrobić i czego użyć do tego(jakiej funkcji) :PP hehehe... Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Czerwiec 20, 2008 Zgłoś Share Napisano Czerwiec 20, 2008 Źle zrobiłeś nawiasowanie przy lutym Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
.FanTaZy Napisano Czerwiec 20, 2008 Autor Zgłoś Share Napisano Czerwiec 20, 2008 Źle zrobiłeś nawiasowanie przy lutym Właśnie nie wiem czemu nie idzie... jak to mozna zrobić poprawnie? ord ma w nawiasie cały warunek a kazde coś mod coś powinno też być w nawiasie... wiec nie wiem ocb...;/ Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Czerwiec 20, 2008 Zgłoś Share Napisano Czerwiec 20, 2008 No policz sobie nawiasy, zobacz który co zamyka, tu: "rok mod 100 0) )" pewnie masz o jeden zamykający za dużo, ale nie wiem, ale to podejrzane jest Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
.FanTaZy Napisano Czerwiec 20, 2008 Autor Zgłoś Share Napisano Czerwiec 20, 2008 No policz sobie nawiasy, zobacz który co zamyka, tu: "rok mod 100 <> 0) )" pewnie masz o jeden zamykający za dużo, ale nie wiem, ale to podejrzane jest tak równeż nie idzie... na 10000 różnych sposobów dedukowałem ułożenie nawiasów i dalej nie wiem jak... Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Czerwiec 20, 2008 Zgłoś Share Napisano Czerwiec 20, 2008 Jacie, masz tam o jeden zamykający nawias za dużo, trzeba je zliczyć idąc od lewej Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
.FanTaZy Napisano Czerwiec 20, 2008 Autor Zgłoś Share Napisano Czerwiec 20, 2008 Jacie, masz tam o jeden zamykający nawias za dużo, trzeba je zliczyć idąc od lewej OMG ... end; potrzbny do case^^ skasowałem wzorując się na dalszej funkcji a po ponownym przepisaniu nawiasy dobrze były:P hehe... przepraszam:D głupoty się w ogóle nie czuje^^ A mógłbyś mi powiedzieć co teraz musze zrobić i czego do tego użyć?? zeby to ładnie mi pod spodem wyświetlało dni odpowiednio pod nazwami dni?? Oczywiście zeby się dało potem zrobić podświetlenie i aktywne kursory lewo prawo... ;P Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Czerwiec 20, 2008 Zgłoś Share Napisano Czerwiec 20, 2008 że co? wytłumacz jaśniej, a i ja ci kodu nie bedę tłumaczyć, zrób swój a jak będzie błąd to wtedy Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
.FanTaZy Napisano Czerwiec 20, 2008 Autor Zgłoś Share Napisano Czerwiec 20, 2008 że co? wytłumacz jaśniej, a i ja ci kodu nie bedę tłumaczyć, zrób swój a jak będzie błąd to wtedy Tzn chodzi mi o to na jakiej zasadzie ma się opierać przesówanie dni ... tzn przykładowo skoro dziś jest pt to zeby dzisiejsza data byla pod piatkiem i jeszcze chodzi mi o to ze np jesli jest 1 dzien miesiaca dajmy przykladowo czwartek to zeby on byl od razu pod czwartkiem... i teraz pytanie ... na jakiej zasadzie ma to mi przesówać te dni i umieszczać je pod sobą zeby było poprawnie...?! no co do umieszczenia o linijke niżej to musze w gotoxy(x,Inc(y)); ale jak zrobić to żeby miesiac zaczynal sie od odpowiedniego miejsca dla jedynki(nr dnia) w kalendarzu i przy niedizeli przechodzil w dół... chaotycznie strasznie napisałem ale mam nadzieje ze juz wiesz o co mi chodzi^^ Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Czerwiec 20, 2008 Zgłoś Share Napisano Czerwiec 20, 2008 to wyświetlasz dni w repeat until wyświetlanie, zwieszając w dobrym miejscu x-a i zerując. Poza tym Inc to procedura (przynajmniej w Delphi) to tak jej nie użyjesz Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
.FanTaZy Napisano Czerwiec 20, 2008 Autor Zgłoś Share Napisano Czerwiec 20, 2008 Kurcze... siedze już 3 godzine z kolei i nie mogę zrobić tego... mógłbyś mi podpowiedzieć jak zrobić te przesuwanie 1 dnia miesiaca pod odpowiedni dzień? i jak zapętlić ażeby dni wypisywało mi w odpowiednich miejsach?? tzn nie chodzi mi o kod tylko o słowne wytłumaczenie czego użyć i na jakiej zasadzie to ma przeskakiwać... Ja robilem coś takiego że funkcja ilosc_dni: Function ilosc_dni (rok,miesiac,dzien:word) : byte; var m,c,d,n : integer; begin m := 1 +(miesiac + 9) mod 12; if m>10 then Dec(rok); c := rok div 100; d := rok mod 100; n := ((13*m-1) div 5 + d + d div 4 + C div 4 + 5*c + dzien) mod 7; ilosc_dni := {tydzien[}n{]}; end; zwracała mi nr dnia.. czyli : Niedz to 0 Pon to 1 i tak do soboty (6) teraz nie wiem jak to wykorzystac zeby wypisało mi wszystkie dni ( np: luty od 1 do 28 czy 29) pod odpowiednimi skrótami dnia ( np: pod poniedziałkiem numerki 2,9,16,23,30 (mówiac na przykładzie obecnego miesiaca)) EDIT: Trochę się spóźniłem z 2 postem bo dałeś odp ale kasować juz chyba nie bede... Link do komentarza Udostępnij na innych stronach More sharing options...
.FanTaZy Napisano Czerwiec 21, 2008 Autor Zgłoś Share Napisano Czerwiec 21, 2008 Siedzę i robie kolejne pętle i nic... mógbyś mi zradzic na jakiej to zasadzie ma się wypisywać?? Bo ja już tu od tego szaleje^^ 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.