Új hozzászólás Aktív témák
-
tusi74
őstag
Na voltam a szakdolis tanárnál.
A megoldás a törlésre:
Beírod egy sima query-be, nem kell semmiféle UpdateSQL, hogy
delete from stb....
Amikor meghívod, akkor nem kell odaírni, hogy
query.Open, csak egyszerűen Query.ExecSQL. Ezt szerintem Te is így írtad még régebben, csak én folyamatosan Openeztem a query-t, aztán csodálkoztam, hogy nem megy.
Most szerencsére megy. -
<Adamsky>
nagyúr
Igazából nem jutottam sokra. A lényeg valami ilyesmi lenne:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
const szoveg = '11,10,09,08';
begin
i := 0;
repeat
Edit1.text := copy(szoveg, 1+i*3, 2);
inc(i);
until i>3;
end;
Namármost a formon van 4db Editbox, és ez az előbbi kódrész az 1-esbe szép sorba beleírja a 11, 10, 09, 08 számokat. Ez -- mondanom sem kell -- így nem jó. Az ''i'' értékétől függően kellene az egyes számokat az ''i+1''-ik Editbox-ba beírni.
Lehet az Editbox-okat tömbe szervezni? pl:
EDoboz: array [1..4] of TEdit;
[Szerkesztve] -
lao ce
aktív tag
válasz <Adamsky> #206 üzenetére
jol indultal el. en csinalnek egy ciklust ami az osszes komponensen vegigmegy, aztan ha editboxhoz er amibe masolni kell valamit, akkor beirnam az aktualis szamot, amit viszont egy szamlalo kell mutasson...
a kulcs amit en megneznek a helpben a ComponentCount, a Components es az 'as'. ezek alapjan mar meg tudod irni a programot, alabb irom az en valtozatomat amit nem ellenoriztem szoval lehet hogy hibas valahol.
const
szoveg = '11,10,09,08';
var
szamlalo : integer;
szamlalo := 1;
// szamoljunk osszes komponenst
for i := 0 to ComponentCount-1 do begin
// vajon ez egy edit box amibe irni kell?
// persze, az edit neve Edit1...Editx, tehat csak az elso 4 karaktert kell nezni
if copy (Components.Name, 1, 4) = 'Edit' then
...//igy csinalhatsz a tipustalan komponensbol editboxot,
...//es erheted el a value prop-t:
...(Components as TEdit).Value := copy(szoveg, szamlalo, 2);
// harmasaval egyszerubb, i-t nem lehet hasznalni mert az osszes
// komponenst megszamoljuk a formon, azokat is amik nem edit boxok
szamlalo := szamlalo + 3;
end;
ha van harom edit box-od akkor kitolti, ha felteszel egy negyediket akkor is kitolti a nelkul hogy a programban valtoztatnal.nicht kompot
-
Alan
aktív tag
lao ce, rég ''láttalak''
Bocsáss meg, hogy belefirkálok a programodba, de szerintem kicsit szebben így nézne ki:
const
szoveg = '11,10,09,08';
var
szamlalo : integer;
szamlalo := 1;
with Form1 do
for i := 0 to ComponentCount-1 do
begin
if Components i is TEdit
then
begin
(Components i as TEdit).Text := Copy(szoveg, szamlalo, 2);
szamlalo := szamlalo + 3;
end
end;
Ebből most már csak az hiányzik, hogy kizárólag a mi kinevezett szerkesztőmezőinkbe töltsön adatot, és így más mezőket is fel lehessen tenni az ablakra.
[Szerkesztve] -
lao ce
aktív tag
haho!!!!!!!
vegre
nagy projektben voltal hogy igy eltuntel?
szerk:
najo, ugy is szep ahogy irtad, en gyakorlatban a komponensek neveivel jatszok (mert azert lehessen mar edit-et hasznalni ugy is hogy nem akar kitoltodni mindenaron ) azert maradt bennem ez a megoldas-sema.
mindenesetre a szamlalo := szamlalo + 3 valoban az if statementen belul kell legyen es ez hiba az enyemben egyertelmuen, a tiedben jol van... ok-ok
[Szerkesztve]nicht kompot
-
<Adamsky>
nagyúr
Nagyon szépen köszönöm a válaszokat!
-
kacsa7
őstag
Hali!
Hogyan tudok delphi7-ben címkét kreálni?
Azt kéne csinálni, hogy van egy szöveg és annak minden egyes betűjét egy-egy címkébe belerakni.
Megnézem length-el a szöveg hosszát, és akkor ugye létrehozok annyi label-t és beleírom a betűket. -
tusi74
őstag
Na újabb rejtély.
Táblát töltök combobox-okból.
Azt mondom, hogy
Query5.FieldByName('Dkod').AsInteger:=StrToInt(Combox1.Text);
vagy
Query5.FieldByName('Dkod').AsInteger := StrToInt(Combox1.Items[Combox1.Itemindex]);
A következő történik.
Megnyomom egyszer a gombot, ami beszúrná, akkor beszúrja
minden combobox 0. indexű elemét. Tök mindegy, mi van beállítva.
Megnyomom mégegyszer, akkor megcsinálja rendesen, amit én beállítottam.
Igen ám, de a rossz is bekerül a táblába.
Aztán minden megy jól, akármit átállítok, megy. Csak a program indulása után az első beszúrás csinálja.
Hát erre kíváncsi vagyok. -
lao ce
aktív tag
-tusi, ha break point-ot raksz ezekre a sorokra, akkor a Combox1.Text -nek es az itemindexnek mi az erteke a sor vegrehajtasa elott?
-tegyel le egy gombot a formra es messagedlg-vel irasd ki az erteket a combo1.textnek. mielott beszursz irasd ki az erteket. jo vagy rossz?
-tegyel breakpointot a gombod programjanak eslo sorara ami a beszurast csinalja es kovesd vegig (f7 vagy f8), nem hivodik-e meg az insert ketszer veletlenul
a break pointot irtam mar neked, mikor ez a problemat eloszor emltetted. azt javaslom probald megtanulni hasznalni, mert e nelkul keptelenseg debuggolni hatekonyan. olyan nincs hogy ketszer ketfele ertekkel hajtodik vegre valami ugy hogy semmi sem valtoztatja meg az ertekeket kozben, szoval valami ossze van kuszalva nalad. ezt a fajta problemat csak ugy 'fejben', bamulva a sorokat nincs sok ertelme megprobalni megtalalni.
[Szerkesztve]nicht kompot
-
Hani
aktív tag
Helló!
Hülye kérdés, és ha volna Delphim, meg is nézném, de nincs, és biztosra akarok menni.
Tehát:
Beszól-e vajon, ha nem azt írom, hogy
If (valami=123) AND (valami2=456) Then...
Hanem
If ((valami=123) AND (valami2=456)) Then...
Azt hiszem, nem, de kérlek, erősítsetek meg!
Szintén help megnézés nélkül: ugye figyelembe veszi a zárójeleket, ha így van pl:
If ((valami=12) AND ((valami2=34) OR (valami2=56))) Then...
Biztassatok, vagy cáfoljatok, pls.
[Szerkesztve] -
tusi74
őstag
Úgy általában jellemző a progira, hogy közvetlenül az indulás után
másképp viselkedik, mint később.
Pl. írok egy eseményt combobox1.Change-re. Ez az indulás után nem működik.
aztán újabb elemet állítok be a Comboboxon, akkor meg tökéletes. Olyan, mintha az elején még nem élne az adatátvitel.
Erre valakinek ötlete? -
yksz
aktív tag
?Nem tudja valaki honnan lehet letölteni Delphi 6 könyvet magyarul? Angolul megvan, de magyarul azé könnyebb lenne? Hogy kell a timer-ral egyszerre több képet váltakoztatni?
Fly away my precious knowledge fly far away
-
-
tusi74
őstag
válasz CsendPenge #223 üzenetére
Rájöttem tegnap a megoldásra. EGYEDÜL!!!!
A formshow-ba kell beírni, hogy a Combox1-hez igazodjanak
a többi mező adatai.
Addig én ezt a combox1.Change-hez írtam, de úgylátszik, az
az első indításhoz nem elég.
És persze az összes formnál ki kell töltenem a formshow eseményeket.
Mondjuk az én fejemben az nem tiszta, hogy mikor kell a FormCreate, és mikor a FormShow-t kitölteni.
[Szerkesztve] -
Alan
aktív tag
Hát, több projektben is voltam, az tény, de az ''eltűnés'' igazi oka, hogy eléggé magam alá kerültem, meg a fórum sem vonzott annyira. Most is fejlesztek egyébként, meg a kedvem is kicsit feljavult---bár a helyzet semmit sem változott, de nem szabad attól függeni.
Nemrég teszteltem egyébként a Delphi 2005-öt, nagyon jó kis ware, különösen tetszenek a nyelvi újítások, a refactoring funkciók meg a SyncEdit, de lassúságban sajnos újabb, már-már hihetetlen csúcsot állít fel. Persze csak önmagához képest, mert ebben azért a VS.NET még mindig ''verhetetlen''
Ciao, majd még befigyelek egyszer-kétszer
[Szerkesztve] -
lao ce
aktív tag
en befejeztem a kis trees programot, azt hiszem jol mutat. mindenesetre a user interface jo lett ezzel a megoldassal.
most plsql-ben gyurodok, gyakorlatilag report generatort kell ujrairni a reportokbol. lesz benne egy kis asp, meg delphi is office automation-nel ha mar vegre az eredmenyek egyeznek.
Sync Edit jol hangzik. ismered a textpad nevu programot? jo lenne ha a delphi editor hasonloan mukodne mint az - minden masra azt hasznalom, oruletesen kenyelmes.
amugy d5-ot hasznalok, a sok programot huzom magam utan mint egy egyre hosszabb farkat es hat a migracio azt hiszem egy orokos feladat lenne... ha egyaltalan... hmm... erdemes.nicht kompot
-
CsendPenge
őstag
A FormCreate az adott form konstruktorához kötődik, a FormShow pedig a megjelenítéshez, vagyis ahogy a help írja, amikor a form visible tulajdonság értéke igazra állítódik. Utóbbi nem összetévesztendő az OnActivate eseménnyel.
Vigyázz a FormCreate-el, én soxor szívtam vele, mert van, hogy olyan komponensre hivatkoztam, ami még nem jött létre. (legalábbis azt hiszem, hogy ezért kaptam az AV-ket, meg egyéb anyázást a delphitől )Remember the Linux, that's like a wigwam: no Windows, no Gates, just Apache inside. Two minutes of thinking can save hours of unnecessary work.
-
yksz
aktív tag
?Nem konkrétan arra gondoltam, de lényegében igen. 2-vel megcsinálom, de 3-mal nem
Fly away my precious knowledge fly far away
-
lao ce
aktív tag
válasz CsendPenge #228 üzenetére
en azt hiszem hogy a create akkor hivodik meg mikor igazandibol a create-nek mar vege, azaz inkabb after-create. azaz lehet hivatkozni a komponensekre amik ott csucsulnek a formon.
amit irsz, az AV inkabb akkor jon ha probalsz hivatkozni a dolgokra mielott a formot letrehozod.nicht kompot
-
lao ce
aktív tag
hat, hogy vannak letarolva a kepeid (image, imagelist, vagy van valami strukturad)?
vegyel fel egy valtozot a unitodba es leptesd a timer proceduran belul, aztan annak megfeleloen ahogy all a kulonbozo kepeket rakd ki -attol fuggoen hogy mi a valasz az elso kerdesemre. mikor a szamlalo tullepi a kepeid szamat akkor nullazd.nicht kompot
-
yksz
aktív tag
?Na igen, ezzel mér próbálkoztam, de rájöttem, hogy nem túl hatásos módszer, mert ha van 100, vagy még több képed, akkor egy kicsit sokat kéne pötyögtetni. Én valami rövidebb médszerre gondoltam
Fly away my precious knowledge fly far away
-
CsendPenge
őstag
-
Hani
aktív tag
Bocs, nem figyeltem.
Ha még mindig Labelt szeretnél, akkor esetleg egy ilyesmit képzeltem (egy új Form-on)
....
....
UjForm:= Tform.Create(Application);
With UjForm do
Begin
width:=300;
height:=400;
Position:=poDeskTopCenter;
BorderStyle:=bsToolWindow;
BorderIcons:=[];
//bla bla bla
End;
SajatLabel:=TLabel.Create(UjForm); //Parent-nek ugye figyelsz, mit adsz meg
With SajatLabel do
Begin
Parent:=UjForm;
AutoSize:=False;
WordWrap:=True;
Left:=1005;
Top :=1005;
Width:=290;
Height:=300;
Transparent:=True;
Align:=alLeft;
Font.Size:=17;
Font.Name:='Americana BT';
Font.Style:=[fsBold];
Caption:='EzMegIttACaption';
//Bla blabla bla blaa.
End;
Persze a property-ket késõbb is beállíthatod.
Mellesleg ne felejtsd el majd felszabadítani a lefoglalt erõforrásokat (Free). -
Hani
aktív tag
Hoppá - új kérdések.
Delphi 7-tel .ini-t használok infótárolásra. Mert azt szeretem.
De van egy ismerősöm, aki szintén letesztelte, 98 alatt, és nem megy. Kiderült, hogy levágja az ini-t 65499 byte-nál. (vagyis NEM 64KByte-nál)
Nálam ugyanezt nem teszi (XP, 2K, NT4.0 alatt), ráadásul eddig neki sem csinálta.
Viszont nem csináltam a filekezeléssel semmit.
Mi lehet a baj? Valami ötlet?
2. Ki szeretném íratni, hogy Drag&Drop. Néha ki is írja, & jellel, néha inkább a D-t húzza alá, ugyanazon a gépen. Van erre valamilyen megoldás? Vagy legyen az igen csúnya Showmessage(`Drag´+CHR(ORD(´&´))+´Drop´)? Az mindig megy?
Szerk: Hmm .Az előző hozzászóláshoz: Nem lehet megoldani, hogy itt is látszódjon valahogy a struktúra? Tehát ne szedje ki a space-eket automatikusan?
(vagy � -t kéne használnom?)
Na nem baj.
[Szerkesztve] -
yksz
aktív tag
?Nem tud valaki BIOS-ra alkalmazható parancsokat?
Fly away my precious knowledge fly far away
-
yksz
aktív tag
?Nos nincs semmi Imagelist vagy ilyesmi csak sima Image-k. Véletlenszerűen pedig úgy gondolm, hogy van Pl. 5 Button és így váltakoznak: 1;3;4;2;1;5;3;5;4;2;1 Egyszóval nem lehet előre megmondani, hggy éppen melyik Button lesz látható.
Fly away my precious knowledge fly far away
-
yksz
aktív tag
?Ja és még valami. Egy NAGY PROBLÉMA??? Egy 3DStudio-MAX-ban rajzolt képet hogy lehet megjeleníteni szintén 3D-ben?
[Szerkesztve]Fly away my precious knowledge fly far away
-
tusi74
őstag
Valószínű, hogy elérkeztem az itt levők segítségével a dolim végéhez. Szinte minden megy benne, csak még azt csinálja, hogy betöltéskor betölti az 1. kódú dolgozót, az első sorszámú tantárgyfelosztást stb. Próbálkoztam már olyannal, hogy formcreate-ba beírom, hogy minden mező üres legyen (most ezt nem részletezem. ezt még én is tudom), , hogy a dkod-ot állítsa 0-ra, vagy állítsa olyanra, ami még nics benne (pl. max+1), és mégis. Ötlet pedig a 0-hoz konvergál szokás szerint.
A másik. Ez is valami hasonló gond lehet.
Megcsináltam, hogy elkezdesz beírni egy nevet a név mezőbe, megnyomsz egy gombot, és ha az ezzel kezdődő név benne van már, akkor minden mező kitöltődik. Na és akkor itt jön a poén. Beírsz egy nevet, ami tuti benne van, megy. Beírsz egy másikat, ami tuti nincs. Megy.
DE!!! Ha egy olyan ember után írsz be egy benne levőt, aki nincs benne, akkor már nem ismeri fel.
Nekem ebben az egész progi írásban hetek óta rejtély, hogy lehet az, hogy
írsz egy eljárást a ''felismerre'', írsz egyet a ''nem ismerre'', és akkor e 2 független eljárásnál számít, hogy mi volt előtte.
De most csak kiragadtam, egy példát, de végig ilyennel bajlódtam. Ezt viszont nem tudtam eddig kiküszöbölni. -
yksz
aktív tag
?Kösz! Azt értettem alatta.
Fly away my precious knowledge fly far away
-
miky
csendes tag
Help!!!!!!!!!!!!!!444
Segítsetek, hogy szerintetek tutin fog-e működni ez a konfriguráció, vagy változtassak-e valamit rajta?
-Asus k8n-e Deluxe
-nVidia GeForce 6800GT 256MB (AGP)
-2*521/400 DDR RAM Samsung
-AMD Athlon 64 +3500
-160,0GB Maxtor HDD
-Zalman procihűtő
-Előre is bocs: DTK CAS-5BKPFC4U2FD Ház 400W-os táppal,de szerintetek ebbe bele tudom tenni az alaplapot????
-LG 4160B multiíró,de ezzel ne is nagyon foglalkozzatok.
Help!!!!Előre is kösz
-
lao ce
aktív tag
1) ini file size
legjobb tudomasom szerint 64k a limit. ha neked ez eleg akkor eleg 65499 byte is. tovabba lehet hogy 36 entered (sorod) van a fileban, nem tudom.
2) & jel kiiratasa. van mas megoldas is, de ha mar egyet talaltal az eleg, nem? itt egy tudomanyos megoldas ha tetszik, vettem a faradtsagot es megneztem a kodjat az andnek
const
ANDSIGN = #$26;
Showmessage( 'Drag'+ ANDSIGN + 'Drop' );nicht kompot
-
lao ce
aktív tag
1) elsore kikapcsolnam az adatbazis konnekciot, akkor tok uresnek kell lenniuk a dolgoknak. de hogy ezt meg lehet-e tenni tervezestol fugg, ha nem igy lett felepitve lehet hogy egyszerubb a leirason valtoztatni mint a programon. 'mikor belepsz a programba a 'startup plus' kenyelmi szolgaltatas rogton az elso rekordot allitja be a kepernyon', ez az idezetem copyrightos
2) ugy hangzik hogy valami valtozot nem reszetelsz a kereses elott, esetleg egy rossz if statement atugorja a kereses meghivasat. debug, debug, debug.nicht kompot
-
Hani
aktív tag
Helló!
Köszi a segítséget, meg a fáradozást.
Ami igazán érdekelne, hogy miért megy, és miért nem megy ?
Az ini-hez: Sajnos nem elég a 64K - már most 188K, és valamennyivel lesz ez még több is. 98 alatt egy gépen próbálták, ahol most nem okés, de régebben az volt. Xp, 2K, NT4.0 alatt próbáltam egy rakás gépen, minden szép és jó
Az & jelhez: Ugyanazon a gépen néha megy, néha nem.
Hát, ez az, ami elszomorít. -
lao ce
aktív tag
1) nezd, nem sokat tudok mondani. hogy nem mukodik, mi nem mukodik pontosan? ird le reszletesen. workaround latatlanban: bontsd fel 10 db 20 kb-os file-ra es kesz.
2) emlekeztetnelek ra hogy az ampersand specialis jelentessel bir, minthogy a keyboard shortcutot lehet vele beallitani (accelerator karakter, tudod alt + az alahuzott karakter a focus controlban beallitott komponensre fokuszal). ennek megfeleloen bizonyos helyeken (caption, menu, mittudomen, ahol van ertelme) alahuzodik az & jelet koveto betu.
mas helyeken (mondjuk egy string valtozoban, vagy tedit text properyben) ahol nem lehet ilyen szerepe, siman hasznalhato mint normal karakter. szoval az, hogy egyszer igy egyszer ugy mukodik nem teljesen igaz, mivel definialhato hogy hol mikent mukodik. ha & jelet kell hasznalni mondjuk egy caption-ben, akkor egyszeruen duplazd meg es kesz, hasonloan mint a ' jelet egy stringben.nicht kompot
Új hozzászólás Aktív témák
- Milyen légkondit a lakásba?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- World of Tanks - MMO
- Mobil flották
- PlayStation 3
- Politika
- ASUS ROG Ally
- Genshin Impact (PC, PS4, Android, iOS)
- Okosóra és okoskiegészítő topik
- Processzorra való vizesblokk az ASUS ROG-os portfóliójában
- További aktív témák...
- iPhone 13 - Független - 100%!!!
- FREEWELL 8/16/32/64 ND/PL szűrőkészlet - DJI Mavic 3 drónhoz
- Üzletből, garanciával, Macbook Pro Retina 13"2020 Touch Bar i5/16GB RAM/512SSD
- XBOX ONE/PS4/PS5/XBOX SERIES/NINTENDO SWITCH konzolt vásárolnék!
- XBOX SERIES/PS4/PS5/XBOX ONE/NINTENDO SWITCH konzolt vásárolnék!