Archív konference Delphi

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

CASTKA SLOVY

[*] Josef Straka <strakajosef(zv)seznam(tec)cz> - 23.10.2002 18:47:27


P��jemn� den,

>mam D6 a Win 2000.
>Prevadel jste prosim nekdo castku na castku slovy ? Napr. 5.10 Kc a pet
korun >deset haleru ???
Nedelal jsem sice ty halire, ale zkus moje stranky programek "Prevody
cisel". Pkud to bude ono, napis mi a ja dodam zdrojak. Mam to na hotove na
cele koruny do jedne miliardy. Najdes to take na www konference v sekci FAQ,
Matemetika a algoritmy, Jak prevest cislo na slovni vyjadreni. Myslim ale,
ze tam je to o rad nizzsi, tedy chodi to jen do 100 000.

Straka Josef
e-mail: strakajosef(zv)quick(tec)cz
www: http://strakaj.zde(tec)cz


Jak rozdelit aplikaci?

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 23.10.2002 18:54:07

On 23 Oct 2002 at 17:51, David Michal wrote:

> Zdravim,
> Tomuhle uplne nerozumim. Jaky je rozdil v udrzbe nekolika *.pas
> souboru, ktere potom zkompiluji do jednoho exe souboru, a udrbou
> nekolika *.pas souboru, ktere potom zkompiluji do vice souboru? David

Takto pojato zadny. Jde o to navrhnout vhodne rozhrani tak, aby kazdy
modul mohl existovat samostatne, nemel krizove vazby s dalsimi
moduly, nepouzival globalni promenne a data si predaval co nejmensim
poctem jasne definovanych cest. Takovy modul pak muzes lepe testovat
nezavisle na cele aplikaci. Mel by to byt vlastne samostatny objekt,
do ktereho strcis nejaka data, a on ti je vrati zpracovana.

Pokud si dobre navrhnes komunikacni cesty, pak budes moct snaze
pridavat nove vlastnosti do programu (co ja vim, treba prehledy
atp.), o kterych ted jeste nic nevis.

Samozrejme ze tohle lze implementovat i do velkeho exace. Pokud ale
zvolis vhodny komponentovy model, ziskas tim moznost delat upravy
jednotlivych modulu na miru uzivatele (napr. pridavne zakaznicke
moduly), muzes lepe ridit distribuci (pokud si nekdo objedna jen cast
aplikace, tak mu proste nektere moduly nedodas) a podobne radovanky,
ktere ve velkem exaci dost dobre neosetris.

Zcela konkretni priklad z me praxe. Delam dochazkovy program. Puvodni
idea byla, ze vsichni budou mit vsechno. Jenze nekteri zakaznici
chteji zmenit tu tohle, tu onohle, ale individualne pro sebe, dalsim
zakaznikum to dat nemuzu. Typicky je to v pripade vymeny dat s jinymi
programy, predevsim mzdami a personalistikou. S komponentovym modelem
lze napsat individualni modul, a pak mohu vesele updatovat hlavni
aplikaci, ale zakaznicky modul muze zustat stejny a ja si ho dal uz
nevsimam, nemusim myslet na to, ze je treba udelat x kompilaci
velkeho exace pro x zakazniku. Zatim to resim ruznymi nadstavbami, to
ale neni ono.

Do komponentoveho modelu jsem predelal Lokalizator, a tim mi odpadla
rada zbytecnych starosti. Kazdou oblast mam hezky oddelenou, a kdyz
chci pridat novou vec, napisu jen novy modul. Hlavni program si nacte
jen seznam modulu, ktere jsou k dispozici, a s temi pracuje. Pokud
bych to mel ve velkem exaci, musel bych kazdy novy modul implicitne
"vprogramovat" dovnitr.
S pozdravem

Zbysek Hlinka


Dotaz na tvorbu Helpu pro Delphi apl.

[*] Petr Va�eka <pvareka(zv)mujmejl(tec)cz> - 23.10.2002 20:07:46

Zdravim kazdeho a zvlaste ty, kteri budou mit trpelivost cist muj prispevek
do konfery a popr. odpovi neco,
co bych mohl vyuzit

Posledne jsem kladl dotaz tykajici se specifik tvorby Helpu (viz dole) a
obdrzel jsem nasl. odpoved, ze ktere vsak nic nemuzu zuzitkovat, ponevadz me
schazi podrobnejsi prameny (o formatu CHM slysim poprve):> Odpoved sice neznam, na takovehle urovni jsem s HLP nedelal, ale spis me
> zajima, proc radeji nepouzijes format CHM? Jeho vytvareni je velmi
> jednoduche (postaci jakykoli free HTML editor) a de/kompilator je take
> gratis. Krome toho existuji pro Delphi komponenty, ktere umoznuji vazbu na
> ten CHM soubor s tim, ze dovoluji otevrit zvolene tema, otevrit/zavrit
celou
> napovedu atd. Format HLP se mi v soucasne dobe zda jiz prekonany.
>

Muj vcerejsi dotaz:
Zacinam s tvorbou uzivatelskych helpu a po absolvovani mnoha
bezuspenych
pokusu se
radeji obracim na konferu.
V dokumentaci jsem nasel, ze pri vytvareni textu napovedy s extensi
*.RTF
je treba vkladat poznamky pod carou.

Doslovne zde ctu: " ....Poznamek je vic, a jejich vyznam zavisi na
pouzitem
symbolu:
Symbol + ... Browse sequence, # .... Context string, atd.

Vytvoril jsem tedy ve WORD97 soubor PAMET.RTF s jednotlivymi
polozkami,
oddelil jsem je konci stranek a
pak jsem na 1. stranku vlozil poznamku pod carou se znenim
#Prohlizeni

Do projektoveho souboru PAMET.HPJ jsem vlozil nasl. sekce:
[OPTIONS]
TITLE=N�pov�da
CONTENTS=Prohl�en�
ERRORLOG=HLP.ERR
[FILES]
PAMET.RTF
[MAP]
Prohl�en� 0

Po kompilaci prostr. Microsoft Help Workshopu se objevuje varovani
(v soub.
HLP.ERR)
HC4009: Warning:
The Topic ID "Prohl�en�" specified in the Project files as the
Default
Topic does not exist.

Kde delam chybu ? Jak se vklada Context String do poznamky pod carou


Budu vdecny za odpoved (treba i v intenci tvorby HTML napoved), ktera me
privede k cili
Petr
Vareka

Jak rozdelit aplikaci?

[*] delfi <delfi(zv)pocitac(tec)net> - 23.10.2002 20:54:51

HI,
muzes objasnit jak jsi to myslel s tim .NET?
alda

----- Original Message -----
From: "Zbysek Hlinka" <hlinka(zv)hlinka(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, October 23, 2002 2:52 PM
Subject: Re: Jak rozdelit aplikaci?

> Balicky nedoporucuji, ty neresi problem. Jestli muzes pockat na .NET
> v Delphi, pak si pockej. Pokud ne, prejdi na Visual Studio nebo to
> udelej jako COM.
---
Odchoz� zpr�va neobsahuje viry.
Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.404 / Virov� b�ze: 228 - datum vyd�n�: 15.10.2002

float vs BCD v IB

[*] Pavel Zichovsky <zichovsky(zv)trul(tec)cz> - 23.10.2002 21:30:04

Zdravim,

On 23 Oct 2002 at 14:52, hlas wrote:

> Asi mas pravdu, ale zda sa mi to dost neprakticke.
> Keby som urobil v IB pole Numeric 15,2 a delphi spravilo
> pole TCurrency tak by to bolo ok.
> Ale delphi mi spravi pole TFMTBCDField a nic s nim nekomunikuje.

Protoze to pole je v IB typy Numeric, a ne Currency
jako v Paradoxu :))) I kdyz v podstate je to to same
(asopn co se tyce zpusobu ulozeni dat) :(

> To mam robit takto? :
>
> var x:currency ;
> i:integer;
>
> x:=i*filedbyname(blabla).ascurrency;

Ano, ale pokud budes tu hodnotu pole pouzivat
casteji v nekolika vypoctech, je lepsi

var x,h:currency;
i:integer;

h:=filedbyname(blabla).ascurrency;
x:=i*h;
....

> A ako vlozim to takeho pola hodnotu? Toto myslim nefunguje:
> filedbyname(blabla).value:=x;

Funguje filedbyname(blabla).ascurrency:=x;

> to mam pretypovavat cez CurrToBCD

Nemusis (viz radek vyse :))

> Dost neprijemna robota nie?
> Nebude to spomalovat, ci to je zanedbatelne?

Nevim, pouzivam pristup k polim pomoci asxxx dost
casto, a nezda se mi to pomale :-))) Ale pouzivam
to, ze kdyz tu hodnotu potrebuju nekolikrat za
sebou, tak si ji na zacatku hodim do promenne, a
zmenu do pole ukladam az na konci zpracovani.


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

Re[2]: Fwd: Funkce HttpSendRequest a predavani POS

[*] Martin Falta <martin(zv)aprog(tec)cz> - 23.10.2002 21:35:35

Hello Lukas,

LG> Skoda ze dotycny nehledal lepe a nenasel treba Synapsi, kde se to da
LG> delat velmi jednoduse a soucasti distribucniho baliku je i DEMO,
LG> ktere presne toto demonstruje.... (doslova na par radcich kodu...)

mozna jsem slepej :-), ale priklad na pouziti session jsem nenasel.
Nasel jsem priklad na POST dat na WWW server, ale pro me je
dulezitejsi ta session.

--
Best regards,
Martin mailto:martin(zv)aprog(tec)cz

Funkce HttpSendRequest a predavani POSTovanych dat

[*] Milan Cizek - 23.10.2002 22:28:30

> potreboval bych nejakou ukazku kodu s pouzitim %subj%. Jde mi o to, ze
> delam aplikaci, ktera musi komunikovat s webem a musim tam pouzit
> session. Nenasel jsem komponenty, ktery by umely to, co potrebuju, tak
> jsem se rozhodl, ze si to napisu sam s pouzitim WinInet. Ale jaksi
> jsem se zasekl na pouziti dane fce :-((
> Takze, pokud by nekdo z vas byl tak hodny a poslal mi kousek kodu, kde
> bych se mohl podivat, jak na to, budu mu velmi vdecny.

function TWebUpdate.PostUpdateInfo: string;
var Hint,Hconn,Hreq: HInternet; Header: string; Accept: array[0..28] of
Char;
Buffer: array[0..ReadBufferSize-1] of Char; BufSize: DWORD; Counter:
integer;
begin
with UpdFile.PostUpdateInfo do
begin
if (URL='') or (Action='') or (Data='') then Exit;
Header:='Content-Type: application/x-www-form-urlencoded';
StrPCopy(Accept,'text/*');

if Proxy='' then
Hint:=InternetOpen('WebUpdate',INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0)
{or INTERNET_FLAG_ASYNC }
else

Hint:=InternetOpen('WebUpdate',INTERNET_OPEN_TYPE_PROXY,PChar(Proxy),nil,0);
{or INTERNET_FLAG_ASYNC }


Hconn:=InternetConnect(Hint,PChar(URL),INTERNET_DEFAULT_HTTP_PORT,nil,nil,IN
TERNET_SERVICE_HTTP,0,1);

if Hconn<>nil then
begin
Hreq:=HttpOpenRequest(Hconn,'POST',PChar(Action),nil,nil,nil,0,1);
if Hreq<>nil then
begin
Result:='';
if
HttpSendRequest(Hreq,PChar(Header),Length(Header),PChar(Data),Length(Data))
then
begin
BufSize:=ReadBufferSize;
while (BufSize=ReadBufferSize) do
begin
if not
InternetReadFile(Hreq,(zv)Buffer,ReadBufferSize,BufSize) then Break;
if (BufSize>0) and (BufSize<=ReadBufferSize) then
for Counter:=0 to BufSize-1 do
Result:=Result+Buffer[Counter];
end;
end;
InternetCloseHandle(Hreq);
end else ToLog('Cannot access resource for post');
InternetCloseHandle(Hconn);
end else ToLog('Cannot connect to server for post');
end;
InternetCloseHandle(Hint);
end;

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

Re[2]: Fwd: Funkce HttpSendRequest a predavani POS

[*] Ludek ZITA <konference(zv)sales(tec)cz> - 23.10.2002 22:31:54


----- Original Message -----
From: "Martin Falta" <martin(zv)aprog(tec)cz>> Hello Lukas,
>
> LG> Skoda ze dotycny nehledal lepe a nenasel treba Synapsi, kde se to da
> LG> delat velmi jednoduse a soucasti distribucniho baliku je i DEMO,
> LG> ktere presne toto demonstruje.... (doslova na par radcich kodu...)
>
> mozna jsem slepej :-), ale priklad na pouziti session jsem nenasel.
> Nasel jsem priklad na POST dat na WWW server, ale pro me je
> dulezitejsi ta session.

Ahoj.
Co mas na mysli pod pojmem "session".
Http protokol je bezstavovy a zadnou "session" sam o sobe nema.
Aktivni aplikace to resi ruzne treba pomoci cookies nebo pomoci neustale
predavaneho parametru
(napr
http://www.nekde(tec)cz/aplikace.php?PHPSESSID=9fd514a5a9b6b003ac4c6aa0f0a2cd76)
kterym si webova aplikace odlisi samostatna volani a priradi si je
prislusnemu uzivateli. Tim vznikne to cemu se rika "session".
Nekdy se to jeste kombinuje a kontroluje s IP adresou klienta.
Taky dej pozor na to, ze nektere scripty muzou jeste tesotvat HTTP-RFFERER a
branit tak primemu pristupu k nim (je nutno je volat odkazem z urcite www
stranky). Potom by si musel jeste nasimulovat predani tohoto parametru.

Ludek

ADO vs XP

[*] Ludo Fulop <kexo(zv)ynet.sk> - 23.10.2002 23:44:22

zdravim, mam problem s windows XP a mojou aplikaciou vytvorenou vo winME. vo
winXP pri lubovolnom pokuse o update databazy program zhavaruje a skonci...
zhavaruje to aj na takom trivialnom SQL dotaze ako "UPDATE tabulka SET
stlpec=value WHERE volaco" :-(
napadlo ma naintalovat najnovsi MDAC, ale na M$ stranke som sa docital ze v
XP je najnovsia v. 2.7...ale bol tam nejaky patch, ktory vobec nepomohol :-(
raz to hlasi chybu v msado15.dll, pak v msdart.dll, a raz zase v
msjet40.dll, pricom jet 4 vobec nepouzivam...
kde moze byt problem?

Ludo Fulop
D6->ADO->Access

Delphi 7 Update 1 - Updated MSSQL driver and updat

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 24.10.2002 00:34:12

http://community.borland.com/article/0,1410,29209,00.html

This update for Delphi 7 contains an updated MSSQL driver that fixes the
problem with empty user names and passwords. It also fixes an issue with extra
NULL characters being added to VARCHAR columns.

Petr Vones

ZEOS library

[*] Milan ��ek - 24.10.2002 00:39:12

Ahoj,
komponenty ZEOS (Oracle,MSSQL,MySQL,Postgre,IB...) stahnes na adrese
http://www.zeoslib.org.

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

ADO vs XP

[*] Ludo Fulop <kexo(zv)ynet.sk> - 24.10.2002 03:12:52

doplnenie - chyba nie je priamo v XP, ale v MDAC, pricom pri verzii 2.5
fungovalo vsetko dobre, pri verzii 2.7 nie...(zaujimave, clovek si mysli ze
robi upgrade a robi downgrade)
vyriesil som to tak ze som ako zdroj datu pouzil jet 4.0, a nie odbc...
ale otazka, preco sa novsia verzia mdac sprava horsie ako starsia, zostava
nezodpovedana....
Ludo Fulop

----- Original Message -----
From: "Ludo Fulop" <kexo(zv)ynet.sk>
> zdravim, mam problem s windows XP a mojou aplikaciou vytvorenou vo winME.
vo
> winXP pri lubovolnom pokuse o update databazy program zhavaruje a
skonci...
> raz to hlasi chybu v msado15.dll, pak v msdart.dll, a raz zase v
> msjet40.dll

Odchyceni DBError nevyplnena polozka X na IB/FB

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 24.10.2002 06:30:46

> Aldik na to:
> Spis nahradit vlastni hlaskou!! No ale tohle bude zatim stacit udelam
> si vlastni hlasku na on validate ci jak se to zove

Jina, i kdyz vlastne podobna moznost, je v BeforePost projet
povinne fieldy a reagovat, napr. takto (jen naznaceny princip reseni):

for i := 0 to Dataset.FieldCount - 1 do
if Dataset.Fields[i].Required then
begin
ShowMessage(Format('Pole %s nen� vypln�no.',
[Dataset.Fields[i].DisplayLabel]));
exit;
end;

Pripadne se vybodnout na Required a sam si stanovit i dalsi pole,
ktera jsou povinna z principu veci.

David Lebeda

>
> >David Lebeda:
> >Jestli jde o to, jak to potlacit, tak kazdy field ma property
> >Required, tu staci shodit. Bud v dobe navrhu nebo za behu
>
> >Dataset.FieldByName('cosi').Required := False, umistit napr. do
> >AfterOpen na datasetu.
>
>

Dotaz na tvorbu Helpu pro Delphi apl.

[*] Vaclav Riha - Soft Consult <vaclav_riha(zv)softconsult(tec)cz> - 24.10.2002 06:36:25

Nikdy bych to nedelal na urovni RTF. Doporucuji Help and Manual www.helpandmanual.com. Je sice placeny ale vyborny. 14 dni funguje zdarma.

S pozdravem Vaclav Riha

-----P�vodn� zpr�va-----
Od: Petr Va�eka [SMTP:pvareka(zv)mujmejl(tec)cz]
Odesl�no: 23. ��jna 2002 20:08
Komu: delphi-l(zv)clexpert(tec)cz
P�edm�t: Dotaz na tvorbu Helpu pro Delphi apl.

Zdravim kazdeho a zvlaste ty, kteri budou mit trpelivost cist muj prispevek
do konfery a popr. odpovi neco,
co bych mohl vyuzit

Posledne jsem kladl dotaz tykajici se specifik tvorby Helpu (viz dole) a
obdrzel jsem nasl. odpoved, ze ktere vsak nic nemuzu zuzitkovat, ponevadz me
schazi podrobnejsi prameny (o formatu CHM slysim poprve):> Odpoved sice neznam, na takovehle urovni jsem s HLP nedelal, ale spis me
> zajima, proc radeji nepouzijes format CHM? Jeho vytvareni je velmi
> jednoduche (postaci jakykoli free HTML editor) a de/kompilator je take
> gratis. Krome toho existuji pro Delphi komponenty, ktere umoznuji vazbu na
> ten CHM soubor s tim, ze dovoluji otevrit zvolene tema, otevrit/zavrit
celou
> napovedu atd. Format HLP se mi v soucasne dobe zda jiz prekonany.
>

Muj vcerejsi dotaz:
Zacinam s tvorbou uzivatelskych helpu a po absolvovani mnoha
bezuspenych
pokusu se
radeji obracim na konferu.
V dokumentaci jsem nasel, ze pri vytvareni textu napovedy s extensi
*.RTF
je treba vkladat poznamky pod carou.

Doslovne zde ctu: " ....Poznamek je vic, a jejich vyznam zavisi na
pouzitem
symbolu:
Symbol + ... Browse sequence, # .... Context string, atd.

Vytvoril jsem tedy ve WORD97 soubor PAMET.RTF s jednotlivymi
polozkami,
oddelil jsem je konci stranek a
pak jsem na 1. stranku vlozil poznamku pod carou se znenim
#Prohlizeni

Do projektoveho souboru PAMET.HPJ jsem vlozil nasl. sekce:
[OPTIONS]
TITLE=N�pov�da
CONTENTS=Prohl�en�
ERRORLOG=HLP.ERR
[FILES]
PAMET.RTF
[MAP]
Prohl�en� 0

Po kompilaci prostr. Microsoft Help Workshopu se objevuje varovani
(v soub.
HLP.ERR)
HC4009: Warning:
The Topic ID "Prohl�en�" specified in the Project files as the
Default
Topic does not exist.

Kde delam chybu ? Jak se vklada Context String do poznamky pod carou


Budu vdecny za odpoved (treba i v intenci tvorby HTML napoved), ktera me
privede k cili
Petr
Vareka

Shared Formv SO (Kylix)

[*] �tevl�k Mari�n <Marian.Stevlik(zv)merlin(tec)cz> - 24.10.2002 07:20:50

Cau cau
Robil som teraz v Kylixe jedno SO i s formularmi. Sice islo o MDIChild
formulare (ale to asi velmi nevadi) a normalne mi to bezi
Sice HostApp je tiez napisana v Kylixe a je tam pouzity system (ako normalne
v Delphi) t.j. HostApp i SO je buildnute s run-time balickami

Stevlik Marian
Software Development Specialist
MERLIN
Stefanikova 32
150 00 Prague 5
Czech Republic
e-mail: marian.stevlik(zv)merlin(tec)cz
tel: +420 241010111 (181)
fax: +420 241010165
icq: 38493645

-----P�vodn� zpr�va-----
Od: p.sestak(zv)corag.sk [mailto:p.sestak(zv)corag.sk]
Odesl�no: 23. ��jna 2002 14:06
Komu: delphi-l(zv)clexpert(tec)cz
P�edm�t: OT: �ek�n� programu na skon�en� ShellExecuce


skoda, ze sa takato burka odpovedi nestrhla, ked som potreboval
vediet, ako urobit samostatny formular v shared objekte (obdoba dll pod
linuxom)
v kylixe.
hmm, smola ze nie som zena
;o)

Dotaz na tvorbu Helpu pro Delphi apl.

[*] Pavel Gazda <Pavel.Gazda(zv)seznam(tec)cz> - 24.10.2002 08:03:01

Ahoj

> Posledne jsem kladl dotaz tykajici se specifik tvorby Helpu (viz dole) a
> obdrzel jsem nasl. odpoved, ze ktere vsak nic nemuzu zuzitkovat, ponevadz
me
> schazi podrobnejsi prameny (o formatu CHM slysim poprve):

Format *.CHM lze chapat jako komprimovany HTML format a pouziva se misto
*.HLP.
Tedy vytvoris stranky HTML a vpodstate mas help hotovy.

> The Topic ID "Prohl�en�" specified in the Project files as the
> Default
> Topic does not exist.
>

Pri tvorbe *.HLP byly problemy s verzemi Wordu, RTF, MS Help Workshopu.
Myslim, ze existoval nejaky SW, ktery byl trochu prehlednejsi a dalo se z
neho
presne pochopit, jak je potreba co zadefinovat, aby to prekladac pochopil

Konkretne k tve otazce:
Otevri si projekt a zkontroluj vsechna nastaveni, z odkazu vyhod
diakritiku.

Pavel

float vs BCD v IB

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 24.10.2002 08:06:46

Ahoj,

hlas dne 23 Oct 2002 v 14:52:

> Asi mas pravdu, ale zda sa mi to dost neprakticke.
> Keby som urobil v IB pole Numeric 15,2 a delphi spravilo
> pole TCurrency tak by to bolo ok.
> Ale delphi mi spravi pole TFMTBCDField a nic s nim nekomunikuje.

myslim ze jsem nekde videl zminku, ze starsi IBX komponenty se takto chovaly. Novejsi verze mi
vytvari tIBBCDField, ktere vraci hodnotu typu currency.

Karel Rys

Dotaz na tvorbu Helpu pro Delphi apl.

[*] Ing. Jan Dvorak <dvorak(zv)szu(tec)cz> - 24.10.2002 08:09:00

Na tvorbu win helpu existuje perfektn� freeware nastroj
SHALOMHELP. Ziskas jej na adrese
http://www.danish-shareware.dk/soft/shelpm/index.html

>
> Zdravim kazdeho a zvlaste ty, kteri budou mit trpelivost
cist
> muj prispevek
> do konfery a popr. odpovi neco,
> co bych mohl vyuzit
>
> Posledne jsem kladl dotaz tykajici se specifik tvorby
Helpu
> (viz dole) a
> obdrzel jsem nasl. odpoved, ze ktere vsak nic nemuzu
> zuzitkovat, ponevadz me
> schazi podrobnejsi prameny (o formatu CHM slysim poprve):
>

CASTKA SLOVY

[*] Petr Jansky <delphi(zv)amzdy(tec)cz> - 24.10.2002 08:20:59

Ahoj!

Kdysi jsem toto delal v R/BASICu. Prepsat do Pascalu by nemel byt problem.
Halire tam sice nemam, ale daji se jednoduse pridat.
Pokud mas zajem, ozvi se na soukromy mail: p.jansky(zv)amzdy(tec)cz


----- Original Message -----
From: "LUKES V�clav" <lukes(zv)ans(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, October 23, 2002 10:22 AM
Subject: CASTKA SLOVY


Ahoj,

mam D6 a Win 2000.
Prevadel jste prosim nekdo castku na castku slovy ? Napr. 5.10 Kc a pet
korun deset haleru ???

Diky

V.


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

Algoritmus na p�evod �esk�ho jm�na a p�� j

[*] Koh�k Jaroslav <jaroslav.kohak(zv)dites(tec)cz> - 24.10.2002 08:40:10

Ja myslim, ze by to slo!
Tech moznosti neni mnoho, takze zadnou databazi nepotrebujes.
Vsechny holky osetri zmena posledniho pimene A na O. U muzskejch je to jen o
neco slozitejsi.
A na O (Jara -> Jaro), � na I (Tom� -> Tom�i) a v ostatnich pripadech je
vzdy zmena na E.
To neni tak hrozny ne ?!
Jarda

----- Original Message -----
From: "David Kraina" <DKx(zv)seznam(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, October 23, 2002 10:12 AM
Subject: Re: Algoritmus na p�evod �esk�ho jm�na a p�� jmen� do 2. nebo 5.
p�du


Dne 22. ��jen 2002, <delphi-l(zv)clexpert(tec)cz> napsal:
> hledam algoritmus, ktery by dokazal prevest jmeno a prijmeni z prvniho
padu do 2. nebo 5. padu. Kdysi davno jsem to videl v Basicu v knizce
Programatorske perlicky. Nemate nekdo neco takoveho ?

Na to algoritmus neexistuje - muze to byt leda jen rozsahla databaze
moznosti, protoze je Honza bez Honzy, ale nemuze byt Jakub bez Jakuby
a to nemluvim o prijmeni. Musis zmenit tu vetu - misto "Budu zit bez
Honzy" musis napsat "V mem zivote se uz nevyskytne Honza". Jinak to
fakt nejde.
DKx.

______________________________________________________________________
Reklama:
FIMFARUM - Cesky celovecerni loutkovy film na motivy pohadek Jana Wericha.
www.fimfarum(tec)cz V kinech od 28. listopadu. http://www.fimfarum(tec)cz


Algoritmus na

[*] tomsir1.edu(zv)mail.cez(tec)cz - 24.10.2002 08:46:47


Radek -> Radku, Marek -> Marku, a co treba Jan -> Jene ... , Ji�� -> Ji��
...

Radek

Koh�k Jaroslav <jaroslav.kohak(zv)dites(tec)cz>(zv)clexpert(tec)cz on 24.10.2002 08:40:10

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

Odesl�no k�m: delphi-l-owner(zv)clexpert(tec)cz


Komu: <delphi-l(zv)clexpert(tec)cz>
Kopie:
P�edm�t: Re: Algoritmus na p�evod �esk�ho jm�na a p�� jmen� do 2.
nebo 5. p�du


Ja myslim, ze by to slo!
Tech moznosti neni mnoho, takze zadnou databazi nepotrebujes.
Vsechny holky osetri zmena posledniho pimene A na O. U muzskejch je to jen
o
neco slozitejsi.
A na O (Jara -> Jaro), � na I (Tom� -> Tom�i) a v ostatnich pripadech je
vzdy zmena na E.
To neni tak hrozny ne ?!
Jarda

----- Original Message -----
From: "David Kraina" <DKx(zv)seznam(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, October 23, 2002 10:12 AM
Subject: Re: Algoritmus na p�evod �esk�ho jm�na a p�� jmen� do 2. nebo 5.
p�du


Dne 22. ��jen 2002, <delphi-l(zv)clexpert(tec)cz> napsal:
> hledam algoritmus, ktery by dokazal prevest jmeno a prijmeni z prvniho
padu do 2. nebo 5. padu. Kdysi davno jsem to videl v Basicu v knizce
Programatorske perlicky. Nemate nekdo neco takoveho ?

Na to algoritmus neexistuje - muze to byt leda jen rozsahla databaze
moznosti, protoze je Honza bez Honzy, ale nemuze byt Jakub bez Jakuby
a to nemluvim o prijmeni. Musis zmenit tu vetu - misto "Budu zit bez
Honzy" musis napsat "V mem zivote se uz nevyskytne Honza". Jinak to
fakt nejde.
DKx.

______________________________________________________________________
Reklama:
FIMFARUM - Cesky celovecerni loutkovy film na motivy pohadek Jana Wericha.
www.fimfarum(tec)cz V kinech od 28. listopadu. http://www.fimfarum(tec)cz

Heslo a PDF

[*] KALUS Jozef <jozef.kalus(zv)spordat.sk> - 24.10.2002 09:01:31

mali sme problemy z mailom, takze este raz:

ak ma niekto zaujem o program na odblokovanie "zabudnuteho hesla" PDF
nech mi hodi mail na mailto:jozef.kalus(zv)spordat.sk

joka

-----Original Message-----
From: "Netu�il, Roman, Ing." [mailto:Netusil.Roman(zv)vspardubice(tec)cz]
Sent: Wednesday, October 23, 2002 10:36 AM
To: DELPHI-Konference (el. adresa)
Subject: OT: Heslo a PDF


Panove,
nevite nekdo jak otevrit PDF dokument se zapomenutym heslem.

Roman

__________ Informacia od NOD32 1.320 (20021022) __________

Tato sprava bola preverena systemom NOD32 pre Exchange.
http://www.eset.sk


Algoritmus na p�evod �esk�ho jm�na a p�� j

[*] Petr Langer <langer(zv)xdom(tec)cz> - 24.10.2002 09:07:50

Tusim, ze to vidis moc ruzove, namatkou co Pavel, Petr, atd. Myslim ale, ze
i tak se v tom daji najit pravidla. A rekl bych, ze podobne by to bylo i s
prijmenima - podle poslednich dvou tri pismen by se dala najit pravidla a
podle mne by jich bylo tak do desitky.

Petr

----- Original Message -----
From: "Koh�k Jaroslav" <jaroslav.kohak(zv)dites(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, October 24, 2002 8:40 AM
Subject: Re: Algoritmus na p�evod �esk�ho jm�na a p�� jmen� do 2. nebo 5.
p�du


> Ja myslim, ze by to slo!
> Tech moznosti neni mnoho, takze zadnou databazi nepotrebujes.
> Vsechny holky osetri zmena posledniho pimene A na O. U muzskejch je to jen
o
> neco slozitejsi.
> A na O (Jara -> Jaro), � na I (Tom� -> Tom�i) a v ostatnich pripadech je
> vzdy zmena na E.
> To neni tak hrozny ne ?!
> Jarda
>
> ----- Original Message -----
> From: "David Kraina" <DKx(zv)seznam(tec)cz>
> To: <delphi-l(zv)clexpert(tec)cz>
> Sent: Wednesday, October 23, 2002 10:12 AM
> Subject: Re: Algoritmus na p�evod �esk�ho jm�na a p�� jmen� do 2. nebo 5.
> p�du
>
>
> Dne 22. ��jen 2002, <delphi-l(zv)clexpert(tec)cz> napsal:
>
>
> > hledam algoritmus, ktery by dokazal prevest jmeno a prijmeni z prvniho
> padu do 2. nebo 5. padu. Kdysi davno jsem to videl v Basicu v knizce
> Programatorske perlicky. Nemate nekdo neco takoveho ?
>
> Na to algoritmus neexistuje - muze to byt leda jen rozsahla databaze
> moznosti, protoze je Honza bez Honzy, ale nemuze byt Jakub bez Jakuby
> a to nemluvim o prijmeni. Musis zmenit tu vetu - misto "Budu zit bez
> Honzy" musis napsat "V mem zivote se uz nevyskytne Honza". Jinak to
> fakt nejde.
> DKx.
>
> ______________________________________________________________________
> Reklama:
> FIMFARUM - Cesky celovecerni loutkovy film na motivy pohadek Jana Wericha.
> www.fimfarum(tec)cz V kinech od 28. listopadu. http://www.fimfarum(tec)cz
>
>
>

Algoritmus na p�evod �esk�ho jm�na a p

[*] Andreas Bednarek <bednarek(zv)digitus(tec)cz> - 24.10.2002 09:08:19

No asi by to chtelo trosku rozsirit.
jen k 5. p�du:

PetR Pet�E
Zby�EK Zby�KU (Radek Radku)
Jan Jene
Ji�� Ji��
Lucie Lucie
Alice Alice

no a podobne, mysl�m si, �e nakonec ur�it� vznikne mal� tabulka vyj�mek.

A.

> Ja myslim, ze by to slo!
> Tech moznosti neni mnoho, takze zadnou databazi nepotrebujes.
> Vsechny holky osetri zmena posledniho pimene A na O. U muzskejch je to jen
o
> neco slozitejsi.
> A na O (Jara -> Jaro), � na I (Tom� -> Tom�i) a v ostatnich pripadech je
> vzdy zmena na E.
> To neni tak hrozny ne ?!
> Jarda
>
> ----- Original Message -----
> From: "David Kraina" <DKx(zv)seznam(tec)cz>
> To: <delphi-l(zv)clexpert(tec)cz>
> Sent: Wednesday, October 23, 2002 10:12 AM
> Subject: Re: Algoritmus na p�evod �esk�ho jm�na a p�� jmen� do 2. nebo 5.
> p�du
>
>
> Dne 22. ��jen 2002, <delphi-l(zv)clexpert(tec)cz> napsal:
>
>
> > hledam algoritmus, ktery by dokazal prevest jmeno a prijmeni z prvniho
> padu do 2. nebo 5. padu. Kdysi davno jsem to videl v Basicu v knizce
> Programatorske perlicky. Nemate nekdo neco takoveho ?
>
> Na to algoritmus neexistuje - muze to byt leda jen rozsahla databaze
> moznosti, protoze je Honza bez Honzy, ale nemuze byt Jakub bez Jakuby
> a to nemluvim o prijmeni. Musis zmenit tu vetu - misto "Budu zit bez
> Honzy" musis napsat "V mem zivote se uz nevyskytne Honza". Jinak to
> fakt nejde.
> DKx.
>
> ______________________________________________________________________
> Reklama:
> FIMFARUM - Cesky celovecerni loutkovy film na motivy pohadek Jana Wericha.
> www.fimfarum(tec)cz V kinech od 28. listopadu. http://www.fimfarum(tec)cz
>
>

SQLStoredProc

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 24.10.2002 09:11:19

> From: "LUKES V�clav" <lukes(zv)ans(tec)cz>
> nemate prosim nekdo priklad na pouziti SQLStoredProc ? Stale mi to pise, ze
> operace neni podporovana.

> Odes�latel: Koh�k Jaroslav <jaroslav.kohak(zv)dites(tec)cz>
> Pouzij komponentu TStoredProc a vypln ji databasename a StoredProcName (ten

Pozor, v subjektu je TSQLStoredProc, navrhovane reseni jde pres BDE.

S dbExpress sice nedelam, ale neni mi znamo, ze by TSQLStoredProc mela nejaka podobna omezeni jako SQLDataSet, SQLTable, SQLQuery vyplyvajici z "unidirectional".
Problem je treba lepe specifikovat - kdy to pise nejake to "not supported"?

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. 493 792 931 (mobil 776 347735)
=========================================

About

[*] Andreas Bednarek <bednarek(zv)digitus(tec)cz> - 24.10.2002 09:13:27

Ahoj,

Chci do aplikace za�adit About dialog a mam 3 otazky:

1. nevite, jak za b�hu aplikace zjistit informace o jej� verzi? Nikde jsem
to nena�el.
2. Jak z aplikace spustit browser, aby otev�el konkr�tn� str�nku www?
3. Podobn�, jak spustit default mail klienta, resp. okno Nov� zpr�va s
nastavenou c�lovou e-mail adresou?

d�ky z ka�dou radu
Andreas (D4, W98)

Algoritmus na p�evod �esk�ho jm�na a p�� jmen� do

[*] Pavel Zichovsky <zichovsky(zv)trul(tec)cz> - 24.10.2002 09:15:30

Zdravim

On 24 Oct 2002 at 8:46, tomsir1.edu(zv)mail.cez(tec)cz
wrote:

> Radek -> Radku, Marek -> Marku, a co treba Jan -> Jene ... , Ji�� -> Ji��

Pavel -> Pavle, Petr -> Pet�e (r s hackem :))

Bude konecny pocet typu "konec jmena"->"zmena
jmena", ale urcite jich nebude jen par.

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

About

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 24.10.2002 09:20:33

1. Tato funkce je v JCL, bohuzel si ale nepamatuji nazev - snad
GetFileVersion apod.
2. a 3. Pres funkci ShellExecute, adresa stranky i mailova adresa se
vkladaji jako jeden z parametru.

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
D&COMM s.r.o.
Korunova�n� 6
Praha 7
tel. +420724007234

Subject: About

1. nevite, jak za b�hu aplikace zjistit informace o jej� verzi?
Nikde jsem
to nena�el.
2. Jak z aplikace spustit browser, aby otev�el konkr�tn� str�nku
www?
3. Podobn�, jak spustit default mail klienta, resp. okno Nov� zpr�va
s
nastavenou c�lovou e-mail adresou?

Dotaz na tvorbu Helpu pro Delphi apl.

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

> Odes�latel: Petr Va�eka <pvareka(zv)mujmejl(tec)cz>
> Posledne jsem kladl dotaz tykajici se specifik tvorby Helpu (viz dole) a
> obdrzel jsem nasl. odpoved, ze ktere vsak nic nemuzu zuzitkovat, ponevadz me
> schazi podrobnejsi prameny (o formatu CHM slysim poprve):

.chm je kompilovany .html

Nastoje pro kompilaci jsou standardni od MS, odkaz ke stazeni tu nekde probehl, z hlavy ho nevim.

Jenom pro predstavu: jako pokus jsem vzal svoje kompletni web stranky, prohnal jsem je pres kompilator a dostal jsem .chm "help", ktery lze standardne prohlizet, vcetne vsech obrazku, odkazu na jine URL atd.

Z Delphi se s tim pracuje take standardne, odkazy tu nekde probehly, z hlavy je nevim.
Viz tez nase kurzy Delphi :-)

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. 493 792 931 (mobil 776 347735)
=========================================

dll soubory

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 24.10.2002 09:39:34

> Odes�latel: Petr Vones <pvones(zv)mbox.vol(tec)cz>
> Jinak by jsi musel DLL nahravat dynamicky,
> coz v Delphi znamena psat spoustu dalsiho kodu navic

No, az tak strasne to neni :-)

LoadLibrary, GetProcAddress, ...
Viz tez nase kurzy Delphi :-)

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. 493 792 931 (mobil 776 347735)
=========================================

OT: Cek�n� programu na skon�en� ShellExecuc

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

> Odes�latel: p.sestak(zv)corag.sk
> skoda, ze sa takato burka odpovedi nestrhla, ked som potreboval
> vediet, ako urobit samostatny formular v shared objekte (obdoba dll pod
> linuxom) v kylixe.
> hmm, smola ze nie som zena

Hmm, jenze tady se mluvilo o Windows :-)

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. 493 792 931 (mobil 776 347735)
=========================================

Algoritmus na p�evod �esk�ho jm�na a p

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 24.10.2002 09:46:38

IkplbmUiLCB0YWsgcGVrbmUgbWkgdXogaG9kbmUgZGxvdWhvIG5pa2RvIG5lcmVrbCAgOi0pDQpK
YSBieWNoIHRhbSByYWRzaSBuZWNoYWwgIkphbmUiDQoNCi0tIA0KaW5nLiBKYW4gRmlhbGENCm1h
aWx0bzpqYW4uZmlhbGFAaW9sLmN6DQoNCjI0LjEwLjIwMDIgdG9tc2lyMS5lZHVAbWFpbC5jZXou
Y3o6DQoNCj4gUmFkZWsgLT4gUmFka3UsIE1hcmVrIC0+IE1hcmt1LCAgYSBjbyB0cmViYSBKYW4g
LT4gSmVuZSAuLi4gLCBKafjtIC0+IEpp+O0NCg0KDQog

Algoritmus na prevod ceskeho jmena a pri jmeni do

[*] Tom Beran <assas(zv)bonbon(tec)net> - 24.10.2002 09:12:42

> Vsechny holky osetri zmena posledniho pimene A na O. U
> muzskejch je to jen o neco slozitejsi. A na O (Jara -> Jaro),

No vsechny holky asi ne. Jsou take jmena nesklonna, napr.: Noemi, Ingrid, Miriam. Jsou jsmena cizacka, ktera nekonci na a, napr.: Xenie, Anastazie, Lydie ...
A jsou jmena atypicka, napriklad jedna pani se jmenuje Nadeje (nekecam, zkuste si najit v Google "Nadeje Mandysova").


Takze s tim zjednodusovanim, prrrr.

T.

OT: =?iso-8859-1?Q?Cek=E1n=ED_programu_na_skon=E8

[*] p.sestak(zv)corag.sk - 24.10.2002 10:14:20

takze na vysvetlenie:
svojou poznamkou som nechcel na nikoho utocit ani nikoho nahnevat - dufam
ze sa mi to nepodarilo.
bola to len cira reflexia na to, ze do tejto diskusie prispela svojou
otazkou aj zena a pri tom som
vyuzil jednu moju otazku, na ktoru som nedostal dovtedy ziadnu odpoved.
samozrejme nemam ani nic proti zenam, som rad ked sa programovaniu
nevenuje len
muzska cast populacie.

>Hmm, jenze tady se mluvilo o Windows :-)
>
>Honza

About

[*] Tom� Janta��������{����Y��̿ - 24.10.2002 10:17:10


> Chci do aplikace za�adit About dialog a mam 3 otazky:
> 1. nevite, jak za b�hu aplikace zjistit informace o jej� verzi? Nikde jsem
> to nena�el.

function TfAbout.GetFileVersion: String;
var
Size, Size2: DWord;
Pt, Pt2: Pointer;
MajorVersion, MinorVersion, ReleaseVersion, BuildVersion : string;
begin
Size := GetFileVersionInfoSize ( PChar( Application.EXEName ), Size2);
if Size <= 0 then { soubor zadaneho jmena sice existuje,
ale neobsahuje informace o verzi }
begin
Result := '';
Exit;
end;
{ vse je OK, muzu zacit plnit vnitrni promenne }
GetMem (Pt, Size);
try
GetFileVersionInfo (PChar ( Application.EXEName), 0, Size, Pt);
// pevne informace
VerQueryValue (Pt, '\', Pt2, Size2);
with TVSFixedFileInfo (Pt2^) do
begin
MajorVersion := IntToStr (HiWord (dwFileVersionMS));
MinorVersion := IntToStr (LoWord (dwFileVersionMS));
ReleaseVersion := IntToStr (HiWord (dwFileVersionLS));
BuildVersion := IntToStr (LoWord (dwFileVersionLS));
end;
finally
FreeMem (Pt);
end;
Result := MajorVersion + '.' + MinorVersion + '.' + ReleaseVersion + '.'
+ BuildVersion;
end;> 2. Jak z aplikace spustit browser, aby otev�el konkr�tn� str�nku www?
ShellExecute(Application.Handle, 'open',
PCHar('http:\\www.papouch.com'),'', '', sw_showMaximized)

> 3. Podobn�, jak spustit default mail klienta, resp. okno Nov� zpr�va s
> nastavenou c�lovou e-mail adresou?

ShellExecute(Application.Handle, 'open', PCHar('mailto:
papouch(zv)papouch.com'),'', '', sw_showMaximized);

Tomas Jantac

PaPouch elektronika
www.papouch.com

Jak rozdelit aplikaci?

[*] Marek Eichler <marek.eichler(zv)seznam(tec)cz> - 24.10.2002 10:17:03

Zdravim,

> Balicky nedoporucuji, ty neresi problem. Jestli muzes pockat na .NET
> v Delphi, pak si pockej. Pokud ne, prejdi na Visual Studio nebo to
> udelej jako COM.

Proc balicky ne. Preci kdyz si vytvorim plug-inovy system pomoci
balicku,dostavam stejnou funkcionalitu jako kdyz pouziju COM. Taky mam
zaklad aplikace, ke ktere muzu dynamicky pridavat funkcionalitu, podle toho,
jaky nahrahu balicek a i udrzovani takoveho kodu je jednodussi.

> S pozdravem
>
> Zbysek Hlinka


S pozdravem Marek Eichler

Algoritmus na p�evod �esk�ho jm�na a p�� j

[*] Koh�k Jaroslav <jaroslav.kohak(zv)dites(tec)cz> - 24.10.2002 10:19:06

No dobre, tak tam jeste pridas K->U a asi i par vyjimek, ale nemyslim ze by
toho bylo tak moc ;o{
Jarda

----- Original Message -----
From: <tomsir1.edu(zv)mail.cez(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, October 24, 2002 8:46 AM
Subject: Re: Algoritmus na p�evod �esk�ho jm�na a p�� jmen� do 2. nebo 5.
p�du



Radek -> Radku, Marek -> Marku, a co treba Jan -> Jene ... , Ji�� -> Ji��
...
Radek


Komu: <delphi-l(zv)clexpert(tec)cz>
Kopie:
P�edm�t: Re: Algoritmus na p�evod �esk�ho jm�na a p�� jmen� do 2.
nebo 5. p�du

Ja myslim, ze by to slo!
Tech moznosti neni mnoho, takze zadnou databazi nepotrebujes.
Vsechny holky osetri zmena posledniho pimene A na O. U muzskejch je to jen
o
neco slozitejsi.
A na O (Jara -> Jaro), � na I (Tom� -> Tom�i) a v ostatnich pripadech je
vzdy zmena na E.
To neni tak hrozny ne ?!
Jarda

----- Original Message -----
From: "David Kraina" <DKx(zv)seznam(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, October 23, 2002 10:12 AM
Subject: Re: Algoritmus na p�evod �esk�ho jm�na a p�� jmen� do 2. nebo 5.
p�du


Dne 22. ��jen 2002, <delphi-l(zv)clexpert(tec)cz> napsal:
> hledam algoritmus, ktery by dokazal prevest jmeno a prijmeni z prvniho
padu do 2. nebo 5. padu. Kdysi davno jsem to videl v Basicu v knizce
Programatorske perlicky. Nemate nekdo neco takoveho ?

Na to algoritmus neexistuje - muze to byt leda jen rozsahla databaze
moznosti, protoze je Honza bez Honzy, ale nemuze byt Jakub bez Jakuby
a to nemluvim o prijmeni. Musis zmenit tu vetu - misto "Budu zit bez
Honzy" musis napsat "V mem zivote se uz nevyskytne Honza". Jinak to
fakt nejde.
DKx.

______________________________________________________________________
Reklama:
FIMFARUM - Cesky celovecerni loutkovy film na motivy pohadek Jana Wericha.
www.fimfarum(tec)cz V kinech od 28. listopadu. http://www.fimfarum(tec)cz


Algoritmus na prevod ceskeho jmena a pri jmeni do

[*] Benes Jaroslav <JBenes(zv)cpoj(tec)cz> - 24.10.2002 10:19:30

Myslim ze neni problem najit v databazi druhy pad jmena ale problemem bude 'konecna' mnozina 'vsech' jmen (slov) a jejich tvaru v cestine (u cizich jmen ani nemluvit, je to i otazkou prepisu z jazyka z ktereho k nam prijdou). S temihle problemy se asi potykaji i tvurci ruznych spelleru a programu pro kontrolu gramatiky. Doba sice pokrocila, procesory zrychlily, ale obecne pouzitelna kontrola gramatiky v cestine, napriklad ve Wordu, neexistuje nebo je porad v plenkach.
Zdravim
Jaro B.

-----Original Message-----
From: Tom Beran [mailto:assas(zv)bonbon.net]
>> Vsechny holky osetri zmena posledniho pimene A na O. U
>> muzskejch je to jen o neco slozitejsi. A na O (Jara -> Jaro),
>No vsechny holky asi ne. Jsou take jmena nesklonna, napr.: Noemi, Ingrid, Miriam. Jsou jsmena
>cizacka, ktera nekonci na a, napr.: Xenie, Anastazie, Lydie ...
>A jsou jmena atypicka, napriklad jedna pani se jmenuje Nadeje (nekecam, zkuste si najit v Google "Nadeje Mandysova").
>Takze s tim zjednodusovanim, prrrr.

About

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 24.10.2002 10:28:26

Hello Andreas,

Thursday, October 24, 2002, 9:13:27 AM, you wrote:

AB> Ahoj,

AB> Chci do aplikace za�adit About dialog a mam 3 otazky:

AB> 1. nevite, jak za b�hu aplikace zjistit informace o jej� verzi? Nikde jsem
AB> to nena�el.

tohle je na zjisteni verze souboru

function GetFileVersion(Soubor: String): String;
const
VerFixedInfo: PChar = '\';
var
Size : DWORD;
Sz : ULONG;
Handle: THandle;
Buffer: string;
FFixedBuffer: PVSFixedFileInfo;
begin
Size := GetFileVersionInfoSize(PChar(Soubor), Handle);
if Size > 0 then
begin
SetLength(Buffer, Size);
GetFileVersionInfo(PChar(Soubor), Handle, Size, PChar(Buffer));
end;
VerQueryValue(PChar(Buffer), VerFixedInfo, Pointer(FFixedBuffer), Sz);

with FFixedBuffer^ do
begin
Result:= IntToStr(dwFileVersionMS shr 16) + '.';
Result:= Result + IntToStr(dwFileVersionMS and $FFFF) + '.';
Result:= Result + IntToStr(dwFileVersionLS shr 16) + '.';
Result:= Result + IntToStr(dwFileVersionLS and $FFFF);
end;
end;

AB> 2. Jak z aplikace spustit browser, aby otev�el konkr�tn� str�nku www?

ShellExecute

AB> 3. Podobn�, jak spustit default mail klienta, resp. okno Nov� zpr�va s
AB> nastavenou c�lovou e-mail adresou?

pres mailto:

AB> d�ky z ka�dou radu
AB> Andreas (D4, W98)


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

RxRichEdit na win 2000/XP

[*] Ing. Igor Vodi�ka <vodicka(zv)sagit(tec)cz> - 24.10.2002 10:30:26

Zdravim vas kolegove!

Pouzivam komponentu RxRichEdit a zjistil jsem, ze v aplikacich, kde je
pouzita, pri behu na win 2000 nebo XP nefunguje aktivace PopupMenu, i kdyz
je komponente prirazena. Na win 98 je vse OK. Nevite nekdo cim to je.
Pouzival verzi 2.75. Z konference jsem zjistil, ze RxLib je ted integrovana
do JVCL, mozna je to tam uz upravene. Dnes jsem se pokousel z
jvcl.sourceforge.net neco stahnout, ale stranky nefunguji 100%.

Prvne jsem myslel, ze to muze byt ovledacem mysi, ale na jinem PC je to
stejne.

Pouzivan D5 prof na w2000.

Ing. Igor Vodicka
informacni systemy
Nakladatelstvi Sagit
Tel.: 59 6786 001
HTTP://www.sagit(tec)cz/
---
Odchoz� zpr�va neobsahuje viry.
Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.404 / Virov� b�ze: 228 - datum vyd�n�: 15.10.2002

Algoritmus na p�evod �esk�ho jm�n

[*] CERMAK <CERMAK(zv)procom(tec)cz> - 24.10.2002 10:32:53

Ahoj vsichni

Jako student na skole jsem cosi slysel o strojovem uceni, a myslim ze by slo
pouzit. Stacilo by vytvorit dostatecne velkou databazi jmen, jejich prvnich,
druhych a patych padu a postvat na ne algoritmus, ktery dokaze generovat
pravidla pro tvoreni, bud v prologu, nebo pomoci gramatiky. Tim by se
vytvoril algoritmus na prevod. Problem je vybrat dostatecne reprezentativni
mnozinu jmen. Na tom jaka bude, zavisi spolehlivost vznikleho algoritmu. Ten
pokryje vsechna jmena v mnozine a vetsinu tech ktere nejsou obsazeny, ale ty
jen s jistou spolehlivosti. Otazka je. Nezabyval se tim nekdo podrobneji?
Existuje pripadne program ktery by to umel? Berte to jako povzbuzeni k
diskusi.


Jaromir Cermak



-----Original Message-----
No dobre, tak tam jeste pridas K->U a asi i par vyjimek, ale nemyslim ze by
toho bylo tak moc ;o{
Jarda

Jak rozdelit aplikaci?

[*] Macko Martin <martin.macko(zv)m-pro(tec)cz> - 24.10.2002 10:38:01

Je nejaky rozdil v zapisu:

var f: TMyForm;

f := TMyForm.Create(self);
f.ShowModal;
f.Free;

nebo s pouzitim globalni promenne:

MyForm := TMyForm.Create(self);
MyForm.ShowModal;
MyForm.Free;

?

-----Original Message-----
From: Petr Vones [mailto:pvones(zv)mbox.vol(tec)cz]
Sent: Wednesday, October 23, 2002 1:10 PM
To: Konference Delphi
Subject: Re: Jak rozdelit aplikaci?


From: "CERMAK" <CERMAK(zv)procom(tec)cz>
> Mam velkou databazovou aplikaci. Nevite, jak ji vhodne rozdelit, aby
> bylo mensi Exe. Balicky, COM, .... Jake mate zkusenosti. Co bude
> nejjednodussi a nejefektivnejsi na rychlost natahovani casti a na
> spotrebu pameti.
lepsi programovat efektivne. Tedy nevytvaret vsechny formulare pri
startu aplikace, ale teprve tehdy az jsou potreba a pak je zase uvolnit,

About

[*] ViragI(zv)logica(tec)com - 24.10.2002 11:01:32

Zdrav�m.

2. ShellExecute(Application.Handle, NIL, PChar('www.seznam(tec)cz'), NIL,NIL,
SW_SHOWNOACTIVATE);

3. ShellExecute(Application.Handle, NIL, PChar('mailto:novak(zv)jehofirma(tec)cz'),
NIL,NIL, SW_SHOWNOACTIVATE);

Ivan Virag

-----Original Message-----
From: Andreas Bednarek [mailto:bednarek(zv)digitus(tec)cz]
Sent: Thursday, October 24, 2002 9:13 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: About


Ahoj,

Chci do aplikace za�adit About dialog a mam 3 otazky:

1. nevite, jak za b�hu aplikace zjistit informace o jej� verzi? Nikde jsem
to nena�el.
2. Jak z aplikace spustit browser, aby otev�el konkr�tn� str�nku www?
3. Podobn�, jak spustit default mail klienta, resp. okno Nov� zpr�va s
nastavenou c�lovou e-mail adresou?

d�ky z ka�dou radu
Andreas (D4, W98)


This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.

Jak rozdelit aplikaci?

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 24.10.2002 11:03:40

Neni. Rozdil je jen v tom, ze Globalni promenna uz v unite existuje,
lokalni si musis vytvaret.
Globalni promennou muzes testovat kdekoliv v programu.
Treba pri prvnim pouziti formular vytvorit a pro dalsich volanich jej
pouze zobrazit a rusit jej az v OnDestroy MainFormu. Tak jednoduse
docilis toho, ze napsane hodnoty pri prvnim volani ti tam pri pristim volani zustanou.

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

24.10.2002 Macko Martin:
> Je nejaky rozdil v zapisu:

> var f: TMyForm;

> f := TMyForm.Create(self);
> f.ShowModal;
> f.Free;

> nebo s pouzitim globalni promenne:

> MyForm := TMyForm.Create(self);
> MyForm.ShowModal;
> MyForm.Free;

> ?

> -----Original Message-----
> From: Petr Vones [mailto:pvones(zv)mbox.vol(tec)cz]
> Sent: Wednesday, October 23, 2002 1:10 PM
> To: Konference Delphi
> Subject: Re: Jak rozdelit aplikaci?> From: "CERMAK" <CERMAK(zv)procom(tec)cz>
>> Mam velkou databazovou aplikaci. Nevite, jak ji vhodne rozdelit, aby
>> bylo mensi Exe. Balicky, COM, .... Jake mate zkusenosti. Co bude
>> nejjednodussi a nejefektivnejsi na rychlost natahovani casti a na
>> spotrebu pameti.
> lepsi programovat efektivne. Tedy nevytvaret vsechny formulare pri
> startu aplikace, ale teprve tehdy az jsou potreba a pak je zase uvolnit,

AW: Algoritmus na prevod cesk�ho jm�na a

[*] Burkovsky Ladislav <Ladislav.Burkovsky(zv)autinform.de> - 24.10.2002 11:34:32

Nazdar
Sledujem tuto debatu a mam dve poznamky:
1.ak to ma fungovat len pre ceske mena tak skoda pisat algoritmy,
ak pocet mien je len niekolko stovak. radsej pole mien
2.ak to ma byt aj pre neceske mena tak neviem ako to algoritmyzovat pre
cinanov a ine narody.

laco

problem s TWinSocketStream

[*] <delphin(zv)centrum.sk> - 24.10.2002 11:54:12

Zdar !

Potrebujem pomoct s komunikaciou, pri ktorej je pouzity
TWinSocketStream. Podstatou komunikacie je to, ze na strane
klienta je v trayi program, ktory \"nacuva\" posielane spravy z
programu, ktory bezi na inom pocitaci, na ktorom som cez
terminalove pripojenie klientom konektnuty. V pohode to slape na
lokalnej sieti, ale ak som sa pripojil cez pomalu linku, tak to
pada. Na nete som nasiel, ze pri pomalych linkach robi
TWinSocketStream problemy (spominane v The Delphi Magazine april
1999), preto som pouzil upraveny TSafeWinSocketStream a jeho
upravene SafeWrite a SafeRead... nepomaha vsak ani to, odchytil
som si chybovu hlasku pri creatovani TSafeWinSocketStream :

\" A connection attempt failed because the connected party did not
properly respond after a period of time, or established
connection failed because host failed to respond (10060), on
API \'connect\' \"

.. pripada mi to ako keby bol problem v odchytavani sprav v
programe, ktory mam v trayi, ale ten v pohode vsetko odchytava
ked to skusam na lokalnej sieti.. taktiez timeout pri creatovani
mam nastaveny na MaxLongint takze v tom problem nevidim...
.. neviete mi niekto pomoct, kde moze byt chyba? alebo nemate
niekto odskusany fungujuci kod na takuto komunikaciu? pripadne
nepoznate niekto nejake ine vhodne riesenie ako takuto
komunikaciu osetrit ?

Vdaka za kazdu radu..


----------------------------------------------------------------
http://www.webpark.sk/novy-web.htm - Profesion�lny webhosting

Komponent pomoci Name

[*] Petr Varga <djvar(zv)post(tec)cz> - 24.10.2002 12:00:57

No tak bud muzes na urcity tabsheet pristoupit podle cisla tabsheet.
Tj minimum 1 az pagecontrol.pagecount. A pristup je potom.
Pagecontrol.activepage:=pagecontrol.pages[cislo];
Nebo pomoci toho nacteneho jmena a to
pagecontrol.activepage:=tabsheet4;
Takze jsi si odpovedel castecne sam :)
Kdyz tak cislo aktivni page je pagecontrol.activepageindex (pocita
se od 0 )

----- Original Message -----
Subject: RE: Komponent pomoci Name
existuje nejaka moznost jak pristoupit ke komponente podle jejiho
jmena. Konkretne se mi jedna o
nastaveni Pagecontrol.ActivePage na urcity TabSheet, jehoz jmeno,
mam ulozene v INI souboru.
Nebo snad existuje nastaveni Pagecontrol.Active page pomoci nejake
Integer property?

---
Str�nky o automobilech, novinky, autobazary, nov� auta,
p��slu�enstv�, poji�t�n� aut... http://automoto.volny(tec)cz

OT: Cek�n� programu na skon�en� ShellExecu

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

> >Honza
> >Hmm, jenze tady se mluvilo o Windows :-)

> Odes�latel: p.sestak(zv)corag.sk
> svojou poznamkou som nechcel na nikoho utocit ani nikoho nahnevat - dufam
> ze sa mi to nepodarilo.

Ja jsem to urcite tak nechapal a asi bych se poznamky vubec zdrzel.
Ale pak me napadlo, ze komentovat cetnost prispevku na tema Win x Linux (resp. Delphi x Kylix) a tim potazmo trochu porovnat tyto dva svety, neni vubec OT. To aniz bych se priklanel na jakoukoli stranu.

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. 493 792 931 (mobil 776 347735)
=========================================

Jak rozdelit aplikaci?

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 24.10.2002 12:11:41

> Je nejaky rozdil v zapisu:
>
> var f: TMyForm;
>
> f := TMyForm.Create(self);
> f.ShowModal;
> f.Free;
>
> nebo s pouzitim globalni promenne:
>
> MyForm := TMyForm.Create(self);
> MyForm.ShowModal;
> MyForm.Free;

Ahoj,

ve vysledku v tom zadny rozdil neni. Ale pouziti lokalni promenne
ma vyhody:

1) Nehrozi pouziti te promenne omylem na nevhodnem miste, jako
tomu je u globalni promenne, ktera je pristupna kdekoli a kdykoli, i
kdyz je neinicializovana.

2) Zvysuje to citelnost programu, protoze jasne vidis, kde s
formularem zacinas pracovat a kde s nim koncis.

3) A to je mimo: opravdu doporucuji v techto pripadech pouzivat
try... finally, napr.

var f: TMyForm;

f := TMyForm.Create(self);
try
f.ShowModal;
finally
f.Free;
end;

Protoze to garantuje, ze Free se opravdu zavola, i kdyz se neco
nepovede a vznikne vyjimka.

David Lebeda

OT: Sql select jak vybrat zaznamy rozgrupovane dle

[*] David Michal <david.michal(zv)www-bv(tec)com> - 24.10.2002 12:16:22

Zdravim,
Pouzivam MSSQL2000, nyni resim nasledujici problem.
V tabulce TimeSheet mam zhruba tyto polozky:
ID, DateWork, Hours (neni to presne ale k popisu problemu to staci).
Ve fieldu DateWork ukladam datum(den mesic rok). A do fieldu Hours ukladam
pocet odpracovany hodin v danem dnu.
A otazka zni: Jak udelat select, ktery by mi ukazal soucet hodin pro kazdy
mesic?
Tzn. neco jako:
Select SUM(Hours) as SHours From TimeSheet Group By Month
Jenomze jak z toho dostat tu hodnotu month?
Diky za kazdy napad,
David
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.406 / Virus Database: 229 - Release Date: 21/10/2002

Sql select jak vybrat zaznamy rozgrupovane dle mes

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 24.10.2002 12:27:12

> Zdravim,
> Pouzivam MSSQL2000, nyni resim nasledujici problem.
> V tabulce TimeSheet mam zhruba tyto polozky:
> ID, DateWork, Hours (neni to presne ale k popisu problemu to staci).
> Ve fieldu DateWork ukladam datum(den mesic rok). A do fieldu Hours ukladam
> pocet odpracovany hodin v danem dnu.
> A otazka zni: Jak udelat select, ktery by mi ukazal soucet hodin pro kazdy
> mesic?
> Tzn. neco jako:
> Select SUM(Hours) as SHours From TimeSheet Group By Month
> Jenomze jak z toho dostat tu hodnotu month?

Neslo by neco jako:
select extract(month from datework),sum(hours) from timesheet group by
extract(month from datework);

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

Delphi 7 + vgLib

[*] Petr Kejval <petr.kejval(zv)worldonline(tec)cz> - 24.10.2002 12:28:27

V D4 pouzivam free komponenty vgLib (Vladimir Gaitanoff) se zdrojaky. Prave
jsme zakoupili D7 a chceme prelozit stare projekty z D4 na D7. Nepokusil se
zde uz nekdo prelozi tyto komponenty pod D7. Jestli ano, mohl by se o ne se
mnou podelit.
Na strankach autora jsou komponenty vgLib II bez zdrojaku a pouze pro D5 a
D6.

Petr Kejval


About

[*] Andreas Bednarek <bednarek(zv)digitus(tec)cz> - 24.10.2002 12:32:29

no ne, to jsou finty :)
diky

----- Original Message -----
From: Vymazal Milan <vymazal.milan(zv)seznam(tec)cz>
To: Andreas Bednarek <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, October 24, 2002 10:28 AM
Subject: Re: About


> Hello Andreas,
>
> Thursday, October 24, 2002, 9:13:27 AM, you wrote:
>
> AB> Ahoj,
>
> AB> Chci do aplikace za�adit About dialog a mam 3 otazky:
>
> AB> 1. nevite, jak za b�hu aplikace zjistit informace o jej� verzi? Nikde
jsem
> AB> to nena�el.
>
> tohle je na zjisteni verze souboru
>
> function GetFileVersion(Soubor: String): String;
> const
> VerFixedInfo: PChar = '\';
> var
> Size : DWORD;
> Sz : ULONG;
> Handle: THandle;
> Buffer: string;
> FFixedBuffer: PVSFixedFileInfo;
> begin
> Size := GetFileVersionInfoSize(PChar(Soubor), Handle);
> if Size > 0 then
> begin
> SetLength(Buffer, Size);
> GetFileVersionInfo(PChar(Soubor), Handle, Size, PChar(Buffer));
> end;
> VerQueryValue(PChar(Buffer), VerFixedInfo, Pointer(FFixedBuffer), Sz);
>
> with FFixedBuffer^ do
> begin
> Result:= IntToStr(dwFileVersionMS shr 16) + '.';
> Result:= Result + IntToStr(dwFileVersionMS and $FFFF) + '.';
> Result:= Result + IntToStr(dwFileVersionLS shr 16) + '.';
> Result:= Result + IntToStr(dwFileVersionLS and $FFFF);
> end;
> end;
>
> AB> 2. Jak z aplikace spustit browser, aby otev�el konkr�tn� str�nku www?
>
> ShellExecute
>
> AB> 3. Podobn�, jak spustit default mail klienta, resp. okno Nov� zpr�va s
> AB> nastavenou c�lovou e-mail adresou?
>
> pres mailto:
>
> AB> d�ky z ka�dou radu
> AB> Andreas (D4, W98)
>
>
>
> --
> Best regards,
> Vymazal mailto:vymazal.milan(zv)seznam(tec)cz

Jak rozdelit aplikaci?

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 24.10.2002 12:38:39

> Odes�latel: Macko Martin <martin.macko(zv)m-pro(tec)cz>
> Je nejaky rozdil v zapisu:

> f := TMyForm.Create(self); // f je lokalni
> f.ShowModal;
> f.Free;

> MyForm := TMyForm.Create(self); // MyForm je globalni
> MyForm.ShowModal;
> MyForm.Free;

Rozdil je treba ten, ze f je lokalni, takze mimo proceduru neni odnikud pristupna, zatimco promenna MyForm pristupna je a po skonceni procedury bude ukazovat na neexistujici objekt.
A to muze byt docela velky problem, jak uz tady bylo mnohokrat diskutovano.

Nejelegantnejsi zapis je podle me
> with TMyForm.Create(nil) do
> try
> ShowModal;
> finally
> Free
> end;
takze nepotrebuju dokonce ani tu lokalni promennou.
(viz Zakladni kurz Delphi)

Pravda, kdyz uz nas Delphi tlaci do pouzivani techto globalnich promennych, lze se s tim nejak vyporadat. Pak ale musime vlastnimi silami zaridit, aby MyForm bylo vzdycky nil, pokud formular neexistuje
(OnDestroy: MyForm:=nil)
a pri vytvareni formulare se vzdycky zeptat, zda formular nahodou uz neexistuje
(if MyForm=nil then MyForm:=TMyForm.Create).

A vubec, pokud jde o modalni formular, ktery ukazujeme uzivateli jenom na chvili, tak bych tu globalni promennou vubec pro jistotu zrusil.
// var MyForm : TMyForm

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. 493 792 931 (mobil 776 347735)
=========================================

character set v IB

[*] hlas <hlas(zv)inmail.sk> - 24.10.2002 12:47:45

komponenta IBX - IBDatabase ma vlastnost character set,
kde mozem nastavit win 1250

ale ja robim cez DBX. U komponenty SQLConnection
takuto vlastnost nenachadzam a ak mam
v IB databaze nastaveny default character set win1250,
tak ak napisem do tabulky nieco s diakritikou tak mi to hlasi chyby.

Neviete ako v DBExpresse nastavim win 1250?

Sql select jak vybrat zaznamy rozgrupovane dle mes

[*] Kr�l Jirka <admin(zv)printo(tec)cz> - 24.10.2002 12:52:17

>>ID, DateWork, Hours (neni to presne ale k popisu problemu to staci). Ve fieldu DateWork ukladam datum(den mesic rok). A do fieldu Hours ukladam pocet odpracovany hodin v danem dnu. A otazka zni: Jak udelat select, ktery by mi ukazal soucet hodin pro kazdy mesic? Tzn. neco jako: Select SUM(Hours) as SHours From TimeSheet Group By Month Jenomze jak z toho dostat tu hodnotu month? Diky za kazdy napad, David

datepart(m.

Sql select jak vybrat zaznamy rozgrupovane dle mes

[*] Z�le��k Tom� - 24.10.2002 13:10:56

> Pouzivam MSSQL2000, nyni resim nasledujici problem.
> V tabulce TimeSheet mam zhruba tyto polozky:
> ID, DateWork, Hours (neni to presne ale k popisu problemu to staci).
> Ve fieldu DateWork ukladam datum(den mesic rok). A do fieldu
> Hours ukladam pocet odpracovany hodin v danem dnu.
> A otazka zni: Jak udelat select, ktery by mi ukazal soucet
> hodin pro kazdy mesic?
> Tzn. neco jako:
> Select SUM(Hours) as SHours From TimeSheet Group By Month
> Jenomze jak z toho dostat tu hodnotu month?

SELECT
YEAR(DateWork) AS Rok,
MONTH(DateWork) AS Mesic,
SUM(Hours) AS Suma
FROM TimeSheet
GROUP BY YEAR(DateWork), MONTH(DateWork)
ORDER BY 1, 2

Tomas Zalesak

float vs BCD v IB

[*] Marek Dost�l <marek.dostal(zv)mujweb(tec)cz> - 24.10.2002 13:16:22

> Asi mas pravdu, ale zda sa mi to dost neprakticke.
> Keby som urobil v IB pole Numeric 15,2 a delphi spravilo
> pole TCurrency tak by to bolo ok.
> Ale delphi mi spravi pole TFMTBCDField a nic s nim nekomunikuje.
>
> To mam robit takto? :
>
> var x:currency ;
> i:integer;
>
> x:=i*filedbyname(blabla).ascurrency;
>
> A ako vlozim to takeho pola hodnotu? Toto myslim nefunguje:
>
>
> filedbyname(blabla).value:=x;


Jednoduse to udelaj takto: filedbyname(blabla).AsFloat:=x;

About

[*] KALUS Jozef <jozef.kalus(zv)spordat.sk> - 24.10.2002 13:17:26

k tomu mailto este by malo nieco taketo fungovat treba ta vyskusat :o)
mailto:adresa(zv)email.sk&subject=Skuska%20mailu&body=Pokec

joka

PS: ide to z html, snad to pojde aj z delphi, vyskusaj


-----Original Message-----
From: Andreas Bednarek [mailto:bednarek(zv)digitus(tec)cz]
Sent: Thursday, October 24, 2002 12:32 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: About


no ne, to jsou finty :)
diky

----- Original Message -----
From: Vymazal Milan <vymazal.milan(zv)seznam(tec)cz>
To: Andreas Bednarek <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, October 24, 2002 10:28 AM
Subject: Re: About


> Hello Andreas,
>
> Thursday, October 24, 2002, 9:13:27 AM, you wrote:
>
> AB> Ahoj,
>
> AB> Chci do aplikace za�adit About dialog a mam 3 otazky:
>
> AB> 1. nevite, jak za b�hu aplikace zjistit informace o jej� verzi?
Nikde
jsem
> AB> to nena�el.
>
> tohle je na zjisteni verze souboru
>
> function GetFileVersion(Soubor: String): String;
> const
> VerFixedInfo: PChar = '\';
> var
> Size : DWORD;
> Sz : ULONG;
> Handle: THandle;
> Buffer: string;
> FFixedBuffer: PVSFixedFileInfo;
> begin
> Size := GetFileVersionInfoSize(PChar(Soubor), Handle);
> if Size > 0 then
> begin
> SetLength(Buffer, Size);
> GetFileVersionInfo(PChar(Soubor), Handle, Size, PChar(Buffer));
> end;
> VerQueryValue(PChar(Buffer), VerFixedInfo, Pointer(FFixedBuffer),
Sz);
>
> with FFixedBuffer^ do
> begin
> Result:= IntToStr(dwFileVersionMS shr 16) + '.';
> Result:= Result + IntToStr(dwFileVersionMS and $FFFF) + '.';
> Result:= Result + IntToStr(dwFileVersionLS shr 16) + '.';
> Result:= Result + IntToStr(dwFileVersionLS and $FFFF);
> end;
> end;
>
> AB> 2. Jak z aplikace spustit browser, aby otev�el konkr�tn� str�nku
www?
>
> ShellExecute
>
> AB> 3. Podobn�, jak spustit default mail klienta, resp. okno Nov�
zpr�va s
> AB> nastavenou c�lovou e-mail adresou?
>
> pres mailto:
>
> AB> d�ky z ka�dou radu
> AB> Andreas (D4, W98)
>
>
>
> --
> Best regards,
> Vymazal mailto:vymazal.milan(zv)seznam(tec)cz
__________ Informacia od NOD32 1.320 (20021022) __________

Tato sprava bola preverena systemom NOD32 pre Exchange.
http://www.eset.sk


Sql select jak vybrat zaznamy rozgrupovane dle mes

[*] Kr�l Jirka <admin(zv)printo(tec)cz> - 24.10.2002 13:35:19

>>ID, DateWork, Hours (neni to presne ale k popisu problemu to staci).
>>Ve fieldu DateWork ukladam datum(den mesic rok). A do fieldu Hours
>>ukladam pocet odpracovany hodin v danem dnu. A otazka zni: Jak udelat
>>select, ktery by mi ukazal soucet hodin pro kazdy mesic? Tzn. neco
>>jako: Select SUM(Hours) as SHours From TimeSheet Group By Month
>>Jenomze jak z toho dostat tu hodnotu month? Diky za kazdy napad,
>>David

select datepart(m, datework), sum(hours)
from x
group by datepart(m, datework)

sorry za predesly mejl, aninevimjak se mi podalio zavadit o "Odeslat"

J.

Algoritmus na prevod ceskeho jmena a prijmeni do 2

[*] Jon� Marian <Jonas(zv)komercpoj(tec)cz> - 24.10.2002 13:44:25

>
> Nazdar
> Sledujem tuto debatu a mam dve poznamky:
> 1.ak to ma fungovat len pre ceske mena tak skoda pisat algoritmy,
> ak pocet mien je len niekolko stovak. radsej pole mien

Ano, v podstate by stacilo vzit jen kalendar a podle nej udelat prevodni tabulku, ale co prijmeni ?

> 2.ak to ma byt aj pre neceske mena tak neviem ako to
> algoritmyzovat pre
> cinanov a ine narody.
>
> laco
>

V subjektu zpravy je jasne uvedeno, ze se jedna pouze pro CESKA JMENA A PRIJMENI, cinani mne nezajimaji.

Marian

MySQL connect

[*] Robert Suska <delphi(zv)korak.sk> - 24.10.2002 13:46:48

Ahojte!

Chceme sa z D6 Ent. UpdatePack #2 Windows 2000 PRO SP3 eng na MySQL server
MySQL Server 3.23.53 ktory bezi pod Windows 2000 PRO SP3 eng pouzivame
komponenty DBExpress SQLConnection. Po nastaveni vsetkych parametrov to
vyhlasi chybu DBXError: invalid user name a na sto percent mame dobre heslo
aj meno na prihlasenie. Mame skopirovanu aj kniznicu libmysql.dll v adresary
c:\winnt\system\ . A nevieme co uz s tym moze byt. Dakujeme za kazdu radu
alebo nakopnutie.

S pozdravom

MySQL team :))

Jak rozdelit aplikaci?

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 24.10.2002 13:55:20

----- Original Message -----
From: "Jan Sebel�k" <honza(zv)haes(tec)cz>
>Nejelegantnejsi zapis je podle me
>> with TMyForm.Create(nil) do
>> try
>> ShowModal;
>> finally
>> Free
>> end;
>takze nepotrebuju dokonce ani tu lokalni promennou.
>(viz Zakladni kurz Delphi)

Ja zase vubec nedoporucuji v ObjectPascalu pouzivat 'with',
protoze to zanasi zmatky a potencialni problemy obzvlast
pokud se zevnitr bloku 'with' volaji funkce zvnejsku
bloku. Napr.

with TMyForm.Create(nil) do
try
MakeSomething;
ShowModal;
finally
Free
end;

chceme aby se rutina (samostatna procedura) MakeSomething
zavolala po vyrobeni formulare. Funguje to do okamziku
kdy (na uplne jinem miste kodu) pridame do tridy
TMyForm metodu se stejnym jmenem MakeSomething.
Pak se uplne zmeni vyznam toho co jsem puvodne napsal
a vyvola se misto rutiny ta metoda. Kod se rozbil a ja
jsem do nej primo ani nezasahl(!)

Ano, samozrejme to resi pravidla pro pojmenovavani
rutin a metod ale v pripade ze je tento kod uvnitr metody
jine tridy a ja volam puvodne metodu te tridy, jsem
v problemu opet.

