Cheater Posted November 11, 2005 Posted November 11, 2005 Én is kezdõ vagyok és arra lennék kívácsi, hogy honnan lehet valami forrásanyagot letölteni amibõl az ember elkezdheti tanulni ezt a programnyelvet. Nameg milyen programmal érdemes írni meg ilyesmi, mert az iskolában ezt a programnylevet fogjuk tanulni és kíváncsi lennék rá, hogy mégis mire számítsak, ezért egy kicsit elõre tanulnék
Calyd Posted November 12, 2005 Posted November 12, 2005 Szerintem nyugodtan írhattad volna a Delphi 2005 használata topicba is, mindegy. Nameg milyen programmal érdemes írni Ezt hogy érted? A Delphi egy programnyelv, ebben lehet programokat írni. Segédanyag: szerintem elég jól használható a help, leszámítva egy-két szintaktikai hibát. De van valami iszonyat vastag Delphi könyv is, abból tuti megtanulsz. Elõre tanulással vigyázz egy kicsit. Lehet, sõt hasznos is, de el lehet követni azt a hibát, hogy megtanulsz programozni úgy, hogy nem érted valójában mit miért csinálsz. Ilyenkor szoktak lenni 800-900soros programkódok, amiket legtöbb esetben le lehet rövidíteni 200-300ra is, és hatékonyabbra is. Nem elrettenteni akarlak, csak javallanám, hogy megértéssel, elgondolkodással programozz, ne csak eszetlenül De, hogy valami [talán] hasznossal is ellássalak: link
DonTomika Posted November 16, 2005 Posted November 16, 2005 Üdv! Jó könyv (azt hiszem, mert csak hallomásból ismerem) a "Delphi 7 Mesteri Szinten". Na meg egy link: www.torry.net
wizard Posted November 27, 2005 Posted November 27, 2005 Sziasztok! Tudja valaki a köv. probléma megoldását? Van egy Form1-em, rajta egy button. Szeretném, ha a gomb megnyomásával elõjönne a Form2, és bezáródna a Form1. A button-ra írt form2.showmodal; próbaltam, de így mögötte marad a Form1. Elõre is Kösz!
wizard Posted November 27, 2005 Posted November 27, 2005 Aki teljesen kezdõ, annak Sas Tibor: Delphi abszolút kezdõknek címû könyvét ajánlanám. Én is ezzel kezdtem!!! A következõ szintet talán ezekbõl kellene elsajátítani: Benkõ Tiborné Programozási Feladatok és Algoritmusok DELPHI Rendszerben Dr. Tamás Péter, Tóth Bertalan, Kuzmina Jekatyerina Programozzunk Delphi 7 Rendszerben Baga Edit Delphi másképp A Delphi 7 Mesteri Szinten I - II-t én nem ajánlanám egyik kezdõnek sem.
DonTomika Posted November 28, 2005 Posted November 28, 2005 Van egy Form1-em, rajta egy button. Szeretném, ha a gomb megnyomásával elõjönne a Form2, és bezáródna a Form1. Ezt rakd a Button OnClick-jébe: Form2.Show; Form1.Hide; (ez csak eltünteti a form1-et) Form2.Show; Form1.Close; (ez be is zárja, de vigyzázz, ha a MainForm a Form1, akkor a programból is ki fog lépni, ezért szvsz inkább a hide-ot használd)
wizard Posted November 28, 2005 Posted November 28, 2005 DonTomika! Kösz az infokat! Sokat segítettél. :olé: :olé: Lenne még 1 kérdésem: Ha a kész projektemet .exe-vé alakítom, akkor a programom bal felsõ sarkában megjelenik egy égõ fáklyát jelképezõ ikon. (A filekezelõben szintén ez az ikon szerepel a file neve mellett is.) Hogyan lehet ezt lecserélni?
Calyd Posted November 29, 2005 Posted November 29, 2005 Project menü Project options pontjánál tudsz megadni ikont, és más projectnevet.
Calyd Posted December 8, 2005 Posted December 8, 2005 Gondolom sokan használátok az Animate komponenst, úgyhogy kéne egy kis help: nekem sehogy sem akar megnyitni avi-t, pedig elvileg arra "szakosodott" A probléma igazából ott van, hogy egy MediaPlayer komponensben megnyitott avi van lejátszatva az Animate-ben, és szeretnék tudni "ugrálni" is a filmben, de az animate seek-je meghal. Mivel MediaPlayerben nyitom meg a filet, és az Animate csak lejátszik, így az Animatebe tulajdonképpen nincs is file betöltve - nem tudom miért, szerintem ennek így semmi értelme... Erre akkor jöttem rá, amikor megpróbáltam használni a Seeket. Kiírta, hogy nem tud megnyitni avit. Mondom "mi a fene, hát már meg van nyitva". Hát nincs. És az Animate nem tud megnyitni avit. Próbáltam úgy is, hogy amikor a MediaPlayer kap egy filenevet az OpenDialogtól, akkor kapja meg ezt a nevet az Animate is, de meghal. Próbáltam Object Inspectorból direktbe megadni, de nem nyit meg avit, pedig elvileg csak azt tud. Valami a komponensben lehet, vagy csak nem jól használom?
DonTomika Posted December 8, 2005 Posted December 8, 2005 Szvsz nem jól használod. Az Animate komponens nem egészen normális AVI videók lejátszására szolgál. Arra inkább a MediaPlayer jó, vagy a Windows Media Player ActiveX-ként. (Component/Import Type Library..., aztán a Windows System32-jébõl betöltöd a wmp.dll-t, majd Install gomb, azt hiszem)
Calyd Posted December 10, 2005 Posted December 10, 2005 Jó. De a MediaPlayer meg ebben jeleníti meg az avit. Viszont a MP-ben nem találtam olyan opciót, hogy ugrálni tudjak a megnyitott fileban. Felõlem erre is mondhatsz megoldást
DonTomika Posted December 12, 2005 Posted December 12, 2005 Áljunk meg egy szóra! :!: Ha jól értem, akkor a MediaPlayer-rel megnyitod az avit, és az Animate komponenst állítod be a MediaPlayer Display propertyjéhez. Ez így nem jó!!! A Display-hez teljesen mindegy, hogy mit állítassz be, az csak a megjelenítésre lesz használva, így az Animate seekjét ne is próbáld használni!. (A Display-hez akár egy sima panel is kerülhet) Amúgy meg a MeidaPlayer.Position property szvsz pont az ugrálásra jó...
Calyd Posted December 12, 2005 Posted December 12, 2005 Az világos, hogy csak megjelenít, ezért gondoltam, hogy az Animateben is meg kéne nyitni a filet. És nem találtam a MP-helpben olyat, ami nekem kellett volna. Panelt nem szeretem De a .Position jó lesz, kösz.
wizard Posted January 1, 2006 Posted January 1, 2006 Sziasztok! Van egy olyan eljárásom, ami a kivon nevû gomb megnyomásával az edit1-ben es edit2-ben megadott számokat kivonja egymásból, és az eredményt közli az edit3-ban. procedure TForm1.kivonClick(Sender: TObject); var A,B,C:integer; begin A:=StrToInt(Edit1.Text); B:=StrToInt(Edit2.Text); C:=A-B; Edit3.Text:= IntToStr©; end; Eddig tökéletesen mûködik. Annyit akarok változtatni rajta, hogy az Edit1-be csak 1 és 100 közötti számot lehessen beírni. Pascal-nál ezt valahogy így oldanám meg: repeat gotoxy(1,1); clreol; gotoxy(1,1); write('A: '); readln(s); val(s,n,kod); until (kod=0) and (n>=1) and (n<=100); Delphinél viszont a repeat-until páros használatánál elszáll az egész progi. Így maradt az "if A<0 then begin showmessage ('Üzenet'); end;" Van valakinek ötlete?
arpsoft Posted January 1, 2006 Posted January 1, 2006 Használj spinner-t a textbox helyett. Abban be lehet állítani a határértékeket. Ha nincs ilyen direktbe beépítve a Delphi-be, akkor ActiveX-ként is berakhatod.
Calyd Posted January 4, 2006 Posted January 4, 2006 Delphi 7 Enterpriseban tuti van ilyen, de szerintem D5-ben is van. De nem is feltétlenül kell. Le tudod ellenõrizni sima szövegként is: '1'<=x<='100' ez szövegnél is mûködik ASCI alapján ha jól emlékszem. De spin-edit kicsit dizájnosabb valóban
wizard Posted January 5, 2006 Posted January 5, 2006 Annyit akarok változtatni rajta, hogy az Edit1-be csak 1 és 100 közötti számot lehessen beírni. Arra rájöttem, hogy 0 és 100 között mûködik mask edittel is. Csak negatív számokat szintén tudok használni ezzel. Ezen keresztül nem lehet valahogyan trükközni? Amúgy jelenleg Delphi3-at használok, és a komponens palettán nem találom sehol sem a spin-edit-et. Lehet, hogy csak magasabb verziókban van?
Calyd Posted January 6, 2006 Posted January 6, 2006 Ha már tényleg nagyon profin meg akarod csinálni, szerintem ez egy jó megoldás lenne: Keypress event: - az eljárás elején ellenõrzöd, hogy a "key" változó benne van-e a '0'..'9' halmazban. Ha jól emlékszem akkor a key karakterként van deklarálva, így valami hasonló módon tudnád ezt leírni: If key in '0'..'9' then seged:=Edit.TExt+key. Itt azt is le tudnád ellenõrizni, ha az elsõ karakter (ha van) az 0-e vagy sem. - utána ha StrToInt(seged) in 1..100 akkor Edit.Text:=seged Ezt nem próbáltam ki, de szerintem mûködik a dolog. És így kiküszöbölöd a konvertálási hiba ellenõrzését, mert csak olyan karaktereket fogsz beírni, amik átalakíthatók.
arpsoft Posted January 6, 2006 Posted January 6, 2006 Evvel csak az a gond, hogy az értékadással eltolod a kurzort is az aktuális pozíciójából. Tehát középre nem fogsz tudni folyamatosan írni, mert elugrik a második karakter elõtt a végére.
Calyd Posted January 9, 2006 Posted January 9, 2006 Ez tény, de szám beírásánál nem feltételeztem, hogy ilyet akar a felhasználó...
wizard Posted January 9, 2006 Posted January 9, 2006 Delphi3-ban is van SpinEdit csak a SpinButton miatt elsiklottam mellette. Sorry. Kipróbáltam. Tényleg jó dolog, mert Van MaxLength, MaxValue és MinValue tulajdonsága. A számok "léptetése" is jó dolog + nem enged mindenféle karaktert beírni. Tehát nem csak 1 és 100 közötti számot adhatok meg neki intervallumnak, hanem akár -100 + 100 közöttit is. Erre tényleg nagyon jó. Idõközben beleütköztem egy olyan problémába, hogy -100 +100 között engedjen mindent, csak a 0-t ne. Maszkedittel így oldottam meg: maszk beállítása pl: (!#9999;1;_) OnExitnél végrehajtok egy ellenõrzést: If StrToInt(MaskEdit1.Text)<-100 Then MaskEdit1.Text:='-100'; If StrToInt(MaskEdit1.Text)>100 Then MaskEdit1.Text:='100'; If StrToInt(MaskEdit1.Text)=0 Then Begin Showmessage('Nem írhatsz be nullát'); MaskEdit1.SetFocus; End; Köszönöm az eddigi segítséget!!!
Calyd Posted January 10, 2006 Posted January 10, 2006 Az elágazásokat ha összevonod, akkor hatékonyabb programot kapsz. Ez ebben az esetben nem túl sok idõ amit nyersz, de érdemes rászokni. Tehát ha egy szám nem kisebb -100-nál, az definíció szerint -100-tól nagyobb-egyenlõ, vagyis értelmes lehet rá a feltétel, hogy nagyobb-e 100-nál. [if StrToInt(MaskEdit1.Text)<-100 Then MaskEdit1.Text:='-100' Else If StrToInt(MaskEdit1.Text)>100 Then MaskEdit1.Text:='100' Else If StrToInt(MaskEdit1.Text)=0 Then ...] De nem értem, hogy ha a SpinEdit-et így megkedvelted, akkor miért nem tudod megoldani ott is egy OnExit-el a 0 ellenõrzését?
wizard Posted January 26, 2006 Posted January 26, 2006 Mert kényelmes ember vagyok! De nem egyszerûbb lenne azt is az Object inspectorból? Sohasem gondolnak rám ezek a fejlesztõk ott a Borlandnál!!! Viccet félretéve: Természetesen az általad javasolt is egy jó megoldás.
wizard Posted January 26, 2006 Posted January 26, 2006 Sziasztok! Nemrégiben elkezdtem írni egy progit. Van 1 táblázatom. (StringGrid) Elsõ sorában random számok. Ezek az X értékek. Második sorában egy függvény. Ezek az Y értékek. Ezeket kellene valahogy ábrázolnom egy koordináta rendszeren. El is kezdtem leprogramozni hozzá a grafikont. De már akkor is terjedelmes volt a kód, amikor még csak a 2 egymást metszõ vonal volt, és a rovátkák. A minap az ActiveX-nél rátaláltam egy Chartfx nevû dologra. Valami "függvényvarázslónak" tûnik, de nem nagyon igazodtam el rajta. Van egy olyan érzésem, hogy ez nagymértékben megkönnyítené a programom írását. Tud valaki egy jó könyvet vagy egy linket ajánlani a témához? Az a gáz, hogy a könyvek nagy részében szinte mindig ugyan az van: Pascal és object pascal alapok, komponenslista standard & additional kivesézése, egy kis kivételkezelés, néha kis Assembly, aztán SQL ezerrel. Eddig csak Füzi János: Grafikai Alkalmazások Delphi Nyelven c. könyve volt kivétel, de az meg erõsen 3D-s grafika. A Chartfx-rõl viszont sehol sem tettek említést. Elõre is köszönöm!
Calyd Posted January 27, 2006 Posted January 27, 2006 Nem tudom mit írtál a kódba, és hogy mit értesz terjedelmes alatt. A sima Image (vagy melyik, már fene emlékszik) komponensel lehet pontonként rajzolni, gondolom ezzel csináltad. Nagyon szép függvényeket lehet vele kirajzolni, ügyes módszerrel még térbelinek tûnõen is tudod ábrázolni a függvényt. Mi csináltunk ilyen függvényábrázolót a suliban, egy srác meg pont Delphiben csinálta, és egyáltalán nem lett nagy a kód. Amúgy függvényábrázoláshoz ajánlom a Lengyel-forma ismeretét (ha esetleg még nem ismernéd). Ez egy kifejezés-rendezõ eljárás, ami elég szokatlan viszont sokkal kezelhetõbb formára hozza pl a matek kifejezéseket. Én két formáját ismerem: postfix (a+b íl: ab+) és prefix (a+b íl: +ab). Persze igazán jó kihasználásához dinamikus memóriahasználatra van szükség, és veremre. Bocs, könyvet nem tudok ajánlani. Help nem elég? Szokott segíteni...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now