delphi.832steve.wai,
-> #830, mradovicAko u aplikaciji imas DLLove iz kojih pristupas bazama
onda se daesavaju takve stvari kada DLL pozivas i oslobadjas
staticki .
Ako je u toem problem imas primjer BDEDLL.dpr ili tako nesto...
delphi.833edison,
Da li neko ima resenje za rad programa u Microsoft mrezi sa Paradox
bazama (baza je na jednom racunaru) a istu istovremeno koriste vise radnih
stanica. U pitanju je single user aplikacija. Javlja se poruka
index is out of date. Hvala. Sale.
delphi.834obren,
-> #833, edison> Da li neko ima resenje za rad programa u Microsoft mrezi sa Paradox
> bazama (baza je na jednom racunaru) a istu istovremeno koriste vise
> radnih stanica. U pitanju je single user aplikacija. Javlja se poruka
> index is out of date.
Nisam najbolje shvatio da li razvijaš program ili je problem sa već gotovim
programom koji se koristi na više radnih stanica? Ako je u pitanju gotova
singe-user aplikacija, onda ona verovatno ne vodi računa o radu pod mrežom
tj. sa više korisnika. Najverovatnije su dva korisnika istovremeno menjala
nešto u tabelama bez NetLockovanja baze, tako da su indeksi nekonzistentni
("Index is out of date"). Mogu se javiti i karakteristične poruke poput
"Another user modified trt-mrt" što ukazuje na identičan problem.
Rešenje teško da postoji ako autor nije predvideo mogućnost istovremenog
pristupa tabelama od strane više korisnika.
delphi.835dalex,
Da li neko može da mi preporuči dobar priručnik za Delphi,
*na srpskom*. Priručnik treba da bude ozbiljan, za osobu koja
ima iskustva sa programiranjem.
Ukoliko je bilo razgovora o ovoj literaturi, pomogla bi referenca...
delphi.836emajsijuen,
Imam sledeci problem... Preko Canvas-a iscrtam nesto (ili ispisem) na
formi. Kada minimizujem prozor (ili predjem drugim prozorom preko prozora od
mog programa) pa se ponovo vratim u program sve sto je bilo iscrtano jednost-
avno nestaje ?!? Postoji li neki nacin da se ovo spreci ? Da ne zaboravim,
kada prikazem ikonu na formi, pod istim uslovima, ona ne nestaje. Zna li neko
u cemu je stos ?
delphi.837duskos,
-> #835, dalex> Da li neko moze da mi preporuci dobar prirucnik za Delphi,
> *na srpskom*. Prirucnik treba da bude ozbiljan, za osobu koja
> ima iskustva sa programiranjem.
>
> Ukoliko je bilo razgovora o ovoj literaturi, pomogla bi referenca...
Delphi Unleashed, verovatno ces ga naci u CET-u.
Pozdrav, duskos!
delphi.838zdravkod,
-> #833, edison ("Index is out of date"). Mogu se javiti i karakteristicne poruke
poput
"Another user modified trt-mrt" sto ukazuje na identican problem.
UH ... znam kako je ovo ... sa ortakom sa kojim sam radio jednu
bazu, stalno mu se pojavljivalo ono prvo. Ubismo se ko pilici dok
nisam provalio zbog cega se to desavalo.
Kad se kreira baza OBAVEZNO GLEDATI DA JE NEKI SEKUNDARNI INDEX
(pretpostavljam da si ga kreirao) MAINTAINED !!!!!!!!!!!!!!!!!!
AKO SE TO NE STAVI ONDA MOOOORAS SAM DA RADIS HANDSHAKE ... ondnosno
da uradis svaki put novi index da bi on to ponovo sortirao itd.
(ja ovo ne bi preporucio ni najvecem neprijatelju)
DAKLE OBAVEZNO stavljaj da je sekundarni index maintained. Sa druge
strane, on moze da bude disableovan, pa da ne mozes ni da postavis
tu opciju - to je zato sto NISI NAPRAVIO PRIMARY INDEX (ona zvezdica
koja mora biti na prvom polju u bazi !!!! OBAVEZNO !!!)
Sad napokon sve lepo radi. Sitnica bila ... ali da POLUUUDIS ;)
Van.GOG! (sta ces ... nisam platio ;)
delphi.839kostja,
-> #837, duskos=> Delphi Unleashed, verovatno ces ga naci u CET-u.
=>
=> Pozdrav, duskos!
Ili ti u prevodu "Delphi Punom snagom" i sas CD-om
za nekih, beše, 300 din.
delphi.840dalex,
-> #839, kostja> Ili ti u prevodu "Delphi Punom snagom" i sas CD-om
> za nekih, beše, 300 din.
10x, obojici, malo me koleba ova cena ;(...
delphi.841obren,
-> #840, dalex> > Ili ti u prevodu "Delphi Punom snagom" i sas CD-om
> > za nekih, beše, 300 din.
>
> 10x, obojici, malo me koleba ova cena ;(...
U Nemačkoj recimo, knjige iz "Unleashed" serije koštaju oko 98 DM
(toliko je ćale svojevremeno platio Java Unleashed, 1000 str + CD),
tako da bih svakako pre dao 300 din/75 DM za istu tu knjigu na
Srpskom (nadam se da u CET-u ne rade kojekakve "Mileve" i ostali
brižni zaštitnici srpskog jezika poput onih iz Mikro Knjige).
BTW, mislim da se u slučaju tog prevoda "Delpi Unleashed" radi o
verziji Delphija 1.0 (?), ali nisam siguran.
delphi.842zdravkod,
-> #841, obrenZD> (toliko je cale svojevremeno platio Java Unleashed, 1000 str +
ZD> CD),
E ... a sta ima na tom CD-u ... pa ono da se dogovirimo kad
da posudim ;)
(ozbiljan sam)
delphi.843duskos,
U cemu je fora pa ne mogu da koristim zajebancije iz datoteke:
windows\program\delphi\vpcomm10.zip
Unapred zahvalan!
Pozdrav, duskos!
delphi.844kenza,
-> #843, duskos>> U cemu je fora pa ne mogu da koristim zajebancije iz datoteke:
Kako ne mozes? Kode mene je proradilo sve OK, ali sam popizdeo od
onog forma (UNREGISTERED) i bacio sve u djubre! ;)
delphi.845kostja,
-> #841, obren=> U Nemačkoj recimo, knjige iz "Unleashed" serije koštaju oko 98 DM
=> (toliko je ćale svojevremeno platio Java Unleashed, 1000 str + CD),
=> tako da bih svakako pre dao 300 din/75 DM za istu tu knjigu na
Pa, to beše pre ove ludorije sa markom... a i nisam siguran
da se nije menjala i ranije jer ovo je na drugom mestu bilo
270din. bez CD-a (na unutrašnjoj korici pisalo 300).
=> BTW, mislim da se u slučaju tog prevoda "Delpi Unleashed" radi o
=> verziji Delphija 1.0 (?), ali nisam siguran.
Čini mi se da je tako...
delphi.846kostja,
-> #844, kenza=> Kako ne mozes? Kode mene je proradilo sve OK, ali sam popizdeo od
=> onog forma (UNREGISTERED) i bacio sve u djubre! ;)
Biće da ne koristi odgovarajuću verziju... u readme.txt
lepo piše da se ne voli sas Delphi-jem 1.0
Doduše kod mene neće, kaže da nije ni u ljubavi sa
Delphi-jem 3.
delphi.847kenza,
-> #846, kostja>> Doduse kod mene nece, kaze da nije ni u ljubavi sa
>> Delphi-jem 3.
Kod mene hoce - obozava dvojku ;))
Poz.
delphi.848edison,
Vezano za pitanje 15833
Zahvaljujem se gospodi obrenu i zdravkod-u na korisnim sugestijama,
medjutim mislim da je u stvari problem u postizanju forsiranog
zapisa na hard disk. Ne znam da li postoji neka procedura koja
primorava radnu stanicu da ne baferuje podatke nago dai direktno
zapisuje na disk. To bi bilo resenje za upotrebu baze sa vise
radnih stanica pod Windows mrezom. Unapred zahvalan Vas Edison.
delphi.849tomcat,
prilino mi je hitno:
Kako da u EditBoxu zabranim unosenje slova i znakova - drugim recima
dozvolim unosenje samo cifara. Ako je nesto drugo osim neke cifre
pritisnuto, ignorise se.
delphi.850steve.wai,
-> #849, tomcatMozes da u dogadjaju OnKeyDown ili tako nesto vidis sta je pritisnuto pa ako
je cifra ili nesto sto ti treba ne diras nista a ako nije proslijedis key:=#0.
Mislim da ti je lakse da napises neku komponentu koja to radi da ne bi za
svako edit polje pisao funkciju koja to obradjuje ...
pozdrav.
delphi.851duskos,
-> #846, kostja>=> Kako ne mozes? Kode mene je proradilo sve OK, ali sam popizdeo od
>=> onog forma (UNREGISTERED) i bacio sve u djubre! ;)
>
> Bice da ne koristi odgovarajucu verziju... u readme.txt
> lepo pise da se ne voli sas Delphi-jem 1.0
>
> Doduse kod mene nece, kaze da nije ni u ljubavi sa
> Delphi-jem 3.
Oces da kazes da moram zbog toga da opet snimim dvojku?!
Pozdrav, duskos!
delphi.852emajsijuen,
-> #850, steve.waiSt>> Mozes da u dogadjaju OnKeyDown ili tako nesto vidis sta je pritisnuto pa
St>> ako je cifra ili nesto sto ti treba ne diras nista a ako nije
St>> proslijedis key:=#0. Mislim da ti je lakse da napises neku komponentu
St>> koja to radi da ne bi za svako edit polje pisao funkciju koja to
St>> obradjuje ... pozdrav.
Probaj da na OnChange, proveris da li je zadnji karakter od Edit.text cifra
ili ne. Ako nije onda Dec(Edit.text[0]). Nisam probao ali bi moralo da radi...
delphi.853lazzaro,
Hi,
ako neko zna nek pomaze.
Napravio sam aplikaciju u Delphi-ju 2.0 i koristim
komponentu Graphics Server (Koja je pretpostavljam iz VB-a).
Kod mene sve radi ok., medjutim kada pokusam da instaliram
program na cistu masinu (koja nema instaliran Delphi ili VB)
javlja mi da komponenta nije registrovana.
Da li neko zna kako da prebrodim ovaj problem.
Pozdrav.
delphi.854emajsijuen,
-> #836, emajsijuenEm>> Imam sledeci problem... Preko Canvas-a iscrtam nesto (ili ispisem) na
Em>> formi. Kada minimizujem prozor (ili predjem drugim prozorom preko prozora
Em>> od mog programa) pa se ponovo vratim u program sve sto je bilo iscrtano
Em>> jednost- avno nestaje ?!? Postoji li neki nacin da se ovo spreci ? Da ne
Em>> zaboravim, kada prikazem ikonu na formi, pod istim uslovima, ona ne
Em>> nestaje. Zna li neko u cemu je stos ?
Ne mogu da poverujem da niko ne zna odgovor... :((
delphi.855vasic,
-> #854, emajsijuen> Imam sledeci problem... Preko Canvas-a iscrtam nesto (ili ispisem) na
> formi. Kada minimizujem prozor (ili predjem drugim prozorom preko
> prozora od mog programa) pa se ponovo vratim u program sve sto je
> bilo iscrtano jednostavno nestaje ?!? Postoji li neki nacin da se
> ovo spreci ? Da ne zaboravim, kada prikazem ikonu na formi, pod istim
> uslovima, ona ne nestaje. Zna li neko u cemu je stos ?
Štos je u tome što ni Windows ni Delphi nigde ne pamte šta je nacrtano
na formi. Umesto da jednom nešto iscrtaš i zaboraviš na to, ti treba
negde da zapamtiš to što treba nacrtati i da ga iznova iscrtavaš u
svakom OnPaint eventu. To je princip rada sa grafikom u Windowsu i
Delphi ga samo verno prenosi.
Drugi način bi bio da nađeš neku kontrolu koja pamti šta je na njoj
nacrtano i sama se obnavlja u OnPaint-u pa je razvučeš preko forme.
Verovatno bi to bio neki PaintBox, PictureBox ili tome slično.
Ako se odlučiš za prvi pristup, obrati pažnju na TForm.Canvas.ClipRect.
U OnPaint-u on sadrži koordinate pravougaonika koji treba osvežiti pa
možeš da optimizuješ svoju OnPaint proceduru tako da iscrtava samo onaj
deo slike koji je bio zaklonjen.
delphi.856lazzaro,
Hi opet ja
da li neko zna kako da registrujem grafik komponentu iz vba
pri instalaciji moje aplikacije na drugi racunar.
Pozdrav.
delphi.857lazzaro,
Mozda sam dosadan ali mi je informacija veoma neophodna.
Da li neko zna kako da drag-drop-ujem vise bitmapa u
jedan kontejner koji moze da ih zapamti.
Pokusavam da napravim editor za odredjen dijagram koji ce
raditi samo sa vec iscrtanim simbolima.
Pozdrav .
delphi.858voyager,
Problem :
Imam unit 1 i unit 2 i button1 u unit-u 2.
Ne znam kako da unit 1 zna kada je dugme u unit-u 2
pritisnuto...HELP!
VoYaGeR
delphi.859vasic,
-> #857, lazzaro> Mozda sam dosadan ali mi je informacija veoma neophodna.
> Da li neko zna kako da drag-drop-ujem vise bitmapa u
> jedan kontejner koji moze da ih zapamti.
Jesi li probao ImageList (među Win32 komponentama)? Njegovo ograničenje
je što sve bitmape moraju biti istih dimenzija, inače mislim da bi mogao
da ti posluži.
delphi.860vasic,
-> #858, voyager> Imam unit 1 i unit 2 i button1 u unit-u 2.
> Ne znam kako da unit 1 zna kada je dugme u unit-u 2
> pritisnuto...HELP!
Lepo, znači imaš Unit2, u njemu Form2 i na formi Button1. U Unit1 imaš
Form1 koji treba da bude obavešten. To izvedeš tako što u public deo
TForm1 ubaciš proceduru, neka se zove recimo ObavestiMe. U OnClick
eventu za Button1 pozoveš Form1.ObavestiMe i to je to.
delphi.861emajsijuen,
-> #855, vasic Hvala na detaljnom objasnjenju, bas me je zezalo... :)
delphi.862kostja,
-> #858, voyager=> Ne znam kako da unit 1 zna kada je dugme u unit-u 2
=> pritisnuto...HELP!
Pa, u event editoru kažeš on click pa povežeš
sa unit 1.
Šta te muči?
delphi.863lazzaro,
Proba cu,
nije mi problem sto sve bitmape moraju da budu iste velicine,
vec da li mogu u imagelist-u da pored dropovanog image-a povucem
neku crtu i kako imagelist sve to da mi zapamti.
Pozdrav.
delphi.864lazzaro,
Ljudi zna li neko kako da stavim vise od jedne bitmape u jednu
komponentu (tj kontejner) koji sve to moze da zapamti.
delphi.865steve.wai,
Problem ...
Treba da Preko slike ispisem text ..
Imam TImage ucitam sliku i lupim canvas .TextOut ... i dobijem text
Ali kako da Ispisem text sa ANTIALIASINGOM ???
Ako neko zna ili ima neku literaturu ....
delphi.866jujo,
-> #865, steve.wai# Problem ...
# Treba da Preko slike ispisem text ..
# Imam TImage ucitam sliku i lupim canvas .TextOut ... i dobijem text
# Ali kako da Ispisem text sa ANTIALIASINGOM ???
==================
# Ako neko zna ili ima neku literaturu ....
Pa nisam siguran ali probaj da, ako koristis WIN95 & MSPlus ukljucis
opciju Antialiasing TrueType fonts ili nesto slicno pa probaj.
Antialiasing je van dometa Delphi-jevih kontrola.
delphi.867steve.wai,
Veliki problem
Imam Win95 OSR2 i pod njim Delphi 1.0 (Mora 1.0 treba mi 16 bitni .EXE)
Sve to fino radi osim kad je najpotrebnije .Dakle Kada stavim TQuery na Form
sve fino povezem sa DataSourseon i svim ostalim I pozovem Open metod dobijem
poruku "Error loading cursor resource" ili nesto slicno, U database Desktopu
sve fino radi i izvrsi svaki SQL upit ali Podd Delphijem nece.
Usput prije sam nesto cackao po .Res fajlovim u \Delphi\Lib direktorijumu
(mijenjao controls.res fajl u kojem se nalaze kursori koje delphi linkuje sa
svim projektima) i mislio sam da je zbog toga ali kad sam vratio originalni
fajl opet isto probao sam sve sto mi je palo na pamet ali nista.
Stvar se nazalost nije poboljsala nakon sto sam obrisao Delphi i instalisao ga
ponovo.
Ima li neko pojma zasto se ovo desava i kako to otkloniti a da ne instalisem
win 3.1x.
p.s. Ne znam je li ovoga bilo prije cackanja po .res fajlovima , tek sam
nedavno instalisao OSR2 i do sad mi nije trebalo da koristim SQL.
Izvinjavam se zbog duzine poruke , pa ako neko zna u cemu je problem ........
pozdrav ...
delphi.868lana.m,
Zanima me da li neko ima pojma kako da pusti dva wava u isto
vreme, tj kako dva ili vise wava da skupi u jedan!
Ocu da napravim ritam masinu pa me to jebe...
Pozdrav!
delphi.869lana.m,
Imam par pitanja za dnevnik... :)
1) Sa naredbom LoadBitmap dobijam handle od bitmapa koji mi
se nalazi u res fajlu... Kada dobijem handle nesto poput
GetBitmapBits(handle, buffer, pointer) bi trebalo da
bitmap stavi u memoriju, tj. tamo gde pokazuje pointer..
E sada mene zajebava to sto handle dobijem kako treba, a
GetBitmapBits mi vraca 0 sto znaci da je nije lepo odra-
dilo! U cemu je problem, posto treba da vraca broj
upisanih bajtova?!
2) Naredbe tipa BitBlt, GetDIBits itd. traze neki handle of
device context HDC... Gde da iscupam ovaj handle, tj.
sta uopste on prestavlja?
3) Naredbe od WaveIn do kraja helpa imaju veoma interesante
stvari... Ali ni jedno od toga ustvari nije naredba,
posto kad napisem neku pise mi Undeclared Indentifier, a
mnoge bi mi trebale! :) Zanima me sledece, a to je kako
da ocitam vise wavova, da kreiram jedan novi wav i da
po njegovim kanalima(WAVEFORMAT/nChannels) potrpam ostale
Wavove?!
Ako neko zna bilo sta od ovoga neka nesto napise...
Pozdrav!
delphi.870steve.wai,
-> #869, lana.msto se tice prvog pitanja to je i mene zajebavalo pa cu ti poslati neki sourse
na mail jer se ne sjecam kako to ide .
a za dro pianje Onaj HDC ti je ustvati Canvas.Handle od canvasa na kojem oces
da crtas ,,,
poz...
delphi.871kojai,
Imam pitanje u vezi wavova...
Procitao sam celu dokumentaciju o wavovima i nigde nisam nasao kako
da pusti vise wavova istovremeno! Uspeo sam da pustim 2 wava tako sto
sam napravio WAVEFORMAT kome sam stavio nChannels=2 i u njih nekako
(veoma tesko) stavio dva wave buffera koje sam ocitao iz nekih wavova!
Culi su se na zvucnicima razliciti zvukovi...
Svi programi za muziku, bilo to ritam masine ili emulatori(ReBirth),
pustaju vise wavova(buffera) u isto vreme. Sada da li oni nekako skla-
paju te wavove pa ih pustaju kao jedan ne znam, kao sto ni neznam kako
moze dva wava da se sintetisu u jedan!
Ako neko zna ovo kako da uradi ili ima neku knjigu gde to pise bio bi
mu zahvalan ako bi mi javio!
Pozdrav!
delphi.872steve.wai,
Nekome sam obecao source na temu kako se ucitava bitmapa iz resursa , ali se
ne sjecan kome :))
pa evo ko ga nadje - njegovo je ...
poz....
bmp.zipdelphi.873edison,
Napravio sam jedan program koji koristi Paradox bazu. Sa
InstallShield-om sam instalirao na server. Medjutim kada zelim da
pokrenem program sa 2 racunara istovremeno, kod drugog se javlja
poruka:
Exception EDBEngineError in ...EXE
Directory is controled by other .NET file. Directory C:\.
File: F:\PROG\PDOXUSRS.LCK
Da li neko zna u cemu je problem i kako mogu da ga resim? Unapred
hvala!
delphi.874sljubisic,
Prijatelj (programer-pocetnik ;) pita, a ja prenosim:
Koja verzija(e) Delphija moze da generise samo 16-bitne aplikacije,
koja pak i 16 i 32-bitne, a koja (ako takva postoji) samo 32-bitne?
On bi naime hteo da pise i 16-bitne i 32-bitne aplikacije, pa nije
siguran koja mu verzija Delphija odgovara.
delphi.875nitugard,
-> #874, sljubisic> Koja verzija(e) Delphija moze da generise samo 16-bitne aplikacije,
> koja pak i 16 i 32-bitne, a koja (ako takva postoji) samo 32-bitne?
16-bitne: Delphi 1.x
32-bitne: Delphi 2.x i 3.x
Uz Delphi 3.0 (professional) se na istom CD-u dobija i Delphi 1, tako da
ne mora mnogo da razmišlja... da... i IE 4.0 kome je već istekao
trial period B)
Ipak, ako hoće išta ozbiljnije da piše na temu klijenata za Web ili mreže,
mora da uzme Client-Server verziju Delphija 3... Professional ima samo
rudimentarne komponenete za te svrhe.
delphi.876sljubisic,
-> #875, nitugard>16-bitne: Delphi 1.x
>32-bitne: Delphi 2.x i 3.x
>Uz Delphi 3.0 (professional) se na istom CD-u dobija i Delphi 1, tako da
>ne mora mnogo da razmislja... da... i IE 4.0 kome je vec istekao
Hvala najlepse na informacijama :)
delphi.877jujo,
Da li neko zna kako da iz Delphi-ja 3 ili 2 saznam sta se
sve nalazi u Control Panelu i kako da pozivam odgovarajuce
Panele... npr System ili Add New Hardware...
Ovo me zanima jer pisem jedan dodatak za Win95/NT4
koji radi slicne stvari kao ControlStrip na Mac-u.
Kopao sam po registry-ju ali tamo nema nista osim nekog 22270-93847-...
broja koji predstavlja Control Panel.
Da li neko uopsta zna kako je to Billi Gates organizovao???
yooyo:
delphi.878steve.wai,
-> #877, jujoU helpu Delphi-ja 1.0 imas dokumentovano kako se pisu ControlPanel aplikacije
Tako da vrlo lako mozes da vidis kako se pokrecu odnosno pozivaj odredjena
setovanja ...
delphi.879jujo,
-> #878, steve.wai# U helpu Delphi-ja 1.0 imas dokumentovano kako se pisu ControlPanel
# aplikacije Tako da vrlo lako mozes da vidis kako se pokrecu odnosno
# pozivaj odredjena setovanja ...
Hvala, ali tamo nema nista korisno za mene.
Najlakci nazin da pozovem neki ControlPanel je npr.:
control appwiz.cpl
i on ce pozvato Add/Remove Programs.
Sad mi je samo problem kako da iskopam imena Control Panela.
Lako mogu da skupim sve .CPL fajlove, ali gde da nadjem npr.
Add New Hardware, Syste, Sounds, Display....
yooyo:
delphi.880jujo,
Da li se nako bavio sa NetDDE-om?
Kako se ostvaruje komunikacija 2 programa na razlicitim masinama?
Najjednostavniji je Chat. Kako on radi?
yooyo:
delphi.881jujo,
-> #867, steve.wai# Veliki problem
# Imam Win95 OSR2 i pod njim Delphi 1.0 (Mora 1.0 treba mi 16 bitni .EXE)
# Sve to fino radi osim kad je najpotrebnije .Dakle Kada stavim TQuery na
# Form sve fino povezem sa DataSourseon i svim ostalim I pozovem Open metod
# dobijem poruku "Error loading cursor resource" ili nesto slicno, U
# database Desktopu sve fino radi i izvrsi svaki SQL upit ali Podd
# Delphijem nece. Usput prije sam nesto cackao po .Res fajlovim u
# \Delphi\Lib direktorijumu (mijenjao controls.res fajl u kojem se nalaze
# kursori koje delphi linkuje sa svim projektima) i mislio sam da je zbog
# toga ali kad sam vratio originalni fajl opet isto probao sam sve sto mi
# je palo na pamet ali nista. Stvar se nazalost nije poboljsala nakon sto
# sam obrisao Delphi i instalisao ga ponovo.
# Ima li neko pojma zasto se ovo desava i kako to otkloniti a da ne
# instalisem win 3.1x.
# p.s. Ne znam je li ovoga bilo prije cackanja po .res fajlovima , tek sam
# nedavno instalisao OSR2 i do sad mi nije trebalo da koristim SQL.
#
# Izvinjavam se zbog duzine poruke , pa ako neko zna u cemu je problem
# ........
# pozdrav ...
Pa nemozes da pozoves query.open ako nisi napisao "SQL Program".
Dakle:
query1.clear;
query1.sql.add('select * from tralala');
query1.open;
delphi.882zdravkod,
Recimo imam na Formi 10 TLabel komponenti i njihova imena su
Label1, Label2...Label10. Ja hocu da promenim Caption polje na svih
10 Labela. Da li je neophodno da kucam nesto ovako:
Label1.caption:='...';
Label2.Caption:='...';
...
Label10.caption:='...';
Ovakav postupak je naravno fizicki zamoran pa me interesuje da li
je moguce da problem resim u ovom fazonu:
For i:=1 to 10 do Label I.caption:='...';.
Naravno ovo gore navedeno ne radi, ali me interesuje da li je
moguce uciniti nesto slicno?
Zdravko
delphi.883steve.wai,
-> #882, zdravkodmoze nesto ovako :
for a:=1 to 10 do
begin
label[a].Create(self ili neki drugi owner);
..
end;
prije toga definises niz
label : array [1..10]of TLabel;
..
nemam sada vremena , ako ti nije jasno javni se na mail ..
poz...
delphi.884nbjvsb,
Kako da u celije TDrawGrid komponente ubacujem bitmape?
...i zasto se sve izbrise iz DrawGrid-a kada se predje nekim drugim prozorom
preko njega... i kako to srediti? :)
delphi.885zdravkod,
Kako da kreiram 200 Labela na Formi... Nesto me mrzi da 200 puta
idem misem do taskbara, uzimam TLabel i kreiram ga na Formi... Malo
je dosadno.
Zdravko
delphi.886mradovic,
> Kako da kreiram 200 Labela na Formi... Nesto me mrzi da 200 puta
> idem misem do taskbara, uzimam TLabel i kreiram ga na Formi... Malo
> je dosadno.
Kreiraj ih dinamicki, znaci TLabel.Create(<Owner>), a onda postavis
propertije. Imas detaljnije o tome u jednoj od prethodnih poruka. Pored
toga sto se umanjuje manuelni rad, i kod je kraci & guta manje resursa.
U zadnje vreme vecinu komponenti pravim u letu (cak i cele forme).
Nesto vise kodiranja ali se definitivno isplati :)
Poz, Mirko.
delphi.887mradovic,
Da li neko mozda ima komponentu koja bi citala semplove
direktno sa zvucne kartice (CD, Line-In itd.)?
U pitanju je D3, a ako ima i source...
Poz, Mirko.
delphi.888dekij,
-> #885, zdravkod Zd> Kako da kreiram 200 Labela na Formi... Nesto me mrzi da 200 puta
Zd> idem misem do taskbara, uzimam TLabel i kreiram ga na Formi... Malo
Zd> je dosadno.
Ako hoces rucno onda drzi Shift dok selektujes TLabel i onda je
dovoljno da samo klikom na misa postavis koliko hoces labela na formu.
Kada zavrsis onda misom klikni na veliku strelicu koja je skroz levo
od TLabel (tool).
Dejan
delphi.889dusan,
Jel zna neko rešenje za sledeći problem, koji mi se pojavio:
Instalirao sam Delphi 3.0 i prvi dan je radio OK.
Od sledećeg dana je počeo da mi blokira ceo W95 prilikom startovanja i to ne
uvek; od 10 puta, 2 puta prođe ostatak mi blokira. Dakle čim ga startujem, on
izbaci splash screen postavi onaj njegov prozorčić gore i počne da učitava
ostatak i tada zamrzne ceo W95.
Da se možda ne sudara sa nečim što sam instalirao? Ili možda imam lošu
instalacionu verziju? Jel se još nekom javio ovaj problem?
BTW, probao sam da ga deinstaliram pa ga opet instaliram, simptomi isti.
Help!
delphi.890zdravkod,
Kako sa iscitam Boot Sector pod Windowsovim Fat32 iz Delphija...
Absread (Int25) i Physycal Disk REad (Int13) ne rade odnosno
vracaju nule ili neke nebuloze... Dok sam bio na Fat16 Absread je
radio pod windowsom, ali sad ni da bekne :)... Ako neko zna nek
javi. Moze i neki primer ako nije problem...
Zdravko
delphi.891jujo,
-> #890, zdravkod# Kako sa iscitam Boot Sector pod Windowsovim Fat32 iz Delphija...
# Absread (Int25) i Physycal Disk REad (Int13) ne rade odnosno
# vracaju nule ili neke nebuloze... Dok sam bio na Fat16 Absread je
# radio pod windowsom, ali sad ni da bekne :)... Ako neko zna nek
# javi. Moze i neki primer ako nije problem...
A da li se boot sector nalazi na istom mestu kao i na FAT 16. Znam
da bi trebalo....ali nikad se nezna sta je Billi zbudzio. Dakle probaj
istu stvar pod DOS 7.0 iz Pascala, C-a ili ASM-a, pa ako tu prodje
onda te Win97 zajebava...a tu ti nemogu pomoci.
yooyo:
delphi.892kojai,
-> #891, jujo# Kako sa iscitam Boot Sector pod Windowsovim Fat32 iz Delphija...
# Absread (Int25) i Physycal Disk REad (Int13) ne rade odnosno
# vracaju nule ili neke nebuloze... Dok sam bio na Fat16 Absread je
# radio pod windowsom, ali sad ni da bekne :)... Ako neko zna nek
# javi. Moze i neki primer ako nije problem...
Fat16 nema istu strukturu kao Fat32 i naravno da se nemoze naci na istom mestu
gde i u Fatu16...
Medjutim postoji fajl u kome je objasnjena struktura 32-bitnog Fata...
Zove se HF32.doc i moze se naci mislim na Birostroju ili jebem li ga negde!
Pozdrav!
delphi.893zdravkod,
-> #892, kojaiDa, Fat32 se razlikuje od Fat16, ali meni treba Boot Sector, a on
se nalazi na prvom logickom sektoru. Ja jednostavno ne mogu da
iscitam taj prvi sector...
delphi.894dusan,
Jel ima neko ideju zašto mi Delphi 2.0 izbacuje grešku kada uradim sledeće:
Otvorim Database/Form expert (ili može i na new form/Database form)
i izaberem Create a simple form. Kada mi Delphi posle toga traži "Choose a
table to use with a form" ja izaberem bilo koju iz baze koja već postoji
(recimo alias DBDEMOS) i tada dobijam grešku "Database engine error: Invalid
filename".
Ovo se dešava sa svim fajlovima koje pokušam da otvorim.
Šta se do đavola dešava?
delphi.895medical,
Jedno banalno pitanje za poznavaoce Delphija;
kako da ispisem podatke koji se nalaze u nekom slogu tabele
iz baze podataka, a da to ne radim vizuelno odredjujuci
DBEdit gde da bude, i koji slog da gleda...
Da budem jasniji, kako da iskoristim nesto slicno ovome:
writeln ( tabela1.item[0].vrednost )
Sinisa
delphi.896jujo,
-> #895, medical# Jedno banalno pitanje za poznavaoce Delphija;
#
# kako da ispisem podatke koji se nalaze u nekom slogu tabele
# iz baze podataka, a da to ne radim vizuelno odredjujuci
# DBEdit gde da bude, i koji slog da gleda...
#
# Da budem jasniji, kako da iskoristim nesto slicno ovome:
#
# writeln ( tabela1.item[0].vrednost )
#
# Sinisa
writeln ( tabela1.fields[0].asVREDNOST ); ili npr
writeln ( tabela1.fieldbyname('CENA').asfloat );
yooyo:
delphi.897medical,
-> #896, jujo> # Da budem jasniji, kako da iskoristim nesto slicno ovome:
> #
> # writeln ( tabela1.item[0].vrednost )
> #
> # Sinisa
>
> writeln ( tabela1.fields[0].asVREDNOST ); ili npr
> writeln ( tabela1.fieldbyname('CENA').asfloat );
>
> yooyo:
Hvala.
delphi.898kojai,
Kako da inicijalizujem heder wavea(WaveHdr) i kako da mu prikacim pointer na
neki buffer koji mi se nalazi u nekoj array?
Treba mi za WaveInAddBuffer posto on iz hedera cita gde pocinje wave...
delphi.899kojai,
Kada startujem neku naredbu iz Wave naredbi desava se sledece...
Primer: WaveOutPrepareHeader(0,P,SizeOf(P)); gde je P: WaveHDR radi ok...
Mislim radi, a ne prijavi gresku! Medjutim posto je to funkcija koja vraca da
je je sve ok uporno mi vraca br 5... Znaci Label1.Caption:=
IntToStr(WaveOutPrepareHeader(0,p,SizeOf(P)); vraca br 5!
Mislim da je to vezano za memoriju...
Ko zna neka mi kaze u cemu gresim!
Inace P: WaveHDR je napisan u redu.
Pozdrav!
delphi.900emajsijuen,
Kako da ovaj unit iskompajliram ???
Pozdrav, vlada...
keyboard.pasdelphi.901emajsijuen,
U toku izvrsavanja programa mi se javlja EAccesViolation error. Gledao sam
u help-u, medjutim nista mi nije jasno :( Inace, program koristi dosta
memorije, ako to ima neke veze. BTW, zanima me kako da proverim koliko
memorije je slobodno ? Ako neko zna kako da ispravim ovaj bug, tj. na sta
da obratim paznju u programu, bio bih mu zahvalan da mi to objasni.
Pozdrav, Vlada...
P.S. Procedure i funkcije, na koje mi delphi pokazuje, lepo rade pod Bp70,
tj. ceo program koji pisem u delphiju sam vec napisao pascalu za DOS,
i sasvim lepo radi.
delphi.902qpele,
-> #901, emajsijuen> U toku izvrsavanja programa mi se javlja EAccesViolation error. Gledao
>sam
>u help-u, medjutim nista mi nije jasno :( Inace, program koristi dosta
Jesi li pokusao pomocu Step Over ili Trace Into da nadjes mesto na kome ti
puca program?
delphi.903mradovic,
-> #901, emajsijuen> U toku izvrsavanja programa mi se javlja EAccesViolation error. Gledao sam
> u help-u, medjutim nista mi nije jasno :( Inace, program koristi dosta
Da li ti je ukljucen Break on exception ?
(Tools/Environment options)
Tada bi Delphi trebao da ti pokaze tacno na liniju gde puca.
Inace ova greska moze nastati iz malih milion razloga, npr.
pokusavas da pristupis neinicijalizovanom objekatu isl.
Sto se kompatibilnosti izmedju TP i Delphi-ja tice...tu ce
biti problema pogotovu ako direkno pises po memoriji ili
pristupas disku. Sve zavisi od toga sta koristis. Ukoliko
ti nije potreban Win interfejs, pokusaj da napravis konzolarnu
aplikaciju.
Ni verzije Delphi-ja nisu bas 100% medjusobno kompatibilne. Ovo
se narocito odnosi na interno reprezentovanje podataka. Pa jos
ako imas staru aplikaciju koja nesto pise u tipizirane datoteke...
To ume da boli.
Generalni savet za resenje tvog problema: prodnadji sva mesta na
kojima aplikacija puca, a onda zameni soprne delove Delphi
ekvivalentima. (Nisam bas razumeo o kakvom tipu aplikacije se radi)
BTW, svarno ima li neko ideju kako da se meri zauzece memorije,
steka, GDI-a. Mislim na *konkretne vrednosti* ne na procente
kao kod Resource Meter-a. Mozda neko programce?
Pozdrav, Mirko.
delphi.904emajsijuen,
-> #902, qpele│ Jesi li pokusao pomocu Step Over ili Trace Into da nadjes mesto na kome ti
│ puca program?
└──────────────────────────────────────────
Nasao sam... Medjutim, taj deo koda BP70 guta bez problema, ali Delphi na
njemu puca.
Pozdrav, Vlada...
delphi.905kojai,
Naredba Trunc treba da isece real na longint!
Medjutim zajebava ako nije pravi longint!
Ima neka "naredba" E....Op ili tako nesto koja treba da preskace greske...
Ako neko zna neka kaze kako se koristi!
Inace treba mi da real pretvorim u int!
delphi.906dzakic,
-> #905, kojaiDa li misliš na:
Options/Compile/Range checking, odnosno {$R-} ?
Pošto je Function Trunc(x:Real):Longint; ne bi trebalo da ima bilo kakvih
problema da se rezultat smesti u longint. Međutim, prilikom smeštanja
longinta u integer, kompajler generiše kod koji prilikom izvršavanja
proverava da li se dotični longint može smestiti u int. Proveru ćeš
isključiti na gore opisani način, greške neće biti, ali tada postoji
opasnost da dobiješ pogrešan rezultat.
delphi.907jujo,
-> #901, emajsijuen# U toku izvrsavanja programa mi se javlja EAccesViolation error. Gledao
# sam u help-u, medjutim nista mi nije jasno :( Inace, program koristi
# dosta memorije, ako to ima neke veze. BTW, zanima me kako da proverim
# koliko memorije je slobodno ? Ako neko zna kako da ispravim ovaj bug, tj.
# na sta da obratim paznju u programu, bio bih mu zahvalan da mi to
# objasni.
# Pozdrav, Vlada...
#
# P.S. Procedure i funkcije, na koje mi delphi pokazuje, lepo rade pod
# Bp70, tj. ceo program koji pisem u delphiju sam vec napisao pascalu za
# DOS, i sasvim lepo radi.
Pa koliko sam ja provalio, Delphi 2 je mnogo restriktivan. Npr. zabranjuje
pristup str[0], ili ako je duzina stringa manja od pozicije koju cackas,
od odvali EAccesViolation... Proveri zajebancije sa stringovima...
yooyo:
delphi.908emajsijuen,
-> #907, jujo│ Pa koliko sam ja provalio, Delphi 2 je mnogo restriktivan. Npr. zabranjuje
│ pristup str[0], ili ako je duzina stringa manja od pozicije koju cackas,
│ od odvali EAccesViolation... Proveri zajebancije sa stringovima...
└─────────────────────────────────────────────────
Program uopste ne radi nista sa stringovima. Analizom linija koda,
gde se javlja greska, utvrdio sam da je program pokusavao da pristupi
clanu niza koji nije definisan (niz: Array[1..500] of Record;
niz[Brojac]:=blabla; za brojac > 500). Uopste mi nije jasno kako je
promenljiva dobila vrednost 500, u TP-u je sve radilo kako treba :(.
Medjutim, kada sam ovu mogucnost otklonio sa jednim if brojac > 500 then...,
ista greska se javila (ali sa nekim drugim uzrokom), na nekom drugom delu
koda. Da stvar bude jos cudnija, program jedan deo posla (nekad) odradi kako
treba, a nekad ne. :( U svakom slucaju za sada sam odustao od zajebavanja
sa Delphijem, jer je ocigledno da su majmuni iz Borlanda nesto zasrali ;(
Pozdrav, Vlada...
delphi.909jujo,
-> #908, emajsijuen# clanu niza koji nije definisan (niz: Array[1..500] of Record;
# niz[Brojac]:=blabla; za brojac > 500). Uopste mi nije jasno kako je
# promenljiva dobila vrednost 500, u TP-u je sve radilo kako treba :(.
# Medjutim, kada sam ovu mogucnost otklonio sa jednim if brojac > 500
# then..., ista greska se javila (ali sa nekim drugim uzrokom), na nekom
# drugom delu koda. Da stvar bude jos cudnija, program jedan deo posla
# (nekad) odradi kako treba, a nekad ne. :( U svakom slucaju za sada sam
# odustao od zajebavanja sa Delphijem, jer je ocigledno da su majmuni iz
# Borlanda nesto zasrali ;(
# Pozdrav, Vlada...
Ja sam jednom prilikom nalateo na cudo jer mi je delphi (1.0 doduse)
pravio ludim. kod je izgledao ovako:
for i:=1 to 5 do
begin
r:=blablabla(....); {sasvim normalna unkcija koja racuna}
{neke matematicke zajebancije... }
sum:=sum+r;
writeln(sum); {...naknadno dodato...}
end;
I on mi je 6 puta ispisivao vrednost sum. Tu sam nacisto poludeo. Kada
sam izolovao petlju, sve je radilo OK. Onda sam nesto cacnuo u samoj petlji,
nisam siguran sta (mislim da sam je pretvorio u while..do) onda je proradilo.
Ima nesto sa optimizacijom sto ne sljaka dobro.
yooyo:
delphi.910vasic,
Naišao sam na sledeći problem:
Na formi imam (između ostalog i) jedan explorer-like ListView i meni. U
meniju su definisane opcije Cut, Copy i Paste sa uobičajenim shortcut-
-ovima ctrl-X, ctrl-C i ctrl-V koje operišu nad item-ima u listi.
Problem nastaje kad korisnik krene da preimenuje neki od item-a: tada
pritisak na neku od pomenutih kombinacija tastera ne izaziva uobičajeni
efekat (cut/copy/paste dela teksta u/iz clipboard(a)) već poziva
(ne)odgovarajući event handler iz menija.
Prvo 'rešenje' bilo mi je da u OnEditing i OnEdited eventovima
ListView-a ukidam i vraćam shortcutove meni opcijama. I to radi OK sve
dok se editovanje ne završi pritiskom na ESC - tada se OnEdited handler
ne poziva i shortcut-ovi ostaju trajno ukinuti.
Sada mi pada na pamet da u igru uvedem timer koji će nekoliko puta u
sekundi proveravati ListView.IsEditing i kada detektuje promenu da
uključuje/isključuje shortcut-ove. Ok, to će verovatno da radi posao ali
mi (kao i prvo rešenje uostalom) deluje kao užasna budževina. Mora da
postoji elegantniji način. Zna li neko koji?
delphi.911zdravkod,
Imam problem... Napisao sam program u Delphi-u za rezoluciju
640x480. E sad, program je lepo radio i u svim ostalim
rezolucijama, medutim nisam obracao paznju na large fonts u Display
properties. Dakle kad stoji neka visa rezolucija sa Large fonts
citava forma se deformise. Slova su veca i dugmici su veci dok
recimo slike na formi ostaju iste.
Prvi problem je kako da detektujem da li je u Win podeseno Large
Fonts.
Drugi problem je kako da, ako jesu large fonts, sredim stanje na
formi.
Zdravko
delphi.912vlada.,
nemoj da drzis rezoluciju 640x480!!!
delphi.913medical,
Da li neko zna kako da u Delphiu 1 saznam koja je rezolucija i
da je promenim ?
I recimo, kako da mi FORMa bude full screen; recimo, stavio sam sliku
preko cele prozora, i rekao da prozor bude 800x600 (kao i slika), ali
slika je sirine 800, a visine 585 ?
Sinisa
delphi.914nenadt,
Može li neko da mi objasni kako se koristi BDE u Delphi3?
Samo nemojte da mi kažete "... pogledaj u helpu..." jer ga nisam instalirao
(kratak sam sa prostorom na disku).
Unapred zahvalan.
delphi.915guta,
-> #914, nenadt#> Može li neko da mi objasni kako se koristi BDE u Delphi3?
Ako koristiš kontrole iz VCL biblioteke, onda to ide "automatski", tj.
same DB kontrole (klase) su "omotač" oko BDE funkcija niskog nivoa. Sad,
pošto pitanje nije baš detaljno, pitanje je šta ti zapravo treba?
#> Samo nemojte da mi kažete "... pogledaj u helpu..." jer ga nisam
#> instalirao (kratak sam sa prostorom na disku).
Help ume da bude koristan u svakom pogledu, toliko prostora bi baš i
mogao da izdvojiš ako misliš da se ozbiljnije baviš ovim alatom :)
delphi.916kojai,
-> #915, guta>> Help ume da bude koristan u svakom pogledu, toliko prostora bi bas i
>> mogao da izdvojis ako mislis da se ozbiljnije bavis ovim alatom :)
Koji bre help?! Pola stvari koje su u helpu svu Win DLL rutine, a Microsoftovi
helpovi su nesto najgore... Ima na iternetu paketic :) (50MB) sa helpom za C,
Delphi, Direct X itd...
delphi.917nenadt,
-> #915, guta> #> Moze li neko da mi objasni kako se koristi BDE u Delphi3?
>
> Ako koristis kontrole iz VCL biblioteke, onda to ide "automatski", tj.
> same DB kontrole (klase) su "omotac" oko BDE funkcija niskog nivoa. Sad,
> posto pitanje nije bas detaljno, pitanje je sta ti zapravo treba?
tolko znam i sam, nisam blesav.
ono sto meni treba je zapravo sistem rada.
kako da mrdnem sa nule. samo sam bacio pogled na one kontrole i
rekao "UZAS". blaga jeza. nista mi nije jasno.
> #> Samo nemojte da mi kazete "... pogledaj u helpu..." jer ga nisam
> #> instalirao (kratak sam sa prostorom na disku).
>
> Help ume da bude koristan u svakom pogledu, toliko prostora bi bas i
> mogao da izdvojis ako mislis da se ozbiljnije bavis ovim alatom :)
>
jesi li ti video help za D3. nije ni za k...c
sva sami opisi kojekakvih WinApi f-ja, nista pametno (a pola stvaki i
nema). jedina pametna stvar koju sam tamo video je AnsiString
neogranicene duzine.
delphi.918guta,
-> #916, kojai#> Koji bre help?! Pola stvari koje su u helpu svu Win DLL rutine, a
#> Microsoftovi helpovi su nesto najgore... Ima na iternetu paketic :) (50MB)
#> sa helpom za C, Delphi, Direct X itd...
Ok, o kvalitetu help-a se uvek može diskutovati, ali smatram da ga ipak
treba instalirati - ipak je u pitanju kontekst-senzitivan help, koji je
za svakodnevnu upotrebu nezamenljiv. Recimo, siguran sam da ne postoji
čovek koji zna napamet sve metode i propertije baš svake kontrole...
delphi.919guta,
-> #917, nenadt#> tolko znam i sam, nisam blesav.
Izvinjavam se ako je odgovor zvučao nametljivo, nije bila namera. Pitanje
nije bilo baš detaljno, a iskustvo me je naučilo da ne pravim pretpostavke
o prethodnom znanju ljudi, pa je možda bolje i da napišem opšte poznatu
stvar, nego da me čovek ne razume...
#> ono sto meni treba je zapravo sistem rada.
#> kako da mrdnem sa nule. samo sam bacio pogled na one kontrole i
#> rekao "UZAS". blaga jeza. nista mi nije jasno.
Ne bi trebalo da je toliko komplikovano - evo jednog jednostavnog primera:
Na form postavi jednu instancu kontrole Table (Data Access/Table), jednu
instancu DataSource (sa istog tab-a), i jednu instancu DBGrid
(Data Controls/DBGrid).
Zatim pokreni Database Desktop (dolazi uz instalaciju svih verzija), i
pokreni opciju Tools/Alias Manager. Dobićeš dijalog u kome se nalazi
spisak alias-a (Alias je zapravo "zamenica" za konkretnu putanju (path),
tj. direktorijum) gde se nalazi tabela (ili tabele) koju želiš da koristiš)
Sa New kreiraj novi alias: "Database alias:" - ukucaj ime po izboru,
"Driver type" - ostavi "STANDARD" za Paradox tabele, i pod "Path" možeš
ukucati ime direktorijuma, ili ga "pokazati" koristeći dugme "Browse" sa
desne strane dijaloga. Kao primer, možeš iskoristiti direktorijum
Delphi 3/Demos/DATA, gde se već nalazi nekoliko gotovih tabela sa
podacima. Nakon ovoga, posle pritiska na "OK", na pitanje "Ok to save
public aliases..." odgovori potvrdno, da bi novokreirani alias bio i
snimljen.
Podešavanja kontrola (naravno, koristeći Object Inspector) su sledeća:
Table
-----
Property Vrednost Napomena
-----------------------------------------------------------------------
DatabaseName ime aliasa Ovde (iz combobox-a) izaberi ime
alias-a koji si prethodno kreirao.
TableName ime tabele Recimo, "BIOLIFE.DB" (iz combo-a)
Active True Ovime tabelu otvaraš, može i iz koda
sa Table1.Active := True
DataSource
----------
Property Vrednost Napomena
-----------------------------------------------------------------------
DataSet Table1 Zapravo, ovde dodje ime Table objekta
iznad, ako nisi direktno menjao ime,
onda će biti Table1, a lakše je
izabrati iz combo-a u Obj. Insp.
DBGrid
------
Property Vrednost Napomena
----------------------------------------------------------------------
DataSource DataSource1 Kao i za prethodni objekat, ovde
dodje ime DataSource-a sa kojim je
DBGrid povezan, tj. od koga "dobija"
slogove. Takodje se može izabrati iz
combo-a u Obj. Insp.
Ako je sve prethodno urađeno ispravno, već u designer modu, bez pokretanja
aplikacije, u DBGrid-u ćeš videti kolone i podatke. Dodajući ostale
kontrole sa Data Controls palete, i povezujući ih sa odgovarajućim
DataSource-om (u ovom primeru DataSource1), i odgovarajućim poljem u
tabeli, možeš dobiti već prilično složenu DB aplikaciju.
Recimo, posle ovoga stavi jednu instancu DBEdit kontrole, property
DataSource poveži sa postojećim DataSource1 na formu, za polje DataField
izaberi iz combo-a u Obj. Insp. recimo polje Category iz BIOLIFE tabele,
i potom pokreni aplikaciju i prošetaj se gridom kroz podatke, trebalo bi
da se u DBEdit1 polju prikazuje vrednost kategorije riba za trenutno
aktivni slog u gridu. I tako dalje...
Nadam se da je pomoglo :)
delphi.920kojai,
-> #918, guta>> Ok, o kvalitetu help-a se uvek moze diskutovati, ali smatram da ga ipak
>> treba instalirati - ipak je u pitanju kontekst-senzitivan help, koji je
>> za svakodnevnu upotrebu nezamenljiv. Recimo, siguran sam da ne postoji
>> covek koji zna napamet sve metode i propertije bas svake kontrole...
Naravno...
delphi.921nenadt,
-> #919, guta izvini i ti zbog ispada. malčice sam napet ovih dana.
hvala na primeru, radi. malo sam ukapirao kako rade stvari.
imam još jedno pitanje koje nija baš direkto vezano za ovu conf, ali činimi se
da znaš nešto o tome.
kada definišeš blob polja u Paradox bazi, čemu služi oznaka za veličinu polja.
to nisam ukapirao ni kad sam koristio Paradox Engine (u prncipu veomna slabo
radim baze -- uglavnom za po kući).
unapred zahvalan
nenad
delphi.922guta,
-> #921, nenadt#> kada definišeš blob polja u Paradox bazi, čemu služi oznaka za veličinu
#> polja. to nisam ukapirao ni kad sam koristio Paradox Engine (u prncipu
#> veomna slabo radim baze -- uglavnom za po kući).
Kod Paradox formata tabela, i novijih i starijih, postoji nekoliko
tipova polja koja se baziraju na osnovnom BLOB (Binary Large OBject)
tipu polja:
- Memo
- Formatted Memo
- Graphic
- OLE
- Binary
Svi ovi tipovi polja, (sem poslednjeg, koji je u stvari "originalni" tip)
su zapravo BLOB polja, samo je njihova interpretacija drugačija - neki
služe za smeštanje teksta, neki za smeštanje grafike - uostalom, i imena
im govore o nameni.
Ako tabela sadrži jedno ovakvo polje, njegov sadržaj se ne smešta u
.DB datoteku, gde se inače nalazi sadržaj ostalih slogova, već u
posebnu .MB datoteku. Sa nivoa Paradox Engine-a, ili njegovog naslednika
BDE, ova podela je nevidljiva. Međutim, postoje i bitne razlike -
za razliku od .DB datoteke, u kojoj slogovi imaju istu dužinu, i u kojoj
je upis/čitanje/itd. zbog toga brži, slogovi u .MB datoteci su
promenljive dužine, i obično su mnogo veći od ostatka sloga u "glavnoj"
tabeli (.DB).
Dužina za BLOB polje nije bitan podatak, jer to polje može potencijalno
imati bilo koju veličinu. Međutim, pružena je mogućnost za jedan mali
trik - ako se za BLOB polje ipak navede dužina (u opsegu 1..240 bajta),
taj deo BLOB polja se umesto u .MB datoteku smešta u .DB datoteku,
i pristup njemu je mnogo brži. Sem toga, ako BLOB polje za jedan slog
ima manju dužinu od ove zadate, celo BLOB polje se smešta u glavnu
datoteku, tj. ništa se ne upisuje u .MB datoteku, čime cela baza
postaje kudikamo živahnija i brža.
Primer za ovo je vrlo čest - imate slog sa nekim sadržajem, a na njegovom
kraju se nalazi polje "Napomena". Ako to polje odredite kao string
ograničene dužine, korisnik će u 95% slučajeva biti zadovoljan time,
ali u 5% neće, jer će mu trebati duža napomena. Ako, sa druge strane,
proširite string polje, trošićete za svaki slog u onih 95% bespotrebno
prostor. Zato je za ovu namenu zgodno staviti Memo polje, koje je
promenljive dužine, ali treba dodati i podatak o dužini fiksnog dela
koji se smešta u .DB datoteku. Na taj način će, ako zatreba, korisnik
moći da se raspiše koliko mu volja, a u svim ostalim slučajevima se
neće bespotrebno trošiti prostor (i vreme - što veća tabela, to
sporija obrada). Međutim, ako imate polje za memo (napomenu) pored grida,
u kome se vidi deo sadržaja napomene za aktivni slog u gridu, kretanje
kroz taj grid će biti mnogo brže ako je i taj vidljivi deo napomene
upisan u .DB datoteku, čiji se slogovi ionako moraju pročitati radi
prikaza u gridu.
delphi.923nenadt,
-> #922, guta> Kod Paradox formata tabela, i novijih i starijih, postoji nekoliko
> tipova polja koja se baziraju na osnovnom BLOB (Binary Large OBject)
> tipu polja:
> - Memo
> - Formatted Memo
> - Graphic
> - OLE
> - Binary
dobro, sve je to u redu, ali kako ja da znam koje je polje u pitanju?
i kako da npr. pročitam neku sliku iz Graphics polja?
> Primer za ovo je vrlo cest - imate slog sa nekim sadrzajem, a na
^^^^^
čemu ovo? sad sme prešli na formalu?
delphi.924tile,
Mogu li na istom HD (W95) da budu instalirani istovremeno
DELPHI 1 i DELPHI 2 ?
Naravno i da korektno rade.
HVALA.
delphi.925kojai,
-> #924, tile>> Mogu li na istom HD (W95) da budu instalirani istovremeno
>> DELPHI 1 i DELPHI 2 ?
>> Naravno i da korektno rade.
Neki Sys DLL su isti neki se razlikuju, ali trebalo bi da radi ok...
delphi.926guta,
-> #924, tile#> Mogu li na istom HD (W95) da budu instalirani istovremeno
#> DELPHI 1 i DELPHI 2 ?
#> Naravno i da korektno rade.
Principijelno, da. Međutim, problem može da napravi BDE, jer se, zavisno
od redosleda instalacije, može desiti da deo BDE-a bude "pregažen"
starijim DLL-ovima i slično. Ako je neophodno držati Delphi 1 na disku,
preporučujem Delphi 1 koji se distribuira zajedno sa Delphi-jem 3
(mislim da je u pitanju verzija 1.03, mada nisam siguran), jer su kod
ove verzije obratili pažnju na probleme kod paralelne instalacije, i
tu pretežno ne bi smelo da bude problema.
Drugo, ako su ti potrebne i 32-bitne verzije programa (sudeći po želji
da instaliraš i Delphi 2), onda definitivno preporučujem Delphi 3 -
vertikalno je kompatibilan sa D2, a ima prilično korisnih novosti.
delphi.927tile,
-> #926, gutaHvala na iscrpnom odgovoru, a posebno, savetu.
delphi.928zdravkod,
Kako da pozovem neki intrapt iz Delphija 3. U opisu interapta mi se
trazi da je , recimo, neki podatak na adresi DS:BX. E sad u
Delphiju 1 to uradim tako sto fino uradim ovo:
asm
mov bx, seg podatak
mov ds,bx
mov bx, offset podatak
bla, bla, bla...
int bla,bla
end;
Medutim, pod Delphijem 3 vise ne postoje segmenti i ofseti i tako
adresiranje memorije. Dakle, kako da implementiram gore navedeni
primer po D3?
Zdravko
delphi.929nenadt,
mala pitanja
1. čemu služi WORK alias za BDE? isti se postoji odmah po instalaciji.
2. kako da distribuiram aplikaciju koja koristi BDE uz pomoć
InstallShield-a za Delphi 3
delphi.930guta,
-> #929, nenadt#> 1. čemu služi WORK alias za BDE? isti se postoji odmah po instalaciji.
WORK alias označava radni direktorijum za Database Desktop - ako napraviš
sopstveni alias, iz zatim podesiš da WORK alias pokazuje na tvoj alias
(ili, sasvim svejedno, na direktorijum u kome se nalazi baza sa kojom
tvoj program radi), svako "Open table", "New Table", "Restructure", itd.,
će kao početni direktorijum za open/save uzimati direktorijum na koji
pokazuje WORK alias. Ovo nije obavezno podešavanje, ali je vrlo
zgodno/korisno - pri radu sa dosta tabela, mnogo je lakše otvarati iz
"default" direktorijuma, nego se svaki put "šetati" kroz stablo
direktorijuma, tražeći onaj u kome ti se nalaze tabele.
#> 2. kako da distribuiram aplikaciju koja koristi BDE uz pomoć
#> InstallShield-a za Delphi 3
Koliko se ja sećam, InstallShield Express ("namenska" verzija koja se
isporučuje uz pojedinačne razvojen alate) nudi opciju "Include BDE
redistributable installation in project" (ili tome slično). Ako
koristiš Full verziju InstallShield-a, moraćeš da se sam pobrineš da
BDE bude ispravno i kompletno instaliran. Zato, mnogo je ugodnije
koristiti IShield Express nego Full verziju, pa makar ostao bez nekih
naprednih opcija.
delphi.931guta,
-> #928, zdravkod#> Kako da pozovem neki intrapt iz Delphija 3. U opisu interapta mi se
#> trazi da je , recimo, neki podatak na adresi DS:BX. E sad u
#> Delphiju 1 to uradim tako sto fino uradim ovo:
Hm, ovo nisam probao (nekako mi nikad nije zatrebalo), ali ne bi trebalo
da bude problema(?). Evo šta help kaže o upotrebi registara:
In general, the rules of register use in an asm statement are the same as
those of an external procedure or function. An asm statement must preserve
the EDI, ESI, ESP, EBP, and EBX registers, but can freely modify the EAX,
ECX, and EDX registers. On entry to an asm statement, BP points to the
current stack frame, SP points to the top of the stack, SS contains the
segment address of the stack segment, and DS contains the segment address
of the data segment.
Koliko vidim po sadržaju BP, SP i SS registara, sve je u redu, tj. ono
što bi očekivao u "segmentnoj" arhitekturi je i dalje tu.