V nasem projektu jsou 'with' bloky primo zakazane.

Pro uplnost dodavam, ze napr. VB (Buh me chran abych
v nem nemusel psat) to resi a to tak ze uvnitr bloku with
se metody volane zevnitr bloku uvozuji teckou, kdezto
metody/rutiny zvnejsku bloku jsou bez tecky.

Martin Schayna

const parametre

[*] Martin Cajbik <cajbik(zv)sct.sk> - 24.10.2002 14:12:36

Zdravim,
jedna skor teoreticka otazka:
Akym sposobom su v Delphi reprezentovane beztypove const parametre procedur
a funkcii napr. function Write(const Buffer; Count: Longint): Longint a aky
je celkovo vztah medzi poliami, smernikmi a const parametrami ?
Parkrat sa mi totiz stalo, ze som omylom ako const parameter zadal pole
alebo smernik a dopadlo to samozrejme zle, ale az pocas runtime pretoze
kompilator nevyhlasil ani varovanie. Na to, ze ma Delphi pomerne silnu
typovu kontrolu mi tie const parametre pridu ako dost nebezpecna vlastnost.
Naviac, funkcie ktore su prevedene z C a pozaduju ako parameter void * su do
Delphi prevedene na taketo const parametre namiesto podla mna logickejsieho
Pointer alebo PChar.

MarCaNT (marcant(zv)sct.sk)

ObjectPascal a with Was: Jak rozdelit aplikaci?

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 24.10.2002 14:51:21

From: "Martin Schayna" <mschayna(zv)aktis(tec)cz>
> Ja zase vubec nedoporucuji v ObjectPascalu pouzivat 'with', protoze to
> zanasi zmatky a potencialni problemy obzvlast pokud se zevnitr bloku 'with'
> volaji funkce zvnejsku

Jeste lepsi je tohle:

with Object1, Object2 do
try
....
finally
Free;
end;

Zavola se Object1.Free nebo Object2.Free ?

Na druhe strane v nekterych pripadech muze with nahradit nutnost pouziti
pomocne lokalni promenne, napriklad u vlastnosti vracejici objekty:

for I := 0 to ListView.Items.Count - 1 do
with ListView.Items[I] do
begin
Caption :=
ImageIndex :=
...
end;

misto

var
TempItem: TListItem;

for I := 0 to ListView.Items.Count - 1 do
begin
TempItem := ListView.Items[I];
TempItem.Caption :=
TempItem.ImageIndex :=
...
end;

Petr Vones

Seznam predloh v Sinee2002

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 24.10.2002 14:51:48

Ahojte vsichni,

pouzivate nekdo komponentu PrintDialogSinea v Sinee2002 se zapnutym
comboboxem na volbu predlohy? Snazim se to nejak rozchodit, ale moc se mi
nedari.

Co potrebuji. Mam aplikaci a s ni dodavam jednu predlohu pts. V aplikaci je jedna
komponenta Sestava oprena o tuto predlohu a jeden PrintDialogSinea. Uzivatel si
sam muze vytvaret vlastni sestavy. Pred tiskem chci, aby si v tiskovem dialogu mohl
zvolit predlohu. A ted problemy:

1) Pred zobrazenim printdialogu nastavim PrintDialogSinea1.ReportName :=
Sestava1.ReportName. To vede k tomu, ze combo s nabidkou sestav v printdialogu
obsahuje jakysi popis, patrne uchovavany v pts souboru, ale seznam jeho items je
prazdny. Obslouzim tedy udalost na komponente PrintDialogSinea1 -
OnLoadReportList tak, ze s pomoci FindFirst/FindNext projdu adresar aplikace a
hledam pts soubory. Tim se do comboboxu na printdialogu dostanou jmena souboru
(ale ne jejich popisy). Proc tedy pri prirazeni ReportName se zobrazi popis a pri
tomto zpusobu ne?

2) Pri kazdem kliknuti na combobox s nabidkou sestav na printdialogu se znovu vola
nacteni items. To se nastesti da obejit tim, ze pokud tam uz nejake items jsou, tak uz
combo neplnim, ale bylo-li combo prazdne, pak tohle kliknuti nevede k jeho
rozbaleni. Musi se tudiz kliknout jeste jednou.

3) Takze situace je takovato: Objevi se mi printdialog a v comboboxu s nabidkou
sestav vidim popis standardni sestavy. Jakmile na to combo kliknu mysi, vyprazdni
se. Po dalsim kliknuti se rozbali, ale je tam jen nabidka souboru. Potrebuji, aby
jednak to combo pri kliknuti na nej nesmazalo svuj obsah a jednak aby vzdy
zobrazovalo bud pouze nazvy souboru nebo popisy pts sestav, ale ne jednou tak a
jednou tak, jak jsem popsal.

Je mozne, ze delam neco spatne, ale nezda se mi, ze by prirucka praci s combem
sestav na printdialogu nejak popisovala, zdrojaky nemam, tak nevim, odkud mam
zjistit, jak na to jit spravne.

Pokud nekdo vite, poradte. Diky.

David Lebeda

About

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

From: "Andreas Bednarek" <bednarek(zv)digitus(tec)cz>
> 1. nevite, jak za b�hu aplikace zjistit informace o jej� verzi? Nikde jsem
> to nena�el.

Napriklad pomoci tridy TJclFileVersionInfo nebo funkce VersionFixedFileInfo v
unitu JclFileUtils z JCL:
http://sourceforge.net/project/showfiles.php?group_id=47514&release_id=100652
http://delphi-jedi.org/CODELIBJCL

Petr Vones

Jak rozdelit aplikaci?

[*] Macko Martin <martin.macko(zv)m-pro(tec)cz> - 24.10.2002 15:06:57

Asi jsem mel jeste chvilku pockat, mail procist a domyslet nez jsem
zmackl tlacitko odeslat :)
Zajimala mne spis souvislost s narocnosti na zdroje, rychlost,
optimalizace z pohledu prekladace apod ...

-----Original Message-----
From: Lebeda David [mailto:david.lebeda(zv)comarr(tec)cz]
Sent: Thursday, October 24, 2002 12:12 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: RE: Jak rozdelit aplikaci?> Je nejaky rozdil v zapisu:
>
> var f: TMyForm;
>
> f := TMyForm.Create(self);
> f.ShowModal;
> f.Free;
>
> nebo s pouzitim globalni promenne:
>
> MyForm := TMyForm.Create(self);
> MyForm.ShowModal;
> MyForm.Free;

Ahoj,

ve vysledku v tom zadny rozdil neni. Ale pouziti lokalni promenne
ma vyhody:

1) Nehrozi pouziti te promenne omylem na nevhodnem miste, jako
tomu je u globalni promenne, ktera je pristupna kdekoli a kdykoli, i
kdyz je neinicializovana.

2) Zvysuje to citelnost programu, protoze jasne vidis, kde s
formularem zacinas pracovat a kde s nim koncis.

3) A to je mimo: opravdu doporucuji v techto pripadech pouzivat
try... finally, napr.

var f: TMyForm;

f := TMyForm.Create(self);
try
f.ShowModal;
finally
f.Free;
end;

Protoze to garantuje, ze Free se opravdu zavola, i kdyz se neco
nepovede a vznikne vyjimka.

David Lebeda

OT: MySQL-Front

[*] Peter Vlkovic <vlkovic(zv)minv.sk> - 24.10.2002 15:33:18

Ahoj,

podarilo sa niekomu z vas uspesne rozchodit %subj% na W95 alebo W98?
Nemali ste pri tom problemy?

Skusal som instalovat vsetko mozne, vzdy som
vsak stroskotal na hlaske:
"Subor MYSQLFRONT.EXE je prepojeny na chybajuci
export ODBC32.DLL:SQLSetEnvAttr."

Za pripadnu pomoc vdaka.


Vlkovic

dll soubory

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 24.10.2002 16:00:18

From: "Jan Sebel�k" <honza(zv)haes(tec)cz>
> No, az tak strasne to neni :-)
> LoadLibrary, GetProcAddress, ...

Pokud je tech funkci treba i nekolik set tak mi to uz tak snadne neprijde ;-)
Zvlaste pak v porovnani s pouhym nastavenim jednoho prepinace u linkeru v MSVC
nebo BCB.

Petr Vones

MySQL-Front

[*] Radim Kunz <privat(zv)casestudio(tec)com> - 24.10.2002 16:06:50


----- Original Message -----
From: "Peter Vlkovic" <vlkovic(zv)minv.sk>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, October 24, 2002 3:33 PM
Subject: OT: MySQL-Front


> Ahoj,
>
> podarilo sa niekomu z vas uspesne rozchodit %subj% na W95 alebo W98?
> Nemali ste pri tom problemy?
>
> Skusal som instalovat vsetko mozne, vzdy som
> vsak stroskotal na hlaske:
> "Subor MYSQLFRONT.EXE je prepojeny na chybajuci
> export ODBC32.DLL:SQLSetEnvAttr."
>
> Za pripadnu pomoc vdaka.
>
>
> Vlkovic
>

A nemas nejakou brutalne starou verzi ODBC?

Radim

DLL

[*] Jan Fiala [work] <delphi(zv)kvasar(tec)cz> - 24.10.2002 16:46:56

je mi jasne, ze to budu muset pretypovavat. Puvodne jsem myslel, ze DLL jsou
urceny odlehceni samotne aplikace. S COM objektama jsem se zabyval pouze
chvili, ale pripadalo mo to hrozne slozite. Balicky jsem nezkousel, nemohl
bys mi poradit, kde bych nasel nejaky priklad pro praci s balicky (podporuje
to D6P)?


Dik moc
P�eji Hezk� den
Jan Fiala
_________________________________________
fiala(zv)kvasar(tec)cz
http://www.kvasar(tec)cz
tel.:577212800
ICQ#: 22070733
_________________________________________



-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Behalf Of Petr Vones
Sent: Wednesday, October 23, 2002 1:42 PM
To: Konference Delphi
Subject: Re: DLL


From: "Jan Fiala [work]" <delphi(zv)kvasar(tec)cz>
> soubory. Potrebuji v DLL vytvorit objekt a aplikace by ho mela vyuzivat. K

Tohle nikdy nedelej, protoze z knihoven nelze exportovat objekty. Lze sice
delat ruzne okliky kdy exportujes jen pointery a ty potom ruzne pretypovavas
pres definice abstraktnich trid, ale to je pomerne rychla cesta do pekel.
Budto pouzij balicky nebo COM objekty (nebo alespon interface).

Petr Vones


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

Bezi MS Word ?

[*] Roland Turcan <rolo(zv)sedas.sk> - 24.10.2002 16:49:31

Hello Delphi CZ konferencia!

Takto testujem v OnClose formu ci Word bezi

if WA.Visible then
begin
WA.Activate;
Action := caNone;
Exit;
end;

if WD.Application.Visible then
begin
WD.Application.Activate;
Action := caNone;
Exit;
end;
WD.Disconnect;
WA.Quit;
WA.Disconnect;

Ale mi to na Word 8 (97) mi to hlasi chybu "Server RPC sa odpojil od
svojich klientov".


--
Best regards, TRoland

Verzie Wordu

[*] Roland Turcan <rolo(zv)sedas.sk> - 24.10.2002 16:50:09

Hello Delphi CZ konferencia!

Verzie

6.0 - Office 97
8.0 - Office 2000
....

A verzia 7.0 je ktora ?

--
Best regards, TRoland

MySQL connect

[*] Ales Radikovsky <radik(zv)allstar(tec)cz> - 24.10.2002 17:32:47

Mozna napisu uplnou blbost, ale ja jsem resil neco podobneho. Podivej se
co mas napsano v souboru dbxdrivers.ini

Tohle bylo puvodne a neslo to:

[MYSQL]
...
LibraryName=dbexpmys.dll

A takhle mi to funguje....

[MYSQL]
...
LibraryName=dbexpmysql.dll

Ales

> Chceme sa z D6 Ent. UpdatePack #2 Windows 2000 PRO SP3 eng na
> MySQL server
> MySQL Server 3.23.53 ktory bezi pod Windows 2000 PRO SP3 eng pouzivame
> komponenty DBExpress SQLConnection. Po nastaveni vsetkych
> parametrov to
> vyhlasi chybu DBXError: invalid user name a na sto percent
> mame dobre heslo
> aj meno na prihlasenie. Mame skopirovanu aj kniznicu
> libmysql.dll v adresary
> c:\winnt\system\ . A nevieme co uz s tym moze byt. Dakujeme
> za kazdu radu
> alebo nakopnutie.

const parametre

[*] Delphin <delphin(zv)post(tec)cz> - 24.10.2002 17:34:08

> Akym sposobom su v Delphi reprezentovane beztypove const parametre
procedur
> a funkcii napr. function Write(const Buffer; Count: Longint): Longint a
aky
> je celkovo vztah medzi poliami, smernikmi a const parametrami ?

Dle meho nazoru const Buffer je analogicky var Buffer s tim rozdilem, ze v
prvnim pripade nelze Bufer modifikovat. Fyzicky funkce dostane v obou
pripadech pointer na predavane data. Pri pouziti beztypoveho parametru
typova kontrola nema sanci, jak vyplyva jiz z nazvu, proto se nelze divit,
ze to "bere vse". Samozrejme nastane problem pri pouziti pointeru, stringu a
dynamickych poli, protoze funkce nedostane data, ale promennou typu pointer.

Me funguje:

Write(Pole,1); //Nedynamicke pole a vsechny bezne promenne
Write(Pole[Prvek],1); //Dynamicke nebo nedynamicke pole
Write(Ukazatel^,1); //Ukazatel

Delphin

MySQL connect

[*] Peter Surovy <psurovy(zv)uevora.pt> - 24.10.2002 16:59:39

----- Original Message -----
From: "Robert Suska" <delphi(zv)korak.sk>
Sent: Thursday, October 24, 2002 12:46 PM

> Chceme sa z D6 Ent. UpdatePack #2 Windows 2000 PRO SP3 eng na MySQL server
> MySQL Server 3.23.53 ktory bezi pod Windows 2000 PRO SP3 eng pouzivame
> komponenty DBExpress SQLConnection. Po nastaveni vsetkych parametrov to
> vyhlasi chybu DBXError: invalid user name a na sto percent mame dobre
heslo

--- a kde bezi ten MySQL server ?
Na tom istom compe alebo na nejakom serveri na i-nete?
totiz dost dolezite je aj nastavenie "hostname"
ak ho mate "localhost" a na compe s Delphi Vam tiez ten server bezi
moze to vyhadzovat tuto chybu.

Komponent pomoci Name

[*] Martin Sztemon <Martin.Sztemon(zv)kdagentura(tec)cz> - 24.10.2002 09:01:05 -0700

From: Netu�il, Roman, Ing.
Subject: Komponent pomoci Name
existuje nejaka moznost jak pristoupit ke komponente podle jejiho
jmena. Konkretne se mi jedna o
nastaveni Pagecontrol.ActivePage na urcity TabSheet, jehoz jmeno, mam
ulozene v INI souboru.
Nebo snad existuje nastaveni Pagecontrol.Active page pomoci nejake
Integer property?
T�eba takhle: PageControl1.activepage := TabSheet1;

MySQL connect

[*] Peter Surovy <psurovy(zv)uevora.pt> - 24.10.2002 17:07:51

----- Original Message -----
From: "Robert Suska" <delphi(zv)korak.sk>
Sent: Thursday, October 24, 2002 12:46 PM
> aj meno na prihlasenie. Mame skopirovanu aj kniznicu libmysql.dll v
adresary
> c:\winnt\system\ . A nevieme co uz s tym moze byt. Dakujeme za kazdu radu

---nema to byt nahodou v c:\winnt\system32 ?

PS

Stav skladu cez modem

[*] Lauko Stefan <laukosw(zv)naex.sk> - 24.10.2002 18:54:09

Zdravim konferenciu,
dostal som ukol prepojit dve vzdialene prevadzky za ucelom okamziteho
zistenia stavu skladu z centra na pobocke.
Malo by to fungovat bez nutnosti obsluhy na pobocke (v noci). Spojenie budem
realizovat cez modem.
V tomto smere nemam takmer ziadne skusenosti. Nepouzivaju tam moj SW ale
databaza je Access (mdb). Zatial viem ziskat len potrebne data. Co by som
mal dat na pobocku (server) a co do centra (klient) ? Je to velka db cca
600 Mb.
Data musi z DB vycucnut server vo svojej rezii a poslat ich klientovi. Dat
nebude vela cca 50..100 poloziek. Stacil by aj HTML-subor. Mohol by ma
niekto postrcit spravnym smerom?
Dakujem za pripadne rady.
Lauko.

DLL

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 24.10.2002 18:58:29

From: "Jan Fiala [work]" <delphi(zv)kvasar(tec)cz>
> Puvodne jsem myslel, ze DLL jsou urceny odlehceni samotne aplikace.

Ne, v adresovem prostoru procesu je to jeden celek, at je to EXE nebo DLL. U
DLL ti pribyva ale jeste dalsi (zbytecna) rezie se zavadenim. Smysl DLL je v
tom kdyz mas kod, ktery chces pouzit ve vice aplikacich a ruznych vyvojovych
prostredich. Proto nelze exportovat Delphi tridy, ktere jsou jen jakousi
proprietarni datovou strukturou.

> Balicky jsem nezkousel, nemohl bys mi poradit, kde bych nasel nejaky priklad
> pro praci s balicky (podporuje to D6P)?

Jiste, balicky existuji od Delphi 3, neco je napriklad tady, i kdyz uz trochu
starsiho data: http://www.obsof.com/delphi_tips/DL613.html

Petr Vones

Jak rozdelit aplikaci?

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

From: "Macko Martin" <martin.macko(zv)m-pro(tec)cz>
> Zajimala mne spis souvislost s narocnosti na zdroje, rychlost, optimalizace
> z pohledu prekladace apod ...

V tomto pripade v tom nejsou zadne podstatne rozdily. Rozdil je jen v tom kam
a jak se ulozi instance toho objektu, a to je velmi jednoducha operace.

Petr Vones

Bezi MS Word ?

[*] Roland Turcan <rolo(zv)sedas.sk> - 24.10.2002 20:09:45

<<< 24. 10. 2002 20:09 - Roland Turcan "rolo(zv)sedas.sk" >>>
RT> Hello Delphi CZ konferencia!

RT> Takto testujem v OnClose formu ci Word bezi

RT> if WA.Visible then
RT> begin
RT> WA.Activate;
RT> Action := caNone;
RT> Exit;
RT> end;

RT> if WD.Application.Visible then
RT> begin
RT> WD.Application.Activate;
RT> Action := caNone;
RT> Exit;
RT> end;
RT> WD.Disconnect;
RT> WA.Quit;
RT> WA.Disconnect;

RT> Ale mi to na Word 8 (97) mi to hlasi chybu "Server RPC sa odpojil od
RT> svojich klientov".

Nasiel som na internete:

uses
ComObj, ActiveX;

function IsObjectActive(ClassName: string): Boolean;
var
ClassID: TCLSID;
Unknown: IUnknown;
begin
try
ClassID := ProgIDToClassID(ClassName);
Result := GetActiveObject(ClassID, nil, Unknown) = S_OK;
except
// raise;
Result := False;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if IsObjectActive('Word.Application') then ShowMessage('Word is running !');
if IsObjectActive('Excel.Application') then ShowMessage('Excel is running !');
if IsObjectActive('Outlook.Application') then ShowMessage('Outlook is running !');
if IsObjectActive('Access.Application') then ShowMessage('Access is running !');
if IsObjectActive('Powerpoint.Application') then ShowMessage('Powerpoint is running !');
end;

Mozno to pomoze aj ostatnym.
--
Best regards, TRoland

Seznam predloh v Sinee2002

[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 24.10.2002 20:26:06

> From: Lebeda David
>
> 1) Pred zobrazenim printdialogu nastavim
> PrintDialogSinea1.ReportName :=
> Sestava1.ReportName. To vede k tomu, ze combo s nabidkou
> sestav v printdialogu
> obsahuje jakysi popis, patrne uchovavany v pts souboru,

Ano, to je v poradku

> ale seznam jeho items je
> prazdny. Obslouzim tedy udalost na komponente PrintDialogSinea1 -
> OnLoadReportList tak, ze s pomoci FindFirst/FindNext projdu
> adresar aplikace a hledam pts soubory.

Toto je zbytecne, ComboBoxPredloha umi vyhledat soubory sam.
Staci vyplnit do ReportMask masku hledanych souboru.
Ja pouzivam napriklad 'pts\*.pts', kdyz jsou predlohy v podadresari PTS

>
> 2) Pri kazdem kliknuti na combobox s nabidkou sestav na
> printdialogu se znovu vola nacteni items.

To je v poradku, protoze uzivatel muze predlohy tvorit
nove a pokud by se seznam neobnovoval, nove vytvorene
predlohy by v nem nebyly.

> 3) Takze situace je takovato: ....

Vsechny vedlejsi efekty jsou zpusobeny nespravnou
a nevhodne pouzitou obsluhou udalosti nacitani
predloh. V tomto pripade doporucuji nedelat
vlastni obsluhu a ponechat to ve vychozim stavu.> aby vzdy
> zobrazovalo bud pouze nazvy souboru nebo popisy pts sestav,
> ale ne jednou tak a jednou tak.

Prednostne se zobrazuje popis sestavy.
- uvadi se jako property v ObjectInspectoru
- dodatecne lze zmenit ve vlastnostech sestavy
pri editaci predlohy
- uklada se jako prvni radek souboru predlohy
Pokud tento popis chybi, pouzije se nouzove
nazev souboru s predlohou.> Je mozne, ze delam neco spatne, ale nezda se mi, ze by
> prirucka praci s combem
> sestav na printdialogu nejak popisovala, zdrojaky nemam, tak
> nevim, odkud mam zjistit, jak na to jit spravne.

TComboBoxPredloha je v unitu SestavyC
TPrintDialogSinea je v unitu Sest_Dlg
Oba zdrojove texty jsou obvykle soucasti vsech verzi
vcetne demonstracni verze. Alespon ve verzi X.39
to tak bylo. Viz soubor SiSest3.zip na
http://www.sinea(tec)cz/default.asp?page=50
Zdrojovy text pouziti obou komponent je v DemoZdr tamtez.
Konkretne to je v aplikaci na strance Objekty rizeni tisku
(Form7).


Vaclav Krmela

Jak rozdelit aplikaci?

[*] Erik Salaj <winsoft(zv)stonline.sk> - 24.10.2002 20:32:27

> Proc balicky ne. Preci kdyz si vytvorim plug-inovy system pomoci
> balicku,dostavam stejnou funkcionalitu jako kdyz pouziju COM. Taky mam
> zaklad aplikace, ke ktere muzu dynamicky pridavat funkcionalitu, podle
toho,
> jaky nahrahu balicek a i udrzovani takoveho kodu je jednodussi.

baliky akurat umoznuju rozdelit velky subor na mensie subory
a nic viac, to nie je porovnatelne s COM funkcionalitou

Erik

ADO vs XP

[*] Erik Salaj <winsoft(zv)stonline.sk> - 24.10.2002 20:33:03

> doplnenie - chyba nie je priamo v XP, ale v MDAC, pricom pri verzii 2.5
> fungovalo vsetko dobre, pri verzii 2.7 nie...(zaujimave, clovek si mysli
ze
> robi upgrade a robi downgrade)
> vyriesil som to tak ze som ako zdroj datu pouzil jet 4.0, a nie odbc...
> ale otazka, preco sa novsia verzia mdac sprava horsie ako starsia, zostava
> nezodpovedana....

zrejme to nikto neskusa, pretoze nema ziadny vyznam pouzivat v ADO
ODBC provider pre Access

Erik

Try..finally a inicializace promenne

[*] Ludek ZITA <konference(zv)sales(tec)cz> - 24.10.2002 21:20:44

Zdravim
Sledoval jsem s napetim tohle tema, ale nejsem z toho zrovna moudry :)
No a zrovna potrebuji v threadu dynamicky vytvaret podle situace konexi k
databazi.
No a kdyz uz jednou objekt Database a Query vytvorim a prikonektim k DB, pak
ho chci pouzit vicekrat a nerusit ho pro kazdy dotaz.
Takze klasicky postup create..try...akce...finally...free neprichazi v
uvahu.
Udelal jsem si zjednoduseny pokus :

procedure TForm1.Button1Click(Sender: TObject);
var TS: TStringList;
b: byte;
begin
if CheckBox1.Checked then
begin
TS := TStringList.Create;
TS.Text := 'BBB';
ShowMessage(TS.Text);
end
else
begin
ShowMessage('AAA');
end;
TS.Free;
end;

Takze tohle samozrejme pri zaskrtnutem checkboxu funguje, ale pri
nezaskrtnutem to ZRUSI BUTTON !!!

Jedine co pomuze je iniciovat promennou TS na NIL.

begin
TS := nil;
........

Pak to fuguje korektne. Ma to sice logiku, promenne by se mely
inicializovat, ale nema to nejake uskali ohledne korektniho uvolnovani
pameti a pod. ?

Je spravne toto :

procedure TExecThread.Execute;
var
ODBCDatabase: TODBCDatabase;
ODBCQuery: TODBCQuery;

procedure InitDB;
begin
if (ODBCDatabase <> nil) and (ODBCQuery <> nil) then
begin
// kontrola konexe
if not ODBCDatabase.Connected then ODBCDatabase.Open;
end else
begin
// pro jistotu kdyby byl uvoln�n jen jeden objekt
if ODBCDatabase <> nil then ODBCDatabase.Free;
if ODBCQuery <> nil then ODBCQuery.Free;
// vytvo�it
ODBCDatabase := TODBCDatabase.Create(Application);
ODBCQuery := TODBCQuery.Create(Application);
with ODBCQuery do
begin
Database := ODBCDatabase;
CursorType := ctDynamic;
end;
ODBCDatabase.ConnStr.text := SysUtils.StringReplace(FConnStr, ';',
';'#13#10, [rfReplaceAll]);
ODBCDatabase.Open;
end;
end;

begin
ODBCDatabase := nil;
ODBCQuery := nil;
try
// prvni blok
case mainmeny of
1:
begin
// kod bez konexe
end;
2: begin
// kod s konexi
InitDB;
ODBCQuery.SQL.text := 'select .....';
ODBCQuery.Open;
// .......
end;
end;

// druh� blok
case krok of
1:
begin
// kod bez konexe
end;
2: begin
// kod s konexi
InitDB;
ODBCQuery.SQL.text := 'select .....';
ODBCQuery.Open;
// .......
end;
end;
// pro jistotu pozavirame
if ODBCQuery.Active then ODBCQuery.Close;
if ODBCDatabase.Connected then ODBCDatabase.Close;
finally
// zrusime
if ODBCDatabase <> nil then ODBCDatabase.Free;
if ODBCQuery <> nil then ODBCQuery.Free;
end;
end;
Ve skutecnosti je to mnohem kosatejsi a k databazi se bud vubec
nepristoupi, nebo se otevira v nekolika ruznych mistech.

Dik
Ludek


----- Original Message -----
From: "Petr Vones" <pvones(zv)mbox.vol(tec)cz>
> From: "Martin Cajbik" <cajbik(zv)sct.sk>
> > Buf:= nil;
> > try
>
> Toto by melo smysl v pripade, ze chces snizit pocet vnorenych try..finally
> bloku, napriklad:
....

MySQL connect

[*] Robert Suska <delphi(zv)korak.sk> - 24.10.2002 21:53:46

Ahoj!

> ---nema to byt nahodou v c:\winnt\system32 ?

Asi nie lebo predtym ako ten subor tam nebol tak to hadzalo take chyby ze
ten subor mu chyba ked som tam cize sem c:\winnt\system skopiroval uz to
hadze chyby ze invalid user name and pass. Takze asi je to dobre

Robo

MySQL connect

[*] Robert Suska <delphi(zv)korak.sk> - 24.10.2002 21:56:19

Ahoj!

> --- a kde bezi ten MySQL server ?
> Na tom istom compe alebo na nejakom serveri na i-nete?
> totiz dost dolezite je aj nastavenie "hostname"
> ak ho mate "localhost" a na compe s Delphi Vam tiez ten server bezi
> moze to vyhadzovat tuto chybu.
>

SQL bezi na jedne masine v lokalnej sieti akoze je pravda kolega ktory sa
tam pokusa pripojit ma tie ten server na svojom lokale a hadze mu tie chyby
ale ked sa pokusam pripojit ja a ja ten server na svojom lokale nemam a robi
to tie iste chyby inac ako hostname davam IP v mojom pripade je to
192.168.100.19 inac masina sa vola ROBERT. Je to spravne ??? Sice skusal som
aj davat hostname ROBERT a tiez to neslo

Robo

Stav skladu cez modem

[*] Ludek ZITA <konference(zv)sales(tec)cz> - 24.10.2002 22:07:54


----- Original Message -----
From: "Lauko Stefan" <laukosw(zv)naex.sk>
> dostal som ukol prepojit dve vzdialene prevadzky za ucelom okamziteho
> zistenia stavu skladu z centra na pobocke.
> Malo by to fungovat bez nutnosti obsluhy na pobocke (v noci). Spojenie
budem
> realizovat cez modem.
> V tomto smere nemam takmer ziadne skusenosti. Nepouzivaju tam moj SW ale
> databaza je Access (mdb). Zatial viem ziskat len potrebne data. Co by som
> mal dat na pobocku (server) a co do centra (klient) ? Je to velka db cca
> 600 Mb.
> Data musi z DB vycucnut server vo svojej rezii a poslat ich klientovi. Dat
> nebude vela cca 50..100 poloziek. Stacil by aj HTML-subor. Mohol by ma

Ahoj.
Bez zbytecnych slozitosti treba takto.
Tise predpokladam, ze na obou stranach budou alespon W2000prof.
A) pobocka :
1) Vytvoris ucet telefonickeho prichoziho pripojeni site(Vytvorit nove
pripojeni->Prijimat prichozi pripojeni....)
2) vytvoris sdileny adresar pro vymenu souboru.
3) Naplanovana uloha (job) se spusti dejme tomu v 1:00 hod a pripoji se k
DB, SQL dotazem vytahne stav skladu a v nejakem formatu (csv,xml nebo zas�
mdb) ulozi a zazipuje na disk do sdileneho adresare.

B) Centrala
1) Vytvoris ucet telefonickeho pripojeni site(Vytvorit nove pripojeni->Tel.
pripojeni k priv. siti....)
2) Naplanovana uloha (job) se spusti dejme tomu v 2:00 hod a pripoji se k
pobocce (RAS funkce) , zkopiruje data ze sdileneho adresare, odpoji se
odzipuje , nacte a zaktualizuje data v hlavni DB.

Ty joby napises normalne v Delphi, takze to jde normalne ladit.

Na W9x by to sice mozna slo taky nejak udelat, ale bez UPS na obou stranach
a bez stabilinho OS by to byla myslim sebevrazda.

Ludek

MySQL connect

[*] Robert Suska <delphi(zv)korak.sk> - 24.10.2002 22:13:30

Ahoj


Toto presne potrebujem. Dakujem krasne FUNGUJE TO preco je tam iba taky
short nazov :) tej library ??? to sa pomylili ci co ?>Mozna napisu uplnou blbost, ale ja jsem resil neco podobneho. Podivej se
>co mas napsano v souboru dbxdrivers.ini

>Tohle bylo puvodne a neslo to:

>[MYSQL]

>LibraryName=dbexpmys.dll

>A takhle mi to funguje....

>[MYSQL]

>LibraryName=dbexpmysql.dll

>Ales

DAKUJEM Robo

Chybne zobrazeni Formu na Win XP

[*] Pavel ZIDEK <delphi(zv)kopr(tec)cz> - 25.10.2002 05:29:46

Zdravim,
mam aplikaci, ktera na Win XP ma uvodni Form zobrazen tak, jak to bylo ve
Win 95.... - tzn. horni Title nema kulate rohy ani neni tak vysoky. Ostatni
Formy v teto aplikaci uz vypadaji tak, jak maji. Pouze ten uvodni je
zdeformovany.
Nevim co jsem nekde udelal. Nevite nekdo jak se teto anomalie zbavit.
D6-Pro, win 2000

Diky za pomoc

----- KOPR software -----
Pavel ZIDEK
http://www.kopr(tec)cz, kopr(zv)kopr(tec)cz, delphi(zv)kopr(tec)cz

character set v IB

[*] Marek Dost�l <marek.dostal(zv)mujweb(tec)cz> - 25.10.2002 06:35:37

> Neviete ako v DBExpresse nastavim win 1250?

V property Params parametr ServerCharSet, hodnota win1250

Marek.

Verzie Wordu

[*] Obermaier Petr Ing. <Obermaier(zv)mail.sdas(tec)cz> - 25.10.2002 06:36:40

> Od: Roland Turcan [SMTP:rolo(zv)sedas.sk]
> 6.0 - Office 97
> 8.0 - Office 2000
> A verzia 7.0 je ktora ?
>
Office 95.
A jeste starsi verze jsou znaceny temi cisly 6.0 ...

Try..finally a inicializace promenne

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 25.10.2002 06:57:07

> procedure TForm1.Button1Click(Sender: TObject);
> var TS: TStringList;
> b: byte;
> begin
> if CheckBox1.Checked then
> begin
> TS := TStringList.Create;
> TS.Text := 'BBB';
> ShowMessage(TS.Text);
> end
> else
> begin
> ShowMessage('AAA');
> end;
> TS.Free;
> end;
>
> Takze tohle samozrejme pri zaskrtnutem checkboxu funguje, ale pri
> nezaskrtnutem to ZRUSI BUTTON !!!

Hm, pokud neni zaskrtnuty checkbox, tak se jen zobrazi message 'AAA' a nasledne
se zavola free na TS. Jakozto neinicializovana promenna obsahuje zrejme nahodny
obsah, a proto se da tezko predvidat, co ten posledni radek vyvede. Spis bych cekal
Access violation.

Reseni ale nespociva podle me v inicializaci na nil, ale v uprave logiky veci tak, aby
se lokalni promenna uvolnovala jinde - uvnitr ifu, kde se TS vytvari apod. Takhle
okus o vytvoreni probehne jen nekdy, zatimco uvolneni vzdy, a to je potreba
odstranit.

Pokud jsem nepochopil, k cemu tento prikladek smeroval, tak se omlouvam.

David Lebeda

ShortCut na Desktop

