Archív konference Delphi

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

IBBackupService a zaloha na clienta

[*] Zdenek Brejsa <prog(zv)hjsoft(tec)cz> - 12.9.2002 08:16:17

> Resil jste nekdo problem ze IBBackupService nezvlada zalohovani ze serveru
> na clienta?
> Mam clientskou aplikaci a potrebuju dostat zazalohovanou DB ze serveru na
> clienta.
> Pres gbak to jde ale ja bych to potreboval resit programove a mit cele
> zalohovani pod kontrolou a pak dale s tou zalohou nejak jeste pracovat.
> Davkove spusteni gbak mi nevyhovuje. Koukal jsem se do API pro IB a zadny
> parametr kterym by se to dalo zarucit jsem nenasel. Servisni sluzba proste
> se snazi rvat tu zalohu na server.

Ahoj,
mam tuseni, ze se to tu uz objevilo. Myslim, ze nekdo navrhoval nejakou
sluzbu na serveru, ktera ti na vyzadani posle pres TCP/IP ten soubor zalohy.
Ja to resim trosku jinak (asi ne moc systemove, ale bez potreby neco dalsiho
instalovat). Uzivatel musi zadat (nekde v parametrech aplikace) cestu na
serveru, ktera je zdilena a viditelna ze stanice, a cestu odpovidajici teto
z pohledu stanice. Zbytek ti asi uz dosel ;-). Proste udelam zalohu a
stanice na ni vidi.

Zdenek Brejsa - programator HJ-SOFT s.r.o.
Hradebni 3
56301 Lanskroun
Tel: 511096, 522889, 524795
Mob: 0602592948, 0603833124
ICQ: 47636291

webbrowser a setfocus-scollbar

[*] J�n Kuch�r - 12.9.2002 08:20:43

cau,

1 ) mam na formulari umistnenou komponentu webbrowsru a stringgrid, pri
startu nastavim focus na stringgrid, ale kdyz pocas behu aplikace klikne
nekdo dovnitr komponenty webbrowsru tak ten stringgrid strati focus a spatky
se mi ho jiz nepodari vratit, nezqbira ani v timeru neustale opakujici se
operace stringgrid1.setfocus

2 ) da se nejakym zpusobem zakazat zobrazeni horizontalniho i vertikalniho
scollbaru u webbrowsru a nahradit scrollovani stiskem nejakych butonu,
prikaz scrollby mi nenahrazuje scollbar, ale nejak posouva celym obsahem


DIK


Problem s hledanim v datech (BDE+MSSQL)

[*] bardon <bardon(zv)akord-soft(tec)cz> - 12.9.2002 08:21:49

Posunout na radek pres locate, to mi fungovalo korektne i s ceskymi znaky.
Ale mam dojem, ze to kolegove nejak upravovali, ted nestiham, ale podivam se
do kodu co tam najdu, urcite nam locate funguje spravne i s ceskymi znaky
(malymi i velkymi).

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Behalf Of EFG developer

to se ale podle me neda resit jinak nez bez selectu, ja se potrebuju jen
posunout na radek v gridu


Procedure a function

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 12.9.2002 08:25:41

> Pokud jde o me, pretezovani nemam moc rad. Je to
> trochu "nepascalovske".
>
> Jako ortodoxni pascalista bych radsi napsal dve ruzne funkce bez
> overload:
function Texty(const A, B: string): string;
function TextyC(const A, B: string; C: Integer): string;

Ahoj,

pokud ale obe funkce budou obsahovat velmi podobny, presto ale dlouhy
komplikovany algoritmus, bude navrzene reseni znamenat, ze az se najde chyba,
budes muset nezapomenout opravit obe funkce, zatimco jediny zdrojak s
parametrem s implicitni hodnotou v takovem pripade zjednodusi udrzbu. Je mi jasne,
ze implicitni parametr neni pretezovani, ale predpokladam, ze prvni radek se tyka i
toho.

David Lebeda

PARADOX-DataSource, Datafield,DBEdit

[*] Pavel Zichovsky <zichovsky(zv)trul(tec)cz> - 12.9.2002 08:28:10

Zdravim,

> 1.
> - mam formular na ktorom su kompon. pre pracu s databazami.
> - vytvoril som dalsi formular, ktory sa zobrazi pri kliknuti na
> tlacitko "Pridat"
> - na tomto pridavacom Forme su DBEdit-y, ktore by sa mali
> vyplnit a po kliknuti na "OK" by sa mali nove udaje zapisat do
> tabulky (paradox)
>
> - na pridavacom formulari nemozem nadstavit DataSource, ani DataField
> pre komponentu DBEdit.
>
> Neponuka mi to ani ziadne moznosti, kde je chyba ?

Chyba je v tom, ze ten form, kde mas ty DBedity "nevidi" form s tabulkou, protoze ho
nemas v "uses". deji si tu unitu s DB formem do uses unity s formem na upravu a
pojede to.

> 2.
> - na formulari mam niekolko DBMemo-v a jeden Edit a potreboval by som
> to nadstavit tak, aby kurzor blikal v Edite a nie v DBMem-e ...

dbedit1.setfocus;
pripadne nastavit v IDE tab order

> 3.
> - program bude pracovat na PC s viacerymi uzivatelmi, potreboval by som
> aby sa pri zadavani novych udajov / bod c.1 / do tabulky automaticky
> do pola DBEdit-ov:
>
> - s nazvom Login nacital zo systemu aktualne prihlaseny uzivatel
> ( Win2000 )

table1['Login']:=nejakmusiszjistitjmenoprihlasenehouzivatele;

> - s nazvom Datum nacital zo systemu aktualny datum

table1['Datum']:=date;

> - s nazvom Time nacital zo systemu aktualny cas

table1['Time']:=time;

Nevim, jestli D3 umi k polim tabulky pristupovat pomoci table1['jmenopole']. Pokud ne,
tak musis pouzit konstrukci table1.fieldbyname('jmenopole').astyp (vice viz napoveda,
kde take najdes vse, co je popsano vyse :-)))).> 4.
> - daju sa v dtb paradox zoradovat udaje podla datumu a casu vzostupne ???
> teda najnovsi datum a cas na prvom riadku ???

Udelas si sekundarni index, ktery to bude delat. V Delphi pak jen te tabulce nastavis
property indexname na jmeno toho vytvoreneho sekundarniho indexu.

> Za vsetky odpovede uprimne dakujem!

Nojo, nemas zac :-))))


S pozdravem
Pavel �ichovsk� (zichovsky(zv)trul(tec)cz)

Rozdil mezi IB a BDE

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 12.9.2002 08:44:49

> Mam koupenou verzi D6Prof, kde je soucasti i nejaka IB (mam to doma a
> jeste jsem na to ani poradne nekoukl). Je to ta 6? Muzu pomoci ni
> vytvorit takovou aplikaci, kterou jsem vyse popsal? Podminkou prace s
> IB na siti je instalace SQLserveru? Jakeho? Kde ho vemu a za kolik?
> Asi jsem najivni s otazkou, jestli existuje nejaky free, ze?

Ahoj, takze takhle:

nevim, co je soucasti D6, jelikoz s nim nepracuji. Ale v kazdem pripade doporucuji
stahnout FireBird z www.ibphoenix(tec)cz. To je urcite verze, ke ktere nepotrebujes
kupovat zadne licence, ani klientske, ani pro server.

Ano, SQL server JE nutne nekam nainstalovat. Jde ovsem o trivialni zalezitost,
instalator je klasicky udelany a v podstate staci vse odsouhlasit, nemusis v
nabizenych moznostech nic menit.

SQL server FireBird stahnes, jak jsem popsal, klientskou aplikaci napises s pomoci
komponent Interbase Express z Delphi.

Spolu s exe souborem aplikace budes sirit i soubor gds32.dll, ktery po instalaci SLQ
serveru bude nejspis v C:\Windows\System32 nebo tam nekde. Sirit ho budes ve
stejnem adresari jako exe tve aplikace, tj. nemusis na klientech detekovat, kde maji
Windows a v jake verzi.

David Lebeda

Rozliseni monitoru

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 12.9.2002 08:46:34

> > chtel bych se zeptat jak v D6 zjistit aktualni rozliseni monitoru.

Screen.Width, Screen.Height, resp. mozna se ty property jmenuji
trosku jinak, viz help TScreen.

David Lebeda

Zacatecnik - jak napsat SQL dotaz

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 12.9.2002 08:58:14

> Odes�latel: Jiri Lev <levj(zv)jhv(tec)cz>
> Nevim jestli jsem to presne pochopil....
> UPDATE TABLE tism_tab_sl SET historie = '1' WHERE id = 'neco'

UPDATE tism_tab_sl SET historie = '1' WHERE id = 'neco'

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

Sitova aplikace - jak na ni

[*] <little_bobes(zv)centrum(tec)cz> - 12.9.2002 09:03:59

Zdravim,

potreboval bych udelat pomoci socketu sitovy program (ne databazovy), kdy na
serveru ma kazdy pripojeny klient svuj vlastni pametovy prostor (neco jako
TRemoteDataModule u MIDASu).

Ma nekdo nejake odkazy na priklady?

Diky Bob

D4 c/s

PARADOX-DataSource, Datafield,DBEdit

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 12.9.2002 09:17:44

> Odes�latel: bugi <bugala_a(zv)centrum.sk>

> 1.
> - na pridavacom formulari nemozem nadstavit DataSource, ani DataField
> pre komponentu DBEdit.
Uses na unitu formulare, kde je ten DataSource?

> 2.
> - na formulari mam niekolko DBMemo-v a jeden Edit a potreboval by som
> to nadstavit tak, aby kurzor blikal v Edite a nie v DBMem-e ...
Edit.SetFocus?

> 3.
> aby sa pri zadavani novych udajov / bod c.1 / do tabulky automaticky
udalost Table.AfterInsert:
Table.FieldByName('Login').asString:= ...
Table.FieldByName('Datum').asDateTime:= Date;
Table.FieldByName('Time').asDateTime:= Time;

> 4.
> - daju sa v dtb paradox zoradovat udaje podla datumu a casu vzostupne ???
> teda najnovsi datum a cas na prvom riadku ???
Myslis sestupne, tedy od nejvyssiho po nejnizsi
select * from tabulka order by datum, cas desc;

> Za vsetky odpovede uprimne dakujem!
Uz jsi to tady slysel mnohokrat, ale pridam jeste jednu radu.
Vynalozil bych maximalni usili, abych se vyhnul Paradoxu.
To tim spis, ze jde o aplikaci se sdilenim dat.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

Procedure a function

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 12.9.2002 09:19:31

From: "Lebeda David" <david.lebeda(zv)comarr(tec)cz>

> pokud ale obe funkce budou obsahovat velmi podobny, presto ale dlouhy
> komplikovany algoritmus, bude navrzene reseni znamenat, ze az se najde
> chyba, budes muset nezapomenout opravit obe funkce,

To se prece dela tak, ze se napise jen funkce s obecnejsim interfacem tj.v
tomto pripade s povinnym parametrem a ta druha by ji volala s nejakou dummy
hodnotu. Ostatne u overload techniky by to vypadalo stejne.

Nadbytecny overhead toho vnoreneho volani podprogramu lze kompenzovat prave
uzitim default hodnoty argumentu, ale zalezi na typu aplikace

1) z hlediska lepsi modifikovatelnosti bych preferoval overload techniku,
protoze mohou existovat dalsi pozadavky napr. na pridani dalsich argumentu
do vypoctu, ktere uz technikou nepovinnych argumentu nevyresim

2) z hlediska potencialne vyssi spolehlivosti kodu bych preferoval techniku
nepretezovanych funkci s ruznymi jmeny, protoze pri pripadne zmene spojene
napr. s prejmenovavanim a zmenou argumentu mi prekladac ukaze dotcena volani
a mel bych se tudiz zamyslet, jaky dopad muze mit provadena zmena
na ruzne casti programu, o kterych uz davno nikdo nevi, ze v programu jsou.


Bye, pf


Lock nad IB recordom

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 12.9.2002 09:24:50

Odes�latel: Hlas <hlas(zv)inmail.sk>
Nad paradoxom, ked som dal record do stavu Edit bol locknuty - ziadny iny uzivatel
nemohol tento zaznam editovat. Je nieco podobne mozne aj nad IB zaznamom?

Mozna me nekdo opravi, ale pokud se nemylim, tak to nejde.
IB ma tzv. "optimisticke transakce"
Zhruba receno zvitezi ten, kdo prvni ulozi (commit).
Druhemu je ohlasena chyba - to je treba osetrit.
(V IBX taky zalezi na typu transakce wait/nowait).

Jeste jina situace vznika pri pouziti TClientDataSet a ApplyUpdates.
Tam mi pri pokusu o update server posle na klienta zpatky konfliktni zaznam spolu s jeho hodnotami puvodnimi, novymi a aktualnimi. Ja si pak mohu vybrat, "kdo ma pravdu".

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

Sleep(0)

[*] Erik Salaj <winsoft(zv)stonline.sk> - 12.9.2002 09:26:38

> No, tak jsem po dlouhe dobe otevrel M$ API help :)
> Frontu zprav ma asociovan thread, ktery vytvoril okno, jemuz je zprava
> zasilana => ano, thread ma frontu zprav, ale pouze ten thread, ktery
> vytvoril window... Takze neni pravda, ze kazdy thread ma frontu zprav (tak
> jsem pochopil Vase tvrzeni ja).
> Fronta zprav je tedy primarne vztazena nikoliv k threadu, ale k window
> (pochopitelne funkce musi vykonavat thread - to ani nijak nejde... ;)).

to je logicke, ved naco by bola kazdemu threadu fronta sprav.

Erik

PARADOX-DataSource, Datafield,DBEdit

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 12.9.2002 09:28:08

Musim Paradox pouzivat, takze ho znam dobre, ale pokud muzu doporucit a mas
na vyber, tak radeji nejake to SQL. Ale neni-li to mozne, priprav se na
problemy. Osobni zkusenost.
>
> 1.
> - mam formular na ktorom su kompon. pre pracu s databazami.
> - vytvoril som dalsi formular, ktory sa zobrazi pri kliknuti na
> tlacitko "Pridat"
> - na tomto pridavacom Forme su DBEdit-y, ktore by sa mali
> vyplnit a po kliknuti na "OK" by sa mali nove udaje zapisat do
> tabulky (paradox)
>
> - na pridavacom formulari nemozem nadstavit DataSource, ani DataField
> pre komponentu DBEdit.
>
> Neponuka mi to ani ziadne moznosti, kde je chyba ?
>

Patrne na tom formu nemas zadnou komponentu TTable vazanou na nejaky ten
TDataSet. Pokud to D3 umi, pouzij TDataModul. Pokud ne, pouzij nejaky skryty
form, kam das tabulku a dataset a do uses obou tech formularu das odkaz na
tento skryty form. Pak budes mit k dispozici dataset i table z obou
formularu.

>
> 2.
> - na formulari mam niekolko DBMemo-v a jeden Edit a potreboval by som
> to nadstavit tak, aby kurzor blikal v Edite a nie v DBMem-e ...
>

Tohle nevim, ale snad pujde pouzit SetFocus.

>
> 3.
> - program bude pracovat na PC s viacerymi uzivatelmi, potreboval by som
> aby sa pri zadavani novych udajov / bod c.1 / do tabulky automaticky
> do pola DBEdit-ov:
>
> - s nazvom Login nacital zo systemu aktualne prihlaseny uzivatel
> ( Win2000 )
> - s nazvom Datum nacital zo systemu aktualny datum
> - s nazvom Time nacital zo systemu aktualny cas

- nevim, ale urcite na to bude nejaka API funkce
- Table.FieldByName('Datum').AsDateTime:= trunc(now);
- Table.FieldByName('Time').AsDateTime:= frac(now);

>
> 4.
> - daju sa v dtb paradox zoradovat udaje podla datumu a casu vzostupne
???
> teda najnovsi datum a cas na prvom riadku ???

STaci si udelat secondary index a nekde v DBDesktopu zaskrtnout
"descending". Samotne serazeni se provede nastavenim property IndexName,
napr. Table.IndexName:= 'JmenoIndexu';

>
> Za vsetky odpovede uprimne dakujem!
>

Za malo.

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
http://web.redbox(tec)cz/petr.brant
ICQ #68652380

D&COMM s.r.o.
Korunova�n� 6
170 00 Praha 7

if ve vyctu

[*] Skopalik Slavomir <skopalik(zv)hlubocky.del(tec)cz> - 12.9.2002 09:29:11

Myslim, ze by to hodne pomohlo pri vyvoji aplikace,
stejne to nakonec skonci u tech if else, tady navic
muze compiler provest vetveni metodou puleni intervalu,
pokud je tech pripadu hodne, nebo zrusit pocatecni pismenka, pokud tyto pripady zacinaji stejne.
On by uplne stacil preprocesor, ktery by generoval ty ify.

Slavek

> Dobre, predpokladejme ze by to umoznoval a zapis by vypadal treba takto:
>
> case S of
> 'jedna': ....
> 'dva': ...
> end.
>

IBBackupService a zaloha na clienta

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 12.9.2002 09:29:36

> Odes�latel: Libor Junek, KSH-Data <junek(zv)ksh-data(tec)cz>
> Resil jste nekdo problem ze IBBackupService nezvlada zalohovani ze serveru
> na clienta?
Ja jsem to neresil, mam ale nasledujici uvahu.

Predstavte si databazi s "citlivymi" daty. Ja se k ni mohu prihlasit, ale mam moznost pristupovat pouze k nekterym tabulkam (view).

Co udelam? Zalohu na klienta, prihlasim se jako SYSDBA a udelam restore.
Veskera data mam k dispozici.

Je v te uvaze nekde chyba?

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

DelphiX

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 12.9.2002 09:35:09

Zdravim

Dela tady nekdo v DelphiX ?


Milan

MSSQL a sp_addlinkedserver

[*] Lstiburek Pavel <Lstiburek(zv)ceb(tec)cz> - 12.9.2002 09:37:49

Linkovani externich zdroju je celkem problem, jedine co pracuje bez problenu
je Acess.
U 7.0 byl potreba minimalne SP2 (pro DBF a XLS) u 2000 jsou s tim problemy
(, ale zrovna Paradox jsem nezkousel - nepouzivame ho). Po vynalozeni
urciteho usili jsme se rozhodli natahnout tabulky DBF a XLS do samostatne
databaze SQL a pracovat dale s ni.
Celkem tento postup muzu doporucit (pokud se jedna batch operace), lze ho
snadno automatizovat nastroje jsou primo v MSSQL -> DTS.

> Od: Otisk Rene [mailto:otisk(zv)misel(tec)cz]
> Hi,
>
> D5, MS SQL, Praradox5
> Potrebuji si prilinkovat Paradox tabulku k MSSQL7, ale select
> mi vyhazuje
> tuhletu chybu
>
> "Invalid schema or catalog specified for provider 'MSDASQL'"
>
> Nevite nekdo jak na tenhle problem? EXEC sp_tables_ex
> thatservernejm mi
> spravne ukaze ty tabulky
>
> Sroub
>

Lock nad IB recordom

[*] Hlas <hlas(zv)inmail.sk> - 12.9.2002 09:40:37


Nad paradoxom, ked som dal record do stavu Edit bol locknuty - ziadny iny uzivatel
nemohol tento zaznam editovat. Je nieco podobne mozne aj nad IB zaznamom?

