- gban: Ingyen kellene, de tegnapra
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- ricshard444: Fényképező ? Telefon helyett
- Lalikiraly: Astra kalandok @Harmadik rész
- bitpork: MOD Júni 28- Augusztus 2- szombat jelen állás szerint.
- eBay-es kütyük kis pénzért
- sziku69: Szólánc.
- Yutani: Yutani Retró Hangkártyái: OAK Mozart Wavetable
- Meggyi001: Egy olcsó vállfás megoldás a pólóimnak...
Új hozzászólás Aktív témák
-
tusi74
őstag
MEGY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Köszi a linket. Be kellett állítani a Rave-en belül is a paramétert.
Minden megy a programban.
Mindenkinek nagyon köszönöm.
Én soha életemben nem ittam alkoholt, csak szilveszterkor, de most olyan szívesen berúgnék. Ma pl. még nem ettem. Reggel 8 óta csak WC-re álltam fel, és benyakaltam 4 liter PepsiMax-ot. És ez már nov. eleje óta így megy. -
Alan
aktív tag
...ugyan a kutyát nem érdekli, de off-ban megjegyzem, hogy többek között az ilyenek miatt nem használom, sőt fel sem telepítem a Rave Reports-ot.
Mindenki szidja a QuickReports-ot, csakúgy, mint a BDE-t, de én mind a kettővel jól elvagyok. Tudni kell persze, mik a határok, de azok abszolút nem olyan szűkek, hogy ne lehetne megoldani velük a valódi problémák jó részét. A QuickReports nekem sokkal jobban tetszik, és szerintem te is, tusi74, sokkal jobban tudnád (majd a jövőben) használni.
Na megyek vissza robotolni ;)
[Szerkesztve] -
tusi74
őstag
Most jövök rá, itt nincs olyan, hogy report from, az a Quick Reportnál van.
Itt úgy van, hogy fellteszel 3 komponenst a fromra, rvSystem, RvProject, RvQueryConnection. Ezeket összecsatlakoztatod, beállítod a megfelelő query-t, amit használjon, majd a Rave Reports nevű programban elkészíted a *.rav fájlt.
És ezt a *.rav-ot buttonClick esemény alatt futtatod.
Tehát ezt a szöveges mezőt nem látja a Delphi. -
Hani
aktív tag
Vagyis ha jól értem, akkor van egy lekódolt szöveges file-od?
Kérdések hozzá:
- Az egész .zip kódolt, vagy csak az az egy file?
- Ha az egész, akkor hány file van a .zipben? Hülye kérdésnek látszik, de ha van 6-8 db., akkor meg lehet kerülni a titkosítást kódhossztól függetlenül.
- Ha nem, akkor próbálj meg visszaemlékezni a kódra.
Ha nem jut eszedbe a kód, akkor az Advanced ZIP Password Recovery, vagy az Ultimate ZIP Cracker segíthet az emlékezésben.
Gép, szerencse, kód, stb. kérdése.
Lao-ce-nek igaza van, legközelebb légyszi az ilyet az ''azonnali kérdések órája''-ba nyugodtan beteheted, oda simán illik.
Sok szerencsét. -
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) -
tusi74
őstag
Undeclared identifier txtnev (átneveztem a text5-t
).
A dataview1-be a lekérdezés 4 oszlopa van betöltve.
annak nem része a szövegmező. (legalábbis szerintem).
Csináltam sreenshotokat, hogy az rvProject2. mögé.
Bővebben: link
Bővebben: link
Bővebben: link
Bővebben: link
Nem baj, hogy csípős a kedved, marha rendes vagy, hogy így próbálsz segíteni. -
tusi74
őstag
RvProject2.text5.text:=valamit, már a Compile sem fogadja el.- Ezzel kezdtem a próbálkozást, amikor kitaláltad, ezt, hogy sima szövegként tegyem fel a nevet.
Nekem minden az eredeti nevén van a szakdoliban. Szerinted az a védésnél cikis lesz? Az egyik formon több mint 50 query van. szeép sorban query1, query2, stb...
De ezt most a kedvedért átnevezem.
[Szerkesztve]
[Szerkesztve] -
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] -
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. -
tusi74
őstag
Na ezt most elsőre megértettem. Ilyen sem volt még.
Elvileg ezeknek a statikus text mezőknek text propertyjük van.
Arra nem jövök rá, hogy lehetne rá hivatkozni, mert a gyorssegítség (Leírom, hogy rvPorject2. és lenyílik, miből választhatok), nem ajánl fel ilyen opciót.
Még legjobban a SetParam hasonlítana.
Most addig eljutottam, hogy kivettem a nevet, mint Databand, helyette tettem egy Text5 nevezetű statikus text-et.
Azt nem engedi, hogy RvProject2.Text5:=Query18['nev'[/]
Most így néz ki a rave-t meghívó buttonClick:
Query18.ParamByName('nev').AsString:=nev.Text;
Query18.Open;
RvProject2.SetParam('text5',query18['nev');
RvProject2.Execute;
Query18.Close;
Ezt ha futtatom, akkor így lesz a fejléc: text5 megtartott órái.
Innen kellene valahogy folytatni, szerintem ez jó irány lesz, ez olyan megérzés.
[Szerkesztve]
[Szerkesztve]
[Szerkesztve] -
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. -
tusi74
őstag
A Rave terveztemnek képét itt lehet megnézni:
Bővebben: link (jobb oldalt lehet látni, milyen mezők vannak a Direct DataView-ban).
És az eredmény:
Bővebben: link
A lekérdezés, amiből a Rave készül:
select d.nev, o.osztnev, t.tantnev, tf.oraszam
from elek.ttantfeloszt tf, elek.tdolg d, elek.tosztaly o, elek.ttantargy t
where (tf.dkod=d.dkod) and (o.osztkod=tf.osztkod) and (t.tantkod=tf.tantkod)
and (d.nev=:nev)
Egyébként biztos valami egyszerű megoldása van, csak valami elkerüli a figyelmemet. -
tusi74
őstag
Nem kerülte el, a 345-ösben volt, csak azokat a dolgokat a Rave-ben nem találtam meg. Azon a képen, amit beillesztettem pár hozzászólással korábban, azon mi az a Duplex? Az a nyomtatásra vonatkozik, nem a Duplex supress, amit írtál.
Általában ahogy olvasom, hogy valaki valamit javasolt, rögtön csinálom.
Egyébként is napi 14 órát foglalkozom ezzel, már vagy 2 hete fizu nélküli szabin vagyok.
[Szerkesztve] -
tusi74
őstag
Ja és még nagyobb gáz, elveszett 2 hete a témavezetőm'' . Sem e-mailre nem válaszol, sem a telefonját nem veszi fel. 1 hónapja még abban állapodtam meg vele, hogy majd legalább egyszer elolvassa a beadás előtt, úgy hogy a hibákat legyen időm kijavítani. Nem mintha eddig hejde segített volna. Holott előre közöltem vele a játékszabályokat, hogy nem vagyok rutinos programozó. Még Ő mondta, hogy egy kihívás lesz neki velem dolgoznia, mert még nem volt tanítványa, aki abszolút kezdőként bevállalt volna ilyet. Ehhez képest, ha nincs ez a fórum, akkor még sehol sem lennék. De legalább kipanaszkodtam magam.
-
tusi74
őstag
Hát köszi a szurkolást, a végső beadás (hosszabítást kaptam), 2005. január 7.
Most screenshoton már mindent lefordítottam, és azt szúrtam be.
Sokkal nagyobb gáz ez a fejléc, de majd azt csinálom a védésnél, hogy ''véletlenül''
egy olyan embert mutatok be, akit direkt úgy viszek be előre, hogy egyszer szerepeljen. -
Alan
aktív tag
Rossz hírem van, szerintem az OK és Cancel gombokat kivéve maradna angolul, mert ez egyedi párbeszédablak. Ha borzalmasan sok időd lenne, azt mondanám, Resource DLL Wizard (azaz Project -> Languages -> Add, majd Hungarian 0x40e) és fordíts le mindent magyarra, de ettől most szerintem te is eltekintesz
A másik Rave Reports-os kérdést passzolom, nem használtam sosem.
Szurkolok neked, ismeretlenül is
[Szerkesztve] -
yksz
aktív tag
? Van egy .zip suritett fajlom, amiben van egy .txt fajl, ami le van kodolva(ki akarom nyitni, elolvasni, de keri a kodot). Hogyan tudnám ezt a kódot kiolvasni, vagy úgy kicsomagolni és beolvasni egy editbe vagy valamibe, hogy a kódot ne kérje és olvasható is legyen?
-
tusi74
őstag
Lenne még pár apró kérdésem.
Mivel nekem csak angol op. rendszerem van, és már nincs időm telepítgetni, aki használ Rave Reports-ot, meg tudná mondani, az alábbi kép magyarul jelenne meg egy magyar op.rendszeren?
A másik, amit már régebben kérdeztem, hogy lehet megcsinálni, hogy a Report-nál ha valakinek a nevét ''fejlécnek'' teszem akkor ne annyiszor jelenjen meg, mint ahányszor a lekérdezésben szerepel? -
<Adamsky>
nagyúr
válasz
<Adamsky> #367 üzenetére
Na újabb probléma:
Futás közben hozok létre egy Interbase adabázist és benne három táblát.
Ha az adatbázis kapcsolatot megszüntetem (IBDataBase.Connected := false) majd később újra csatlakozni szeretnék, akkor ezt a hibaüzenetet kapom:
''Your user name and password are not defined'' -- pedig igen! Nem értem.
A forráskód Bővebben: link
Alulról a 10 & 11 sor aktívvá tételével jön elő a hiba. -
<Adamsky>
nagyúr
...megoldottam
[Szerkesztve] -
Alan
aktív tag
yksz, nem akarsz elolvasni előbb egy könyvet az objektumorientált fejlesztésről? Dicséretes, hogy próbálkozol, de hiányzik pár fogalom ismerete, ezek nélkül nagyon-nagyon sokáig kudarcra leszel ítélve. Először egy általános OOP könyvet javaslok, aztán hozzáfoghatsz pl. a ''Delphi 7 mesteri szinten'' című könyvhöz Marco Cantú-tól, és közben gyakorold a fejlesztést.
Természetesen mind így kezdtük, de azt meg te hidd el, hogy erőfeszítés, időbefektetés nélkül semmi sem fog menni. Olyan, hogy ma fogalmam sincs, holnap meg már értelmeset tudok alkotni, nem létezik.
[Szerkesztve] -
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. -
yksz
aktív tag
? Hogyan lehet azt megcsinálni, hogy a gép bekapcsolásakor a programom automatikusn induljon el, valamint tegyen ki egy ikont( egy nagy jaj. Fogalmam nincs hogy van magyarul, de arra a részre ahol van az óra, a hálózati kapcsolat meg egyéb)<-ide?
-
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. -
yksz
aktív tag
? Hogy lehet egy saját(magam tervezett) gombot betenni a fom-ba?
-
tusi74
őstag
Amikor egy formról írunk, akkor ugye le kell írni a paramétereit.
Van ugye a neve, a Name propertyben megadott.
De hogy mondjuk a unit nevet.
Jó az a megfogalmazás, hogy ''a form által képviselt unit neve.''? -
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 vele -
yksz
aktív tag
? Van olyan parancs, vagy valami, amivel le lehet kérni és meg lehet jeleníttetni a képernyőn az FPS-t?
-
tusi74
őstag
Mint már régebben írtam, a szakdolimba pár internetről szedett kódot illesztettem.
Ma lejutottam addig, hogy mindről tudom, hogy mit csinál, csak leírni nem tudom.
Szinte mindig a Canvassal gyűlik meg a bajom.
Valaki megfogalmazná nekem, hogyan lehet szakdolgozatba illő ékes magyar egész mondatokat írni a canvasos utasításokról? Mi az a canvas?
Pl. Találtam egy eljárást, ami átmeretezi dinamikusan a szöveghez a cellákat.
A commenteket én írtam, szerintem jó.
with StringGrid1 do
begin
Canvas.Font := Font; {A megjelenített font:=StringGrid1 fontja}
for j := 0 to ColCount-1 do {Ciklus az összes oszlopra}
begin
max := 0; {Az oszlopban megkeresem a maximális hosszú szót (maximum kiválasztás tétele), és annak hosszához igazítom a teljes oszlop szélességét}
for i := 0 to RowCount - 1 do
begin
seged := Canvas.TextWidth(Cells[j, i]) + 8; {seged változóban tárolom a vizsgált j.edik oszlop
i-edik sorának szövegszélességet, meg adok még hozzá 8 pontot, hogy ne súrolja a szöveg a
rácsot}
if seged > max then max := seged;
end; { For }
if max > 0 then ColWidths[j] := max; {Ha a megtalált maximum 0-nál nagyobb, akkor ez legyen a j-edik oszlop mérete}
end; { For }
end; { With }
Azt értem, hogy a Font legyen a StringGrid fontja, de hogy jön ide a canvas?
Meg azt is értem, hogy a seged változó értéke legyen a StringGrid1 j.-edik oszlopának i-edik sorában a szöveg szélessége+8. A 8-at egyébként
miben mérjük? Pontban?
[Szerkesztve] -
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] -
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... -
yksz
aktív tag
? ''Tegye fel a kezét'' az aki egyetemre jár!
-
BLiNk3r
senior tag
Tudja valaki, hogy miként lehet adatot tárolni típusos fájlban?
Adott egy stringgrid, és abból a cellák értékét kellene elmenteni egy típusos fájlba, de fogalmam sincs, hogy hogyan.
Help! -
tusi74
őstag
Köszi. Hát akkor egyszer majd mikor egyéb munkára alkalmatlan leszek, akkor nekiállok.
Másik.
Hogy lehet azt megcsinálni a Rave Reportsban, hogy Kis Pista megtartott órái,
ahol Kis Pista az adatbázis név oszlopából érkezik, alatta a megtartott órái
pedig egy statikus Text. És ha Kis Pista teszem azt 5 osztályban tanít, akkor ne ilyen legyen a fejléce a beszámolónak:
Kis Pista
Kis Pista
Kis Pista
Kis Pista
Kis Pista
megtartott órái.
Rendkívül ronda. -
tusi74
őstag
Tud valaki olyan progit, ami átvizsgálja a kódot és a nem használt változókat Query-ket kiszűri? Mert nekem annyi ''szemét'' van a kódban, hogy kézzel is egy nap lenne. Minden futtatáskor alul egy egséz ''kisregény'' generálódik a a never used variable-król.
-
Hani
aktív tag
Hümm.
És mit szólnál ilyesmihez?
(Persze a pontok nélkül - azok csak ''távtartónak'' vannak ott.)
Procedure TForm1.SajatEvent(Sender :Tobject);
Begin
... Edit2.Text:='a';
End;
Procedure TForm1.Button1Click(Sender: TObject);
Begin
... Button2.OnClick:=SajatEvent;
End;
Egy próbát megér.
Esetleg a SajatEvent után berakhatod zárójelbe a Sender-t. -
BLiNk3r
senior tag
Na sikerült megcsinálni, köszönöm szépen még1x a segítséget!
Már csak azt nem értem, hogy az miért van, hogy a táblázat fejlécébe, tehát a [0,0], [0,1],...cellákba szeretném beírni azt, hogy szerző, cím, stb. Ez egy FormCreate-ben van benne, de futtatáskor nem írja be, amit kellene.
De ha a bejegyzés gombra kattintáshoz írom ugyanezt, akkor már működik.
Így néz ki a problémás forrásrész:
procedure TForm1.FormCreate(Sender: TObject);
begin
stringgrid1.cells [0,0]:='Szerző';
stringgrid1.cells [1,0]:='Cím';
stringgrid1.cells [2,0]:='Vásárlás ideje';
stringgrid1.cells [3,0]:='Ár';
end;
Valami ötlet valakinek? -
yksz
aktív tag
? Egy Buttonnak mivel lehet új OnClick Event-et adni a program futtatása alatt?
-
GBX
aktív tag
a gridnek van egy olyan eljárása (függvénye) amivel az adott cella tartalmát (jelenleg string) meg lehet változtatni, az indexelés 0-tol kezdödik, bal felső sarok 0,0.
Sornak vegyél fel egy globális változót (legyen most SOR) amit minden Bejegyez lenyomására nővelsz +1 el. (de akár te is beállithatod mindegy, csak lehessen automatikusan feltölteni a táblázatot stb.. tudod felhasználóbarát sw)
Az oszlopoknál ugy kell hogy csinálni hogy asszondod hogy a konyv szerz. az a (0,SOR) indexen van és ide beirod annak az editboxnak a tartalmát, könxv cime (1,SÖR)......stb -
BLiNk3r
senior tag
kösz szépen a gyors választ, épp itt vagyok megakadva, hogy ez az oszlop és sorindex szerinti hivatkozás vajon hogy működik. Ha mondjuk bevezetek egy sorszam és egy oszlopszam nevű változót, a sorszam-ot a képen látható combobox-ban lehet állítani, de az oszlopszámot nem vágom hogy lehetne
-
GBX
aktív tag
a köv a megoldás. A gomb onclick eseményére be pötyögni hogy a grid celláiba (amire sor és oszlop indexel lehet hivatkozni) beirod az egyes editboxokból kiolvasott caption-okat. ha sikerült rendesen feltülteni a táblázatot, akkor ennek a grid obj. nek van egy savetofile eljárása vagy vmi ilyesmi, mivel e tipusos fileba menteted ki a tartalmát, és a gridnek van loadfromfile eljárása (asszem) ami pedig beolvassa a megadott file-t.
Remélem segitett.
[Szerkesztve]
[Szerkesztve] -
BLiNk3r
senior tag
UPP!
engem nagyon érdekel, biztos van itt vki hozzáértő -
BLiNk3r
senior tag
Hello!
Meg kell oldanom egy feladatot delphiben, amihez a segítségeteket kérem, mert egyedül nem tudok rájönni:
Készítsünk programot házi könyvtárunk katalogizálására! Tároljuk a könyvek szerzőit, címét, a vásárlás idejét és az árát! Az adatok tárolására használjunk típusos fájlt!
Ez a feladat. A grafikus felület készen van:
Bővebben: link
A probléma csak az, hogy a Bejegyzés gombra kattintva be kellene írnia a szerzőt, címet, stb-t a táblázatba.
Ha valaki tud segítsen plz! -
KovacsUr
addikt
válasz
Tangerine #322 üzenetére
Nem te találkoztál vele először, de azért azt nem mondanám, hogy ''ismert''... A Platform SDK-ban nem említik meg ezt a viselkedést, csak néhány eldugott Knowledge Base cikk foglalkozik vele. Ha szándékosan keresel, találhatsz is jó néhány programot, amelyek hibásan működnek, mert nem veszik figyelembe ezt a problémát.
-
Tangerine
senior tag
válasz
_thomas_ #321 üzenetére
Szívesen.
Egyébként nem tudom, hogy ilyen alap dolgok miért nincsenek gyárilag benne a delphiben. Nem lenne nagy ügy beépíteni egy deltree függvényt. Ugyanígy nincsenek benne a crt-s alap függvények ami a pascalban van, és konzolproginál gyakran kellhet, pl. clrscr, keypressed, readkey, gotoxy, stb.
Na mindegy, szerencsére ezekre már mások is rájöttek, és megoldották, csak meg kell találni a neten, és beépíteni a progiba. -
KovacsUr
addikt
válasz
Tangerine #319 üzenetére
Bocsánat, félreértettelek. Ez a FindFirstFile/FindNextFile API hibája (illetve a Microsoft szerint feature-je
). A legegyszerűbben úgy tudod kikerülni, ha összehasonlítod a keresett kiterjesztés hosszát a visszakapott fájl kiterjesztésének hosszával. Ha egyeznek, valódi a találat, ha nem, vakriasztás.
-
Tangerine
senior tag
Úgy látszik rosszul fogalmaztam, félreértettél.
Nem az a gondom, hogy nem tudom kiválogatni könyvtárakat/fájlokat, hanem az hogy miért ''illeszkedik'' a 'xxx.shnf' a '*.shn'-re? De csak akkor, ha az 'xxx.shnf' könyvtár? Teljesen illogikus. -
Tangerine
senior tag
Miért van az, hogy a FindFirst (Findnext) megtalál részben passzoló könyvtárakat is, mikor nem kellene?
Kicsit érthetőbben:
var
sr: tsearchrec;
begin
findfirst('c:\temp\*.shn',faanyfile,sr);
end.
Az eredmény az, hogy találatnak veszi a 'c:\temp\konyvtar.shnf' könyvtárat de nem veszi találatnak a 'c:\temp\file.shnf' fájlt.
Mitől lehet? Bug? Egyszerűen nem tudom rávenni, hogy felejtse el a 'c:\temp\konyvtar.shnf' könyvtárat ha nekem csak a '*.shn' kell. És csak könyvtár esetében csinálja.
[Szerkesztve] -
Hani
aktív tag
Ez így teljesen jó - tervezési időben nem is sok látnivaló van egy editboxon
Persze már alapból a form is dinamikus, tehát nincs sok választásom - nagyon jó lesz ez így, ha sikerül. Épp csak ki kell próbálnom, ahhoz meg gép kell (ami viszont 20.-áig nem lesz - /Me zokogZokog.) -
Alan
aktív tag
Aha, remek, akkor teljesen jó lesz lao ce megoldása, csak csomagot is kell készítened meg Register eljárástz írnod a Delphi-be való telepítéshez, no meg az esztétika kedvéért kell .dcr fájl is. Tudsz komponenst csinálni, ugye?
Ha nem kell telepíthető komponens, egyszerűbb az élet, viszont kódból kell létrehoznod a saját szerkesztőmezőidet a saját konstruktorukkal (pl. HaniEdit1 := THaniEdit.Create(Self)), aztán feltenni őket az ablakaidra (pl. HaniEdit1.Left := 123; stb., HaniEdit1.Parent := Form1). Ez könnyebb, de az a hátránya, hogy tervezési időben nem látsz semmit. -
Hani
aktív tag
Hajh, Property-t szeretnék.
Azzal kezdődött, hogy volt max. 16 editboxom (mikor mennyi kell), aminek a tartalmát betöltöm egy sql scriptből. (betölt, szétdarabol, ellenőriz, berak .Text-nek)
Aztán meg kézzel kijavítom az esetleges elírásokat, nyomom a gombot, és már
menti is a megfelelö helyre.
De nem akartam menteni a dolgokat, csak akkor, ha valamit változtattam.
Arra, hogy változott-e a text, galád módon nem csináltam külön rutint, inkább az elején megadtam az eredeti szöveget .Text-nek is, meg .Hint-nek is, aztán hasonlítgattam a végén. Igen ám, de az mégsem jó így, mert később lett normál .Hint is, hát akkor legyen a HelpKeyword, azt itt úgysem fogom használni.
Persze mégis. Hát beraktam tömbbe.
Aztán jött az ötlet, hogy mennyivel szebb lenne saját property, ha már úgyis blokkban csinálom a dolgokat, With Sender As TEdit do begin... rendszerben.
Ki is próbálom majd jól a dolgokat, amint lesz rá lehetőségem. -
_thomas_
tag
jó estét!
hogyan lehet a delphiben letörölni egy olyan könyvárat a vinyóról, amiben file-ok és alkönyvtárak is vannak?
előre is kössz! -
Alan
aktív tag
Nyesed, lao ce, mint mindig ;)
Csak annyit hozzá, hogy ha a TEdit-hez hasonló osztályt szeretne az ember, akkor illik nem ebből, hanem a TCustomEdit-ből származtatni és csak a szükséges tulajdonságokat publikálni (így pl. ''el is rejthető'' a TEdit egy-két tulajdonsága).
Félek viszont, hogy a kérdezőnek komponensvágyai vannak, tehát hogy a saját osztályából egy ropogós friss példányt a TEdit helyett az egérrel feldobhasson a formjára, ahhoz viszont kell még egy-két dolog. Majd bekukkant és szól, ha így van
[Szerkesztve] -
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 ki -
Hani
aktív tag
Helló, újra.
Köszönöm az eddigi tanácsokat, megfogadtam (pl. százezer zárójel, ill. Ini-feldarabolás).
Az & jel is megoldódott a && használattal, valóban - a hiba oka az volt, hogy a különféle gépeken különféle kódkészlet volt, és pl. az egyik (észt) karakterkészletben nem volt ilyen
Viszont eszembe jutott egy újabb dolog, amit mindig szerettem volna tudni.
Elvileg lehet egy-egy osztályhoz (Pl. TEdit) saját property-ket adni.
Csinált valaki már ilyet? (Most éppen egy három dimenziós tömbbel van megoldva, de olyan szép lenne..) -
Alan
aktív tag
lao ce nyomdokain továbbgondolkodva talán nem is véletlen, hogy ''fanatikus tag'' a státuszod ;) A kitartásod és az erőfeszítésed tényleg csodálatraméltó. És ezt nem úgy értem, hogy ''jól van pistike, nincs is kockafejed'', hanem komolyan.
Szerintem ha a unit-ok tetejénél kommentekben megjelölöd a forrást, az teljesen OK. Azért értsd meg nagyjából, hogy mit csinálnak, mert szerintem erre is rákérdezhetnek.
A HelpScribble-t nem ismerem sajnos. Talán lao ce igen ;)
Amúgy milyen helpet csinálsz? .hlp lesz a kiterjesztése vagy .chm? A .chm súgók modernebbek és megírhatod sima HTML-ben, képekkel, mindennel, aztán egy ingyenes fordító csinál belőle .chm-et. Egyetlen hátránya, hogy Delphiből nehéz kontextusfüggő súgóvá gyúrni, tehát hogy pl. legyen egy kis kérdőjel az ablakok címsorának jobb oldalán és a program minden gombhoz, kezelőszervhez külön súgótémát mutasson a kérdőjel megnyomása után. Ha csak sima súgó kell, ami pl. F1-re megjelenik egy külön ablakban, akkor ajánlom ezt a HTML-es technikát, elég hatékony. -
tusi74
őstag
Hú köszönöm.
Most éjjel beillesztettem egy elég profit. Néztem a hozzászólásod, az alapján tényleg ment.
Innen töltöttem le:
Bővebben: link
Be is illesztettem, és a memo-ra vonatkozó dolgokat kiszedtem, mert
az én formjaimon nincs memo.
Most akkor ez forrásmegjelöléssel maradhat benne, mert ez a kód bárki részére hozzáférhető, és a program nem kerül kereskedelmi forgalomba?
Vagy rosszul gondolom? Ugyanígy beillesztettem egy olyat, hogy a StringGrid cellái, ha rákattintasz, akkor comboboxok lesznek. Az is szabadon hozzáférhető volt.
Most tartok ott, hogy fut a program, minden funkcionál, csak a help hiányzik. Megvettem neten a HelpScribble-t, csak nem nagyon megy még vele, de próbálkozom.
Addig eljutottam, hogy be tudom venni a témákat, de hova teszem a szöveget. A másik: Hogy csinálok altémát?
Na meg persze a dolgozat, amire maradt 2 hetem. -
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. -
yksz
aktív tag
? Ez hülyeség: a Mastering Delphi 5 és a Mastering Delphi 7 c. könyvet lefordították magyarra, de a Mastering Delphi 6 c. könyvet nem
. Pedig már meg is vettem volna. Mindegy maradok az angol verziónál
-
tusi74
őstag
Hát nagyon szépen köszönöm. Csak nekem a hozzászólásod megértéséhez
is kell pár óra. Nem nagyon értem.
Viszont annyira szorít az idő, hogy
addig fogok próbálkozni a beszúrásával egy kész kódnak, amíg nem megy.
Most találtam a neten egy párat.
Én annyira amatőr vagyok, hogy egy formon belül tudok eseményt kezelni, és
jó napot. Mint írtam nem volt tananyag az objektumorientált programozás, hála a jó istennek az államvizsga tételek között sem lesz.
Új hozzászólás Aktív témák
- Eredeti DELL 240W töltők (LA240PM160)
- Microsoft Surface Pro 7 - Újszerű, dobozban, gyári töltővel, billentyűzettel
- Így lesz a Logitech MX Keys magyar billentyűzetes
- Telefon felvásárlás!! Samsung Galaxy A70/Samsung Galaxy A71/Samsung Galaxy A72
- Csere-Beszámítás! RTX Számítógép PC Játékra! I3 10100F / RTX 2060 12GB / 32GB DDR4 / 500GB SSD
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest