Archív konference Delphi

Zpět na výběr roku archívu nebo přejít na fulltextové vyhledávání v konferenci.

IP Adresa

[*] Pavol Kaka�ka <paka(zv)aktis(tec)cz> - 20.12.2000 17:03:38

| >Mam adresu napr: "www.film(tec)cz" cez DOS ping si zistim IP =
"212.27.196.82"
| >
| >a ked toto dam do tej funckie (...gethostbyaddr...) tak vysledok z
| >host^.h_name je "db.globe(tec)cz".
| >Ale kde sa skryva www.film(tec)cz ?
|

| 1) 'dopredna' DNS zona a reverzni jsou dve odlisne a _nezavisle_ (z
hlediska
| spravy) veci. Tj muze existovat zaznam, ktery rika, ze www.server(tec)cz ma
ip
| adresu 1.2.3.4 ale uz neumusi existovat zaznam, ktery rika, ze adresa
| 1.2.3.4 se prevede na www.server(tec)cz. Ten zaznam muze uplne chybet nebo
muze
| prevest tu adresu na uplne _jine_ jmeno nez je v dopredne zone
|
| 2) v dopredne zone muze byt definovano, ze vice jmen se ma prevest na
stejne
| IPcko (nebo jedno jmeno na vice IPcek), ALE v reverzni zone se jedno IPcko
| prevadi na jedine jmeno. Spravne se tato situace ma resit tak ze dopredna
| zona ma jeden A zaznam k hlavnimu jmenu a ten zaznam koresponduje s PTR
| zaznamen v reverzni zone. Ostatni jmena jsou pak definovana v dopredne
zone
| pomoci CNAME (alias) zaznamu
|
| 3) Web servery jsou v drtive vetsine realizovany jako virtualni (named
based
| hosting) coz znamena, ze nekolik jmeno serveru ukazuje na stejnou IP
adresu
| (www.film(tec)cz ukazuje na db.globe(tec)cz a www.film(tec)cz by melo byt definovane
| jako CNAME na db.globe(tec)cz ). Resi se tim uspora IP adres (stovka WWW
zabere
| jen jednu adresu)

Z toho a tiez z mailu od "Sula Milos" mi vychadza ze z IP asi nepojde ziztit
meno, ani z CNAME, protoze ked do IExploreru (5.5) napisem www.film(tec)cz tak
to samozrejme zobrazi www.film(tec)cz :)) ale ak tam napisem "212.27.196.82" tak
mi zobrazi http://globe(tec)cz/web/tit.php3?flash=on
coz je dokonca este nieco ine ako "db.globe(tec)cz" ktore vrati (...getHost..bla
bla bla....)
%-) mno, vidim ze v tom mam chaos ;-))

| PS. me se 212.27.196.82 resolvuje na jine jmeno -> mikroservis.sro(tec)cz
| (db.globe(tec)cz ma IP adresu, ktera se lisi v podlednim bytu - zrejme jsi
| zapomnel opsat dvojku do Tve funkce)
|
| Zdravi
| D. Toman

Mne to zase vrati skutocne db.globe(tec)cz, nekecam, fakt a mikroservis.sro(tec)cz
nemozem nijak dostat ani cez pink ani v explreru.

S priatelskym pozdravom

Pavol Kaka�ka
kasix(zv)atlas(tec)cz


Kombinovane zobrazeni v DBGrid

[*] Pavol Kakacka <paka(zv)aktis(tec)cz> - 20.12.2000 17:26:59

No tak to je tak trochu problem, uz som sa s tym stretol. Mam ale vecsiu
aplikaciu a riesenie, ktore ti teraz nastienim sa osvedcilo z roznych
dovodov. Mame vlastne datasety aj gridy (podedence a upravene,
rozsirene.....). Urobili sme si nieco ako FAKE fieldy. Su to fieldy ktore
dokaze obsluhovat dataset (zasah do datasetu) tak ze s nimi pracuje ako s
nepersistentnymi obdobne ako s Calculated fieldami. Na datasete du dve
metody (event) OnGetFakeFields a OnSetFakeFields ktore maju ako parameter
fakefield. Fake fieldy pozname tak, ze ich meno zacina na "FAKE_" cize je to
"FAKE_NejakyField".

v getu sa deje nieco ako v OnCalcFields, zistuje sa hodnota, v setu sa zasa
hodnota zapisuje niekam, do objektu, do ineho datasetu, ........

zvysok su prepisane interne metody na datasete.

V pripade ze toto sa zda zlozite tak jedine vizualne oblbnut uzivatela a
urobit nieco ako je "grid" v Objectinspectore kde zalezi na riadku kde
stojis a nad polizkom gridu sa zobrazi nejaky edit a podobne.

Pavol Kakacka
kasix(zv)atlas(tec)cz


| | Zeby "Calculated Field" ?
|
| To jsem zkusil, ale nejde me do nej zapisovat. Potreboval bych nove pole s
| moznosti editace.

Hledani a preskoky v binarnim souboru

[*] Robert Kindl <rob(zv)exec(tec)cz> - 20.12.2000 17:40:08

> Mno, skoly nemam,

Tak se do toho nemontuj :-)

> ale kolik rezie se spotrebuje na porovnani, zda
> posledni pismeno je v hledanem slove, a pripadne na ktere pozici?
> Dejme tomu, ze si nejdrive vytvorim mapu v set of char. To mame 4
> kroky (s rostouci velikosti prohledavanych dat zanedbatelne). Po
> prvnim hledani (if znak[i] <> posledni then if znak[i] in setchar then
> ... else skok) mam dve porovnani. Prvni porovnani je shoda
> posledniho pismene, druhe porovnani, zda je pismeno ve vzorku.

Nerad te zklamu, ale znak[i] in setchar je defakto v Delphi vice nez jedno
porovnani.

> Az k "to u" je to celkem 8 porovnani (shoda pismene, existence ve
> vzorku). Zde delam dalsi dve porovnani (hledam polohu "u", coz je
> dva znaky zpet). To uz mame 10 porovnani znaku. Vychazi mi tedy
> celkem za cely text 29 + 4 (mapovani vzorku) porovnani, coz je
> podstatne vic nez 18 (ale porad mene nez 41). Nebo se pletu?
> S pozdravem
> Zbysek Hlinka

Pletes takhle se to nedela, pouziva se indexovy pristup do pole ze
ktereho se rovnou zjisti o kolik znaku se mas posunout
(napr.PosunOPocetZnaku[Znak]).

Predpokladaji se dve faze 1) priprava 2) porovnani.
Slozitost 1) neni tak podstatna pokud je 2) dostatecne dlouha
(nepredpoklada se ze hledas slovo "linka" v "Hlinka" :-))

Slozitost 2) je v zasade zavisla na delce vzorku a velikosti abecedy (kolik
ruznych znaku se
v textu muze vyskytovat).

Sveho casu jsem napsal na dane
tema diplomovou praci u doc.Kolare a doc.Melichara.
Ukazalo se, ze BM alogritmus neni zdaleka nejlepsi.
Existuje napr. Shift-Or, ktery misto
porovnani pouziva binarni instrukce shift a or.
NEJRYCHLEJSI se kupodivu ukazal SIKOVNE (delal jsem to ja :-)
implementovany obycejny konecny automat.
(doc.Melichar mel takovou radost, ze ted nepise skripta o nicem jinem :-))
V zasade se nepouziva porovnani, ale jen prechody mezi stavy automatu.
Nevyhodou je trochu (opravdu jen trochu) vyssi (a dopredu neznama) pametova
narocnost.
Automat se vytvari za behu programu,
rozhodne se obvykle nepripravuje dopredu cely.

Rob

PS
Uz je to >6let (to to leti) takze odpustte drobne nepresnosti.

Kopia zaznamu pomocou SQL

[*] Hynek Svato� <svatos(zv)kam(tec)czu(tec)cz> - 20.12.2000 17:57:30

Zdar a silu, nesmis byt tak skoupy na informace a prozradit nam,
pro jakou db to potrebujes, a jak zhruba vypada ta tabulka ...

Keep mailing :-)
=======================
Hynek Svato�
svatos(zv)kam(tec)czu(tec)cz
hynek.svatos(zv)atlas(tec)cz
=======================

> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> MMrazik
> Sent: Wednesday, December 20, 2000 3:42 PM
> To: Delphi conf.
> Subject: Kopia zaznamu pomocou SQL
>
>
> Zdravim Vas,
>
> mam jednoduchu evidenciu. Potrebujem previest urceny zaznam z jedneho roka
> do druheho.
> Prikazom UpDate - SQL zmenim teda v zazname prislusny rok a zaznam sa mi
> automaticky
> presunie do dalsieho roka. OK.
> Lenze ja potrebujem ten povodny zaznam ponechat tak ako je, len do jedneho
> jeho pola pripisat ze zaznm je prevedeny do dalsieho roka. Takze
> idealne by
> bolo povodny zaznam skopirovat a v kopii zaznamu zmenit len rocnik, a v
> povodnom zazname zapisat do prislusneho pola ze bol prevedeny do dalsieho
> rocnika.
>
> Problem je v tom, ze tabulka ma primarny kluc a ked by som chcel pridat
> zaznam pomocou
> prikazu INSERT s vnorenym prikazom SELECT tak mi to nedovoli,
> lebo primarny
> kluc by bol duplicitny.
>
> INSERT INTO DENNIK SELECT * FROM DENNIK WHERE ID_ZAZN = 123
>
> UPDATE ...
> atd.
>
> Neviete mi niekto poradit?
> PS. Potrebujem to bez pouzitia ulozenych procedur.
>
> mm
>
>
>

jak na Thread

[*] Tomas Bihary <tomas(zv)wige-mic(tec)cz> - 20.12.2000 18:13:00

----- Original Message -----
> zacinam delat s Thready a mel bych zacatecnickou otazku.
> Potreboval bych napsat nejakou funkci, ktere predam jako var
> parametr TStringList a ona do nej nasype vysledky. Ovsem nevim
> jak to zapracovat do Threadu. Mohl by mi nekdo napsat nejaky
> jednoduchy priklad?
>
> Melo by to vypadat asi nejak takhle:
>
> Neco_Udelej(var Vysledek : TStringList; const Vstup1, Vstup2 :
> String);
>


Ahoj.

Kdyz spoustis thread, spoustis funkci, ktera musi but definovana takto

function MojeThrFce(P: pointer): Integer; stdcall;

Spousti se volanim pomoci API funkce CreateThread nebo pomoci
funkce Delphi BeginThread.

function BeginThread(SecurityAttributes: Pointer; StackSize: LongWord;
ThreadFunc: TThreadFunc; Parameter: Pointer; CreationFlags: LongWord;
var ThreadId: LongWord): Integer;

4.parametr typu pointer muze slouzit k predani uzivatelskych dat

Funkce BeginThread samozrejme interne vola CreateThread, ale help doporucuje
jeji pouziti pred primym volanim CreateThread. BeginThread totiz ve
skutecnosti
nespusti tvoji funkci vlakna ale spusti funkci ThreadWrapper definovanou v
jednotce System, ktere preda ukazatel na tvoji funkci a na uzivatelska data.
Funkce ThreadWrapper potom interne zavola tvoji funkci vlakna a preda ji i
ukazatel na data. ThreadWrapper obsluhuje vyjimky vznikle ve vlakne, protoze
o vyjimky by se melo kazde vlakno starat samo.

Dalsi moznosti je vyuziti tridy TThread a vytvoreni jejiho potomka ve kterem
prepises abstaktni metodu Execute.

Obecne je pro tyto 3 pripady spolecne ze vlaknu muzes predat ukazatel.
Pri pouziti CreateThread nebo BeginThread si urcis sam na co ukazuje.
V pripade potomka TThread je to ukazatel ma instanci teto tridy.

V tvem pripade by slo:

type
TMyThreadData = record
Vstup1, Vstup2: string;
Vysledek: TStringList;
end;
PMyThreadData = ^TMyThreadData;


function SpustThtread(Vysledek : TStringList; const Vstup1, Vstup2 : String;
var NewThreadID: DWORD): DWORD;
var
Data: PThreadData;
begin
New(Data);
Data^.Vstup1 := Vstup1;
Data^.Vstup2 := Vstup2;
Data^.Vysledek := Vysledek;
Result := BeginThread(nil, 0, MojeThrFce, P, 0, NewThreadID);
end;

Protoze vyse uvedena fce alokuje data a predava je vlaknu, bylo by slusne,
aby
tato data zase nekdo uvolnil. Napriklad funkce vlakna:

function MojeThrFce(P: pointer): Integer;
begin
...
Dispose(P);
end;

Pri pouziti tridy TThread vse funguje tak, ze pri vytvoreni instance teto
tridy
se spusti funkce vlakna ThreadProc z jednotky classes a teto se preda
ukazatel
na instanci TThread. ThreadProc mimojine vola metodu Execute dane instance.
Pro uzivatelska data lze pak pouzit datove cleny tridy potomka TThread.

Zdravi
Tomas Bihary


IP Adresa

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 20.12.2000 18:47:54


>Z toho a tiez z mailu od "Sula Milos" mi vychadza ze z IP asi nepojde
ziztit
>meno, ani z CNAME, protoze ked do IExploreru (5.5) napisem www.film(tec)cz tak
>to samozrejme zobrazi www.film(tec)cz :)) ale ak tam napisem "212.27.196.82"
tak
>mi zobrazi http://globe(tec)cz/web/tit.php3?flash=on

to je tim, ze browser se sice pripoji na IPcko ktere dostane resolvenim
www.film(tec)cz (tedy na 212.27.196.82) ale v zadosti (HTTP hlavicce) posle mimo
jine i radek:

Host: www.film(tec)cz

cilize WWW server podle nej pozna o jakej virtualni server ma klient vlastne
zajem. POkud Hlavicka host chybi (velmi stary browser nebo zkusmy pristup
telnetem) pak se serviruji data z hlavniho WWW (nebo se generuje chybova
hlaska)

>coz je dokonca este nieco ine ako "db.globe(tec)cz" ktore vrati
(...getHost..bla
>bla bla....)
>%-) mno, vidim ze v tom mam chaos ;-))| PS. me se 212.27.196.82 resolvuje na jine jmeno -> mikroservis.sro(tec)cz
| (db.globe(tec)cz ma IP adresu, ktera se lisi v podlednim bytu - zrejme jsi
| zapomnel opsat dvojku do Tve funkce)
|

>Mne to zase vrati skutocne db.globe(tec)cz, nekecam, fakt a mikroservis.sro(tec)cz
>nemozem nijak dostat ani cez pink ani v explreru.

opravdu nezkousis reverzi na 212.27.196.8 (dvojka chybi). Pokud ne pak je
nekde problem v synchronizaci DNS serveru (nekdo nekdo neco zmenil a
nezvysil SOA serial number napriklad)

D. Toman

QR a tisk

[*] Pavol Stolc <pstolc(zv)sc.sknet.sk> - 20.12.2000 19:51:29

From: Bednar��k Dalibor <dalibor(zv)torola(tec)cz>

Ahoj,

> Mam sestavu vytvorenou v QR a vychazi presne na stranku A4.
> Kdyz ji tisknu na Laserovce ci inkoustovce neni problem.
> Ale pokud ji tisknu na jehlickove, tak mi ji u konce kousek nevytiskne.
> Vysledek je ruzny pokud na stejnou tiskarnu pouziju jiny ovladac.
>

tak len skusim poradit. Report ma nastavene okraje v property Page. Tieto
okraje su nastavene programovo nezavisle od typu pouzitej tlaciarne. V
udalosti Report.OnPrint zisti fyzicke okraje tlaciarne a ak su vacsie ako
nastavene, uprav ich. Na zistenie fyzickych parametrov tlaciarne mozes
pouzit funkcie DeviceCapabilities a GetDeviceCaps.

Pavol Stolc
pstolc(zv)sc.sknet.sk


Kopia zaznamu pomocou SQL

[*] MMrazik <mms(zv)host.sk> - 20.12.2000 21:24:52

Ahoj,
mozno som dal malo informacii. Ide o tzv. podaci dennik - evidencia
pisomnosti. Je to knuiha, kde sa kazdy zapis aj ked je neplatny musi skrtnut
a uviest v poznamke preco je neplatny.

No databazi to musi ostat zachovane. Takze tabulka ma kopu poloziek nebudem
ich vypisovat ale tie rozhodujuce su:

ID_ZAZN - primarny kluc
CJ - cislo jednacie
Rocnik - rocnik do ktoreho dane cislo jednacie patri.
..... - kopa poloziek ale tie teraz nehraju rolu
Poznamka - sem sa v povodnom zapise len uvedie, ze spis bol prevedeny do
dalsieho roka a nic ine sa s tym povodnym zaznamom nedeje. V novom zapise v
dalsom roku bude poznamka prazdna a ked by sa aj tento prelozil do dalsieho
roka tak by sa to dialo obdobne.

Preto som si myslel ze najjednoduchsie bude vytvorit jeho kopiu, zmenit v
nej len rocnik a v povodnom zazname do poznamky zapisat "Prevedene do
rokcnika xxxx" a hotovo.

Cely problem mam v tom, ze program mam uz hotovy a toto tam potrebujem
pridat. Robil som ho tak, ze mi funguje na Interbase a zaroven na Paradoxe
takze by to bol ako klient server tak aj file server - preto sa vyhybam
ulozenym proceduram a vsetkemu co si v Paradoxe nemozenm dovolit.

Neviem bude ti stacit tolko informacii?
Diky

Miro Mrazik


----- Original Message -----
From: "Hynek Svato�" <svatos(zv)kam(tec)czu(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Wednesday, December 20, 2000 5:57 PM
Subject: RE: Kopia zaznamu pomocou SQL


> Zdar a silu, nesmis byt tak skoupy na informace a prozradit nam,
> pro jakou db to potrebujes, a jak zhruba vypada ta tabulka ...
>
> Keep mailing :-)
> =======================
> Hynek Svato�
> svatos(zv)kam(tec)czu(tec)cz
> hynek.svatos(zv)atlas(tec)cz
> =======================
>
> > -----Original Message-----
> > From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> > MMrazik
> > Sent: Wednesday, December 20, 2000 3:42 PM
> > To: Delphi conf.
> > Subject: Kopia zaznamu pomocou SQL
> >
> >
> > Zdravim Vas,
> >
> > mam jednoduchu evidenciu. Potrebujem previest urceny zaznam z jedneho
roka
> > do druheho.
> > Prikazom UpDate - SQL zmenim teda v zazname prislusny rok a zaznam sa mi
> > automaticky
> > presunie do dalsieho roka. OK.
> > Lenze ja potrebujem ten povodny zaznam ponechat tak ako je, len do
jedneho
> > jeho pola pripisat ze zaznm je prevedeny do dalsieho roka. Takze
> > idealne by
> > bolo povodny zaznam skopirovat a v kopii zaznamu zmenit len rocnik, a v
> > povodnom zazname zapisat do prislusneho pola ze bol prevedeny do
dalsieho
> > rocnika.
> >
> > Problem je v tom, ze tabulka ma primarny kluc a ked by som chcel pridat
> > zaznam pomocou
> > prikazu INSERT s vnorenym prikazom SELECT tak mi to nedovoli,
> > lebo primarny
> > kluc by bol duplicitny.
> >
> > INSERT INTO DENNIK SELECT * FROM DENNIK WHERE ID_ZAZN = 123
> >
> > UPDATE ...
> > atd.
> >
> >
> > Neviete mi niekto poradit?
> > PS. Potrebujem to bez pouzitia ulozenych procedur.
> >
> > mm
> >
> >
> >
>
>

QR a tisk

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 20.12.2000 21:37:22



> Ahoj, uz jsem to tu posilal, ale zatim nevyreseno....
>
> Mam sestavu vytvorenou v QR a vychazi presne na stranku A4.
> Kdyz ji tisknu na Laserovce ci inkoustovce neni problem.
> Ale pokud ji tisknu na jehlickove, tak mi ji u konce kousek nevytiskne.
> Vysledek je ruzny pokud na stejnou tiskarnu pouziju jiny ovladac.

Mno a delka A4 je na tech jinych tiskarnach stejna jako na jehlickove?
Mozna bysme si mohli vymenit ovladace, me to prozmenu tiskne na jehlickach dobre
a na inkoustovce chybi konec :-))

Roman
OOOOOOOOOOOOOOOO
O icq #84229702
O sw.maurice(zv)cbox(tec)cz
O http://kouzelne.misto(tec)cz
OOOOOOOOOOOOOOOO


Access a BDE

[*] Marek Soukup <msoukup(zv)btt(tec)cz> - 20.12.2000 21:59:18

Ahoj,
jsem rad, ze se nekdo ozval, ale urcite existuje moznost vyresit muj problem
a zustat u TQuery a neprechazet na ADOExpres nebo cokoliv jineho.
Jde jen o to, jak pri instalaci udelat novy ODBC zaznam (neumi to Inno ?)
nebo proc nechodi Access pres BDE (co to vsechno potrebuje.

Marek Soukup

> ahoj,
>
> v tom pripade pak musis pouzit odpovidajici DB komponenty, treba
> ADOExpress,
> OLEDB apod.
> a ne ty v zalozce Data Access
>
> M.Jirman


Vyhladavanie v databaze

[*] Ivan Dulgerov <idulgerov(zv)atlas(tec)cz> - 20.12.2000 22:47:35

Zdravim vsetkych.

Mam jeden zaujimavy oriesok.
Vyhladavam v databaze Paradox v kolonke ,'Meno' pomocou funkcie
FindNeares asi takto :
procedure TFindTextForm.IndexComboBoxChange(Sender: TObject);
begin
MainForm.TableDiar.IndexName :=IndexComboBox.Text;
MainForm.TableDiar.FindNearest([FindEdit.Text]);.....atd. Vsetko ide ako po masle az do chvile ked ma niekto pred menom
titul, napr 'ing.Novak', alebo nieco podobneho. Vtedy funkcia
logicky ignoruje 'Novaka' , a najde len 'ing'.
Uvazoval som ze by bolo mozne vymysliet nieco na sposob
prehladavania textoveho buffera, podobne ako sa to robi pri
komponente TMemo, iba ze netusim ci je to mozne urobit aj
v databaze.
Neviete niekto ako na to.
S pozdravom :
Ivan Dulgerov
J.Straku 12
Bansk� �tiavnica
96900
SLOVAK REPUBLIC
tel. 421+ 0859/6920428

Jmeno souboru

[*] Hurricane <hurricane(zv)quick(tec)cz> - 20.12.2000 22:49:07

Zdravim

No, to neni tak docela pravda. Predpokladam, ze vzdy pujde o Windowsy (jedno
ktera verze), a FAT nebo NTFS disk nebo Sambu. Windowsy to zvladnou vzdy,
FAT a NTFS taky, ale jak jsem psal minule, u Samby se mohou vyskytnout
potize zejmena s cestinou.

Hurricane

----- Original Message -----
> > Jak muzu zjistit, jestli jednotka, na kterou chci ulozit
> > soubor podporuje
> > dlouhe nazvy souboru nebo jen format 8.3

> toto nezavisi od disku, ale od OS, ktorym sa na disk pristupuje.

OT: RE: Popup bez ukryti ZASE NIC

[*] Pavel Malinsk� <spiderland(zv)iol(tec)cz> - 20.12.2000 23:05:41

Ahoj,

co na tohle rict. Argument jako bejk...
Preci kdyz potrebuju definovat vychozi parametry
ci chovani at uz tveho letadla nebo jakehokoliv jineho
objektu, ktery ma mnoho moznosti tak to udelam
najednou v jednom dialogu. Popup menu preci
slouzi k rychlemu pristupu k nejake akci nebo
podobne a ne k nastaveni spousty parametru.
Tot moje uvahy na toto tema, ale at si to
kazdy dela jak chce. Hlavne to berte tak, ze
to nikomu necpu.

S pozdravem
=====================================
> Pavel Malinsky; spiderland(zv)iol(tec)cz <
>===================================<
> ...The Truth Is Out There... <
=====================================
GSM: 0602 652 203

> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> Roman
> Sent: Tuesday, December 19, 2000 11:20 PM
> To: delphi-l(zv)fwd(tec)cz
> Subject: Re: Popup bez ukryti ZASE NIC
>
>
> Obecne bych rekl, ze to neni vubec nestandartni chovani, tak
> napr. zobrazujes
> letadlo :-) typ letadla volis tlacitky a navic u kazdeho tlacitka
> mas popupmenu,
> ve kterem volis barvu, pri kliknuti na barvu se letadlo vybarvi..
> no uznej, ze
> zavirani je naskodu, kor dyz si rad hrajes s barvama :-)
> Resil jsem to vlastni komponentou (nebo snad formularem, musel
> bych pohledat),
> ktera vypadala jako klasicke popup (krom jineho).
>
> Roman
>
> > Ahoj,
> >
> > obecne bych rekl, ze je to dost nestadardni chovani.
> > Uzivatele nemaji radi SW kde se musi ucit nejakemu
> > zvlastnimu chovani. Kdybys napriklad ve sve aplikaci
> > pouzival pro kopirovani do schranky CTRL+V tak by
> > asi nikdo nebyl nadseny. Urcite by to slo resit jinak.
> > Na co to potrebujes?
>
> OOOOOOOOOOOOOOOO
> O icq #84229702
> O sw.maurice(zv)cbox(tec)cz
> O http://kouzelne.misto(tec)cz
> OOOOOOOOOOOOOOOO
>
>

INI v sifrovane podobe?

[*] Pavel Malinsk� <spiderland(zv)iol(tec)cz> - 20.12.2000 23:05:43

Ahoj,

jsem rad, ze nejsem sam kdo pouziva
ini timto zpusobem:).

S pozdravem
=====================================
> Pavel Malinsky; spiderland(zv)iol(tec)cz <
>===================================<
> ...The Truth Is Out There... <
=====================================
GSM: 0602 652 203

> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> Petr Fejfar
>
> <brant(zv)dcomm(tec)cz> wrote:
>
> > S tou tridou TCodeIniFile to neni
> > spatny napad, ale opet by bylo treba desifrovany soubor
> > ukladat na disk.
>
> Proc? Kdyz uz si napises vlastni tridu, tak si take udelej vlastni metodu
> Write/Read, jejiz soucasti je prislusne sifrovani/desifrovani.
>
> Tohle napr. pouzivame v pripadech, kdy jde o bezne pozadavky na bezpecnost
> (jsou-li zvysene, sifrujeme cely soubor). Polozka IAPSIG slouzi
> ke kontrole
> autenticity obsahu INI souboru na bazi message digest:
>
> [APPLICATION]
> IAPAPP=07BCAF29A6E235B6376508177B526FC7AB261E135C3F256BA8B321F9093E9669
> IAPBOL=4803D9B1D1E582871076CC4BA0A1EE2A1076CC4BA0A1EE2A1076CC4BA0A
> 1EE2A1076C
> C4BA0A1EE2A1076CC4BA0A1EE2A1076CC4BA0A1EE2A1076CC4BA0A1EE2A
> IAPBYT=974740DB7923A9C2BB6497FED54BDC05BB6497FED54BDC053EB1B559696
> 86B241076C
> C4BA0A1EE2A1076CC4BA0A1EE2A1076CC4BA0A1EE2A1076CC4BA0A1EE2A1076CC4
> BA0A1EE2A1
> 076CC4BA0A1EE2A1076CC4BA0A1EE2A1076CC4BA0A1EE2A1076CC4BA0A1EE2A107
> 6CC4BA0A1E
> E2A1076CC4BA0A1EE2A1076CC4BA0A1EE2A
> IAPTER=BEB5BB2191FB9C6E1076CC4BA0A1EE2A1076CC4BA0A1EE2A1076CC4BA0A
> 1EE2A1076C
> C4BA0A1EE2A1076CC4BA0A1EE2A1076CC4BA0A1EE2A1076CC4BA0A1EE2A
> IAPINI=E9A2F204A0F71F0723075AB82B877863
> IAPEMF=8A1810D37F07B680739286B6F5B49C39
> IAPSTK=C61357B9E9608FAAA3FB52F2E5ABCD2F
> IAPSIG=20A2EC10057A97ADB610824293C60143
>
> Bye, pf
>
>
>

Vyhladavanie v databaze

[*] Jaro <jaro(zv)sinea(tec)cz> - 21.12.2000 00:07:53

A co treba jednoduse pouzit
....
select ID where Meno like "%Novak%"
....
Pak uz hledas jen hodnotu ID (nejaky klic), coz je koneckoncu rychlejsi,
nebot
nemusis delat index na dlouhy texty. Takove indexy nejsou prilis efektivni
Jaro
> Zdravim vsetkych.
>
> Mam jeden zaujimavy oriesok.
> Vyhladavam v databaze Paradox v kolonke ,'Meno' pomocou funkcie
> FindNeares asi takto :
> procedure TFindTextForm.IndexComboBoxChange(Sender: TObject);
> begin
> MainForm.TableDiar.IndexName :=IndexComboBox.Text;
> MainForm.TableDiar.FindNearest([FindEdit.Text]);.....atd.
>
> Vsetko ide ako po masle az do chvile ked ma niekto pred menom
> titul, napr 'ing.Novak', alebo nieco podobneho. Vtedy funkcia
> logicky ignoruje 'Novaka' , a najde len 'ing'.
> Uvazoval som ze by bolo mozne vymysliet nieco na sposob
> prehladavania textoveho buffera, podobne ako sa to robi pri
> komponente TMemo, iba ze netusim ci je to mozne urobit aj
> v databaze.
> Neviete niekto ako na to.
> S pozdravom :
> Ivan Dulgerov
> J.Straku 12
> Bansk� �tiavnica
> 96900
> SLOVAK REPUBLIC
> tel. 421+ 0859/6920428
>
>
>
>

Kopia zaznamu pomocou SQL

[*] Petr Palicka <petr.palicka(zv)atlas(tec)cz> - 21.12.2000 00:31:46

ahoj

::::::
> Preto som si myslel ze najjednoduchsie bude vytvorit jeho
> kopiu, zmenit v
> nej len rocnik a v povodnom zazname do poznamky zapisat "Prevedene do
> rokcnika xxxx" a hotovo.

ja bych pridal polozku, do ktere bych si ulozil hodnotu stareho klice,
nebot hodnotu vlastniho klice musis zmenit. popripade si muzes pamatovat
v puvodni vete novy klic a v nove vete ponechat tuto polozku null. nebo
zavest dve polozky a pamatovat si jak stary, tak novy zaznam. timto
dosahnes zretezeni polozek. melo by to jit i provazat pres referencni
integritu, pak samozrejme staci jedina vazebni polozka.

::::::
> Cely problem mam v tom, ze program mam uz hotovy a toto tam potrebujem
> pridat. Robil som ho tak, ze mi funguje na Interbase a
> zaroven na Paradoxe

jestli to nepotrebujes pro dos, bylo by IMHO lepsi pdx opustit a
triggery a ulozene procedury ti to velmi usnadni.

::::::
> Neviem bude ti stacit tolko informacii?

no doufam :)

::::::
> Diky
> Miro Mrazik

neni zac

dekuji PeC(zv)

CU onTheFutureOfMatrix
MatriX.CyberSpace.Cz

/~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
|[smtp:petr.palicka(zv)atlas(tec)cz]|
|[smtp:peca(zv)email(tec)cz] |
\~~~~~~~~~~~~~~~~~~~~~~~~~~~~/

JCL pre Delphi 4 - SORRY

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 21.12.2000 02:20:20

From: "Olesia" <olesia(zv)idirect.com>
> Prosim vas, neviete mi poradit, hladala som JCL pre Delphi4
> Nasla som len pre Delphi 5, co je pre mna nevyhovujuce. Kde to mozem najst?

Ahoj,

JCL je kompatibilni s Delphi 4. Pouze v ni v soucasne verzi neni design time
balicek pro D4 (ktery potrebujes jen v pripade, ze mas nejake komponenty ktere
vyuzivaji tridy nebo funkce z JCL)

Petr Vones, amatersky programator


JCL pre Delphi 4 - SORRY

[*] Olesia <olesia(zv)idirect(tec)com> - 20.12.2000 19:55:04 -0800

Caute

Prosim vas, neviete mi poradit, hladala som JCL pre Delphi4
Nasla som len pre Delphi 5, co je pre mna nevyhovujuce. Kde to mozem najst?
Alebo som mozno zle hladala?

Lelitka


P.S. Ospravedlnujem sa vsetkym za duplikaciu, nahodou sa mi to podarilo
zbabrat.
Asi som prepracovana ci co. Takze sa nehnevajte velmi, ok? :-)

Kopia zaznamu pomocou SQL

[*] Olesia <olesia(zv)idirect(tec)com> - 20.12.2000 21:08:18 -0800

S Interbase som nerobila uz velmi davno, ale v Oracle na primary key
pouzivam sequence
teda by to vyzeralo

INSERT INTO DENNIK SELECT id_zazn_seqno.nextval, cj, rocnik, ... , poznamka
FROM DENNIK WHERE ID_ZAZN = 123
presne v poradi v akom su nadefinovane fieldy v tabulke.

Ked to robis na cliente, mozes zistit max(id_zazn) a potom ist po cykle

with query do
begin
SQL.text:='select max(id_zazn) zaznamik from dennik';
Execute;
max_field:=field('zaznamik');
end
i:=0;
Dennik.Open;
Dennik.First;
while Dennik.FieldByName('id_zazn').AsInteger<=max_field do
begin
inc(i);
query.SQl.Text:='insert into dennik SELECT '+StrToInt(max_field+i)+' cj,
rocnik, ... , poznamka FROM DENNIK WHERE ID_ZAZN='+
Dennik.FieldByName('id_zazn').AsString;
query.Execute;
Dennik.Next;
end;

kedze nie som si ista, ci funguju v paradoxe transakcie,asi podla mna by to
bol najjednoduchsi sposob.

Ale ja by som proste zmenila v tabulke Dennik Primaky Key z id_zaznam na
(id_zaznam + rocnik), potom by sa ti s tym jednoduchsie narabalo,ale
asi by si to musel prerabat v programe co?


Doma nemam ziadnu interbase databazu, ale skusila som to s employee table z
demos databazy

insert into employee
select max(a1.empno)+1, a2.lastname, a2.firstname, a2.phoneext,
a2.hiredate,11 from
employee a1, employee a2 where a2.empno=2 group by
a2.lastname, a2.firstname, a2.phoneext, a2.hiredate,a2.salary

kde 11 by bola v tvojom pripade poznamka

takze u seba by si mal urobit asi nasledovne:

insert into Dennik select max(a1.id_zaznam)+1, a2.cj, a2.rocnik,...,
a2.poznamka from dennik a1, dennik a2 where a2.id_zaznam=123
group by a2.cj,a2.rocnik,..., a2.poznamka

Good luck!

Lelitka

> >
> > UPDATE .

-----Original Message-----
From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
MMrazik
Sent: Wednesday, December 20, 2000 12:25 PM
To: delphi-l(zv)fwd(tec)cz
Subject: Re: Kopia zaznamu pomocou SQL


Ahoj,
mozno som dal malo informacii. Ide o tzv. podaci dennik - evidencia
pisomnosti. Je to knuiha, kde sa kazdy zapis aj ked je neplatny musi skrtnut
a uviest v poznamke preco je neplatny.

No databazi to musi ostat zachovane. Takze tabulka ma kopu poloziek nebudem
ich vypisovat ale tie rozhodujuce su:

ID_ZAZN - primarny kluc
CJ - cislo jednacie
Rocnik - rocnik do ktoreho dane cislo jednacie patri.
..... - kopa poloziek ale tie teraz nehraju rolu
Poznamka - sem sa v povodnom zapise len uvedie, ze spis bol prevedeny do
dalsieho roka a nic ine sa s tym povodnym zaznamom nedeje. V novom zapise v
dalsom roku bude poznamka prazdna a ked by sa aj tento prelozil do dalsieho
roka tak by sa to dialo obdobne.

Preto som si myslel ze najjednoduchsie bude vytvorit jeho kopiu, zmenit v
nej len rocnik a v povodnom zazname do poznamky zapisat "Prevedene do
rokcnika xxxx" a hotovo.

Cely problem mam v tom, ze program mam uz hotovy a toto tam potrebujem
pridat. Robil som ho tak, ze mi funguje na Interbase a zaroven na Paradoxe
takze by to bol ako klient server tak aj file server - preto sa vyhybam
ulozenym proceduram a vsetkemu co si v Paradoxe nemozenm dovolit.

Neviem bude ti stacit tolko informacii?
Diky

Miro Mrazik


----- Original Message -----
From: "Hynek Svato�" <svatos(zv)kam(tec)czu(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Wednesday, December 20, 2000 5:57 PM
Subject: RE: Kopia zaznamu pomocou SQL


> Zdar a silu, nesmis byt tak skoupy na informace a prozradit nam,
> pro jakou db to potrebujes, a jak zhruba vypada ta tabulka ...
>
> Keep mailing :-)
> =======================
> Hynek Svato�
> svatos(zv)kam(tec)czu(tec)cz
> hynek.svatos(zv)atlas(tec)cz
> =======================
>
> > -----Original Message-----
> > From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> > MMrazik
> > Sent: Wednesday, December 20, 2000 3:42 PM
> > To: Delphi conf.
> > Subject: Kopia zaznamu pomocou SQL
> >
> >
> > Zdravim Vas,
> >
> > mam jednoduchu evidenciu. Potrebujem previest urceny zaznam z jedneho
roka
> > do druheho.
> > Prikazom UpDate - SQL zmenim teda v zazname prislusny rok a zaznam sa mi
> > automaticky
> > presunie do dalsieho roka. OK.
> > Lenze ja potrebujem ten povodny zaznam ponechat tak ako je, len do
jedneho
> > jeho pola pripisat ze zaznm je prevedeny do dalsieho roka. Takze
> > idealne by
> > bolo povodny zaznam skopirovat a v kopii zaznamu zmenit len rocnik, a v
> > povodnom zazname zapisat do prislusneho pola ze bol prevedeny do
dalsieho
> > rocnika.
> >
> > Problem je v tom, ze tabulka ma primarny kluc a ked by som chcel pridat
> > zaznam pomocou
> > prikazu INSERT s vnorenym prikazom SELECT tak mi to nedovoli,
> > lebo primarny
> > kluc by bol duplicitny.
> >
> > INSERT INTO DENNIK SELECT * FROM DENNIK WHERE ID_ZAZN = 123
> >
> > UPDATE ...
> > atd.
> >
> >
> > Neviete mi niekto poradit?
> > PS. Potrebujem to bez pouzitia ulozenych procedur.
> >
> > mm
> >
> >
> >
>
>

Registry

[*] Bene� Jaroslav <JBenes(zv)cpoj(tec)cz> - 21.12.2000 06:22:41

Ahoj,

prosim, jak vlozim do registru binarni data cca 4kB velka ? Byl by
prikladek ?

Dekuji

Jaro B.

Vybarveni RichEditu

[*] Igor Vodieka <vodicka(zv)sagit(tec)cz> - 21.12.2000 07:07:03

Ahoj.
Editory tohoto typu jsou zalozeny zrejme na podobnych komponentach jako
PlusMemo.
Hledej zde:
http://www.scientifique.com/ecm
http://www3.sympatico.ca/ecm
Jsou sice placene, ale resi tvuj problem. Daji se k nim stahnout rozsireni
pro rezervovane slova HTM jazyka, pascalu apod. Pro psani editoru
programovacich jazyku jsou idealni.


Ing. Igor Vodicka
informacni systemy

Nakladatelstvi Sagit, Horni 1, 700 30 Ostrava-Hrabuvka
Tel.: 069 353 062, Fax: 069 357 758
Mailto:vodicka(zv)sagit(tec)cz
Http:\\www.sagit(tec)cz\> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On
> Behalf Of Vladimir Foret
> Sent: Wednesday, December 20, 2000 1:42 PM
> To: delphi-l(zv)fwd(tec)cz
> Subject: Vybarveni RichEditu
>
>
> Dobry den.
> S Delphi teprve zacinam, presel jsem z VB6, protoze chci delat
> aplikace tak, aby nekomplikovali zivot jejich uzivatelum, coz s
> runtime knihovnami VB neslo...
>
> Vytvarim HTML editor. Ve VB jsem udelal alespon zakladni barevne
> rozliseni syntaxe zalozene na funkcich seltext, selcolor apod., tzn.
> ze jsem musel vytvorit funkci, ktera projela cely text a hledala
> znaky < a > a text mezi nimi vybarvila. Tento zpusob je vsak strasne
> pomaly zvlaste kdyz je malo pameti. Znam nekolik HTML editoru
> vytvorenych prave v Delphi (napr. klasika - EasyPad), kde k vybarveni
> ci odbarveni syntaxe dojde ihned a to i na systemech s pomerne malou
> pameti.
>
> Poradte mi, prosim, jak toho dosahnout v me aplikaci.
>
> Za vsechny rady predem dekuji a omlouvam se za delku sveho dotazu :-)
>
> ---
> Poichozi zprava neobsahuje viry.
> Zkontrolovano antivirovym systemem AVG (http://www.grisoft(tec)cz).
> Verze: 6.0.217 / Virova baze: 102 - datum vydani: 1.12.2000
>
---
Odchozi zprava neobsahuje viry.
Zkontrolovano antivirovym systemem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.217 / Virova baze: 102 - datum vydani: 1.12.2000


OLE - tlacenie cez Word

[*] Peter Vlkovic <vlkovic(zv)minv.sk> - 21.12.2000 07:14:52

Ahoj,

pri tlaci cez MS Word s vyuzitim OLE sa mi vyskytol
nasledovny problem.

Po uspesnom odoslani dokumentu k tlaci, a pokuse
zavriet Word ostane tento "visiet" s dialogom:
"Nemuzete ukoncit word, protoze je aktivni nejaky dialog..."
a pod nim je dalsi dialog:
"Prave se tiskne. Ukonceni prace programu Word
zrusi vsechny neukoncene tiskove ulohy..."

Poznamenavam, ze tlacim na _pozadi_ takze Word aj
s jeho dialogmi uzivatel nevidi.


Mam nasledovne otazky:
1. Da sa cez OLE nejako zistit, ze Word uz ukoncil tlacovu ulohu?

2. (Resp.) da sa "poslat" z Delphi dotycnym dialogom prislusna
odpoved (napr.zavretie dialogu) a nasledne skusat Word
opatovne uzavriet?

3. Kde by som sa o moznostiach OLE (t.j. dostupnych prikazov
s popisom, najlepsie aj s prikladmi pre Delphi) vo vztahu
k Wordu mohol dozvediet viac? Presnoril som Internet
krizom-krazom, ale vela som toho nenasiel.


Aspon na ukazku tlac vyzera priblizne takto:

Word := CreateOleObject ( 'Word.Basic' );
Word.FileOpen ( Name := DocumentName, ReadOnly := True );
Word.FilePrint ( NumCopies := PocetKopii, Range:=4,
Pages:=IntToStr(NumPage) );
Word.ToolsOptionsPrint ( Background := 1 ); // aby dokoncil tlac aj po
zavreti Wordu
Word.DocClose(0);
Word.AppClose; // zavre aplikaciu


Vlkovic


Kopia zaznamu pomocou SQL

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 21.12.2000 07:28:52

> Ahoj,
> mozno som dal malo informacii. Ide o tzv. podaci dennik - evidencia
> pisomnosti. Je to knuiha, kde sa kazdy zapis aj ked je neplatny musi
> skrtnut a uviest v poznamke preco je neplatny.
>
> No databazi to musi ostat zachovane. Takze tabulka ma kopu poloziek
> nebudem ich vypisovat ale tie rozhodujuce su:
>
> ID_ZAZN - primarny kluc
> CJ - cislo jednacie
> Rocnik - rocnik do ktoreho dane cislo jednacie patri.
> ..... - kopa poloziek ale tie teraz nehraju rolu
> Poznamka - sem sa v povodnom zapise len uvedie, ze spis bol prevedeny
> do dalsieho roka a nic ine sa s tym povodnym zaznamom nedeje. V novom
> zapise v dalsom roku bude poznamka prazdna a ked by sa aj tento
> prelozil do dalsieho roka tak by sa to dialo obdobne.
>
> Preto som si myslel ze najjednoduchsie bude vytvorit jeho kopiu,
> zmenit v nej len rocnik a v povodnom zazname do poznamky zapisat
> "Prevedene do rokcnika xxxx" a hotovo.
>
> Cely problem mam v tom, ze program mam uz hotovy a toto tam potrebujem
> pridat. Robil som ho tak, ze mi funguje na Interbase a zaroven na
> Paradoxe takze by to bol ako klient server tak aj file server - preto
> sa vyhybam ulozenym proceduram a vsetkemu co si v Paradoxe nemozenm
> dovolit.
>
> Neviem bude ti stacit tolko informacii?

Uprimne receno postradam jednu zasadni informaci - kdo se stara
o generovani hodnoty primarniho klice. Jestli generator, takze ho v
insert prikazu vubec neuvadis, nebo jestli si ho musis nejak
vymyslet...
Obecne nemuzes mit dva zaznamy se stejnym ID_ZAZN,
protoze to by primarni index tak, jak je navrzeny, neplnil ukol
primarniho klice - jednoznacna identifikace radku. Cili, jak uz tu
nekdo psal - bud rozsirit primarni klic i na rocnik, nebo kopii Tveho
zaznamu dat jine ID_ZAZN.
V druhem pripade pripade varuji pred tvorbou ID_ZAZN pomoci
max + 1 - to nevyjde v pripade, kdy temer soucasne s tvou upravou
nekdo jiny vlozi novy radek.

David Lebeda

> Diky
>
> Miro Mrazik
>
>
> ----- Original Message -----
> From: "Hynek Svato�" <svatos(zv)kam(tec)czu(tec)cz>
> To: <delphi-l(zv)fwd(tec)cz>
> Sent: Wednesday, December 20, 2000 5:57 PM
> Subject: RE: Kopia zaznamu pomocou SQL
>
>
> > Zdar a silu, nesmis byt tak skoupy na informace a prozradit nam, pro
> > jakou db to potrebujes, a jak zhruba vypada ta tabulka ...
> >
> > Keep mailing :-)
> > =======================
> > Hynek Svato�
> > svatos(zv)kam(tec)czu(tec)cz
> > hynek.svatos(zv)atlas(tec)cz
> > =======================
> >
> > > -----Original Message-----
> > > From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On
> > > Behalf Of MMrazik Sent: Wednesday, December 20, 2000 3:42 PM To:
> > > Delphi conf. Subject: Kopia zaznamu pomocou SQL
> > >
> > >
> > > Zdravim Vas,
> > >
> > > mam jednoduchu evidenciu. Potrebujem previest urceny zaznam z
> > > jedneho
> roka
> > > do druheho.
> > > Prikazom UpDate - SQL zmenim teda v zazname prislusny rok a zaznam
> > > sa mi automaticky presunie do dalsieho roka. OK. Lenze ja
> > > potrebujem ten povodny zaznam ponechat tak ako je, len do
> jedneho
> > > jeho pola pripisat ze zaznm je prevedeny do dalsieho roka. Takze
> > > idealne by bolo povodny zaznam skopirovat a v kopii zaznamu zmenit
> > > len rocnik, a v povodnom zazname zapisat do prislusneho pola ze
> > > bol prevedeny do
> dalsieho
> > > rocnika.
> > >
> > > Problem je v tom, ze tabulka ma primarny kluc a ked by som chcel
> > > pridat zaznam pomocou prikazu INSERT s vnorenym prikazom SELECT
> > > tak mi to nedovoli, lebo primarny kluc by bol duplicitny.
> > >
> > > INSERT INTO DENNIK SELECT * FROM DENNIK WHERE ID_ZAZN = 123
> > >
> > > UPDATE ...
> > > atd.
> > >
> > >
> > > Neviete mi niekto poradit?
> > > PS. Potrebujem to bez pouzitia ulozenych procedur.
> > >
> > > mm
> > >
> > >
> > >
> >
> >
>

ZEOS Library

[*] KadaneM(zv)sdc.pce.cdrail(tec)cz - 21.12.2000 07:41:33

No zat�m nejlep�� co jsem m�l tak to jsou ADO komponenty z DELPHI 5 Cli/Srv,
jsou tam i zdroj�ky tak �e se daj� p�ikompilovat i do DELPHI 5 prof.

-----Original Message-----
From: i x o [mailto:ixo(zv)gol-tip.sk]
Sent: Wednesday, December 20, 2000 2:29 PM
To: DELPHI f�rum
Subject: ZEOS Library


Ahojte,

na http://www.zeos.dn.ua/eng/index.html su komponenty na pristup k
MySql, PostgreSql, InterBase, Oracle a MicrosoftSQL

Ake su Vase skusenosti s nimi ?

NORO.

ODBC, ADO, MSACCESS - komprimacia tabulky

[*] Miroslav Barica <miroslav.barica(zv)matador.sk> - 21.12.2000 07:48:13

omylom som vyvalil spravu, kde danil pise ze sa mu nepodarilo
skomprimovat databazu ktora je v adresari obsahujucom medzeru.
a co takto? ;o)
.
.
ok:=_TSQLConfigDataSource(fnc)(0,ODBC_CONFIG_DSN,
AccessDriver,'COMPACT_DB="C:\po kus\1.mdb" C:\11.mdb');
. ^^^^^^^^^^^^^^^^^
.


-----Original Message-----
From: Daniel Rott [mailto:roxton(zv)atlas(tec)cz]
Sent: Wednesday, December 20, 2000 11:29 AM
To: delphi-l(zv)fwd(tec)cz
Subject: Re: ODBC, ADO, MSACCESS - komprimacia tabulky


From: Jiri Kral <admin(zv)printo(tec)cz>
> Mohl by nekdo prosim, napsat konkretni kousek kodu z Delphi (5), ktery
> provede kompresi nejakeho .MDB? Vcetne napsani potrebnych unitu/DLL.
> Stale se mi nedari toto rozchodit.

No dobra. Vytahl jsem to tak, aby to nepotrebovalo zadnou dalsi unitu a
bylo to tedy "pruzracne" :-)

const OdbcCpDll='odbccp32.dll'; // ODBC Control Panel

type _TSQLConfigDataSource=function(
hwndParent:HWND;
fRequest:WORD;
lpszDriverString:LPCSTR;
lpszAttributes:LPCSTR
):BOOL; stdcall;

const ODBC_CONFIG_DSN = 2;

const AccessDriver='Microsoft Access Driver (*.mdb)';

procedure TForm1.Button1Click(Sender: TObject);
var hCP:THANDLE; // ODBC Control Panel
fnc:Pointer;
ok:Boolean;
begin
hCP:=LoadLibrary(OdbcCpDLL);
if hCP=0 then RaiseLastWin32Error;
try
fnc:=Windows.GetProcAddress(hCP,'SQLConfigDataSource');
ok:=_TSQLConfigDataSource(fnc)(0,ODBC_CONFIG_DSN,
AccessDriver,'COMPACT_DB=C:\Old.mdb C:\New.mdb');
if not(ok) then raise Exception.Create('failed');
finally
if not(FreeLibrary(hCP)) then RaiseLastWin32Error;
end;
Button1.Caption:='OK';
end;

Takhle mi to funguje (overeno !). Cilova databaze nesmi existovat,
jinak to nadava nejake divne hlasky (ty lze precist pomoci volani
funkce SQLInstallerError ve stejne DLL).

Daniel
------------------------------------------------------
Daniel Rott - roxton(zv)volny(tec)cz
http://www.volny(tec)cz/roxton
Some minor bugs/features fixed/added

JCL pre Delphi 4 - SORRY

[*] Olesia <olesia(zv)idirect(tec)com> - 20.12.2000 23:01:43 -0800

Ahoj,


Lenze ono mi to krici, ze nemam vcl5, kedze som predpokladala,
ze je to delphi5 subor, ani som nesla dalej


V zipe mam len package pre delphi5
Asi som nieco zle downloadla.
Nemas nahodou presny link, kde si to mozem stiahnut?

Diky,


Lelitka

-----Original Message-----
From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of Petr
Vones
Sent: Wednesday, December 20, 2000 5:20 PM
To: delphi-l(zv)fwd(tec)cz
Subject: Re: JCL pre Delphi 4 - SORRY


From: "Olesia" <olesia(zv)idirect.com>
> Prosim vas, neviete mi poradit, hladala som JCL pre Delphi4
> Nasla som len pre Delphi 5, co je pre mna nevyhovujuce. Kde to mozem
najst?

Ahoj,

JCL je kompatibilni s Delphi 4. Pouze v ni v soucasne verzi neni design time
balicek pro D4 (ktery potrebujes jen v pripade, ze mas nejake komponenty
ktere
vyuzivaji tridy nebo funkce z JCL)

Petr Vones, amatersky programator


OT: DOS/win31 <--> WIN95 po ethernetu

[*] Kalhous Zdenek <zdenek.kalhous(zv)comarr(tec)cz> - 21.12.2000 08:05:16

Jestli skutecne jde o to aby z W98 bylo videt na W3.11 tak
nemuze byt problem (opacne ano pokud na W98 je sprava velkych
disku). Pokud chces byt naprosto bez obav, myslim ze je
nejvhodnejsi i do 3.11 doinstalovat TCP/IP. Samozrmo se to musi
propojit zkrizenym kabelem.

On 20 Dec 2000, at 7:43, Jiri Kral wrote:

Od: "Jiri Kral" <admin(zv)printo(tec)cz>
Komu: <delphi-l(zv)fwd(tec)cz>
V�c: OT: DOS/win31 <--> WIN95 po ethernetu
Datum odesl�n�: Wed, 20 Dec 2000 07:43:33 +0100
Po�tovn� prog.: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
Odpov�� kam: delphi-l(zv)fwd(tec)cz

> Ahoj kolegove,
>
> vi nekdo jestli (a jak) lze vyresit peer2peer propojeni pomoci
> 10base-10 site mezi starym notebookem s DOS 6.22/Win 3.11 a desktopem
> s Win98? Fcni sitove karty mam, ale nevim zda se vubec daji mezi
> temito OS primo sdilet data. Stacilo by aby z Win98 byly videt slozky
> z DOSu/W31 toho notebooku.
>
> diky za info
>
>
> ==========================================================
> Bc. Jiri Kral
> administrator IT
> tiskarna Printo, spol. s r.o.
> e-mail: admin(zv)printo(tec)cz
> mobil e-mail: jirka.kral(zv)click(tec)cz
> ICQ# 15303940
> PGP ID: 0x15AD9FB8 (najdete na www.pgp(tec)cz)
>
> >>-----Original Message-----
> >>From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf
> >>Of Miroslav Barica Sent: Friday, December 08, 2000 8:26 AM To:
> >>delphi-l(zv)fwd(tec)cz Subject: RE: ODBC, ADO, MSACCESS - komprimacia
> >>tabulky
> >>
> >>
> >>hmmmm, tak to skusam, vyhlasuje too many actual parameters, divam sa
> >>do helpu, citam:
> >>
> >>To perform data compaction on a database file programmatically,
> >>include "COMPACT_DB=<source db> <dest db> <sort order>" in the list
> >>of attributes (lpszAttributes) of the SQLConfigDataSource function.
> >> ^^^^^^^^^^^^^^^^^
> >> kde su tieto parametre funkcie popisane,
> >>prosim ta?
> >>
> >>-----Original Message-----
> >>From: Daniel Rott [mailto:roxton(zv)atlas(tec)cz]
> >>Sent: Thursday, December 07, 2000 2:49 PM
> >>To: delphi-l(zv)fwd(tec)cz
> >>Subject: Re: ODBC, ADO, MSACCESS - komprimacia tabulky
> >>
> >>
> >>> dik pozrem, ale rad by som tuto funkciu volal z aplikacie, moc
> >>> skusenosti s ODBC nemam, trapim sa s tym len druhy den
> >>
> >>Jisteze se vola z aplikace. Odkud jinud ? Bezne pouzivam stejny
> >>prikaz s parametrem CREATE_DB=<db>, pro vytvoreni databaze. ADO vsak
> >>neznam, pouzivam primo ODBC API (tj. ODBC32.DLL, i kdyz zrovna tahle
> >>funkce je z ODBCCP32.DLL (ovladaci panel)).
> >>
> >>Daniel
> >>
> >>-----Original Message-----
> >>From: Daniel Rott [mailto:roxton(zv)atlas(tec)cz]
> >>Sent: Thursday, December 07, 2000 10:45 AM
> >>To: delphi-l(zv)fwd(tec)cz
> >>Subject: Re: ODBC, ADO, MSACCESS - komprimacia tabulky
> >>
> >>
> >>> ako skomprimujem databazu???
> >>V ODBC to jde pomoci funkce SQLConfigDataSource,
> >>takze nejak takto:
> >>
> >>SQLConfigDataSource(0,ODBC_CONFIG_DSN,
> >> 'Microsoft Access Driver (*.mdb)',
> >> 'COMPACT_DB=<source db> <dest db> <sort order>');
> >>
> >>Podrobnosti jsou popsany v ODBCJET.HLP
> >>
> >>Daniel
> >>------------------------------------------------------
> >>Daniel Rott - roxton(zv)volny(tec)cz
> >>http://www.volny(tec)cz/roxton
> >>Some minor bugs/features fixed/added
> >>
> >>
> >>
> >>
>
>


Z.Kalhous


OT: DOS/win31 <--> WIN95 po ethernetu

[*] Kalhous Zdenek <zdenek.kalhous(zv)comarr(tec)cz> - 21.12.2000 08:07:16

Myslim ze je to trochu jinak. DOS klient umi koukat ven ale ne
nabizet vlastni prostredky ke sdileni.
On 20 Dec 2000, at 13:33, Vaclav Sazima wrote:

Datum odesl�n�: Wed, 20 Dec 2000 13:33:23 +0100
Od: Vaclav Sazima <sazima(zv)comp(tec)cz>
Po�tovn� prog.: Mozilla 4.74 [en] (Win95; U)
Komu: delphi-l(zv)fwd(tec)cz
V�c: Re: OT: DOS/win31 <--> WIN95 po ethernetu
Odpov�� kam: delphi-l(zv)fwd(tec)cz

> Ahoj,
> pokud bezi w3.11, nemel by to byt zadny problem. Aby Ti to fungovalo
> kdyz bezi jenom DOS, je treba doinstalovat WFW add on dos (tak nejak).
> Je to jedna disketa a sw na ni umoznuje sdileni pod DOS. Kdyso jsem to
> stahnul i z www.microsoft.com.
>
> Jiri Kral wrote:
> >
> > Ahoj kolegove,
> >
> > vi nekdo jestli (a jak) lze vyresit peer2peer propojeni pomoci
> > 10base-10 site mezi starym notebookem s DOS 6.22/Win 3.11 a
> > desktopem s Win98? Fcni sitove karty mam, ale nevim zda se vubec
> > daji mezi temito OS primo sdilet data. Stacilo by aby z Win98 byly
> > videt slozky z DOSu/W31 toho notebooku.
> >
> > diky za info
> >
> > ==========================================================
> > Bc. Jiri Kral
> > administrator IT
> > tiskarna Printo, spol. s r.o.
> > e-mail: admin(zv)printo(tec)cz
> > mobil e-mail: jirka.kral(zv)click(tec)cz
> > ICQ# 15303940
> > PGP ID: 0x15AD9FB8 (najdete na www.pgp(tec)cz)
> >
> > >>-----Original Message-----
> > >>From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On
> > >>Behalf Of Miroslav Barica Sent: Friday, December 08, 2000 8:26 AM
> > >>To: delphi-l(zv)fwd(tec)cz Subject: RE: ODBC, ADO, MSACCESS - komprimacia
> > >>tabulky
> > >>
> > >>
> > >>hmmmm, tak to skusam, vyhlasuje too many actual parameters, divam
> > >>sa do helpu, citam:
> > >>
> > >>To perform data compaction on a database file programmatically,
> > >>include "COMPACT_DB=<source db> <dest db> <sort order>" in the
> > >>list of attributes (lpszAttributes) of the SQLConfigDataSource
> > >>function.
> > >> ^^^^^^^^^^^^^^^^^
> > >> kde su tieto parametre funkcie
> > >> popisane,
> > >>prosim ta?
> > >>
> > >>-----Original Message-----
> > >>From: Daniel Rott [mailto:roxton(zv)atlas(tec)cz]
> > >>Sent: Thursday, December 07, 2000 2:49 PM
> > >>To: delphi-l(zv)fwd(tec)cz
> > >>Subject: Re: ODBC, ADO, MSACCESS - komprimacia tabulky
> > >>
> > >>
> > >>> dik pozrem, ale rad by som tuto funkciu volal z aplikacie, moc
> > >>> skusenosti s ODBC nemam, trapim sa s tym len druhy den
> > >>
> > >>Jisteze se vola z aplikace. Odkud jinud ? Bezne pouzivam stejny
> > >>prikaz s parametrem CREATE_DB=<db>, pro vytvoreni databaze. ADO
> > >>vsak neznam, pouzivam primo ODBC API (tj. ODBC32.DLL, i kdyz
> > >>zrovna tahle funkce je z ODBCCP32.DLL (ovladaci panel)).
> > >>
> > >>Daniel
> > >>
> > >>-----Original Message-----
> > >>From: Daniel Rott [mailto:roxton(zv)atlas(tec)cz]
> > >>Sent: Thursday, December 07, 2000 10:45 AM
> > >>To: delphi-l(zv)fwd(tec)cz
> > >>Subject: Re: ODBC, ADO, MSACCESS - komprimacia tabulky
> > >>
> > >>
> > >>> ako skomprimujem databazu???
> > >>V ODBC to jde pomoci funkce SQLConfigDataSource,
> > >>takze nejak takto:
> > >>
> > >>SQLConfigDataSource(0,ODBC_CONFIG_DSN,
> > >> 'Microsoft Access Driver (*.mdb)',
> > >> 'COMPACT_DB=<source db> <dest db> <sort order>');
> > >>
> > >>Podrobnosti jsou popsany v ODBCJET.HLP
> > >>
> > >>Daniel
> > >>------------------------------------------------------
> > >>Daniel Rott - roxton(zv)volny(tec)cz
> > >>http://www.volny(tec)cz/roxton
> > >>Some minor bugs/features fixed/added
> > >>
> > >>
> > >>
> > >>


Z.Kalhous


Trigger

[*] Parizsky Ladislav <Parizsky(zv)access-it(tec)cz> - 21.12.2000 08:36:07

Cau,
jeste jsem nedelal s zadnym triggerem. Muze mi nekdo rict jak udelam trigger kterej mi vyvola udalost pokud se v tabulce zmeni pocet zaznamu ?

Dik Ladap


IP Adresa

[*] Jano <jj_delphi(zv)ke.ubp.sk> - 21.12.2000 08:42:58

>| to co chces mas v priklade "DNSLookUp" ku komponentam od Fran�ois-a
>| PIETTE-ho
>| http://www.rtfm.be/fpiette
>|
>| Description: Demonstrate how to use TWSocket to asynchroneously resolve
a
>| host name to an IP address.
>|
>| akusil som to a vracia mi IP: 212.27.196.82
>
>Promin, ale hovorime opacnom postupe z 212.27.196.82 potrebujem www.film(tec)cz
>;-)


Hoooop, nedopisal som to ;-( ...je to priklad na zistenie "adresa -> IP" a
aj opacne "IP -> adresa". Aby ste sa ujednotili, skusil som to a toto je
vysledok:

adresa: www.film(tec)cz
vrati mi: "212.27.196.82"

IP "212.27.196.82"
vrati mi: "mikroservis.sro(tec)cz"

IP "212.27.196.8"
vrati mi: "db.globe(tec)cz"

Jano

>
> Pavol Kaka�ka
> kasix(zv)atlas(tec)cz
>
>| >Ahoj,
>| >
>| >Diky vsetkym. Toto sa mi uz podarilo rozhybat ale este stale to neni
ono.
>| >
>| >Mam adresu napr: "www.film(tec)cz" cez DOS ping si zistim IP =
>"212.27.196.82"
>| >
>| >a ked toto dam do tej funckie (...gethostbyaddr...) tak vysledok z
>| >host^.h_name je "db.globe(tec)cz".
>| >Ale kde sa skryva www.film(tec)cz ?
>| >
>| > Pavol Kaka�ka
>| > kasix(zv)atlas(tec)cz
>| >
>| >
>| >
>| >
>| >>>Sorry, dej do treba do create
>| >
>| >procedure TForm1.FormCreate(Sender: TObject);
>| >var
>| > Return : longint;
>| >begin
>| > Return:=WSAStartup($101, WSData);
>| >end;
>| >
>| >David Hrbac
>| >
>| >> -----Original Message-----
>| >>
>| >> procedure TForm1.Button1Click(Sender: TObject);
>| >> var
>| >> a : integer;
>| >> Host : PHostEnt;
>| >> begin
>| >> a:=inet_addr(Pchar(Edit1.text));
>| >> host:=gethostbyaddr((zv)a,4,PF_INET);
>| >> if host=nil then
>| >> Label1.Caption:='Chyba'
>| >> else
>| >> Label1.Caption:=host^.h_name;
>| >> end;
>| >>
>| >
>| >
>| >
>| >
>|
>|
>|
>
>

OT: Random na jinyhch OS :-)

[*] azeleny(zv)csas(tec)cz - 21.12.2000 08:48:02

DDV,

na adrese http://underground(tec)cz/532 najdete docela pekny poipis toho, jak
dela kernel linuxu zarizeni prom tvorbu nahodnych cisel - Ma to jednu vyhodu
- vyuziva udalosti v systemu, o kterych kompilator konkretniho jazyka nemuze
mit ani tucha.

Jen tak, kdyby nekdo chtel napsat nejaky programek naveseny na OS...,
RandomService.exe odkud by se data cetla bud pres pipe, nebo TCP/IP.

Pro zamysleni, zadny flame war nechci vyvolat.

Pekny den!

a.

IP Adresa

[*] David Hrbac <hrbac.conf(zv)seznam(tec)cz> - 21.12.2000 08:54:17

podivej se poradne na hosten strukturu je tam polozka h_aliases to by mohlo
byt ono...

viz http://msdn.microsoft.com/library/psdk/winsock/strucetc_8lbm.htm

David H.

> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> Sula Milos
> Sent: Wednesday, December 20, 2000 1:27 PM
> To: 'delphi-l(zv)fwd(tec)cz'
> Subject: RE: IP Adresa
>
>
> no tak tam asi virtualni server. Tj. db.globe(tec)cz a www.film(tec)cz
> maji stejnou
> IP adresu. tj. napr. www.film(tec)cz odkazuje na stejnou IP tj. na
> stejny server
> ale WWW server ten pozadavek prohlizece presmeruje na jiny
> adresar (pozna to
> podle prave tohoto jmena serveru ktere je posilano v pozadavku na
> stranku na
> danou IP adresu).
> no snad jsem te nepomotal, ale proste vsechny jmena pro danou IP
> adresu asi
> pres gethostaddr nepujdou zjistit ale nevim to jiste


Sweep na IB6 a fetch

[*] Pavel Cisar <pcb(zv)atlas(tec)cz> - 21.12.2000 09:15:27

Haj hou!

On 20 Dec 2000,, David Lebeda wrote:

> necht mam IB6 a aplikaci, ktera ma trvale zobrazeny DBGrid a
> krome toho ta aplikace provadi i SQL prikazy v jinych transakcich.
> Pokud veci dobre rozumim, tak si koleduji o to, ze az tech
> transakci bude hodne (sweep interval), IB server provede sweep,
> coz je vec, ktera patrne na jistou dobu zahlti ten server.
> Pomohlo by, kdybych na te transakci, v ramci ktere jsou videt
> data v DBGridu, delal obcas CommitRetaining, nebo je nutne
> udelat Commit a nove StartTransaction?

Tak tady je zmotano nekolik veci dohromady :o)

a) Sweep je v IB 5 a 6 realizovan v samostatnem vlakne na pozadi, takze neni
treba mit starosti se "zatuhnutim" serveru po dobu cisteni.

b) IB 6 ma navic v samostatnem threadu i garbage collector. Oba thready maji
nizsi prioritu nez bezne pracovni thready.

c) Zminovane ukonceni transakce neni s IB6 nezbytne nutne (slo o optimalizaci
spusteni sweepu, resp. odstupu OIT (oldest interesting transaction) a OAT
(oldest active transaction) ktere ma vliv na sweep. Neco jineho je reaktivace
datasetu/transakce pro grid pro zohledneni zmen v databazi. Pri beznem
pouziti ReadCommited isolation levelu a datasetu to neni nezbytne nutne,
pokud se neprovadi aktualizace i jinym zpusobem nez pres dataset pouzity pro
zobrazovani.

> A jeste druha vec - jak je to u komponent TIBDataset a TIBSQL (z
> IBX) s fetchovanim? Vola klient fetch pro kazdy radek nebo se
> nafetchuje naraz urcita mnozina? Jde mi zejmena o pripad, kdy se
> zavola metoda Next.

TIBDataset si dela fetch sam dle potreby. U TIBSQL si fetch musis volat sam
(dle potreby).

S pozdravem
Pavel Cisar


Pavel Cisar <pcisar(zv)inprise(tec)cz>
Borland s.r.o.

Trigger

[*] Martin �ajbik (Marcant) <marcant(zv)sct.sk> - 21.12.2000 09:22:14

Pokial viem, tak triggre sa vyvolavaju pri operaciach DELETE, INSERT a
UPDATE. Takze v tvojom pripade by som nadefinoval trigger pre DELETE a
INSERT.

CREATE TRIGGER trigger_name
ON table
FOR DELETE, INSERT
AS
...

Napis naco presne to potrebujes

----- Original Message -----
From: Parizsky Ladislav <Parizsky(zv)access-it(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Thursday, December 21, 2000 8:36 AM
Subject: Trigger


> Cau,
> jeste jsem nedelal s zadnym triggerem. Muze mi nekdo rict jak udelam
trigger kterej mi vyvola udalost pokud se v tabulce zmeni pocet zaznamu ?
>
> Dik Ladap
>

ODBC, ADO, MSACCESS - komprimacia tabulky

[*] Daniel Rott <roxton(zv)atlas(tec)cz> - 21.12.2000 09:34:02

> omylom som vyvalil spravu, kde danil pise ze sa mu nepodarilo
> skomprimovat databazu ktora je v adresari obsahujucom medzeru.
> a co takto? ;o)
>
> ok:=_TSQLConfigDataSource(fnc)(0,ODBC_CONFIG_DSN,
> AccessDriver,'COMPACT_DB="C:\po kus\1.mdb" C:\11.mdb');

Ano, takto mi to take funguje (ja vzdy kvotoval zdroj i cil), ale co kdyz
i cilova databaze obsahuje mezeru ? Nejvice se mi totiz zamlouva
komprimovat databazi do stejneho souboru, protoze odpadne
prejmenovavani. Ale to kupodivu selhava.

Daniel
------------------------------------------------------
Daniel Rott - roxton(zv)volny(tec)cz
http://www.volny(tec)cz/roxton
Some minor bugs/features fixed/added

Kopia zaznamu pomocou SQL

[*] MMrazik <mms(zv)host.sk> - 21.12.2000 09:43:40

Ahoj,

OK Lelitka je to presne to co som potreboval:

insert into Dennik select max(a1.id_zaznam)+1, a2.cj, a2.rocnik,...,
a2.poznamka from dennik a1, dennik a2 where a2.id_zaznam=123
group by a2.cj,a2.rocnik,..., a2.poznamka

Len mi nie je jasne aku funkciu ma fraza GROUP BY v tomto pripade?
Je tam treba namiesto ... uviest vsetky polozky v tabulke?
Mam taky dojem ze by to mohlo ist aj bez tejto frazy.

Diky
MiroMr.

----- Original Message -----
From: "Olesia" <olesia(zv)idirect.com>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Thursday, December 21, 2000 6:08 AM
Subject: RE: Kopia zaznamu pomocou SQL


> S Interbase som nerobila uz velmi davno, ale v Oracle na primary key
> pouzivam sequence
> teda by to vyzeralo
>
> INSERT INTO DENNIK SELECT id_zazn_seqno.nextval, cj, rocnik, ... ,
poznamka
> FROM DENNIK WHERE ID_ZAZN = 123
> presne v poradi v akom su nadefinovane fieldy v tabulke.
>
> Ked to robis na cliente, mozes zistit max(id_zazn) a potom ist po cykle
>
> with query do
> begin
> SQL.text:='select max(id_zazn) zaznamik from dennik';
> Execute;
> max_field:=field('zaznamik');
> end
> i:=0;
> Dennik.Open;
> Dennik.First;
> while Dennik.FieldByName('id_zazn').AsInteger<=max_field do
> begin
> inc(i);
> query.SQl.Text:='insert into dennik SELECT '+StrToInt(max_field+i)+'
cj,
> rocnik, ... , poznamka FROM DENNIK WHERE ID_ZAZN='+
> Dennik.FieldByName('id_zazn').AsString;
> query.Execute;
> Dennik.Next;
> end;
>
> kedze nie som si ista, ci funguju v paradoxe transakcie,asi podla mna by
to
> bol najjednoduchsi sposob.
>
> Ale ja by som proste zmenila v tabulke Dennik Primaky Key z id_zaznam na
> (id_zaznam + rocnik), potom by sa ti s tym jednoduchsie narabalo,ale
> asi by si to musel prerabat v programe co?
>
> Doma nemam ziadnu interbase databazu, ale skusila som to s employee table
z
> demos databazy
>
> insert into employee
> select max(a1.empno)+1, a2.lastname, a2.firstname, a2.phoneext,
> a2.hiredate,11 from
> employee a1, employee a2 where a2.empno=2 group by
> a2.lastname, a2.firstname, a2.phoneext, a2.hiredate,a2.salary
>
> kde 11 by bola v tvojom pripade poznamka
>
> takze u seba by si mal urobit asi nasledovne:
>
> insert into Dennik select max(a1.id_zaznam)+1, a2.cj, a2.rocnik,...,
> a2.poznamka from dennik a1, dennik a2 where a2.id_zaznam=123
> group by a2.cj,a2.rocnik,..., a2.poznamka
>
> Good luck!
>
> Lelitka
>
> > >
> > > UPDATE .
>
> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> MMrazik
> Sent: Wednesday, December 20, 2000 12:25 PM
> To: delphi-l(zv)fwd(tec)cz
> Subject: Re: Kopia zaznamu pomocou SQL
>
>
> Ahoj,
> mozno som dal malo informacii. Ide o tzv. podaci dennik - evidencia
> pisomnosti. Je to knuiha, kde sa kazdy zapis aj ked je neplatny musi
skrtnut
> a uviest v poznamke preco je neplatny.
>
> No databazi to musi ostat zachovane. Takze tabulka ma kopu poloziek
nebudem
> ich vypisovat ale tie rozhodujuce su:
>
> ID_ZAZN - primarny kluc
> CJ - cislo jednacie
> Rocnik - rocnik do ktoreho dane cislo jednacie patri.
> ..... - kopa poloziek ale tie teraz nehraju rolu
> Poznamka - sem sa v povodnom zapise len uvedie, ze spis bol prevedeny do
> dalsieho roka a nic ine sa s tym povodnym zaznamom nedeje. V novom zapise
v
> dalsom roku bude poznamka prazdna a ked by sa aj tento prelozil do
dalsieho
> roka tak by sa to dialo obdobne.
>
> Preto som si myslel ze najjednoduchsie bude vytvorit jeho kopiu, zmenit v
> nej len rocnik a v povodnom zazname do poznamky zapisat "Prevedene do
> rokcnika xxxx" a hotovo.
>
> Cely problem mam v tom, ze program mam uz hotovy a toto tam potrebujem
> pridat. Robil som ho tak, ze mi funguje na Interbase a zaroven na Paradoxe
> takze by to bol ako klient server tak aj file server - preto sa vyhybam
> ulozenym proceduram a vsetkemu co si v Paradoxe nemozenm dovolit.
>
> Neviem bude ti stacit tolko informacii?
> Diky
>
> Miro Mrazik
>
>
> ----- Original Message -----
> From: "Hynek Svato�" <svatos(zv)kam(tec)czu(tec)cz>
> To: <delphi-l(zv)fwd(tec)cz>
> Sent: Wednesday, December 20, 2000 5:57 PM
> Subject: RE: Kopia zaznamu pomocou SQL
>
>
> > Zdar a silu, nesmis byt tak skoupy na informace a prozradit nam,
> > pro jakou db to potrebujes, a jak zhruba vypada ta tabulka ...
> >
> > Keep mailing :-)
> > =======================
> > Hynek Svato�
> > svatos(zv)kam(tec)czu(tec)cz
> > hynek.svatos(zv)atlas(tec)cz
> > =======================
> >
> > > -----Original Message-----
> > > From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> > > MMrazik
> > > Sent: Wednesday, December 20, 2000 3:42 PM
> > > To: Delphi conf.
> > > Subject: Kopia zaznamu pomocou SQL
> > >
> > >
> > > Zdravim Vas,
> > >
> > > mam jednoduchu evidenciu. Potrebujem previest urceny zaznam z jedneho
> roka
> > > do druheho.
> > > Prikazom UpDate - SQL zmenim teda v zazname prislusny rok a zaznam sa
mi
> > > automaticky
> > > presunie do dalsieho roka. OK.
> > > Lenze ja potrebujem ten povodny zaznam ponechat tak ako je, len do
> jedneho
> > > jeho pola pripisat ze zaznm je prevedeny do dalsieho roka. Takze
> > > idealne by
> > > bolo povodny zaznam skopirovat a v kopii zaznamu zmenit len rocnik, a
v
> > > povodnom zazname zapisat do prislusneho pola ze bol prevedeny do
> dalsieho
> > > rocnika.
> > >
> > > Problem je v tom, ze tabulka ma primarny kluc a ked by som chcel
pridat
> > > zaznam pomocou
> > > prikazu INSERT s vnorenym prikazom SELECT tak mi to nedovoli,
> > > lebo primarny
> > > kluc by bol duplicitny.
> > >
> > > INSERT INTO DENNIK SELECT * FROM DENNIK WHERE ID_ZAZN = 123
> > >
> > > UPDATE ...
> > > atd.
> > >
> > >
> > > Neviete mi niekto poradit?
> > > PS. Potrebujem to bez pouzitia ulozenych procedur.
> > >
> > > mm
> > >
> > >
> > >
> >
> >
>
>

Clipboard - AsText a cestina

[*] Tomas Vladik <tom.vladik(zv)swadvice(tec)cz> - 21.12.2000 09:48:29

>
> Co je ten MyHandle ?
>

MyHandle := LocalAlloc( LMEM_MOVEABLE, Length( MYLOCALE ) +
1 );
TextPtr := LocalLock( MyHandle );
StrPCopy( TextPtr, MYLOCALE );
LocalUnLock( MyHandle );
Clipboard.SetAsHandle( CF_LOCALE, MyHandle );


Mozna to neni tak docela koser, prtoze to asi neni String, ale spis Integer
....


Tom
________________________________
Tom� Vlad�k

e-mail: tom.vladik(zv)swadvice(tec)cz
ICQ#: 101763081

IP Adresa

[*] Pavol Kaka�ka <paka(zv)aktis(tec)cz> - 21.12.2000 10:05:37

Ja viem, tiez som si to myslel, ale maj ju nil :-( aj h_addr_list

Pavol Kaka�ka
kasix(zv)atlas(tec)cz


| podivej se poradne na hosten strukturu je tam polozka h_aliases to by
mohlo
| byt ono...
|
| viz http://msdn.microsoft.com/library/psdk/winsock/strucetc_8lbm.htm
|
| David H.

IP Adresa

[*] Pavol Kaka�ka <paka(zv)aktis(tec)cz> - 21.12.2000 10:12:24

| | PS. me se 212.27.196.82 resolvuje na jine jmeno -> mikroservis.sro(tec)cz
| | (db.globe(tec)cz ma IP adresu, ktera se lisi v podlednim bytu - zrejme jsi
| | zapomnel opsat dvojku do Tve funkce)
| |
|
| >Mne to zase vrati skutocne db.globe(tec)cz, nekecam, fakt a
mikroservis.sro(tec)cz
| >nemozem nijak dostat ani cez pink ani v explreru.
|
| opravdu nezkousis reverzi na 212.27.196.8 (dvojka chybi). Pokud ne pak je
| nekde problem v synchronizaci DNS serveru (nekdo nekdo neco zmenil a
| nezvysil SOA serial number napriklad)

Uz si pripadam ako docela vypatlanej mozeG %-)
Do iNetu zase tak velky profik nie som, co je to SOA v DNS

V konfiguraci DNS v TCP/IP som nic nenasiel.

Pavol Kaka�ka
kasix(zv)atlas(tec)cz

Kvalita IB6

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 21.12.2000 10:43:40

Ahoj,

behem hrani si s IB6 SQL serverem a zkousenim, co vydrzi, jsem
byl pomerne neprijemne prekvapen, jak snadne je ho shodit ci
zahltit.

1) Mam aplikaci, ktera provadi update na nekolika radcich. To je
OK. Pokud ji spustim vicekrat a updaty si konkuruji, polozi to
server tim zpusobem, ze zabira 83 procent casu procesoru a
naprosto nereaguje na pozadavky klienta. Ukonceni vsech klientu
nevede k zadne zmene - proces ibserver je nutne zabit.

2) Mam jinou aplikaci, ktera provadi jednoduchy select (vraci cca
30 radku) periodicky kazdou sekundu. V kazdem tiku casovace se
otevre transakce, pomoci komponenty IBSQL z IBX provede select
a commituje transakci. Pokud spustim vice nez cca 20 instanci
teto aplikace zacnou na SQL serveru neustale pribyvat nove
procesy (ibserver), zabirajici pres 10MB pameti az do chvile padu
serveru. Pokud drive nez server spadne, vsechny sve aplikace
ukoncim, zustanou nektere tyto procesy na SQL serveru viset.

SQL server bezi na Linuxu, Pentium 233 MHz. To je sice celkem
bidny HW, ale vsichni prece tvrdi, ze IB6 bezi SLUSNE i na slabem
hardware.
Mne se zda, ze jakmile stoupne pocet prihlasenych uzivatelu,
kteri neco delaji, posle to IB6 server snadno do kolen nebo do
stavu, kdy po sobe neni schopen uklidit. Podobne i nekolik
nenarocnych ukolu spustenych soucasne ho snadno oddela.
Nevadilo by mi, kdyby nestihal a posilal chybove hlasky apod. On
ale zatuhne. Nejak tomuto serveru prestavam verit.

Jake mate nazory?

David


JCL pre Delphi 4 - SORRY

[*] Ales Radikovsky <radik(zv)allstar(tec)cz> - 21.12.2000 11:00:22

Ono JCL je kompatibilni s D4, ale bohuzel je to vyvijeno na D5 a podle me to
asi nikdo na D4 tesne pred uverejnenim nezkousi. Vzdy se musi neco maleho
upravit, nekdy vytvorit balik, nekdy pridat funkci. Na soukromy mail posilam
"moji" verzi JCL pro D4.

Ales

> Lenze ono mi to krici, ze nemam vcl5, kedze som predpokladala,
> ze je to delphi5 subor, ani som nesla dalej


Sweep na IB6 a fetch

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 21.12.2000 11:08:42

> > A jeste druha vec - jak je to u komponent TIBDataset a TIBSQL (z
> > IBX) s fetchovanim? Vola klient fetch pro kazdy radek nebo se
> > nafetchuje naraz urcita mnozina? Jde mi zejmena o pripad, kdy se
> > zavola metoda Next.
>
> TIBDataset si dela fetch sam dle potreby. U TIBSQL si fetch musis
> volat sam (dle potreby).
>

Me slo o tu interni zalezitost. Jestli IBDataset musi pred kazdym
radkem pozadat server o ten jeden radek, nebo jestli si rekne treba
o 20 radku naraz. Jde mi o objem komunikace po siti.
Pokud jde o IBSQL, tak moc nerozumim. Mam v IBSQL select
dotaz a radky prochazim pomoci metody Next, ktera se o
fetchovani stara zrejme na pozadi sama, stejne jako u IBDatasetu.
Nebo je to jinak?

David


OT: DOS/win31 <--> WIN95 po ethernetu

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 21.12.2000 11:14:38

21.12.2000 Kalhous Zdenek :
> Jestli skutecne jde o to aby z W98 bylo videt na W3.11 tak
> nemuze byt problem (opacne ano pokud na W98 je sprava velkych
> disku). Pokud chces byt naprosto bez obav, myslim ze je
> nejvhodnejsi i do 3.11 doinstalovat TCP/IP. Samozrmo se to musi
> propojit zkrizenym kabelem.

Myslim ze u propojovani pocitacu v siti je ti uplne jedno, jaky system
ma druhy pocitac. Podstatne je, zda umi nabidnout prostredky ke
sdileni. Maximalne se ti ukaze velikost asi disku 2GB. To bys
pak mohl tvrdit, ze pokud se z W9x propojuji na NT, tak se mi to
nepodari, protoze W9x neumi NTFS :-)

------
ing. Jan Fiala
mailto:jan.fiala(zv)iol(tec)cz

IP Adresa

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 21.12.2000 11:14:54

>| opravdu nezkousis reverzi na 212.27.196.8 (dvojka chybi). Pokud ne pak je
>| nekde problem v synchronizaci DNS serveru (nekdo nekdo neco zmenil a
>| nezvysil SOA serial number napriklad)
>
>Uz si pripadam ako docela vypatlanej mozeG %-)
>Do iNetu zase tak velky profik nie som, co je to SOA v DNS
>
>V konfiguraci DNS v TCP/IP som nic nenasiel.

to jsou zalezitosti spravce tech domen, nikoliv nastaveni klientskych PC.
Kazda definice domeny domeny ma hlavicku ve ktere se nastavuji globalni
parametry. Hlavicce se rika SOA. Jeden z nejdulezitejsich zaznamu v SOA je
seriove cislo. Po kazde zmene v domene se musi toto cislo zvysit . Dulezite
je to proto, ze ostatni DNS servery ukladaji predesle dotazy do kese a pokud
nekdy pri pristim dotazu zjisti, ze seriove cislo domeny se zvysilo, pak tu
cache zahodi = resp nactou si to znovu z original serveru. Jestlize nekdo
nezmeni seriove cislo a zmeni neco v domene pak se nemuze divit, ze po
internetu se ty zaznamy projevi az za delsi dobu (kazdy zaznam v domene ma
nastavenu dobu po niz se zahodi)


D. Toman


Vybarveni RichEditu

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 21.12.2000 11:19:10

21.12.2000 Igor Vodieka :
> Ahoj.
> Editory tohoto typu jsou zalozeny zrejme na podobnych komponentach jako
> PlusMemo.
> Hledej zde:
> http://www.scientifique.com/ecm
> http://www3.sympatico.ca/ecm
> Jsou sice placene, ale resi tvuj problem. Daji se k nim stahnout rozsireni
> pro rezervovane slova HTM jazyka, pascalu apod. Pro psani editoru
> programovacich jazyku jsou idealni.

>>
>>
>> Dobry den.
>> S Delphi teprve zacinam, presel jsem z VB6, protoze chci delat
>> aplikace tak, aby nekomplikovali zivot jejich uzivatelum, coz s
>> runtime knihovnami VB neslo...
>>
>> Vytvarim HTML editor. Ve VB jsem udelal alespon zakladni barevne
>> rozliseni syntaxe zalozene na funkcich seltext, selcolor apod., tzn.
>> ze jsem musel vytvorit funkci, ktera projela cely text a hledala
>> znaky < a > a text mezi nimi vybarvila. Tento zpusob je vsak strasne
>> pomaly zvlaste kdyz je malo pameti. Znam nekolik HTML editoru
>> vytvorenych prave v Delphi (napr. klasika - EasyPad), kde k vybarveni
>> ci odbarveni syntaxe dojde ihned a to i na systemech s pomerne malou
>> pameti.
>>
>> Poradte mi, prosim, jak toho dosahnout v me aplikaci.
>>
>> Za vsechny rady predem dekuji a omlouvam se za delku sveho dotazu :-)

Zkus hledat SynEdit, ktery je free, se zdroji a zvyrazneni syntaxe mas
uz prednastavene

------
ing. Jan Fiala
mailto:jan.fiala(zv)iol(tec)cz

Ruzne ikony v EXE

[*] mbartone(zv)Synthesia(tec)cz - 21.12.2000 11:24:38

Ahoj,

v EXE programu mam ulozeno nekolik ikon
{$R *.RES}
{$R ikony.RES}

Ikony vsak muzu menit jen kdyz vytvorim zastupce programu (ale pak neni zmenena ikona v hlavicce formularu).
Potrebuji mit tento program vicekrat a pokazde s jinou ikonou a tak aby se tato ikona objevovala i na hlavicce furmularu.

Jak na to, abych nemusel nekolikrat kompilovat program s jinou ikonou ?

Milan

Kvalita IB6

[*] azeleny(zv)csas(tec)cz - 21.12.2000 11:36:35

DDV,

problem bych hledal nekde jinde nez v samotne IB.

Pod linuxem (tez SCO OpenServer 5.0.4) IB bezi jak vino (puzivam
architekturu classic build) a predevsim od te doby, kdy jsem opustil IB.5.x
na WinNT (ktera pdala jak svestky... mozna vic), nejsou se stabilitou IB
problemy.

Fakt je ten, ze nepouzivam IBX, ale IBO i kdyz tady bych problemy necekal.

Zkontorlujte si, zda nebyl pri instalci nejaky zadrhel, zkontrolujte verzi
IB a zkontorlujte, jaky mate kernel linuxu (aby nebyla potiz treba s
inetd...) - a podivejte se na stranky sve distrtibuce na "Erata".

ad 1:
Jaky isolation level pouziavte?

ad 2:
Pouzivate classic build, nebo superserver?

Pro dokresleni, IB6 je odzkousena na single i multiple CPU (2 a 4) serverech
a nikde nemela problem se stabilitou pri zatezi souycasne pracujicich cca
300PC (cteni carovych kodu na mnoha PC soucasne, inserty update - evidence
procesu, hledani v katalozich) -- dost husty provoz, z casti z vzdalenych
lokalit za pevnymi linkami... nemohl jsem si stezovat.

Zkotrolujte tez velikost mista na svazku, kde mate /temp, podivejte se, jak
mate slinkovany kernel (semafory...) a porovnejte to s nastavenim v
ISC_CONFIG souboru IB.

Nechci rozporovat to, ze IB muze mit problemy, jenom chci rici, ze IB neni
podle mne soft delany na instalaci peti kliknutimi na next a provozovani -
musi se naladit na system kde bezi a na to, co se od ni ceka (OLTP nebo DDS
system), ale hlavne jsem chtel, aby tu zaznela i pozitivni zkusenost.

A na zaver poznamka, kterou jsem si sam na sobe vyzkousel:
IB neni idelani a ma sva mouchy, ale je _VELMI_DOBRA_, jenze alespon v mem
pripade to chtelo par let, nez se clovek nauci myslet tak jako IB, jakmile
si spolu zacnete rozumet, da se z IB dostat velmi dobry vykon, nehlede na tu
"cenu". Chce to ale cas a mraky pokusu, nez se porijde na to, ktere veci
jsou, a ktere udelat radeji "pres hlavu" nez primocare kdyz by to IB
nedelalo dobre.
Bohuzel je to dost nesdelitelna zkusenot, pozna se to kdyz navrhujete DB pro
nejaky projekt, ale udelat sadu pouzcek, toho bohuzel nejsem schopen ani sam
pro sebe, takze stejne vzdycku udelam nejakou botu, za kterou si pak
nadavam, ze "jsem to prece uz davno vedel".

Pekny den!
-----------------------------------------------------------------------
Ale� Zelen� (OK1UUE)
�esk� spo�itelna a.s.
Na Per�t�n� 1
113 98 Praha 1
Email: azeleny(zv)csas(tec)cz
tel: +420 2 24995 236
-----------------------------------------------------------------------
Due to technical difficulties tomorrow has been postponed indefinitely. > behem hrani si s IB6 SQL serverem a zkousenim, co vydrzi, jsem
> byl pomerne neprijemne prekvapen, jak snadne je ho shodit ci
> zahltit.
>
> 1) Mam aplikaci, ktera provadi update na nekolika radcich. To je
> OK. Pokud ji spustim vicekrat a updaty si konkuruji, polozi to
> server tim zpusobem, ze zabira 83 procent casu procesoru a
> naprosto nereaguje na pozadavky klienta. Ukonceni vsech klientu
> nevede k zadne zmene - proces ibserver je nutne zabit.
>
> 2) Mam jinou aplikaci, ktera provadi jednoduchy select (vraci cca
> 30 radku) periodicky kazdou sekundu. V kazdem tiku casovace se
> otevre transakce, pomoci komponenty IBSQL z IBX provede select
> a commituje transakci. Pokud spustim vice nez cca 20 instanci
> teto aplikace zacnou na SQL serveru neustale pribyvat nove
> procesy (ibserver), zabirajici pres 10MB pameti az do chvile padu
> serveru. Pokud drive nez server spadne, vsechny sve aplikace
> ukoncim, zustanou nektere tyto procesy na SQL serveru viset.
>
> SQL server bezi na Linuxu, Pentium 233 MHz. To je sice celkem
> bidny HW, ale vsichni prece tvrdi, ze IB6 bezi SLUSNE i na slabem
> hardware.
> Mne se zda, ze jakmile stoupne pocet prihlasenych uzivatelu,
> kteri neco delaji, posle to IB6 server snadno do kolen nebo do
> stavu, kdy po sobe neni schopen uklidit. Podobne i nekolik
> nenarocnych ukolu spustenych soucasne ho snadno oddela.
> Nevadilo by mi, kdyby nestihal a posilal chybove hlasky apod. On
> ale zatuhne. Nejak tomuto serveru prestavam verit.
>
> Jake mate nazory?
>
> David
>

Instalacia novych komponent.

[*] KINEKUS <kinekus(zv)nextra.sk> - 21.12.2000 12:19:13

Stiahol som si nejake free komponenty z webu.

Poradite(lopata) mi, ako ich mam naistalovat do D4?

Ucim sa. Dakujem

Milan Fabik


Kopia zaznamu pomocou SQL

[*] MMrazik <mms(zv)host.sk> - 21.12.2000 12:20:07

Ahoj,

no prave, ja v celej aplikacii pouzivam MAX+1. Mam to sice osetrene, ze ak
dojde ku konfliktu, tak to len zahlasi, uzivatel o svoju pracu nepride a
musi ulozit za chvilu opakovane. Potom uz je to OK. Neni to bohvie co ale je
to vsade a keby som to chcel teraz ked som na konci s robotou menit tak by
som si narobil dalsie starosti..
V tom inserte som ho neuviedol, lebo som nevedel ako. Ten insert sluzil len
ako priklad ako by som to obecne chcel riesit.

Diky MiroMr

----- Original Message -----
From: "David Lebeda" <david.lebeda(zv)comarr(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Thursday, December 21, 2000 7:28 AM
Subject: Re: Kopia zaznamu pomocou SQL


> > Ahoj,
> > mozno som dal malo informacii. Ide o tzv. podaci dennik - evidencia
> > pisomnosti. Je to knuiha, kde sa kazdy zapis aj ked je neplatny musi
> > skrtnut a uviest v poznamke preco je neplatny.
> >
> > No databazi to musi ostat zachovane. Takze tabulka ma kopu poloziek
> > nebudem ich vypisovat ale tie rozhodujuce su:
> >
> > ID_ZAZN - primarny kluc
> > CJ - cislo jednacie
> > Rocnik - rocnik do ktoreho dane cislo jednacie patri.
> > ..... - kopa poloziek ale tie teraz nehraju rolu
> > Poznamka - sem sa v povodnom zapise len uvedie, ze spis bol prevedeny
> > do dalsieho roka a nic ine sa s tym povodnym zaznamom nedeje. V novom
> > zapise v dalsom roku bude poznamka prazdna a ked by sa aj tento
> > prelozil do dalsieho roka tak by sa to dialo obdobne.
> >
> > Preto som si myslel ze najjednoduchsie bude vytvorit jeho kopiu,
> > zmenit v nej len rocnik a v povodnom zazname do poznamky zapisat
> > "Prevedene do rokcnika xxxx" a hotovo.
> >
> > Cely problem mam v tom, ze program mam uz hotovy a toto tam potrebujem
> > pridat. Robil som ho tak, ze mi funguje na Interbase a zaroven na
> > Paradoxe takze by to bol ako klient server tak aj file server - preto
> > sa vyhybam ulozenym proceduram a vsetkemu co si v Paradoxe nemozenm
> > dovolit.
> >
> > Neviem bude ti stacit tolko informacii?
>
> Uprimne receno postradam jednu zasadni informaci - kdo se stara
> o generovani hodnoty primarniho klice. Jestli generator, takze ho v
> insert prikazu vubec neuvadis, nebo jestli si ho musis nejak
> vymyslet...
> Obecne nemuzes mit dva zaznamy se stejnym ID_ZAZN,
> protoze to by primarni index tak, jak je navrzeny, neplnil ukol
> primarniho klice - jednoznacna identifikace radku. Cili, jak uz tu
> nekdo psal - bud rozsirit primarni klic i na rocnik, nebo kopii Tveho
> zaznamu dat jine ID_ZAZN.
> V druhem pripade pripade varuji pred tvorbou ID_ZAZN pomoci
> max + 1 - to nevyjde v pripade, kdy temer soucasne s tvou upravou
> nekdo jiny vlozi novy radek.
>
> David Lebeda
>
> > Diky
> >
> > Miro Mrazik
> >
> >
> > ----- Original Message -----
> > From: "Hynek Svato�" <svatos(zv)kam(tec)czu(tec)cz>
> > To: <delphi-l(zv)fwd(tec)cz>
> > Sent: Wednesday, December 20, 2000 5:57 PM
> > Subject: RE: Kopia zaznamu pomocou SQL
> >
> >
> > > Zdar a silu, nesmis byt tak skoupy na informace a prozradit nam, pro
> > > jakou db to potrebujes, a jak zhruba vypada ta tabulka ...
> > >
> > > Keep mailing :-)
> > > =======================
> > > Hynek Svato�
> > > svatos(zv)kam(tec)czu(tec)cz
> > > hynek.svatos(zv)atlas(tec)cz
> > > =======================
> > >
> > > > -----Original Message-----
> > > > From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On
> > > > Behalf Of MMrazik Sent: Wednesday, December 20, 2000 3:42 PM To:
> > > > Delphi conf. Subject: Kopia zaznamu pomocou SQL
> > > >
> > > >
> > > > Zdravim Vas,
> > > >
> > > > mam jednoduchu evidenciu. Potrebujem previest urceny zaznam z
> > > > jedneho
> > roka
> > > > do druheho.
> > > > Prikazom UpDate - SQL zmenim teda v zazname prislusny rok a zaznam
> > > > sa mi automaticky presunie do dalsieho roka. OK. Lenze ja
> > > > potrebujem ten povodny zaznam ponechat tak ako je, len do
> > jedneho
> > > > jeho pola pripisat ze zaznm je prevedeny do dalsieho roka. Takze
> > > > idealne by bolo povodny zaznam skopirovat a v kopii zaznamu zmenit
> > > > len rocnik, a v povodnom zazname zapisat do prislusneho pola ze
> > > > bol prevedeny do
> > dalsieho
> > > > rocnika.
> > > >
> > > > Problem je v tom, ze tabulka ma primarny kluc a ked by som chcel
> > > > pridat zaznam pomocou prikazu INSERT s vnorenym prikazom SELECT
> > > > tak mi to nedovoli, lebo primarny kluc by bol duplicitny.
> > > >
> > > > INSERT INTO DENNIK SELECT * FROM DENNIK WHERE ID_ZAZN = 123
> > > >
> > > > UPDATE ...
> > > > atd.
> > > >
> > > >
> > > > Neviete mi niekto poradit?
> > > > PS. Potrebujem to bez pouzitia ulozenych procedur.
> > > >
> > > > mm
> > > >
> > > >
> > > >
> > >
> > >
> >
>
>

Hledani a preskoky v binarnim souboru

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 21.12.2000 12:33:55

Ahoj,

nedalo mi to, aby neprovedl nejake testy. Testovaci program si
muzete stahnout z http://www.hlinka(tec)cz/download/pos.zip