Lock nad IB recordom

[*] Erik Salaj <winsoft(zv)stonline.sk> - 12.9.2002 09:42:52

> > Zamykani jen tak pro tve pohodli neni dobra technika. Pokud
> > uzivatel zacne zaznam editovat, je pred poslanim zmeny zapotrebi
> > zkontrolovat, zda nedoslo k jeho zmene.
>
> V praxi bez zamykani zaznamu uzivatel 5 minut tvori zmenu nejakeho zaznamu
a
> kdyz ho chce ulozit, tak se dozvi, ze ho mezitim nekdo zmenil a proto se
> jeho zmeny neulozi. Pote se mu ukaze aktualni stav zaznamu, ktery
samozrejme
> druhy uzivatel zmenil bud nepodstatne nebo chybne a muze 5 minut vyplnovat
> znovu a komentovat pri tom dusevni zdravi programatora.

v praxi by si mali uzivatelia prepisovat zaznamy len velmi vynimocne
a preto zatazovanie servera dlhotrvajucimi zamkami pocas editacie je
vyslovene neopodstatnene a poriadne neefektivne.

V pripade prepisania zaznamu nikde nie je povedane, ze uzivatel
musi udaje zadavat este raz. Je to vec aplikacneho programu
aby sa opytal uzivatela a umoznil mu predsa len tie zadane udaje
zapisat.

Erik

Disablovanie Bitmapy v MenuItem

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 12.9.2002 09:47:55

> Odes�latel: �tevl�k Mari�n <Marian.Stevlik(zv)merlin(tec)cz>
> Do jedneho MenuItem z PopupMenu som do Property BitMap vlozil obrazok
> ked tu MenuItem zdisablujem, tak obrazok ostane stale ten isty (neprejavi sa
> nad nim to zasednutie)

Pouzity postup je mozny, ale jednak je zbytecne pracny, jednak nemusi byt uplne konzistentni.

Pouzij TActionList, do nej pridej akce (TAction).
TAction ma property Caption, ShortCut, Enabled, ...
Vlastni akce se programuje OnExecute.

Pokud si vedle TActionListu polozis TImageList, muzes pomoci TAction.ImageIndex akci priradit obrazek.

No a pak uz u TButton, TBitBtn, TToolButton, TMenuItem, ... pouze nastavis property Action a je to. Vsechny vlastnosti akce "zdedi" ovladaci prvek. Funguje to spolehlive vcetne disablovani grafiky.

Navic:
Napr. Enabled se ovlada "centralne" v ramci TAction.
Nastavim-li Action.Enabled=false, automaticky se disabluji vsechny ovladaci prvky, ktere jsou na akci pripojeny.

Pri programovani akci tedy jeste nemusim premyslet, jake dam uzivateli nastroje pro jejich spousteni.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

PARADOX-DataSource, Datafield,DBEdit

[*] Petr Hlo�ek <petr h(zv)mrp(tec)cz> - 12.9.2002 09:49:01

> > - mam formular na ktorom su kompon. pre pracu s databazami.
> > - vytvoril som dalsi formular, ktory sa zobrazi pri kliknuti na
> > tlacitko "Pridat"
> > - na tomto pridavacom Forme su DBEdit-y, ktore by sa mali
> > vyplnit a po kliknuti na "OK" by sa mali nove udaje zapisat do
> > tabulky (paradox)
> >
> > - na pridavacom formulari nemozem nadstavit DataSource, ani DataField
> > pre komponentu DBEdit.
> >
> > Neponuka mi to ani ziadne moznosti, kde je chyba ?

Zkus to do te property Datasource primo napsat. Treba MainForm.Datasource1
Mohlo by to fungovat .....
Petr

ADO neco neni v poradku

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 12.9.2002 09:55:27

> Odes�latel: Zbysek Hlinka <hlinka(zv)hlinka(tec)cz>
> To rozhodne ne. Ale ADOQuery mi prijde jako nestastne reseni, protoze
> je to tam spis pro rychly prechod z BDE nez pro rozumnou funkcnost.
> Zkus to jeste predelat na ADODataSet, jestli to bude stejne.

Myslim, ze se to netyka pouze ADO, podobne je to s IBQuery/IBDataSet a pod.

Uplne na hlavu postavene je to s SQLQuery/SQLDataset, protoze z TQuery (BDE) na TSQLQuery (dbExpress) je prechod stejne (fakticky) nemozny. SQLQuery nelze otevrit v gridu, nelze udelat Locate, Filter, ..., nelze editovat, ...

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

Delphi 7, vyhody a cena

[*] LUKES V�clav <lukes(zv)ans(tec)cz> - 12.9.2002 09:57:46


Ahoj,

rad bych se Vas zeptal na par veci kolem Delphi 7.
v soucasne dobe mame Delphi 5 a mame kupovat upgrade ba Delphi 6.

- ma toto vyznam ? Neni lepsi primo prejit na Delphi 7 ?
- da se vubec z Delphi 5 skocit na Delphi 7 a jaka je cena ?
- jake jsou hlavni vyhody mezi Delphi 7 a Delphi 6, hlavne v oblasti datariny ?

Dekuji vsem za radu a nazory.

Vasek

if ve vyctu

[*] Erik Salaj <winsoft(zv)stonline.sk> - 12.9.2002 09:59:01

> > case S of
> > 'jedna': ....
> > 'dva': ...
> > end.

> Myslim, ze by to hodne pomohlo pri vyvoji aplikace,
> stejne to nakonec skonci u tech if else, tady navic
> muze compiler provest vetveni metodou puleni intervalu,
> pokud je tech pripadu hodne, nebo zrusit pocatecni pismenka, pokud tyto
pripady zacinaji stejne.
> On by uplne stacil preprocesor, ktery by generoval ty ify.

pre zaujimavost: C# umoznuje viaccestne vetvenie podla string hodnoty

Erik

FTP Server

[*] max_konference(zv)post(tec)cz - 12.9.2002 10:08:11

Potreboval bych otevrit vlastni FTP server v B5, ale nejak se mi na
to nepodarilo sehnat odpovidajici komponentu. Dik

----
Jak u�et�it na dovolenou? http://dovolena.finance(tec)cz

ADO neco neni v poradku

[*] Delphin <delphin(zv)post(tec)cz> - 12.9.2002 10:13:53

Predelal jsem to do ADODataSet a je to uplne stejne, zadna zmena, pokud mam
spolecne Connection pro oba Datasety, tak akce trva o 15 sec dele nez s BDE.
Zatim jsem to vyresil tak, ze v constructoru formulare vytvarim pro kazdou
databazovou komponentu vlastni ADOConnection a pak to beha stejne rychle
jako driv s BDE, ale prece to neni normalni ...

----- Original Message -----
From: "Zbysek Hlinka" <hlinka(zv)hlinka(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, September 12, 2002 7:48 AM
Subject: Re: ADO neco neni v poradku


> On 11 Sep 2002 at 16:11, Delphin wrote:
>
> > ADOQuery1.open;
> > {ADOQuery1.close;}
> > ADOQuery2.open; //trva taky 20 sec
> >
> > Kdyz mam pro kazdy dotaz samostatne ADOConnection, tak to funguje, ale
> > neni to pochopitelne idealni. Serverem to byt nemuze, predelavame
> > starsi malou cast projektu z BDE na ADO a v BDE to bezi v porovnani s
> > ADO jako blesk.
> >
> > Da se to nejak resit nebo se mam vratit k BDE ?
>
> To rozhodne ne. Ale ADOQuery mi prijde jako nestastne reseni, protoze
> je to tam spis pro rychly prechod z BDE nez pro rozumnou funkcnost.
> Zkus to jeste predelat na ADODataSet, jestli to bude stejne.
>
> S pozdravem
>
> Zbysek Hlinka
>
>
>
>

Problem s hledanim v datech (BDE+MSSQL)

[*] <tuffi(zv)email(tec)cz> - 12.9.2002 10:24:06

Ahoj, u MSSQL zalezi taky na zvolene kodove strance, nastaveni pouzivani ANSI znaku a podobnych "drobnostech" :-) Proto ten dotaz na nastaveni :-)

--- P�vodn� zpr�va ---
Od: "EFG developer" <developer(zv)efg(tec)cz>
Datum: 12.09.2002 08:52:36

> A jakym s jakym nastavenim byla vytvorena databaze ?
> Mam pocit, ze case sensitivita se urcuje pri vytvareni
> databaze spolu s jazykovym nastavenim.

Asi jste me nepochopily:
pokud hledam v datasetu bez diakritiky, tak je vse OK, ale pokud hledam
s diakritikou musim dodrzet velikost pismen bez ohledu na
foCaseInsensitive ve FilterOptions.
Dle meho nazoru se pri tomto hledani neprovadi znovu select do databaze
a hleda se pouze v datasetu (gridu) - takze by podle me nemel mit vliv
colation v databazi, pokud vidim data v gridu zobrazena spravne.

Petr Sikola

______________________________________________________________________________
Dom�c� spot�ebi�e a elektronika za ak�n� ceny � slevy a� 50 %.
Klikn�te na: http://www.obchodni-dum(tec)cz/index.phtml?prov=54&akce=yes

Detekovani pritomnosti MSSQL

[*] Kr�l Jirka <admin(zv)printo(tec)cz> - 12.9.2002 10:44:53

Poradi mi prosim nekdo jak z kodu detekovat pritomnost MS SQL serveru a jeho verzi?

diky

J.

Lock nad IB recordom

[*] Delphin <delphin(zv)post(tec)cz> - 12.9.2002 11:06:45

> Zamykani jen tak pro tve pohodli neni dobra technika. Pokud
> uzivatel zacne zaznam editovat, je pred poslanim zmeny zapotrebi
> zkontrolovat, zda nedoslo k jeho zmene.

V praxi bez zamykani zaznamu uzivatel 5 minut tvori zmenu nejakeho zaznamu a
kdyz ho chce ulozit, tak se dozvi, ze ho mezitim nekdo zmenil a proto se
jeho zmeny neulozi. Pote se mu ukaze aktualni stav zaznamu, ktery samozrejme
druhy uzivatel zmenil bud nepodstatne nebo chybne a muze 5 minut vyplnovat
znovu a komentovat pri tom dusevni zdravi programatora.

ADO neco neni v poradku

[*] Peter Surovy <psurovy(zv)uevora.pt> - 12.9.2002 10:15:47

Ahoj

> a v BDE to bezi v porovnani s ADO jako blesk.
--no pokial Ti mozem so svojimi skromnymi skusenostami radit
tak toto je uplne jasna a normalna vec.
Nevyhoda BDE nie je v rychlosti spracovania ale
v inych veciach(nebudem to tu menovat)

>
> Da se to nejak resit nebo se mam vratit k BDE ?
--- hmm no myslim ze s tou rychlostou sa da len
zmierit :-( a BDE uz dnes Borland nepodporuje
asi to nie je lahka otazka :-)

Peter

Lock nad IB recordom

[*] Marek Dost�l <dostal(zv)alef(tec)cz> - 12.9.2002 11:16:33

Pod�vej se do dokumentace nebo nekam na optimistick� a pesimistick� zamyk�n�. Strucne: pesimistick�: z�znam se zamkne v okamziku, kdy vstoupis do rezimu editace z�znamu (napr.paradox), optimistick� znamen�, ze muze delat zmeny v�ce uzivatelu, ten prvn� to uloz� a tem dals�m to vr�t� chybu, kterou je potom potreba osetrit. Zpusobu je v�ce: nechat predesl� zmeny, nebo pokud nen� konflikt na stejn�ch pol�ch z�znamu, ulozit zmeny a tak ponechat i ty predchoz�, nebo z�znam zcela nahradit. Vse z�lez� na moznostech konkr�tn�ho SQL serveru�, aplikacn�ho programu.

Zdrav�m, Marek Dost�l

----- Original Message -----
From: "Zbysek Hlinka" <hlinka(zv)hlinka(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, September 12, 2002 7:56 AM
Subject: Re: Lock nad IB recordom


> On 11 Sep 2002 at 21:04, Hlas wrote:
>
> > Nad paradoxom, ked som dal record do stavu Edit bol locknuty - ziadny
> > iny uzivatel nemohol tento zaznam editovat. Je nieco podobne mozne aj
> > nad IB zaznamom?
>
> Zamknout zaznam v IB neumim, anzto s IB nepracuji, ale chtel jsem
> rict, ze k zamykani zaznamu v databazi musi byt opravdu zavazny
> duvod. Zamykani jen tak pro tve pohodli neni dobra technika. Pokud
> uzivatel zacne zaznam editovat, je pred poslanim zmeny zapotrebi
> zkontrolovat, zda nedoslo k jeho zmene. A to se osetruje ulozenou
> procedurou, takze zadne zamykani neni nutne. Pokud nejaka baba zacne
> editovat, pak ji do toho zazvoni telefon, pak jde na zachod, obed, a
> kdovi kam jeste, mas na problemy zadelano, pokud je zaznam zamceny.
>
> S pozdravem
>
> Zbysek Hlinka
>
>
>
>
>

Detekovani pritomnosti MSSQL

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 12.9.2002 11:18:42

Hello Kr�l,

Thursday, September 12, 2002, 10:44:53 AM, you wrote:

KJ> Poradi mi prosim nekdo jak z kodu detekovat pritomnost MS SQL serveru a jeho verzi?

z jakeho kodu ? Vetsinou staci zda-li neco bezi na 1433TCP a 1434UDP

KJ> diky

KJ> J.
--
Best regards,
Vymazal mailto:vymazal.milan(zv)seznam(tec)cz

FTP server

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 12.9.2002 11:25:22

No, treba Indy.. ale neni lepsi tam na ten pocitac dat nejaky hotovy
FTP server (jsou i FREE), nez se jej snazit programovat a vychytavat
spousty problemu, ktere uz ma nekdo vychytane?

> Existuje komponenta, ktera mi vytvori z meho pocitadla FTP server???
>
> Diky
> Jiri
>
-- Lukas Gebauer.

E-mail: gebauerl(zv)mlp(tec)cz
http://www.ararat(tec)cz/synapse/ - Synapse Delphi and Kylix TCP/IP Lib.

DB Grid

[*] PETR KOREC <pkorec(zv)ic-energo(tec)cz> - 12.9.2002 10:29:30



Porad� mi pros�m n�kdo, jak ud�lat v DB gridu, aby se z�znamy nena��tali stylem
- jedna DB z�znam do 1 ��dku, ale do 1 sloupce ?

D�k

Detekovani pritomnosti MSSQL

[*] Jaroslav Nadhera <nadhera(zv)csh(tec)cz> - 12.9.2002 11:33:24

>Poradi mi prosim nekdo jak z kodu detekovat pritomnost MS SQL serveru a
jeho verzi?

Ja to zjistuji z registru z

HKEY_LOCAL_MACHINE

SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\CurrentVersion

Jaroslav Nadhera

CSH spol. s r.o.
Velflikova 10, 160 00 Praha 6
tel.: 02/2431 2344-5 (po precislovani 22431 2344-5)
fax: 02/3552 2892 (po precislovani 23552 2892)
e-mail: nadhera(zv)csh(tec)cz WWW: http://www.csh(tec)cz
pobocka Ostrava:
Nedbalova 14, 701 00 Ostrava
tel: 069/663 5687 (po precislovani 59663 5687)

Re[2]: Spojovy seznam

[*] Martin Pesava <pesavova(zv)dkm(tec)cz> - 12.9.2002 11:46:40

No, ja vim, ze jsem hroznej, ale delam takovou malinkatou aplikaci a
chci se vyhnout pouziti VCL v jakemkoliv mnozstvi - i malem. Zatim se
mi to docela dari, tak bych u toho rad zustal :)

> From: "Martin Pesava" <pesavova(zv)dkm(tec)cz>
>> potreboval bych napsat nejakej abstraktni predek spojoveho seznamu.

> A musi to byt zrovna spojovy seznam ? Co treba T(Object)List ?

> Petr Vones


--
Best regards,
Martin mailto:jimx(zv)volny(tec)cz

Procedure a function

[*] Marek Dost�l <dostal(zv)alef(tec)cz> - 12.9.2002 11:47:45

> > Jako ortodoxni pascalista bych radsi napsal dve ruzne funkce bez
> > overload:
> function Texty(const A, B: string): string;
> function TextyC(const A, B: string; C: Integer): string;
>
> Ahoj,
>
> pokud ale obe funkce budou obsahovat velmi podobny, presto ale dlouhy
> komplikovany algoritmus, bude navrzene reseni znamenat, ze az se najde chyba,
> budes muset nezapomenout opravit obe funkce, zatimco jediny zdrojak s

Nebudes, kdyz v Texty zavolas TextyC...:

function Texty(const A, B: string): string;
begin
...algoritmus
end;

function Texty(const A, B: string): string;
begin
TextyC(A,B,0);
end;

ADO neco neni v poradku

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 12.9.2002 11:54:40

On 12 Sep 2002 at 10:13, Delphin wrote:

> Predelal jsem to do ADODataSet a je to uplne stejne, zadna zmena,
> pokud mam spolecne Connection pro oba Datasety, tak akce trva o 15 sec
> dele nez s BDE. Zatim jsem to vyresil tak, ze v constructoru formulare
> vytvarim pro kazdou databazovou komponentu vlastni ADOConnection a pak
> to beha stejne rychle jako driv s BDE, ale prece to neni normalni ...

Hm, a jakou ze mas verzi Delphi? Ja vim, ze prvni ADOExpress nejakou
takovou chybu mel, ale dal jsem to uz nezkoumal. Kdyz jsem totez
udelal primo pres ADO, fungovalo to dobre.

S pozdravem

Zbysek Hlinka


Reseni: Vytizeni procesoru na NT

[*] Ales Vasicek <vasicek(zv)ecommerce(tec)cz> - 12.9.2002 12:01:43

Ahoj,

pred nedavnem se tu nekdo ptal jak zjistit vytizeni procesoru ve Windows
NT/2000/XP.
Tady je reseni:
http://www.swissdelphicenter.ch/torry/showcode.php?id=969

A.

Lock nad IB recordom

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 12.9.2002 12:04:54

On 12 Sep 2002 at 11:06, Delphin wrote:

> > Zamykani jen tak pro tve pohodli neni dobra technika. Pokud
> > uzivatel zacne zaznam editovat, je pred poslanim zmeny zapotrebi
> > zkontrolovat, zda nedoslo k jeho zmene.
>
> V praxi bez zamykani zaznamu uzivatel 5 minut tvori zmenu nejakeho
> zaznamu a kdyz ho chce ulozit, tak se dozvi, ze ho mezitim nekdo
> zmenil a proto se jeho zmeny neulozi. Pote se mu ukaze aktualni stav
> zaznamu, ktery samozrejme druhy uzivatel zmenil bud nepodstatne nebo
> chybne a muze 5 minut vyplnovat znovu a komentovat pri tom dusevni
> zdravi programatora.

Jo kdyz to blbe naprogramujes tak jiste. To se dela tak, ze zapomenes
na db-aware komponenty (nad zivymi daty, nebo je pouzijes na nejakem
"odlozenem" datasetu, ktery neni spojen s databazi) a editujes si to
hezky v samostatnem okne v normalnich komponentach (rozhodne NE v
DBGridu, pokud to nevyzaduje zcela specialni a velmi dobre zduvodnena
situace). Pak editovana data seberes, posles je ulozene procedure.
Kdyz ti ulozena procedura vrati, ze nekdo jiny data uz zmenil, muzes
je v pohode zobrazit, a nechat na uzivateli, jak s tim nalozi dal. O
nic neprijdes, protoze nepouzivas db-aware komponenty nad zivymi
daty. Uzivatel bude spokojen, spravce databaze ti nebude nadavat, ze
mu tam nechavas viset zamky a ty budes spokojen, ze to radne funguje
a nehazi to zbytecne chyby.

S pozdravem

Zbysek Hlinka


Sleep(0)

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 12.9.2002 12:04:39

> No, tak jsem po dlouhe dobe otevrel M$ API help :)
> Frontu zprav ma asociovan thread, ktery vytvoril okno, jemuz je
zprava
> zasilana => ano, thread ma frontu zprav, ale pouze ten thread, ktery
> vytvoril window... Takze neni pravda, ze kazdy thread ma frontu
zprav (tak
> jsem pochopil Vase tvrzeni ja).

> Fronta zprav je tedy primarne vztazena nikoliv k threadu, ale k
window
> (pochopitelne funkce musi vykonavat thread - to ani nijak nejde...
;)).

chyba. Fronta zprav nemusi mit nic spolecneho s oknem (ackoliv tomu
tak obvykle je).
Viz napoveda k funkci PostThreadMessage

D. Toman

Vzdaleny pristup k MySQL

[*] Miroslav Evjak <me.delphi(zv)seznam(tec)cz> - 12.9.2002 12:20:22

Ahoj,

poprosil bych vas o nazor pripadne zkusenosti s pouzitim nasledujiciho
postupu:

webovske stranky generuji z MySQL databaze v PHP, na webu se data i porizuji
(typicky registrace zakazniku). Databaze obsahuje radove do 5ti tabulek s
malym poctem vet (max 100 - 1000). Vzdalena data je potreba prohlizet a
aktualizovat z lokalni aplikace u klienta (max. 4x do mesice). Zakaznik je
pripojeny pevnou lajnou, provoz v databazi je minimalni.

Uvazoval jsem z pouzitim DBExpress (SQLConnection + SQLClientDataset). Pokud
jsem dobre rozumnel dokumentaci, umoznuje tato kombinace natazeni dat do
pameti a nasypani zpet po ApplyUpdates, cili neco jako davkova aktualizace.

Vzhledem k tomu, ze nikdy nic neni tak ruzove, jak se pise v dokumentaci,
chtel bych poprosit o vas nazor, kde si muzu nabehnout a na jake problemy.


Dik

Mirecek
+420 (607) 875748
mailto:miroslav.evjak(zv)seznam(tec)cz
http://www.sweb(tec)cz/miroslav.evjak/


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

Pribeh SQL prikazu (ProgressBar)

[*] Robert Poncak <delphi(zv)zvlauto.sk> - 12.9.2002 12:55:03


No ja som zabudol dodat ze to je IB :)
Ale ja by som potreboval v tom pomoct konkretne, nie odkaz na kurz...
Robo

> Odes�latel: Robert Poncak <delphi(zv)zvlauto.sk>
> Mam dotaz, nepozna niekto nejaku komponentu, alebo nejaky sposob, akym dat
> uzivatelovi aplikacie informaciu o priebehu SQL prikazu v podobe
> ProgressBaru?

Obavam se, ze zalezi na databazi, zda mi prubeh zpracovani selectu na
serveru nejak sdeli. Ne kazda (spise maloktera) to dela.

V.Bodecek, ktery u nas skoli kurz "IB/IBX - pokrocile techniky" tam ma
myslim nejaky priklad, kdy postup selectu na serveru hlasi klientovi UDF,
ktera se v selectu vola.

Kdyz uz je select ("kurzor") na strane serveru hotov a data tecou na
klienta, pak je tu otazka, zda je DataSet nacita vsechna najednou nebo nejak
po castech, co ukazuje property RecordCount. To pak zalezi na typu pouziteho
datasetu. Docela jinak se chova TTable, TQuery a treba TClientDataSet. Viz
tez nas kurz "Delphi: pokrocile techniky, databazovy klient".

= HAES - RNDr. Jan Sebelik


Sitova aplikace - jak na ni

[*] Skopalik Slavomir <skopalik(zv)hlubocky.del(tec)cz> - 12.9.2002 13:06:10

Podivej se na TCP spojeni, zacit muzes treba u demos/internet/chat.
Jinak doporucuji si sehnat k TCP dokumentaci, usnadni ti to zivot.

Slavek

> potreboval bych udelat pomoci socketu sitovy program (ne databazovy), kdy na
> serveru ma kazdy pripojeny klient svuj vlastni pametovy prostor (neco jako
> TRemoteDataModule u MIDASu).

Re[2]: Spojovy seznam

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 12.9.2002 13:12:44

From: "Martin Pesava" <pesavova(zv)dkm(tec)cz>
> No, ja vim, ze jsem hroznej, ale delam takovou malinkatou aplikaci a
> chci se vyhnout pouziti VCL v jakemkoliv mnozstvi - i malem. Zatim se

TObjectList neni VCL, navic ze ti to dnes za tech par bytu stoji ...

Petr Vones

Procedure a function

[*] Erik Salaj <winsoft(zv)stonline.sk> - 12.9.2002 13:17:38

> Je to vyhodne tam, kdy (zpravidla jednoducha) funkce muze mit ruzne typy
> parametru avsak vykonava logicky totez. Napriklad:
>
> function Trim(const S: string): string; overload;
> function Trim(const S: WideString): WideString; overload;
>
> Je (alespon dle meho nazoru) lepsi nez nejake hruzy jako TrimAnsi,
TrimWide a
> podobne, ktere si clovek musi pamatovat.

jedna z moznosti je, ze Trim je priamo sucastou objektu AnsiString
alebo WideString (nie v Delphi ale napr. v OOP frameworkoch
ako .NET, Eiffel alebo aj Smalltalk) a overloading vobec netreba.
Moze sa ale samozrejme vyskytnut v inych pripadoch, chcel som
len ukazat, ze poriadna podpora dolezitych aspektov OOP
moze niektore problemy (aspon ciastocne) eliminovat.

Ja nevidim ziadny problem pomenovat funkcie TrimAnsiString
a TrimWideString a zbavit sa tak problemov s jednoznacnou
identifikaciou. Myslim, ze je jednoduchsie oznacenie funkcie
jednym identifikatorom

TrimAnsiString

ako syntaktickou konstrukciou

Trim(const S: AnsiString)

---------------------------------------------------------------

Zoberme takyto overloading, je to ok, alebo nie?

Trim(const S: AnsiString)
Trim(S: AnsiString)

A volanie metody:

Trim("ABC"); // ktora metoda sa zavola?
Trim(ABC); // ktora metoda sa zavola?

Alebo tento overloading:

Add(Value: Integer);
Add(Value: LongInt);

Add(5); // ktora metoda sa zavola?
Add(LongInt(5)); // teraz ktora?

> Dalsi vyuziti muze byt u zajisteni zpetne kompatibility.

???

> > (prakticky sa tento problem prejavi ak chces napr. taku metodu
> > exportovat z DLL). Pritom overloading neprinasa nic nove
>
> Coz neni zase tak bezna vec.

no bol to priklad z Delphi, kde sa tento problem prejavil. Ja sa
overloadingu vyhybam, teda zaroven aj podobnym problemom,
ale myslim, ze ako nazorna ukazka, ze tam problemy vznikaju
to moze posluzit. Ak by tam tie problemy neboli, tak nie je
problem overloading implementovat do (takmer) kazdeho
jazyka a pouzivat (a nebol by dovod o tom ani diskutovat).
Ale ak nic ine, tak je dobre o moznych problemoch aspon vediet.

> > Myslim, ze programy, kde sa pouziva overloading su menej citatelne
> > (najprv treba zistit podla parametrov, ktora metoda sa vlastne vola),
> > neskor mozu vzniknut problemy a konflikty, ak sa parametre
> > takychto metod zmenia.
>
> To je pravda, jenze pro mozne spatne pouziti jeste neznamena celou vec
> zatratit.

podla mna treba zvazit prinosy aj zapory a tak sa rozhodnut. Problem
s overloadingom vidim hlavne v tom, ze tych prinosov je tam minimum.

Erik

Hled�m �ikovn� EditBox

[*] PETR KOREC <pkorec(zv)ic-energo(tec)cz> - 12.9.2002 12:18:45



Nev� n�kdo o n�jak� �ikovn� komponent� - edit box kter� by um�l kontrolovat
vstup jenom ��sel, znak�, data....a nejl�pe kter� by m�l u sebe check box pro
zatr�en� ?

D�k, Petr

Sleep(0)

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 12.9.2002 13:22:06

From: "David Mensik" <mensikd(zv)seznam(tec)cz>
> Frontu zprav ma asociovan thread, ktery vytvoril okno, jemuz je zprava
> zasilana => ano, thread ma frontu zprav, ale pouze ten thread, ktery
> vytvoril window... Takze neni pravda, ze kazdy thread ma frontu zprav (tak
> jsem pochopil Vase tvrzeni ja).

Frontu zprav ma ten thread, ktery poprve zavolal nejakou funkci z User nebo
Gdi, neni dulezite jestli v tom threadu bylo zaroven vytvoreno okno nebo ne.
Jak jsem psal, thread frontu zprav mit samozrejme nemusi, pokud nebyla splnena
podminka vyse.

> Fronta zprav je tedy primarne vztazena nikoliv k threadu, ale k window

Ne. Jeden thread muze mit nekolik oken, zatimco okno muze patrit pouze jednomu
threadu.

Petr Vones

Re[4]: Spojovy seznam

[*] Martin Pesava <pesavova(zv)dkm(tec)cz> - 12.9.2002 13:45:15

Hm, objekt TObjectList je v unite contnrs. Jenom uvedenim teto unity
do uses se exe zvetsil o 100KB, coz u teto aplikace znamena narust
velikosti kodu o vic jak 100% (momentalne ma 64000b presne ;]) ...
... ale asi je to blbost ... proste tam udelam 2x totez ... nez se
patlat s nejakym univerzalem ...

> From: "Martin Pesava" <pesavova(zv)dkm(tec)cz>
>> No, ja vim, ze jsem hroznej, ale delam takovou malinkatou aplikaci a
>> chci se vyhnout pouziti VCL v jakemkoliv mnozstvi - i malem. Zatim se

> TObjectList neni VCL, navic ze ti to dnes za tech par bytu stoji ...

> Petr Vones


--
Best regards,
Martin mailto:jimx(zv)volny(tec)cz

Sitova aplikace - jak na ni

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 12.9.2002 14:36:09

> Odes�latel: little_bobes(zv)centrum(tec)cz
> potreboval bych udelat pomoci socketu sitovy program (ne databazovy), kdy na
> serveru ma kazdy pripojeny klient svuj vlastni pametovy prostor (neco jako
> TRemoteDataModule u MIDASu).

Podobne jako TRemoteDataModule bych na serveru postavil DCOM-Server.
Podle meho soudu mi takovy server sam o sobe zajisti mnohem vetsi komfort a stabilitu, nez si to cele programovat pres sockety sam.

Jan Sebelik
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

Datum v EditBoxu

[*] PETR KOREC <pkorec(zv)ic-energo(tec)cz> - 12.9.2002 13:42:34



Chci editovat datum ulozene v Oracle

Nacitam to v Delphi do komponenty TDateTimePicker.

Problem nastava, kdyz nactu zaznam, kde je hodnota null, zobrazi se mi
implicitni datum z minuleho stoleti a hlavn�, kdy� chci vlo�it prazdnou hotnotu,
tak to komponenta neumoznuje, musi tam byt stale nejake datum...
Jak to resit, jinou komponentou nebo jinak ???

Diky...

Procedure a function

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 12.9.2002 14:50:11

> Odes�latel: Lebeda David <david.lebeda(zv)comarr(tec)cz>
> function Texty(const A, B: string): string;
> function TextyC(const A, B: string; C: Integer): string;
>
> pokud ale obe funkce budou obsahovat velmi podobny, presto ale dlouhy
> komplikovany algoritmus, bude navrzene reseni znamenat, ze az se najde chyba,
> budes muset nezapomenout opravit obe funkce, zatimco jediny zdrojak s
> parametrem s implicitni hodnotou v takovem pripade zjednodusi udrzbu. Je mi jasne,
> ze implicitni parametr neni pretezovani, ale predpokladam, ze prvni radek se tyka i
> toho.
Ne, mluvil jsem vyhradne o pretezovani.

Mozna si (jako ortodoxni pascalista :-) protirecim, ale proti implicitnim parametrum nic nemam (sdilim tedy vsechny tvoje argumenty), zatimco to pretezovani (overload) mi nejak vadi.

Priklad (mozna za vlasy pritazeny):

function Deleni(x,y:Integer):Integer; overload;
function Deleni(x,y:Double):Double; overload;

Pri volani funkce
x:=5; y:=2; z:=Deleni(x,y);
pak vysledek zavisi na tom, jak jsou deklarovany promenne x, y.
Z uvedeneho radku vubec nepoznam, kterou funkci si kompilator vybral.

U implicitnich parametru podobna nedorozumeni nehrozi.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

Programovani sluzby v Delphi

[*] Petr K. <xdelphi(zv)seznam(tec)cz> - 12.9.2002 14:54:59

Chci se zeptat jak jde v Delphi napsat program, aby se choval jako
sluzba pod W2K nebo XP. Nebo nejaky odkaz kde bych k tomu neco nasel.
Diky
Petr

______________________________________________________________________
Reklama:
Mapy Prahy, Brna a Cech najdete na http://www.mapy(tec)cz

O aplikaci

[*] <M.Babik(zv)mus(tec)cz> - 12.9.2002 15:03:40

Mel jsem na mysli neco jednodussiho. Slo mi o verzi atd. u aplikaze s kterou programuji. Chtel bych dynamicky plnit verzi v about a prislo mi "GetFileVersion" jako drbani leve tvare pravou rukou za temenem. :-( M&B

Nahrada retezce v XML

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

Ahoj,
potrebuju poradit s nasledujicim: mam XML (vice nez 100MB) s pomerne hodne
tagy a krom jinych take tagy ve tvaru <MMM:DDD>. Ja potrebuju:
1. najit prvni tag, ktery ma MMM=mujtext (kde mujtext je z mnoziny moznych
textu)
2. nacist obsah tagu
3. najit vyskyt nejakeho textu, nahradit ho mym textem a ulozit zpet do XML
4. pokracovat tak az na konec XML

Jak na to? Potrebuju nakompnout, co pouzit k nalezeni vhodneho tagu a jak
ulozit zpet do XML?

Dekuji predem,
Roman
==============================
http://kouzelne.misto(tec)cz

Sitova aplikace - jak na ni

[*] <little_bobes(zv)centrum(tec)cz> - 12.9.2002 15:07:05

Ale pro spojeni budu muset pouzit licencovany MIDAS.
Nebo je jine reseni?

Bob

> Podobne jako TRemoteDataModule bych na serveru postavil DCOM-Server.
> Podle meho soudu mi takovy server sam o sobe zajisti mnohem vetsi komfort
a stabilitu, nez si to cele programovat pres sockety sam.

Datum v EditBoxu

[*] <tuffi(zv)email(tec)cz> - 12.9.2002 15:13:26

Ahoj,
ja to resim pres DBEdit + ostreni na nejakou kombinaci klaves pro nastaveni na null.
Nebo tam muzes dat zaskrtavatko k tomy Pickeru. Kdyz zaskrtnuto, tak datum=null, jinak hodnota z pickeru :-)

--- P�vodn� zpr�va ---
Od: "PETR KOREC" <pkorec(zv)ic-energo(tec)cz>
Datum: 12.09.2002 13:39:36



Chci editovat datum ulozene v Oracle

Nacitam to v Delphi do komponenty TDateTimePicker.

Problem nastava, kdyz nactu zaznam, kde je hodnota null, zobrazi se mi
implicitni datum z minuleho stoleti a hlavn�, kdy� chci vlo�it prazdnou hotnotu,
tak to komponenta neumoznuje, musi tam byt stale nejake datum...
Jak to resit, jinou komponentou nebo jinak ???

Diky...

______________________________________________________________________________
Dom�c� spot�ebi�e a elektronika za ak�n� ceny � slevy a� 50 %.
Klikn�te na: http://www.obchodni-dum(tec)cz/index.phtml?prov=54&akce=yes

Sitova aplikace - jak na ni

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 12.9.2002 15:23:54

On 12 Sep 2002 at 14:36, Jan Sebel�k wrote:

> Podobne jako TRemoteDataModule bych na serveru postavil DCOM-Server.
> Podle meho soudu mi takovy server sam o sobe zajisti mnohem vetsi
> komfort a stabilitu, nez si to cele programovat pres sockety sam.

Na Novelu jsem tento model nerozchodil, kdezto TCP ano.

S pozdravem

Zbysek Hlinka


Nahrada retezce v XML

[*] Hynek Svato� <svatos(zv)kam(tec)czu(tec)cz> - 12.9.2002 15:23:01

Na tohle by asi bylo nejvhodnejsi pouzit nejaky SAX parser. Nevim, jestli uz
existuje implementace od Microsoftu jako COM komponenta v systemu (tipnu si,
ze spise ano), ale na webu se vali mnoho komponent primo pro Delphi, staci
jit treba na Torry a najit si to.

SAX funguje zjednodusene tak, ze projizdi cely dokument a pro jednotlive
elementy/atributy vyvolava udalosti, na ktere muzes zareagovat. Takze budes
reagovat poze na elementy, ktere maji v nazvy MMM a je to.

S pozdravem
==========================
Ing. Hynek Svato�
svatos(zv)kam(tec)czu(tec)cz
hynek.svatos(zv)centrum(tec)cz
==========================

> Ahoj,
> potrebuju poradit s nasledujicim: mam XML (vice nez 100MB) s pomerne hodne
> tagy a krom jinych take tagy ve tvaru <MMM:DDD>. Ja potrebuju:
> 1. najit prvni tag, ktery ma MMM=mujtext (kde mujtext je z mnoziny moznych
> textu)
> 2. nacist obsah tagu
> 3. najit vyskyt nejakeho textu, nahradit ho mym textem a ulozit
> zpet do XML
> 4. pokracovat tak az na konec XML
>
> Jak na to? Potrebuju nakompnout, co pouzit k nalezeni vhodneho tagu a jak
> ulozit zpet do XML?


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

Datum v EditBoxu

[*] Richard Siegl <rsiegl(zv)elas.sk> - 12.9.2002 14:26:03

Urob trigger ktory ked vlozis hodnotu implicitneho datumu zmeni ju na null.

Rickie

PS: Admin s tym tvojimi kecami ze som neodrezal posledny 10 pismeniek
PROSIM NEOTRAVUJ.
clovek sa snazi pomoct a ty ho este aj dojebes ... nepoviem keby sa
tu posielaju 100kB subory ale par slov ci riadkov .....

----- Original Message -----
From: "PETR KOREC" <pkorec(zv)ic-energo(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, September 12, 2002 1:42 PM
Subject: Datum v EditBoxu

Chci editovat datum ulozene v Oracle

Nacitam to v Delphi do komponenty TDateTimePicker.

Problem nastava, kdyz nactu zaznam, kde je hodnota null, zobrazi se mi
implicitni datum z minuleho stoleti a hlavn�, kdy� chci vlo�it prazdnou
hotnotu,
tak to komponenta neumoznuje, musi tam byt stale nejake datum...
Jak to resit, jinou komponentou nebo jinak ???

Diky...

OT - HP LJ1000 USB vs. Windows XP CZ Pro

[*] Roland Turcan <rolo(zv)sedas.sk> - 12.9.2002 15:54:17

Hello Delphi CZ konferencia!

Tri stvrtiny dna som zabil instalaciou HP LJ1000 USB ale nejde mi to.
Skusal som to aj na druhom WINXP a to iste. Ale nainstalovat na
WinMECZ to islo ako po masle. Podarilo sa niekomu nainstalovat tento
zazrak na WinXP a ake ste mali skusenosti.

--
Best regards, TRoland

Datum v EditBoxu

[*] PETR KOREC <pkorec(zv)ic-energo(tec)cz> - 12.9.2002 15:29:42



Dik za odpoved,

jeste se zeptam - kdyz je v datab�zi null, co ten tvuj picker zobrazuje ? Mne
nejaky sileny datum 200 let stary a nevim jak to udelat aby bylo poznat, ze v DB
nic neni....


Dik Petr

tuffi(zv)email(tec)cz na 12.09.2002 15:13:26

Odpov�zte pros�m - delphi-l(zv)clexpert(tec)cz

Komu: delphi-l(zv)clexpert(tec)cz
Kopie: (Na v�dom�: PETR KOREC/DUK/ICE/CZ)
P�edm�t: Re: Datum v EditBoxu



Ahoj,
ja to resim pres DBEdit + ostreni na nejakou kombinaci klaves pro nastaveni na
null.
Nebo tam muzes dat zaskrtavatko k tomy Pickeru. Kdyz zaskrtnuto, tak datum=null,
jinak hodnota z pickeru :-)

--- P�vodn� zpr�va ---
Od: "PETR KOREC" <pkorec(zv)ic-energo(tec)cz>
Datum: 12.09.2002 13:39:36



Chci editovat datum ulozene v Oracle

Nacitam to v Delphi do komponenty TDateTimePicker.

Problem nastava, kdyz nactu zaznam, kde je hodnota null, zobrazi se mi
implicitni datum z minuleho stoleti a hlavn�, kdy� chci vlo�it prazdnou hotnotu,
tak to komponenta neumoznuje, musi tam byt stale nejake datum...
Jak to resit, jinou komponentou nebo jinak ???

Diky...

______________________________________________________________________________
Dom�c� spot�ebi�e a elektronika za ak�n� ceny ? slevy a� 50 %.
Klikn�te na: http://www.obchodni-dum(tec)cz/index.phtml?prov=54&akce=yes

Procedure a function

[*] Daniel Frantik <frantik(zv)telpro(tec)cz> - 12.9.2002 15:42:46

:-) No, jen pro presnost.

function Texty(const A, B: string): string;
begin
Result:=TextyC(A,B,0);
end;

Danik


> > Pokud jde o me, pretezovani nemam moc rad. Je to
> > trochu "nepascalovske".
> >
> > Jako ortodoxni pascalista bych radsi napsal dve ruzne funkce bez
> > overload:
> function Texty(const A, B: string): string;
> function TextyC(const A, B: string; C: Integer): string;
>
> Ahoj,
>
> pokud ale obe funkce budou obsahovat velmi podobny, presto ale dlouhy
> komplikovany algoritmus, bude navrzene reseni znamenat, ze az
> se najde chyba,
> budes muset nezapomenout opravit obe funkce, zatimco jediny zdrojak s
> parametrem s implicitni hodnotou v takovem pripade zjednodusi
> udrzbu.

Kylix, Linux a sprava pameti

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 12.9.2002 17:23:58


DD,

nemaje zdrojaky (Kylix OE) netusim jak pracuje memory manager
Borlandu. Napsal jsem aplikaci, ktera bezi jako daemon. Nekolik
setkrat za sekundu alokuje, dealokuje a realokuje relativne male bloky
(50-1500 bytu - sniffnute packety). Pracuje se stringy.

Behem doby, co aplikce bezi, stale narusta ji spotrebovavana pamet
ackoliv ji zrejme vsechnu poctive uvolnuje. A realna spotreba pameti
ve spickach je cca 1MB. Velikost spotrebovane RAM (zobrazovano povelem
top) roste az na desitky MB. Pak se najednou nekdo rozhodne (memory
manager borlandu/linuxu ??) a sup alokovana pamet skoci na velikost
nekolika MB. Pak to jede cele znova.
Nevim jestli nejde o nejaky problem s fragmentaci heapu (exituje-li
neco takoveho v Linuxu) nebo je to normalni jev (neco podobneho lze
koneckoncu pozorovat i pod Win2000/XP (staci aplikace minimalizovat a
hlasena velikost potrebovane pameti je razem mensi).


PS: vi nekdo jak efektivne hledat memory leaky v aplikaci napsane v
Kylixu na Linuxu (idealni by byl portovany Memproof :-) )

Zdravi
Dalibor Toman

Hlas po internetu

[*] Jirka Virt <virt(zv)volny(tec)cz> - 12.9.2002 20:04:33




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

Jak na Nokii

[*] Jirka Virt <virt(zv)volny(tec)cz> - 12.9.2002 20:05:40

Jak rozchodit komunikaci s Nokii(FBUS) pod Kylixem??

Podle infa to nekomunikuje s AT prikazama , ale asi prime prikazy??

Jirka Virt
email: virt(zv)volny(tec)cz


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

Procedure a function

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 12.9.2002 20:06:23

From: "Erik Salaj" <winsoft(zv)stonline.sk>
> mozno by bolo dobre aj pripisat, preco je to tak dobre. Pretazovanie
> je totiz velmi diskutabilna zalezitost a nemyslim si, ze je nejakym extra
> (resp. vobec) prinosom. Ak dve metody oznacis rovnakym identifikatorom,
> stracas moznost jednoducho identifikovat metodu podla nazvu

Je to vyhodne tam, kdy (zpravidla jednoducha) funkce muze mit ruzne typy
parametru avsak vykonava logicky totez. Napriklad:

function Trim(const S: string): string; overload;
function Trim(const S: WideString): WideString; overload;

Je (alespon dle meho nazoru) lepsi nez nejake hruzy jako TrimAnsi, TrimWide a
podobne, ktere si clovek musi pamatovat.

Dalsi vyuziti muze byt u zajisteni zpetne kompatibility.

> (prakticky sa tento problem prejavi ak chces napr. taku metodu
> exportovat z DLL). Pritom overloading neprinasa nic nove

Coz neni zase tak bezna vec.

> Myslim, ze programy, kde sa pouziva overloading su menej citatelne
> (najprv treba zistit podla parametrov, ktora metoda sa vlastne vola),
> neskor mozu vzniknut problemy a konflikty, ak sa parametre
> takychto metod zmenia.

To je pravda, jenze pro mozne spatne pouziti jeste neznamena celou vec
zatratit.

Petr Vones

Lock nad IB recordom

[*] David Michal <david.michal(zv)www-bv(tec)com> - 12.9.2002 20:20:56

Zdravim,
Ja tady sleduji tuto debatu, zacinam premyslet zda je spravne, ze se o nic
podobneho nezajimam vubec a nechavam ciste na serveru co ulozi. Tzn. ktery
user ulozi zaznam pozdeji ten vyhral. Coz by snad nemel byt az tak spatny
pristup. Pokud tedy v aplikaci budou pristupova prava a dejme tomu s
tabulkou faktury bude moct pracovat pouze skupina useru k tomu vyclenena.
Pak by se snad nemelo stavat tak casto, ze dva budou editovat totez.
David

V praxi bez zamykani zaznamu uzivatel 5 minut tvori zmenu nejakeho zaznamu a
kdyz ho chce ulozit, tak se dozvi, ze ho mezitim nekdo zmenil a proto se
jeho zmeny neulozi. Pote se mu ukaze aktualni stav zaznamu, ktery samozrejme
druhy uzivatel zmenil bud nepodstatne nebo chybne a muze 5 minut vyplnovat
znovu a komentovat pri tom dusevni zdravi programatora.


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.386 / Virus Database: 218 - Release Date: 09/09/2002

FreeVCS na Linuxu

[*] Milan Cizek <cizek.milan(zv)seznam(tec)cz> - 12.9.2002 20:24:03

Ahoj,
je mozne provozovat FreeVCS na linuxu nejlepe s IB? Vsiml jsem si, ze je
potreba jeste nejaky VCS mezi server, ktery je pouze Win. Diky

S pozdravem Milan Cizek, amatersky programator, D6.02 Ent
Win2k (SP2) a WinXP, cizek.milan(zv)seznam(tec)cz, ICQ: 59826637

Detekovani pritomnosti MSSQL

[*] Milan Schembera <milan(zv)missoftware(tec)cz> - 12.9.2002 20:25:13

To bych zas tak netvrdil. Instance MS SQL nemusi nutne bezet na TCP/UDP
vrstve, klidne muze pouzivat jiny protokol (NamedPipes, Banyan, AppleTalk,
...). To zalezi na tom, kdo to instaluje a konfiguruje. Osobne bych patral v
registrech, staci zjistit, jestli existuje klic
HKLM/Software/Microsoft/MSSQLServer. Timto se da ovsem zjistit pritomnost
serveru na lokalni stanici, a to pouze jeho instalaci, ale nikoliv stav
sluzby. Zjisteni stavu sluzby uz tu v konferenci probehlo a sluzba se
jmenuje "MSSQLServer".

Verzi lze zjistit dotazem "SELECT (zv)(zv)VERSION"


S pozdravem a pranim hezkeho dne

Milan Schembera
MISSOFTWARE Lanskroun
software, obchod, servis
tel. 0 776 677 776 (776 677 776)
tel. 0467 521 555 (465 321 555)
0467 520 141 (465 320 141)
fax 0467 520 143 (465 320 143)
http://www.missoftware(tec)cz
mailto:info(zv)missoftware(tec)cz

**************************************
* Zajimate se o automobilovy sport ? *
* http://www.zavodydovrchu(tec)cz *
**************************************> -----Original Message-----
> From: Vymazal Milan

> z jakeho kodu ? Vetsinou staci zda-li neco bezi na 1433TCP a 1434UDP

QReport - OnPrint

[*] Martin Kasman <martinkasman(zv)centrum.sk> - 12.9.2002 21:07:16

V udalostech Before/After u jednotlivych Bandu by to asi neslo, pretoze
vsetky QRDBText sa vytvaraju az v programe podla poziadaviek uzivatela.
Napriklad:

procedure TTlacivoJ.NazovCasopisuPrint(sender: TObject; var Value: String);
var GrizlyIni: TIniFile;
begin
GrizlyIni:=TIniFile.Create('Grizly.ini');
Value:=GrizlyIni.ReadString('nastavenia-�asopis','n�zov
'+Stg(Vll(StgDbl(Table1CASOPIS.Value))), 'periodikum
'+Stg(Vll(StgDbl(Table1Casopis.Value))));
GrizlyIni.Free;
end;
----- Original Message -----
From: "Roman" <sw.maurice(zv)seznam(tec)cz>> > D6, WinXP
> >
> > Pri QReport mam dost zlozity vystup, tak ho zachytavam cez OnPrint a az
> > potom ho poslem vytlacit. Pri Preview to funguje - aj pri Print to
> funguje -
> > ale ked dam Preview a pri tom stlacim na tlacitko Print, tak uz sa mi
> > nezachyty OnPrint a nevytlaci sa to spravne. (tlacim s databazy Paradox)
>
> Nevim co v tom OnPrint vsechno delas, ale podobne situace jsem resil
vzdycky
> v udalostech Before/After u jednotlivych Bandu.
>
> Roman
> ==============================
> http://kouzelne.misto(tec)cz
>
>

generator prim. kluca v IB

[*] Hlas <hlas(zv)inmail.sk> - 12.9.2002 21:21:07

chcem vytvorit generator Primarneho kluca pre IB tabulku
robim to takto:

1. vytvorim na serveri generator
2. vytvorim pohlad - view, ktory mi ponuka nove cislo
3. do data modulu som si vlozil query, ktore selectom dostava nove cislo z pohladu
4. aktivujem query pri afterinsert udalosti clientdatasetu a ziskavam tak primarny kluc

nejde to jednoduchsie?
nemam na mysli zavesit generator na trigger, to asi nefunguje pri master-detail vazbe.

Stale se opakujici problemy s vytvorenim database

[*] Petr Va�eka <pvareka(zv)mujmejl(tec)cz> - 12.9.2002 21:45:16



**** Po instalaci Firebird je nastaven administratorsky ucet se jmenem
> > SYSDBA a heslem MASTERKEY

To je asi pravda, ale nedokazu pochopit, proc mne porad hlasi chybny ucet,
at uz mam CAPSLOCK, nebo ne. Uz me to pekne stve.
Uz tyden se kvuli tomu, ze nemohu zalozit pitomou databazi, nehnu.

Muze mi prosim nekdo poradit, kde sezenu nejaky manual k IBexpertu ?
Chova se totiz divne. Musim ho spoustet z CD (chybi tam SETUP) a kdyz
ho chci (po vyse popsanem neuspesnem zakladani nove dtb) uzavrit krizkem,
tak se me zdvorile zepta, zda to myslim vazne a pak mne
vesele ignoruje. Nakonec ho musim odstrelit pomoci TaskManageru,
ale ani to nejde hladce. Skousel jsem i pretahnout celou slozku z CD na
hard (z obav, zda se nepokousi zapisovat na CD a proto konci blbe), ale pak
IBexpert prestal fungovat uplne.

Prosil bych dale, kdyby mi nekdo rekl, v kterem materialu je popsano,
co je to domena ? Pri tvorbe nove tabulky (kratce se mi podarilo experta
nejak oblbnout a postoupil jsem o krucek dal, a pak uz zase ne)
je mi jasne co je nazev sloupce, datovy typ, atd., ale pojmem domena se
setkavam pri tvorbe novych tabulek prvne.

Diky predem za radu.

Petr Vareka.

WYSIWYG editor

[*] Ondrej Krsko <ondrej.krsko(zv)zoznam.sk> - 13.9.2002 00:53:34

Ahoj,

hladam komponentu, ktora zvlada zakladne funkcie formatovania textu (font,
velkost, alignment, farba...). Pokial mozno free.
Mate s niecim take skusenosti ? A ake ?

S pozdravom
Ondrej Krsko

Procedure a function

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 13.9.2002 02:42:35

From: "Erik Salaj" <winsoft(zv)stonline.sk>
> jedna z moznosti je, ze Trim je priamo sucastou objektu AnsiString
> alebo WideString (nie v Delphi ale napr. v OOP frameworkoch

Samozrejme, tohle je idealni reseni, ale na nej bude treba si v Delphi jeste
asi chvili pockat.

> Zoberme takyto overloading, je to ok, alebo nie?
>
> Trim(const S: AnsiString)
> Trim(S: AnsiString)

Neni, protoze z hlediska rozliseni jednoznacnosti pro pretezovani se jedna o
shodne deklarace funkci a dojde k chybe pri prekladu 'Identifier redeclared'.

Zajimavejsi je treba tohle:

Trim(const S: AnsiString)
Trim(S: PChar)

> A volanie metody:
>
> Trim("ABC"); // ktora metoda sa zavola?
> Trim(ABC); // ktora metoda sa zavola?

Zde zalezi na pravidlech konverze retezcovych konstant. Ano, prave u dvojice
string / PChar to bylo problematicke a pokud vim doslo k mirne zmene pravidel
mezi ruznymi verzemi prekladace. To se dale tyka i typu Variant a TObject /
Pointer / IInterface pri predani nil konstanty.

> Alebo tento overloading:
>
> Add(Value: Integer);
> Add(Value: LongInt);

Stejny pripad jako vyse. Pri navrhu se samozrejme s timto pocitalo, analyza se
neprovadi jen prostym porovnanim jmen typu parametru ;-)

> > Dalsi vyuziti muze byt u zajisteni zpetne kompatibility.
>
> ???

Napriklad v nove verzi se ukaze, ze by do nejake funkce bylo vhodne pridat
nebo zmenit parametr, nebo ze konverze API funkce do Object Pascalu byla
chybna. Zaroven je ale snaha zachovat kompilaci existujiciho kodu bez nutnosti
opravy na novou syntaxi. Tady se prave hodi pretezovani.

> no bol to priklad z Delphi, kde sa tento problem prejavil. Ja sa

Zpusob exportovani pretezovanych funkci je popsan v helpu pod heslem 'The
exports clause' a spociva jen v definici jednoznacneho jmena pro export.

> to moze posluzit. Ak by tam tie problemy neboli, tak nie je
> problem overloading implementovat do (takmer) kazdeho
> jazyka a pouzivat (a nebol by dovod o tom ani diskutovat).

Moderni jazyky jako C++ nebo C# jej maji, to byl mozna i jeden z duvodu proc
byl implementovan i do Delphi.

> podla mna treba zvazit prinosy aj zapory a tak sa rozhodnut. Problem
> s overloadingom vidim hlavne v tom, ze tych prinosov je tam minimum.

To je vec nazoru, nikdo nikoho nenuti jej pouzivat.

Petr Vones

Procedure a function

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 13.9.2002 03:58:40

From: "Jan Sebel�k" <honza(zv)haes(tec)cz>
> function Deleni(x,y:Integer):Integer; overload;
> function Deleni(x,y:Double):Double; overload;
>
> Pri volani funkce
> x:=5; y:=2; z:=Deleni(x,y);
> pak vysledek zavisi na tom, jak jsou deklarovany promenne x, y.
> Z uvedeneho radku vubec nepoznam, kterou funkci si kompilator vybral.

To je ucelem, funkce Deleni ma prece vydelit dve cisla. Smyslem pretezovani
neni prece vytvorit neco sileneho, kdy se zamenou typu jednoho z parametru
provede zcela jina operace (i kdyz to tak samozrejme lze zneuzit ;-)

Petr Vones

IBBackupService a zaloha na clienta

[*] Libor Junek, KSH-Data <junek(zv)ksh-data(tec)cz> - 13.9.2002 06:06:18

Zalohu databaze muze provadet pouze administrator nebo vlastnik DB takze
tohle nemusim resit.
Mimochodem kdyby to takto fungovalo neni problem aby si to uzivatel spustil
pres gbak.exe
a mel ty data stejne. Snazim se proste dostat tu zalohu nejak na clienta.
Pres sdilene adresare
to nepripada v uvahu protoze admin muze pristupovat i po netu. Nechce se mi
delat programek kterej
mi to po TCP/IP posle.

Libor

> > Odes�latel: Libor Junek, KSH-Data <junek(zv)ksh-data(tec)cz>
> > Resil jste nekdo problem ze IBBackupService nezvlada
> zalohovani ze serveru
> > na clienta?
> Ja jsem to neresil, mam ale nasledujici uvahu.
>
> Predstavte si databazi s "citlivymi" daty. Ja se k ni mohu
> prihlasit, ale mam moznost pristupovat pouze k nekterym
> tabulkam (view).
>
> Co udelam? Zalohu na klienta, prihlasim se jako SYSDBA a
> udelam restore.
> Veskera data mam k dispozici.
>
> Je v te uvaze nekde chyba?
> = HAES - RNDr. Jan Sebelik

IBBackupService a zaloha na clienta

[*] Otisk Rene <otisk(zv)misel(tec)cz> - 13.9.2002 06:23:51

V uvaze ne ale v praxi jo, nejni problem ten soubor hodit na sdileny
adresar....

Sroub
> Odes�latel: Libor Junek, KSH-Data <junek(zv)ksh-data(tec)cz>
> Resil jste nekdo problem ze IBBackupService nezvlada zalohovani ze serveru
> na clienta?
Ja jsem to neresil, mam ale nasledujici uvahu.

Predstavte si databazi s "citlivymi" daty. Ja se k ni mohu prihlasit, ale
mam moznost pristupovat pouze k nekterym tabulkam (view).

Co udelam? Zalohu na klienta, prihlasim se jako SYSDBA a udelam restore.
Veskera data mam k dispozici.

Je v te uvaze nekde chyba?

Detekovani pritomnosti MSSQL

[*] EFG developer <developer(zv)efg(tec)cz> - 13.9.2002 06:55:31

Delam to naprosto stejne a myslim, ze jsem se zatim nesetkal s
problemem.
Petr Sikola

> >Poradi mi prosim nekdo jak z kodu detekovat pritomnost MS
> SQL serveru a
> jeho verzi?

> HKEY_LOCAL_MACHINE
>
> SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\CurrentVersion
>

Problem s hledanim... Vyreseno, na 50%

[*] EFG developer <developer(zv)efg(tec)cz> - 13.9.2002 07:02:41

no zatim jsem nelenil, hledal jsem neco ve zdrojakach, ale nic jsem
nenasel, tak jsem napsal funkci, ktera mi upravi filter tak, ze mi udela
kombinace vsech znaku s diakritikou - vim ze to neni korektni, ale zatim
nevim jak jinac to vyresit.

funkci jsem udelal tak ze kombinace se dela z max. 5 znaku (32 podminek)
a vysledny filtr vypada asi takhle (samozdrejme jen pro hledani s
foCaseInsensitive):

NAZEV='ko�i�ka' or NAZEV='ko�i�ka' or NAZEV='ko�i�ka' or NAZEV='ko�i�ka'

Ohledne toho Locate - to by asi fungovalo, a co pak s "Najit dalsi" ???

Petr Sikola

> Posunout na radek pres locate, to mi fungovalo korektne i s
> ceskymi znaky. Ale mam dojem, ze to kolegove nejak
> upravovali, ted nestiham, ale podivam se do kodu co tam
> najdu, urcite nam locate funguje spravne i s ceskymi znaky
> (malymi i velkymi).

Lock nad IB recordom

[*] Kalhous Zdenek <zdenek.kalhous(zv)comarr(tec)cz> - 13.9.2002 07:10:29

On 12 Sep 2002 at 9:40, Hlas wrote:
> Nad paradoxom, ked som dal record do stavu Edit bol locknuty - ziadny
> iny uzivatel nemohol tento zaznam editovat. Je nieco podobne mozne aj
> nad IB zaznamom?
Byla tady spousta odpovedi (i o necem jinem-o technice a strategii
programovani viceuzivatelskych databazovych aplikaci) vcetne
takovych, ze to nejde, ze se to nesmi, ze to je blbost a podobne.
Jde to a smi se to. Zaznam na ktery udelas update je zamknuty az
do ukonceni transakce. Takze kdyz chces zaznam jen zamknout
beze zmen, staci na zacatku transakce udelat neco jako
UPDATE ... SET ID=x WHERE ID=x
A jestli je to spatne naprogramovane, transakce zacne rano a skonci
vecer zatimco obsluha je u kadernika - to uz je prave o necem
jinem.

QReport - OnPrint

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 13.9.2002 07:14:57

> V udalostech Before/After u jednotlivych Bandu by to asi neslo, pretoze
> vsetky QRDBText sa vytvaraju az v programe podla poziadaviek uzivatela.
> Napriklad:
>
> procedure TTlacivoJ.NazovCasopisuPrint(sender: TObject; var Value:
String);
> var GrizlyIni: TIniFile;
> begin
> GrizlyIni:=TIniFile.Create('Grizly.ini');
> Value:=GrizlyIni.ReadString('nastavenia-�asopis','n�zov
> '+Stg(Vll(StgDbl(Table1CASOPIS.Value))), 'periodikum
> '+Stg(Vll(StgDbl(Table1Casopis.Value))));
> GrizlyIni.Free;
> end;

No a? Za 1. kdyz se to plni rucne, tak bych nepouzival DBText ale Label. Za
2. nevim, proc by to nemelo jit v BeforePrint.

Roman
==============================
http://kouzelne.misto(tec)cz

Help View jako komponenta

[*] Vaclav Riha - Soft Consult <vaclav_riha(zv)softconsult(tec)cz> - 13.9.2002 07:16:45

Cago,
schanim nejakou komponentu, ktera zobrazi obsah helpu napriklad podle HelpContext.


S pozdravem Vaclav Riha

Jak zkopirovat obsah RichEdit_1 do RichEdit_2 ?

[*] <little_bobes(zv)centrum(tec)cz> - 13.9.2002 07:29:30

Zdravim,

potreboval bych zkopirovat formatovany text jednoho RichEditu do jineho.
Jak co nejjednoduseji postupovat?

Diky Bob

Sitova aplikace - jak na ni

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 13.9.2002 07:33:22

> > Podobne jako TRemoteDataModule bych na serveru postavil DCOM-Server.
> Odes�latel: little_bobes(zv)centrum(tec)cz
> Ale pro spojeni budu muset pouzit licencovany MIDAS.
> Nebo je jine reseni?

Tak to neni:

1.
Abych napsal DCOM Server, nepotrebuju Delphi, natoz DataSnap (drive MIDAS).
(teda ja jo, protoze nic jineho nez Delphi neumim)

2.
Abych napsal DCOM Server v Delphi, nepotrebuji D6Ent (ktere obsahuje DataSnap).
Staci mi D6Pro, dokonce snad i D6Personal.
Protoze COM/DCOM povazuji za velmi dulezitou technologii, provadim jednoduchy priklad na DCOM uz na zakladnim kurzu Delphi: staci oddedit od TAutoObject a implementovat prislusny interface a je to. Zadny MIDAS.

3.
DataSnap (pouze D6Ent) je technologie ktera propojuje TDataSetProvider a TClientDataSet pres DCOM (nejen).
Komponenty TDataSetProvider a TClientDataSet jsou ale obsazeny od D6 uz ve verzi Pro.
Jestlize na kurzu "Vicevrstve aplikace" potrebuji skolit v D6Pro, zimplementoval jsem si toto DCOM propojeni sam. Funguje to OK.

4.
Licencovani DataSnap (MIDAS) je velky znatek.
Redistributables, ktere souviseji s DataSnap, jsou MIDAS.DLL a STDVCL40.DLL (+ neco dalsiho).
V D6Ent je redistribuce techto souboru vazana na nakup licence na MIDAS (pokud TDataSetProvider a TClientDataSet lezi na ruznych pocitacich).
V D6Pro jsou tyto soubory taky (protoze tam je TDataSetProvoder a TClientDataset), ale protoze neobsahuje DataSnap, neni na redistribuci techto souboru zadne omezeni.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

No current record

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 13.9.2002 07:38:09

Ahoj,

nevite, co muze na serveru FB verze 1 znamenat hlaska

no current record for fetch operation?

Stava se nekdy na slozitych selectech, ale pozor! - kdyz tentyz
select udelam vzapeti jeste jednou, uz je vse OK.

Zatim to obchazime tak, ze takovy select je v try..except, a v
pripade teto chyby ho proste provedeme jeste jednou a jde to.

Empiricky bylo zjisteno, ze nekdy pomuze nejaka drobna formalni
uprava selectu - prohozeni sloupcu, prohozeni poradi joinu apod.

Jaka je skutecna pricina teto podivne vyjimky?

D5P, IBX4.52

Diky

David Lebeda

Datum v EditBoxu

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 13.9.2002 07:41:42

> jeste se zeptam - kdyz je v datab�zi null, co ten tvuj picker
> zobrazuje ? Mne nejaky sileny datum 200 let stary a nevim jak to
> udelat aby bylo poznat, ze v DB nic neni....


To bude smula. DateTimePicker nelze presvedcit, aby nezobrazil zadne datum.
Musis proto v programu hlidat IsNull, a pokud potrebujes editovat datum, ktere muze
byt nevyplnene, tak nepouzivat TDateTimePicker. Jedna z moznosti je TDateEdit z
RxLib, ktery se chova podobne jako TDateTimePicker, ale muze byt i prazdny.

David Lebeda

WYSIWYG editor

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 13.9.2002 07:42:09

> Odes�latel: Ondrej Krsko <ondrej.krsko(zv)zoznam.sk>
> hladam komponentu, ktora zvlada zakladne funkcie formatovania textu (font,
> velkost, alignment, farba...). Pokial mozno free.
> Mate s niecim take skusenosti ? A ake ?
A nestacil by RichEdit (viz demo na RichEdit ve spojeni s akcemi - D6).

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

Vzdaleny pristup k MySQL

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 13.9.2002 07:46:01

> Odes�latel: Miroslav Evjak <me.delphi(zv)seznam(tec)cz>
> Uvazoval jsem z pouzitim DBExpress (SQLConnection + SQLClientDataset). Pokud
> jsem dobre rozumnel dokumentaci, umoznuje tato kombinace natazeni dat do
> pameti a nasypani zpet po ApplyUpdates, cili neco jako davkova aktualizace.
Ja bych misto SQLClientDataSet pouzil
TSQLDataSet+TDataSetProvider+TClientDataSet.
Myslim, ze bych to mel lepe pod kontrolou.
Navic, pokud by se mi nelibil dbExpress, snadno bych presel na cokoli jineho (misto TSQLDataSet treba TADODataSet nebo TQuery).

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

Procedure a function

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 13.9.2002 07:56:09

> Odes�latel: Petr Fejfar <development(zv)callnet(tec)cz>
> 2) z hlediska potencialne vyssi spolehlivosti kodu bych preferoval techniku
> nepretezovanych funkci s ruznymi jmeny, protoze pri pripadne zmene spojene
> napr. s prejmenovavanim a zmenou argumentu mi prekladac ukaze dotcena volani
> a mel bych se tudiz zamyslet, jaky dopad muze mit provadena zmena
> na ruzne casti programu, o kterych uz davno nikdo nevi, ze v programu jsou.

Presne takto byly motivovany moje argumenty v predchozi diskusi.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

Firebird insert chyba

[*] Valenta P <valentapat(zv)volny(tec)cz> - 13.9.2002 08:08:21

Firebird.
Prosim vas co znamena chyba Overflou numeric opetation nebo chybn� prevod
stringu (nevim ted presne zneni v anglictine)
jedna se o to ze mam tabulku a pri pokusu o insert mi hodi tuto hlasku.

Chyba zmizi kdyz z tabulky odstranim jednu polozku Blob, jsou tam celkem 2.


valik


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

Lock nad IB recordom

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 13.9.2002 08:09:05

> Odes�latel: David Michal <david.michal(zv)www-bv.com>
> V praxi bez zamykani zaznamu uzivatel 5 minut tvori zmenu nejakeho zaznamu a
> kdyz ho chce ulozit, tak se dozvi, ze ho mezitim nekdo zmenil a proto se
> jeho zmeny neulozi. Pote se mu ukaze aktualni stav zaznamu, ktery samozrejme
> druhy uzivatel zmenil bud nepodstatne nebo chybne a muze 5 minut vyplnovat
> znovu a komentovat pri tom dusevni zdravi programatora.
Tak to snad neni.
Pokud dostanu (ja, ne uzivatel) chybu pri ukladani, data jeste nejsou ztracena.
Pak zalezi na mne (programatorovi) jak s tim nalozim, co reknu uzivateli, jake mu dam moznosti reagovat.

Jak uz jsem psal, (podle me) dost pekne to resi TClientDataSet a ApplyUpdates.
V pripade konfliktu vrati starou (nactenou), novou (opravenou) a aktualni (co je na serveru) hodnotu a da mi vybrat, co s tim chci delat. To pro kazdy field zvlast.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

Lock nad IB recordom

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 13.9.2002 08:11:29

On 12 Sep 2002 at 20:20, David Michal wrote:

> Zdravim,
> Ja tady sleduji tuto debatu, zacinam premyslet zda je spravne, ze se o
> nic podobneho nezajimam vubec a nechavam ciste na serveru co ulozi.
> Tzn. ktery user ulozi zaznam pozdeji ten vyhral. Coz by snad nemel byt
> az tak spatny pristup. Pokud tedy v aplikaci budou pristupova prava a
> dejme tomu s tabulkou faktury bude moct pracovat pouze skupina useru k
> tomu vyclenena. Pak by se snad nemelo stavat tak casto, ze dva budou
> editovat totez. David

No, to zalezi na typu ulohy. Ukazu na prikladu, kde muze byt
takovyhle pristup (ale i ten se zamky) fatalni chybou. Mejme cenik a
predpokladejme, ze nekolik pracovniku ma na starosti kazdy svou cast
ceniku. Nekdo bude editovat jednu polozku ve sve casti ceniku.
Mezitim se sef rozhodne, ze napric celym cenikem udela slevu, nebo se
zmeni sazba DPH nebo cokoliv podobneho. Neni dost dobre mozne, aby
sef vyzval vsechny pracovniky, ze chce delat zmenu, at ukonci svou
praci, pak udela zmenu, a pak zase vsechny obesle, ze mohou pracovat.
Jak zamek, tak "posledni bere vse" skonci chybou v ceniku.

Spravny postup je tento: Sef provede zmenu. Pracovnik, ktery mezitim
neco edituje, chce zaznam ulozit. SP vsak zjistit zmenu, tak ohlasi,
kdo zmenu provedl, a kde. Pracovnik pak ma moznost spravne rozhodnout
o dalsim postupu a chyba nemusi vzniknout.

S pozdravem

Zbysek Hlinka


Delphi 7, vyhody a cena

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 13.9.2002 08:18:02

> Odes�latel: LUKES V�clav <lukes(zv)ans(tec)cz>
> - da se vubec z Delphi 5 skocit na Delphi 7 a jaka je cena ?
Proboha, tys me zaskocil, snad jo.
Na letaku se pise:
Upgrade 1 je pro uzivatele predchozich verzi Enterprise nebo Client/Server.
Upgrade 2 je pro uzivatele predchozich verzi Professional.

Ja mam D6 pouze "educational" na ucebne, ted chci upgradovat vyvojarskou verzi D5 na D7.
Cena je 10390 Kc.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

Sitova aplikace - jak na ni

[*] Richard Kejval <kejval.delphi(zv)centrum(tec)cz> - 13.9.2002 08:19:07

DCOM server s MIDASEM nesouvisi. Pouze s platformou windows.

Pouze pokud pouzijes v Midasu komponentu TDCOMConnection, pak MIDAS vyuziva
technologii DCOM, ale take vubec nemusi.

S pozdravem
Richard Kejval

----- Original Message -----
From: <little_bobes(zv)centrum(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, September 12, 2002 3:07 PM
Subject: Re: Sitova aplikace - jak na ni


> Ale pro spojeni budu muset pouzit licencovany MIDAS.
> Nebo je jine reseni?
>
> Bob
>
> > Podobne jako TRemoteDataModule bych na serveru postavil DCOM-Server.
> > Podle meho soudu mi takovy server sam o sobe zajisti mnohem vetsi
komfort
> a stabilitu, nez si to cele programovat pres sockety sam.
>
>
>
>

DB Grid

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 13.9.2002 08:20:25

> Odes�latel: PETR KOREC <pkorec(zv)ic-energo(tec)cz>
> Porad� mi pros�m n�kdo, jak ud�lat v DB gridu, aby se z�znamy nena��tali stylem
> - jedna DB z�znam do 1 ��dku, ale do 1 sloupce ?

To asi neporadi.
Musis si to udelat sam.
Pokud tomu nic nebrani (velikost dat), muzes pouzit treba TStringGrid.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

Stale se opakujici problemy s vytvorenim database

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 13.9.2002 08:22:57

> Muze mi prosim nekdo poradit, kde sezenu nejaky manual k IBexpertu ?
> Chova se totiz divne. Musim ho spoustet z CD (chybi tam SETUP) a kdyz
> ho chci (po vyse popsanem neuspesnem zakladani nove dtb) uzavrit
> krizkem, tak se me zdvorile zepta, zda to myslim vazne a pak mne
> vesele ignoruje. Nakonec ho musim odstrelit pomoci TaskManageru, ale
> ani to nejde hladce. Skousel jsem i pretahnout celou slozku z CD na
> hard (z obav, zda se nepokousi zapisovat na CD a proto konci blbe),
> ale pak IBexpert prestal fungovat uplne.

Ahoj,

IBExperta pouzivame bezne a zda se, ze funguje dobre. Chyba bude asi nekde
jinde. To ovsem neumim posoudit. O jakem CD jde rec? Ja napr. mam IBExperta
stazeneho z internetu, a instalacnim programem nainstalovaneho. Nemel by byt
problem to tak udelat. Adresa byla www.ibexpert.com, jestli jeste plati, nevim, ale v
kazdem pripade by to snad vyhledavac mel najit.

David Lebeda

> Prosil bych dale, kdyby mi nekdo rekl, v kterem materialu je popsano,
> co je to domena ?

Jestli tam bude zrovna tohle, to nevim, ale jinak lze cerpat z dokumentace k IB6,
kterou lze rovnez stahnout, napr. z ibphoenix(tec)cz. Je to nekolik knizek v pdf formatu.

Strucne a zjednodusene lze rict, ze domena je neco podobneho jako typ v pascalu,
tj. mnozina pripustnych hodnot.


David Lebeda

Programovani sluzby v Delphi

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 13.9.2002 08:24:49

> Odes�latel: Petr K. <xdelphi(zv)seznam(tec)cz>
> Chci se zeptat jak jde v Delphi napsat program, aby se choval jako
> sluzba pod W2K nebo XP. Nebo nejaky odkaz kde bych k tomu neco nasel.
Tato problematika je velmi rozs�hl�.
Aby sis udelal jenom predstavu, co to vsechno muze obnaset, podivej se jenom na osnovy nasich kurzu
"Serverove aplikace na Win NT/2000" a
"COM/DCOM"
(service casto byva COM/DCOM server)

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

Programovani sluzby v Delphi

[*] Ing. =?ISO-8859-1?Q?Jarom=EDr?= =?ISO-8859-1?Q?Sola=F8 ?= - 13.9.2002 08:25:37

> Chci se zeptat jak jde v Delphi napsat program, aby se choval jako
> sluzba pod W2K nebo XP. Nebo nejaky odkaz kde bych k tomu neco nasel.

Mam nejaky jednoduchy priklad z Inetu, ale nevim jiz zdroj, takze ti ho
posilam na soukromy mail.
S pozdravem

Ing. Jaromir Solar (jaromir.solar(zv)magion(tec)cz)
Magion system a.s. (http://www.magion(tec)cz)
tel./fax :0657/614 289



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

Delphi 7, vyhody a cena

[*] Marek Dost�l <dostal(zv)alef(tec)cz> - 13.9.2002 08:29:09

Jen velmi strucne, protoze by to bylo na delsi psani. Vsechny tyto informace najdes na www.borland(tec)cz, dotaz na ceny posli na rzahradkova(zv)borland(tec)cz mam dobrou zkusenost, ze mi vzdy rychle odpovedeli vse co jsem potreboval ohledne cen, licenci , upgradu apod. Asi nem� v sou�asn� dob� upgradovat na D6, proto�e D6 u� se asi neprod�v�, licenci m��e� sice koupit, ale za 32000 (hovo��m o verzi Professional), zat�mco upgrade z libovoln�ch Delphi Prof na D7 Prof do 26.9. stoj� n�co m�lo 10000 a i potom to bude tak kolem 15000. Obdobn� to bude u Enterprise, jen ceny se budou pohybovat n�kde okolo 60 a� 80 tis�c.

A co je nov�ho v data�in�: v D6 je nov� p��stup dbExpress, BDE nebude d�le vyv�jeno, v D7 z�st�v� kv�li kompatibilit�, od dal��ch verz� Delphi u� nebudou k BDE dod�v�ny SQL linky a BDE bude p�ejmenov�no na BDE local a ur�eno pro p��stup k lok�ln�m tabulk�m. Tak�e souhrn� v D7 je mo�no k dat�m p�istupovat p�es dbGo (ADO), dbExpress (IB, MySql, Oracle, Informix, DB2 a MS SQL 2000), BDE local a IBExpress.
A je�t� n�co: od verze D7 u� nebude vyv�jen n�stroj Quick Report, z�st�v� tam jen kv�li kompatibilit� a je nahrazen n�strojem Rave Reports od t�et� strany (firma Nevrona, samostatn� se d� koupit za cca $400, tady je sou��st� D7).

Zdrav�m Marek Dost�l



Ahoj,

rad bych se Vas zeptal na par veci kolem Delphi 7.
v soucasne dobe mame Delphi 5 a mame kupovat upgrade ba Delphi 6.

- ma toto vyznam ? Neni lepsi primo prejit na Delphi 7 ?
- da se vubec z Delphi 5 skocit na Delphi 7 a jaka je cena ?
- jake jsou hlavni vyhody mezi Delphi 7 a Delphi 6, hlavne v oblasti datariny ?

Dekuji vsem za radu a nazory.

Vasek

IBBackupService a zaloha na clienta

[*] Richard Kejval <kejval.delphi(zv)centrum(tec)cz> - 13.9.2002 08:32:09

Uz se to tady probiralo, ale jde tomu zabranit tak, ze do databaze vlozim
roli SYSDBA a tento uzivatel uz se pak neprihlasi.

Co se tyka zalohovani, mame na to udelany DCOM server, ktery spoustime z
naplanovanych uloh serveru nebo primo z klienta.
Ten vytvori soubor gbk a ten pak zbalime nejakym archivem, ktery pak muzem
zkopirovat do adresare na klientovi.

S pozdravem
Richard Kejval

----- Original Message -----
From: "Jan Sebel�k" <honza(zv)haes(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, September 12, 2002 9:29 AM
Subject: Re: IBBackupService a zaloha na clienta


> > Odes�latel: Libor Junek, KSH-Data <junek(zv)ksh-data(tec)cz>
> > Resil jste nekdo problem ze IBBackupService nezvlada zalohovani ze
serveru
> > na clienta?
> Ja jsem to neresil, mam ale nasledujici uvahu.
>
> Predstavte si databazi s "citlivymi" daty. Ja se k ni mohu prihlasit, ale
mam moznost pristupovat pouze k nekterym tabulkam (view).
>
> Co udelam? Zalohu na klienta, prihlasim se jako SYSDBA a udelam restore.
> Veskera data mam k dispozici.
>
> Je v te uvaze nekde chyba?
>
> Honza
> =========================================
> = HAES - RNDr. Jan Sebelik
> = http://www.haes(tec)cz
> = Skolici a konzultacni stredisko pro Delphi a Win32
> = Vojtiskova 206
> = 507 81 Lazne Belohrad
> = tel. 0434 692 569 (0776 347735)
> =========================================
>
>

Sleep(0)

[*] David Mensik <mensikd(zv)seznam(tec)cz> - 13.9.2002 08:32:24

OK...
Vy mate pravdu a ja jsem se mylil.
Je to tak, thread ma svou frontu zprav. Sorry, mlzim.

Ozon

----- Original Message -----
> chyba. Fronta zprav nemusi mit nic spolecneho s oknem (ackoliv tomu
> tak obvykle je).
> Viz napoveda k funkci PostThreadMessage

Jak na Nokii

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 13.9.2002 08:34:12

No, tusim ze jeden rus vesele implementuje SBUS (pokud se nepletu,
tak i timto Nokie komunikuji) pomoci meho SynaSeru. ;-)

musis sisehnat nekde specifikaci toho protokolu, a pak to
naimplementovat... :-/

> Jak rozchodit komunikaci s Nokii(FBUS) pod Kylixem??
>
> Podle infa to nekomunikuje s AT prikazama , ale asi prime prikazy??


-- Lukas Gebauer.

E-mail: gebauerl(zv)mlp(tec)cz
http://www.ararat(tec)cz/synapse/ - Synapse Delphi and Kylix TCP/IP Lib.

Zmena logickych souradnic na panelu ([0,0] doprost

[*] Da�a Petr <Petr.Dana(zv)pvt(tec)cz> - 13.9.2002 08:34:39

Zdravim,
potreboval bych jednu vec. Mam nejaky rodicovsky panel, na ktery muzu umistit dalsi detske panely. Ty detske panely by mohly mit zaporne a kladne hodnoty pro umisteni (Top, Left) a ten rodicovsky by si to mel prepocitat vzhledem ke svemu stredu.
Lze nejak rozumne odchytit to, ze komponenta "dostala" detskou komponentu, aby mohla ji mohla nejak posunout? Ale chtelo by to nejak tak, aby te detske komponente zustaly top a left puvodni (tj. i zaporne) a to umisteni vzhledem ke stredu rodice by byla vnitrni zalezitost rodice.

Uff, nevim jestli to je pochopitelne, tak jak sem to napsal, ale bohuzel se moc neuvim vyjadrovat :)

Peca

Delphi 7, vyhody a cena

[*] Ing. Jiri SOKOL <JS-delphi(zv)seznam(tec)cz> - 13.9.2002 08:35:08

> rad bych se Vas zeptal na par veci kolem Delphi 7.
> v soucasne dobe mame Delphi 5 a mame kupovat upgrade ba Delphi 6.
>
> - ma toto vyznam ? Neni lepsi primo prejit na Delphi 7 ?
> - da se vubec z Delphi 5 skocit na Delphi 7 a jaka je cena ?
> - jake jsou hlavni vyhody mezi Delphi 7 a Delphi 6, hlavne v oblasti datariny ?
>
> Dekuji vsem za radu a nazory.
>
> Vasek
>
Ahoj,
nebudu sice moc konkretni, ale doporucuji mrknout na: www.borland(tec)cz a zopakovat
tenhle dotaz.
Do 29.9.2002 je tusim nejaka akce na upgrade z predchozich verzi -> i z D5
Ahoj
Jirka

Ing. Jiri Sokol, js-delphi(zv)seznam(tec)cz, +420251431187
D6ProfSP2,WinNT
amatersky
programator

______________________________________________________________________
Reklama:
E-mail zdarma na cely zivot: http://email.seznam(tec)cz

generator prim. kluca v IB

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 13.9.2002 08:39:36

Odes�latel: Hlas <hlas(zv)inmail.sk>
chcem vytvorit generator Primarneho kluca pre IB tabulku
robim to takto:

1. vytvorim na serveri generator
2. vytvorim pohlad - view, ktory mi ponuka nove cislo
3. do data modulu som si vlozil query, ktore selectom dostava nove cislo z pohladu
4. aktivujem query pri afterinsert udalosti clientdatasetu a ziskavam tak primarny kluc

nejde to jednoduchsie?
nemam na mysli zavesit generator na trigger, to asi nefunguje pri master-detail vazbe.

[Honza]
Prededevsim generovani primarniho klice je otazkou navrhu databaze. Kdyz navrhuju databazi, nevim (nebo se tak alespon tvarim), jestli tam bude nekdo pristupovat z Delphi nebo z neceho jineho. Takze trigger urcite ano, ale treba takto:
if (new.id is null) then new.id = gen_id(g_id,1);

Ted jak z Delphi (klient)

Radsi bych napsal ulozenou proceduru, ktera mi vrati nove ID. Abych rekl pravdu, moc si to view nedokazu predstavit.

Komponenty IBX (TIBDataSet) maji neco jako "generator field", jenze ty mluvis o TClientDataSet (vicevrstva aplikace?), takze to mi nepomuze.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

generator prim kluca na IB

[*] Hlas <hlas(zv)inmail.sk> - 13.9.2002 09:01:00



chcem vytvorit generator Primarneho kluca pre IB tabulku
robim to takto:

1. vytvorim na serveri generator
2. vytvorim pohlad - view, ktory mi ponuka nove cislo
3. do data modulu som si vlozil query, ktore selectom dostava nove cislo z pohladu
4. aktivujem query pri afterinsert udalosti clientdatasetu a ziskavam tak primarny kluc

nejde to jednoduchsie?
nemam na mysli zavesit generator na trigger, to asi nefunguje pri master-detail vazbe.

Sitova aplikace - jak na ni

[*] Milan Tome� <milan.tomes(zv)haida(tec)cz> - 13.9.2002 09:05:14

> Ale pro spojeni budu muset pouzit licencovany MIDAS.
> Bob

Nevim jestli uz od verze 6 nebo az od verze 7, ale od te na 100% je DataSnap
(drive MIDAS) volne k pouziti bez nutnosti kupovani behovych licenci...

S pozdravem

Milan Tomes
mailto:milan.tomes(zv)haida(tec)cz

O aplikaci

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 13.9.2002 09:20:38

> Mel jsem na mysli neco jednodussiho. Slo mi o verzi atd. u
> aplikaze s kterou programuji. Chtel bych dynamicky plnit
> verzi v about a prislo mi "GetFileVersion" jako drbani leve
> tvare pravou rukou za temenem. :-(

Stiahni si JCL z www.delphi-jedi.org a mas tam objekt TJclFileVersionInfo v
unite JclFileUtils.

HTH
TOndrej

Hlas po internetu

[*] virt(zv)volny(tec)cz - 13.9.2002 09:24:03

Diky za upozorneni.

Jeste jednou.Nemate nekdo komponentu(OCX) nebo link pro prenos hlasu
ze zvukovky(microfonu) po siti inet.


Diky

Jirka Virt
email: virt(zv)volny(tec)cz

generator prim. kluca v IB

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 13.9.2002 09:35:49

> chcem vytvorit generator Primarneho kluca pre IB tabulku
> robim to takto:
>
> 1. vytvorim na serveri generator
> 2. vytvorim pohlad - view, ktory mi ponuka nove cislo
> 3. do data modulu som si vlozil query, ktore selectom dostava nove cislo z
pohladu
> 4. aktivujem query pri afterinsert udalosti clientdatasetu a ziskavam tak
primarny kluc
>
> nejde to jednoduchsie?
> nemam na mysli zavesit generator na trigger, to asi nefunguje pri
master-detail vazbe.

ten view je tam podla mna zbytocny, malo by stacit query:
select gen_id(mygenerator, 1) from rdb$database

HTH
TOndrej

WYSIWYG editor

[*] Martin Pesava <pesavova(zv)dkm(tec)cz> - 13.9.2002 09:46:52

RichText by ti nestacil?

> Ahoj,

> hladam komponentu, ktora zvlada zakladne funkcie formatovania textu (font,
> velkost, alignment, farba...). Pokial mozno free.
> Mate s niecim take skusenosti ? A ake ?

> S pozdravom
> Ondrej Krsko


--
Best regards,
Martin mailto:jimx(zv)volny(tec)cz

Kliknuti na caption u okna

[*] LUKES V�clav <lukes(zv)ans(tec)cz> - 13.9.2002 10:11:36


Ahoj,

prosim o radu. Mam D5 a Win 2000. Chtel bych po kliknuti levym tlacitkem mysi na CAPTION formulare vypsat nejaky text, treba ShowMessage('AHOJ');

Diky

V.

ADO neco neni v poradku

[*] Delphin <delphin(zv)post(tec)cz> - 13.9.2002 10:40:21

> Hm, a jakou ze mas verzi Delphi? Ja vim, ze prvni ADOExpress nejakou
> takovou chybu mel, ale dal jsem to uz nezkoumal. Kdyz jsem totez
> udelal primo pres ADO, fungovalo to dobre.

D5 SP2, v D6 SP2 je to naprosto stejne, zkousel sem to.

Stale se opakujici problemy s vytvorenim database

[*] Skopalik Slavomir <skopalik(zv)hlubocky.del(tec)cz> - 13.9.2002 10:58:29

Ja vytvarim databazi ZASADNE sql skriptem (generovanym case).
Pro vytvoreni pouzivam wisql z IB5.6, to naleznete na vetsine instalaci
Delphi.
Pro vytvoreni DB muzes pouzit treba tohle:

set names win1250;
connect "localhost:d:\ibdata\main2.gdb" USER "sysdba" PASSWORD "masterkey";
DROP DATABASE;

CREATE DATABASE "localhost:d:\ibdata\main2.gdb" USER "sysdba" PASSWORD "masterkey"
PAGE_SIZE 8192 DEFAULT CHARACTER SET WIN1250;

Ulozte si to do souboru a potom pres run sql skript spuste. Pokud se ti to nepodari,tak posli do konference vysledek toho skriptu.
Skript je vytvoren tak, ze se neprve pokusi zrusit starou DB (to mam schvalne, pro me pohodli),
potom vytvori novou. Podruhe jiz probehne bez chyb.
Jinak vytvareni DB je popsano v language reference kazde verze IB/FB.
Je to jednoduche a funguje to bez problemu.

Slavek

>
> Muze mi prosim nekdo poradit, kde sezenu nejaky manual k IBexpertu ?
> Chova se totiz divne. Musim ho spoustet z CD (chybi tam SETUP) a kdyz
> ho chci (po vyse popsanem neuspesnem zakladani nove dtb) uzavrit krizkem,
> tak se me zdvorile zepta, zda to myslim vazne a pak mne
> vesele ignoruje. Nakonec ho musim odstrelit pomoci TaskManageru,
> ale ani to nejde hladce. Skousel jsem i pretahnout celou slozku z CD na
> hard (z obav, zda se nepokousi zapisovat na CD a proto konci blbe), ale pak
> IBexpert prestal fungovat uplne.
>
> Prosil bych dale, kdyby mi nekdo rekl, v kterem materialu je popsano,
> co je to domena ? Pri tvorbe nove tabulky (kratce se mi podarilo experta
> nejak oblbnout a postoupil jsem o krucek dal, a pak uz zase ne)
> je mi jasne co je nazev sloupce, datovy typ, atd., ale pojmem domena se
> setkavam pri tvorbe novych tabulek prvne.
>
> Diky predem za radu.
>
> Petr Vareka.
>

generator prim. kluca v IB

[*] Hlas <hlas(zv)inmail.sk> - 13.9.2002 11:07:30

ten sposob s triggerom je strasne jednoduchy, ale ak mas tabulky
master-detail a primarny
kluc sa pri appende na master zazname a pridavani zaznamov do detailu
nepozna, tak to
stale pisti, ze pole nema hodnotu. celkovo sa velmi zle pracuje ak nie je
primarny kluc- vazba
master/detail znama uz pri editacii zaznamov. Jednoducho delphi formulare
potrebuju poznat
tuto hodnotu skor, nie az nakoniec pri zapise na server. Inak jedna sa o
D6/DBExpress/IB6.


Skusim napad od Ondreja Kelleho, aspon vynecham view a trochu sa to mozno
zjednodusi.
inak ten system je funkcny, ja len zistujem ,ci sa to neda urobit
elegantnejsie.


----- Original Message -----
From: "Jan Sebel�k" <honza(zv)haes(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Friday, September 13, 2002 8:39 AM
Subject: Re: generator prim. kluca v IB


Odes�latel: Hlas <hlas(zv)inmail.sk>
chcem vytvorit generator Primarneho kluca pre IB tabulku
robim to takto:

1. vytvorim na serveri generator
2. vytvorim pohlad - view, ktory mi ponuka nove cislo
3. do data modulu som si vlozil query, ktore selectom dostava nove cislo z
pohladu
4. aktivujem query pri afterinsert udalosti clientdatasetu a ziskavam tak
primarny kluc

nejde to jednoduchsie?
nemam na mysli zavesit generator na trigger, to asi nefunguje pri
master-detail vazbe.

[Honza]
Prededevsim generovani primarniho klice je otazkou navrhu databaze. Kdyz
navrhuju databazi, nevim (nebo se tak alespon tvarim), jestli tam bude nekdo
pristupovat z Delphi nebo z neceho jineho. Takze trigger urcite ano, ale
treba takto:
if (new.id is null) then new.id = gen_id(g_id,1);

Ted jak z Delphi (klient)

Radsi bych napsal ulozenou proceduru, ktera mi vrati nove ID. Abych rekl
pravdu, moc si to view nedokazu predstavit.

Komponenty IBX (TIBDataSet) maji neco jako "generator field", jenze ty
mluvis o TClientDataSet (vicevrstva aplikace?), takze to mi nepomuze.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

DelphiX

[*] Peter Surovy <psurovy(zv)uevora.pt> - 13.9.2002 10:10:58

Ano
dokonca o DelphiX existuje aj samostatna
konferencia :
http://www.pandora(tec)cz/conference/delphix/
S pozdravom
Peter Surovy

----- Original Message -----
From: "Vymazal Milan" <vymazal.milan(zv)seznam(tec)cz>
Sent: Thursday, September 12, 2002 8:35 AM

> Dela tady nekdo v DelphiX ?

Procedure a function

[*] Erik Salaj <winsoft(zv)stonline.sk> - 13.9.2002 11:21:04

> > Zoberme takyto overloading, je to ok, alebo nie?
> >
> > Trim(const S: AnsiString)
> > Trim(S: AnsiString)
>
> Neni, protoze z hlediska rozliseni jednoznacnosti pro pretezovani se jedna
o
> shodne deklarace funkci a dojde k chybe pri prekladu 'Identifier
redeclared'.

ale v C++ to je korektny overloading

> > Trim("ABC"); // ktora metoda sa zavola?
> > Trim(ABC); // ktora metoda sa zavola?
>
> Zde zalezi na pravidlech konverze retezcovych konstant. Ano, prave u
dvojice
> string / PChar to bylo problematicke a pokud vim doslo k mirne zmene
pravidel
> mezi ruznymi verzemi prekladace. To se dale tyka i typu Variant a TObject
/
> Pointer / IInterface pri predani nil konstanty.

cize musim poznat urcite pravidla, aby som to mohol korektne pouzit.
Ak sa ale v pravidlach pomylim, prekladac ma neupozorni, ale pouzije
inu funkciu ako ja zamyslam. Nijako sa mi to nepaci - zbytocne
robit vedu s pravidlami (a systemy typov to veda naozaj je)
tam, kde to nie je potrebne.

> > Alebo tento overloading:
> >
> > Add(Value: Integer);
> > Add(Value: LongInt);
>
> Stejny pripad jako vyse. Pri navrhu se samozrejme s timto pocitalo,
analyza se
> neprovadi jen prostym porovnanim jmen typu parametru ;-)

zase otazka: a preco nie? Preco su take pravidla a nie ine? Ved Integer
je jeden typ a LongInt iny. Zase tvrdim, ze taketo vselijake pravidla
su perfektnym zdrojom zakernych chyb v programoch. Preco
programator musi robit detailnu typovu analyzu, aby si bol isty,
ze kompilator pouzije tu funkciu, ktoru ten programator chce pouzit?
Totoo ja nijako nemozem nazvat prinosom do programovania.

> > > Dalsi vyuziti muze byt u zajisteni zpetne kompatibility.
> >
> > ???
>
> Napriklad v nove verzi se ukaze, ze by do nejake funkce bylo vhodne pridat
> nebo zmenit parametr, nebo ze konverze API funkce do Object Pascalu byla
> chybna. Zaroven je ale snaha zachovat kompilaci existujiciho kodu bez
nutnosti
> opravy na novou syntaxi. Tady se prave hodi pretezovani.

tak si predstav, ze mam dve funkcie

Func(a, b: Integer);
Func(a, b: Real);

a niekde v programe pouzivam

Func(1, 2); // zavola Integer funkciu

A. teraz zmazem funkciu Func(a, b: Integer). Co to urobi
s programom? Len to, ze miesto Integer zrazu kompilator
zavola Real funkciu, bez warningu, bez upozornenia - skratka
zmazanim funkcie (alebo aj pridanim funkcie, ci zmenou
parametrov) sa moze zmenit vyznam programu (moze to
zmenit vyznam uplne inej casti programu, nez kde doslo
k zmene) a ja ako programator jednoducho nemam sancu
tomu zabranit (akurat davat pozor alebo po kazdej zmene
prehladavat vsetky zdrojaky, ci nahodou nebol, nie je,
alebo nevznikne nahodou pretazenie a nespravne pouzitie).

> > no bol to priklad z Delphi, kde sa tento problem prejavil. Ja sa
>
> Zpusob exportovani pretezovanych funkci je popsan v helpu pod heslem 'The
> exports clause' a spociva jen v definici jednoznacneho jmena pro export.

jednoznacnost je zasadna vec a to nie len pre DLL-ka. V Eiffely
sa vyuziva pri viacnasobnej dedicnosti, kde je mozne presne
urcit kedy co sa ma ako dedit. Ak to ma byt jasne, jednoznacne
a jednoduche, tak tam nejednoznacne pomenovania jednoducho
nemaju miesto. Ak pouzivas dedicnost, co je zasadny prostriedok
na dosiahnutie znovupouzitelnosti, tak az by si dedil vlastnosti
z x tried a kombinoval to s overloadingom, tak Ti asi zostane
iba jedina moznot - hadat, ze kedy sa ktora metoda zavola.

> > to moze posluzit. Ak by tam tie problemy neboli, tak nie je
> > problem overloading implementovat do (takmer) kazdeho
> > jazyka a pouzivat (a nebol by dovod o tom ani diskutovat).
>
> Moderni jazyky jako C++ nebo C# jej maji, to byl mozna i jeden z duvodu
proc
> byl implementovan i do Delphi.

podla mna hlavny dovod v Delphi bol ten, ze je to jednoducho
implementovatelne. Ziadny mimoriadny efekt sa tym nesledoval
(ani sa to nijakym zasadnym sposobom pokial viem vo VCL
nepouziva), ale snat islo o drobne "vylepsenie" aby bol dovod
na upgrade.

Zamyslal som sa, nad tym preco je oveloading aj v C# (C++
za moderny jazyk nepovazujem) a predpokladam, ze to suvisi
s dalsim obmedzenim tohto jazyka (prevzatym z C++),
ze konstruktor musi mat pevne stanovene meno - rovnake
ako nazov triedy. Ak teda ma by moznost roznej incializacie
triedy (co sa casto v praxi vyuziva), tak jedinym riesenim
je tu potom overloading. V Eiffely taketo obmedzenie
neexistuje, tam mozes lubovolnu funkciu oznacit ako
kontruktor a pouzivat ju ako kontruktor ale (zase na
rozdiel od C++/C#) aj volat ako obycajnu metodu:

class TEST

create
make -- tuto feature bude mozne pouzit na konstrukciu

feature
make is
do
...
end

end -- TEST

...
a: TEST
...
create a.make -- konstruktor
a.make -- obycajne volanie metody
...

> > podla mna treba zvazit prinosy aj zapory a tak sa rozhodnut. Problem
> > s overloadingom vidim hlavne v tom, ze tych prinosov je tam minimum.
>
> To je vec nazoru, nikdo nikoho nenuti jej pouzivat.

nie je to len otazka pouzivania, je to otazka charakteru jazyka. Ak jazyk
povoluje nejaku "nebezpecnu" konstrukciu, tak na nu mozem doplatit
aj vtedy, ked ju nepouzivam, pretoze kompilator ju akceptuje a teda
ma neupozorni - ja sam MUSIM davat na to pozor.

Erik

QReport 3.5 D6 - jak udelat grouping?

[*] David Michal <david.michal(zv)www-bv(tec)com> - 13.9.2002 11:27:24

Zdravim,
Prosim nevite nekdo jak s QReportem dosahnout podobneho vysledku:

SESTAVA

Skupina1
Popis Cena
aaa 10
bbb 20

Suma(Skupina1) : 30

Skupina2
Popis Cena
ccc 12
ddd 18

Suma(Skupina2) : 30
.
.
.
Suma(Vsechny Skupiny) : x


S tim ze dopredu nevim kolik bude skupin a data budu dolovat z SQL serveru.

Diky,
David

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.386 / Virus Database: 218 - Release Date: 09/09/2002

QReport 3.5 D6 - jak udelat grouping?

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 13.9.2002 11:32:57

Od toho tam je komponenta QRGroup. V Delphi \Demos byl na to kdysi i
priklad.

Roman
==============================
http://kouzelne.misto(tec)cz

> Zdravim,
> Prosim nevite nekdo jak s QReportem dosahnout podobneho vysledku:
>
> SESTAVA
>
> Skupina1
> Popis Cena
> aaa 10
> bbb 20
>
> Suma(Skupina1) : 30
> .
> .
> .
> Suma(Vsechny Skupiny) : x
> S tim ze dopredu nevim kolik bude skupin a data budu dolovat z SQL
serveru.

pridanie aliasu

[*] Peter Surovy <psurovy(zv)uevora.pt> - 13.9.2002 10:33:20

Ahoj
chcel by som pridat alias databazy ktora
je v Program Files do BDE
ale problem je zo zadanim nazvu cesty:
Totiz program sa bude instalovat
na inej jazykovej verzii win.

U mna je to Program Files/ mojadb
ale tam sa uz vetva program files vola inak

Stacilo by mi nejake vseobecne oznacenie
Program Files. Inno Setup napr pouziva
nieco ako {pf} ale neviem ci to funguje obecne.

Peter Surovy

Kliknuti na caption u okna

[*] Kalhous Zdenek <zdenek.kalhous(zv)comarr(tec)cz> - 13.9.2002 11:37:24

On 13 Sep 2002 at 10:11, LUKES V�clav wrote:
> Chtel bych po kliknuti levym
> tlacitkem mysi na CAPTION formulare vypsat nejaky text, treba
> ShowMessage('AHOJ');

Neco jako:

type
Tprog = class(TForm)
...
procedure Cs(var Message: TMessage); message
WM_NCLBUTTONDOWN;
...
procedure Tprog.Cs(var Message: TMessage);
begin
ShowMessage('AHOJ');
inherited;
end;

Sleep(0)

[*] Erik Salaj <winsoft(zv)stonline.sk> - 13.9.2002 11:42:28

> OK...
> Vy mate pravdu a ja jsem se mylil.
> Je to tak, thread ma svou frontu zprav. Sorry, mlzim.

nemylis sa, ta fronta sprav je v threade naozaj koli
oknam. Tie okna su dolezite z hladiska fronty sprav
a nie thread. Okno bez fronty sprav nemoze byt,
thread ano. To, ze existuje jedna fronta sprav
pre thread (zdielana viacerymi oknami threadu)
je len optimalizacia (zbytocne by kazde okno
malo vlastnu frontu, ked aj tak thread moze
naraz spracovavat len jednu spravu pre vsetky
okna threadu).

Erik

Lock nad IB recordom

[*] Pavel Cisar <pcisar(zv)users.sourceforge(tec)net> - 13.9.2002 11:51:14

Haj hou!

On 12 Sep 2002 at 9:24, Jan Sebel�k wrote:

> Mozna me nekdo opravi, ale pokud se nemylim, tak to nejde.

Ono to jde simulovat pomoci "falesneho update", tedy provedenim zmeny,
ktera ulozi ta sama data (data jsou stejna, ale pro server je to zmena
jako kazda jina). Tim dojde k zablokovani radku pro ostatni transakce
dokud neni proveden commit nebo rollback. Ale rozhodne bych to nedelal :)

S pozdravem
Pavel Cisar
Mobil: 0724 281429
http://www.ibphoenix(tec)cz
Vse co potrebujete pro Firebird a InterBase

Delphi 7, vyhody a cena

[*] Pavel Cisar <pcisar(zv)users.sourceforge(tec)net> - 13.9.2002 11:51:14

Haj hou!

On 12 Sep 2002 at 9:57, LUKES V�clav wrote:

> rad bych se Vas zeptal na par veci kolem Delphi 7.
> v soucasne dobe mame Delphi 5 a mame kupovat upgrade ba Delphi 6.
>
> - ma toto vyznam ? Neni lepsi primo prejit na Delphi 7 ?

Je lepsi prejit na D7.

> - da se vubec z Delphi 5 skocit na Delphi 7 a jaka je cena ?

Ano, je to normalni upgrade (viz cena na webu Borlandu). Do 26.9. je
specialni promo cena (slevy 10%, 20% a 30%), melo by to byt rovnez na
jejich webu nebo jim zavolejte.

> - jake jsou hlavni vyhody mezi Delphi 7 a Delphi 6, hlavne v oblasti datariny ?

Vsechno je uplne jinak, pribylo nove baleni Architect. Pokud delate vetsi
projekty, tak se Architekt rozhodne vyplati, protoze obsahuje Bold for
Delphi (viz www.boldsoft.com) v podstate za hubicku (normalne sam stoji
pres $1500). V Ent. a Arch. je i ModelMaker 6.20, naprosto vyborna vec
(viz www.modelmaker.com). V D7 jsou i lepsi dbExpress ovladace nez v D7.

S pozdravem
Pavel Cisar
Mobil: 0724 281429
http://www.ibphoenix(tec)cz
Vse co potrebujete pro Firebird a InterBase

pridanie aliasu

[*] <goldan(zv)centrum.sk> - 13.9.2002 11:55:09

Malo by stacit citat tieto kluce z registrov

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion]

"ProgramFilesDir"="C:\\Program Files"
"ProgramFilesPath"="C:\\Program Files"

Nemam inu jazykovu verziu len slovensku a anglicku. A tam su tie kluce
rovnake.
----- P�vodn� spr�va -----
Od: "Peter Surovy" <psurovy(zv)uevora.pt>
Komu: <delphi-l(zv)clexpert(tec)cz>
Odoslan�: 13. september 2002 11:33
Predmet: pridanie aliasu


> Ahoj
> chcel by som pridat alias databazy ktora
> je v Program Files do BDE
> ale problem je zo zadanim nazvu cesty:
> Totiz program sa bude instalovat
> na inej jazykovej verzii win.
>
> U mna je to Program Files/ mojadb
> ale tam sa uz vetva program files vola inak
>
> Stacilo by mi nejake vseobecne oznacenie
> Program Files. Inno Setup napr pouziva
> nieco ako {pf} ale neviem ci to funguje obecne.
>
> Peter Surovy
>
>

pridanie aliasu

[*] Peter Surovy <psurovy(zv)uevora.pt> - 13.9.2002 11:04:42

Ahoj

----- Original Message -----
From: <goldan(zv)centrum.sk>
Sent: Friday, September 13, 2002 10:55 AM

> Nemam inu jazykovu verziu len slovensku a anglicku. A tam su tie kluce
> rovnake.
---faakt? tak to je super; cize v slovenskom windows
mas tiez Program Files?

Ja slovenske momentalne nemam k dizpozicii
ale napr. v portugalskom sa to vola Programas
co je dost od veci :-(.

Ale ked je to v slov. rovnake tak to je vynikajuce.

Peter

Kliknuti na caption u okna

[*] LUKES V�clav <lukes(zv)ans(tec)cz> - 13.9.2002 12:08:03

Jeste malickost.
Ta hlaska se zobrazi, i kdyz kliknu na krizek - uzavreni okna...
Prosim, co s tim ?
V.
-----Original Message-----
From: LUKES V�clav
Sent: Friday, September 13, 2002 11:52 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: RE: Kliknuti na caption u okna


Diky, to je ono...
V.

-----Original Message-----
From: Kalhous Zdenek [mailto:zdenek.kalhous(zv)comarr(tec)cz]
Sent: Friday, September 13, 2002 11:37 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Kliknuti na caption u okna


On 13 Sep 2002 at 10:11, LUKES V�clav wrote:
> Chtel bych po kliknuti levym
> tlacitkem mysi na CAPTION formulare vypsat nejaky text, treba
> ShowMessage('AHOJ');

Neco jako:

type
Tprog = class(TForm)
...
procedure Cs(var Message: TMessage); message
WM_NCLBUTTONDOWN;
...
procedure Tprog.Cs(var Message: TMessage);
begin
ShowMessage('AHOJ');
inherited;
end;

Hlas po internetu

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 13.9.2002 12:55:09

From: <virt(zv)volny(tec)cz>
> Jeste jednou.Nemate nekdo komponentu(OCX) nebo link pro prenos hlasu
> ze zvukovky(microfonu) po siti inet.

NetMeeting: http://www.microsoft.com/windows/NetMeeting/Authors/SDK/

Petr Vones

ADO neco neni v poradku

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 13.9.2002 13:34:27

On 13 Sep 2002 at 10:40, Delphin wrote:

> > Hm, a jakou ze mas verzi Delphi? Ja vim, ze prvni ADOExpress nejakou
> > takovou chybu mel, ale dal jsem to uz nezkoumal. Kdyz jsem totez
> > udelal primo pres ADO, fungovalo to dobre.
>
> D5 SP2, v D6 SP2 je to naprosto stejne, zkousel sem to.

Takze chyba se asi tahne. Podobne veci jsem zkousel primo pres ADO, a
na tento problem jsem nenarazil. Zkus tedy zahybat s vlastnostmi,
ktere se tykaji pripojeni.

S pozdravem

Zbysek Hlinka


WYSIWYG editor

[*] Ondrej Krsko <ondrej.krsko(zv)zoznam.sk> - 13.9.2002 13:58:27

Ahoj,

dal by sa pouzit aj ten, existuje este nieco podobne ?

S pozdravom
Ondrej Krsko


> RichText by ti nestacil?
>
> > hladam komponentu, ktora zvlada zakladne funkcie formatovania textu
(font,
> > velkost, alignment, farba...). Pokial mozno free.
> > Mate s niecim take skusenosti ? A ake ?
>

Sleep(0)

[*] Erik Salaj <winsoft(zv)stonline.sk> - 13.9.2002 14:31:04

> > nemylis sa, ta fronta sprav je v threade naozaj koli
> > oknam. Tie okna su dolezite z hladiska fronty sprav
>
> Ne jen kvuli oknum. Thread muze mit frontu zprav a pritom zadne okno.

no nebol by som si tym celkom isty, citujem z MSDN:

"Because the system directs messages to individual windows
in an application, a thread must create at least one window
before starting its message loop"

Priznam sa, neskusal som to a silne pochybujem, ze existuje
nejaka aplikacia, ktora by mala frontu sprav bez okna.
Teoreticky by to mohlo fungovat, je to ale dosledok
toho, ako je fronta sprav a jej spracovanie threadom
realizovane (teda podla mna rozhodne nie pricina toho).
Ak by fronta bola dolezita pre thready bez okien,
tak zrejme by jej vytvorenie nepodmienovali volanim
user alebo gdi funkcii ale funkcie pre frontu by presunuli
do kernelu.

> > a nie thread. Okno bez fronty sprav nemoze byt,
> > thread ano. To, ze existuje jedna fronta sprav
> > pre thread (zdielana viacerymi oknami threadu)
> > je len optimalizacia (zbytocne by kazde okno
> > malo vlastnu frontu, ked aj tak thread moze
> > naraz spracovavat len jednu spravu pre vsetky
> > okna threadu).
>
> Rekl bych ze dalsim duvodem je predevsim serializace. Ta fronta samozrejme
> neni tak jednoducha jak vypada. Napriklad pro zpravy z klavesnice, kde je
> treba rozhodnout ktere patri jakemu threadu pri prepnuti do okna patrici
> jinemu threadu a podobne.

tazko posudit, zrejme ten efekt z toho, ze by kazde okno malo zvlastnu
frontu (vyhodou by mohlo byt to, ze by svoje spravy mohlo dostat skor
a necakat na spravy inych okien, ktore su pred nim v spolocnej fronte)
nevyvazi urcite problemy, ktore spominas a hlavne reziu s tym spojenu

Erik

Kniha

[*] Jiri Lev <levj(zv)jhv(tec)cz> - 13.9.2002 14:34:45

Muzete mi nekdo rict zda-li kupovat knihu "Mistrovstvi v Delphi 6" nebo
doporucit neco jineho ?

Predem diky J.

Help View jako komponenta

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 13.9.2002 14:50:27

From: "Vaclav Riha - Soft Consult" <vaclav_riha(zv)softconsult(tec)cz>
> schanim nejakou komponentu, ktera zobrazi obsah helpu napriklad podle
> HelpContext.

TApplication.HelpContext

Petr Vones

Re[2]: Sitova aplikace - jak na ni

[*] Jakub Dusek <jdev(zv)seznam(tec)cz> - 13.9.2002 14:54:21

Az od verze 7.

Jakub Dusek

-------------------------------------------
Homepage : http://dusek.webz(tec)cz
Phone : +420604615795
Sms email : jakub.dusek(zv)click(tec)cz
Icq : 86063232
Apps : Add/Remove Manager, Charmaper,
Sms GateKeeper
-------------------------------------------

Friday, September 13, 2002, 9:05:14 AM, you wrote:

>> Ale pro spojeni budu muset pouzit licencovany MIDAS.
>> Bob

MT> Nevim jestli uz od verze 6 nebo az od verze 7, ale od te na 100% je DataSnap
MT> (drive MIDAS) volne k pouziti bez nutnosti kupovani behovych licenci...

MT> S pozdravem

MT> Milan Tomes
MT> mailto:milan.tomes(zv)haida(tec)cz

razeni sloupcu v DBGrid kliknutim na zahlavi

[*] Richard Valny <Richard.Valny(zv)oku-st(tec)cz> - 13.9.2002 15:22:58

Ahoj
v OnTitleClick udalosti DBGridu mam nasledujici kod:
---------
procedure TPobocky.DBGrid1TitleClick(Column: TColumn);
var i:integer;
pole:String;
begin
try
// t��d �n� podle sloupce
pole :=Column.FieldName;
vzestupne := true;
with DataModule2.PobockyT do
begin
DisableControls;
Active := false;
SortedByText.Clear;
SortedByText.Add('['+pole+'] ASC');
Active := true;
EnableControls;
end;
for i := 0 to DBGrid1.Columns.Count-1 do begin
if (UpperCase(DBGrid1.Columns[i].FieldName) <> UpperCase(pole))
then
DBGrid1.Columns[i].Title.Font.Style := []
else
DBGrid1.Columns[i].Title.Font.Style := [fsBold];
end;
except
on E:Exception do ShowMessage('Chyba: '+E.Message);
end;
end;
----------
funguje tak, ze polozka dle ktere se tridi je v zahlavi oznacena tucnym
pismem.
Rad bych
1) na druhe kliknuti na tomtez sloupci otocil trideni (z ASC na DESC) -
zde jsem narazil na to, ze neumim otestovat, zda dany sloupec je jiz
tucny ci nikoliv

2) rad bych pridal sipecku ve styli Exploreru - pri kliknuti se do
zahlavi prida sipecka dle smeru trideni - zde nevim, jak ji tam dostat

3) tabulka je z komponent KADAo a nejak mi u ni nefunguje bookmark.
Nesetkal jste se nekdo s nim?

Dik za pomoc

Richard

Procedure a function

[*] Erik Salaj <winsoft(zv)stonline.sk> - 13.9.2002 15:29:55

> > cize musim poznat urcite pravidla, aby som to mohol korektne pouzit.
>
> Jako se vsim.

no hej, problem je v tom, ze nie su pravidla ako pravidla

> > tak si predstav, ze mam dve funkcie
> >
> > Func(a, b: Integer);
> > Func(a, b: Real);
>
> Ne, pokud mam dve takove funkce tak prece nebude kazda provadet neco
jineho,

tie funkcie musia robit nieco ine uz len preto, ze dostanu ine parametre

> navic v danem unitu prece neni takovy problem se podivat co presne delam.
> Stejne tak mohu zmenit vyznam programu tak ze nekde umazu nejake cislo v
> konstante a podobne.

lenze, ked zmenim hodnotu nejakej kostanty, tak sa nemeni ta cast programu,
ktora tu konstantu nepouziva. Ale zmenou nejakej pretazenej funkcie sa moze
zmenit cast programu, ktora tuto funkciu nepouzivala (ak pouzivala tu druhu
pretazenu funkciu a dojte zhodou okolnosti, k tomu, ze parametre budu
po zmene "lepsie odpovedat" tej prvej pretazenej funkcii). Teda zmenim
nejaku funkciu a zrazu prestane fungovat cast programu, ktora tuto funkciu
nikdy nepouzivala - dost vazny problem podla mna. Chces konkretny priklad?

> > sa vyuziva pri viacnasobnej dedicnosti, kde je mozne presne
> > urcit kedy co sa ma ako dedit. Ak to ma byt jasne, jednoznacne
>
> Exportovani overloaded funkci nema vubec nic spolecneho s dedicnosti.

to si nejako zle precital, co som napisal. Hovoril som o tom, ze overloading
moze sposobit problemy v kombinacii s dedicnostou.

> Rozhodne to nebylo jednoduche implementovat. Uz jen proto, ze se musel
> napriklad zmenit name-mangling algoritums pro jmena exportovanych
metod/funkci
> v baliccich a stanovit pravidla pro nejednoznacne pripady, jako napriklad
nil.

pokial viem, tak back-end Delphi kompilatora je zhodny s C++ Builderom
(teda overloading tam uz davno je), takze stacilo doplnit podporu
do front-endu. Overloading (a rovnako tak default parametre) je
z hladiska kompilatora jednoducha zalezitost: co sa tyka generovaneho
kodu (to je zvycajne hlavny problem dobreho kompilatora - generovat
dobry kod), tak tam ziadna zmena nie je potrebna (okrem toho name-
manglingu, ten ale s kodom priamo nesuvisi). Inac ten name-mangling
samotny je podla mna odporna vec a je to presne jeden z dosledkov
overloadingu.

> Prikladem je treba prace s ukazateli nebo 'tvrde' pretypovani, tam ti
> kompilator nepomuze vubec.

ak myslis tvrdym pretypovanim, explicitne pretypovanie, tak to je
v poriadku, programator jasne napise svoj zamer pretypovat,
kompilator skontroluje a ak je to ok, tak pretypuje - nevidim
nic zle na tom. Nebezpecne su len implicitne pretypovania
(v niektorych pripadoch, teda netreba to prilis prehanat).

> Chapu ze se ti ta vlastnost nelibi protoze neni v Eiffelu, ale to jeste
> neznamena ze pri vhodnem pouziti nemusi byt uzitecna.

su aj ine dovody. Ale ten Eiffel ma nieco do seba, to je fakt.
Jeho prinos je aj v tom, ze programatora (alebo navrhara,
ci analytika) nechava riesit naozaj realne problemy tykajuce
sa objektoveho modelovania a nie pseudoproblemy vzniknute
v dosledku zleho navrhu nastroja na objektove modelovanie.
X problemov, ktore su povedzme v Delphi alebo C++,
v Eiffeli jednoducho nie je. Na objekty sa pozeras ako
na skutocne objekty a nie ako na smerniky, ci struktury
s procedurami, ci kus kodu alebo pameti.

Na zaver snad, ak niekto vidi overloading ako prinosnu vec, tak sa
mozme pokusit pouvazovat nad dalsim rozvinutim tejto myslienky,
povedzme co tak overloading premennych:

var
a: Integer;
a: Real;

a := 1; // do Integer
a := 3.4; // do Real

if (a = 3) then // false

if (a = 3.4) then // true

if (a = 1) and (a = 3.4) then // true, ved ziadny problem zaroven 1 aj 3.4

Vyhoda je takisto jasna - netreba zbytocne vymyslat nove nazvy premennym,
ved nazov ako nazov ;-)

Erik

Re[2]: absolutne zacatecnicka ale o to zoufalejsi

[*] Petr Selinger <delphiforum(zv)centrum(tec)cz> - 13.9.2002 16:27:19

Doporucuji pouzit komponentu KWizard (free), ktera v sobe
integruje
pruvodce je je opravdu dobre vyresena. Urcite ji najdes na webu,
kdyby
ne, muzu poslat.

Zdravi Petr

> Dik za odpoved,

> myslim, ze jsem to zvladnul az do toho "vse osetris na
PageControl.OnChange
> a na Button.OnClick". Mohli byste to prosim vysvetlit trochu
podrobneji.

> Predem dik!

> Tomas Barta


> ----- Original Message -----
> From: "Jaroslav Uher" <moravia(zv)mbox.vol(tec)cz>
> To: <delphi-l(zv)clexpert(tec)cz>
> Sent: Saturday, August 31, 2002 8:36 PM
> Subject: Re: absolutne zacatecnicka ale o to zoufalejsi zadost
o pomoc


> Ahoj,

> On 31 Aug 2002 at 19:03, Tom B rta wrote:

>> jsem opravdu "cisty" zacatecnik v Delphi. Tvorim jednoduchy
program,
>> ktery ma neco udelat na principu toho, ze jeho uzivatel zadava
urcite
>> parametry pro nasledne vypocty a preskakuje z jedne obrazovky
na
>> druhou pomoci tlacitek "Dalsi" a "Zpet" - v podstate jakysi
pruvodce.
>> Jak mam provest toto preskakovani z jedne obrazovky na druhou?

> dej si na form 2 panely, spodni nastav Align = alBottom (na nej
si vlozis
> potrebne
> tlacitka), horni panel bude Align = alClient a na nej vloz
TPageControl.
> Levym 'mysakem' na nem pridas nekolik 'NewPage' (TTabSheet) a
nastavis jim
> TabVisible na false.

> A vse osetris na PageControl.OnChange a na Button.OnClick.

> Jarek Uher

--------------------
ZDARMA a RYCHL� zas�l�n� SMS z www.posliSMS(tec)cz

Lock nad IB recordom

[*] Delphin <delphin(zv)post(tec)cz> - 13.9.2002 16:38:12

> Pracovnik pak ma moznost spravne rozhodnout
> o dalsim postupu a chyba nemusi vzniknout.

Teoreticky je to 100% funkcni, ale v realnem provozu se pracovnik s dost
velkou pravdepodobnosti rozhodne spatne a chyba vznikne ...

Lock nad IB recordom

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 13.9.2002 17:25:25

On 13 Sep 2002 at 16:38, Delphin wrote:

> > Pracovnik pak ma moznost spravne rozhodnout
> > o dalsim postupu a chyba nemusi vzniknout.
>
> Teoreticky je to 100% funkcni, ale v realnem provozu se pracovnik s
> dost velkou pravdepodobnosti rozhodne spatne a chyba vznikne ...

Porad ale vznikne mene chyb, nez pri pouziti zamku nebo prepisovani
natvrdo podle posledniho. Zejmena, kdyz je kazda zmena protokolovana,
kdo ji provedl. :-)

S pozdravem

Zbysek Hlinka


No current record

[*] Skopalik Slavomir <skopalik(zv)hlubocky.del(tec)cz> - 13.9.2002 17:30:02

Je to chyba FB, vice na sourceforge.
Reseni: Slozite selekty realizovat pres ulozne procedury, nebo pouzit jiny DB stroj.

Slavek

> Ahoj,
>
> nevite, co muze na serveru FB verze 1 znamenat hlaska
>
> no current record for fetch operation?
>
> Stava se nekdy na slozitych selectech, ale pozor! - kdyz tentyz
> select udelam vzapeti jeste jednou, uz je vse OK.
>
> Zatim to obchazime tak, ze takovy select je v try..except, a v
> pripade teto chyby ho proste provedeme jeste jednou a jde to.
>
> Empiricky bylo zjisteno, ze nekdy pomuze nejaka drobna formalni
> uprava selectu - prohozeni sloupcu, prohozeni poradi joinu apod.
>
> Jaka je skutecna pricina teto podivne vyjimky?
>

ODBC a diakritika

[*] Ludo Fulop <kexo(zv)ynet.sk> - 13.9.2002 18:42:02

zdravim, mam problem pri nacitavani dat z dbase 3 suboru cez ODBC. dbf
subor je v kodovani win1250 (normalny central european), no ODBC mi dosaha
niektore znaky (l~, c~, t~,n~)...napr namiesto "c" s makcenom mi vrati "e"
mam stiahnute posledne MDAC, pozrel som si aj "Lokalizovana knihovna DLL
prostredku" - odbcint.dll, a ako jazyk je v nej uvedeny Cesky...
kde je problem?

Ludo Fulop

Pribeh SQL prikazu (ProgressBar)

[*] Roland Turcan <rolo(zv)sedas.sk> - 13.9.2002 20:19:19

<<< 13. 9. 2002 20:18 - Robert Poncak "delphi(zv)zvlauto.sk" >>>
RP> Napr. Dam select ktory prebieha 10 min, a aby bol uzivatel informovany kolko

Myslim si ani SQL server netusi kolko to bude trvat. On sa nemusi
starat len o teba, ale aj o inych v sieti. Bude asi problem zistit
tuto vec.
--
Best regards, TRoland

FTP server

[*] Jiri Sedivec <jsedivec(zv)mail(tec)cz> - 13.9.2002 20:39:44

A znas nejaky ten free program. Mne tenhle obor moc nerika!
Jiri


> No, treba Indy.. ale neni lepsi tam na ten pocitac dat nejaky hotovy
> FTP server (jsou i FREE), nez se jej snazit programovat a vychytavat
> spousty problemu, ktere uz ma nekdo vychytane?
>
> > Existuje komponenta, ktera mi vytvori z meho pocitadla FTP server???
> >
> > Diky
> > Jiri
> >
>
>
>
> -- Lukas Gebauer.
>
> E-mail: gebauerl(zv)mlp(tec)cz
> http://www.ararat(tec)cz/synapse/ - Synapse Delphi and Kylix TCP/IP Lib.
>

Proc IBDataSet je readonly a neumozni zmenu zobraz

[*] Petr Vareka <pvareka(zv)mujmejl(tec)cz> - 13.9.2002 22:11:39

Hledam obetavce, ktery je ochoten prelouskat nasl. par radek blabolu a
pak mi pripadne neco smysluplneho odpovedet. Predem dik.


Mam form a na nem DBgrid GridA , DataSource SourceB , IBDataSet
IBSetD, IBTransaction TransD a konecne
IBDatabase DatabE.


Propojeni je nasledovne:
GridA.DataSource = SourceB,
SourceB.DataSet = IBSetD,
IBSetD.Database = DatabE,
IBSetD.Transaction = TransD,
TransD.DefaultDatabase = DatabE,
Plneni IBDataSet: IBSetD.SelectSQL (TStrings) nastaveno na
'Select * From nejaky_soubor'

V eventu OnCreate formu mam skript IBSetD.Open
a na OnClicked buttonu mam naveseno IBSet.Edit.

Po stisknuti tohoto buttonu v runtime se objevi vyjimka
Dataset je read only.
Zkousel jsem s tim bezuspesne neco udelat asi 3 hodiny a pak jsem radej
sel na houby.

S
pozdravem Petr Vareka

Procedure a function

[*] Erik Salaj <winsoft(zv)stonline.sk> - 13.9.2002 23:33:06

> > tie funkcie musia robit nieco ine uz len preto, ze dostanu ine
> > parametre
>
> :-) Samozrejme, jedna treba scita cela cisla, a druha realna, kdyz
> vymyslim co nejtrivialnejsi priklad.

a to je podla Teba to iste?

> Jooo, kdyz neumis pouzivat pretizene funkce, tak je nepouzivej. Pokud
> nekdo napise funkci na vypocet trajektorie druzice kolem Zeme, a pak
> dalsi pretizenou funkci pro vypocet optimalni drahy drbani na zadech,
> pak je to cune a nema radeji programovat. Pokud ale nekdo napise
> funkci pro trajektorie americke druzice, a pak totez potrebuje i pro
> ruskou druzici, ale tam je treba predat parametry v jinych typech,
> pak je cas na pretizeni.

tam je cas dat vypocet drahy americkej druzice do objektu
americkej druzice a vypocet drahu ruskej druzice do objektu
ruskej druzite a overloading nepotrebujes.

Erik

Procedure a function

[*] Erik Salaj <winsoft(zv)stonline.sk> - 13.9.2002 23:39:06

> Pokud nejsi cune a neresis v kazde funkci neco jineho, tak nic.
> Nanejvys ti program ohlasi konflikt typu. A prave tam, kde by ke
> konfliktu typu mohlo dojit, se pouziva pretezovani.

zrejme preto, aby som sa konflikt typov nedal jednoducho odhalit

> > podla mna hlavny dovod v Delphi bol ten, ze je to jednoducho
> > implementovatelne. Ziadny mimoriadny efekt sa tym nesledoval
> > (ani sa to nijakym zasadnym sposobom pokial viem vo VCL
> > nepouziva), ale snat islo o drobne "vylepsenie" aby bol dovod
> > na upgrade.
>
> A nebylo by vhodnejsi se podivat do zdrojaku VCL, ktere funkce, jak a
> proc jsou pretizene? Mozna by ti to neco napovedelo.

co konkretne je takym prinosom overloadingu vo VCL?

> > nie je to len otazka pouzivania, je to otazka charakteru jazyka. Ak
> > jazyk povoluje nejaku "nebezpecnu" konstrukciu, tak na nu mozem
> > doplatit aj vtedy, ked ju nepouzivam, pretoze kompilator ju akceptuje
> > a teda ma neupozorni - ja sam MUSIM davat na to pozor.
>
> V tom pripade radeji ani neprechazej ulici, protoze musis myslet na
> to, ze se mas rozhlednout, aby te nic neprejelo...

ale ked tam bude semafor, tak vtedy by nemal byt s tym problem, vsak?

Erik

Sleep(0)

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 14.9.2002 01:02:36

From: "Erik Salaj" <winsoft(zv)stonline.sk>
> nemylis sa, ta fronta sprav je v threade naozaj koli
> oknam. Tie okna su dolezite z hladiska fronty sprav

Ne jen kvuli oknum. Thread muze mit frontu zprav a pritom zadne okno.

> a nie thread. Okno bez fronty sprav nemoze byt,
> thread ano. To, ze existuje jedna fronta sprav
> pre thread (zdielana viacerymi oknami threadu)
> je len optimalizacia (zbytocne by kazde okno
> malo vlastnu frontu, ked aj tak thread moze
> naraz spracovavat len jednu spravu pre vsetky
> okna threadu).

Rekl bych ze dalsim duvodem je predevsim serializace. Ta fronta samozrejme
neni tak jednoducha jak vypada. Napriklad pro zpravy z klavesnice, kde je
treba rozhodnout ktere patri jakemu threadu pri prepnuti do okna patrici
jinemu threadu a podobne.

Petr Vones

Procedure a function

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 14.9.2002 01:19:30

From: "Erik Salaj" <winsoft(zv)stonline.sk>
> cize musim poznat urcite pravidla, aby som to mohol korektne pouzit.

Jako se vsim.

> zase otazka: a preco nie? Preco su take pravidla a nie ine? Ved Integer
> je jeden typ a LongInt iny. Zase tvrdim, ze taketo vselijake pravidla

Podobne jako muzes predat coby Integer parametr promennou typu Longint.
Predstav si to jako aliasy k typum.

> tak si predstav, ze mam dve funkcie
>
> Func(a, b: Integer);
> Func(a, b: Real);
>
> a niekde v programe pouzivam
>
> Func(1, 2); // zavola Integer funkciu
>
> A. teraz zmazem funkciu Func(a, b: Integer). Co to urobi
> s programom? Len to, ze miesto Integer zrazu kompilator
> zavola Real funkciu, bez warningu, bez upozornenia - skratka
> zmazanim funkcie (alebo aj pridanim funkcie, ci zmenou
> parametrov) sa moze zmenit vyznam programu (moze to

Ne, pokud mam dve takove funkce tak prece nebude kazda provadet neco jineho,
navic v danem unitu prece neni takovy problem se podivat co presne delam.
Stejne tak mohu zmenit vyznam programu tak ze nekde umazu nejake cislo v
konstante a podobne.

> sa vyuziva pri viacnasobnej dedicnosti, kde je mozne presne
> urcit kedy co sa ma ako dedit. Ak to ma byt jasne, jednoznacne

Exportovani overloaded funkci nema vubec nic spolecneho s dedicnosti.

> podla mna hlavny dovod v Delphi bol ten, ze je to jednoducho
> implementovatelne. Ziadny mimoriadny efekt sa tym nesledoval

Rozhodne to nebylo jednoduche implementovat. Uz jen proto, ze se musel
napriklad zmenit name-mangling algoritums pro jmena exportovanych metod/funkci
v baliccich a stanovit pravidla pro nejednoznacne pripady, jako napriklad nil.

> nie je to len otazka pouzivania, je to otazka charakteru jazyka. Ak jazyk
> povoluje nejaku "nebezpecnu" konstrukciu, tak na nu mozem doplatit
> aj vtedy, ked ju nepouzivam, pretoze kompilator ju akceptuje a teda
> ma neupozorni - ja sam MUSIM davat na to pozor.

Prikladem je treba prace s ukazateli nebo 'tvrde' pretypovani, tam ti
kompilator nepomuze vubec.

Chapu ze se ti ta vlastnost nelibi protoze neni v Eiffelu, ale to jeste
neznamena ze pri vhodnem pouziti nemusi byt uzitecna.

Petr Vones

© Delphi.cz, program netcode.cz, 2008-9.