[*] �tevl�k Mari�n <Marian.Stevlik(zv)merlin(tec)cz> - 25.10.2002 07:24:37

Caute
Chcel sby som sa vas opytat, ako mozem k nejakemu suboru (predpokladajme ze
ide o exe) vytvorit programovo shortcut a aby bol umiestneny na desktop?
Dik

Stevlik Marian
Software Development Specialist
MERLIN
Stefanikova 32
150 00 Prague 5
Czech Republic
e-mail: marian.stevlik(zv)merlin(tec)cz
tel: +420 241010111 (181)
fax: +420 241010165
icq: 38493645

ObjectPascal a with Was: Jak rozdelit aplikaci?

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 25.10.2002 07:39:04

> Odes�latel: Petr Vones <pvones(zv)mbox.vol(tec)cz>
> with Object1, Object2 do
> try
> ....
> finally
> Free;
> end;
> Zavola se Object1.Free nebo Object2.Free ?

Ono to s tim "with" je asi jako s mnoha dalsimi konstrukcemi v Object Pascalu.
Pouzije-li se sikovne, kod to zprehledni, pouzije-li se nesikovne, je to naopak.
Ja bych se rozhodne vyhnul tomu, abych to, co je za "do...", nevidel na jedne obrazovce.
Pak jasne vim, s jakym objektem pracuji a ze volam jeho metody.

Problem, ktery popsal Petr vyse, mi trochu pripomina problemy s vicenasobnou dedicnosti (kterou ovsem Object Pascal nepodporuje), ne?

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. 493 792 931 (mobil 776 347735)
=========================================

ShortCut na Desktop

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 25.10.2002 07:48:14

TmEgemppc3RlbmkgYWRyZXNhcmUgcGxvY2h5IG11emVzIHBvdXppdCB0cmViYSBmdW5rY2kgeiBK
Q0wNCkdldERlc2tUb3BEaXJlY3RvcnkuIEpha28gQUZpbGVOYW1lIHByZWRhcyBqbWVubyB6YXN0
dXBjZSwgdHJlYmENCkluY2x1ZGVUcmFpbGluZ0JhY2tTbGFzaChHZXREZXNrVG9wRGlyZWN0b3J5
KSArICdXb3JkLmxuaycNClByb2NlZHVyYSB2eXR2b3JpIHphc3R1cGNlIHBvZGxlIHNwdXN0ZW5l
aG8gcHJvZ3JhbXUNCihBcHBsaWNhdGlvbi5FeGVOYW1lKSwgYWxlIHRvIHV6IHNpIHVyY2l0ZSB1
cHJhdmlzIHBvZGxlIHBvdHJlYnkNCg0KVXNlcyBTaGxPYmosIEFjdGl2ZVgsIENvbU9iai4uLg0K
DQpwcm9jZWR1cmUgTGluayhBRmlsZU5hbWU6IHN0cmluZyk7DQp2YXINCiAgTGluazogSVNoZWxs
TGluazsNCiAgSVBGaWxlOiBJUGVyc2lzdEZpbGU7DQogIHM6IHN0cmluZzsNCiAgczI6IFdpZGVT
dHJpbmc7DQpiZWdpbg0KICBpZiBub3QgRmlsZUV4aXN0cyhBRmlsZU5hbWUpIHRoZW4NCiAgYmVn
aW4NCiAgICBMaW5rIDo9IENyZWF0ZUNvbU9iamVjdChDTFNJRF9TaGVsbExpbmspIGFzIElTaGVs
bExpbms7DQogICAgSVBGaWxlIDo9IExpbmsgYXMgSVBlcnNpc3RGaWxlOw0KICAgIHMgOj0gQXBw
bGljYXRpb24uRXhlTmFtZTsNCiAgICBPbGVDaGVjayhMaW5rLlNldFBhdGgoUENoYXIocykpKTsN
CiAgICBzIDo9IEV4dHJhY3RGaWxlRGlyKEFwcGxpY2F0aW9uLkV4ZU5hbWUpOw0KICAgIE9sZUNo
ZWNrKExpbmsuU2V0V29ya2luZ0RpcmVjdG9yeShQQ2hhcihzKSkpOw0KICAgIHMyIDo9IEFGaWxl
TmFtZTsNCiAgICBPbGVDaGVjayhJUEZpbGUuU2F2ZShQV2lkZUNoYXIoczIpLCBGYWxzZSkpOw0K
ICBlbmQ7DQplbmQ7DQoNCg0KLS0gDQppbmcuIEphbiBGaWFsYQ0KbWFpbHRvOmphbi5maWFsYUBp
b2wuY3oNCg0KMjUuMTAuMjAwMiCpdGV2bO1rIE1hcmnhbjoNCj4gQ2F1dGUNCj4gQ2hjZWwgc2J5
IHNvbSBzYSB2YXMgb3B5dGF0LCBha28gbW96ZW0gayBuZWpha2VtdSBzdWJvcnUgKHByZWRwb2ts
YWRham1lIHplDQo+IGlkZSBvIGV4ZSkgdnl0dm9yaXQgcHJvZ3JhbW92byBzaG9ydGN1dCBhIGFi
eSBib2wgdW1pZXN0bmVueSBuYSBkZXNrdG9wPw0KPiBEaWs=

Zistenie statusu LPT

[*] Roman Newman <r.newman(zv)zmail.sk> - 25.10.2002 07:55:44

Zdrvym Vsetkych

Neviete mi niekto poradit ci existuje funkcia ktora vracia status LPT portu
otvoreneho
pomocou CREATEFILE nieco ako pri COM -GetCommModemStatus-, resp.
ci sa da v D5 otvorit LPT port tak aby som vedel kontrolovat ci ma tlaciaren
papier.

Vdaka.

Roman Newman

Stazeni souboru s progessbarem

[*] Karel Krtecek <karel.krtecek(zv)centrum(tec)cz> - 25.10.2002 08:07:23

Dobry den,

potrebuji nutne a co nejdrive vyresit stazeni libovolneho souboru z
internetu pomoci protokolu HTTP (dostanu napr. adresu
http://www.cosi(tec)cz/ikona.gif) s tim, ze musim ukazovat prubeh
stahovani a informovat o pripadnych chybach jak na strane serveru,
tak na strane klienta - napr. server nedostupny, nedostatek mista na
cilovem disku apod.). Poradte mi prosim, co mam pouzit a jak. Mam D6-
Ent. s poslednim service packem. Cim podrobneji (napr. kus kodu, tim
lepe).

Dekuji moc za pomoc

Karel Krtecek


--------------------
V�ce ne� 5.200 byt�, dom� a pozemk� v �R i zahrani��.
http://reality.centrum(tec)cz


Stazeni souboru s progessbarem

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 25.10.2002 08:21:13

Synapse a unita HTTPSend. V hlavicce unity jsou priklady. mas tam i
demo.

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

25.10.2002 Karel Krtecek:
> potrebuji nutne a co nejdrive vyresit stazeni libovolneho souboru z
> internetu pomoci protokolu HTTP (dostanu napr. adresu
> http://www.cosi(tec)cz/ikona.gif) s tim, ze musim ukazovat prubeh
> stahovani a informovat o pripadnych chybach jak na strane serveru,
> tak na strane klienta - napr. server nedostupny, nedostatek mista na
> cilovem disku apod.). Poradte mi prosim, co mam pouzit a jak. Mam D6-
> Ent. s poslednim service packem. Cim podrobneji (napr. kus kodu, tim
> lepe).

Stazeni souboru s progessbarem

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 25.10.2002 08:24:44

> potrebuji nutne a co nejdrive vyresit stazeni libovolneho souboru z
> internetu pomoci protokolu HTTP (dostanu napr. adresu
> http://www.cosi(tec)cz/ikona.gif) s tim, ze musim ukazovat prubeh
> stahovani a informovat o pripadnych chybach jak na strane serveru, tak
> na strane klienta - napr. server nedostupny, nedostatek mista na
> cilovem disku apod.). Poradte mi prosim, co mam pouzit a jak. Mam D6-
> Ent. s poslednim service packem. Cim podrobneji (napr. kus kodu, tim
> lepe).

Da se to resit treba pres Synapsi... je tam primo objekt na HTTP
protokol. Kdyz si povesis svoji proceduru na Thttpsend.sock.onstatus
event, tak si muzes kreslit progressbary doaleluja. ;-)
-- Lukas Gebauer.

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

Outlook Express - KonfView

[*] Karel Brkl <karel_brkl(zv)hotmail(tec)com> - 25.10.2002 08:33:57

Nevite nekdo jak stahnout prispevky z Outlok Expres do KonfView?

Diky

Karel Brkl

ShortCut na Desktop

[*] Blazek Jaroslav <Jaroslav.Blazek(zv)access-it(tec)cz> - 25.10.2002 07:45:29

Ahoj,

> Marian.Stevlik(zv)merlin(tec)cz 25.10.02 6:24 >>>
>Chcel sby som sa vas opytat, ako mozem k nejakemu suboru (predpokladajme ze
>ide o exe) vytvorit programovo shortcut a aby bol umiestneny na desktop?

http://www.windev(tec)cz/clanek.asp?stranka=shell_I.htm


S pozdravem

Bc. Jaroslav Blazek
Access-IT Ceska Lipa
mailto:jaroslav.blazek(zv)access-it(tec)cz
http://www.access-it(tec)cz
ICQ# : 133673990
+420605/813644

Try..finally a inicializace promenne

[*] Lubos Urban <Lubos.Urban(zv)visicom.sk> - 25.10.2002 09:05:16

Je to zaujimave ja som to skusil takto:

procedure TForm1.Button1Click(Sender: TObject);
var TS: TStringList;
begin
TS.Free;
end;

a Cela Forma posla niekde ale netusim kde lebo to neukoncilo aplikaciu

no a ked som to krokoval tak som sa dostal priamo sem

procedure TObject.Free;
asm
TEST EAX,EAX
JE (zv)(zv)exit
MOV ECX,[EAX]
MOV DL,1
CALL dword ptr [ECX].vmtDestroy
(zv)(zv)exit:
end;

a nie do destruktoru TStringListu;

Ked mi toto niekto vysvetli ze co robi ten kusok asembleru a preco to
nepadlo na destruktore TStringListu s AccesViolation

destructor TStringList.Destroy;
begin
FOnChange := nil;
FOnChanging := nil;
inherited Destroy;
if FCount <> 0 then Finalize(FList^[0], FCount);
FCount := 0;
SetCapacity(0);
end;

kde sa pristupuje k premennym triedy (FCount, FOnChanging .. ) ktore pri
neinstancovanych triedach by sa maly odkazovat len niekde do nealokovanej
pamate, budem vam povdacny :)

----- Original Message -----
From: "Ludek ZITA" <konference(zv)sales(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, October 24, 2002 9:20 PM
Subject: Re: Try..finally a inicializace promenne


> Zdravim
> Sledoval jsem s napetim tohle tema, ale nejsem z toho zrovna moudry :)
> No a zrovna potrebuji v threadu dynamicky vytvaret podle situace konexi k
> databazi.
> No a kdyz uz jednou objekt Database a Query vytvorim a prikonektim k DB,
pak
> ho chci pouzit vicekrat a nerusit ho pro kazdy dotaz.
> Takze klasicky postup create..try...akce...finally...free neprichazi v
> uvahu.
> Udelal jsem si zjednoduseny pokus :
>
> procedure TForm1.Button1Click(Sender: TObject);
> var TS: TStringList;
> b: byte;
> begin
> if CheckBox1.Checked then
> begin
> TS := TStringList.Create;
> TS.Text := 'BBB';
> ShowMessage(TS.Text);
> end
> else
> begin
> ShowMessage('AAA');
> end;
> TS.Free;
> end;
>
> Takze tohle samozrejme pri zaskrtnutem checkboxu funguje, ale pri
> nezaskrtnutem to ZRUSI BUTTON !!!
>
> Jedine co pomuze je iniciovat promennou TS na NIL.
>
> begin
> TS := nil;
> ........
>
> Pak to fuguje korektne. Ma to sice logiku, promenne by se mely
> inicializovat, ale nema to nejake uskali ohledne korektniho uvolnovani
> pameti a pod. ?
>
> Je spravne toto :
>
> procedure TExecThread.Execute;
> var
> ODBCDatabase: TODBCDatabase;
> ODBCQuery: TODBCQuery;
>
> procedure InitDB;
> begin
> if (ODBCDatabase <> nil) and (ODBCQuery <> nil) then
> begin
> // kontrola konexe
> if not ODBCDatabase.Connected then ODBCDatabase.Open;
> end else
> begin
> // pro jistotu kdyby byl uvoln�n jen jeden objekt
> if ODBCDatabase <> nil then ODBCDatabase.Free;
> if ODBCQuery <> nil then ODBCQuery.Free;
> // vytvo�it
> ODBCDatabase := TODBCDatabase.Create(Application);
> ODBCQuery := TODBCQuery.Create(Application);
> with ODBCQuery do
> begin
> Database := ODBCDatabase;
> CursorType := ctDynamic;
> end;
> ODBCDatabase.ConnStr.text := SysUtils.StringReplace(FConnStr, ';',
> ';'#13#10, [rfReplaceAll]);
> ODBCDatabase.Open;
> end;
> end;
>
> begin
> ODBCDatabase := nil;
> ODBCQuery := nil;
> try
> // prvni blok
> case mainmeny of
> 1:
> begin
> // kod bez konexe
> end;
> 2: begin
> // kod s konexi
> InitDB;
> ODBCQuery.SQL.text := 'select .....';
> ODBCQuery.Open;
> // .......
> end;
> end;
>
> // druh� blok
> case krok of
> 1:
> begin
> // kod bez konexe
> end;
> 2: begin
> // kod s konexi
> InitDB;
> ODBCQuery.SQL.text := 'select .....';
> ODBCQuery.Open;
> // .......
> end;
> end;
> // pro jistotu pozavirame
> if ODBCQuery.Active then ODBCQuery.Close;
> if ODBCDatabase.Connected then ODBCDatabase.Close;
> finally
> // zrusime
> if ODBCDatabase <> nil then ODBCDatabase.Free;
> if ODBCQuery <> nil then ODBCQuery.Free;
> end;
> end;
>
>
> Ve skutecnosti je to mnohem kosatejsi a k databazi se bud vubec
> nepristoupi, nebo se otevira v nekolika ruznych mistech.
>
> Dik
> Ludek
>
>
> ----- Original Message -----
> From: "Petr Vones" <pvones(zv)mbox.vol(tec)cz>
> > From: "Martin Cajbik" <cajbik(zv)sct.sk>
> > > Buf:= nil;
> > > try
> >
> > Toto by melo smysl v pripade, ze chces snizit pocet vnorenych
try..finally
> > bloku, napriklad:
> ....
>
>

ObjectPascal a with Was: Jak rozdelit aplikaci?

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

> Jeste lepsi je tohle:
>
> with Object1, Object2 do
> try
> ....
> finally
> Free;
> end;
>
> Zavola se Object1.Free nebo Object2.Free ?

Object2.Free. Skratka vyhodnocuje sa to odzadu. Je to popisane aj v helpe:

<help>
When multiple objects or records appear after with, the entire statement is
treated like a series of nested with statements. Thus

with obj1, obj2, ..., objn do statement

is equivalent to

with obj1 do

with obj2 do
...
with objn do
statement

In this case, each variable reference or method name in statement is
interpreted, if possible, as a member of objn; otherwise it is interpreted,
if possible, as a member of objn-1; and so forth. The same rule applies to
interpreting the objs themselves, so that, for instance, if objn is a member
of both obj1 and obj2, it is interpreted as obj2.objn.
</help>

Zda sa to mozno trochu zlozite, ale mne to pripada v pohode, nemam problemy
s citanim with statementov, je to intuitivne a setri to pisanie. Zase na
druhu stranu, da sa to tiez zneuzit a vysledok moze byt read-only alebo
dokonca stare-only kod...

TOndrej

Windowless ActiveX

[*] Petr Langer <langer(zv)xdom(tec)cz> - 25.10.2002 09:13:56

Zdravim,
nemate nekdo zkusenosti se psanim windowless controls pro IE ?
V MSDN jsem nasel, ze se ma pouzit interface IOleInPlaceObjectWindowless,
ten ale neni implementovany v D5. Prepsat ho by nemel byt problem, ale nikde
jsem nenasel nejake priklady (resp. v C++, jenze v tech se moc nevyznam,
zvlaste pri jejich zapisu pri programovani COM).

Diky za kazdy tip
Petr Langer


Try..finally a inicializace promenne

[*] Petr Langer <langer(zv)xdom(tec)cz> - 25.10.2002 09:32:48

Tak presne na toto jsem se ptal nedavno (asi tri ctyri dny zpatky) tady v
konferenci ;-). Pokud to pouzijes jako lokalni promenou, tak na zacatku, v
begin NENI objekt = nil, takze to na free vyhuci.

petr

----- Original Message -----
From: "Lubos Urban" <Lubos.Urban(zv)visicom.sk>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Friday, October 25, 2002 9:05 AM
Subject: Re: Try..finally a inicializace promenne


> Je to zaujimave ja som to skusil takto:
>
> procedure TForm1.Button1Click(Sender: TObject);
> var TS: TStringList;
> begin
> TS.Free;
> end;
>
> a Cela Forma posla niekde ale netusim kde lebo to neukoncilo aplikaciu
>
> no a ked som to krokoval tak som sa dostal priamo sem
>
> procedure TObject.Free;
> asm
> TEST EAX,EAX
> JE (zv)(zv)exit
> MOV ECX,[EAX]
> MOV DL,1
> CALL dword ptr [ECX].vmtDestroy
> (zv)(zv)exit:
> end;
>
> a nie do destruktoru TStringListu;
>
> Ked mi toto niekto vysvetli ze co robi ten kusok asembleru a preco to
> nepadlo na destruktore TStringListu s AccesViolation
>
> destructor TStringList.Destroy;
> begin
> FOnChange := nil;
> FOnChanging := nil;
> inherited Destroy;
> if FCount <> 0 then Finalize(FList^[0], FCount);
> FCount := 0;
> SetCapacity(0);
> end;
>
> kde sa pristupuje k premennym triedy (FCount, FOnChanging .. ) ktore pri
> neinstancovanych triedach by sa maly odkazovat len niekde do nealokovanej
> pamate, budem vam povdacny :)
>
> ----- Original Message -----
> From: "Ludek ZITA" <konference(zv)sales(tec)cz>
> To: <delphi-l(zv)clexpert(tec)cz>
> Sent: Thursday, October 24, 2002 9:20 PM
> Subject: Re: Try..finally a inicializace promenne
>
>
> > Zdravim
> > Sledoval jsem s napetim tohle tema, ale nejsem z toho zrovna moudry :)
> > No a zrovna potrebuji v threadu dynamicky vytvaret podle situace konexi
k
> > databazi.
> > No a kdyz uz jednou objekt Database a Query vytvorim a prikonektim k DB,
> pak
> > ho chci pouzit vicekrat a nerusit ho pro kazdy dotaz.
> > Takze klasicky postup create..try...akce...finally...free neprichazi v
> > uvahu.
> > Udelal jsem si zjednoduseny pokus :
> >
> > procedure TForm1.Button1Click(Sender: TObject);
> > var TS: TStringList;
> > b: byte;
> > begin
> > if CheckBox1.Checked then
> > begin
> > TS := TStringList.Create;
> > TS.Text := 'BBB';
> > ShowMessage(TS.Text);
> > end
> > else
> > begin
> > ShowMessage('AAA');
> > end;
> > TS.Free;
> > end;
> >
> > Takze tohle samozrejme pri zaskrtnutem checkboxu funguje, ale pri
> > nezaskrtnutem to ZRUSI BUTTON !!!
> >
> > Jedine co pomuze je iniciovat promennou TS na NIL.
> >
> > begin
> > TS := nil;
> > ........
> >
> > Pak to fuguje korektne. Ma to sice logiku, promenne by se mely
> > inicializovat, ale nema to nejake uskali ohledne korektniho uvolnovani
> > pameti a pod. ?
> >
> > Je spravne toto :
> >
> > procedure TExecThread.Execute;
> > var
> > ODBCDatabase: TODBCDatabase;
> > ODBCQuery: TODBCQuery;
> >
> > procedure InitDB;
> > begin
> > if (ODBCDatabase <> nil) and (ODBCQuery <> nil) then
> > begin
> > // kontrola konexe
> > if not ODBCDatabase.Connected then ODBCDatabase.Open;
> > end else
> > begin
> > // pro jistotu kdyby byl uvoln�n jen jeden objekt
> > if ODBCDatabase <> nil then ODBCDatabase.Free;
> > if ODBCQuery <> nil then ODBCQuery.Free;
> > // vytvo�it
> > ODBCDatabase := TODBCDatabase.Create(Application);
> > ODBCQuery := TODBCQuery.Create(Application);
> > with ODBCQuery do
> > begin
> > Database := ODBCDatabase;
> > CursorType := ctDynamic;
> > end;
> > ODBCDatabase.ConnStr.text := SysUtils.StringReplace(FConnStr, ';',
> > ';'#13#10, [rfReplaceAll]);
> > ODBCDatabase.Open;
> > end;
> > end;
> >
> > begin
> > ODBCDatabase := nil;
> > ODBCQuery := nil;
> > try
> > // prvni blok
> > case mainmeny of
> > 1:
> > begin
> > // kod bez konexe
> > end;
> > 2: begin
> > // kod s konexi
> > InitDB;
> > ODBCQuery.SQL.text := 'select .....';
> > ODBCQuery.Open;
> > // .......
> > end;
> > end;
> >
> > // druh� blok
> > case krok of
> > 1:
> > begin
> > // kod bez konexe
> > end;
> > 2: begin
> > // kod s konexi
> > InitDB;
> > ODBCQuery.SQL.text := 'select .....';
> > ODBCQuery.Open;
> > // .......
> > end;
> > end;
> > // pro jistotu pozavirame
> > if ODBCQuery.Active then ODBCQuery.Close;
> > if ODBCDatabase.Connected then ODBCDatabase.Close;
> > finally
> > // zrusime
> > if ODBCDatabase <> nil then ODBCDatabase.Free;
> > if ODBCQuery <> nil then ODBCQuery.Free;
> > end;
> > end;
> >
> >
> >
> > Ve skutecnosti je to mnohem kosatejsi a k databazi se bud vubec
> > nepristoupi, nebo se otevira v nekolika ruznych mistech.
> >
> > Dik
> > Ludek
> >
> >
> > ----- Original Message -----
> > From: "Petr Vones" <pvones(zv)mbox.vol(tec)cz>
> > > From: "Martin Cajbik" <cajbik(zv)sct.sk>
> > > > Buf:= nil;
> > > > try
> > >
> > > Toto by melo smysl v pripade, ze chces snizit pocet vnorenych
> try..finally
> > > bloku, napriklad:
> > ....
> >
> >
> >
>
>

MySQL connect

[*] Robert Suska <delphi(zv)korak.sk> - 25.10.2002 09:35:32

Ahoj!

Uz som pisal ze mi to funguje ale mam problem s pripojenim DBGridu na
datasource hadze mi to Operation not allowed on a undirectional dataset.
???? Preco mi to robi resp. popis mi ako a ktore komponenty mam prepojit aby
to islo ?

Dakujem

S pozdravom Robo
>Mozna napisu uplnou blbost, ale ja jsem resil neco podobneho. Podivej se
>co mas napsano v souboru dbxdrivers.ini

>Tohle bylo puvodne a neslo to:

>[MYSQL]
...
>LibraryName=dbexpmys.dll

>A takhle mi to funguje....

>[MYSQL]
...
>LibraryName=dbexpmysql.dll

>Ales

Try..finally a inicializace promenne

[*] Lubos Urban <Lubos.Urban(zv)visicom.sk> - 25.10.2002 09:37:36

No tak uz som dostal vysvetlenie :)

Kedze pri instanciovani objektu sa vytvaraju iba jeho data a nie metody,
ktore su pre vsetky objekty tej istej classy spolocne, tak mozme zavolat
hociaku funckciu aj neinstancoivaneho objektu (Free) ktora ako prvy
parameter dostane self co je vlastne parameter na objekt ktory funkciu vola.
Kedze v Delphi nie su lokalne premenne automaticky nastavovane na defaultne
hodnoty na rozdiel od premennych deklarovanych v triede vyzera to asi
nesledovne ak sa nemylim:

procedure TForm1.Button1Click(Sender: TObject);
var TS: TStringList;
begin
// TS nieje nil;
TS.Free;
end

procedure TObject.Free;
asm
TEST EAX,EAX
JE (zv)(zv)exit
// porovnanie ci EAX prvy parameter funkcie (self) nie je 0 (nil)
// a kedze pri lokalnych premmeny ich hodnoty niesu nastavovane na nil
// tak tam nil nieje a funkcia nekonci a pokracuje
// a ked mame smolku tak v EAX je nejaka platna adresa napr na Formu
// alebo nejaku inu komponentu a zdestruujde sa ta :)
MOV ECX,[EAX]
MOV DL,1
CALL dword ptr [ECX].vmtDestroy
(zv)(zv)exit:
end;

==========================
ak by bola TS delklarovana v triede TForm1 vypadalo by to asi takto:

procedure TForm1.Button1Click(Sender: TObject);
begin
// TS je nil lebo premenne deklarovane v triede su automaticky
inicializovane na defaultne hodnoty
// v tomto pripade nil
TS.Free;
end

procedure TObject.Free;
asm
TEST EAX,EAX
JE (zv)(zv)exit
// porovnanie ci EAX prvy parameter funkcie (self) nie je 0 (nil)
// EAX je 0 (nil) funcia konci nic sa nedestrojuje
MOV ECX,[EAX]
MOV DL,1
CALL dword ptr [ECX].vmtDestroy
(zv)(zv)exit:
end;

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

Zaver: Vzdy inicializovat lokalne premenne, najma ak su to instancie tried
:)


----- Original Message -----
From: "Lubos Urban" <Lubos.Urban(zv)visicom.sk>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Friday, October 25, 2002 9:05 AM
Subject: Re: Try..finally a inicializace promenne


> Je to zaujimave ja som to skusil takto:
>
> procedure TForm1.Button1Click(Sender: TObject);
> var TS: TStringList;
> begin
> TS.Free;
> end;
>
> a Cela Forma posla niekde ale netusim kde lebo to neukoncilo aplikaciu
>
> no a ked som to krokoval tak som sa dostal priamo sem
>
> procedure TObject.Free;
> asm
> TEST EAX,EAX
> JE (zv)(zv)exit
> MOV ECX,[EAX]
> MOV DL,1
> CALL dword ptr [ECX].vmtDestroy
> (zv)(zv)exit:
> end;
>
> a nie do destruktoru TStringListu;
>
> Ked mi toto niekto vysvetli ze co robi ten kusok asembleru a preco to
> nepadlo na destruktore TStringListu s AccesViolation
>
> destructor TStringList.Destroy;
> begin
> FOnChange := nil;
> FOnChanging := nil;
> inherited Destroy;
> if FCount <> 0 then Finalize(FList^[0], FCount);
> FCount := 0;
> SetCapacity(0);
> end;
>
> kde sa pristupuje k premennym triedy (FCount, FOnChanging .. ) ktore pri
> neinstancovanych triedach by sa maly odkazovat len niekde do nealokovanej
> pamate, budem vam povdacny :)
>
> ----- Original Message -----
> From: "Ludek ZITA" <konference(zv)sales(tec)cz>
> To: <delphi-l(zv)clexpert(tec)cz>
> Sent: Thursday, October 24, 2002 9:20 PM
> Subject: Re: Try..finally a inicializace promenne
>
>
> > Zdravim
> > Sledoval jsem s napetim tohle tema, ale nejsem z toho zrovna moudry :)
> > No a zrovna potrebuji v threadu dynamicky vytvaret podle situace konexi
k
> > databazi.
> > No a kdyz uz jednou objekt Database a Query vytvorim a prikonektim k DB,
> pak
> > ho chci pouzit vicekrat a nerusit ho pro kazdy dotaz.
> > Takze klasicky postup create..try...akce...finally...free neprichazi v
> > uvahu.
> > Udelal jsem si zjednoduseny pokus :
> >
> > procedure TForm1.Button1Click(Sender: TObject);
> > var TS: TStringList;
> > b: byte;
> > begin
> > if CheckBox1.Checked then
> > begin
> > TS := TStringList.Create;
> > TS.Text := 'BBB';
> > ShowMessage(TS.Text);
> > end
> > else
> > begin
> > ShowMessage('AAA');
> > end;
> > TS.Free;
> > end;
> >
> > Takze tohle samozrejme pri zaskrtnutem checkboxu funguje, ale pri
> > nezaskrtnutem to ZRUSI BUTTON !!!
> >
> > Jedine co pomuze je iniciovat promennou TS na NIL.
> >
> > begin
> > TS := nil;
> > ........
> >
> > Pak to fuguje korektne. Ma to sice logiku, promenne by se mely
> > inicializovat, ale nema to nejake uskali ohledne korektniho uvolnovani
> > pameti a pod. ?
> >
> > Je spravne toto :
> >
> > procedure TExecThread.Execute;
> > var
> > ODBCDatabase: TODBCDatabase;
> > ODBCQuery: TODBCQuery;
> >
> > procedure InitDB;
> > begin
> > if (ODBCDatabase <> nil) and (ODBCQuery <> nil) then
> > begin
> > // kontrola konexe
> > if not ODBCDatabase.Connected then ODBCDatabase.Open;
> > end else
> > begin
> > // pro jistotu kdyby byl uvoln�n jen jeden objekt
> > if ODBCDatabase <> nil then ODBCDatabase.Free;
> > if ODBCQuery <> nil then ODBCQuery.Free;
> > // vytvo�it
> > ODBCDatabase := TODBCDatabase.Create(Application);
> > ODBCQuery := TODBCQuery.Create(Application);
> > with ODBCQuery do
> > begin
> > Database := ODBCDatabase;
> > CursorType := ctDynamic;
> > end;
> > ODBCDatabase.ConnStr.text := SysUtils.StringReplace(FConnStr, ';',
> > ';'#13#10, [rfReplaceAll]);
> > ODBCDatabase.Open;
> > end;
> > end;
> >
> > begin
> > ODBCDatabase := nil;
> > ODBCQuery := nil;
> > try
> > // prvni blok
> > case mainmeny of
> > 1:
> > begin
> > // kod bez konexe
> > end;
> > 2: begin
> > // kod s konexi
> > InitDB;
> > ODBCQuery.SQL.text := 'select .....';
> > ODBCQuery.Open;
> > // .......
> > end;
> > end;
> >
> > // druh� blok
> > case krok of
> > 1:
> > begin
> > // kod bez konexe
> > end;
> > 2: begin
> > // kod s konexi
> > InitDB;
> > ODBCQuery.SQL.text := 'select .....';
> > ODBCQuery.Open;
> > // .......
> > end;
> > end;
> > // pro jistotu pozavirame
> > if ODBCQuery.Active then ODBCQuery.Close;
> > if ODBCDatabase.Connected then ODBCDatabase.Close;
> > finally
> > // zrusime
> > if ODBCDatabase <> nil then ODBCDatabase.Free;
> > if ODBCQuery <> nil then ODBCQuery.Free;
> > end;
> > end;
> >
> >
> >
> > Ve skutecnosti je to mnohem kosatejsi a k databazi se bud vubec
> > nepristoupi, nebo se otevira v nekolika ruznych mistech.
> >
> > Dik
> > Ludek
> >
> >
> > ----- Original Message -----
> > From: "Petr Vones" <pvones(zv)mbox.vol(tec)cz>
> > > From: "Martin Cajbik" <cajbik(zv)sct.sk>
> > > > Buf:= nil;
> > > > try
> > >
> > > Toto by melo smysl v pripade, ze chces snizit pocet vnorenych
> try..finally
> > > bloku, napriklad:
> > ....
> >
> >
> >
>
>

Try..finally a inicializace promenne

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 25.10.2002 09:41:29

> destructor TStringList.Destroy;
> begin
> FOnChange := nil;
> FOnChanging := nil;
> inherited Destroy;
> if FCount <> 0 then Finalize(FList^[0], FCount);
> FCount := 0;
> SetCapacity(0);
> end;

Tak ty nejdrive ten objekt peclive zlikvidujes (tim inherited
Destroy), a pak se snazis pristupovat k jeho promennym (FCount) a
jeste navic pristupovat k jeho metodam (setCapacity).. to preci musi
zbuchnout, ne? ;-)
-- Lukas Gebauer.

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

MySQL connect

[*] Ales Radikovsky <radik(zv)allstar(tec)cz> - 25.10.2002 09:52:38

Musis pouzit obecny TClientDataset nebo TSQLClientDataSet z dbExpress.
Na TSQLDataset nebo TSQLQuery to primo napojit nejde.
Podivej se do helpu, je to tam celkem dobre popsano.

Ales.

> Uz som pisal ze mi to funguje ale mam problem s pripojenim DBGridu na
> datasource hadze mi to Operation not allowed on a
> undirectional dataset.
> ???? Preco mi to robi resp. popis mi ako a ktore komponenty
> mam prepojit aby
> to islo ?

Try..finally a inicializace promenne

[*] Lubos Urban <Lubos.Urban(zv)visicom.sk> - 25.10.2002 10:01:20

To je original Borlandovsky zdrojak (classes.pas :)))


----- Original Message -----
From: "Lukas Gebauer" <gebylist(zv)mlp(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Friday, October 25, 2002 9:41 AM
Subject: Re: Try..finally a inicializace promenne


> > destructor TStringList.Destroy;
> > begin
> > FOnChange := nil;
> > FOnChanging := nil;
> > inherited Destroy;
> > if FCount <> 0 then Finalize(FList^[0], FCount);
> > FCount := 0;
> > SetCapacity(0);
> > end;
>
> Tak ty nejdrive ten objekt peclive zlikvidujes (tim inherited
> Destroy), a pak se snazis pristupovat k jeho promennym (FCount) a
> jeste navic pristupovat k jeho metodam (setCapacity).. to preci musi
> zbuchnout, ne? ;-)
>
>
>
> -- Lukas Gebauer.
>
> E-mail: gebauerl(zv)mlp(tec)cz
> http://www.ararat(tec)cz/synapse/ - Synapse Delphi and Kylix TCP/IP Lib.
>
>
>

Try..finally a inicializace promenne

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 25.10.2002 10:11:37

> procedure TForm1.Button1Click(Sender: TObject);
> var TS: TStringList;
> begin
> TS.Free;
> end;
>
> a Cela Forma posla niekde ale netusim kde lebo to neukoncilo aplikaciu
>
> no a ked som to krokoval tak som sa dostal priamo sem
>
> procedure TObject.Free;
> asm
> TEST EAX,EAX
> JE (zv)(zv)exit
> MOV ECX,[EAX]
> MOV DL,1
> CALL dword ptr [ECX].vmtDestroy
> (zv)(zv)exit:
> end;
>
> a nie do destruktoru TStringListu;
>
> Ked mi toto niekto vysvetli ze co robi ten kusok asembleru a preco to
> nepadlo na destruktore TStringListu s AccesViolation

ten kusok asembleru robi toto:

procedure TObject.Free;
begin
if Self <> nil then
Destroy;
end;

Cize volas proceduru Free, ktora skontroluje, ci je dana premenna nil, a ak
nie je, zavola virtualny Destroy, tzn. vo VMT (virtual method table) danej
instancie sa vyhlada adresa Destroy posledneho potomka, ktory overridol
Destroy a ta sa zavola. Ked je ten pointer neinicializovany, potom aj jeho
VMT je sada divokych pointrov ;-)

VMT ma myslim negativne offsety od Self, takze je mozne, ze to na tych
adresach nahodou naslo odkaz na Destroy toho formulara. Tam si potom dostal
AV pretoze nie je mozne destruovat windowed control v kontexte spracovania
spravy (WM_LBUTTONUP) Ale to su uz dohady. Skratka, neinicializovany pointer
ukazuje na blok pameti s nedefinovanym obsahom, takze pri jeho pouziti sa
moze stat _cokolvek_.
Jedna stara cinska kliatba vraj znela "Nech je Tvoj zivot zaujimavy". ;-)

HTH
TOndrej

Version DLL

[*] <M.Babik(zv)mus(tec)cz> - 25.10.2002 11:00:50

Zdravim,
nevim jak priradit DLL-ku cislo verze. V projektu je ten checkbox "Include version information in project" enable. :-( M&B

Try..finally a inicializace promenne

[*] �tevl�k Mari�n <Marian.Stevlik(zv)merlin(tec)cz> - 25.10.2002 11:02:46

Ak sa mozem pripojit do diskusie, tak by som sa chcel tiez nieco spytat
ohladom try ... finally
Majme nieco taketo:

var
Obj1: TObj1;
Obj2: TObj2;
begin
Obj1 := TObj1.Create(...);
try
try
...
if (NejakaPodmienka) then
begin
Obj2 := TObj2.Create(...);
try
...
finally
Obj2.Free;
end;
end;
...
except
ShowMessage('Chyba!');
end;
finally
Obj1.Free;
end;
end;

No a otazka znie
Ak sa vyskytne nejaka chyba medzi try ... finally pre Obj2 tak sa odchyti az
vtom jedinom except, ale je otazne ci sa predtym este zavola to Obj2.Free v
jeho finally, alebo sa rovno skoci do except a Obj2 ostane vysiet v pamati?

Stevlik Marian
Software Development Specialist
MERLIN
Stefanikova 32
150 00 Prague 5
Czech Republic
e-mail: marian.stevlik(zv)merlin(tec)cz
tel: +420 241010111 (181)
fax: +420 241010165
icq: 38493645

Try..finally a inicializace promenne

[*] Petr Langer <langer(zv)xdom(tec)cz> - 25.10.2002 11:32:25

zavola se v kazdem pripade, ale jak jsi spravne uvedl, tak tam ta chyba
neskonci, ale predava s pak dal az to nejblizsiho except.

petr

----- Original Message -----
From: "�tevl�k Mari�n" <Marian.Stevlik(zv)merlin(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Friday, October 25, 2002 11:02 AM
Subject: RE: Try..finally a inicializace promenne


> Ak sa mozem pripojit do diskusie, tak by som sa chcel tiez nieco spytat
> ohladom try ... finally
> Majme nieco taketo:
>
> var
> Obj1: TObj1;
> Obj2: TObj2;
> begin
> Obj1 := TObj1.Create(...);
> try
> try
> ...
> if (NejakaPodmienka) then
> begin
> Obj2 := TObj2.Create(...);
> try
> ...
> finally
> Obj2.Free;
> end;
> end;
> ...
> except
> ShowMessage('Chyba!');
> end;
> finally
> Obj1.Free;
> end;
> end;
>
> No a otazka znie
> Ak sa vyskytne nejaka chyba medzi try ... finally pre Obj2 tak sa odchyti
az
> vtom jedinom except, ale je otazne ci sa predtym este zavola to Obj2.Free
v
> jeho finally, alebo sa rovno skoci do except a Obj2 ostane vysiet v
pamati?
>
> Stevlik Marian
> Software Development Specialist
> MERLIN
> Stefanikova 32
> 150 00 Prague 5
> Czech Republic
> e-mail: marian.stevlik(zv)merlin(tec)cz
> tel: +420 241010111 (181)
> fax: +420 241010165
> icq: 38493645
>
>

Try..finally a inicializace promenne

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 25.10.2002 11:35:13

> var
> Obj1: TObj1;
> Obj2: TObj2;
> begin
> Obj1 := TObj1.Create(...);
> try
> try
> ...
> if (NejakaPodmienka) then
> begin
> Obj2 := TObj2.Create(...);
> try
> ...
> finally
> Obj2.Free;
> end;
> end;
> ...
> except
> ShowMessage('Chyba!');
> end;
> finally
> Obj1.Free;
> end;
> end;
>
> No a otazka znie
> Ak sa vyskytne nejaka chyba medzi try ... finally pre Obj2
> tak sa odchyti az vtom jedinom except, ale je otazne ci
> sa predtym este zavola to Obj2.Free v jeho finally, alebo
> sa rovno skoci do except a Obj2 ostane vysiet v pamati?

Ved si to mozes odkrokovat. Obj2.Free sa zavola este pred tym except blokom.
try..finally prave zaruci, ze finally blok sa vykona bez ohladu na to, ci v
bloku try nastala vynimka.

HTH
TOndrej

Barva pisma u disablovanych controlu

[*] Petr Langer <langer(zv)xdom(tec)cz> - 25.10.2002 11:51:47

Nevite nekdo, jak muzu ovlivnit barvu pisma, pokud nastavim control.Enabled
:= false; ?
Standardne mi to tam dava sedou, ale v nekterych pripadech bych potreboval
jinou.

Diky
Petr Langer


Try..finally a inicializace promenne

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 25.10.2002 12:43:07

From: "Ondrej Kelle" <O.Kelle(zv)digitalpublishing.de>

> Skratka, neinicializovany pointer
> ukazuje na blok pameti s nedefinovanym obsahom,

Jen technicka poznamka: Proc s nedefinovanym?

Je-li ten pointer automatickou promennou, tak se alokuje na stacku posunutim
SP a tak
neinicializovany pointer muze stejne dobre
obsahovat napr. odkaz na platnou
(existujici) instanci nektere tridy, ktera se
predavala jako argument popr. self pri nekterem
z predchozich volani podprogramu s vetsi hloubkou vnoreni zasobniku.


Bye, pf


About

[*] Andreas Bednarek <bednarek(zv)digitus(tec)cz> - 25.10.2002 12:55:01

Ahoj,

zkousel jsem to podle vasich rad, diky za ne, nektere veci mi tam ale vrtaji
hlavou.
Tyka se to spousteni e-mailu:

V prikaze

ShellExecute(Handle, nil, PChar(mailto
:'mailto:delphi-l(zv)clexpert(tec)cz?Subject=Pokusny subject&Body=jedna dva tri
ctyri'),
nil, nil, SW_SHOW);

stoji za povsimnuti (u parametru lpFile), ze p�ed 'Subject' je '?' a p�ed
'Body' je '&'.
Timto zpusobem se mi podarilo dostat do e-mailu i telo zpravy, jinak to
nefungovalo.

Proc ? a &, je from neporadek ne?
Taky jsem nemohl dostat do tela zpravy prechod na novy radek (zkousel jsem
#13#10, #13, #10).
A uz vubec se mi nepodarilo nadefinovat prilohu (&Attach=, ?Attachment= ,
atp.)

Vyzna se v tom nekdo?

Andreas D4, W98

About

[*] KALUS Jozef <jozef.kalus(zv)spordat.sk> - 25.10.2002 12:57:52

tos to je MS, ak chces o tom vediet viac musis hladat v MSDN

dufam ze to tam uz niekto nasiel a hodi to hned do konferencie

apropo, to su konvencie HTML... takze tak...

joka

-----Original Message-----
From: Andreas Bednarek [mailto:bednarek(zv)digitus(tec)cz]
Sent: Friday, October 25, 2002 12:55 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: About


Ahoj,

zkousel jsem to podle vasich rad, diky za ne, nektere veci mi tam ale
vrtaji
hlavou.
Tyka se to spousteni e-mailu:

V prikaze

ShellExecute(Handle, nil, PChar(mailto
:'mailto:delphi-l(zv)clexpert(tec)cz?Subject=Pokusny subject&Body=jedna dva tri
ctyri'),
nil, nil, SW_SHOW);

stoji za povsimnuti (u parametru lpFile), ze p�ed 'Subject' je '?' a
p�ed
'Body' je '&'.
Timto zpusobem se mi podarilo dostat do e-mailu i telo zpravy, jinak to
nefungovalo.

Proc ? a &, je from neporadek ne?
Taky jsem nemohl dostat do tela zpravy prechod na novy radek (zkousel
jsem
#13#10, #13, #10).
A uz vubec se mi nepodarilo nadefinovat prilohu (&Attach=, ?Attachment=
,
atp.)

Vyzna se v tom nekdo?

Andreas D4, W98

__________ Informacia od NOD32 1.320 (20021022) __________

Tato sprava bola preverena systemom NOD32 pre Exchange.
http://www.eset.sk


Try..finally a inicializace promenne

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 25.10.2002 13:01:19

>> Skratka, neinicializovany pointer
>> ukazuje na blok pameti s nedefinovanym obsahom,
>
> Jen technicka poznamka: Proc s nedefinovanym?
>
> Je-li ten pointer automatickou promennou, tak se alokuje na
> stacku posunutim SP a tak neinicializovany pointer muze
> stejne dobre obsahovat napr. odkaz na platnou (existujici)
> instanci nektere tridy, ktera se predavala jako argument popr.
> self pri nekterem z predchozich volani podprogramu s vetsi
> hloubkou vnoreni zasobniku.

Hm, zle som sa vyjadril. Chcel som povedat, ze neinicializovana premenna
typu pointer ukazuje niekam na nahodnu adresu. Moze to byt niekam uplne do
blba, alebo nahodou aj na platnu instanciu, ako hovoris.
Velmi pravdepodobne vsak neukazuje tam, kde to autor ocakaval.
Je to takto spravne alebo som uplne mimo ako ten pointer? ;-)

Dik za opravu.

TOndrej

About

[*] Marek Eichler <marek.eichler(zv)seznam(tec)cz> - 25.10.2002 13:22:26

Zdravim,

Od: "Andreas Bednarek" <bednarek(zv)digitus(tec)cz>
> V prikaze
>
> ShellExecute(Handle, nil, PChar(mailto
> :'mailto:delphi-l(zv)clexpert(tec)cz?Subject=Pokusny subject&Body=jedna dva tri
> ctyri'),
> nil, nil, SW_SHOW);
>
> stoji za povsimnuti (u parametru lpFile), ze p�ed 'Subject' je '?' a p�ed
> 'Body' je '&'.
> Timto zpusobem se mi podarilo dostat do e-mailu i telo zpravy, jinak to
> nefungovalo.
>
> Proc ? a &, je from neporadek ne?

? urcuje u URL adresy, ze jsou predavany nejake parametry
& oddeluje jednotlive parametry dotazu

S pozdravem Marek Eichler

About

[*] KALUS Jozef <jozef.kalus(zv)spordat.sk> - 25.10.2002 13:24:24

pozrel som to MSDN, je tam toto:

Syntax

mailto:sAddress[sHeaders]
Tokens

sAddress
One or more valid e-mail addresses separated by a semicolon. You must
use Internet-safe characters. Use %20 for the space character.
sHeaders
Optional. One or more name-value pairs. The first pair should be
prefixed by a "?" and any additional pairs should be prefixed by a "&".
The name can be one of the following strings.
subject
Text to appear in the subject line of the message.
body
Text to appear in the body of the message.
CC
Addresses to be included in the "cc" (carbon copy) section of the
message.
BCC
Addresses to be included in the "bcc" (blind carbon copy) section of the
message.


-----Original Message-----
From: KALUS Jozef [mailto:jozef.kalus(zv)spordat.sk]
Sent: Friday, October 25, 2002 12:58 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: RE: About


tos to je MS, ak chces o tom vediet viac musis hladat v MSDN

dufam ze to tam uz niekto nasiel a hodi to hned do konferencie

apropo, to su konvencie HTML... takze tak...

joka

ADOQuery -> ClientDataset a Master- detail vztahy

[*] Ond�ej Kal�b <ondrej.kalab(zv)webhouse(tec)cz> - 25.10.2002 13:45:06

Dobr� den,

Nem�te n�kdo zku�enosti s ClientDatasety v kombinaci s ADDQuery ?
Potrebuju master-detail reprezentaci dat ze dvou dotazu z tabulek v
databazi na MS SQL serveru. Mam tabulku kategorie zbozi a tabulku zbozi
(jsou svazane kod_kategorie -> kategorie). Z jistych duvodu pouzivam
ClianDatasety pro manipulaci s daty ale prave u tech mi nejak nefunguje
master-detail vztah.

U clientdataset2 dam MasterSource DataSource1 napojeny na
clientdataset2, masterfield dam na kod_kategorie a IndexField nastavim
na 'kategorie'. No a kdyz dam oba datasety aktivni, tak pro nejake
kategorie vraci spravne hodnoty, ale pro jine vraci treba i duplicitni
zaznamy z tabulky zbozi. Nevim co s tim. V navrhovem zobrazeni to
funguje a pokud program bezi, tak ne.


Dekuju za kazdou sebemensi radu. Ondrej Kalab.

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

Try..finally a inicializace promenne

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 25.10.2002 13:53:04

----- Original Message -----
From: "Petr Fejfar" <development(zv)callnet(tec)cz>
> Je-li ten pointer automatickou promennou, tak se
> alokuje na stacku posunutim SP a tak neinicializovany
> pointer muze stejne dobre obsahovat napr. odkaz na
> platnou (existujici) instanci nektere tridy, ktera se
> predavala jako argument popr. self pri nekterem
> z predchozich volani podprogramu s vetsi hloubkou
> vnoreni zasobniku.

Nehrajme si se slovicky, proste to znamena ze se
programator nemuze spolehnout co v takovem pointeru
je a rozhodne s tim nemuze pocitat.

Reakce komponenty na stisk klavesy

[*] Petr Kuklik <Petr.Kuklik(zv)seznam(tec)cz> - 25.10.2002 14:11:06

Dobry den,
potreboval bych naucit komponentu reagovat na stisnuti klavesy i
kdyz nema focus. Neco podobneho jako ShortCut u TMenuItem. At jsem na
jakekoliv komponente a form reaguje treba na Ctrl+A, pak ma TMenuItem
s reakci na Ctrl+A stale prednost pred formem. Jak toho docilit u
nejake komponenty?

Diky Petr
Kuklik

______________________________________________________________________
Reklama:
Nenechte si ujit novy film Woodyho Allena "Hollywood Ending" - blaznivou
komedii o tom, jak se ve tme strefit do cerneho. V kinech od 3.9.2002.
Sledujte http://www.hce(tec)cz

Reakce komponenty na stisk klavesy

[*] =?utf-8?Q?Ond=C5=99ej_Kal=C3=A1b?= <ondrej.kalab(zv)webhouse(tec)cz> - 25.10.2002 14:17:16

Tusim, ze by se dalo primu regovat na prislusnou zpravu cele aplikace Application.OnMessage. Ale nejsem si jist.

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Petr Kuklik
Sent: Friday, October 25, 2002 2:11 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Reakce komponenty na stisk klavesy


Dobry den,
potreboval bych naucit komponentu reagovat na stisnuti klavesy i kdyz nema focus. Neco podobneho jako ShortCut u TMenuItem. At jsem na jakekoliv komponente a form reaguje treba na Ctrl+A, pak ma TMenuItem s reakci na Ctrl+A stale prednost pred formem. Jak toho docilit u nejake komponenty?

Diky Petr
Kuklik

______________________________________________________________________
Reklama:
Nenechte si ujit novy film Woodyho Allena "Hollywood Ending" - blaznivou komedii o tom, jak se ve tme strefit do cerneho. V kinech od 3.9.2002. Sledujte http://www.hce(tec)cz

---
Pøíchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.408 / Virová báze: 230 - datum vydání: 24.10.2002


---
Odchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.408 / Virová báze: 230 - datum vydání: 24.10.2002

Version DLL

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 25.10.2002 14:45:54

From: <M.Babik(zv)mus(tec)cz>
> nevim jak priradit DLL-ku cislo verze. V projektu je ten checkbox "Include
> version information in project" enable. :-(

DLL wizard ve starsich Delphi nepridava do projektu resource, takze tam musis
pridat rucne radek:

{$R *.res}

Petr Vones

ShortCut na Desktop

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 25.10.2002 14:54:13

From: "�tevl�k Mari�n" <Marian.Stevlik(zv)merlin(tec)cz>
> Chcel sby som sa vas opytat, ako mozem k nejakemu suboru (predpokladajme ze
> ide o exe) vytvorit programovo shortcut a aby bol umiestneny na desktop?

Napriklad pomoci funkce ShellLinkCreateSystem z JCL:
http://sourceforge.net/project/showfiles.php?group_id=47514&release_id=118195
http://delphi-jedi.org/CODELIBJCL

uses
ComObj, ShlObj, JclShell;

procedure TForm1.Button1Click(Sender: TObject);
var
Link: TShellLink;
begin
FillChar(Link, SizeOf(Link), 0);
Link.Target := 'notepad.exe';
Link.Description := 'My Notepad';
OleCheck(ShellLinkCreateSystem(Link, CSIDL_DESKTOP, 'Notepad.lnk'));
end;

Petr Vones

Verzie Wordu

[*] Milan Tomes <milan.tomes(zv)haida(tec)cz> - 25.10.2002 15:28:47

> A verzia 7.0 je ktora ?
> TRoland

1.0 - 6.0 = Word 1 - 6
7.0 = Word 95
8.0 = Word 97
9.0 = Word 2000
10.0 = Word XP

S pozdravem

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


Tato zprava byla zkontrolovana na serveru server.haida(tec)cz
antivirovym programem RAV antivirus.

Jak rozdelit aplikaci?

[*] Jiri Foldyna <jiri.f(zv)avizo(tec)cz> - 25.10.2002 15:42:43

> Nejelegantnejsi zapis je podle me
> > with TMyForm.Create(nil) do
> > try
> > ShowModal;
> > finally
> > Free
> > end;
> takze nepotrebuju dokonce ani tu lokalni promennou.
> (viz Zakladni kurz Delphi)

Ahoj,

jen mala troska do mlyna do diskuse: nevim, jak je to v pozdejsich verzich
Delphi, ale v D5 pro uvolnovani formu zasadne pouzivam (tedy pokud
nezapomenu :-)) TForm.Release kvuli event handlerum. Stalo se mi totiz, jsem
jsem asi dva dny hledal chybu, kdy mi aplikace pri zavirani formu OBCAS
vyhlasila AV. Zaboha jsem nebyl schopny to najit, az nahodou jsem zjistil,
ze to zpusobovala obsluha TTimer (obcas jeji provedeni vyslo na okamzik, kdy
se uvolnoval form). Pro vyreseni stacilo pouzit

try
...
finally
MyForm.Release;
end;

a bylo vymalovano. Duvod lze najit v helpu:

********************************
Use Release to destroy the form and free its associated memory.
Release does not destroy the form until all event handlers of the form and
event handlers of components on the form have finished executing. Any event
handlers of the form should use Release instead of Free. Failing to do so
could lead to an access violation.
********************************

Zdravim

Jiri Foldyna
mailto:jiri.f(zv)avizo(tec)cz

Try..finally a inicializace promenne

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 25.10.2002 16:19:10

From: "Martin Schayna" <mschayna(zv)aktis(tec)cz>

> Nehrajme si se slovicky, proste to znamena
> ze se programator nemuze spolehnout co v takovem
> pointeru je a rozhodne s tim nemuze pocitat.

Kdyby tohle bylo kazdemu jasne
(tim nemam na mysli TOndreje), tak se nebudou
v konferenci stale dokola opakovat dotazy
tohoto typu, nehlede na to, ze ve vsech uvadenych
prikladech na neinicializovanou promennou
upozorni prekladac Warningem, tudiz v podstate
neni co resit ani o cem diskutovat.

Bye, pf

Vystup fce jako TStrings

[*] Petr K. <xdelphi(zv)seznam(tec)cz> - 25.10.2002 23:47:55

Mam takovy maly problem

potrebuju aby vystup z fce byl typu TStrings
vse si udelam program se zkompiluje ale kdyz najede na radek
kde mam <promenna typu Tstrings>.Clear tak program zhavaruje
hlaskou Access violation at adress 77D345A2 in module 'user32.dll', Write
adress 00465D54.

Nevite nekdo jak to vyresit - jde mi o to ze vystup z funkce potrebuju
nacist do
ListBoxu

Diky Petr


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

Vystup fce jako TStrings

[*] TVRZ Miroslav jr. <MIRA_Delphi(zv)seznam(tec)cz> - 25.10.2002 23:55:32

ListBox.Items.AddStrings(tvoje_promenna)

zkus a uvidime - dej vedet jak dopadlo

MI'RA

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Behalf Of Petr K.
Sent: Friday, October 25, 2002 11:48 PM
To: Delphi clexpert
Subject: Vystup fce jako TStrings


Mam takovy maly problem

potrebuju aby vystup z fce byl typu TStrings
vse si udelam program se zkompiluje ale kdyz najede na radek
kde mam <promenna typu Tstrings>.Clear tak program zhavaruje
hlaskou Access violation at adress 77D345A2 in module 'user32.dll', Write
adress 00465D54.

Nevite nekdo jak to vyresit - jde mi o to ze vystup z funkce potrebuju
nacist do
ListBoxu

Diky Petr


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

Vystup fce jako TStrings

[*] Ing. Pavel �ilinec����)b���zf���3 - 25.10.2002 23:56:36

Muzes si predat primo ListBox jako parametr a plnit ho. Take muzes
dany TStrings definovat uvnitr fce, ktera bude typu string a pak
udelat:

ListBox.Items.CommaText := VratSeznamHodnotOddelenyCarkami;

Urcite je mnohem vice moznosti, ale tyto snad budou stacit.

--------
ing. Pavel Zilinec
MailTo:zilinec(zv)email(tec)cz

Prog-Soft s.r.o. Plzen
Informacni system pro vyrobce
a distributory napoju

PK> Mam takovy maly problem

PK> potrebuju aby vystup z fce byl typu TStrings
PK> vse si udelam program se zkompiluje ale kdyz najede na radek
PK> kde mam <promenna typu Tstrings>.Clear tak program zhavaruje
PK> hlaskou Access violation at adress 77D345A2 in module 'user32.dll', Write
PK> adress 00465D54.

PK> Nevite nekdo jak to vyresit - jde mi o to ze vystup z funkce potrebuju
PK> nacist do
PK> ListBoxu

PK> Diky Petr

Re[2]: Verzie Wordu

[*] Roland Turcan <rolo(zv)sedas.sk> - 26.10.2002 00:26:42

<<< 26. 10. 2002 0:25 - Milan Tomes "milan.tomes(zv)haida(tec)cz" >>>
>> A verzia 7.0 je ktora ?
>> TRoland

MT> 7.0 = Word 95
Ale Word 95 registruje v registry ako "Word.Application.6" a nie 7

MT> 8.0 = Word 97
MT> 9.0 = Word 2000
MT> 10.0 = Word XP
tieto uz sedia.


--
Best regards, TRoland

Vystup fce jako TStrings

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 26.10.2002 06:05:33

Lepsi je pouzit proceduru, ktere predas parametr TStrings.

procedure NaplnListBox(lb: TStrings);
begin
lb.Clear;
{ a pak si naplnis polozky }
end;

volani je pak:
NaplnListBox(ListBox.Items);

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

25.10.2002 Petr K.:
> Mam takovy maly problem

> potrebuju aby vystup z fce byl typu TStrings
> vse si udelam program se zkompiluje ale kdyz najede na radek
> kde mam <promenna typu Tstrings>.Clear tak program zhavaruje
> hlaskou Access violation at adress 77D345A2 in module 'user32.dll', Write
> adress 00465D54.

> Nevite nekdo jak to vyresit - jde mi o to ze vystup z funkce potrebuju
> nacist do
> ListBoxu

Zistenie statusu LPT

[*] bleak <bleak(zv)mvesely(tec)com> - 26.10.2002 10:26:04

pomoci nize uvedenych funkci zjistis, jestli je tiskarna pripravena pro
tisk, testovano na W9X.
bleak

LPT1=$378;
LPT2=$278;
CheckPrinterStatus(LPT1);

function PortRead(Addr:Word) : Byte;
asm
MOV DX,AX
IN AL,DX
end;

function CheckPrinterStatus(indPort:WORD): Boolean;
var
byte3:Byte;
begin
byte3:=PortRead(indPort+1);
if ((byte3 and 128)=0) then begin
// ShowMessage('printer not ready'+IntToStr(byte3));
result:=false;
end else begin
// ShowMessage('printer ready'+IntToStr(byte3));
result:= true;
end;
end;

----- Original Message -----
From: "Roman Newman" <r.newman(zv)zmail.sk>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Friday, October 25, 2002 7:55 AM
Subject: Zistenie statusu LPT


> Zdrvym Vsetkych
>
> Neviete mi niekto poradit ci existuje funkcia ktora vracia status LPT
portu
> otvoreneho
> pomocou CREATEFILE nieco ako pri COM -GetCommModemStatus-, resp.
> ci sa da v D5 otvorit LPT port tak aby som vedel kontrolovat ci ma
tlaciaren
> papier.
>
> Vdaka.
>
> Roman Newman
>
>

Vystup fce jako TStrings

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 26.10.2002 10:41:41

From: "Petr K." <xdelphi(zv)seznam(tec)cz>

> kde mam <promenna typu Tstrings>.Clear tak program
> zhavaruje hlaskou Access violation at adress 77D345A2
> in module 'user32.dll', Write adress 00465D54.

Nejspis proto, ze je <promenna typu Tstrings> neinicializovana.
Predpokladam, ze kdyz uz ses
rozhodl pro problematicke reseni s vracenim
instance tridy, tak ze si tu instanci v te funkci
taky vytvoris napr.

begin
Result := TStringList.Create;
...
end;

a pak ji ve volajicim kodu nezapomenes uvolnit.
(a taky snad vis, ze TStrings je abtraktni trida,
kterou nemuzes instanciovat).
HTH, pf

Outlook Express - KonfView

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 26.10.2002 14:06:45

From: "Karel Brkl" <karel_brkl(zv)hotmail.com>
> Nevite nekdo jak stahnout prispevky z Outlok Expres do KonfView?

Jak do konfview nevim, data jsou obvykle po mesici dostupna ke stazeni tady:
http://delphi(tec)cz/konfview/

Ohledne Outlook Expressu mas nekolik moznosti jak ziskat zpravy:

1. Pomoci Simple MAPI precist zpravy, toto je vsak mozne jen z korenoveho
Inbox folderu. Pro tento pripad, kdy pravdepodobne vetsina lidi pouziva
zvlastni folder pro zpravy z konference je to vcelku nepouzitelne.
2. Precist data z DBX souboru patriciho folderu ve kterem mas zpravy z
konference. Tento format neni dokumentovan (coz by jeste tak nevadilo) ale
hlavne neni zdokumentovano nic, cim by tyto soubory bylo mozne cist. Na
Internetu je sice par ruznych utilit ktere umeji alespon castecne cist
obsah DBX souboru, ale to vec neresi.
3. Pretahnout pomoci Drag & Drop. Tohle je asi nejlepsi zpusob, protoze tak
ziskas puvodni format zpravy. Lze na to s uspechem pouzit Drag&Drop Suite:
http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=14069

Petr Vones

REGISTR writeBinaryData

[*] MUDr. Patrik VALENTA <valentapat(zv)volny(tec)cz> - 26.10.2002 22:53:31

Ahojky, mam zase problem

snazim se pouzit Reg.writeBinaryData(Buffer,Length(Buffer));

ale uklada mi to do registru hovadiny, za buffer dosazuji String nebo Pchar
o delce 3 znaky, misto jejich Ord hodnot mim to vsak ulozi uplne nesmysly.
Jak se pouziva tato metoda ???

valik

REGISTR writeBinaryData

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 27.10.2002 03:14:45

From: "MUDr. Patrik VALENTA" <valentapat(zv)volny(tec)cz>
> ale uklada mi to do registru hovadiny, za buffer dosazuji String nebo Pchar

Neni tedy lepsi pouzit TRegistry.WriteString ?

Petr Vones

DBIsam databaze

[*] Viktor Marek <viktor(zv)mbox.vol(tec)cz> - 27.10.2002 11:03:35

Zdravim

Chtel bych se zeptat tech, co pracuji s databazi DBIsam zda existuje nekde
ke stazeni komponenta podobna "Update SQL"
"Update SQL" z Delphi 5 nelze provazat s komponentou DBIsamQuery, nebot
tato komponenta nema v propertis "UpdateObjekt"

Diky za odpoved

Viktor Marek
viktor(zv)mbox.vol(tec)cz


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

REGISTR writeBinaryData

[*] Roman Newman <r.newman(zv)zmail.sk> - 27.10.2002 15:49:10

From: "MUDr. Patrik VALENTA" <valentapat(zv)volny(tec)cz>

> snazim se pouzit Reg.writeBinaryData(Buffer,Length(Buffer));

Co takto neukladat pointer na hodnotu ale obsah:
Reg.writeBinaryData(Buffer[1],Length(Buffer));
resp. ak je Buffer String moze sa ulozit aj jeho velkost
Reg.writeBinaryData(Buffer[0],High(Buffer));

Roman Newman


Stazeni souboru s progessbarem

[*] Karel Krtecek <karel.krtecek(zv)centrum(tec)cz> - 27.10.2002 17:09:50

Dobry den,

> Da se to resit treba pres Synapsi... je tam primo
> objekt na HTTP protokol. Kdyz si povesis svoji
> proceduru na Thttpsend.sock.onstatus
> event, tak si muzes kreslit progressbary doaleluja. ;-)

A jak zjistim, kolik toho budu stahovat, abych mohl vubec z neceho
pri progress baru vychazet?

Mam to ve vlakne a chci dat uzivateli moznost prerusit stahovani, jak
to udelat?

Dekuji za pomoc

Karel Krtecek


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


--------------------
Kr�sn�j�� s Avonem! Zapojte se do sout�e.
http://user.centrum(tec)cz/redir.php?url=http://bonus.centrum(tec)cz/souteze/AVON.phtml


REGISTR writeBinaryData

[*] MUDr. Patrik VALENTA <valentapat(zv)volny(tec)cz> - 27.10.2002 19:13:17

Jde o to ze potrebuju ulozit do registru data ktere byly vytazeny z
registru. Regedit vygeneroval toto
"bin"=hex:56,49,65

> Neni tedy lepsi pouzit TRegistry.WriteString ?
>
> Petr Vones
>

Ktery reporter pouzit ?

[*] Raul Endymion <raul(zv)raphael(tec)cz> - 27.10.2002 20:59:13

Dobry den,
mam nejakou tiskovou sestavu (zatim na papire), obsahuje dve pevne
dane stranky s menicimi se pouze hodnotami. Pevne dane, mysleno ze
jsou vzdy stejne dlouhe. Na prvni strance jsou dva grafy, prvni je
sloupcovy 3d a druhy je paprskovy (alespon tak se jmenuje v excelu).
Dalsi stranky jsou jiz dynamicke, jedna se vlastne o rozpis prvnich
dvou. Veskera data mam v pameti (vcetne popisujicich textu apod),
takze by se mi trochu siklo mit moznost predat podkladova data z teto
pameti bez pouziti db, ale da se i to.

Jaky byste mi doporucili jednoduchy reporter ?
(Nutna podminka je toho prstencoveho grafu).

--
Dekuji velice Raul
raul(zv)raphael(tec)cz

Zaheslovana Paradox tabulka

[*] David Kraina <DKx(zv)Seznam(tec)cz> - 28.10.2002 08:16:04

Nazdar,
mam dva dotazy :

1) Vim, ze se v Database Desktop da nastavit heslo pro pristup do Paradox
tabulky. Tu oteviram v BDE a potreboval bych kod, jak to heslo vlozit pri
otevirani, aby nevyskocil ten nizkointeligentni dialog zadej heslo.

2) Je moznost nekde na netu zjistit, jake soubory BDE pouziva a jake udaje v
registrech - potrebuji do instalatoru implementovat BDE

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