Hirdetés
- Nagy "hülyétkapokazapróktól" topik
- Asszociációs játék. :)
- Digitális Állampolgárság Program
- Hőszivattyu medencefűtés
- Amit a Samsung okostelefonok, táblagépek, kütyük "régiózásáról" tudni kell!
- Szólánc.
- A KOReader ebook olvasó program
- Porsche's New Six Stroke Engine Patent
- PlayStation 5 Custom DualSense kontrollerek (Videó)
- Hass.io - Home Assistant telepítés, beállítás
Új hozzászólás Aktív témák
-
lao ce
aktív tag
kedves yksz
eloszor mit akarsz vegrehajtani? az arcsin-t igaz?
masodszor?
a degtorad-ot? nem, hanem a radtodeg-et.
tehat az arcsin-nek kell a belso fuggvenynek lennie es a radtodeg-et hasznald kivul.
szerintem olvasd el a help-et ami ezekhez van irva es probald megerteni mit is csinalnak a fuggvenyek.nicht kompot
-
lao ce
aktív tag
ertem en: a kezdet nem konnyu.
mindenkeppen azt gondolom, hogyha nehez hosszabb angol szoveget ertelmezned (senki sem szuletik ugy), akkor erdemes lenne venned magyar nyelvu programozasi alapokkal foglalkozo konyvet. ha az alapok megvannak (nem olyan veszes, szerintem az egesz 2-3 het olvasgatas talan), akkor lehet egy delphis konyvet venni.
nem bantasbol irom hanem segitsegkent, hogy senki nem fogja tudni tizezer problemadat megvalaszolni sem itt sem mashol, csak te magad. viszont ha a konyveken atragtad magad, gyorsabban fogsz tudni haladni mint mindig varni hogy valaki valaszol, azt nem erted, akkor visszkerdezel arra megint varsz stb.
ezt a sort tedd egy button onclick esemenyebe.
ShowMessage( ' ArcSin-je az EditBox ertekenek = ' +
...FloatToStr (
......RadToDeg (
.........ArcSin (
............StrToFloat( Edit1.Text )
.........)
......)
...)
+ ' fok.' );
nem probaltam ki, de gondolom megy persze a pontok nelkul... es persze csak remelni tudom egy ez kell.nicht kompot
-
lao ce
aktív tag
hat, ha eljutottal akkor miert nem azt mondod mi a baj
a buPrintClick a click eventje a gombodnak
ez meghivja a PrintGrid procot
a sok magyarazat helyett azt mondom, hogy a type-ot a type-ok utan ird, a var-t a var-ok utan. de szerintem vedes elott nezz utana a delphi unit felepitesenek, hatha rakerdeznek aztan illik tudni nagyjabol.nicht kompot
-
lao ce
aktív tag
osszeolloztam neked egy unitombol dolgokat
unit Valami;
interface
uses
Windows, ... ;
// ez a delphi dolga, akkor kell babralni ha be kell tenni
// pl a math unitot kezzel mert akarsz hasznalni egy fuggvenyt;
// ez a resz lathato masik formokrol is egesz az implementation szoig
// sajat global procedures, functions amiket speciel en mindig global nevu
// elkulonitett unit(ok)ban tartok, de egye fene most legyen itt egy par:
function GetSystemPath(Folder: Integer): string;
procedure MoveForm(Button : TMouseButton; aForm : TForm);
// ez a formod
type
Tfrm = class(TForm)
...
// innen neha ki kell torolni egy-egy eventet ha a delphi mar elvesziti
// a fonalat hogy mi a fenet is akar a programozo, de joreszt sajat maga;
// elintez mindent;
procedure Button1Click(Sender: TObject);
...
private
{ Private declarations }
// ide lehet beirni sajat funkciokat amik a formra vonatkoznak
// a kozvetlen elonye ezeknek a helyeknek (priv and publ) annyi,
// hogy nem kell leirni az itt deklaralt funkciodon belul hogy
// formneve.labelneve.caption hanem eleg a labelneve.caption.
public
{ Public declarations }
// ez a masik hely, ezeket a dolgokat masik formokrol is meg lehet hivni
end;
const
alma = 'asd';
// ez a formod hehe... 'megtestesulese' es egy sajat globalis valtozo
var
frm : Tfrm;
bela : string;
implementation
// ez a te dogod, a formok kereszthivatkozasai;
uses unitMain, unitDM... ;
// ez a type egy sajat tajpra pelda, lehet tobb is egymas alatt
TEditModes = (
emInsert,
emUpdate,
emDelete,
emView
);
const
korte = 'qwe';
// ezek a unitra vonatkozo sajat valtozok, minden procbol elerhetoek;
var
b : integer;
{$R *.dfm}
// es itt elkezdodik a programod;
nincs idom atnezni, lehet hogy nem tokeletes, lehet javitani.nicht kompot
-
lao ce
aktív tag
egyebkent mar akartam irni hogy nagyon jol csinalod amit csinalsz. oszinten mondom, le a kalappal, buszke lehetsz magadra hogy ennyire hatarozottan vegigverekszed magad ezeken a dolgokon.
sajnalom hogy hosszu lett a hozzaszolasom, de ne becsuld le magad annyira, meghogy par ora... en oda illesztenem be a type-ot ahova irtam, keresd meg (ha akarod) az implementation alatt van.nicht kompot
-
lao ce
aktív tag
ingovanyos a tudasom ezen a teruleten, de valami ilyesmi:
type
...TSajat = class(TButton)
private
...FUzenet : string;
protected
...procedure MouseDown... override; // <- atvesszuk a hatalmat!
published
...// Uzenet property lathato kivulrol mint egy string
...property Uzenet: string read FUzenet write FUzenet;
end;
procedure TSajat.MouseDown...
begin
...inherited; // <- megcsinaljuk amit amugy is
...// es pluszban:
...if FUzenet<>'' then ShowMessage( FUzenet );
end;
szokas szerint nem probaltam kinicht kompot
-
lao ce
aktív tag
sajnos a rave reportot nem ismerem.
ha a select az jo csak egyszeruen tobbszor jon a nev a kulonbozo orak melle, akkor a riportban kell olyasmit keresni hogy suppress duplicates vagy ilyesmi. mondjuk en jobb vagy duplaklikkelnek a nev mezon, csak van valami property vagy options, aztan ott keresgelnek.
az is lehet hogy egyszeruen logikailag rosz helyen van a nev, nem detail bandra kell rakni, hanem group band szeru dologra -egy lepessel kifele. lehet hogy letre is kell hozni pluszban ezt a band-et. tanarbacsi adatai a groupbanden, orak neve a detail banden.
ha a select a ludas azaz ismetles van az eredmenysorok kozott, akkor distinct kulcsszo kell (select distinct tanarbacsineve, oraineve from....)
tisztogatas: csak megemlitem, hogyha duplaklikkelsz a warningra (vagy az errorra) a kurzor odaugrik ahol a felesleges valtozod van, es csak egy mozdulat kiszedni a sort...nicht kompot
-
lao ce
aktív tag
sajnos nem tudom micsoda az hogy 'tipusos' de tudom mi az a fajl
en vegigmennek az oszlopokon
for i := 0 to ColCount - 1 do
...grdSajat.Cols{i}.SaveToFile( fajlneve );
illetve betoltesnel
...grdSajat.Cols{i}.LoadFromFile( fajlneve );
persze, lehet hogy ez nem eleg tipusos sajnos
szerk: { } = szogletes
[Szerkesztve]nicht kompot
-
lao ce
aktív tag
tolem mindig valami bonyolultat olvasol.
- canvas-t nem tudom magyarul, de vaszon (festo) ha leforditod szo szerint.
- a nyolc az pixelben van. amolyan magic number, izles szerint.
- ez a kod iszonyu, ezert nehez erteni kicsit.
a TextWidth amire mi utazunk, es ez egy canvashoz kapcsolodik, tok mindegy hogy melyiket hasznaljuk. tobb canvas is van eppen hasznalatban, a stringgridnek es a formnak biztosan ott csucsulnek a canvasai.
ha csak ugy siman benyogi az ember hogy canvast ide vazze, akkor a form canvasat erti a delphi. de, ha with...do is van, akko' eloszor megprobalja, hogy ami a with-be van irva annak van-e canvasa ha igen akkor azt hasznalja. aki irta ezt a programreszletet nyilvanvaloan nem volt tisztaban ezzel.
namarmost.
Canvas.Font := Font
ez a sor hulyeseg. vedd ki a fenebe. megprobaltam leirni hogy miert hulyeseg, de inkabb 'gondolkozz rajta', mert 15 sor volt a magyarazat es en magam sem ertettem a vegen amit irtam...
tudod mit? atirtam neked, mert igy legalabb ertheto mi tortenik, ne mar 6 soron muljon.
// vegigmegy ket ciklussal a cellakon oszloponkent, kiolvassa a cella
// szovegenek szelesseget (TextWidth), eltarolja a legnagyobb erteket
// vegul beallitja az oszlopot a legnagyobb szelessegre
for j := 0 to StringGrid1.ColCount -1 do begin
...maxSzeles := 0;
...for i := 0 to StringGrid1.RowCount -1 do begin
......aktSzeles := StringGrid1.Canvas.TextWidth(StringGrid1.Cells[j, i]) + 8;
......if aktSzeles > MaxSzeles then maxSzeles := aktSzeles;
...end;
...if maxSzeles > 0 then StringGrid1.ColWidths[j] := maxSzeles;
end;
lefogadom hogy igy mar teljesen vilagos mirol van szo. sot, talan a tanarok is elboldogulnak velenicht kompot
-
lao ce
aktív tag
ha minden fazisat megrajzoltad egy gombnak es negyszog alaku csak azt hitted viccbol kerdezem, akkor tedd ra egy image-re, es nevezd ki, hogy marpedig ez matol kezdve gomb. az onclick, mousemove stb eventeket lehet hasznalni izles szerint, hogy valtogasd a gomb kepet ahogy az egeret huzzak felette ill hogy megird a lenyomas esemeny programjat.
ha haromszog alaku akkor maskent kell csinalni. azt javaslom hasznalj negyszog alaku gombot, mert legalabbis szerintem nem egyszeru rendesen megirni egy tetszoleges alaku gomb kezeleset. persze nem is lehetetlen, de nem biztos hogy megeri vacakolni vele. esetleg keress egy ilyen komponenst a weben es hasznald azt.nicht kompot
-
lao ce
aktív tag
felig vicces volt. hat, van mondjuk 4 allapotod (nem tudom mennyi) megrajzolva kepben. felteszel egy image komponenst a formra, beleteszed az elso kepet, es elnevezed az imagedet btnSajatGomb-nak mondjuk. aztan a kepeket cserelgeted mikor a mosue fele megy vagy megnyomjak vagy valami.
erdemes persze altalanos eljarasokat kesziteni amik nem csak erre az egy gombra mukodnek (hatha tobb gombod is van vagy lesz)
erdemes megfontolni hogy imagelist-et is hasznalj az image-ek melle, abban tobb kepet el lehet tarolni, ami nem rossz dolog.nicht kompot
-
-
lao ce
aktív tag
otlet:
hat, ha a nev parameterkent jon (azaz ismert), akkor esetleg vedd ki az adatbazis fieldet teljesen, es ugy ahogy az 'orabeosztasa' szoveget kiirod, tegyel statikus textet, DE, azzal a kulonbseggel hogy a riport formjanak oncreate eventjeben egyszeruen tedd egyenlove egy valtozoval ami a tanar nevet tartalmazza. csak lehet olyat hogy TanarStatTextField.caption := NevString; nem? ez ugyan nem javitana ki a hibat, de megoldana a problemat.nicht kompot
-
lao ce
aktív tag
RvProject2.Text5:=Query18...
hat, ezt nem is fogja. nem tudom milyen tipusu mezo a statikus. Label lenne (mint quickreportban)? mert akkor van captionje (ezert irtam en is hogy caption az elobb). esetleg valami rave report altal keszitett sajat text tipus? nincs olyan hogy Text5.text, Text5.value, Text5.caption vagy esetleg Text5.azanyjat?
eloszor probald hogy Text5.Valami := 'alma';
ha az almaval megy akkor Query blabla is menni fog.nicht kompot
-
lao ce
aktív tag
es a text nem jo? gondolom van olyan hogy Name az a neve a Text meg a szoveg ami benne van. nem ertem mit nem ertesz. vagy nem ertem en mit nem ertek.
szerk: basszus nevezd mar at azt a komponenst txtTanarNeve-re jo? kerlek. Name propertybe irdd be hogy txtTanarNeve. hat meg ilyet. irgum-burgum mar.
[Szerkesztve]nicht kompot
-
lao ce
aktív tag
ok.
1) allj a reportformra. nyomjal alt+f12 -ot. a report formod atvalt text-re.
2) ctrl+f, ird be a keresobe hogy txtnev.
3) keresd meg hol van. a sor ilyen lesz object txtnev: Tvalami (talan TText).
4) scrolloz felfele amig nem talalod meg hogy melyik masik objektumon belul talalhato a txtnev objektum. azaz, az elso olyan object.... sor lesz ami balrabb van rendezve a txtnev-nel
object form : Tform
...tulajdonsagok, objektumok sok soron keresztul...
...object valami : Tvalami <- ezt keressuk
......tulajdonsagok, objektumok sok soron keresztul......
......object txtnev : TValami
5) jegyezd meg a szulo nevet, ezt kell hasznalni.
6) alt+f12 (valts vissza)nicht kompot
-
lao ce
aktív tag
velkam on da bord.
Alan... figyu mar, tusi azt hiszi hogy azert mert nem eszik es csak kolat iszik egesz nap majd mi itt hasraesunk. bevallottan meg a wc-re is kiszaladgal, hat hol tart a vilag komolyan... november ota ccc... melyik ev? tusi, legkozelebb rendelj pizzat, azt siman be tudjak csusztatni a csukott ajto alatt, tudsz kozben fejleszteninicht kompot
-
lao ce
aktív tag
ja, hat egy jopar evig sikerelmenyt ad. marmint a programozas.
nicht kompot
-
lao ce
aktív tag
''...miért nem csináltál egy saját céget, vagy mentél el egy céghez dolgozni''
miert ne tettem volna ezeket a dolgokat? ezeket csinaltam.
''Gondolom az iskoláid elvégzése után nem kis tapasztalatod lehetett''
ugy erted nagy gyakorlatom lett volna? nem, semmi nem volt hiszen addig iskolaba jartam. igaz, egyetem alatt mar egy... nem, ket munkahelyem is volt, dolgoztam. az elso munkahelyemen seged-al-al-al-al programozo voltam es szaladtam ha nem ment valakinek valami a konzolon. tudod... olyan zold szinu kijelzo mint a regi scifikben, bar azt hiszem volt mar egy-ket szines monitor is a csokosok asztalan.
''Vagy csak egyszeruen csináltál volna egy hasznos kis progit, vagy tobbet és eladod''
nem tudtam en hasznos kis progit csinalni. az kulcsfontossagu hogy ki kell talalni egy jo otletet amihez elobb a piacot meg kell ismertni. abban az idoben meg nem volt internet. ezen kivul tars vagy tarsak nelkul nem megy. es tarsat talalni a legnehezebb. kerdezd alan-t
addig is amig suliba jarsz, a programozas mellett tanulj angolul. ha szereted a nyelveket akkor nemetul is. a matekra is hasalj ra, mert jo gondolkodasmodot ad es meg az is lehet hogy kelleni fog.nicht kompot
-
lao ce
aktív tag
hat nem tudom hogy pontosan nekem mit tanitottak, de eleg hangsulyos a dolog. nem ertem hogyan lehet hogy errol nem beszeltek?
otleteim vannak:
-a program terveben nem art hogyha van valamifele utalas a hibakezelesre
-a funkciok specifikaciojanak meglete is a resze a tesztelesnek
-elvileg le kellene talan tesztelni minden procedurat es funkciot helyes es helytelen bemeneti ertekekkel.
-vegig kellene talan csinalni egy 'joindulatu' es egy 'rosszindulatu' tesztet a felhasznaloi feluleten. joindulatu a mikor szuletett kerdesre az 1922-01-22 a rosszindulatu a 12-333-2. utcanevre mondjuk a petofi utca a joindulatu es haromszaz egyes karakter vagy a ' '' !@#$%^&*43 a rosszindulatu.
-keyboard kombinaciok, szabalytalan kilepes. alt+f4, ctrl+alt+del okoz problemat? ctrl+escape,felnyil,enter,enter?
-ha a programot valahol hasznalnak akkor kulso tesztelesre lehet vinni par napra, es akkor lehet mondani hogy ez meg az a funkcio az o keresukre kerult bele. ez a 'hasznalhatosagi teszt'. de ez lehet egy 'kollega' is ha nem lesz hasznalva a program.
-video teszteles kulonbozo felbontasban, szinmelysegben, temakkal, nagy karakterekkel(!)
-platform teszt... mas gepen es vindoz verzioban. xp sp2 kompatibilis?
-tovabbi dolgok, hogy okoz-e gondot: windows terheles alatt van a futas alatt, tobb peldanyban fut, halozati kimaradas.
-lehetne csinalni egy stress tesztet. megitelni hogy egy-ket-ot ev mulva mekkora lesz a rendszer. aztan insertalni tizezer tanart fejenkent tizezer oraval, es megnezni, hogy melyik resz lett iszonyu lassu.
de senki nem tudja hogy mit kellett volna tanulni es tanitani neked ott... szoval ezek csak otletek.nicht kompot
-
lao ce
aktív tag
ha van egy geped mas oprendszerrel (akar kolcson) es a network megy kozottuk,
akkor vegig tudlak vezetni hogy mit kell csinalni hogy lassa az uj gep az oracle-t. eleg necces, de nehany-tizszer eletemben mar sikerult.
biztos ilyet kerdeznek hogy miert eppen az oracle-t valasztotta? jobb ha kitalalsz valamit, az 'azt tudtam megszerezni' valasz hataresetnicht kompot
-
lao ce
aktív tag
engem kifejezetten bosszant ha a debuggert kell hasznalnom, nalam az mar a harmadik lepes, a 'mi a tokom van mar ezzel, debuggolni kell' kategoria.
elotte van a 'haladok tovabb es kozben kigondolom mi a baj' es az 'odalapozok a kodhoz es bambulom egy darabig'.
a debug utan mar csak az 'akkor csinaljuk maskent', a 'keresgelek az interneten' es vegul a 'megkerdezem az interneten' kategoriak vannak.
ami erdekes, hogy attol fuggoen hogy melyik lepesben oldodik meg a baj, visszafele is lepdelek. tehat ha valaki segit az interneten, akkor utana meg keresgelek egy darabig hogy miert is nem talaltam meg eredetileg valamint mas megoldasok utan. aztan beepitem es remenykedek hogy megy, debuggal megnezem hogy mi tortenik a kapott kodreszletben. aztan bambulok a sorokra hogy megertsem, vegul haladok tovabb es gondolkodok rajta hogy hogy a tokombe nem lehetett erre rajonni magamtol is.
van akinel 'nem megy ezert zaklatok emailen idegeneket' kategoria az elso es egyetlen.
ps: aramvonalas rutinoknicht kompot
-
lao ce
aktív tag
en azt hiszem ezt ugy szoktak megoldani, hogy eloszor megrajzoljak a memoriaban amire szukseg van es aztan egy lepesben kirakjak a lathato teruletre.
szoval en ugy csinalnam hogy lenne egy image ami a haromszogemet tartja:
var
...triangle: tbitmap;
aztan ezt elokeszitenem a form create-ben:
...triangle := TBitmap.Create;
...triangle.PixelFormat := pf32bit;
...triangle.Width := Form1.Width;
...triangle.Height := Form1.Height;
es persze fel is szabaditanam a destroy-ban vagy close-ban:
triangle.Free;
a mousemove-ban meg eloszor visszaallitanam a 'szurket' a triangle image-ben(azaz torles)
...triangle.Canvas.Brush.Color := clSilver;
...triangle.Canvas.Rectangle (0,0, Form1.Width, Form1.Height);
aztan megrajzolnam a haromszoget a mar 'ures' kepben:
...triangle.Canvas.Brush.Color := clWhite;
...triangle.Canvas.Polygon([
......point(100, 500),
......point(300, 500),
......point(X, Y)
...]);
(az utolso sor X es Y koordinataja az egerpozicio, ami a mousemove procedure parametere)
vegul ugyanitt a mousemove-ban, a triangle nevezetu image tartalmat kikopiznam a form canvasara ezzel a konnyeden ertheto, minden igazi programozoba dns szinten oroklott utasitassal:
...BitBlt(
......Form1.Canvas.Handle,
......0, 0,
......Form1.Width, Form1.Height,
......triangle.Canvas.Handle,
......0, 0,
......srccopy
...);
jo szorakozast.
[Szerkesztve]nicht kompot
-
lao ce
aktív tag
kedves szalma
szerintem egy haromszog miatt azzal nem kell megkuzdeni, csodalkoznek ha latni lehetne kulonbseget. inkabb ugy irom: elegge biztos vagyok benne hogy az adott feladatban a double buffering megoldja a problemat, mig az erase nem jatszik szerepet. de tevedhetek.
amugy a kuzdelem kb ennyi lenne ha jol sejtem:
private
procedure Kuzdes (var Msg: TWMEraseBkgnd); message WM_ERASEBKGND;
...
procedure TForm1.Kuzdes (var Msg: TWMEraseBkgnd);
begin
Msg.Result := 1;
end;
amit azert nem neveznek kuzdelemnek.nicht kompot
-
lao ce
aktív tag
válasz Drótszamár #853 üzenetére
ki lehet 'hamozni'? a vegen meg elriasztod a lelkeseket
ExtractFileDrive (filaneme)
vagy ha tobb minden kell, akkor:
ProcessPath(selectedFile, drive, path, fileName)nicht kompot
-
lao ce
aktív tag
Új hozzászólás Aktív témák
- Samsung Galaxy S23 Ultra - non plus ultra
- Mini PC
- OLED TV topic
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Call of Duty: Warzone
- Anglia - élmények, tapasztalatok
- Politika
- Leírhatatlanul sok újítást tartalmaz a friss AMD Software
- AMD GPU-k jövője - amit tudni vélünk
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- További aktív témák...
- Samsung Galaxy Z FLIP 6 12GB/512GB, Silver Shadow, kártyafüggetlen, garancia, makulátlan, új állapot
- Macbook Pro 15" - 2015, 4 mag i7, 16256GB, 100 ciklusos akku, garancia (y2)
- Eladó Konfig I7-10700 32GB DDR4 512GB SSD RTX3060TI 8GB!
- MacBook Pro 16 M2 Max - 32GB RAM, 1TB SSD - 27 hónap Garancia - Patika állapotban // 100% akksi
- 2K GAMER Ryzen 5 5600 X,ASUS 6700XT,32 GB RAM,
Állásajánlatok
Cég: Ozeki Kft
Város: Debrecen
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest