re: re: re: re: re: re: re: re: re: re: re: re: re: re: pascal (trespasser) RP (2.3.2012 12:40) ⇥ |
↻ |
V Delphach dokazem vyvinut identicku aplikaciu za polovicny cas, je to fakt velmi inteligentne navrhnuty jazyk. Ale napriek tomu uz, bohuzial, skoro vsetko robim v C# - trh ma dotlacil | |
re: re: re: re: re: re: re: re: re: re: re: re: re: pascal (JirkaCV) RP (2.3.2012 12:37) ⇥ |
↻ |
No, myslím, že po tom, co jsem přešel na C# se mi po pascalu už moc nestýská. | |
re: re: re: re: re: re: re: re: re: re: re: re: pascal (CenTauriaИ) RP (2.3.2012 11:57) ⇥ |
↻ |
Tak pokud chceš free, a neštve tě, že se to jmenuje jinak, tak můžeš zkusit tohle: [odkaz] Vypadá to skoro stejně jako Delphi 7. Umí to i nativní x64 aplikace, při rozumném programovacím přístupu jsou aplikace přenosné na různé platformy Win/Linux. Oproti Delphi to dělá trochu větší binárky, vhodným nastavením to jde vylepšit, ale nikdy to asi nebude tak dokonalý. Na druhou stranu - dnes na tom už moc nesejde. Takže jediný problém s čím jsem se zatím potýkal je absence JVCL komponent . EDIT: CenTauriaИ - 02.03.2012 12:05:35 |
|
re: re: re: re: re: re: re: re: re: re: re: pascal (JirkaCV) RP (2.3.2012 11:14) ⇥ |
↻ |
CenTauriaИ: Od tý doby, co Borland prodal Delphi firmě Embarcadero přestala se vyvíjet volná verze. Ta stará pod Win7 nechodí, plnou kupovat nehodlám, když tu máme VS Express. | |
re: re: re: re: re: re: re: re: re: re: pascal (MaStar) RP (2.3.2012 11:00) ⇥ |
↻ |
Moja troška do mlyna: [odkaz] ( akurát na defenzívne programovanie som celkom sral ) edit: Zasa meliem sračky. EDIT: MaStar - 02.03.2012 11:05:25 |
|
re: re: re: re: re: re: re: re: re: pascal (CenTauriaИ) RP (2.3.2012 10:57) ⇥ |
↻ |
unit DateUtils; viz.: [odkaz] EDIT: CenTauriaИ - 02.03.2012 10:58:34 |
|
re: re: re: re: re: re: re: re: re: pascal (MaStar) RP (2.3.2012 10:56) ⇥ |
↻ |
@CenTauriaИ: jj, uvedomil som si, že som sa blbo vyjadril, editol som to | |
re: re: re: re: re: re: re: re: pascal (:P) (2.3.2012 10:55) ⇥ |
↻ |
u tohoto to haze chybu ze Undeclared identifier: 'DaysBetween' result := DaysBetween(dtNow, dtBirth); //případně DaySpan pro získání desetin dnů |
|
re: re: re: re: re: re: re: re: pascal (CenTauriaИ) RP (2.3.2012 10:55) ⇥ |
↻ |
no tím pádem to musí být jak proti 3 tak i 5 | |
re: re: re: re: re: re: re: pascal (MaStar) RP (2.3.2012 10:53) ⇥ |
↻ |
BMonth:=StrToIntDef(''+rc[3]+rc[4],-1)-50; Ešte by to chcelo podmienku na mužov, ktorí majú k mesiacom pričítané č. 20 a ženy, ktoré tam majú pričítané 70 EDIT: MaStar - 02.03.2012 10:55:52 |
|
re: re: re: re: re: re: re: pascal (CenTauriaИ) RP (2.3.2012 10:51) ⇥ |
↻ |
v Delphi je takových užitečných funkcí mraky | |
re: re: re: re: re: re: pascal (Roumen) R (2.3.2012 10:49) ⇥ |
↻ |
Jo ono to ma funkci na rozdil datumu? Tak to je easy. EDIT: Roumen - 02.03.2012 10:50:09 |
|
re: re: re: re: re: pascal (CenTauriaИ) RP (2.3.2012 10:47) ⇥ |
↻ |
//mělo by to fungovat, ale netestoval jsem to function Narozeniny(rc:string):integer; var dtNow,dtBirth:TDateTime; Year, Month, Day: Word; BMonth,BDay:integer; begin if legngth(rc) < 6 then begin result:=-1; exit; end; //kontrola délky rc if rc[3]>='5' then begin BMonth:=StrToIntDef(''+rc[3]+rc[4],-1)-50; end else begin if rc[3]>='2' then begin BMonth:=StrToIntDef(''+rc[3]+rc[4],-1)-20; end else begin BMonth:=StrToIntDef(''+rc[3]+rc[4],-1); end; end; BDay:=StrToIntDef(''+rc[5]+rc[6],-1); if (BDay < 0) or (BMonth < 0) then begin result:=-1; exit; end; //rc musí být čísla dtNow := Now; //zjistíme aktuální čas DecodeDate(dtnow,Year, Month, Day); dtBirth:=EncodeDate(Year,BMonth,BDay); result := DaysBetween(dtNow, dtBirth); //případně DaySpan pro získání desetin dnů //případná korekce, pokud už letos narozeniny měl dtBirth:=EncodeDate(Year+1,BMonth,BDay); if result < 0 then result:=DaysBetween(dtNow, dtBirth); end; EDIT: CenTauriaИ - 02.03.2012 10:50:19 EDIT: CenTauriaИ - 02.03.2012 10:53:09 EDIT: CenTauriaИ - 02.03.2012 10:53:51 EDIT: CenTauriaИ - 02.03.2012 10:57:25 |
|
re: re: re: pascal (Roumen) R (2.3.2012 10:39) ⇥ |
↻ |
1) vyparsuj mesic (3. a 4. znak preved na cislo, kdyz >=50 odecti 50) 2) vyparsuj den (5. a 6. znak preved na cislo) To byla ta lehci cast (a je tu o tom 26 prispevku dlouhy vlakno). 3) spocitej rozdil datumu |
|
re: re: re: re: pascal (:P) (2.3.2012 10:34) ⇥ |
↻ |
Borland Delpi Enterprise 7 2002 | |
re: re: re: pascal (CenTauriaИ) RP (2.3.2012 10:32) ⇥ |
↻ |
a máš k dispozici jenom holý (borland) pascal, nebo už něco s knihovnami (Delphi/Freepascal/Lazarus)? | |
re: re: pascal (:P) (2.3.2012 10:28) ⇥ |
↻ |
Nejak jsem se do toho zamotal zadani je aby vypsalo za jak dlouho bude mit uzivatel narozeniny podle rodneho cisla. Mel jsem napad ale ten pada. Mely se odcitat dny. Diky | |
re: pascal (CenTauriaИ) RP (2.3.2012 10:26) ⇥ |
↻ |
pokud to chceš udělat opravdu jednoduše, pak: rc: = '985112'; //rc je string ve kterým je RČ if (rc[3] >='5' then //za předpokladu číslování od 1 //žena else //muž (Jinak jen takový postřeh... detekce žena/muž podle RČ není 100%, stejně tak nemusí vycházet kontrolní součet %13 a ani nemusí být unikátní...) EDIT: CenTauriaИ - 02.03.2012 10:29:30 |
|
re: re: re: pascal (Jodido) RP (2.3.2012 10:26) ⇥ |
↻ |
(rodnecislo div 1000) mod 10) Toto co si tu napisal je totalna kravina. rodnecislo obsahuje napr 8854683711 (je vymyslene nie je podla normy). rodnecislo div 1000 ---> dostanes cislo 8854683 (rodnecislo div 1000) mod 10) ---> (8854683 mod 10) ---> 3 Takze dostanes uplne ine cislo ako chces |
|
re: re: re: pascal (MaStar) RP (2.3.2012 10:18) ⇥ |
↻ |
Načítaj to ako string a rozparsuj si to na cifry (integer): [odkaz] |
|
re: re: re: re: re: re: re: re: pascal (myself) (2.3.2012 10:11) ⇥ |
↻ |
Ja si myslim, ze kazdy, kto chce programovat, by mal aspon tusit, ako software funguje na tej najnizsej urovni. Teda na urovni assembleru. Nie programovat v nom, ale vediet, ze nieco take je. Kazdy by si mal napisat program, ktory zhavaruje na pristupe do cudzej pamate alebo preteceni integeru/bufferu, aby si zapamatal, ze taketo veci sa mu mozu stat. Kazdy by si mal napisat algoritmus, ktory ma zbytocne velku zlozitost aby videl, ako sa mu kurvi pri velkych datach. A toto by sa malo prave diat pri vyuke programovania, pretoze tam je ucitel, ktory ti povie, co si urobil blbo. Potom si to budes vediet najst aj pri samostatnej praci v praxi. | |
re: re: re: re: re: re: pascal (CenTauriaИ) RP (2.3.2012 10:00) ⇥ |
↻ |
To je tedy zajímavý, že mi Delphi 7 na W7 x64 zcela normálně běhá . Jinak je to pro mě zatím stále nejrychlejší věc jak udělat k něčemu GUI během pár minut. | |
re: re: re: re: re: re: re: pascal (JirkaCV) RP (2.3.2012 9:59) ⇥ |
↻ |
a hlavně byl zadarmo ... Neříkám, na tu dobu to byl supr jazyk. V porovnání s Basicem je přehledný a je blbuvzdornější než C++. Jenomže dnes jsme někde jinde, a učit na něčem, co dokáže zaprasit paměť jenom díky jednomu nepodařenýmu cyklu s vytvářením instancí třídy nebo blbou rekurzí, to není moc dobře. | |
re: re: re: re: re: re: pascal (myself) (2.3.2012 9:53) ⇥ |
↻ |
Este davnejsie bol Pascal oblubeny vdaka rychlemu compileru -- gramatika je navrhnuta tak, aby sa dobre parsovala a dalsia optimalizacia kodu vtedy este nebola taka popularna/potrebna. Kompilovalo sa teda jedinym prechodom cez subor, to umoznilo rychlejsi "vyvojovy cyklus" a mozno aj preto sa pouzival na vyuku. | |
re: re: re: re: re: re: pascal (P.) RP (2.3.2012 9:44) ⇥ |
↻ |
Třeba na UPOLce se učí základy programování ve Scheme .. hezky se na tom filtrují lidi, co se tupě naučili nějakou syntaxi od skutečných kodérů schopných přemýšlet. Než Pascal, to už tam mohli rovnou nainstalovat CeeBota | |
re: re: re: re: re: pascal (JirkaCV) RP (2.3.2012 9:40) ⇥ |
↻ |
No potěškoště ... Před deseti lety bylo Delphi dobrý na výuku strukturovanýho programování a základů objektů. Dneska to splňujou jazyky jako Java, Python, C# ... daleko líp, než středověký Pascal. Až v praxi narazíš třeba na .NET, budeš se divit, že jsi to vůbec v Pascalu zkoušel. K tvýmu příkladu. V prvním kroku bych našel třetí znak řetězce: string R; int RINT; int chyba; R := copy(rodnecislo,2,1); // třetí pozice od nuly, jeden znak val(R,RINT,chyba); // převede znaky na číslo, pokud OK, v proměnný chyba bude 0) if (RINT>=5) ... tak je to baba Nemám si to kde zkusit, Delphi pod Win7 nechodí, tak snad je to funkční. |
|
re: re: re: re: pascal (myself) (2.3.2012 9:26) ⇥ |
↻ |
Na 32 bitovej architekture do stringu, na 64 bitovej do intu | |
re: re: re: re: pascal (:P) (2.3.2012 9:23) ⇥ |
↻ |
Kdyby krouzek stredni skola informatiky a zaklady nas pry nauci v pascalu.. | |
re: re: re: pascal (P.) RP (2.3.2012 9:22) ⇥ |
↻ |
možná nějakej S/M kroužek .. btw v packalu jsem nikdy nepsal, ale řešil bych to převodem na string a mid$($in, 3, 1) a pak porovnat 0-1 / 5-6 |
|
re: re: re: pascal (Roumen) R (2.3.2012 9:21) ⇥ |
↻ |
Jestli chces jen pohlavi, vzal bych 3. znak, udelal z nej cislo a kdyz >1, tak zena. Osobne bych rodny cislo ukladal jako string. | |