Co jsem kde a jak pouzil, viz nize. Doufam, ze i Robert Kindl se s
nami podeli o jeho algoritmus, abychom mohli porovnat dalsi
techniku. Klidne se toho ujmu.

Pro jednoduchost jsem prohledaval retezce, po urcitych upravach
to lze pouzit i na binar.

On 20 Dec 2000, at 11:40, Tomas Michal�k wrote:

> na tehle adrese najdete v sekci "Jake's Code Efficiency Challenge"
> mnoho ruznych hotovych verzi reseni : http://www.xnet.com/~johnjac
>
> Je to serazeny podle dosazenych casu vcetne zdrojovych kodu, je to
> vzdy bez uziti inline assembleru. Puvodne to vzniklo pro porovnani
> kvality kodu produkovaneho kompilery v MS VC++ a Delphi.

K testovani jsem pouzil text King James Bible pro jeji snadnou
dostupnost a velikost. Je ke stazeni u ~johnjac. Odsud jsem pouzil
kod, ktery jsem lehce upravil tak, aby vracel prvni vyskyt (namisto
poctu vyskytu) a aby rozlisoval velka a mala pismena (aby vracel
srovantelen vysledky s ostatnimi metodami). Funkce se jmenuje
FindWord.

On 19 Dec 2000, at 20:03, Kralik Michal wrote:

> Posilam. Je to v priloze. Jen chci upozornit, ze je to docela stary
> a ten text jsem nepsal ja. Demonstracni program jsem delal, ale tam
> slo jen o to, ukazat princip, takze to rozhodne neni nijak
> optimalizovany. Jinak je to jeste v TurboPascalu a T602 :-) Dal
> jsem tam i prelozenou verzi, pro pripad, ze uz jste na Pascal
> zapomeli :-)) Jestli to chce nekdo rozebirat a optimalizovat, tak
> prosim, ja na to ted vubec nemam cas a asi hned tak mit nebudu.
> Nicmene nejaky poradny a rychly algoritmus by se urcite hodil
> kazdemu. Michal

Pouzil jsem puvodni funkci, ktera se jmenuje BMA (upravil jsem na
dlouhe retezce). Tu jsem dale upravil ve funkci BMGrep tak, ze
jsem prepsal praci s retezci na praci s PChar s pointerovou
aritmetikou. Drobna poznamka - oproti popisu v prilozenem T602
souboru algoritmus nefunguje spravne pouze s prvni heuristikou
(popsano v predchozich mailech), musi byt i druha heuristika.

Pro srovnani jsem pouzil jeste funkce Pos a StrPos.

Jako meric casove delky jsem pouzil rozdily hodnot ziskanych
funkci QueryPerformanceCounter po a pred spustenim vyhledavaci
funkce (pozn: vhodne testovat pouze na jednoprocesorovem stroji).

Pri testech na Bibli byl nejlepsi algoritmus FindText, nasledovan
BMGrep. Absolutnim propadakem je StrPos, zejmena pri nalezeni
vyskytu slova hned na zacatku textu. Vysvetluji si to tim, ze
StrPos nejprve zjistuje delku retezcu PChar (podle testu v BMGrep,
kam jsem vlozit StrPos), kdezto ostatni metody zjistuji delku string
(pokud vubec).

Zajimava je zavislost na tom, jak "hluboko" lezi hledany text. Uvedu
nekolik namatkove vybranych hodnot, kde prvni slovo je hledany
vyraz, cislo je pozice prvniho vyskytu hledaneho slova, a pak
nasleduje poradi od nejrychlejsiho po nejpomalejsi algoritmus.

This, 6, Pos, FindWord, BMA, BMGrep, StrPos (zaostava o
nekolik radu)

improved, 345, FindWord, BMA, Pos, BMGrep, StrPos

God, 12445, FindWord, BMGrep, Pos, BMA, StrPos

ale oproti tomu
God created the heaven, 12445, BMGrep, FindWord (naprosto
tesne), BMA (take tesne), Pos (v dalekem zavesu), StrPos

god, 21698, FindWord, BMGrep, Pos, BMA, StrPos

ale oproti tomu
gods, knowing good, 21698, FindWord, BMGrep (v tesnem
zavesu), BMA, Pos, StrPos

Solomon, 1411588, FindWord, BMGrep, Pos, BMA (temer
vyrovnany s Pos), StrPos

Jesus, 3819810, FindWord, BMGrep, Pos, BMA, StrPos

testifieth these, 4959283, FindWord, BMGrep, BMA, Pos, StrPos

ale oproti tomu
ieth thes, 4959289, BMGrep, FindWord (v tesnem zavesu), BMA,
Pos, StrPos

Oproti tomu u kratkeho retezce, citovany drive v prikladu, kde v "if
you wish to understand others you must" hledam "must":

must, 38, Pos, StrPos, FindWord, BMA, BMGrep

Jak je videt, zalezi na delce prohledavaneho textu, na delce
hledaneho textu, a na pozici v prohledavanem textu.

U kratkych textu nebo vyskytu hned na zacatku se u vykonnejsich
algoritmu projevi negativne pocatecni rezie.


S pozdravem

Zbysek Hlinka

Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


OT: DOS/win31 <--> WIN95 po ethernetu

[*] Vaclav Sazima <sazima(zv)comp(tec)cz> - 21.12.2000 12:51:52

Ahoj,

Kalhous Zdenek wrote:
>
> Myslim ze je to trochu jinak. DOS klient umi koukat ven ale ne
> nabizet vlastni prostredky ke sdileni.

pokud je nainstalovano standardtni w311 a pusti se damotny DOS, je to
tak jak pises. Pro nabizeni vlastnich prostredku pod DOSem je treba
nainstalovat (ta krabice ted lezi prede mnou) Microsoft WorkGroup Add-On
For MS-DOS. Mnoho let to uspesne pouzivame. Ma to dve nevyhody :
1. Dost pomale
2. Nepodporuje tcpip (kdyby nekdo vedel jak na to, tak slava)

Priznam se, ze DOS stale jeste pouzivame v pripade, ze se jedna o
bezobsluzne zarizeni. Navic pocitac s DOSEM klidne bezi bez padu i
nekolik let.

> On 20 Dec 2000, at 13:33, Vaclav Sazima wrote:
> > pokud bezi w3.11, nemel by to byt zadny problem. Aby Ti to fungovalo
> > kdyz bezi jenom DOS, je treba doinstalovat WFW add on dos (tak nejak).
> > Je to jedna disketa a sw na ni umoznuje sdileni pod DOS. Kdyso jsem to
> > stahnul i z www.microsoft.com.

OT: Instalace W2000 server

[*] L. ZITA <konference(zv)sales(tec)cz> - 21.12.2000 13:47:26

Zdravim vsechny

Obracim se na Vas s prosbou o Vase nazory jak
rozlozit instalaci Windows 2000 server urcenou jako
jediny server pro malou organizaci (cca 10-20 PC)
pri teto HW konfiguraci HDD :
2 x 30GB U-ATA66 na jednom IDE kanale (Master a Slave)
1x 60GB (2x30GB) rychle RAID pole (striping) na U-ATA100

Kam instalovat OS, kam dat soubory ActiveDirectory.

Data samozrejme budou na RAID poli a budou se
v castych intervalech komprimovane zalohovat na pomalejsi disk.

Jinak HW asi unese dost (2xPIII800/133/256, RAM 512MB ECC)

Predem diky
Ludek

Trigger

[*] olesia <olesia(zv)idirect(tec)com> - 21.12.2000 08:09:34 -0500

Ahojky,

s akou databazou robis?
Pokial sa nemylim , ide skor o before or after INSERT, UPDATE, DELETE
a ked robis v oracli , tak mas dva druhy triggerov - for each row alebo
davkovy trigger
v triggeri sa mozes odvolavat na :new and :old udaje (v oracli len pripade
on each row)
napriklad

CREATE TRIGGER DENTAL.TAUR_DIAGNOSIS_DETAILS_STATUS AFTER UPDATE
ON DENTAL.DIAGNOSIS_DETAILS
FOR EACH ROW
begin
if :new.status=7
then
delete from txopt_procedures where ref_no=:new.ref_no and
detail_refno=:new.detail_refno;
end if;
end;


Lelitka
----- Original Message -----
From: Martin �ajbik (Marcant) <marcant(zv)sct.sk>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Thursday, December 21, 2000 3:22 AM
Subject: Re: Trigger


> Pokial viem, tak triggre sa vyvolavaju pri operaciach DELETE, INSERT a
> UPDATE. Takze v tvojom pripade by som nadefinoval trigger pre DELETE a
> INSERT.
>
> CREATE TRIGGER trigger_name
> ON table
> FOR DELETE, INSERT
> AS
> ...
>
> Napis naco presne to potrebujes
>
> ----- Original Message -----
> From: Parizsky Ladislav <Parizsky(zv)access-it(tec)cz>
> To: <delphi-l(zv)fwd(tec)cz>
> Sent: Thursday, December 21, 2000 8:36 AM
> Subject: Trigger
>
>
> > Cau,
> > jeste jsem nedelal s zadnym triggerem. Muze mi nekdo rict jak udelam
> trigger kterej mi vyvola udalost pokud se v tabulce zmeni pocet zaznamu ?
> >
> > Dik Ladap
> >
>

Kopia zaznamu pomocou SQL

[*] olesia <olesia(zv)idirect(tec)com> - 21.12.2000 08:47:59 -0500

Ahojky
Nepojde to tak, lebo kedze tam mas jeden max a potom dalsie jednoduche
fieldy, sqlko ti bude kricat, ze to nemozes tak pouzit a aj kvoli tomu max
tam mam group by
Tak budes musiet to napisat tak ako to je v priklade.
Ano, namiesto ... musis uviest vsetky polozky v tabulke, dufam, ze nemas tam
ziadne bloby , lebo potom ti to tak nepojde, namiesto blobu potom musis dat
asi relativny null, ale nie som si ista.
Skoda, ze nemozes pouzivat triggery, bolo by to tym padom ovela jednoduchsie
a nie tak vyumelkovano.

Lelitka

----- Original Message -----
From: MMrazik <mms(zv)host.sk>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Thursday, December 21, 2000 3:43 AM
Subject: Re: Kopia zaznamu pomocou SQL


> Ahoj,
>
> OK Lelitka je to presne to co som potreboval:
>
> insert into Dennik select max(a1.id_zaznam)+1, a2.cj, a2.rocnik,...,
> a2.poznamka from dennik a1, dennik a2 where a2.id_zaznam=123
> group by a2.cj,a2.rocnik,..., a2.poznamka
>
> Len mi nie je jasne aku funkciu ma fraza GROUP BY v tomto pripade?
> Je tam treba namiesto ... uviest vsetky polozky v tabulke?
> Mam taky dojem ze by to mohlo ist aj bez tejto frazy.
>
> Diky
> MiroMr.
>
> ----- Original Message -----
> From: "Olesia" <olesia(zv)idirect.com>
> To: <delphi-l(zv)fwd(tec)cz>
> Sent: Thursday, December 21, 2000 6:08 AM
> Subject: RE: Kopia zaznamu pomocou SQL
>
>
> > S Interbase som nerobila uz velmi davno, ale v Oracle na primary key
> > pouzivam sequence
> > teda by to vyzeralo
> >
> > INSERT INTO DENNIK SELECT id_zazn_seqno.nextval, cj, rocnik, ... ,
> poznamka
> > FROM DENNIK WHERE ID_ZAZN = 123
> > presne v poradi v akom su nadefinovane fieldy v tabulke.
> >
> > Ked to robis na cliente, mozes zistit max(id_zazn) a potom ist po cykle
> >
> > with query do
> > begin
> > SQL.text:='select max(id_zazn) zaznamik from dennik';
> > Execute;
> > max_field:=field('zaznamik');
> > end
> > i:=0;
> > Dennik.Open;
> > Dennik.First;
> > while Dennik.FieldByName('id_zazn').AsInteger<=max_field do
> > begin
> > inc(i);
> > query.SQl.Text:='insert into dennik SELECT '+StrToInt(max_field+i)+'
> cj,
> > rocnik, ... , poznamka FROM DENNIK WHERE ID_ZAZN='+
> > Dennik.FieldByName('id_zazn').AsString;
> > query.Execute;
> > Dennik.Next;
> > end;
> >
> > kedze nie som si ista, ci funguju v paradoxe transakcie,asi podla mna by
> to
> > bol najjednoduchsi sposob.
> >
> > Ale ja by som proste zmenila v tabulke Dennik Primaky Key z id_zaznam na
> > (id_zaznam + rocnik), potom by sa ti s tym jednoduchsie narabalo,ale
> > asi by si to musel prerabat v programe co?
> >
> >
> > Doma nemam ziadnu interbase databazu, ale skusila som to s employee
table
> z
> > demos databazy
> >
> > insert into employee
> > select max(a1.empno)+1, a2.lastname, a2.firstname, a2.phoneext,
> > a2.hiredate,11 from
> > employee a1, employee a2 where a2.empno=2 group by
> > a2.lastname, a2.firstname, a2.phoneext, a2.hiredate,a2.salary
> >
> > kde 11 by bola v tvojom pripade poznamka
> >
> > takze u seba by si mal urobit asi nasledovne:
> >
> > insert into Dennik select max(a1.id_zaznam)+1, a2.cj, a2.rocnik,...,
> > a2.poznamka from dennik a1, dennik a2 where a2.id_zaznam=123
> > group by a2.cj,a2.rocnik,..., a2.poznamka
> >
> > Good luck!
> >
> > Lelitka
> >
> > > >
> > > > UPDATE .
> >
> > -----Original Message-----
> > From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> > MMrazik
> > Sent: Wednesday, December 20, 2000 12:25 PM
> > To: delphi-l(zv)fwd(tec)cz
> > Subject: Re: Kopia zaznamu pomocou SQL
> >
> >
> > Ahoj,
> > mozno som dal malo informacii. Ide o tzv. podaci dennik - evidencia
> > pisomnosti. Je to knuiha, kde sa kazdy zapis aj ked je neplatny musi
> skrtnut
> > a uviest v poznamke preco je neplatny.
> >
> > No databazi to musi ostat zachovane. Takze tabulka ma kopu poloziek
> nebudem
> > ich vypisovat ale tie rozhodujuce su:
> >
> > ID_ZAZN - primarny kluc
> > CJ - cislo jednacie
> > Rocnik - rocnik do ktoreho dane cislo jednacie patri.
> > ..... - kopa poloziek ale tie teraz nehraju rolu
> > Poznamka - sem sa v povodnom zapise len uvedie, ze spis bol prevedeny do
> > dalsieho roka a nic ine sa s tym povodnym zaznamom nedeje. V novom
zapise
> v
> > dalsom roku bude poznamka prazdna a ked by sa aj tento prelozil do
> dalsieho
> > roka tak by sa to dialo obdobne.
> >
> > Preto som si myslel ze najjednoduchsie bude vytvorit jeho kopiu, zmenit
v
> > nej len rocnik a v povodnom zazname do poznamky zapisat "Prevedene do
> > rokcnika xxxx" a hotovo.
> >
> > Cely problem mam v tom, ze program mam uz hotovy a toto tam potrebujem
> > pridat. Robil som ho tak, ze mi funguje na Interbase a zaroven na
Paradoxe
> > takze by to bol ako klient server tak aj file server - preto sa vyhybam
> > ulozenym proceduram a vsetkemu co si v Paradoxe nemozenm dovolit.
> >
> > Neviem bude ti stacit tolko informacii?
> > Diky
> >
> > Miro Mrazik
> >
> >
> > ----- Original Message -----
> > From: "Hynek Svato�" <svatos(zv)kam(tec)czu(tec)cz>
> > To: <delphi-l(zv)fwd(tec)cz>
> > Sent: Wednesday, December 20, 2000 5:57 PM
> > Subject: RE: Kopia zaznamu pomocou SQL
> >
> >
> > > Zdar a silu, nesmis byt tak skoupy na informace a prozradit nam,
> > > pro jakou db to potrebujes, a jak zhruba vypada ta tabulka ...
> > >
> > > Keep mailing :-)
> > > =======================
> > > Hynek Svato�
> > > svatos(zv)kam(tec)czu(tec)cz
> > > hynek.svatos(zv)atlas(tec)cz
> > > =======================
> > >
> > > > -----Original Message-----
> > > > From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf
Of
> > > > MMrazik
> > > > Sent: Wednesday, December 20, 2000 3:42 PM
> > > > To: Delphi conf.
> > > > Subject: Kopia zaznamu pomocou SQL
> > > >
> > > >
> > > > Zdravim Vas,
> > > >
> > > > mam jednoduchu evidenciu. Potrebujem previest urceny zaznam z
jedneho
> > roka
> > > > do druheho.
> > > > Prikazom UpDate - SQL zmenim teda v zazname prislusny rok a zaznam
sa
> mi
> > > > automaticky
> > > > presunie do dalsieho roka. OK.
> > > > Lenze ja potrebujem ten povodny zaznam ponechat tak ako je, len do
> > jedneho
> > > > jeho pola pripisat ze zaznm je prevedeny do dalsieho roka. Takze
> > > > idealne by
> > > > bolo povodny zaznam skopirovat a v kopii zaznamu zmenit len rocnik,
a
> v
> > > > povodnom zazname zapisat do prislusneho pola ze bol prevedeny do
> > dalsieho
> > > > rocnika.
> > > >
> > > > Problem je v tom, ze tabulka ma primarny kluc a ked by som chcel
> pridat
> > > > zaznam pomocou
> > > > prikazu INSERT s vnorenym prikazom SELECT tak mi to nedovoli,
> > > > lebo primarny
> > > > kluc by bol duplicitny.
> > > >
> > > > INSERT INTO DENNIK SELECT * FROM DENNIK WHERE ID_ZAZN = 123
> > > >
> > > > UPDATE ...
> > > > atd.
> > > >
> > > >
> > > > Neviete mi niekto poradit?
> > > > PS. Potrebujem to bez pouzitia ulozenych procedur.
> > > >
> > > > mm
> > > >
> > > >
> > > >
> > >
> > >
> >
> >

Vybarveni RichEditu

[*] Alois.Jirasek(zv)atlas(tec)cz - 21.12.2000 14:50:06

Resim podobny problem, potrebuji nejakym zpusobem zvyraznit synataxi. V mem pripade potrebuji syntaxi pro SQL. Takovy jednoduchy SQL editor. Ale nechci pouzivat zadne komponenty (a uz vubec ne placene), rad bych si to naprogramoval sam. Nejsem vsak tak dobry programator, abych si delat vlastni PlusMemo nebo ColorMemo.

Nebyla by nejaka jednodusi metoda? Treba po change v richeditu zavolat najakou fci, ktera by provedla validaci a nasledne preformatovani?

Zkousel jsem neco vycist ze source code TRichEdit, ale nic jsem nenasel. Nemate nekdo zkusenost, nebo alespon trosku popostrcit.

Diky

PS: Jen me prosim neodkazujte na nejake komponenty.


-----P�vodn� zpr�va-----
Od: "owner-delphi-l(zv)fwd(tec)cz" <owner-delphi-l(zv)fwd(tec)cz> za u�ivatele "Igor Vodieka" <vodicka(zv)sagit(tec)cz>
Odesl�no: 21. prosince 2000 7:07
Komu: "delphi-l(zv)fwd(tec)cz" <delphi-l(zv)fwd(tec)cz>
P�edm�t: RE: Vybarveni RichEditu

Ahoj.
Editory tohoto typu jsou zalozeny zrejme na podobnych komponentach jako
PlusMemo.
Hledej zde:
http://www.scientifique.com/ecm
http://www3.sympatico.ca/ecm
Jsou sice placene, ale resi tvuj problem. Daji se k nim stahnout rozsireni
pro rezervovane slova HTM jazyka, pascalu apod. Pro psani editoru
programovacich jazyku jsou idealni.


Ing. Igor Vodicka
informacni systemy

Nakladatelstvi Sagit, Horni 1, 700 30 Ostrava-Hrabuvka
Tel.: 069 353 062, Fax: 069 357 758
Mailto:vodicka(zv)sagit(tec)cz
Http:\\www.sagit(tec)cz\> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On
> Behalf Of Vladimir Foret
> Sent: Wednesday, December 20, 2000 1:42 PM
> To: delphi-l(zv)fwd(tec)cz
> Subject: Vybarveni RichEditu
>
>
> Dobry den.
> S Delphi teprve zacinam, presel jsem z VB6, protoze chci delat
> aplikace tak, aby nekomplikovali zivot jejich uzivatelum, coz s
> runtime knihovnami VB neslo...
>
> Vytvarim HTML editor. Ve VB jsem udelal alespon zakladni barevne
> rozliseni syntaxe zalozene na funkcich seltext, selcolor apod., tzn.
> ze jsem musel vytvorit funkci, ktera projela cely text a hledala
> znaky < a > a text mezi nimi vybarvila. Tento zpusob je vsak strasne
> pomaly zvlaste kdyz je malo pameti. Znam nekolik HTML editoru
> vytvorenych prave v Delphi (napr. klasika - EasyPad), kde k vybarveni
> ci odbarveni syntaxe dojde ihned a to i na systemech s pomerne malou
> pameti.
>
> Poradte mi, prosim, jak toho dosahnout v me aplikaci.
>
> Za vsechny rady predem dekuji a omlouvam se za delku sveho dotazu :-)
>
> ---
> Poichozi zprava neobsahuje viry.
> Zkontrolovano antivirovym systemem AVG (http://www.grisoft(tec)cz).
> Verze: 6.0.217 / Virova baze: 102 - datum vydani: 1.12.2000
>
---
Odchozi zprava neobsahuje viry.
Zkontrolovano antivirovym systemem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.217 / Virova baze: 102 - datum vydani: 1.12.2000


Ruzne ikony v EXE

[*] Pavol Kakacka <paka(zv)aktis(tec)cz> - 21.12.2000 15:57:10

Mno, neurobis nic take, ze by Windows zobrazovali ikonu spusteneho programu
podla jej zastupcu. Mozes jedine program spustat v kazdom zstupcovi s inym
parametrom a nastavovat ikonu pre formular a plikaciu za behu programu podla
parametru. Ale v exploreru (na tvojom exaci) sa Ti zase bude zobrazovat
default ikona.

Pavol Kakacka
kasix(zv)atlas(tec)cz


| v EXE programu mam ulozeno nekolik ikon
| {$R *.RES}
| {$R ikony.RES}
|
| Ikony vsak muzu menit jen kdyz vytvorim zastupce programu (ale pak neni
zmenena ikona v hlavicce formularu).
| Potrebuji mit tento program vicekrat a pokazde s jinou ikonou a tak aby se
tato ikona objevovala i na hlavicce furmularu.
|
| Jak na to, abych nemusel nekolikrat kompilovat program s jinou ikonou ?

ToDo List

[*] Petr Reichl <p.reichl(zv)gmc(tec)net> - 21.12.2000 16:19:19

Dobry den,

mam takovy problemek s Delphi 5 Enterprise. Zobrazil jsem si ToDo list a
pote jsem ho nejakym zahadnym zpusobem zavrel a od te doby ho nemohu pres
menu zobrazit. Nesetkal jste se s tim nekdo?

Petr Reichl


Kvalita IB6

[*] Michal Tiller <Michal.Tiller(zv)oskarmobil(tec)cz> - 21.12.2000 16:43:05

Ja mam v posledni dobe podobne zkusenosti.
Mam aplikaci, ktera do databaza opakovane zapisuje spoustu dat a pak je zde
asi 5 uzivatelu, kteri celkem casto k temto datum pristupuji. DB ma asi 3 GB
a temer denne mi IB server zatuhne. Je pak nutne restartovat cely server.
Nevim cim to je a dost me to stresuje, protoze jsem za to odpovedny
pracovnik :( Byl to muj napad pouzit IB a myslel jsem, ze vyborny. Tak
doufam, ze je chyba nekde u me a ze se to vsechno zlepsi, kdyz ted koupime
poradnou masinu. :)

S pozdravem Michal Tiller

-----Original Message-----
From: David Lebeda [mailto:david.lebeda(zv)comarr(tec)cz]
Sent: Thursday, December 21, 2000 10:44 AM
To: delphi-l(zv)fwd(tec)cz
Subject: Kvalita IB6


Ahoj,

behem hrani si s IB6 SQL serverem a zkousenim, co vydrzi, jsem
byl pomerne neprijemne prekvapen, jak snadne je ho shodit ci
zahltit.

1) Mam aplikaci, ktera provadi update na nekolika radcich. To je
OK. Pokud ji spustim vicekrat a updaty si konkuruji, polozi to
server tim zpusobem, ze zabira 83 procent casu procesoru a
naprosto nereaguje na pozadavky klienta. Ukonceni vsech klientu
nevede k zadne zmene - proces ibserver je nutne zabit.

2) Mam jinou aplikaci, ktera provadi jednoduchy select (vraci cca
30 radku) periodicky kazdou sekundu. V kazdem tiku casovace se
otevre transakce, pomoci komponenty IBSQL z IBX provede select
a commituje transakci. Pokud spustim vice nez cca 20 instanci
teto aplikace zacnou na SQL serveru neustale pribyvat nove
procesy (ibserver), zabirajici pres 10MB pameti az do chvile padu
serveru. Pokud drive nez server spadne, vsechny sve aplikace
ukoncim, zustanou nektere tyto procesy na SQL serveru viset.

SQL server bezi na Linuxu, Pentium 233 MHz. To je sice celkem
bidny HW, ale vsichni prece tvrdi, ze IB6 bezi SLUSNE i na slabem
hardware.
Mne se zda, ze jakmile stoupne pocet prihlasenych uzivatelu,
kteri neco delaji, posle to IB6 server snadno do kolen nebo do
stavu, kdy po sobe neni schopen uklidit. Podobne i nekolik
nenarocnych ukolu spustenych soucasne ho snadno oddela.
Nevadilo by mi, kdyby nestihal a posilal chybove hlasky apod. On
ale zatuhne. Nejak tomuto serveru prestavam verit.

Jake mate nazory?

David


CreateProcessAsUser

[*] Michal.Michal <delphi-konference(zv)bcpraha(tec)com> - 21.12.2000 17:05:26

Potrebuju aby muj program bezel pod jinhym uctem nez je
aktualne prihlaseny uzivatel.
Zkusil jsem pouzit API funkci CtreateProcessAsUser a LogOnUser.
To mi ale nechodi, tak bych se chtel zeptat, jak je to mozne udelat.
Pokud by nekdo neco takoveho pouzil, nebo vi jak zminovane API funkce
pouzit, tak se mi prosim ozvete.

S pozdravem
Michal

Ruzne ikony v EXE

[*] Kriz Pavel, TDS <tds(zv)volny(tec)cz> - 21.12.2000 17:09:56


> v EXE programu mam ulozeno nekolik ikon
> {$R *.RES}
> {$R ikony.RES}
>
> Ikony vsak muzu menit jen kdyz vytvorim zastupce programu (ale
> pak neni zmenena ikona v hlavicce formularu).
> Potrebuji mit tento program vicekrat a pokazde s jinou ikonou a
> tak aby se tato ikona objevovala i na hlavicce furmularu.
>
> Jak na to, abych nemusel nekolikrat kompilovat program s jinou ikonou ?

Treba:

Application.Icon.Handle := LoadIcon(SysInit.HInstance, 'MY_ICON_ID');


Pavel Kriz


> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On
> Behalf Of mbartone(zv)Synthesia(tec)cz
> Sent: Thursday, December 21, 2000 11:25 AM
> To: delphi-l(zv)fwd(tec)cz
> Subject: Ruzne ikony v EXE


OT: DOS/win31 <--> WIN95 po ethernetu

[*] Zdenek Drvota <drvota-l(zv)zds(tec)cz> - 21.12.2000 17:13:29

Ahoj
### Jiri Kral napsal dne 20 Dec 00, v 7:43 :

> Ahoj kolegove,
>
> vi nekdo jestli (a jak) lze vyresit peer2peer propojeni pomoci 10base-10
> site mezi starym notebookem s DOS 6.22/Win 3.11 a desktopem s Win98? Fcni
> sitove karty mam, ale nevim zda se vubec daji mezi temito OS primo sdilet
> data. Stacilo by aby z Win98 byly videt slozky z DOSu/W31 toho notebooku.
Ano, ale jen pokud na serveru pobezi Windows, na klientu staci DOS

>
> diky za info
>
>
> ==========================================================
> Bc. Jiri Kral
> administrator IT
> tiskarna Printo, spol. s r.o.
> e-mail: admin(zv)printo(tec)cz
> mobil e-mail: jirka.kral(zv)click(tec)cz
> ICQ# 15303940
> PGP ID: 0x15AD9FB8 (najdete na www.pgp(tec)cz)
>
> >>-----Original Message-----
> >>From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> >>Miroslav Barica Sent: Friday, December 08, 2000 8:26 AM To:
> >>delphi-l(zv)fwd(tec)cz Subject: RE: ODBC, ADO, MSACCESS - komprimacia tabulky
> >>
> >>
> >>hmmmm, tak to skusam, vyhlasuje too many actual parameters, divam sa do
> >>helpu, citam:
> >>
> >>To perform data compaction on a database file programmatically, include
> >>"COMPACT_DB=<source db> <dest db> <sort order>" in the list of
> >>attributes (lpszAttributes) of the SQLConfigDataSource function.
> >> ^^^^^^^^^^^^^^^^^
> >> kde su tieto parametre funkcie popisane,
> >>prosim ta?
> >>
> >>-----Original Message-----
> >>From: Daniel Rott [mailto:roxton(zv)atlas(tec)cz]
> >>Sent: Thursday, December 07, 2000 2:49 PM
> >>To: delphi-l(zv)fwd(tec)cz
> >>Subject: Re: ODBC, ADO, MSACCESS - komprimacia tabulky
> >>
> >>
> >>> dik pozrem, ale rad by som tuto funkciu volal z aplikacie, moc
> >>> skusenosti s ODBC nemam, trapim sa s tym len druhy den
> >>
> >>Jisteze se vola z aplikace. Odkud jinud ? Bezne pouzivam stejny
> >>prikaz s parametrem CREATE_DB=<db>, pro vytvoreni databaze.
> >>ADO vsak neznam, pouzivam primo ODBC API (tj. ODBC32.DLL,
> >>i kdyz zrovna tahle funkce je z ODBCCP32.DLL (ovladaci panel)).
> >>
> >>Daniel
> >>
> >>-----Original Message-----
> >>From: Daniel Rott [mailto:roxton(zv)atlas(tec)cz]
> >>Sent: Thursday, December 07, 2000 10:45 AM
> >>To: delphi-l(zv)fwd(tec)cz
> >>Subject: Re: ODBC, ADO, MSACCESS - komprimacia tabulky
> >>
> >>
> >>> ako skomprimujem databazu???
> >>V ODBC to jde pomoci funkce SQLConfigDataSource,
> >>takze nejak takto:
> >>
> >>SQLConfigDataSource(0,ODBC_CONFIG_DSN,
> >> 'Microsoft Access Driver (*.mdb)',
> >> 'COMPACT_DB=<source db> <dest db> <sort order>');
> >>
> >>Podrobnosti jsou popsany v ODBCJET.HLP
> >>
> >>Daniel
> >>------------------------------------------------------
> >>Daniel Rott - roxton(zv)volny(tec)cz
> >>http://www.volny(tec)cz/roxton
> >>Some minor bugs/features fixed/added
> >>
> >>
> >>
> >>
>
>
>


--
-----------------------------------------------
Ing. Zdenek Drvota e-mail: drvota(zv)zds(tec)cz
director
ZDS, spol. s r.o.
Hronovicka 708 tel:+420-40-6613756
530 02 Pardubice fax:+420-40-6613756
Czech Republic http://www.zds(tec)cz
e-mail: info(zv)zds(tec)cz
Pripojte se k hledani mimozemskych civilizaci:
SETI(zv)Home http://setiathome.ssl.berkeley.edu
Darek, ktery nezklame? CeDecko od nas!
http://www.zds(tec)cz/cdrom/cdrom.asp?sender=mail
--


Ako pracuje funkcia "random()" ?

[*] Zdenek Janish <medusa(zv)brajan(tec)cz> - 21.12.2000 17:15:15

Ahoj,

Mam k dispozici zdrojovy (ASM) text k funkci random... Ale jenom k TP
(BP) 7.0 a random nedela nic jineho, nez ze inicializuje dva Wordy
podle casovace.... :-)) Ktere jsou jinak 0 a pak se jejich hodnota
meni podle nejake aritmeticke alchimie ve funkci Random...
Je-li zajem nekde ji vyhrabu (predelaval jsem ji do jednocipu...)

Zdenek

----- Original Message -----
From: "Hurricane" <hurricane(zv)quick(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Tuesday, December 19, 2000 3:54 PM
Subject: Re: Ako pracuje funkcia "random()" ?


Zdravim

Myslim, ze staci Randomize (=vytvoreni nahodne rady cisel) volat jen
jednou.
Za prve je ta rada dost velka na to, aby se ti opakovala tolikrat aby
to
vadilo. A za druhe je do docela narocna operace, takze to jistou
chvili
trva. F�nkce pro nahodna cisla ti napr. u kalkulacky vraci cislo
jdouci 0 a
limitne se blizici 1. V Pascalu muzes zadat i limitery (IMHO mam
pocit, ze
ale jenom horni), ktere ti tuto radu upravi od spodniho limiteru k
hornimu.
Takhle jsem treba ve starem Pascalu vykresloval na monituru potvory
(ve
hre), spodni limiter je 0 a jako horni sem dal pocet sloupcu monitoru.

Hurricane

----- Original Message -----

Nevim jak to funguje v Delphi, ale obecne lze "nahodne" cislo
vygenerovat
pomoci soustavy nekolika pomerne jednoduchych rovnic. Vysledne cislo
dostanete jako kombinaci vyslewdku techto rovnic. Dalsi cislo je
zavisle na predchazejicim vysledku. Pokud tedy na zacatku nastavim
promenne vzdy na stejne hodnoty, dostanu vzdy stejnou radu "nahodnych"
cisel. Proto bych doporucoval vzdy pred zahajenim vypoctu s nahodnym
cislem pouzit funkci Randomize, ktera nastavi pocatecni hodnoty
na nejaka "nahodna" cisla - mohou to byt hodnoty vzate z internich
hodin pocitace.

Dale je potreba si uvedomit, ze vsechny zakladni generatory obvykle
generuji nahodne hodnoty v rozmezi 0..1 jako rovnomerne rozdeleni.
Pokud chci nejake jine rozdeleni, musim si pomoci prislusnych rovnic
nahodnou hodnotu prepocitat.

Karel

-----P�vodn� zpr�va-----
Od: Hurricane [mailto:hurricane(zv)quick(tec)cz]
Odesl�no: 18. prosince 2000 16:28
Komu: delphi-l(zv)fwd(tec)cz
P�edm�t: Re: Ako pracuje funkcia "random()" ?


Zdravim

To je zajimave a casto diskutovane tema. V prve rade je nutne si
uvedomit,
za pocitac NEDOKAZE generovat nahodne cislo. Jedna se VZDYCKY o tzv.
pseudonahodne cislo. Na prvni pohled to sice vypada jako nahodne, ale
jeho
puvod je ve slozitych rovnicich, ktere vypocitavaji radu cisel z
menicich se
udaji. Napr. z hodin, z .... a taky z limitnich hodnot. Pocitac pri
pozadavku na nahodna cisla nejdrive vytvori radu cisel podle rovnic a
potom
pouze cte z teto rady. V Delphi je to sice uz transparentni, ale v
ATARI
Basicu (a asi i v jinych) jsem nejdriv musel volat prikaz, ktery
vytvori
radu a az potom prikaz, ktery z rady cte jednotliva cisla. Docela by
me ale
zajimalo, jak tuto radu tvori napr. kalkulacka, ve ktere zadne hodiny
nejsou.

Ted jsem cetl prispevky o tranzistoru s volnou bazi apod. Myslim, ze v
normalni PC nic takoveho neni a "nahodne" cislo se vypocitava pouze
softwarov�.

Hurricane


Instalacia novych komponent.

[*] Zdenek Janish <medusa(zv)brajan(tec)cz> - 21.12.2000 17:20:48

Nooo, urcite existuje i jine reseni, ale ja dam file/new/package...
Zjevi se formular a tam je "Compile", "Add", "Remove", "Install",
atd...

Pomoci "Add" pridas komponenty a pak je "Compile"nes a pokud ti Delfak
nevynada tak muzes stisknout "Install" a uz se Ti pridaj a jsou k
dispozici... :-))

Zdenek

----- Original Message -----
From: "KINEKUS" <kinekus(zv)nextra.sk>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Thursday, December 21, 2000 12:19 PM
Subject: Instalacia novych komponent.> Stiahol som si nejake free komponenty z webu.
>
> Poradite(lopata) mi, ako ich mam naistalovat do D4?
>
> Ucim sa. Dakujem
>
> Milan Fabik
>

Kopia zaznamu pomocou SQL

[*] Martin Macko <martinm(zv)m-pro(tec)cz> - 21.12.2000 16:50:40 -0000

A co neco na zpusob:

INSERT INTO tabulka (ROCNIK,sloupec1,sloupec2,sloupec3 ... ,POZNAMKA) SELECT
'2001',sloupec1,sloupec2,sloupec3 ... ,'Prevedene do ...' FROM tabulka WHERE
ID...

Predpokladam, ze na ID je generator nebo neco podobnyho ...

M.Macko, M-PRO s.r.o.


-----Original Message-----
From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
MMrazik
Sent: Wednesday, December 20, 2000 8:25 PM
To: delphi-l(zv)fwd(tec)cz
Subject: Re: Kopia zaznamu pomocou SQL


Ahoj,
mozno som dal malo informacii. Ide o tzv. podaci dennik - evidencia
pisomnosti. Je to knuiha, kde sa kazdy zapis aj ked je neplatny musi skrtnut
a uviest v poznamke preco je neplatny.

No databazi to musi ostat zachovane. Takze tabulka ma kopu poloziek nebudem
ich vypisovat ale tie rozhodujuce su:

ID_ZAZN - primarny kluc
CJ - cislo jednacie
Rocnik - rocnik do ktoreho dane cislo jednacie patri.
..... - kopa poloziek ale tie teraz nehraju rolu
Poznamka - sem sa v povodnom zapise len uvedie, ze spis bol prevedeny do
dalsieho roka a nic ine sa s tym povodnym zaznamom nedeje. V novom zapise v
dalsom roku bude poznamka prazdna a ked by sa aj tento prelozil do dalsieho
roka tak by sa to dialo obdobne.

Preto som si myslel ze najjednoduchsie bude vytvorit jeho kopiu, zmenit v
nej len rocnik a v povodnom zazname do poznamky zapisat "Prevedene do
rokcnika xxxx" a hotovo.

Cely problem mam v tom, ze program mam uz hotovy a toto tam potrebujem
pridat. Robil som ho tak, ze mi funguje na Interbase a zaroven na Paradoxe
takze by to bol ako klient server tak aj file server - preto sa vyhybam
ulozenym proceduram a vsetkemu co si v Paradoxe nemozenm dovolit.

Neviem bude ti stacit tolko informacii?
Diky

Miro Mrazik


----- Original Message -----
From: "Hynek Svato�" <svatos(zv)kam(tec)czu(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Wednesday, December 20, 2000 5:57 PM
Subject: RE: Kopia zaznamu pomocou SQL


> Zdar a silu, nesmis byt tak skoupy na informace a prozradit nam,
> pro jakou db to potrebujes, a jak zhruba vypada ta tabulka ...
>
> Keep mailing :-)
> =======================
> Hynek Svato�
> svatos(zv)kam(tec)czu(tec)cz
> hynek.svatos(zv)atlas(tec)cz
> =======================
>
> > -----Original Message-----
> > From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> > MMrazik
> > Sent: Wednesday, December 20, 2000 3:42 PM
> > To: Delphi conf.
> > Subject: Kopia zaznamu pomocou SQL
> >
> >
> > Zdravim Vas,
> >
> > mam jednoduchu evidenciu. Potrebujem previest urceny zaznam z jedneho
roka
> > do druheho.
> > Prikazom UpDate - SQL zmenim teda v zazname prislusny rok a zaznam sa mi
> > automaticky
> > presunie do dalsieho roka. OK.
> > Lenze ja potrebujem ten povodny zaznam ponechat tak ako je, len do
jedneho
> > jeho pola pripisat ze zaznm je prevedeny do dalsieho roka. Takze
> > idealne by
> > bolo povodny zaznam skopirovat a v kopii zaznamu zmenit len rocnik, a v
> > povodnom zazname zapisat do prislusneho pola ze bol prevedeny do
dalsieho
> > rocnika.
> >
> > Problem je v tom, ze tabulka ma primarny kluc a ked by som chcel pridat
> > zaznam pomocou
> > prikazu INSERT s vnorenym prikazom SELECT tak mi to nedovoli,
> > lebo primarny
> > kluc by bol duplicitny.
> >
> > INSERT INTO DENNIK SELECT * FROM DENNIK WHERE ID_ZAZN = 123
> >
> > UPDATE ...
> > atd.
> >
> >
> > Neviete mi niekto poradit?
> > PS. Potrebujem to bez pouzitia ulozenych procedur.
> >
> > mm
> >
> >
> >
>
>


Avast32 (VPS 3.11.2000): zprava neobsahuje virus


Avast32 (VPS 3.11.2000): zprava neobsahuje virus


OT: IB Checksum Error - CO??? Ja nechci!

[*] Michal Tiller <Michal.Tiller(zv)oskarmobil(tec)cz> - 21.12.2000 18:40:19

This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

Co znamena toto?

ISC ERROR MESSAGE:
database file appears corrupt ()
bad checksum
checksum error on database page 499915
"
Vyhazuje mi to database pri insertu. Ale jina aplikace do stejne tabulky
insert udelat muze.

Diky moc,

<mailto:Michal.Tiller(zv)oskarmobil.Cz%20%20%20%20%20:o)>
Michal.Tiller(zv)oskarmobil.Cz :o)
RF Support Coordinator, OSKAR, RF - Engineering
+420 (02) 7117 1388, +420 (0608) 011 327<?xml:namespace prefix = o ns =
"urn:schemas-microsoft-com:office:office" />

Kvalita IB6

[*] Miroslav Hostinsk� <miroslav.hostinsky(zv)worldonline(tec)cz> - 21.12.2000 19:27:36

Ahoj
Ja se znazim s IB delat pravy opak. To znamena, ze se snazim naservirovat
sve pozadavky tak, aby je IB dobre zvladala. K me spokojenosti se mi tento
pristup vyplaci. IB dela to co potrebuji. Nepracuji s prilis velkymi daty,
ale cca50 az 150 MB. Aplikace jsou co se bezpecnosi tyka, velmi velmi
spolehlive (zatim jsem neprisel o zadna data) a take velmi rychle. IB podle
mych zkusenosti potrebuje dostatek pameti pro praci s vetsim poctem zaznamu,
jinak ztraci velmi rapidne rychlost 20x az 30x. To co popisujete v bode 2 je
hruza, zajimalo by me jak by se s podobnym pozadavkem vyrovnal jiny server,
ktery bude mit k dispozici stejnou pamet. Nemam zkusenosti s jinymi DB, ale
jsem plne spokojen s IB. Nevadi mi, ze je zadarmo.

S pozdravem
Hostinsky Miroslav
----- Original Message -----
From: "David Lebeda" <david.lebeda(zv)comarr(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Thursday, December 21, 2000 10:43 AM
Subject: Kvalita IB6


> Ahoj,
>
> behem hrani si s IB6 SQL serverem a zkousenim, co vydrzi, jsem
> byl pomerne neprijemne prekvapen, jak snadne je ho shodit ci
> zahltit.
>
> 1) Mam aplikaci, ktera provadi update na nekolika radcich. To je
> OK. Pokud ji spustim vicekrat a updaty si konkuruji, polozi to
> server tim zpusobem, ze zabira 83 procent casu procesoru a
> naprosto nereaguje na pozadavky klienta. Ukonceni vsech klientu
> nevede k zadne zmene - proces ibserver je nutne zabit.
>
> 2) Mam jinou aplikaci, ktera provadi jednoduchy select (vraci cca
> 30 radku) periodicky kazdou sekundu. V kazdem tiku casovace se
> otevre transakce, pomoci komponenty IBSQL z IBX provede select
> a commituje transakci. Pokud spustim vice nez cca 20 instanci
> teto aplikace zacnou na SQL serveru neustale pribyvat nove
> procesy (ibserver), zabirajici pres 10MB pameti az do chvile padu
> serveru. Pokud drive nez server spadne, vsechny sve aplikace
> ukoncim, zustanou nektere tyto procesy na SQL serveru viset.
>
> SQL server bezi na Linuxu, Pentium 233 MHz. To je sice celkem
> bidny HW, ale vsichni prece tvrdi, ze IB6 bezi SLUSNE i na slabem
> hardware.
> Mne se zda, ze jakmile stoupne pocet prihlasenych uzivatelu,
> kteri neco delaji, posle to IB6 server snadno do kolen nebo do
> stavu, kdy po sobe neni schopen uklidit. Podobne i nekolik
> nenarocnych ukolu spustenych soucasne ho snadno oddela.
> Nevadilo by mi, kdyby nestihal a posilal chybove hlasky apod. On
> ale zatuhne. Nejak tomuto serveru prestavam verit.
>
> Jake mate nazory?
>
> David
>

Kvalita IB6

[*] stingp1.eti(zv)mail.cez(tec)cz - 21.12.2000 19:54:24

> 1) Mam aplikaci, ktera provadi update na nekolika radcich. To je
> OK. Pokud ji spustim vicekrat a updaty si konkuruji, polozi to
> server tim zpusobem, ze zabira 83 procent casu procesoru a
> naprosto nereaguje na pozadavky klienta. Ukonceni vsech klientu
> nevede k zadne zmene - proces ibserver je nutne zabit.
>

Problem bych videl spis nez na serveru v aplikaci, nejspis v transaction
isolation levelu (IL) - konkurentni updaty pri nekorektnim IL mohou
zpusobit deadlock.

> 2) Mam jinou aplikaci, ktera provadi jednoduchy select (vraci cca
> 30 radku) periodicky kazdou sekundu. V kazdem tiku casovace se
> otevre transakce, pomoci komponenty IBSQL z IBX provede select
> a commituje transakci. Pokud spustim vice nez cca 20 instanci
> teto aplikace zacnou na SQL serveru neustale pribyvat nove
> procesy (ibserver), zabirajici pres 10MB pameti az do chvile padu
> serveru. Pokud drive nez server spadne, vsechny sve aplikace
> ukoncim, zustanou nektere tyto procesy na SQL serveru viset.

Pokud pouzivate super server, doporucil bych zkusit klasika, zda se mi
stabilnejsi, ackoli na sestave, na jake to provozujete, by to asi chtelo
vic pameti. Ja sam vyuzivam IB6 na RH 7.0, PII 350MHz, 64MB pro sledovani
technologickych dat z fluidnich kotlu. Zulove stabilni.

--------------------------------
Pavel Stingl
mailto: stingp1.eti(zv)mail.cez(tec)cz
--------------------------------

ORACLE setup - TNS Listener

[*] olesia <olesia(zv)idirect(tec)com> - 21.12.2000 13:56:24 -0500

Ahojte,

Potrebujem poradit. Mame Oracle 8.0, pedtym bezal na vnutornej sieti, teda
mal len jednu network card,
teraz sme tam nainstalovali este jednu network card na vonkajsiu ip -
internet. Karty su nastavene spravne, skontrolovala som to, lenze neviem sa
zvonku pripojit na nas server. Skusala som sa hrat s tnsnames.ora
a tnslistener.ora, kde su zadefinovane ip oracle instancii, aj som (v
zufaloasti asi) pridala vonkajsiu ip do hosts suboru,ale stale sa nemozem
pripojit - vyhlasuje chybu
The test did not succeed.
ORA-12224: TNS:no listener

a ani tnsping na vonkajsiu ip nejde. Nemal nikto s tym skusenosti?
Dakujem,


Lelitka


ORACLE setup - TNS Listener

[*] stingp1.eti(zv)mail.cez(tec)cz - 21.12.2000 20:24:35

>Potrebujem poradit. Mame Oracle 8.0, pedtym bezal na vnutornej sieti, teda
>mal len jednu network card,
>teraz sme tam nainstalovali este jednu network card na vonkajsiu ip -
>internet. Karty su nastavene spravne, skontrolovala som to, lenze neviem sa
>zvonku pripojit na nas server. Skusala som sa hrat s tnsnames.ora
>a tnslistener.ora, kde su zadefinovane ip oracle instancii, aj som (v
>zufaloasti asi) pridala vonkajsiu ip do hosts suboru,ale stale sa nemozem
>pripojit - vyhlasuje chybu
>The test did not succeed.
>ORA-12224: TNS:no listener
>
>a ani tnsping na vonkajsiu ip nejde. Nemal nikto s tym skusenosti?

Hi,

videl bych to asi tak, ze

a) patrne vubec nejede listener
b) je treba mit pro kazdou sitovku extra listener

tudiz bych asi doporucil doplnit adresu do listener.ora, asi takhle:

LISTENER =
(ADDRESS_LIST =
(ADDRESS= (PROTOCOL= IPC)(KEY= ETIL))
(ADDRESS= (PROTOCOL= IPC)(KEY= PNPKEY))
(ADDRESS= (PROTOCOL= TCP)(Host= ip.adresa.prvni.sitovky)(Port= 1521))
(ADDRESS= (PROTOCOL= TCP)(Host= ip.adresa.druhe.sitovky)(Port= 1526))
)

Port by asi nutne nemusel byt jiny, ale sichr je sichr.

Pokud jedete Oracle na NT, pak jeste skoncit service "Oracle listener" a znovu
jej
najet, ci spis restartovat cely server. Pokud jedete na jakemkoli unixu, pak
staci

# lsnrctl stop
# lsnrctl start

nebo

# lsnrshut
# lsnrstart

a melo by to chodit. Pozor - unixove porty Oracle NEUMEJI CR/LF v konfiguracnich
souborech, takze pozor na konce radku v souborech tnsnames.ora, listener.ora,
pokud byly editovany na windoze (obzvlaste Linuxovy klon se mne natrapil ;)

--------------------------------
Pavel Stingl
mailto: stingp1.eti(zv)mail.cez(tec)cz
--------------------------------

Zjisteni poctu let

[*] Ber�nek Pavel <Pavel.0(zv)worldonline(tec)cz> - 21.12.2000 20:59:12

Dobry den (vecer),

chtel jsem, aby mi program odecetl vlozene datum od data aktualniho a
zjistil tudiz pocet let (v mem pripade presny vek). Ale vzdy mi vypocital
nesmyslne datum. Nemel jste nekdy nekdo podobny problem ? Za rady dekuji...

Pavel Beranek


ORACLE- Listener

[*] olesia <olesia(zv)idirect(tec)com> - 21.12.2000 15:01:04 -0500

Diky
Uz to mam vyriesene. Musela som zadefinovat zvlast listener pre tu vonkajsiu
adresu s inym ako default portom pre oracle, teda na 1526

Potom uz to islo


Lelitka


Chranen pristup do databaze...

[*] vlada_ponechal(zv)post(tec)cz - 21.12.2000 21:31:58

Panove, preji hezky den,
1.) Protoze databaze musi byt chranene pred vnejsim zasehem uzivatele tak, aby byla chranena integrita dat, nesmi mit uzivatel pristup do databazi mimo programu (database desktop (DD), etc...). Vybral jsem si teda podle meho nejednodussi alternativu, to znamena v DD jsem si na databazi zapnul security password a moje filozofie je takova, ze chci do DPR file pridat heslo (uzivatelske pravidla-role urcuji na urovni applikace). No prave, chci... Nasel jsem si nejake priklady tady v konferenci, ale ty jsou spise udelane pro primy login do tabulek... nemuzete poradit, jak to udelat?
2.) Apropo, je tato cesta bezpecna? Neda se to heslo nejakym zpusobem zrusit? Protoze ja mam v jedne databazi i hesla pristupu, ktere jsou normalne k precteni.

-Mam Delphi3 prof...
-A pevne doufam, ze tato message do konference konecne proleze :-(...

Diky,

Vlada P.

Akcni dotaz

[*] Ber�nek Pavel <Pavel.0(zv)worldonline(tec)cz> - 21.12.2000 21:40:37

Ahoj,

jeste jsem zapomnel jeden zadrhel. Potrebuji pri zavreni formu aktualizovat
jednu polozku ve vsech zaznamech na hodnotu FALSE. Nevite nekdo jak ?

Dekuji

Pavel Beranek


Ako pracuje funkcia "random()" ?

[*] Zdenek Janish <medusa(zv)brajan(tec)cz> - 21.12.2000 21:52:53

Sorry, takhle to ma byt...

Ahoj,

Mam k dispozici zdrojovy (ASM) text k funkci random... Ale jenom k TP
(BP) 7.0 a randomize nedela nic jineho, nez ze inicializuje dva Wordy
podle casovace.... :-)) Ktere jsou jinak 0 a pak se jejich hodnota
meni podle nejake aritmeticke alchimie ve funkci Random...
Je-li zajem nekde ji vyhrabu (predelaval jsem ji do jednocipu...)

Zdenek

> ----- Original Message -----
> From: "Hurricane" <hurricane(zv)quick(tec)cz>
> To: <delphi-l(zv)fwd(tec)cz>
> Sent: Tuesday, December 19, 2000 3:54 PM
> Subject: Re: Ako pracuje funkcia "random()" ?
>
> Zdravim
>
> Myslim, ze staci Randomize (=vytvoreni nahodne rady cisel) volat jen
> jednou.
> Za prve je ta rada dost velka na to, aby se ti opakovala tolikrat
aby
> to
> vadilo. A za druhe je do docela narocna operace, takze to jistou
> chvili
> trva. F�nkce pro nahodna cisla ti napr. u kalkulacky vraci cislo
> jdouci 0 a
> limitne se blizici 1. V Pascalu muzes zadat i limitery (IMHO mam
> pocit, ze
> ale jenom horni), ktere ti tuto radu upravi od spodniho limiteru k
> hornimu.
> Takhle jsem treba ve starem Pascalu vykresloval na monituru potvory
> (ve
> hre), spodni limiter je 0 a jako horni sem dal pocet sloupcu
monitoru.
>
> Hurricane
>
> ----- Original Message -----
>
> Nevim jak to funguje v Delphi, ale obecne lze "nahodne" cislo
> vygenerovat
> pomoci soustavy nekolika pomerne jednoduchych rovnic. Vysledne cislo
> dostanete jako kombinaci vyslewdku techto rovnic. Dalsi cislo je
> zavisle na predchazejicim vysledku. Pokud tedy na zacatku nastavim
> promenne vzdy na stejne hodnoty, dostanu vzdy stejnou radu
"nahodnych"
> cisel. Proto bych doporucoval vzdy pred zahajenim vypoctu s nahodnym
> cislem pouzit funkci Randomize, ktera nastavi pocatecni hodnoty
> na nejaka "nahodna" cisla - mohou to byt hodnoty vzate z internich
> hodin pocitace.
>
> Dale je potreba si uvedomit, ze vsechny zakladni generatory obvykle
> generuji nahodne hodnoty v rozmezi 0..1 jako rovnomerne rozdeleni.
> Pokud chci nejake jine rozdeleni, musim si pomoci prislusnych rovnic
> nahodnou hodnotu prepocitat.
>
> Karel
>
> -----P�vodn� zpr�va-----
> Od: Hurricane [mailto:hurricane(zv)quick(tec)cz]
> Odesl�no: 18. prosince 2000 16:28
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: Re: Ako pracuje funkcia "random()" ?
>
> Zdravim
>
> To je zajimave a casto diskutovane tema. V prve rade je nutne si
> uvedomit,
> za pocitac NEDOKAZE generovat nahodne cislo. Jedna se VZDYCKY o tzv.
> pseudonahodne cislo. Na prvni pohled to sice vypada jako nahodne,
ale
> jeho
> puvod je ve slozitych rovnicich, ktere vypocitavaji radu cisel z
> menicich se
> udaji. Napr. z hodin, z .... a taky z limitnich hodnot. Pocitac pri
> pozadavku na nahodna cisla nejdrive vytvori radu cisel podle rovnic
a
> potom
> pouze cte z teto rady. V Delphi je to sice uz transparentni, ale v
> ATARI
> Basicu (a asi i v jinych) jsem nejdriv musel volat prikaz, ktery
> vytvori
> radu a az potom prikaz, ktery z rady cte jednotliva cisla. Docela by
> me ale
> zajimalo, jak tuto radu tvori napr. kalkulacka, ve ktere zadne
hodiny
> nejsou.
>
> Ted jsem cetl prispevky o tranzistoru s volnou bazi apod. Myslim, ze
v
> normalni PC nic takoveho neni a "nahodne" cislo se vypocitava pouze
> softwarov�.
>
> Hurricane
>
>
>

Zjisteni poctu let

[*] Martin Zlomek <martin.zlomek(zv)email(tec)cz> - 21.12.2000 22:09:23

Zkuste konvertovat vlozene datum funkci StrToDate (prevede to do typu
TDateTime). Funkci Date zjistite aktualni datum (vrati datum rovnez
v promenne typu TDateTime). Po odecteni techto dvou datumu dostanete
rozdil jako pocet dnu. Nebo je mozne to pocitat jeste pomoci fce
DecodeDate (rozlozi datum typu TDateTime na roky, mesice a dny).
Popis vsech funkci: viz HELP.

Thursday, December 21, 2000, 8:59:12 PM:
> Dobry den (vecer),

> chtel jsem, aby mi program odecetl vlozene datum od data aktualniho a
> zjistil tudiz pocet let (v mem pripade presny vek). Ale vzdy mi vypocital
> nesmyslne datum. Nemel jste nekdy nekdo podobny problem ? Za rady dekuji...

> Pavel Beranek


--
Martin Zlomek
martin.zlomek(zv)email(tec)cz

CreateProcessAsUser

[*] Pavel Malinsk� <spiderland(zv)iol(tec)cz> - 21.12.2000 22:32:48

Ahoj,

a nepoustis to nahodou na W9x. Tyto
fce jsou jen pro WinNT.

S pozdravem
=====================================
> Pavel Malinsky; spiderland(zv)iol(tec)cz <
>===================================<
> ...The Truth Is Out There... <
=====================================
GSM: 0602 652 203

> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> Michal.Michal
> Sent: Thursday, December 21, 2000 5:05 PM
> To: delphi-l
> Subject: CreateProcessAsUser
>
>
> Potrebuju aby muj program bezel pod jinhym uctem nez je
> aktualne prihlaseny uzivatel.
> Zkusil jsem pouzit API funkci CtreateProcessAsUser a LogOnUser.
> To mi ale nechodi, tak bych se chtel zeptat, jak je to mozne udelat.
> Pokud by nekdo neco takoveho pouzil, nebo vi jak zminovane API funkce
> pouzit, tak se mi prosim ozvete.
>
> S pozdravem
> Michal
>
>
>

Akcni dotaz

[*] Pavel Malinsk� <spiderland(zv)iol(tec)cz> - 21.12.2000 22:32:45

Ahoj,

obsad udalost OnClose nebo OncloseQuery
formulare.

S pozdravem
=====================================
> Pavel Malinsky; spiderland(zv)iol(tec)cz <
>===================================<
> ...The Truth Is Out There... <
=====================================
GSM: 0602 652 203

> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> Ber�nek Pavel
> Sent: Thursday, December 21, 2000 9:41 PM
> To: Delphi
> Subject: Akcni dotaz
>
>
> Ahoj,
>
> jeste jsem zapomnel jeden zadrhel. Potrebuji pri zavreni formu
> aktualizovat
> jednu polozku ve vsech zaznamech na hodnotu FALSE. Nevite nekdo jak ?
>
> Dekuji
>
> Pavel Beranek
>
>

Registry

[*] Pavel Malinsky <spiderland(zv)iol(tec)cz> - 21.12.2000 22:32:43

Ahoj,

na to existuje procedura WriteBinaryData()
(TRegistry), ale velikost je mam dojem omezena na 2k.

S pozdravem
=====================================
> Pavel Malinsky; spiderland(zv)iol(tec)cz <
>===================================<
> ...The Truth Is Out There... <
=====================================
GSM: 0602 652 203

-----Original Message-----
From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of Benes
Jaroslav
Sent: Thursday, December 21, 2000 6:23 AM
To: delphi-l(zv)fwd(tec)cz
Subject: Registry


Ahoj,
prosim, jak vlozim do registru binarni data cca 4kB velka ? Byl by prikladek
?
Dekuji
Jaro B.

TDateTime a NIL

[*] Marek Soukup <msoukup(zv)btt(tec)cz> - 22.12.2000 01:48:54

Zdravim,
uz jsem z toho magor, takze stupidni otazka.
Mam paradox tabulku z ktery sosam data pres query (BDE TQuery) a ukladam to
do Accessu97 (ODBC-BDE TQuery) a problem nastane ve chvili kdy se snazim
ulozit polozku typu TDateTime, ktera je v ty Paradox tabulce nevyplnena.
V tu chvili mi ten dotaz spadne, ze je spatna hodnota datumu (invalid
datetimeformat (null)).
Tak jsem tam dal podminku pres IsNull funkci, ale ta mi proleze (takze to
asi null nebude). Pak jsem zkousel ruzny finty a prislo mi, ze obcas to
proslo, ale uspech se proste nedostavil.

Dejme tomu, ze ten dotaz vypada takhle:
INSERT INTO CYKLUS (DATPUNKCE,DATPREEMB) VALUES(:DATPUNKCE,:DATPREEMB);
a v kodu to potom vypada takhle:
qryInsertCyklus.ParamByName ('DATPUNKCE').Value:=
dmStatList.qryEmbryo.FieldByName ('DatOdbOOC').AsDateTime;
qryInsertCyklus.ParamByName ('DATPREEMB').Value:=
dmStatList.qryEmbryo.FieldByName ('DatTrans').AsDateTime;

Je to dobre nebo delam nejakou koninu, jak se to dela spravne ?

S pozdravem
Marek Soukup


JCL pre Delphi 4 - SORRY

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.12.2000 03:04:47

From: "Olesia" <olesia(zv)idirect.com>
> V zipe mam len package pre delphi5
> Asi som nieco zle downloadla.

Ahoj,

pokud nepouzivas JCL ve vlastnich komponentach, tak nemusis balicek vubec
instalovat. JCL nejsou (a nebudou komponenty), takze pri pouziti ve vlastni
aplikaci muzes na JCL design time balicek uplne zapomenout. Jinak s D4 by
nemel byt vaznejsi problem, predpoklada se Update Pack #3.

Petr Vones, amatersky programator

JCL pre Delphi 4 - SORRY

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.12.2000 03:05:03

From: "Ales Radikovsky" <radik(zv)allstar(tec)cz>
> Ono JCL je kompatibilni s D4, ale bohuzel je to vyvijeno na D5 a podle me to
> asi nikdo na D4 tesne pred uverejnenim nezkousi. Vzdy se musi neco maleho

Ahoj,

to je pravda, proto tam take balicek pro D4 neni. Ve FULL RELEASE verzi, ktera
by mela byt asi nekdy zacatkem pristiho roku to bude jiz v poradku, usilovne
se na tom pracuje ;-)

Petr Vones, amatersky programator

ORACLE setup - TNS Listener

[*] Olesia <olesia(zv)idirect(tec)com> - 21.12.2000 18:47:30 -0800

Diky, presne tak som aj urobila, s tym rozdielom, ze som potom startla len
ten
druhy listener

Lelitka


-----Original Message-----
From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
stingp1.eti(zv)mail.cez(tec)cz
Sent: Thursday, December 21, 2000 11:25 AM
To: delphi-l(zv)fwd(tec)cz
Subject: Re: ORACLE setup - TNS Listener


>Potrebujem poradit. Mame Oracle 8.0, pedtym bezal na vnutornej sieti, teda
>mal len jednu network card,
>teraz sme tam nainstalovali este jednu network card na vonkajsiu ip -
>internet. Karty su nastavene spravne, skontrolovala som to, lenze neviem sa
>zvonku pripojit na nas server. Skusala som sa hrat s tnsnames.ora
>a tnslistener.ora, kde su zadefinovane ip oracle instancii, aj som (v
>zufaloasti asi) pridala vonkajsiu ip do hosts suboru,ale stale sa nemozem
>pripojit - vyhlasuje chybu
>The test did not succeed.
>ORA-12224: TNS:no listener
>
>a ani tnsping na vonkajsiu ip nejde. Nemal nikto s tym skusenosti?

Hi,

videl bych to asi tak, ze

a) patrne vubec nejede listener
b) je treba mit pro kazdou sitovku extra listener

tudiz bych asi doporucil doplnit adresu do listener.ora, asi takhle:

LISTENER =
(ADDRESS_LIST =
(ADDRESS= (PROTOCOL= IPC)(KEY= ETIL))
(ADDRESS= (PROTOCOL= IPC)(KEY= PNPKEY))
(ADDRESS= (PROTOCOL= TCP)(Host= ip.adresa.prvni.sitovky)(Port=
1521))
(ADDRESS= (PROTOCOL= TCP)(Host= ip.adresa.druhe.sitovky)(Port=
1526))
)

Port by asi nutne nemusel byt jiny, ale sichr je sichr.

Pokud jedete Oracle na NT, pak jeste skoncit service "Oracle listener" a
znovu
jej
najet, ci spis restartovat cely server. Pokud jedete na jakemkoli unixu, pak
staci

# lsnrctl stop
# lsnrctl start

nebo

# lsnrshut
# lsnrstart

a melo by to chodit. Pozor - unixove porty Oracle NEUMEJI CR/LF v
konfiguracnich
souborech, takze pozor na konce radku v souborech tnsnames.ora,
listener.ora,
pokud byly editovany na windoze (obzvlaste Linuxovy klon se mne natrapil ;)

--------------------------------
Pavel Stingl
mailto: stingp1.eti(zv)mail.cez(tec)cz
--------------------------------


ODBC, ADO, MSACCESS - komprimacia tabulky

[*] Miroslav Barica <miroslav.barica(zv)matador.sk> - 22.12.2000 07:05:50

no mam dojem ze mi to fungovalo aj ked som dal "C:\po kus\...."
"c:\Program files\..." ale skusim to este raz. inak az taky problem to
nie je, stlacenu databazu ulozis do rootu, a potom ju presunies kam
chces. pravda, nie vzdy je to mozne a prijatelne riesenie ;o)

-----Original Message-----
From: Daniel Rott [mailto:roxton(zv)atlas(tec)cz]
Sent: Thursday, December 21, 2000 9:34 AM
To: delphi-l(zv)fwd(tec)cz
Subject: Re: ODBC, ADO, MSACCESS - komprimacia tabulky


> omylom som vyvalil spravu, kde danil pise ze sa mu nepodarilo
> skomprimovat databazu ktora je v adresari obsahujucom medzeru.
> a co takto? ;o)
>
> ok:=_TSQLConfigDataSource(fnc)(0,ODBC_CONFIG_DSN,
> AccessDriver,'COMPACT_DB="C:\po kus\1.mdb" C:\11.mdb');

Ano, takto mi to take funguje (ja vzdy kvotoval zdroj i cil), ale co
kdyz
i cilova databaze obsahuje mezeru ? Nejvice se mi totiz zamlouva
komprimovat databazi do stejneho souboru, protoze odpadne
prejmenovavani. Ale to kupodivu selhava.

Daniel
------------------------------------------------------
Daniel Rott - roxton(zv)volny(tec)cz
http://www.volny(tec)cz/roxton
Some minor bugs/features fixed/added

pripojeni na MS SQL pres inet

[*] Ren� Otisk - 22.12.2000 07:07:56

Hi,

co musim vsechno nastavit, abych se mohlo pripojit k MS SQL serveru pres
interfernet. Mame tady MS SQL 7, MS ProxyServer 2.0, MS WinNT 4.0 service
pack 6.

Diky

Sroub


OT: DOS/win31 <--> WIN95 po ethernetu

[*] Tomas Vladik <tom.vladik(zv)swadvice(tec)cz> - 22.12.2000 07:50:29


Sikovnou veci na obcasne prenaseni dat je taky Windows Commander 4.5x a
paralelni kabl ... :-)

Vesele VANOCE!!!!


Tom

________________________________
Tomas Vladik

e-mail: tom.vladik(zv)swadvice(tec)cz
ICQ#: 101763081

OLE - tlac cez Word

[*] Peter Vlkovic <vlkovic(zv)minv.sk> - 22.12.2000 07:50:09

Ahoj,

chcel by som sa opytat nejakeho specialistu na OLE:
Da z Delphi zistit, ze Word uz dokoncil tlacovu ulohu,
ktoru som mu predtym poslal?

Pri pokuse zatvorit Word pred dokoncenim ulohy
dojde totiz k neziaducemu vyvolaniu dialogu,
ktoremu by som rad predisiel.

Poradi niekto?


Vlkovic


ToDo List

[*] Krska Vit <v_krska(zv)del(tec)cz> - 22.12.2000 07:52:50

okno je asi otevreny, ale je mimo viditelnou oblast monitoru (nekde za
rohem). stalo se mi to u watch. da se to zjistit, ze si zjistis to co mas v
delphi otevreno pomoci Alt + 0 (nula) nebo "View -> Window list"

jedna moznost: vymacknout z hardware maximalni rozliseni a doufat ze tam to
okno nekde bude. pak si ho presunout a vratit rozliseni na puvodni.

druha moznost :
otevrit systemovou nabidku a zvolit presunout. u w2000cz je to: (u ostatnich
woken to bude asi stejny)
a) zaktivnit neposlusne wokno, pomoci jiz zminovaneho Alt + 0
b) Alt + mezernik, zobrazi sys. nabidku
c) stisk "P" nebo jednou sipka dolu a Enter, tim se vybere polozka presunout
d) pomoci sipek s oknem pohybovat, pri trose stesti se nekde objevi
pozn: tento postup si natrenuj na viditelnem okne


Ing. V�t Kr�ka
vit.krska(zv)del(tec)cz

-----Original Message-----
From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of Petr
Reichl
Sent: Thursday, December 21, 2000 4:19 PM
To: ListServ - Delphi (el. adresa)
Subject: ToDo List


Dobry den,

mam takovy problemek s Delphi 5 Enterprise. Zobrazil jsem si ToDo list a
pote jsem ho nejakym zahadnym zpusobem zavrel a od te doby ho nemohu pres
menu zobrazit. Nesetkal jste se s tim nekdo?

Petr Reichl


TDateTime a NIL

[*] Olesia <olesia(zv)idirect(tec)com> - 21.12.2000 22:57:56 -0800


Ahojky,

Ja som mala podobny problem, lenze nie v accesse.
Vyriesila som to asi tak nejak:

if dmStatList.qryEmbryo.FieldByName ('DatOdbOOC').AsString=''
then qryInsertCyklus.ParamByName ('DATPUNKCE').Value:=null
else
qryInsertCyklus.ParamByName ('DATPUNKCE').Value:=
dmStatList.qryEmbryo.FieldByName ('DatOdbOOC').AsDateTime;

Lelitka

-----Original Message-----
From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of Marek
Soukup
Sent: Thursday, December 21, 2000 4:49 PM
To: Konference Delphi
Subject: TDateTime a NIL


Zdravim,
uz jsem z toho magor, takze stupidni otazka.
Mam paradox tabulku z ktery sosam data pres query (BDE TQuery) a ukladam to
do Accessu97 (ODBC-BDE TQuery) a problem nastane ve chvili kdy se snazim
ulozit polozku typu TDateTime, ktera je v ty Paradox tabulce nevyplnena.
V tu chvili mi ten dotaz spadne, ze je spatna hodnota datumu (invalid
datetimeformat (null)).
Tak jsem tam dal podminku pres IsNull funkci, ale ta mi proleze (takze to
asi null nebude). Pak jsem zkousel ruzny finty a prislo mi, ze obcas to
proslo, ale uspech se proste nedostavil.

Dejme tomu, ze ten dotaz vypada takhle:
INSERT INTO CYKLUS (DATPUNKCE,DATPREEMB) VALUES(:DATPUNKCE,:DATPREEMB);
a v kodu to potom vypada takhle:
qryInsertCyklus.ParamByName ('DATPUNKCE').Value:=
dmStatList.qryEmbryo.FieldByName ('DatOdbOOC').AsDateTime;
qryInsertCyklus.ParamByName ('DATPREEMB').Value:=
dmStatList.qryEmbryo.FieldByName ('DatTrans').AsDateTime;

Je to dobre nebo delam nejakou koninu, jak se to dela spravne ?

S pozdravem
Marek Soukup


Zjisteni poctu let

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 22.12.2000 08:04:32

>
> chtel jsem, aby mi program odecetl vlozene datum od data aktualniho a
> zjistil tudiz pocet let (v mem pripade presny vek). Ale vzdy mi
> vypocital nesmyslne datum. Nemel jste nekdy nekdo podobny problem ? Za
> rady dekuji...
>

Nepises presne, jak to delas, ale...

datum je v pocitaci ulozeno jako realne cislo, ktere udava pocet dni
od jisteho data (cela cast udava datum, zlomkova cast cas). Rozdil
dvou datumu je pocet dni mezi nimi (vcetne casu) a na roky apod.
to musis prepocitat sam.

David


Composite report

[*] Krska Vit <v_krska(zv)del(tec)cz> - 22.12.2000 08:10:39

ahoj,
pomoci komponenty QRCompositeReport spojuji dva reporty v jeden. vse se
generuje bez chyby, ale kdyz chci tisknout ze standartniho preview, tak
zahlasi acces violation.
kdyz nepouziji QRCompositeReport a dam preview, tak se reporty vytisknou ->
v reportech chyba asi neni
kdyz pri pouziti QRCompositeReport do ni vlozim jen jeden, tak tuto chybu
zahlasi taky -> asi neco s tou komponentou, nebo neco delam spatne?

nesetkal se nekdo s tim?

w2000prof., d5ent., qr 3.0.7


Zjisteni poctu let

[*] Milan Tome� <Milan.Tomes(zv)haida(tec)cz> - 22.12.2000 08:32:22

Pro vypocet veku pouzivam nasledujici metodu:

method Vek_Ke_Dni(DatNar Date, K_Datu Date) SmallInt
var
VypVek SmallInt
endVar
if Month(DatNar) = Month(K_Datu) then
if Day(DatNar) > Day(K_Datu) then
VypVek = Year(K_Datu)-Year(DatNar) - 1
else
VypVek = Year(K_Datu)-Year(DatNar)
endif
else
if Month(DatNar) > Month(K_Datu) then
VypVek = Year(K_Datu) - Year(DatNar) - 1
else
VypVek = Year(K_Datu) - Year(DatNar)
endIf
endif
return VypVek
endMethod

Je to psane v Paradoxu 7, ale myslim, ze prevest to do Delphi neni zadny
problem

Milan Tomes

> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> Ber�nek Pavel
> Sent: Thursday, December 21, 2000 8:59 PM
> To: Delphi
> Subject: Zjisteni poctu let
>
>
> Dobry den (vecer),
>
> chtel jsem, aby mi program odecetl vlozene datum od data aktualniho a
> zjistil tudiz pocet let (v mem pripade presny vek). Ale vzdy mi vypocital
> nesmyslne datum. Nemel jste nekdy nekdo podobny problem ? Za rady
> dekuji...
>
> Pavel Beranek


Sweep na IB6 a fetch

[*] Pavel Cisar <pcb(zv)atlas(tec)cz> - 22.12.2000 08:35:01

Haj hou!

On 21 Dec 2000,, David Lebeda wrote:

> Me slo o tu interni zalezitost. Jestli IBDataset musi pred kazdym
> radkem pozadat server o ten jeden radek, nebo jestli si rekne treba
> o 20 radku naraz. Jde mi o objem komunikace po siti.
> Pokud jde o IBSQL, tak moc nerozumim. Mam v IBSQL select
> dotaz a radky prochazim pomoci metody Next, ktera se o
> fetchovani stara zrejme na pozadi sama, stejne jako u IBDatasetu.
> Nebo je to jinak?

Aha. Takze jeste jednou a tentokrat uz to snad vysvetlim lepe :)

TIBDataSet ma vlastni cache na zaznamy. Ty ktere jeste nema,
tak si dotahne ze serveru (fetch). Zda si je nacita do foroty nevim,
uz jsem se do zdroju IBX dlouho nedival (a mezitim uz bylo par
revizi), ale vazne o tom pochybuji. Samozrejme, ze pokud
provedete skok vpred o vice jak jeden zaznam, musi se interne
udelat fetch vsech zaznamu mezi aktualnim a cilovym.

TIBSQL nema zadnou cache a je jednosmerny, a metoda Next je v
podstate totozna s Fetch, tzn. kazde volani Next vzdy provede
fetch.

Hodne zdaru


Pavel Cisar <pcisar(zv)inprise(tec)cz>
Borland s.r.o.

Registry

[*] Jano <jj_delphi(zv)ke.ubp.sk> - 22.12.2000 08:35:32

Ahoj,

napriklad takto:
===========
...
uses
Windows, Registry, SysUtils;
...
procedure TScreenSaverPassword.SavePasswordToRegistry(
const EncodedPassword: String);
var
Reg: TRegistry;
Buffer: array[0..MAX LENGTH ENCODED PASSWORD] of Char;
i: Integer;
begin
i := 1;
while i <= Length(EncodedPassword) do
begin
Buffer[i-1] := EncodedPassword[i];
Buffer[i] := Char(0);
Inc(i);
end;
Reg := TRegistry.Create;
with Reg do
begin
RootKey := HKEY CURRENT USER;
if OpenKey(KeyPasswPath, FALSE) then
begin
WriteBinaryData(KeyPasswName, Buffer, i);
CloseKey;
end;
Free;
end;
end;

Jano
-----Original Message-----
From: Bene� Jaroslav <JBenes(zv)cpoj(tec)cz>
To: delphi-l(zv)fwd(tec)cz <delphi-l(zv)fwd(tec)cz>
Date: 21. december 2000 6:49
Subject: Registry


Ahoj,

prosim, jak vlozim do registru binarni data cca 4kB velka ? Byl by prikladek 20

Dekuji

Jaro B.

Trigger

[*] Jaroslav Nadhera <nadhera(zv)csh(tec)cz> - 22.12.2000 09:11:15

> jeste jsem nedelal s zadnym triggerem. Muze mi nekdo rict jak udelam
trigger kterej mi vyvola udalost pokud se v tabulce zmeni pocet zaznamu ?

Podle me se pocet zaznamu zmeni pri pridani nebo ubrani zaznamu. Takze se
trigger udela

CREATE TRIGGER jmeno ON tabulka FOR INSERT AS telo triggeru
nebo
CREATE TRIGGER jmeno ON tabulka FOR DELETE AS telo triggeru

J. N�dhera

CSH spol. s r.o.
Velflikova 10, 160 00 Praha 6
tel: 02/2431 2344-5, fax: 02/652 28 92
Nedbalova 14, 701 00 Ostrava
tel: 069/663 56 87
e-mail: nadhera(zv)csh(tec)cz WWW: http://www.csh(tec)cz

ToDo List

[*] Pavel Malinsk� <spiderland(zv)iol(tec)cz> - 22.12.2000 09:38:14

Ahoj,

take se nam to stava casto, protoze nekdo ma 17" monitor,
jiny 15" takze kdyz si otevru projekt po nekom kdo ho mel
na 17" tak je vetsinou hotovo. Nejjednodussi je hrabnout do souboru
*.dsk (kofigurace pracovni plochy) prislusneho projektu a
opravit(nebo vymaznout) hodnoty Left a Top problemoveho okna.
Kazde okno ma v tomto souboru svou sekci [ToDoList], [WatchWindow]...

S pozdravem
=====================================
> Pavel Malinsky; spiderland(zv)iol(tec)cz <
>===================================<
> ...The Truth Is Out There... <
=====================================
GSM: 0602 652 203

> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On
> Behalf Of Krska Vit
> Sent: Friday, December 22, 2000 7:53 AM
> To: delphi-l(zv)fwd(tec)cz
> Subject: RE: ToDo List
>
>
> okno je asi otevreny, ale je mimo viditelnou oblast monitoru (nekde za
> rohem). stalo se mi to u watch. da se to zjistit, ze si zjistis
> to co mas v
> delphi otevreno pomoci Alt + 0 (nula) nebo "View -> Window list"
>
> jedna moznost: vymacknout z hardware maximalni rozliseni a doufat
> ze tam to
> okno nekde bude. pak si ho presunout a vratit rozliseni na puvodni.
>
> druha moznost :
> otevrit systemovou nabidku a zvolit presunout. u w2000cz je to:
> (u ostatnich
> woken to bude asi stejny)
> a) zaktivnit neposlusne wokno, pomoci jiz zminovaneho Alt + 0
> b) Alt + mezernik, zobrazi sys. nabidku
> c) stisk "P" nebo jednou sipka dolu a Enter, tim se vybere
> polozka presunout
> d) pomoci sipek s oknem pohybovat, pri trose stesti se nekde objevi
> pozn: tento postup si natrenuj na viditelnem okne
>
>
> Ing. V�t Krska
> vit.krska(zv)del(tec)cz
>
> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On
> Behalf Of Petr
> Reichl
> Sent: Thursday, December 21, 2000 4:19 PM
> To: ListServ - Delphi (el. adresa)
> Subject: ToDo List
>
>
> Dobry den,
>
> mam takovy problemek s Delphi 5 Enterprise. Zobrazil jsem si ToDo list a
> pote jsem ho nejakym zahadnym zpusobem zavrel a od te doby ho nemohu pres
> menu zobrazit. Nesetkal jste se s tim nekdo?
>
> Petr Reichl
>
>

Chranen pristup do databaze...

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 22.12.2000 10:01:00

> Panove, preji hezky den,
> 1.) Protoze databaze musi byt chranene pred vnejsim zasehem uzivatele
> tak, aby byla chranena integrita dat, nesmi mit uzivatel pristup do
> databazi mimo programu (database desktop (DD), etc...). Vybral jsem si
> teda podle meho nejednodussi alternativu, to znamena v DD jsem si na
> databazi zapnul security password a moje filozofie je takova, ze chci
> do DPR file pridat heslo (uzivatelske pravidla-role urcuji na urovni
> applikace). No prave, chci... Nasel jsem si nejake priklady tady v
> konferenci, ale ty jsou spise udelane pro primy login do tabulek...
> nemuzete poradit, jak to udelat? 2.) Apropo, je tato cesta bezpecna?
> Neda se to heslo nejakym zpusobem zrusit? Protoze ja mam v jedne
> databazi i hesla pristupu, ktere jsou normalne k precteni.
>
> -Mam Delphi3 prof...
> -A pevne doufam, ze tato message do konference konecne proleze :-(...
>
O jakou db jde?

David


Chranen pristup do databaze...

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 22.12.2000 10:26:32

On 21 Dec 2000, at 21:31, vlada_ponechal(zv)post(tec)cz wrote:

> Panove, preji hezky den,
> 1.) Protoze databaze musi byt chranene pred vnejsim zasehem uzivatele
> tak, aby byla chranena integrita dat, nesmi mit uzivatel pristup do
> databazi mimo programu (database desktop (DD), etc...). Vybral jsem si
> teda podle meho nejednodussi alternativu, to znamena v DD jsem si na
> databazi zapnul security password a moje filozofie je takova, ze chci

Jestlize pred nami peclive tajis, jakou databazi pouzivas, pak je
kazda rada draha. Pokud chces data zabezpecit pred
nepovolanymi stouraly, pak predpokladam, ze pouzivas SQL
databazi. Pokud Paradox, pak na bezpecnost zapomen, existuje
univerzalni heslo pro pristup do nej.


S pozdravem

Zbysek Hlinka

Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


Zjisteni poctu let

[*] Tomas Vladik <tom.vladik(zv)swadvice(tec)cz> - 22.12.2000 10:26:19

Vyzkousej v RX Lib tohle:

Unit

DateUtil

Declaration

procedure DateDiff(Date1, Date2: TDateTime; var Days, Months, Years: Word);

Description

Returns the difference between Date1 and Date2 in Days, Months and Years.

OT: DOS/win31 <--> WIN95 po ethernetu

[*] Jiri Kral <admin(zv)printo(tec)cz> - 22.12.2000 10:31:25

presne tohoto se chci zbavit, dat uz je pro PP moc (>60 MB)

==========================================================
Bc. Jiri Kral
administrator IT
tiskarna Printo, spol. s r.o.
e-mail: admin(zv)printo(tec)cz
mobil e-mail: jirka.kral(zv)click(tec)cz
ICQ# 15303940
PGP ID: 0x15AD9FB8 (najdete na www.pgp(tec)cz)

>>-----Original Message-----
>>From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On
>>Behalf Of Tomas Vladik
>>Sent: Friday, December 22, 2000 7:50 AM
>>To: delphi-l(zv)fwd(tec)cz
>>Subject: RE: OT: DOS/win31 <--> WIN95 po ethernetu
>>
>>
>>
>>Sikovnou veci na obcasne prenaseni dat je taky Windows Commander 4.5x a
>>paralelni kabl ... :-)
>>
>>Vesele VANOCE!!!!
>>
>>
>>Tom
>>
>>________________________________
>>Tomas Vladik
>>
>>e-mail: tom.vladik(zv)swadvice(tec)cz
>>ICQ#: 101763081
>>
>>
>>

ToDo List

[*] Petr Reichl <p.reichl(zv)gmc(tec)net> - 22.12.2000 10:50:56

Ano je to ono. Tahle moznost me tedy vubec nenapadla. Dik

Petr Reichl

| okno je asi otevreny, ale je mimo viditelnou oblast monitoru (nekde za
| rohem). stalo se mi to u watch. da se to zjistit, ze si
| zjistis to co mas v
| delphi otevreno pomoci Alt + 0 (nula) nebo "View -> Window list"
|
| jedna moznost: vymacknout z hardware maximalni rozliseni a
| doufat ze tam to
| okno nekde bude. pak si ho presunout a vratit rozliseni na puvodni.
|
| druha moznost :
| otevrit systemovou nabidku a zvolit presunout. u w2000cz je
| to: (u ostatnich
| woken to bude asi stejny)
| a) zaktivnit neposlusne wokno, pomoci jiz zminovaneho Alt + 0
| b) Alt + mezernik, zobrazi sys. nabidku
| c) stisk "P" nebo jednou sipka dolu a Enter, tim se vybere
| polozka presunout
| d) pomoci sipek s oknem pohybovat, pri trose stesti se nekde objevi
| pozn: tento postup si natrenuj na viditelnem okne


Chranen pristup do databaze...

[*] JIM Design <jim.design(zv)iol(tec)cz> - 22.12.2000 11:33:10

ahoj,

jakou databazi mas na mysli?!
Jestli to je Access nebo IB tak heslo nema vyznam, protoze existuji
univerzalni hesla.

M.Jirman

-----Original Message-----
From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
vlada_ponechal(zv)post(tec)cz
Sent: Thursday, December 21, 2000 9:32 PM
To: delphi-l(zv)fwd(tec)cz
Subject: Chranen pristup do databaze...


Panove, preji hezky den,
1.) Protoze databaze musi byt chranene pred vnejsim zasehem uzivatele tak,
aby byla chranena integrita dat, nesmi mit uzivatel pristup do databazi mimo
programu (database desktop (DD), etc...). Vybral jsem si teda podle meho
nejednodussi alternativu, to znamena v DD jsem si na databazi zapnul
security password a moje filozofie je takova, ze chci do DPR file pridat
heslo (uzivatelske pravidla-role urcuji na urovni applikace). No prave,
chci... Nasel jsem si nejake priklady tady v konferenci, ale ty jsou spise
udelane pro primy login do tabulek... nemuzete poradit, jak to udelat?
2.) Apropo, je tato cesta bezpecna? Neda se to heslo nejakym zpusobem
zrusit? Protoze ja mam v jedne databazi i hesla pristupu, ktere jsou
normalne k precteni.

-Mam Delphi3 prof...
-A pevne doufam, ze tato message do konference konecne proleze :-(...

Diky,

Vlada P.

Hledani a preskoky v binarnim souboru

[*] Marek ��ek - 22.12.2000 12:15:29

Ahoj,

toz ja to delam takhle a je to fast as hell
- hruba sila je hruba sila :)

Function SearchChar( Buf :Pointer; Chr :Char; I :Integer) :Integer;
assembler;
asm
MOV EDI, Buf
MOV EBX, ECX
MOV AL, Chr
CLD
REPNE SCASB
JNE (zv)(zv)1
MOV EAX, EBX
SUB EAX, ECX
(zv)(zv)1:
end; {SearchChar}

pro hledani 16/32 bitove polozky
mov al, chr - > mov ax/eax, word/double
repne scaw/scasd

az najdu shodu prvnich 1/2/4 znaku udelam
porovnani retezcu - neco jako

function CompArrays( A1, A2 :Pointer; L1, L2 :Integer): Integer; assembler;
asm
PUSH ESI
PUSH EDI
MOV ESI,EAX
MOV EDI,EDX
OR EAX,EAX
JE (zv)(zv)1
MOV EAX,L1
(zv)(zv)1: OR EDX,EDX
JE (zv)(zv)2
MOV EDX,L2
(zv)(zv)2: MOV ECX,EAX
CMP ECX,EDX
JBE (zv)(zv)3
MOV ECX,EDX
(zv)(zv)3: CMP ECX,ECX
REPE CMPSB
JE (zv)(zv)4
MOVZX EAX,BYTE PTR [ESI-1]
MOVZX EDX,BYTE PTR [EDI-1]
(zv)(zv)4: SUB EAX,EDX
POP EDI
POP ESI
end; {CompArrays}


je to vykuchany z kodu na trochu jine pouziti, ale
melo by to byt funkcni a snadno prizpusobitelne

Marek

Teorie: Databazovy objektovy pristup

[*] Delphi <delphi(zv)aitix(tec)cz> - 22.12.2000 13:08:16

Ahoj,
pred vanocnimi svatky bych mel namet k teoretickemu zamysleni.

Rekneme pro jednoduchost, ze chci udelat nejakou aplikaci,
treba na udrzovani firemnich kontaktu.
Bezne se to asi dela tak, ze se navrhnou databazove tabulky, rozmysli se,
jak ma aplikace vypadat, vytvori datamodul, do toho par query, na formular
se soupnou cudliky dopredu, dozadu, pridat ... , v jejich onclick eventech
se vyvola Query.next atd...
Tento postup by asi dal definovat jako aplikacne zamereny...
Hezka, rychla cesta...

Jenze neni lepsi vytvorit objekt UZIVATEL, definovat mu metody NactiVetu(),
UlozVetu(), PosliFax(), VytocTelefon(), Tiskni(), TiskniObalku() atd a tento
objekt pak pouzivat nezavisle?
Je to postup, jak by se to asi delalo v JAVE, jenze ja se s timto resenim v
Delphi moc nesetkavam.
Vetsinou prevazuje ten prvni postup...

Co vy na to, jak jste na tom??

Leos


Chranen pristup do databaze...

[*] Petr Reichl <p.reichl(zv)gmc(tec)net> - 22.12.2000 13:31:57

| databazi. Pokud Paradox, pak na bezpecnost zapomen, existuje
| univerzalni heslo pro pristup do nej.

Muzes mi prosim te rici jake to je?

Petr Reichl


DBGrid a Float

[*] Petr Reichl <p.reichl(zv)gmc(tec)net> - 22.12.2000 13:51:53

Dobry den,

mam takovy mensi problemek a uz s tim pomalu nevim rady. DBGrid mi vraci
2.50 a ja v udalosti CalcFields se s touto hodnotu snazim pocitat, ale
napisu-li

Test: Real;

Test := adoDataSetBasketPrice.AsFloat;

Tak mi to hazi

"2.40" is not valid floating point value.

Muzete mi rici kde delam chybu. Ja to vubec nevidim, ale du hledat dal.

S pozdravem,

Petr Reichl


Teorie: Databazovy objektovy pristup

[*] Rosta Podmanicky <rosta(zv)trias92(tec)cz> - 22.12.2000 14:23:38

Nazdar,

prvni postup vetsinou skutecne prevazuje. Podle me je vsak
ponekud prezity. Pokud je aplikace jenom trochu vetsi, stava
se po jiste dobe zcela "neudrzitelnou". Jak rika jeden kolega -
je to tzv. klikacka - na formular se naklikaji DbEdity a podobne
nesmysly, pak se trochu zapasi s udalostmi OnAfterPost apod.
a "slepenec" je na svete.

Zhruba tri roky jiz pouzivame plne objektovy pristup
vcetne mapovani bussines objektu do databaze. Na teto
teto technice mame vytvoren rozsahly informacni system.
Moznosti, ktere jsou pouzitim OOP pristupu k dispozici
jsou prakticky neomezene.

Vetsi aplikaci napsanou klasicky vsak nelze jednoduse
preklopit - je nutne zacit uplne znova vcetne dukladne
objektove analyzy !!!

Na internetu je rada odkazu, ktere se zabyvaji OOP
a nabizeji i reseni datovych vrstev. Vetsina
autoru pouziva pro implementaci Javu ale nic nebrani
pouziti Delphi. Jedno komercni reseni pro Delphi
je napr. produkt od firmy BoldSoft http://www.boldsoft.com/

Zaver: Zkusenosti s OOP pristupem mam vynikajici. Cesta je
to ponekud pracnejsi ale vysledek za to stoji.

Rosta Podmanicky


> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> Delphi
> Sent: Friday, December 22, 2000 1:08 PM
> To: delphi-l(zv)fwd(tec)cz
> Subject: Teorie: Databazovy objektovy pristup
>
>
> Ahoj,
> pred vanocnimi svatky bych mel namet k teoretickemu zamysleni.
>
> Rekneme pro jednoduchost, ze chci udelat nejakou aplikaci,
> Je to postup, jak by se to asi delalo v JAVE, jenze ja se s
> timto resenim v
> Delphi moc nesetkavam.

Hledani a preskoky v binarnim souboru

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 22.12.2000 15:17:11


>Function SearchChar( Buf :Pointer; Chr :Char; I :Integer) :Integer;
>assembler;
>asm
> MOV EDI, Buf
> MOV EBX, ECX
> MOV AL, Chr
> CLD
> REPNE SCASB
> JNE (zv)(zv)1
> MOV EAX, EBX
> SUB EAX, ECX
>(zv)(zv)1:
>end; {SearchChar}

ale takhle presne je napsan Pos() (samozrejme + nejake dalsi veci - ale
prvni znak substringa hleda stejne)

>pro hledani 16/32 bitove polozky
>mov al, chr - > mov ax/eax, word/double

>repne scaw/scasd
to uz Pos nepouziva :-(

D. Toman

Teorie: Dokonaly stabylni system = nesmysl; Drive:

[*] Michal Tiller <Michal.Tiller(zv)oskarmobil(tec)cz> - 22.12.2000 16:08:44

Ano...takhle obcas take uvazuju. Bylo by to velmi pruzne hezke reseni, ale
....
...nedelam to tak, protoze na to neni cas. Navic to vyzaduje vedet do predu,
co vsechno se bude od takoveho obektu cekat. Clovek musi zmapovat cely
problem a prevest ho na obektovy model. Nejsem vestec, ale programator a tak
nevim, co bude uzivatel chtit. Je bezne, ze hlavni ucel programu casem zmizi
a zacne se pouzivat najaka sikovna pomocna funkce programu, ktera se nakonec
stane jeho hlavnim vyuzitim a najednou by mely byt objekty postaveny uplne
jinak. Nu a tak to placam, jak se da, udrzuju to v jakemsi chodu a kdesi u
zaludku se mi tvori vred ziveny tlacivim pocitem, ze bych si to predstavoval
jinak a bylo by fajn mit cas to cele predelat a prekopat. Misto toho
narychlo lepim butonky a jejich onkliky, tak aby se to tvarilo, ze to vi, co
uzivatel chce. Uzivatel je spokojeny a vubec netusi, jaky bordel a zmatek
zraje pod butonky.
Je to udel programatora? Nu pojdme se kouknout jinam. A nebudme prizemni.
Co treba takova evoluce? Kdo by si nepral naprogramovat tak dokonaly a
mohutny system, jako je Vesmir, Zeme, Clovek... Neni to dokonaly stabylni
system. Myslim, ze stabilita je totiz prekazkou pri ceste k dokonalosti. Je
ni neco stabilni mame strach to menit a tak to nemuzeme rozvijet a
zdokonalovat. Dokonalost je, podle me, dokonala prave svou nedosazitelnosti
- nekonecnosti.
Kdyz "O Veliky Programator", jak mu rikam:), at uz je to kdokoli, tvoril,
tak, se jiste venoval tomu, aby mu "Aplikace" bezela a budoucnost nechal
budoucnosti.
Struktura je obektova i neobjektova = hibridni, a vyznam jednotlivych
objektu se v nekterych pripadech menil od zakldu. Napr. kdyz z objektu TRyba
dedil (prez ruzne mezi objekty) objekt TSavec, ktery byl urcen pro beh v
jinem prostredi, tak vyuzil vzduchovou bublinu, kterou ryba drzela ve vode
rovnovahu, a udelal z ni plyce. Zabry byly jiz take nadbytecne, ale vsiml
si, ze kustky ktere jsou pod nimy jsou citlive a vnimaji ruzne zachvevy
vzduchu. To se hodilo a funkce techto kustek, ktere umoznovaly siroke
otevreni ustnich celisti, se zmnenila a stalo se z nich kladivko a
kovadlinka:) Nu a zabry tomu pomohly zmnenou tvaru na ucho. A koho by pri
tvoreni vyrovnavaciho mechure, napadlo myslet na to, jak se s nim jednou
bude dychat? Kdo u zaber premyslel o jejich akustice? Kdo by mel cas
promyslet vsechny tyto moznosti, kdyz ma plne ruce prace s tak ohromnym
systemem, ktery je dokonaly ne stabilitou, ale shopnosti udelat to, co je v
tu chvili potreba a pak nejak prezit. Ze neni vse zacistene a ze obcas neco
skolabuje, to je dan dokonalosti. Byl by potreba dalsi stejne dokonaly
system, ktery by se o ten prvni staral, prohlizel ho a cistil ho. Nu a kdo
by se staral o tento? Programator by se staral jen o to, kdo se bude o co
starat...
Vsichni zname ten spravny zpusob cisteni :) restart. At uz masiny, programu,
objektu... Nu a presne tak to funguje v onom velkem systemy. Vsechny systemy
a podsystemy ve Vesmiru jsou jen docasne. Vse vznikne, vyvyji se to, starne
to a zanikne to. VSECHNO. Nu a to je prave ten zpusob cisteni. Vzdy vzniknou
nove systemy, ktere nejsou zatizeny zivotem toho stareho systemy a mohou
krasne ciste pracovat..po nejakou dobu..a pak..jsou z nich zase stare
systemy.
Tak a tim koncim, abych nenapsal knihu. Tohle je moje predstava o
dokonalosti.
A pokud to nekoho zaujalo, doporucuji Vam slabou knizecku od Conrada
Lorenze, obdareneho Nobelovou cenou za prorodovedu. Tato kniha se jmenuje
Odumirani Lidskosti a zrejmne ji psal, protoze chtel lidem rici neco jineho,
ale znate to. :)
Vsem, kdo se docetli az sem preji krasne Vanoce, sladke vanocky a divoky
Silvestr.
Tem, co to nedocetli, to, prosim, vyridte:)
Michal Tiller

-----Original Message-----
From: Delphi [mailto:delphi(zv)aitix(tec)cz]
Sent: Friday, December 22, 2000 1:08 PM
To: delphi-l(zv)fwd(tec)cz
Subject: Teorie: Databazovy objektovy pristup


Ahoj,
pred vanocnimi svatky bych mel namet k teoretickemu zamysleni.

Rekneme pro jednoduchost, ze chci udelat nejakou aplikaci,
treba na udrzovani firemnich kontaktu.
Bezne se to asi dela tak, ze se navrhnou databazove tabulky, rozmysli se,
jak ma aplikace vypadat, vytvori datamodul, do toho par query, na formular
se soupnou cudliky dopredu, dozadu, pridat ... , v jejich onclick eventech
se vyvola Query.next atd...
Tento postup by asi dal definovat jako aplikacne zamereny...
Hezka, rychla cesta...

Jenze neni lepsi vytvorit objekt UZIVATEL, definovat mu metody NactiVetu(),
UlozVetu(), PosliFax(), VytocTelefon(), Tiskni(), TiskniObalku() atd a tento
objekt pak pouzivat nezavisle?
Je to postup, jak by se to asi delalo v JAVE, jenze ja se s timto resenim v
Delphi moc nesetkavam.
Vetsinou prevazuje ten prvni postup...

Co vy na to, jak jste na tom??

Leos


DBGrid a Float

[*] Petr Reichl <p.reichl(zv)gmc(tec)net> - 22.12.2000 16:31:39

Problem byl v tom, ze jsem se nedival jest-li system pouziva carku nebo
tecku. Ted uz to funguje.

| -----Puvodn� zpr�va-----
| Od: Petr Reichl [mailto:p.reichl(zv)gmc.net]
| Odesl�no: 22. prosince 2000 13:52
| Komu: ListServ - Delphi (el. adresa)
| Predmet: DBGrid a Float
|
|
| Dobry den,
|
| mam takovy mensi problemek a uz s tim pomalu nevim rady.
| DBGrid mi vraci
| 2.50 a ja v udalosti CalcFields se s touto hodnotu snazim pocitat, ale
| napisu-li
|
| Test: Real;
|
| Test := adoDataSetBasketPrice.AsFloat;
|
| Tak mi to hazi
|
| "2.40" is not valid floating point value.
|
| Muzete mi rici kde delam chybu. Ja to vubec nevidim, ale du
| hledat dal.
|
| S pozdravem,
|
| Petr Reichl
|

Chranen pristup do databaze...

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 22.12.2000 18:08:52

On 22 Dec 2000, at 13:31, Petr Reichl wrote:

> | databazi. Pokud Paradox, pak na bezpecnost zapomen, existuje
> | univerzalni heslo pro pristup do nej.
>
> Muzes mi prosim te rici jake to je?

Treba: jIGGAe


S pozdravem

Zbysek Hlinka

Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


Teorie: Databazovy objektovy pristup

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 22.12.2000 18:08:52

On 22 Dec 2000, at 13:08, Delphi wrote:

> pred vanocnimi svatky bych mel namet k teoretickemu zamysleni.
>
> Rekneme pro jednoduchost, ze chci udelat nejakou aplikaci,
> treba na udrzovani firemnich kontaktu.
> Bezne se to asi dela tak, ze se navrhnou databazove tabulky, rozmysli
> se, jak ma aplikace vypadat, vytvori datamodul, do toho par query, na
> formular se soupnou cudliky dopredu, dozadu, pridat ... , v jejich
> onclick eventech se vyvola Query.next atd... Tento postup by asi dal
> definovat jako aplikacne zamereny... Hezka, rychla cesta...
>
> Jenze neni lepsi vytvorit objekt UZIVATEL, definovat mu metody
> NactiVetu(), UlozVetu(), PosliFax(), VytocTelefon(), Tiskni(),
> TiskniObalku() atd a tento objekt pak pouzivat nezavisle? Je to
> postup, jak by se to asi delalo v JAVE, jenze ja se s timto resenim v
> Delphi moc nesetkavam. Vetsinou prevazuje ten prvni postup...
>
> Co vy na to, jak jste na tom??

O podobne veci uvazuji jiz nejakou dobu, a po databazove strance
se do toho chci pustit, jakmile dopisu novou verzi Lokalizatoru (ten
uz bude take silne objektovy).

Hlavni prekazku vsak vidim, pokud bude nekdo chtit pouzit
komponenty vazane na TDataSet. Vazby mezi DBConnect,
DBDataSet (obecne nazvy), TDataSource a vizualni kompnenty
typu DBGrid jsou napsane prave pro to prvni pouziti a jejich
ohybani k pouziti v samostatnych komponentach se mi jevi znacne
tezkopadne (urcitym nestastnym pokusem o toto je asi MIDAS).

Osobne bych to videl tak, ze bude jedna komponenta pro connect,
ktera bude umet pripadne obslouzit nektere dalsi veci, tykajici se
pripojeni te ktere aplikace. Ta poskytne na sebe interface pro dalsi
komponenty (recordsety), ktere se budou zabyvat vnitrnimi
zalezitostmi, napriklad praci s nejakou tabulkou. Recordset pak
poskytne interface zobrazovacimu prvku (DBGrid), ktery bude umet
data z recordsetu vhodne ukazat. Zeditovana data se vrati zpet
recordsetu a teprve ten rozhodne, co se s nimi bude dal dit.

Popsane schema je velice podobne schematu ADO, jenze zde by
se jednalo o konkretni aplikacni reseni.

Takove reseni postavene napr. na COM by pak bylo znacne
flexibilni, bylo by v principu lhostejne, kde ten ktery objekt lezi
(tedy na "te prave" siti :), kdyz se nektera cast znelibi, lze ji
celkem snadno vymenit. Nevyhodou je zase zoologicka zahrada
ruznych dll-ek, namisto jednoho mohutneho exe souboru.


S pozdravem

Zbysek Hlinka

Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


Chranen pristup do databaze...

[*] L. ZITA <konference(zv)sales(tec)cz> - 22.12.2000 18:51:13


----- Original Message -----
From: "JIM Design" <jim.design(zv)iol(tec)cz>

> ahoj,
>
> jakou databazi mas na mysli?!
> Jestli to je Access nebo IB tak heslo nema vyznam, protoze existuji
> univerzalni hesla.
>
> M.Jirman

Ahoj.

Nepreklepl jsi se ? Opravdu existuje universalni heslo pro IB (InterBasi)
????

Ludek

Registry

[*] Hurricane <hurricane(zv)quick(tec)cz> - 22.12.2000 20:26:30

Zdravim

Podle me je jedina moznost, jak to provest, je pouzit klasicke funkce z
Delph. Ale asi bych to rozsekal na mensi casti. Najednou by toho bylo moc.
Ale IMHO bych se tomu daloko vyhnul. Za prve registr neni delany pro tak
velky data, za druhe se udrzuje v pameti, takze si nechci ani predstavit, co
by se stalo, kdyby tohle udelal kazdy a za treti se to do nej spatne
zapisuje. Ja bych to zapsal do nejakeho textoveho souboru.

Hurricane

----- Original Message -----
prosim, jak vlozim do registru binarni data cca 4kB velka ? Byl by
prikladek ?

Vybarveni RichEditu

[*] Hurricane <hurricane(zv)quick(tec)cz> - 22.12.2000 20:30:40

Zdravim

Pro psani a zvyraznovani temer cehokoliv je nejlepsi pouzit mwSynEdit.
(http://SynEdit.SourceForge.net) Je free a ma k sobe obrovskou spoustu
zvyraznovacich pluginu. Garantuju ti, ze aspon petinu tech formatu ani
neznas. A je velice rychly. I ja ho pouzivam k psani HTML a nemuzu si
stezovat.

Hurricane

----- Original Message -----

> Editory tohoto typu jsou zalozeny zrejme na podobnych komponentach jako
> PlusMemo.
> Hledej zde:
> http://www.scientifique.com/ecm
> http://www3.sympatico.ca/ecm
> Jsou sice placene, ale resi tvuj problem. Daji se k nim stahnout rozsireni
> pro rezervovane slova HTM jazyka, pascalu apod. Pro psani editoru
> programovacich jazyku jsou idealni.

> > -----Original Message-----

> > S Delphi teprve zacinam, presel jsem z VB6, protoze chci delat
> > aplikace tak, aby nekomplikovali zivot jejich uzivatelum, coz s
> > runtime knihovnami VB neslo...
> >
> > Vytvarim HTML editor. Ve VB jsem udelal alespon zakladni barevne
> > rozliseni syntaxe zalozene na funkcich seltext, selcolor apod., tzn.
> > ze jsem musel vytvorit funkci, ktera projela cely text a hledala
> > znaky < a > a text mezi nimi vybarvila. Tento zpusob je vsak strasne
> > pomaly zvlaste kdyz je malo pameti. Znam nekolik HTML editoru
> > vytvorenych prave v Delphi (napr. klasika - EasyPad), kde k vybarveni
> > ci odbarveni syntaxe dojde ihned a to i na systemech s pomerne malou
> > pameti.

Teorie: Databazovy objektovy pristup

[*] Erik Salaj <winsoft(zv)napri.sk> - 23.12.2000 00:06:09

> Rekneme pro jednoduchost, ze chci udelat nejakou aplikaci,
> treba na udrzovani firemnich kontaktu.
> Bezne se to asi dela tak, ze se navrhnou databazove tabulky, rozmysli se,
> jak ma aplikace vypadat, vytvori datamodul, do toho par query, na formular
> se soupnou cudliky dopredu, dozadu, pridat ... , v jejich onclick eventech
> se vyvola Query.next atd...
> Tento postup by asi dal definovat jako aplikacne zamereny...
> Hezka, rychla cesta...
>
> Jenze neni lepsi vytvorit objekt UZIVATEL, definovat mu metody
NactiVetu(),
> UlozVetu(), PosliFax(), VytocTelefon(), Tiskni(), TiskniObalku() atd a
tento
> objekt pak pouzivat nezavisle?
> Je to postup, jak by se to asi delalo v JAVE, jenze ja se s timto resenim
v
> Delphi moc nesetkavam.
> Vetsinou prevazuje ten prvni postup...

Pretoze prvy postup je jednoduchsi. U pripade OOP musis zabezpecit
mapovanie objektov do relacnej databazy a aj do prezentacnej vrstvy,
kdezto u klasickeho db pristupu pouzijes zopar hotovych komponentov.
U zlozitejsich systemov vsak vyhody OOP by mali prevazit nad zvysenou
pracnostou, ale jednoznacne sa to asi neda povedat. Myslim si tiez,
ze navrh OO systemu je daleko narocnejsi ako navrh relacnej databazy.
Dost zalezi asi aj od toho, ake prostriedky OOP su k dispozicii.

Erik


Teorie: Dokonaly stabylni system = nesmysl

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 23.12.2000 09:11:41

On 22 Dec 2000, at 16:08, Michal Tiller wrote:

> Ano...takhle obcas take uvazuju. Bylo by to velmi pruzne hezke reseni,
> ale .... ...nedelam to tak, protoze na to neni cas. Navic to vyzaduje
> vedet do predu, co vsechno se bude od takoveho obektu cekat. Clovek
> musi zmapovat cely problem a prevest ho na obektovy model. Nejsem
> vestec, ale programator a tak nevim, co bude uzivatel chtit. Je bezne,

No prave proto je objektovy model vyhodnejsi, pokud se ti podari
dobre navrhnout vymenu dat. Priklad - Lokalizator 4.x je navrzen
prave jako jedna mohutna aplikace, ktera ma zvladat vsechno
sama. Jak pribyvalo pozadavku uzivatelu, zdrojak se zabordelil a
zahltil. Takze novou verzi delam komponentove tak, ze v ramci
predem definovanych sablon lze dodatecne pridavat nove vlastnosti
a schopnosti. A muze si to napsat i uzivatel (pokud to bude umet).

> zmatek zraje pod butonky. Je to udel programatora? Nu pojdme se
> kouknout jinam. A nebudme prizemni. Co treba takova evoluce? Kdo by si
> nepral naprogramovat tak dokonaly a mohutny system, jako je Vesmir,

Hahaha, jakapak evoluce? Kdyby evoluce pusobila od sameho
pocatku, vsechno by vychcipalo a ten poradek by tu byl. Jenze v
konstrukci DNA maji take prsty programatori (byt o nekolik radu
lepsi nez my), a je to na tom take videt. :-) Evoluce ma pak prsty
ve zprzneni a mirnem pomichani puvodnich programu. :-)

BTW - na DNA je velice zretelny prave objektovy a komponentovy
pristup. Premyslim o tom, ze bych si nastudoval biochemii, abych
se neco priucil ke svemu remeslu.

> budoucnost nechal budoucnosti. Struktura je obektova i neobjektova =
> hibridni, a vyznam jednotlivych objektu se v nekterych pripadech menil
> od zakldu. Napr. kdyz z objektu TRyba dedil (prez ruzne mezi objekty)
> objekt TSavec, ktery byl urcen pro beh v jinem prostredi, tak vyuzil

No nevim, zda TSavec je potomkem TRyba. Spis mi to pripada
(alespon z tech zlomku, ktere z biochemie znam), ze kazdy okruh
(_priblizne_ druh podle taxonomie biologu) je samostatna aplikace
poskladana z unifikovanych komponent, ktere jsou vsak specificky
pouzite. Takze pak se obcas stane, ze treba primati maji funkce
pro degradaci nukleotidu stejne jako hmyz nebo ptaci, kdezto
ostatni savci maji o funkci navic, kostnate ryby o dalsi funkci navic
a morsti bezobratli jeste o dve funkce navic. Takoveto "detaily" mi
silne pripominaji praci programatoru, kteri pouziji pro danou aplikaci
knihovni funkce, ktere se jim prave hodi, nemohu si pomoct. :-)

> vzduchovou bublinu, kterou ryba drzela ve vode rovnovahu, a udelal z
> ni plyce. Zabry byly jiz take nadbytecne, ale vsiml si, ze kustky
> ktere jsou pod nimy jsou citlive a vnimaji ruzne zachvevy vzduchu. To
> se hodilo a funkce techto kustek, ktere umoznovaly siroke otevreni
> ustnich celisti, se zmnenila a stalo se z nich kladivko a kovadlinka:)
> Nu a zabry tomu pomohly zmnenou tvaru na ucho. A koho by pri tvoreni
> vyrovnavaciho mechure, napadlo myslet na to, jak se s nim jednou bude
> dychat? Kdo u zaber premyslel o jejich akustice? Kdo by mel cas
> promyslet vsechny tyto moznosti, kdyz ma plne ruce prace s tak
> ohromnym systemem, ktery je dokonaly ne stabilitou, ale shopnosti
> udelat to, co je v tu chvili potreba a pak nejak prezit. Ze neni vse
> zacistene a ze obcas neco skolabuje, to je dan dokonalosti. Byl by

Mne to spis pripada, ze prvni organismy a predpotopni obludy byly
dilem testovaci vzorky, dilem hratky, dilem seriozni "programy".
Videli jste serial Putovani s dinosaury? Nektere organismy mely
docela zvlastni vlastnosti, ktere se dnes nikde neobjevuji. Jejich
charakter byl vsak takovy, ze mi silne priminal testovaci verze
programatorskych knihoven, co vsechno je v ostrem provozu
mozne a co uz ne.

> potreba dalsi stejne dokonaly system, ktery by se o ten prvni staral,
> prohlizel ho a cistil ho. Nu a kdo by se staral o tento? Programator
> by se staral jen o to, kdo se bude o co starat... Vsichni zname ten
> spravny zpusob cisteni :) restart. At uz masiny, programu, objektu...

Jasne, uz to nejak funguje, tak at to dale zije svym vlastnim
zivotem. Obcas nejaky upgrade (potopa, ci snad i velky meteorit,
ale programy uz funguji, takze hura na zcela jine projekty. :-)

P.S.: douc se pravopys. :-)


S pozdravem

Zbysek Hlinka

Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


TDateTime a NIL

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 23.12.2000 15:05:06

Zkus nastavit hodnotu kde ma byt null na 12/30/1899.
Btw. mas povoleno v tom Accessu, aby ta polozka mohla byt null, ze jo?

Roman

> Zdravim,
> uz jsem z toho magor, takze stupidni otazka.
> Mam paradox tabulku z ktery sosam data pres query (BDE TQuery) a ukladam to
> do Accessu97 (ODBC-BDE TQuery) a problem nastane ve chvili kdy se snazim
> ulozit polozku typu TDateTime, ktera je v ty Paradox tabulce nevyplnena.
> V tu chvili mi ten dotaz spadne, ze je spatna hodnota datumu (invalid
> datetimeformat (null)).

OOOOOOOOOOOOOOOO
O icq #84229702
O sw.maurice(zv)cbox(tec)cz
O http://kouzelne.misto(tec)cz
OOOOOOOOOOOOOOOO


Chranen pristup do databaze..

[*] vlada_ponechal(zv)post(tec)cz - 23.12.2000 16:00:48

Omlouvam se,
zapomnel jsem to tam napsat, jedna se o paradox.. Potom, ale nechapu, jak mohu svoje databaze uhlidat, pred takovym vstupem... Nijak??? Nicmene, jsem v situaci, kdy i spatnou alternativu musim pouzit... MUzete mi tedy poradit, jak mohu autentikovat heslo do paradox databaze primo z DPR filu?

Diky,

Vlada
____________________________
L. ZITA wrote:

----- Original Message -----
From: "JIM Design" <jim.design(zv)iol(tec)cz>

> ahoj,
>
> jakou databazi mas na mysli?!
> Jestli to je Access nebo IB tak heslo nema vyznam, protoze existuji
> univerzalni hesla.
>
> M.Jirman

Ahoj.

Nepreklepl jsi se ? Opravdu existuje universalni heslo pro IB (InterBasi)
????

Ludek

-----Original Message-----
From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
vlada_ponechal(zv)post(tec)cz
Sent: Thursday, December 21, 2000 9:32 PM
To: delphi-l(zv)fwd(tec)cz
Subject: Chranen pristup do databaze...


Panove, preji hezky den,
1.) Protoze databaze musi byt chranene pred vnejsim zasehem uzivatele tak,
aby byla chranena integrita dat, nesmi mit uzivatel pristup do databazi mimo
programu (database desktop (DD), etc...). Vybral jsem si teda podle meho
nejednodussi alternativu, to znamena v DD jsem si na databazi zapnul
security password a moje filozofie je takova, ze chci do DPR file pridat
heslo (uzivatelske pravidla-role urcuji na urovni applikace). No prave,
chci... Nasel jsem si nejake priklady tady v konferenci, ale ty jsou spise
udelane pro primy login do tabulek... nemuzete poradit, jak to udelat?
2.) Apropo, je tato cesta bezpecna? Neda se to heslo nejakym zpusobem
zrusit? Protoze ja mam v jedne databazi i hesla pristupu, ktere jsou
normalne k precteni.

-Mam Delphi3 prof...
-A pevne doufam, ze tato message do konference konecne proleze :-(...

Diky,

Vlada P.

pripojeni na MS SQL pres inet

[*] Martin Kubecka <martin.kubecka(zv)amenit(tec)cz> - 23.12.2000 16:50:27

Cau,

jedine co potrebujes je povolit port 1433. Pokud by si mel i tak problem tak
postupuj takto:

1, povolit port 1433 (pokud na nem samozrejme server posloucha a ma
nastavenu komunikaci pres TCP/IP)

2, nastavit dobre firewally

Bez problemu nam funguje system: NT wks (klient)(vnitrni IP) -> W2k Server +
WinRoute (venkovni IP) -> NT4 Server + WinRoute (venkovni IP) -> NT server
(SQL server)(vnitrni IP)

Postup overovani spojeni dle MS (a MACa ;-):

1, ping na IP adresu serveru
2, telnet - open ip_adresa_serveru 1433 -> pokud je server na dane IP a
danem portu dostupny, pak se objevi prazdna obrazovka v telnetu (testovano
na telnetu z w2k). Pokud se nekonektne, tak je problem v pripojeni na
server.

3, zkontrolovat nastaveni komunikacnich protokolu serveru (SVRNETCN.exe v
C:\Program Files\Microsoft SQL Server\80\Tools\Binn\ - to je pro SQL2000,
mam pocit, ze pro SQL 7 se ten soubor jmenuje jinak, ale nepamatuju se jak -
pokud nekdo vite tak doplnte prosim ;-)

4, zkontrolovat pres co si povida klient: cliconfg.exe z \WINNT\SYSTEM32 ci
Windows\System - a nastavit TCP/IP popr. si udelat alias na vzdaleny server
a zadat IP adresu at je mozne se pripojovat primo jmenem na vzdaleny server

Tusim ze EM z SQL 2000 pouziva jeste port 1434, ale zatim jsem ho nikde
povolovat nemusel, ale neco o tom portu pisou v BOL.

Mac



----- Original Message -----
From: "Ren� Otisk" <otisk(zv)misel(tec)cz>> Hi,
>
> co musim vsechno nastavit, abych se mohlo pripojit k MS SQL serveru pres
> interfernet. Mame tady MS SQL 7, MS ProxyServer 2.0, MS WinNT 4.0 service
> pack 6.
>
> Diky
>
> Sroub
>
>

Zmena serioveho cisla harddisku

[*] Hurricane <hurricane(zv)quick(tec)cz> - 23.12.2000 21:08:42

Zdravim

Myslim, ze Widle te dal nepustej, je to jejich ochrana. Kdybys to delal v
cistym DOSu a ne v chranenym modu, bude po problemu. Ten kod jsem sice
neprohlizel, muze to brat nejakou oklikou, ale myslim si, ze je to proste
tema windowsema. Primo k HW te proste nepustej a basta. Ve WIN9x je to jeste
vcelku dobry, ale v NT/2000 je to uz uplna katastrofa. Ty ti nedaj ani LPT
port.

Hurricane

----- Original Message -----
From: "Ales Kresta" <ales.kresta(zv)atlas(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Wednesday, December 20, 2000 3:33 PM
Subject: Re: Zmena serioveho cisla harddisku


Zkousel jsem ten zdroj�k a pokud chci seriove cislo ulozit hlasi to chybu
pri zapisu starsich diskovych pomucek. Nevite nekdo jak by to slo zapsat???
Mam Windows 98 SE


Zmena serioveho cisla harddisku

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 23.12.2000 22:12:58

From: "Hurricane" <hurricane(zv)quick(tec)cz>
> tema windowsema. Primo k HW te proste nepustej a basta. Ve WIN9x je to jeste
> vcelku dobry, ale v NT/2000 je to uz uplna katastrofa. Ty ti nedaj ani LPT

Ahoj,

ja bych to videl jinak. To ze te Win9x pusti (pomerne komplikovanou cestou) k
HW je katastrofa, NT se naopak chovaji zcela korektne.

Petr Vones, amatersky programator

Registry

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 24.12.2000 10:26:06

> Podle me je jedina moznost, jak to provest, je pouzit klasicke funkce z
> Delph.

pouzivam primo WinAPI funkce (RegSetValueEx() ) a ta podporuje binarni data (REG_BINARY). Cili ukladat binarni data neni problem.

> Ale asi bych to rozsekal na mensi casti. Najednou by toho bylo moc.

neni pravda

> Ale IMHO bych se tomu daloko vyhnul. Za prve registr neni delany pro tak
> velky data,

4kB nejsou podle me 'velky' data

>za druhe se udrzuje v pameti, takze si nechci ani predstavit, co
> by se stalo, kdyby tohle udelal kazdy

o 4 kB min nebo vic - co to znamena

>a za treti se to do nej spatne
> zapisuje.

To je vec nazoru ( a zkusenosti s registry). Ja naopak povazuju Registry database za velice pozitivni a pouzitelnou zalezitost.

>Ja bych to zapsal do nejakeho textoveho souboru.

Drive jsem to taky tak delal, ale ma to nekolik nevyhod:
- je nutne napsat vlastni kod pro obsluhu souboru (nebo pouzit TINIFile nebo jak se to jmenuje)
- soubor je prilis na rane - BFU necini problemy jej smazat ci zmenit
- v pripade potreby neni mozne chranit casti konfigurace pristupovymi pravy
- tezko se bude realizovat nastaveni per prihlaseny uzivatel (H_KEY_CURRENT_USER)
- oproti registry nedosahnes vizualni struktury nastaveni (klice a subklice)

Ve svych aplikacich se spoleham vyhradne na Registry.
PS Registry ma jeste nekolik mozna ne prilis znamych vyhod:
- jednoducha prenositelnost konfigurace PC z pocitace na pocitac -> staci pomoci Regedit.exe exportovat cast registru (nastaveni programu) dop textaku, ten prenest na cillovy pocitac a tam jej 'spustit' (regedit se rozebehne automaticky diky asociaci s priponou REG).
- tou samou metodou je mozne jednoduse uzivatelum posilat textove soubory s novou konfiguraci (kdyz si nevi rady s nastavenim programu a zadaji o radu)


Zdravi
D. Toman


OT:Re: Zmena serioveho cisla harddisku

[*] Hurricane <hurricane(zv)quick(tec)cz> - 24.12.2000 13:25:52

Zdravim

No jak myslis, ale ja vim, ze napr. program MultiMediaLogic a jeho
komunikace pres LPT pod NT nefunguje (predpokaldam, ze v techto vecech jsou
NT a 2000 zajedno). A tusim, ze ani komponenta SmallPort pod NT nefunguje.
Jedina moznost jak se k HW dostat je naprogramovat si vlastni ovladac (coz
myslim neni nic jednoduchyho) a vsechnu komunikaci posilat pres nej. Aspon,
ze je ve vsech windowsech obsazenej obecny ovladac pro komunikaci pres COM.

Je to jen muj nazor podle toho, co jsem slysel a cetl, nemam to vyzkouseno.
Jo a nemusime dal rozvadet tenhle flamewar.

Hurricane

----- Original Message -----

> > tema windowsema. Primo k HW te proste nepustej a basta. Ve WIN9x je to
jeste
> > vcelku dobry, ale v NT/2000 je to uz uplna katastrofa. Ty ti nedaj ani
LPT

> ja bych to videl jinak. To ze te Win9x pusti (pomerne komplikovanou
cestou) k
> HW je katastrofa, NT se naopak chovaji zcela korektne.

Registry

[*] Hurricane <hurricane(zv)quick(tec)cz> - 24.12.2000 13:44:33

Zdravim

> To je vec nazoru ( a zkusenosti s registry). Ja naopak povazuju Registry
database za velice pozitivni a pouzitelnou zalezitost.
>
> >Ja bych to zapsal do nejakeho textoveho souboru.
>
> Drive jsem to taky tak delal, ale ma to nekolik nevyhod:
> - je nutne napsat vlastni kod pro obsluhu souboru (nebo pouzit TINIFile
nebo jak se to jmenuje)
> - soubor je prilis na rane - BFU necini problemy jej smazat ci zmenit
> - v pripade potreby neni mozne chranit casti konfigurace pristupovymi
pravy
> - tezko se bude realizovat nastaveni per prihlaseny uzivatel
(H_KEY_CURRENT_USER)
> - oproti registry nedosahnes vizualni struktury nastaveni (klice a
subklice)
>
> Ve svych aplikacich se spoleham vyhradne na Registry.

Zrejme si me nepochopil. Ja jsem mluvil konkretne o zapsani 4kB binarnich
dat. Jinak co se tyce registru a zapisovani nastaveni programu, nemuzu si to
vynachvalit. Sam pisu programy, ktere ukladaji svoje nastaveni do registru.
Ale kdyz mas horu dat napr ve formatu TLines (vystup z TMemo apod.), je
podle me docela dobre to vzit a zapsat do souboru. At uz pomoci
Lines.SaveToFile nebo pomoci fci OpenFile, ResetFile,... CloseFile. A potom
to stejnym zpusobem zase nacist. Jinak co se tyce TIniFile, jednou jsem to
jen tak cvicne zkousel a rekl bych, ze se s tim pracuje uplne stejne jako s
registry, jenom jeste navic musis definovat sekci. U registru zase musis
definovat klic. Ale rekl bych, ze registr je rychlejsi a bezpecnejsi.

Hurricane


Vyhladavanie v databaze

[*] Ivan Dulgerov <idulgerov(zv)atlas(tec)cz> - 24.12.2000 14:24:07


----- Original Message -----
From: Jaro <jaro(zv)sinea(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Thursday, December 21, 2000 12:07 AM
Subject: Re: Vyhladavanie v databaze


> A co treba jednoduse pouzit
> ....
> select ID where Meno like "%Novak%"
> ....
> Pak uz hledas jen hodnotu ID (nejaky klic), coz je koneckoncu rychlejsi,
> nebot
> nemusis delat index na dlouhy texty. Takove indexy nejsou prilis efektivni
> Jaro
>
>
> > Zdravim vsetkych.
> >
> > Mam jeden zaujimavy oriesok.
> > Vyhladavam v databaze Paradox v kolonke ,'Meno' pomocou funkcie
> > FindNeares asi takto :
> > procedure TFindTextForm.IndexComboBoxChange(Sender: TObject);
> > begin
> > MainForm.TableDiar.IndexName :=IndexComboBox.Text;
> > MainForm.TableDiar.FindNearest([FindEdit.Text]);.....atd.
> >
> >
> > Vsetko ide ako po masle az do chvile ked ma niekto pred menom
> > titul, napr 'ing.Novak', alebo nieco podobneho. Vtedy funkcia


Zdravim.

Mas pravdu , nebudem veci komplikovat.
Prerobil som vyhladavanie na SQL , funguje to celkom dobre.
Dakujem.

ps. Vesele vianoce vsetkym

Ivan Dulgerov
J.Straku 12
Bansk� �tiavnica
96900
SLOVAK REPUBLIC
tel. 421+ 0859/6920428

Registry

[*] Martin =?iso-8859-2?Q?Pe=B9ava?= <jimx(zv)volny(tec)cz> - 24.12.2000 16:51:53

Dalibor Toman wrote:
> Ve svych aplikacich se spoleham vyhradne na Registry.
> PS Registry ma jeste nekolik mozna ne prilis znamych vyhod:
> - jednoducha prenositelnost konfigurace PC z pocitace na pocitac -> staci pomoci Regedit.exe exportovat cast registru (nastaveni programu) dop textaku, ten prenest na cillovy pocitac a tam jej 'spustit' (regedit se rozebehne automaticky diky asociaci s priponou REG).
> - tou samou metodou je mozne jednoduse uzivatelum posilat textove soubory s novou konfiguraci (kdyz si nevi rady s nastavenim programu a zadaji o radu)
>
> Zdravi
> D. Toman

Dovolil bych si neskodnou poznamecku:
Myslim, ze INI fajly maj jeste jednodussi prenositelnost s aplikaci,
pokud sou ve stejnym adresari jako aplikace ...

--
Martin Pe�ava

/--------------------------------------------------------------\
| E-Mail: mailto:mail(zv)jimx.net ICQ# 18148896 |
| WebMaster of |
|http://miss.jimx.net - Neofici�ln� str�nka MISS �R a CyberMiss|
\--------------------------------------------------------------/

File: Reset

[*] Zdenek Janish <medusa(zv)brajan(tec)cz> - 25.12.2000 03:07:42

Dobry den,

netusite kde je zrada:

pokud soubor neexistuje, vse probehne OK,
v pripade existence souboru to vyhodi "IOError 103 - soubor neni
otevren",
coy si mzslim je nesmzsl, protoze se se soubore neda pracovat dokud se
nezavola CloseFile {logicke},
pokud misto Reset dam ReWrite tak to opet funguje spravne, az na
takovou drobnost, ze mam v souboru pouze jediny zaznam {logicke, ale
nezadouci}, co tedy stim????

Pouzivam D5 Enterprise.

procedure XXX;
var Ft: TextFile;
begin
AssignFile(Ft, 'vemeno.txt');
try
Reset(Ft); {otevreni existujiciho}
except
ReWrite(Ft); {vytvoreni noveho souboru}
WriteLn(Ft, '"LOT"', cTabul, '"Jumbo"', cTabul, '"Datum"', cTabul,
'"�as"', cTabul, '"Gimax"', cTabul, '"GIN"', cTabul,
'"Rozhodnut�"', cTabul, '"Archivace"', cTabul,
'"Pozn�mka"'); {vytvoreni hlavicky}
end;
Write(Ft, 'Test');
{...}
finally
CloseFile(Ft);
end;
end;

Diky za pomoc
Zdenek

Reset

[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 25.12.2000 09:49:00

From: "Zdenek Janish" <medusa(zv)brajan(tec)cz>

> pokud soubor neexistuje, vse probehne OK,
> v pripade existence souboru to vyhodi "IOError 103 - soubor neni
> otevren",
> coy si mzslim je nesmzsl, protoze se se soubore neda pracovat dokud se
> nezavola CloseFile {logicke},
> pokud misto Reset dam ReWrite tak to opet funguje spravne, az na
> takovou drobnost, ze mam v souboru pouze jediny zaznam {logicke, ale
> nezadouci}, co tedy stim????
>
> var Ft: TextFile;
> {...}
> AssignFile(Ft, 'vemeno.txt');
> try
> Reset(Ft); {otevreni existujiciho}
> except
> ReWrite(Ft); {vytvoreni noveho souboru}
> end;
> Write(Ft, 'Test');
> {...}

Reset otvira TextFile jako ReadOnly, takze nasledujici Write
samozrejme nelze. Misto Reset bych pouzil Append.

Vaclav Krmela

ps. Pekne pracovni Vanoce vsem....

File: Reset

[*] Jan Psohlavec <j.psohlavec(zv)mbox.vol(tec)cz> - 25.12.2000 09:53:06

Napad� m� jedna v�c - pokud soubor existuje, provede se reset - soubor se
otev�e pro �ten�, ale pak doch�z� k chyb� nebo� je tam Write - posunout end
od v�jimky a� pod write.

S pozdravem
Jan Psohlavec


-----Original Message-----
From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
Zdenek Janish
Sent: Monday, December 25, 2000 3:08 AM
To: Konf. DELPHI
Subject: File: Reset


Dobry den,

netusite kde je zrada:

pokud soubor neexistuje, vse probehne OK,
v pripade existence souboru to vyhodi "IOError 103 - soubor neni
otevren",
coy si mzslim je nesmzsl, protoze se se soubore neda pracovat dokud se
nezavola CloseFile {logicke},
pokud misto Reset dam ReWrite tak to opet funguje spravne, az na
takovou drobnost, ze mam v souboru pouze jediny zaznam {logicke, ale
nezadouci}, co tedy stim????

Pouzivam D5 Enterprise.

procedure XXX;
var Ft: TextFile;
begin
AssignFile(Ft, 'vemeno.txt');
try
Reset(Ft); {otevreni existujiciho}
except
ReWrite(Ft); {vytvoreni noveho souboru}
WriteLn(Ft, '"LOT"', cTabul, '"Jumbo"', cTabul, '"Datum"', cTabul,
'"�as"', cTabul, '"Gimax"', cTabul, '"GIN"', cTabul,
'"Rozhodnut�"', cTabul, '"Archivace"', cTabul,
'"Pozn�mka"'); {vytvoreni hlavicky}
end;
Write(Ft, 'Test');
{...}
finally
CloseFile(Ft);
end;
end;

Diky za pomoc
Zdenek


File: Reset

[*] Zdenek Janish <medusa(zv)brajan(tec)cz> - 25.12.2000 14:12:55

OK, je to tak, protoze z nej ctu vpohode...
No je videt, ze od puvodniho paskalu doslo k jistym zmenam :-)))
tam to totiz funguje normalne... Ale ze nepomohlo ani nastaveni
FileMode:= 2 //ReadWrite
Ale nevadi prekuchal jsem to s pouzitim FileOpen, FileWrite,
FileClose...
A hlavne to chodi!!!!

Vesele vanocni svatky a novy rok 2001!!!!

Zdenek

----- Original Message -----
From: "Jan Psohlavec" <j.psohlavec(zv)mbox.vol(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Monday, December 25, 2000 9:53 AM
Subject: RE: File: Reset


Napad� m� jedna v�c - pokud soubor existuje, provede se reset - soubor
se
otev�e pro �ten�, ale pak doch�z� k chyb� nebo� je tam Write -
posunout end
od v�jimky a� pod write.

S pozdravem
Jan Psohlavec


-----Original Message-----
From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
Zdenek Janish
Sent: Monday, December 25, 2000 3:08 AM
To: Konf. DELPHI
Subject: File: Reset


Dobry den,

netusite kde je zrada:

pokud soubor neexistuje, vse probehne OK,
v pripade existence souboru to vyhodi "IOError 103 - soubor neni
otevren",
coy si mzslim je nesmzsl, protoze se se soubore neda pracovat dokud se
nezavola CloseFile {logicke},
pokud misto Reset dam ReWrite tak to opet funguje spravne, az na
takovou drobnost, ze mam v souboru pouze jediny zaznam {logicke, ale
nezadouci}, co tedy stim????

Pouzivam D5 Enterprise.

procedure XXX;
var Ft: TextFile;
begin
AssignFile(Ft, 'vemeno.txt');
try
Reset(Ft); {otevreni existujiciho}
except
ReWrite(Ft); {vytvoreni noveho souboru}
WriteLn(Ft, '"LOT"', cTabul, '"Jumbo"', cTabul, '"Datum"', cTabul,
'"�as"', cTabul, '"Gimax"', cTabul, '"GIN"', cTabul,
'"Rozhodnut�"', cTabul, '"Archivace"', cTabul,
'"Pozn�mka"'); {vytvoreni hlavicky}
end;
Write(Ft, 'Test');
{...}
finally
CloseFile(Ft);
end;
end;

Diky za pomoc
Zdenek

Dynamicka tvorba menu podle pritomnych baliku v MD

[*] Martin Falta <martin.falta(zv)atlas(tec)cz> - 25.12.2000 15:48:03

Ahoj,

nebylo by neco podobnyho i pro C++ Builder 5?

Predem dekuji.

Martin Falta
martin.falta(zv)atlas(tec)cz

>
> Ahoj,
>
> ohledne pluginu je pak vycerpavajici clanek jeste tady:
> http://www.obsof.com/delphi_tips/DL613.html
>
> Petr Vones, amatersky programator
>
>
>
>
>


---
Odchoz� zpr�va neobsahuje viry.
Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.219 / Virov� b�ze: 103 - datum vyd�n�: 5.12.2000


Delphi a MySQL

[*] Milan ��ek - 26.12.2000 15:36:23

ahoj,
nemate nekdo zkusenosti s praci MySQL v delphi? Jak se pripojit a jak
pracovat s tabulkama. Nejlepsi by byly nejake hotove komponenty.

Diky

S pozdravem Milan Cizek, amatersky programator, D5 Ent
Win2k a Win98, cizek.milan(zv)seznam(tec)cz, ICQ: 59826637


---
Odchoz� zpr�va neobsahuje viry.
Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.219 / Virov� b�ze: 103 - datum vyd�n�: 5.12.2000


File: Reset

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 26.12.2000 17:38:41

Reset slouzi pro otevreni textoveho souboru pouze pro cteni. U typoveho i k
zapisu. I v Pascalu. Stejne tak FileMode nefunguje pro textove soubory.
V tvem kodu stacilo misto Reset dat Append, jak uz tu nekdo tusim psal, nebo
nepouzit TextFile, ale File of SomeType.

Roman

> OK, je to tak, protoze z nej ctu vpohode...
> No je videt, ze od puvodniho paskalu doslo k jistym zmenam :-)))
> tam to totiz funguje normalne... Ale ze nepomohlo ani nastaveni
> FileMode:= 2 file://ReadWrite
> Ale nevadi prekuchal jsem to s pouzitim FileOpen, FileWrite,
> FileClose...
> A hlavne to chodi!!!!
>
> Vesele vanocni svatky a novy rok 2001!!!!

> procedure XXX;
> var Ft: TextFile;
> begin
> AssignFile(Ft, 'vemeno.txt');
> try
> Reset(Ft); {otevreni existujiciho}
> except
> ReWrite(Ft); {vytvoreni noveho souboru}
> WriteLn(Ft, '"LOT"', cTabul, '"Jumbo"', cTabul, '"Datum"', cTabul,
> '"�as"', cTabul, '"Gimax"', cTabul, '"GIN"', cTabul,
> '"Rozhodnut�"', cTabul, '"Archivace"', cTabul,
> '"Pozn�mka"'); {vytvoreni hlavicky}
> end;
> Write(Ft, 'Test');
> {...}
> finally
> CloseFile(Ft);
> end;
> end;

OOOOOOOOOOOOOOOO
O icq #84229702
O sw.maurice(zv)cbox(tec)cz
O http://kouzelne.misto(tec)cz
OOOOOOOOOOOOOOOO

Delphi a MySQL

[*] Petr Jel�nek <pjmodos(zv)yo(tec)cz> - 27.12.2000 01:19:49

ahoj, myslim ze nejlepsi jsou komponenty na
http://www.zeos.dn.ua/eng/index.html - pracuje se s tim podobne jako s
normalnima databazovejma komponentama co jsou v Delphi.

Zdravi
Petr Jelinek - amatersky programator
Homepage: http://pjmodos.fbi(tec)cz, http://pjmodos.yo(tec)cz
Komponenty pro Delphi: http://lunasoft.hyperlink(tec)cz/index5.htm
Vyhledavani: http://www.barevnylist(tec)cz/visitor.php?ref=pjmodos
----- Original Message -----
From: Milan ��ek <cizek.milan(zv)seznam(tec)cz>
To: Delphi konference <delphi-l(zv)fwd(tec)cz>
Sent: Tuesday, December 26, 2000 3:36 PM
Subject: Delphi a MySQL


> ahoj,
> nemate nekdo zkusenosti s praci MySQL v delphi? Jak se pripojit a jak
> pracovat s tabulkama. Nejlepsi by byly nejake hotove komponenty.
>
> Diky
>
> S pozdravem Milan Cizek, amatersky programator, D5 Ent
> Win2k a Win98, cizek.milan(zv)seznam(tec)cz, ICQ: 59826637
>
>
> ---
> Odchoz� zpr�va neobsahuje viry.
> Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
> Verze: 6.0.219 / Virov� b�ze: 103 - datum vyd�n�: 5.12.2000


Reset

[*] Pavel ZIDEK <kopr(zv)kopr(tec)cz> - 27.12.2000 09:15:51

Tohle je v Helpu
var

F: TextFile;
S: string;
begin
if OpenDialog1.Execute then { Display Open dialog box }
begin
AssignFile(F, OpenDialog1.FileName); { File selected in dialog box }
Reset(F);
Readln(F, S); { Read the first line out of the
file }
Edit1.Text := S; { Put string in a TEdit control }
CloseFile(F);
end;
end;

takze Reset nedela ze souboru ReadOnly.
Spise bych se priklanek k nazoru, ze tento soubor je jiz jednou otevren a
nebyl radne uzavren.
Pavel ZIDEK
----- Original Message -----
From: Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz>
To: Delphi forum <delphi-l(zv)fwd(tec)cz>
Sent: Monday, December 25, 2000 9:49 AM
Subject: Re: Reset


> From: "Zdenek Janish" <medusa(zv)brajan(tec)cz>
>
> > pokud soubor neexistuje, vse probehne OK,
> > v pripade existence souboru to vyhodi "IOError 103 - soubor neni
> > otevren",
> > coy si mzslim je nesmzsl, protoze se se soubore neda pracovat dokud se
> > nezavola CloseFile {logicke},
> > pokud misto Reset dam ReWrite tak to opet funguje spravne, az na
> > takovou drobnost, ze mam v souboru pouze jediny zaznam {logicke, ale
> > nezadouci}, co tedy stim????
> >
> > var Ft: TextFile;
> > {...}
> > AssignFile(Ft, 'vemeno.txt');
> > try
> > Reset(Ft); {otevreni existujiciho}
> > except
> > ReWrite(Ft); {vytvoreni noveho souboru}
> > end;
> > Write(Ft, 'Test');
> > {...}
>
> Reset otvira TextFile jako ReadOnly, takze nasledujici Write
> samozrejme nelze. Misto Reset bych pouzil Append.
>
> Vaclav Krmela
>
> ps. Pekne pracovni Vanoce vsem....
>
>

Obcas se nevytiskne obrazek - vyreseno

[*] Martin Zlomek <martin.zlomek(zv)email(tec)cz> - 27.12.2000 09:28:14

Diky vsem!
Zda se, ze pres DIBs to funguje 100%.
Priklad: viz priloha.


--
Martin Zlomek
martin.zlomek(zv)email(tec)cz
From: http://www.efg2.com/lab/library/Delphi/Printing/St
retchDIBitsDemo.txt
Updated: 11 January 2000 to fix min
or clerical error and make D3-D5 compatibile


Sample
of how to print a TBitmap nearly full page in landscape o
rientation:

USES
Printers;

/////////////////////
///////////////////////////////////////////////
//
//
Utility routines used below in Click method
//

// Bas
ed on posting to borland.public.delphi.winapi by Rodney E
Geraghty, 8/8/97.
// Used to print bitmap on any Window
s printer.

PROCEDURE PrintBitmap(Canvas: TCanvas; Des
tRect: TRect; Bitmap: TBitmap);
VAR
BitmapHead
er: pBitmapInfo;
BitmapImage : POINTER;
Heade
rSize : DWORD; // Use DWORD for D3-D5 compatibility


ImageSize : DWORD;
BEGIN
GetDIBSizes(Bitmap.H
andle, HeaderSize, ImageSize);
GetMem(BitmapHeader, He
aderSize);
GetMem(BitmapImage, ImageSize);
TRY

GetDIB(Bitmap.Handle, Bitmap.Palette, BitmapHeader^, Bi
tmapImage^);
StretchDIBits(Canvas.Handle,

DestRect.Left, DestRect.Top, // Destination
Origin
DestRect.Right - DestRect.Left
, // Destination Width
DestRect.Bottom
- DestRect.Top, // Destination Height

0, 0, // Source Origin

Bitmap.Width, Bitmap.Height, // Source
Width & Height
BitmapImage,

TBitmapInfo(BitmapHeader^),
D
IB_RGB_COLORS,
SRCCOPY)
FINALLY

FreeMem(BitmapHeader);
FreeMem(BitmapImage)
END

END {PrintBitmap};


FUNCTION CenterText(s: STRING)
: INTEGER;
BEGIN
RESULT := (Printer.PageWidth - Prin
ter.Canvas.TextWidth(s)) DIV 2
END {CenterText};


PR
OCEDURE PrintFooterTimeStamp (CONST LeftMargin: INTEGER)
;
VAR
s: STRING;
BEGIN
//Footer
Printer.C
anvas.Font.Name := 'Arial';
Printer.Canvas.Brush.Color
:= clWhite;
Printer.Canvas.Font.Height :=
Mu
lDiv(GetDeviceCaps(Printer.Canvas.Handle, LOGPIXELSY), 8,
72);
s := FormatDateTime('m/d/yy h:nn', Now);
Pri
nter.Canvas.TextOut(LeftMargin,

Printer.PageHeight-Printer.Canvas.TextHeight('X'),

s);
END {PrinterFooterTimeStamp};
/////////////////////////////////////////////////////
///////////////
//
// Print Bitmap in landscape orienta
tion, with printed image width 80% of page.
// Assumes b
itmap to print is a TBitmap in BitmapPrint. Don't Print
a DDB in
// a TImage. Try always to print a DIB from an
in-memory TBitmap.
//

procedure TFormPrint.ButtonPri
ntBigImageClick(Sender: TObject);
VAR
iFromLeftMa
rgin : INTEGER;
iPrintedImageWidth : INTEGER;

jDelta : INTEGER;
jFromTopOfPage
: INTEGER;
jPrintedImageHeight: INTEGER;
s
: STRING;

begin
Screen.Cursor :=
crHourGlass;
TRY
Printer.Orientation := poLandsca
pe;
Printer.BeginDoc;
// Header
Printe
r.Canvas.Font.Height :=
MulDiv(GetDeviceCaps(Pri
nter.Canvas.Handle, LOGPIXELSY), 12, 72);
Printer.
Canvas.Font.Name := 'Arial';
jDelta := Printer.Can
vas.TextHeight('X');
jFromTopOfPage := 3*jDelta;

s := 'Image Title';

Printer.Canvas.TextOut
(CenterText(s), jFromTopOfPage, s);
// 5th line fr
om top
jFromTopOfPage := 5*jDelta;

// Ima
ge position and size
// 12% left and right margin


iFromLeftMargin := MulDiv(Printer.PageWidth,12,
100); // 12%

// Set printed bitmap with to be 7
6% of paper width
iPrintedImageWidth := MulDiv(Pri
nter.PageWidth,76,100); // 76%

// Set printed b
itmap height to maintain aspect ratio
jPrintedImag
eHeight := BitmapPrint.Height*iPrintedImageWidth DIV

BitmapPrint.Width; // maintain
aspect ratio of bitmap

// Print Image
Pr
intBitmap (Printer.Canvas,
Rect(iFromL
eftMargin, jFromTopOfPage,
iFromL
eftMargin + iPrintedImageWidth,
j
FromTopOfPage + jPrintedImageHeight),

BitmapPrint);
PrintFooterTimeStamp (iFromLeftMarg
in);

Printer.EndDoc;
FINALLY
Screen.Cursor
:= crDefault
END;
end;

==========================
================================================

How c
an this be used with a DBImage?

Change "BitmapPrint" a
bove (which was an in-memory TBitmap) to something
like:
DBImage1.Picture.Bitmap

For example:

// Print DBI
mage
PrintBitmap (Printer.Canvas,
Rect(iFr
omLeftMargin, jFromTopOfPage,
iFromLef
tMargin + iPrintedImageWidth,
jFromTop
OfPage + jPrintedImageHeight),
DBImag
e1.Picture.Bitmap);

==================================
========================================

Also See Prin
ter Demo #1 for comparison of StretchDIBits and StretchDr
aw:
http://www.efg2.com/lab/OtherProjects/PrinterDemo1.h
tm

To print an M-by-N matrix of images on a single pag
e:
http://www.efg2.com/lab/ImageProcessing/SlideShow.htm


Delphi Printing Info and Links
http://www.efg2.com/l
ab/library/Delphi/Printing

Delphi a MySQL

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 27.12.2000 14:16:40

Anebo pres ODBC. K tomu si budes muset stahnout MyODBC.

Roman


> ahoj, myslim ze nejlepsi jsou komponenty na
> http://www.zeos.dn.ua/eng/index.html - pracuje se s tim podobne jako s
> normalnima databazovejma komponentama co jsou v Delphi.

> > ahoj,
> > nemate nekdo zkusenosti s praci MySQL v delphi? Jak se pripojit a jak
> > pracovat s tabulkama. Nejlepsi by byly nejake hotove komponenty.

OOOOOOOOOOOOOOOO
O icq #84229702
O sw.maurice(zv)cbox(tec)cz
O http://kouzelne.misto(tec)cz
OOOOOOOOOOOOOOOO


Teorie: Databazovy objektovy pristup

[*] Rosta Podmanicky <rosta(zv)trias92(tec)cz> - 27.12.2000 15:21:53

> Hlavni prekazku vsak vidim, pokud bude nekdo chtit pouzit
> komponenty vazane na TDataSet. Vazby mezi DBConnect,
> DBDataSet (obecne nazvy), TDataSource a vizualni kompnenty
> typu DBGrid jsou napsane prave pro to prvni pouziti a jejich
> ohybani k pouziti v samostatnych komponentach se mi jevi znacne
> tezkopadne (urcitym nestastnym pokusem o toto je asi MIDAS).

Na DB komponenty, DBDataSety a pod. je nutne zcela zapomenout -
je to marny boj...

> komponenty (recordsety), ktere se budou zabyvat vnitrnimi
> zalezitostmi, napriklad praci s nejakou tabulkou. Recordset pak
> poskytne interface zobrazovacimu prvku (DBGrid), ktery bude umet

V OOP systemu prakticky neexistuji recordsety (kdyz uz, tak az
na nejnizzsi datove vrstve), takze klasicke DBGridy nejsou
prakticky pouzitelne.

> data z recordsetu vhodne ukazat. Zeditovana data se vrati zpet
> recordsetu a teprve ten rozhodne, co se s nimi bude dal dit.
>
> Popsane schema je velice podobne schematu ADO, jenze zde by
> se jednalo o konkretni aplikacni reseni.

ADO prilis neznam, ale zda se mi, ze to zavani opet zaznamove
orientovanym pristupem...

-----------------------------------------------------------
Rostislav Podmanicky
E-mail: rosta(zv)trias92(tec)cz

Trias 92 spol. s r.o. - Informacni systemy
http://www.trias92(tec)cz, http://www.signys(tec)cz
Sv.Cecha 253, Jicin 506 01
Czech republic, Europe

Tel.: +420 433 534 378
Fax: +420 433 533 134
-----------------------------------------------------------

Novy rozsireny constructor pro objekt

[*] Alois NiL Jirasek <alois.jirasek(zv)atlas(tec)cz> - 27.12.2000 15:40:39

Hi, mam takovy objektovy dotaz. Mam class typu TFrom a potrebuji vytvorit
vlastni constructor. Vypada to asi takhle:

TMyForm = class(TForm)
...
private
FarDataSource: TDataSource;
...
public
constructor Create(AOwner: TComponent; ADataSource: TDataSource);
...
end;


pak udelam:

constructor TMyForm.Create(AOwner: TComponent; ADataSource: TDataSource);
begin
FarDataSource := ADataSource;
inherited Create(AOwner);
end;

Funguje to spravne, az na to, ze se objevuje neprijemny warning:

[Warning] uMyForm.pas(28): Method 'Create' hides virtual method of base type
'TCustomForm'

Poradte prosim, jak to odtsranit, jak by to melo byt objektove spravne,
jakou mam pouzit direktivu za tu deklaraci konstruktoru?

Dekuji.

Reset

[*] Karel Cibulka <kcibulka(zv)seznam(tec)cz> - 27.12.2000 15:53:53

Mozna by nebylo od veci uvest veci na pravou miru:

Prace se soubory se v Pascalu odehrava ve 4. krocich (s pomoci std. funkci,
pak existuji funkce pracujici se soubory bez pomoci AssignFile metod, ale ty
zde popisovat nebudu):

1) Propojeni struktury F, ktera popisuje stav souboru, a jmena souboru, s
pomoci nasledujiciho volani:

AssignFile(F, JmenoSouboru);

2) Otevreni souboru pro cteni/zapis apod. Nasledujici funkce pracuji s drive
inicializovanou strukturou F, ve ktere je jiz ulozena informace o jmene
souboru.

Reset(F); { Otevira soubor v modu pro cteni }
Rewrite(F); { Vytvori prazdny soubor nebo prepise existujici soubor v modu
pro zapis }
Append(F); { Otevre existujici soubor pro zapis (mozna i cteni, ale ted z
hlavy to nevim 100%) bez toho, aby byla prepsana puvodni data }

3) Prace se souborem, tj. cteni/zapis a pod.
Read(F, data);
Write(F, data);

4) Uzavreni souboru, tj. "deinicializace" struktury F. Dojde k uvolneni
systemovych prostredku alokovanych v ramci funkci z kroku 2.

CloseFile(F);


V ramci kroku 2 dochazi k vlastnimu fyzickemu otevirani souboru, tj.
alokovani prislusnych systemovych prostredku pro praci s timto souborem.
Pokud soubor otevreme napr. s pomoci funkce Reset znamena to, ze operacni
system otevre soubor v rezimu cteni. Pak jakakoliv operace, ktera se pokusi
do souboru zapsat skonci s chybou (o to se postaraji std. funkce operacniho
systemu, ktere toto hlidaji). Na druhou stranu to ale neznamena, ze by se
soubor oznacil ReadOnly attributem. Dokonce existuji i mody, kdy lze otevrit
pro cteni soubor, ktery nekdo jiny otevrel pro zapis a pak se divat, jak ten
druhy program do souboru zapisuje data... Ale na to uz std. Pascalovsky
system AssignFile/Reset/CloseFile nestaci.

Dne st 27. prosinec 2000 09:15 jste napsal(a):
> Tohle je v Helpu
>
> AssignFile(F, OpenDialog1.FileName); { File selected in dialog box }
> Reset(F);
> Readln(F, S); { Read the first line out of the
> } CloseFile(F);
> takze Reset nedela ze souboru ReadOnly.
> Spise bych se priklanek k nazoru, ze tento soubor je jiz jednou otevren a
> nebyl radne uzavren.

--
<br>
Cibulka Karel, mailto:kcibulka(zv)seznam(tec)cz, ICQ: 4111110
<br>

File: Reset

[*] Jan Votroubek <jvotroubek(zv)NOTIA.CZ> - 27.12.2000 15:59:23

Nu, uz nevim, jak tydle veci fungujou v delphi - radeji bych pouzil OpenFile
z Win32API, ale zkus nastavit nastavit promennou FileMode := 2 - dej to pred
ten Reset(). To ti nastavi otvirani souboru jako Read/Write. Dale viz
dokumentace.

JohnyQ

> -----P�vodn� zpr�va-----
> Od: Zdenek Janish [mailto:medusa(zv)brajan(tec)cz]
> Odesl�no: 25. prosince 2000 3:08
> Komu: Konf. DELPHI
> P�edm�t: File: Reset
>
>
> Dobry den,
>
> netusite kde je zrada:
>
> pokud soubor neexistuje, vse probehne OK,
> v pripade existence souboru to vyhodi "IOError 103 - soubor neni
> otevren",
> coy si mzslim je nesmzsl, protoze se se soubore neda pracovat dokud se
> nezavola CloseFile {logicke},
> pokud misto Reset dam ReWrite tak to opet funguje spravne, az na
> takovou drobnost, ze mam v souboru pouze jediny zaznam {logicke, ale
> nezadouci}, co tedy stim????
>
> Pouzivam D5 Enterprise.
>
> procedure XXX;
> var Ft: TextFile;
> begin
> AssignFile(Ft, 'vemeno.txt');
> try
> Reset(Ft); {otevreni existujiciho}
> except
> ReWrite(Ft); {vytvoreni noveho souboru}
> WriteLn(Ft, '"LOT"', cTabul, '"Jumbo"', cTabul, '"Datum"', cTabul,
> '"�as"', cTabul, '"Gimax"', cTabul, '"GIN"', cTabul,
> '"Rozhodnut�"', cTabul, '"Archivace"', cTabul,
> '"Pozn�mka"'); {vytvoreni hlavicky}
> end;
> Write(Ft, 'Test');
> {...}
> finally
> CloseFile(Ft);
> end;
> end;
>
> Diky za pomoc
> Zdenek
>
>
>

Zistenie informacii o Inete

[*] Karel Kral <kralkonf(zv)purus(tec)cz> - 27.12.2000 16:16:10

Spis zkus nejaky Personal Firewall, zdarma. Zde je na ne dost odkazu:
http://grc.com/lt/scoreboard.htm

Delphi wrote:
>
> Ahoj,
>
> Chcel by som spravit monitorovanie pristupu na internet na mojom pocitaci
> doma a nastavit si cas mozneho
> pristupu pre deti. Neviete niekto ako zistit ci som pripojeny na inet a
> ziskat informacie co sa prave deje?
> Alebo ake pakety tam idu??
>
> Dik
>
> Irongear

--
______________________________________________________
Karel Kral, informatik
Purus, s.r.o., Cezavy 627, 664 56 Blucina, CZ
Tel: 05/47235000, 0602/552432, Fax: 05/47231203
E-Mail: mailto:kral(zv)purus(tec)cz, WWW: http://www.purus(tec)cz
______________________________________________________


Pole a DbCtrlGrid

[*] halam(zv)post(tec)cz - 27.12.2000 17:10:12

Zdravim vsechny.

Chci se zeptat, jak je mozne dostat polozky z pole (array [1..100] of integer) do dbCtrlGridu. Nechci pole prenaset do tabulky (kvuli rychlosti).

Diky moc.

Zistenie informacii o Inete

[*] Delphi <delphi(zv)minv.sk> - 27.12.2000 08:15:16 -0800

Ahoj,

Chcel by som spravit monitorovanie pristupu na internet na mojom pocitaci
doma a nastavit si cas mozneho
pristupu pre deti. Neviete niekto ako zistit ci som pripojeny na inet a
ziskat informacie co sa prave deje?
Alebo ake pakety tam idu??

Dik

Irongear


Teorie: Databazovy objektovy pristup

[*] Erik Salaj <winsoft(zv)napri.sk> - 27.12.2000 19:12:41

> V OOP systemu prakticky neexistuji recordsety (kdyz uz, tak az
> na nejnizzsi datove vrstve), takze klasicke DBGridy nejsou
> prakticky pouzitelne.

Grid je vyhodna reprezentacia udajov (z hladiska uzivatela)
aj u OOP systemov (aplikovatelna na mnoziny objektov urciteho typu).

> > Popsane schema je velice podobne schematu ADO, jenze zde by
> > se jednalo o konkretni aplikacni reseni.
>
> ADO prilis neznam, ale zda se mi, ze to zavani opet zaznamove
> orientovanym pristupem...

ADO poskytuje klasicky pristup k relacnym databazam, ovsem ma
urcite rozsirenia a podporu aj pre nerelacne datove zdroje a XML.
ADO+, ktore je sucastou .Net je uz od zakladu zalozene na XML.
XML je vhodny tak pre relacne ako aj objektove systemy a poskytuje
perfektny zaklad pre akukolvek dalsiu prezentaciu/spracovanie/ulozenie
udajov.

Co sa tyka "zaznamovo orientovaneho pristupu" netreba zabudat,
ze objekt je vlastne "zaznam" atributov + metody. Netreba zabudat
ani na problemy OOP a perzistentnych objektov, koli ktorym
maju stale rozhodujuce postavenie relacne (a nie objektove)
databazy.

Erik

Teorie: Databazovy objektovy pristup

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 27.12.2000 19:29:12

On 27 Dec 2000, at 15:21, Rosta Podmanicky wrote:

> > Hlavni prekazku vsak vidim, pokud bude nekdo chtit pouzit
> > komponenty vazane na TDataSet. Vazby mezi DBConnect,
> > DBDataSet (obecne nazvy), TDataSource a vizualni kompnenty
> > typu DBGrid jsou napsane prave pro to prvni pouziti a jejich
> > ohybani k pouziti v samostatnych komponentach se mi jevi znacne
> > tezkopadne (urcitym nestastnym pokusem o toto je asi MIDAS).
>
> Na DB komponenty, DBDataSety a pod. je nutne zcela zapomenout - je to
> marny boj...

To vim, vsak jsem na ne take davno zapomnel... :-) Pisu o tom jen
proto, ze potomci TDataSet jsou stale hojne pouzivane.

> > komponenty (recordsety), ktere se budou zabyvat vnitrnimi
> > zalezitostmi, napriklad praci s nejakou tabulkou. Recordset pak
> > poskytne interface zobrazovacimu prvku (DBGrid), ktery bude umet
>
> V OOP systemu prakticky neexistuji recordsety (kdyz uz, tak az
> na nejnizzsi datove vrstve), takze klasicke DBGridy nejsou
> prakticky pouzitelne.

Lepe by sedel proud dat, terminologii jsem zvolil kvuli podobnosti,
abych nemusel zavadet a tedy i vysvetlovat nove terminy.

> > data z recordsetu vhodne ukazat. Zeditovana data se vrati zpet
> > recordsetu a teprve ten rozhodne, co se s nimi bude dal dit.
> >
> > Popsane schema je velice podobne schematu ADO, jenze zde by
> > se jednalo o konkretni aplikacni reseni.
>
> ADO prilis neznam, ale zda se mi, ze to zavani opet zaznamove
> orientovanym pristupem...

Kdepak. Schema ADO vypada tak, ze je jedna konektivita, jakozto
samostatny objekt. K ni jsou pripojene jednotlive recordsety, ze
kterych se doluji data. Tyto recordsety maji svou vnitrni inteligenci,
to napriklad znamena, ze si vytahnou data do sveho bufferu, a
umeji je vracet podle pozadavku, napriklad setridene, podle poradi
atp. Pri pokusu o zapis se postaraji o to, aby se zmena dostala do
databaze. Konkretni implementace ADO pak samozrejme musi byt
schopna pracovat s ruznymi zdroji dat, takze v nem nelze jit do
implementacni hloubky, jakou potrebuje konkretni aplikace.

Podobne schema by mela mit i aplikacni komponenta, tedy
schopnost pripojit se k vybrane komponente s connection,
zpracovavat data z/do databaze a predavat hodnoty jine
komponente, ktera bude mit na starosti napriklad zobrazeni tech
dat.


S pozdravem

Zbysek Hlinka

Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


Rozli�en�

[*] Ondrej Skipala <OSkip(zv)seznam(tec)cz> - 27.12.2000 20:04:10

Ned�vno jsem se ot�zal, zda existuje n�jak� p��kaz na zm�nu rozli�en�. P�i�la mi odpov�� �e ano a abych se pod�val na n�jak� str�nky, kter� byli v angli�tin�. Pros�m v�s p�kn�, mohli byste mi napsat p��mo p��kaz do procedury na p�epnut� rozli�en� na 800x600(32)
Na internetov�ch str�nk�ch v angli�tin� se velmi �patn� orientuji :(

��kuji
_____________________________________________________________________
Hled�n� lid� a jejich e-mail�: http://www.lide(tec)cz


Novy rozsireny constructor pro objekt

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 27.12.2000 21:12:16

27.12.2000 Alois NiL Jirasek :
> Hi, mam takovy objektovy dotaz. Mam class typu TFrom a potrebuji vytvorit
> vlastni constructor. Vypada to asi takhle:

> TMyForm = class(TForm)
> ...
> private
> FarDataSource: TDataSource;
> ...
> public
> constructor Create(AOwner: TComponent; ADataSource: TDataSource);
> ...
> end;> pak udelam:

> constructor TMyForm.Create(AOwner: TComponent; ADataSource: TDataSource);
> begin
> FarDataSource := ADataSource;
> inherited Create(AOwner);
> end;

> Funguje to spravne, az na to, ze se objevuje neprijemny warning:

> [Warning] uMyForm.pas(28): Method 'Create' hides virtual method of base type
> 'TCustomForm'

> Poradte prosim, jak to odtsranit, jak by to melo byt objektove spravne,
> jakou mam pouzit direktivu za tu deklaraci konstruktoru?

> Dekuji.


Pojmenuj si vlastni konstruktor svym jmenem napr:
TMyForm.CreateEx(AOwner: TComponent; ADataSource: TDataSource);
a form vytvarej pres nej


------
ing. Jan Fiala
mailto:jan.fiala(zv)iol(tec)cz

IB 6 - Spojenie tabuliek cez left join

[*] Roland Turcan \(RoTurSoft\) <rotursoft(zv)nextra.sk> - 27.12.2000 22:11:14

Zdravim.

Je mozne spojit dve tabulky ktore su v samostatnych GDB na ktore sa pripajam
cez dva IBDatabase ?


Dakujem


roland.

File: Reset

[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 27.12.2000 22:33:06

From: "Jan Votroubek" <jvotroubek(zv)NOTIA.CZ>> Nu, uz nevim, jak tydle veci fungujou v delphi - radeji bych pouzil
OpenFile
> z Win32API, ale zkus nastavit nastavit promennou FileMode := 2 - dej to
pred
> ten Reset(). To ti nastavi otvirani souboru jako Read/Write. Dale viz
> dokumentace.

Toto nepomuze. FileMode se uplatni pouze u netextovych souboru.
Textove soubory se vzdy otviraji:
Reset - pouze pro cteni
Rewrite - pouze pro zapis
Append - cteni i zapis.

viz dokumentace, predpokladam, ze dokumentaci mame stejnou.

Pokud neveris dokumentaci, muzes se podivat primo
do zdrojoveho textu OPENTEXT.ASM a OPENFILE.ASM

Vaclav Krmela


© Delphi.cz, program netcode.cz, 2008-9.