Archív konference Delphi

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

Umisteni formulare na stred obrazovky. D7

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 03.8.2007 08:40:27

Zdravim,

> zkus Position = poScreenCenter

mam take doma 2 monitory a samozrejmne musis zapomenout na hodnotu
poDesktopCenter - to ti to hodi pul na pul. Pokud udelas ScreenCenter,
tak ti to hodi doprostred jednoho monitoru (bud primarniho, nebo tam kde
je zastupce na plose). Me aplikace pouzivaji poScreenCenter a chovaji se
tak jak maji.

TR

Umisteni formulare na stred obrazovky. D7

[*] horky(zv)cominn(tec)cz - 03.8.2007 08:12:23

> From: Kalhous [mailto:kalhous(zv)eu(tec)cz]
> Sent: Friday, August 03, 2007 7:52 AM

> U jednoho zakaznika pouzivaji takovou vymyslenost, ze maji u
> jednoho PC dva monitory vedle sebe a windowsy si to nejak
> dumyslne osetruji tak, ze na jednom je napriklad obrazovka
> lokalniho pocitace, na druhem nejaka vzdalena plocha a mys
> beha pres oba. Jak to funguje netusim ale to je jedno.

Pro pozicovani okna v tomto pripade prostuduj napovedu k TForm.DefaultMonitor a souvisejici odkazy. Windows ti pri dvou monitorech vraci sirku desktopu 2560 bodu, vysku 1024 bodu. Levy okraj okna musis nastavit na 1280, horni okraj na 0, aby se ti zobrazilo cele na druhem monitoru.
--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP2
[mailto:horky(zv)cominn(tec)cz]


Umisteni formulare na stred obrazovky. D7

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 03.8.2007 08:10:23

> formulare ktere maji byt automaticky uprostred (Position=poDesktopCenter)
> jsou rozpulene na oba monitory - leva polovina u praveho okraje leveho
> monitoru a prava u leveho okraje praveho. Zkusil jsem zmenu na
> Position=poScreenCenter ale chova se to porad stejne. Ono to moc nevadi ale
> vypada to blbe. Nevite co s tim?

Koukal jsem letmo do helpu a podle toho bych vyzkousel poScreenCenter a
pritom si pohrat s property DefaultMonitor (kterou jsem ale blize
nestudoval).

David Lebeda
************************************************************
David Lebeda, programator
ComArr s. r. o.
Tolarova 291, 533 51 Pardubice

Telefon: 466 889 111 (ustoedna), 466 889 225 (poima linka)
Fax: 466 415 481
E-mail: lebeda(zv)comarr(tec)cz
http://www.comarr(tec)cz
************************************************************

Umisteni formulare na stred obrazovky. D7

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 03.8.2007 08:00:20

Zkus poMainFormCenter

S pozdravem

Milan Tomes

Kalhous napsal(a):
> ze formulare ktere umistuju na obrazovku programem (tim myslim ze formulari dam souradnice umisteni) jsou v poradku tam kde je chci ale formulare ktere maji byt automaticky uprostred (Position=poDesktopCenter) jsou rozpulene na oba monitory - leva polovina u praveho okraje leveho monitoru a prava u leveho okraje praveho. Zkusil jsem zmenu na Position=poScreenCenter ale chova se to porad stejne.
>

Umisteni formulare na stred obrazovky. D7

[*] Kalhous <kalhous(zv)eu(tec)cz> - 03.8.2007 07:52:20

U jednoho zakaznika pouzivaji takovou vymyslenost, ze maji u jednoho PC dva monitory vedle sebe a windowsy si to nejak dumyslne osetruji tak, ze na jednom je napriklad obrazovka lokalniho pocitace, na druhem nejaka vzdalena plocha a mys beha pres oba. Jak to funguje netusim ale to je jedno. Problem je v tom, ze formulare ktere umistuju na obrazovku programem (tim myslim ze formulari dam souradnice umisteni) jsou v poradku tam kde je chci ale formulare ktere maji byt automaticky uprostred (Position=poDesktopCenter) jsou rozpulene na oba monitory - leva polovina u praveho okraje leveho monitoru a prava u leveho okraje praveho. Zkusil jsem zmenu na Position=poScreenCenter ale chova se to porad stejne.
Ono to moc nevadi ale vypada to blbe. Nevite co s tim?

Z.Kalhous

FB a docasne tabulky

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 02.8.2007 11:11:00

On 8/1/07, Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> wrote:
> No pokud muzes upgradnout na FB 2.1 tak tam uz jsou

Ale zatim je to beta. Na ostrou app. bych to zatim nepustil. Co se
muze podelat se podela a je vymalovano.

--
Jiri {x2} Cincura (Microsoft Student Partner)
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

FB a docasne tabulky

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 02.8.2007 11:09:00

On 8/1/07, delphin(zv)post(tec)cz <delphin(zv)post(tec)cz> wrote:
> > Docasne tabulky nemam rad a obecne je nedoporucuju.
> > Na slozitejsi veci, ktere nezvladne pouhy select, pouzivam ulozene
> > procedury.
> > V dobre navrzene databazi by mel na vsechno stacit select.
>
> :-) :-) :-)
> Pouzivam docasne tabulky dnes a denne napriklad pro vypis rekurzivne
> generovaneho stromu vyrobku a jejich casti, opravdu by me moc zajimalo, jak
> se tohle dela selectem. V dospelych DB se to dela prave pres ty docasne
> tabulky, ve FB na to mam jednu normalni tabulku, hold tam je trvale.

Jde pouzit:
CTE (Common Table Expression), to je ve standardu, od FB2.1 je to tam taky.
Rekurzivni dotaz, ala Oracle "start with id = 0 connect by nocycle
id_parent = prior id;"
Rekurzivni volani procedury.

Myslim, ze voleb je dost.

Pozn.: Na DBSvet(tec)cz je na tohle zrovna clanek ve fronte.

--
Jiri {x2} Cincura (Microsoft Student Partner)
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

FB a docasne tabulky

[*] Radek KALA <kala(zv)betacontrol(tec)cz> - 02.8.2007 09:08:52

To se preci velmi snadno. napises si ulozenou proceduru, ktera
rekurzivne vola sama sebe. Je to mnohem rychlejsi a prehlednejsi.


delphin(zv)post(tec)cz napsal(a):
> :-) :-) :-)
> Pouzivam docasne tabulky dnes a denne napriklad pro vypis rekurzivne
> generovaneho stromu vyrobku a jejich casti, opravdu by me moc zajimalo, jak
> se tohle dela selectem. V dospelych DB se to dela prave pres ty docasne
> tabulky, ve FB na to mam jednu normalni tabulku, hold tam je trvale.
>
>
>

FB a docasne tabulky

[*] Richard Kejval <kejval.delphi(zv)centrum(tec)cz> - 02.8.2007 09:06:51

----- Original Message -----
From: <delphin(zv)post(tec)cz>> :-) :-) :-)
> Pouzivam docasne tabulky dnes a denne napriklad pro vypis rekurzivne
> generovaneho stromu vyrobku a jejich casti, opravdu by me moc zajimalo,
> jak
> se tohle dela selectem. V dospelych DB se to dela prave pres ty docasne
> tabulky, ve FB na to mam jednu normalni tabulku, hold tam je trvale.

>> Docasne tabulky nemam rad a obecne je nedoporucuju.
>> Na slozitejsi veci, ktere nezvladne pouhy select, pouzivam ulozene
>> procedury.
>> V dobre navrzene databazi by mel na vsechno stacit select.

Rekl bych ze ma Honza pravdu, ze tempovym tabulkam je lepsi se obloukem
vyhnout. Na 99.9 % si myslim, ze si muzete udelat "tempovou tabulku"
selectem na ulozenou proceduru. V podstate je to pametova temp tabulka. U
nas takovych vnoreni mame i desitky. Jedina nevyhoda teto tempove tabulky je
ze nejde indexovat. Takze jsme napr. narazili pri full joinu na 2 procedury
na vykonostni omezeni. Pak nezbyva nez pouzit trvalou tabulku, ale je nutno
si uvedomit, ze data ktera tam cyklicky pridavate, se neztraci ani pri
jejich mazani. Ty se odstrani az po backup/restore nebo sweepu. Pokud tam
pri jednom vypoctu hrnete 10tis vet, bude Vam tato tabulka pekne bobnat.
Takze nekdy pouzivame dalsi reseni a to na tempovou tabulku pouzit externi
tabulku, coz ma zase nevyhodu, ze musite zamknout dany vypocet pouze pro 1
uzivatele, ale zase vam nebobtnaji data. Nezbyva nez se rozhodnout co je
nejlepsi aplikovat az podle konkretni situace..

S pozdravem
ing. Richard Kejval
mobil: 602477679
http://www.icsoftware(tec)cz

Seznam vsech oken aplikace

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 02.8.2007 07:12:44

Ahoj,

prosim o radu, jestli nekdo z hlavy vite. Potrebuji napsat funkci, ktera
proleze seznam vsech oken otevrenych z me aplikace a vrati mi prvni z nich
ktere je Enabled. Vim, ze je k dispozici Screen.Forms, ale ja bych
potreboval i okna jako ShowMessage, OpenDialog apod., pokud jsou zrovna
otevrena a ta tam zahrnuta nejsou.

Resim totiz klasickou situaci, tj. aplikace ma otevreno nekolik
nemodalnich oken, ktere maji ikonu v taskbaru Windows. No a pak si otevru
svoje modalni okno a z nej OpenDialog. Kdyz si pak klepnu na taskbar na
ikonu nejakeho nemodalniho okna, toto se dostane do popredi, ale prekryje
OpenDialog, takze mam na vrsku okno, ktere nereaguje. Chtel bych proto za
teto situace ten Opendialog vyhledat a poslat do popredi.

Za urcitych okolnosti funguje GetForegroundWindow, ale ne vzdy. Existuje
zpusob, jak projit cyklem vsechna okna patrici k me aplikaci?

David Lebeda

OT: IIS Chyba

[*] Dalibor <dalibor(zv)torola(tec)cz> - 09.8.2007 08:40:01

Ahoj, nevite nekdo co to je za chybu?

Vyprsel casovy limit. Casovy limit vyprsel pred ziskanim pripojeni od fondu. Pravdepodobnym duvodem je vyuziti vsech pripojeni fondu a dosazeni maximalni velikosti fondu.

Tato chyba se mi zobrazuje pri pokusu o pripojeni s IE na Web aplikaci napsanou v .net.

ISS bezi na Win xp Prof, .Net Framework 2

Diky za radu.

DLL D7 D2006

[*] vyvoj(zv)tsw.sk - 01.8.2007 23:00:12

Dobry den,
prechadzam z D7 na D2006. Mam v D7 napisane DLL-ka, ktore ale nemozem
prekompilovat -- a ani som nevidel dovod, pretoze som si myslel ze staci ze
dodrzim nazvy funkcii a parametre (pocet a typy) pri volani z programu
napisaneho v D2006.

Zda sa ze to nebude tak jednoduche.

1. pod D7 som pouzival borlndmm.dll -- zial neviem si spomenut, odkial ho mam,
lebo ho mam od nepamati, a stale som ho len skopiroval, ked bolo treba. Pod
D2006 asi bude treba pouzivat nejaku jeho novsiu verziu: ale neviem, ako sa
vola, a kde ju najdem.

2. Je vobec spravna ta myslienka, ze by som -- za predpokladu, ze budem mat
spravne borlndmm.dll -- kombinoval dll-ka v D7 s programom v D2006?

3. Aj v D2006 musim pridat ShareMem do uses v tele programu?

Dik za akekolvek rady. S pozdravom Ivan Kozak

INDY a mail

[*] Ing. Roman Lostak <roman(zv)irl(tec)cz> - 01.8.2007 21:52:00

diky za info, ale potreboval bych jeste prozradit jakym prikazem to kodovani
napsat... :-)

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Behalf Of konference(zv)sales(tec)cz
Sent: Wednesday, August 01, 2007 6:02 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: INDY a mail


----- Original Message -----
From: "Ing. Roman Lostak" <roman(zv)irl(tec)cz>
> Diky ten odkaz mi pomohl. Avsak pokus si poslu postu sam sobe, muj mail
> server to zaregistruje jako SPAM a smaze ho. Muzu tohle nejak ovlivnit
> (aniz
> bych povoloval podminky pro spamy na mem mailovem serveru) ? Nemusim neco
> doplnit do hlavicky zpravy???

Ahoj,
No taky zalezi na konkretnim antispamovym programu. Ja jsem napriklad prisel
na to, ze pokud u stejnyho mailu pouziju kodovani "base64" tak je to spam a
pokud pouziju "quoted-printable" tak to spam neni -o)
(SpamAssassin 3.1.7)

Ludek


Verze D2007 po updatu 1

[*] Jan Naiser <tua(zv)wo(tec)cz> - 01.8.2007 21:31:59

Preji pekny den,

nainstaloval jsem D2007P a pokud spustim "Check for Updates" zahlasi mi, ze
zadny update neni dostupny. Delphi se hlasi verzi CodeGearT DelphiR for
Win32R Version 11.0.2709.7128. Tak ted nevim, jestli stazena instalace z
inetu obsahovala upd1 nebo ne.

Jak se hlasi D2007 po update 1?

Diky, Honza.

INDY a mail

[*] konference(zv)sales(tec)cz - 01.8.2007 18:01:39

----- Original Message -----
From: "Ing. Roman Lostak" <roman(zv)irl(tec)cz>
> Diky ten odkaz mi pomohl. Avsak pokus si poslu postu sam sobe, muj mail
> server to zaregistruje jako SPAM a smaze ho. Muzu tohle nejak ovlivnit
> (aniz
> bych povoloval podminky pro spamy na mem mailovem serveru) ? Nemusim neco
> doplnit do hlavicky zpravy???

Ahoj,
No taky zalezi na konkretnim antispamovym programu. Ja jsem napriklad prisel
na to, ze pokud u stejnyho mailu pouziju kodovani "base64" tak je to spam a
pokud pouziju "quoted-printable" tak to spam neni -o)
(SpamAssassin 3.1.7)

Ludek

FB a docasne tabulky

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 01.8.2007 15:09:28

Cituji Milan Tomes <delphi(zv)haida(tec)cz>:

> Po hrubem precteni musim konstatovat, ze mi to uzitek neprinese veskery
> zadny, protoze stejnou funkcnost uz mam vyresenou i nad starsimi verzemi :)

Jo jo, vyhodou Tveho reseni je, ze bude fungovat i se starsimi verzemi FB.
Vyhodou docasnych tabulek by melo byt jednak to, ze netreba generatoru
a rozlisovani, co je ci, jednak asi rychlejsi "uklid" nepotrebnych
zaznamu.

Karel Rys


FB a docasne tabulky

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 01.8.2007 15:03:28

Po hrubem precteni musim konstatovat, ze mi to uzitek neprinese veskery
zadny, protoze stejnou funkcnost uz mam vyresenou i nad starsimi verzemi :)

Karel Rys napsal(a):
> Cituji Milan Tomes <delphi(zv)haida(tec)cz>:
>
>
>> No myslim, ze i kdyz tato moznost je, tak ji stejne nevyuziju :)
>> Nevim, jak by se v ten okamzik zachovala metadata cache, kterou mam ve
>> frameworku a taky nemam rad, kdyz nekdo modifikuje strukturu databaze v
>> end-user aplikaci. Mimochodem, jak to bude fungovat v pripade, kdy se v
>> ruznych pripojenich nekdo pokusi vytvorit stejnou tabulku ? Nebo se snad
>> musi generovat nahodne jmeno a testovat, zda jiz neco takoveho
>> neexistuje ? Asi by mi to prineslo vic problemu nez uzitku.
>>
>
> No, ja myslim, ze jsi to nepochopil spravne.
> Tabulka (metadata) existuje stale.
> Ovsem v ramci pripojeni nebo v ramce transakce vidi kazdy klient tu
> tabulku prazdnou - a naopak, data, ktera tam nasype, v ni neuvidi
> nikdo jiny.
> Takze si myslim, ze Tobe to prinese jen uzitek a problemy zadne :)
>
> http://www.firebirdsql.org/devel/doc/rlsnotes/html/rlsnotes21.html#rnfb21-globaltemp
>

FB a docasne tabulky

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 01.8.2007 14:49:27

Cituji Milan Tomes <delphi(zv)haida(tec)cz>:

> No myslim, ze i kdyz tato moznost je, tak ji stejne nevyuziju :)
> Nevim, jak by se v ten okamzik zachovala metadata cache, kterou mam ve
> frameworku a taky nemam rad, kdyz nekdo modifikuje strukturu databaze v
> end-user aplikaci. Mimochodem, jak to bude fungovat v pripade, kdy se v
> ruznych pripojenich nekdo pokusi vytvorit stejnou tabulku ? Nebo se snad
> musi generovat nahodne jmeno a testovat, zda jiz neco takoveho
> neexistuje ? Asi by mi to prineslo vic problemu nez uzitku.

No, ja myslim, ze jsi to nepochopil spravne.
Tabulka (metadata) existuje stale.
Ovsem v ramci pripojeni nebo v ramce transakce vidi kazdy klient tu
tabulku prazdnou - a naopak, data, ktera tam nasype, v ni neuvidi
nikdo jiny. Kazde pripojeni nebo transakce ma jakoby vlastni instanci
takove docasne tabulky.

Takze si myslim, ze Tobe to prinese jen uzitek a problemy zadne :)

http://www.firebirdsql.org/devel/doc/rlsnotes/html/rlsnotes21.html#rnfb21-globaltemp

Karel Rys


FB a docasne tabulky

[*] Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 01.8.2007 14:47:26

Kazde pripojeni vidi jen sva data, podle toho prepinace ON COMMIT FB bud pri commitu
vypraskne data (cili data vlastni transakce), nebo je necha po celou dobu pripojeni.

Takze vytvorit tabulku staci jen jednou a pokud mas uz ted "temporary" tabulku tak staci
jen misto ni pouzit tuto.

Tom

Milan Tomes napsal(a):
> No myslim, ze i kdyz tato moznost je, tak ji stejne nevyuziju :)
> Nevim, jak by se v ten okamzik zachovala metadata cache, kterou mam ve
> frameworku a taky nemam rad, kdyz nekdo modifikuje strukturu databaze v
> end-user aplikaci. Mimochodem, jak to bude fungovat v pripade, kdy se v
> ruznych pripojenich nekdo pokusi vytvorit stejnou tabulku ? Nebo se snad
> musi generovat nahodne jmeno a testovat, zda jiz neco takoveho
> neexistuje ? Asi by mi to prineslo vic problemu nez uzitku.

FB a docasne tabulky

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 01.8.2007 14:31:25

No myslim, ze i kdyz tato moznost je, tak ji stejne nevyuziju :)
Nevim, jak by se v ten okamzik zachovala metadata cache, kterou mam ve
frameworku a taky nemam rad, kdyz nekdo modifikuje strukturu databaze v
end-user aplikaci. Mimochodem, jak to bude fungovat v pripade, kdy se v
ruznych pripojenich nekdo pokusi vytvorit stejnou tabulku ? Nebo se snad
musi generovat nahodne jmeno a testovat, zda jiz neco takoveho
neexistuje ? Asi by mi to prineslo vic problemu nez uzitku.

S pozdravem

Milan Tomes

Tomas Krejzek napsal(a):
> No pokud muzes upgradnout na FB 2.1 tak tam uz jsou
>
> CREATE GLOBAL TEMPORARY TABLE
> ...
> [ON COMMIT <DELETE | PRESERVE> ROWS]
>
> Milan Tomes napsal(a):
>
>> Jen na okraj - temporary tabulku - i kdyz ne v pravem slova smyslu -
>> mame v databazi taky, ale jen kvuli zvyseni vykonu. Pouziti temporary
>> tabulky nam umoznilo zrychlit generovani sestavy z puvodnich nekolika
>> minut na cca. pul minuty i s nasypanim a smazanim dat z te tabulky :)
>>

FB a docasne tabulky

[*] Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 01.8.2007 14:23:25

No pokud muzes upgradnout na FB 2.1 tak tam uz jsou

CREATE GLOBAL TEMPORARY TABLE
...
[ON COMMIT <DELETE | PRESERVE> ROWS]

Creates the metadata for the temporary table in the system catalogue.
The clause ON COMMIT sets the kind of temporary table:

ON COMMIT PRESERVE ROWS
Data left in the given table after the end of the transaction remain in database until the
connection ends.

ON COMMIT DELETE ROWS
Data in the given table are deleted from the database immediately after the end of the
transaction. ON COM-
MIT DELETE ROWS is used by default if the optional clause ON COMMIT is not specified.

CREATE GLOBAL TEMPORARY TABLE
is a regular DDL statement that is processed by the engine the same way as a CREATE TABLE
statement
is processed. Accordingly, it not possible to create or drop a GTT within a stored
procedure or trigger.

Milan Tomes napsal(a):
> Jen na okraj - temporary tabulku - i kdyz ne v pravem slova smyslu -
> mame v databazi taky, ale jen kvuli zvyseni vykonu. Pouziti temporary
> tabulky nam umoznilo zrychlit generovani sestavy z puvodnich nekolika
> minut na cca. pul minuty i s nasypanim a smazanim dat z te tabulky :)
> Z jinych duvodu nez je zvyseni vykonu u opravdu casove narocnych operaci
> bych tento typ tabulek do databaze nevpustil :)

FB a docasne tabulky

[*] delphin(zv)post(tec)cz - 01.8.2007 14:11:24

> Docasne tabulky nemam rad a obecne je nedoporucuju.
> Na slozitejsi veci, ktere nezvladne pouhy select, pouzivam ulozene
> procedury.
> V dobre navrzene databazi by mel na vsechno stacit select.

:-) :-) :-)
Pouzivam docasne tabulky dnes a denne napriklad pro vypis rekurzivne
generovaneho stromu vyrobku a jejich casti, opravdu by me moc zajimalo, jak
se tohle dela selectem. V dospelych DB se to dela prave pres ty docasne
tabulky, ve FB na to mam jednu normalni tabulku, hold tam je trvale.

FB a docasne tabulky

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 01.8.2007 13:29:21

Jen na okraj - temporary tabulku - i kdyz ne v pravem slova smyslu -
mame v databazi taky, ale jen kvuli zvyseni vykonu. Pouziti temporary
tabulky nam umoznilo zrychlit generovani sestavy z puvodnich nekolika
minut na cca. pul minuty i s nasypanim a smazanim dat z te tabulky :)
Z jinych duvodu nez je zvyseni vykonu u opravdu casove narocnych operaci
bych tento typ tabulek do databaze nevpustil :)

S pozdravem

Milan Tomes

Jan Sebelik napsal(a):
>> Jakym zpusobem resite ve Firebirdu docasne tabulky, ktere potrebujete
>> vytvorit, pouzit a zase smazat. Napriklad pred nejakou slozitejsi
>> sestavou.
>> Petr
>>
>
> Docasne tabulky nemam rad a obecne je nedoporucuju.
> Na slozitejsi veci, ktere nezvladne pouhy select, pouzivam ulozene procedury.
> V dobre navrzene databazi by mel na vsechno stacit select

FB a docasne tabulky

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 01.8.2007 13:13:20

> Jakym zpusobem resite ve Firebirdu docasne tabulky, ktere potrebujete
> vytvorit, pouzit a zase smazat. Napriklad pred nejakou slozitejsi
> sestavou.
> Petr

Docasne tabulky nemam rad a obecne je nedoporucuju.
Na slozitejsi veci, ktere nezvladne pouhy select, pouzivam ulozene procedury.
V dobre navrzene databazi by mel na vsechno stacit select.

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
====================================

INDY a mail

[*] Petr Svejda <petr(zv)svejda(tec)cz> - 01.8.2007 13:03:19

SPAM je urcen mnozstvim kriterii odvislych od sofistifikovanosti daneho
antispamoveho nastroje, jako napr.:

- jazykovym rozborem textu
- zavadnosti textu - nepouzivat slova jako napr. nabidka, vyhodny, sex,
viagra, atd.
- delkou textu - radeji delsi texty, ve kterych maji pripadna zavadna
slova mensi relevanci
- uvedene url a jejich smerovani
- IP adresy
- HTTP hlavicky
- predmet - viz text.
- stari diskuze, pokud se jedna o odpoved na e-mail
- domena prvni urovne u e-mailove adresy
- zkusenosti s tvoji domenou, IP rozsahem, atd. - slysel jsem o
pripadech, kdy kvuli jednomu neukaznenemu klientovi byl znepristupnen
pro jistotu cely rozsah IP adres, domen .com, .neco,...
- atd.

Ovlivnit to muzes predevsim spravnou volbou textu a predmetu.

Petr Svejda

www.znalosti(tec)cz
www.prowin(tec)cz


Ing. Roman Lostak napsal(a):
> Diky ten odkaz mi pomohl. Avsak pokus si poslu postu sam sobe, muj mail
> server to zaregistruje jako SPAM a smaze ho. Muzu tohle nejak ovlivnit (aniz
> bych povoloval podminky pro spamy na mem mailovem serveru) ? Nemusim neco
> doplnit do hlavicky zpravy???

INDY a mail

[*] Ing. Roman Lostak <roman(zv)irl(tec)cz> - 01.8.2007 12:11:16

Diky ten odkaz mi pomohl. Avsak pokus si poslu postu sam sobe, muj mail
server to zaregistruje jako SPAM a smaze ho. Muzu tohle nejak ovlivnit (aniz
bych povoloval podminky pro spamy na mem mailovem serveru) ? Nemusim neco
doplnit do hlavicky zpravy???

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Behalf Of Ondrej Kelle
Sent: Thursday, July 12, 2007 12:25 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: INDY a mail


> prosim o radu. Pouzivam komponentu INDY na posilani mailu.
> Umim poslat mail s prilohou, nebo htlm dokument s
> formatovanym pismem. Ale neumim do html mailu vlozit obrazek
> (obrazky) tak aby se m mailu zobrazily primo mezi textem.

http://www.dragonsoftru.com/articles/indy-email.html

HTH
TOndrej

FB a docasne tabulky

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 01.8.2007 11:07:11

No temporary tabulky FB zatim neumi takze jsme to vyresili jednoduse -
nadefinovali jsme stalou tabulku, ktera je pri kazdem upgradu
vyprazdnena a jeji primarni klic obsahuje - krom sloupcu, ktere
potrebuje programator - i ID, ktere je generovano pomoci generatoru. Tak
je zajisteno, ze si ruzne instance programu nebudou prepisovat sva data.
Samozrejme, ze data jsou z teto tabulky smazana jakmile nejsou potreba a
to vyprazdneni behem upgradu je tam jen kvuli pripadnemu padu aplikace.
Rozhodne bych se vyhnul vytvareni tabulek v databazi z klientske
aplikace a v odkladaci databazi je to take k nicemu, protoze nebudou
fungovat relace a pristup k datum bude velice omezeny (nemuzes napr.
pustit select, ktery vybere data z docasne tabulky a k tomu joinem
prifari data z tabulky v hlavni databazi).

S pozdravem

Milan Tomes

Petr Svejda napsal(a):
> Jakym zpusobem resite ve Firebirdu docasne tabulky, ktere potrebujete
> vytvorit, pouzit a zase smazat. Napriklad pred nejakou slozitejsi sestavou.
>
> Napadaji me dve varianty: ukladat je do hlavni databaze (tam ale hrozi
> riziko narustani databaze - napr. pri neocekavnych vypadcich), nebo
> pouzit specialne na to urcenou databazi (kuprikladu odkladaci.fdb), ale
> jak to bude se vzajemnou vazbou na primarni datovou databazi?
>
>

FB a docasne tabulky

[*] Petr Svejda <petr(zv)svejda(tec)cz> - 01.8.2007 10:25:09

Jakym zpusobem resite ve Firebirdu docasne tabulky, ktere potrebujete
vytvorit, pouzit a zase smazat. Napriklad pred nejakou slozitejsi sestavou.

Napadaji me dve varianty: ukladat je do hlavni databaze (tam ale hrozi
riziko narustani databaze - napr. pri neocekavnych vypadcich), nebo
pouzit specialne na to urcenou databazi (kuprikladu odkladaci.fdb), ale
jak to bude se vzajemnou vazbou na primarni datovou databazi?

Petr

www.prowin(tec)cz

Formatovani cisel Sinea/D7

[*] Kalhous <kalhous(zv)eu(tec)cz> - 09.8.2007 08:24:00

Zpet. Funguje to, chyba byla mezi zidli a klavesnici kde mi uniklo ze FORMAT
je textova funkce a ne ciselna.

> > > Jak docilim toho, aby pri tisku Sinea se fixed cislo
formatovalo -9,999
> a
> > > +9,999 ? Proste zakaznik chce aby tam bylo i plus u kladnych cisel a
to
> > > neumim.
> >
> > Pokud je vyzadovano reseni pouze na urovni generatoru sestav, asi
> > nejjednodussi postup je definovat retezcovou uzivatelskou funkci, ktera
> > ciselne pole zformatuje na text, interne se pouzije funkce FormatFloat,
> > takze podrobnosti v helpu Delphi. Funkcni vyraz bude vypadat asi takto:
> > FORMAT(#DatovaPolozka,'+0.000;-0.000')
> > Vaclav Krmela
>
> A to mi prave nechce fungovat. Tak mi asi nezbyde nez presvedcit uzivatele
> aby se bez tech plusu obesel.

Formatovani cisel Sinea/D7

[*] Kalhous <kalhous(zv)eu(tec)cz> - 09.8.2007 08:17:59

> > Jak docilim toho, aby pri tisku Sinea se fixed cislo formatovalo -9,999
a
> > +9,999 ? Proste zakaznik chce aby tam bylo i plus u kladnych cisel a to
> > neumim.
>
> Pokud je vyzadovano reseni pouze na urovni generatoru sestav, asi
> nejjednodussi postup je definovat retezcovou uzivatelskou funkci, ktera
> ciselne pole zformatuje na text, interne se pouzije funkce FormatFloat,
> takze podrobnosti v helpu Delphi. Funkcni vyraz bude vypadat asi takto:
> FORMAT(#DatovaPolozka,'+0.000;-0.000')
> Vaclav Krmela

A to mi prave nechce fungovat. Tak mi asi nezbyde nez presvedcit uzivatele
aby se bez tech plusu obesel.

Smazani neprazdneho adresare

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 30.7.2007 16:28:12

On Monday, July 30, 2007 9:51 AM ,
Viktor Marek <viktor(zv)mbox.vol(tec)cz> wrote:

> Tak tomu se rika strelba do vlastnich rad. Kaju se. Presto kde by
> mohla byt chybka.

nikdo netusi jak ShFileOperation (a odkud) bere pamet pro obslouzeni
rekurze. Je mozne, ze v pripade prilis hluboke struktury adresaru ci
prilis dlouhych jmen adresaru se narazi do nejake zdi (aktualne
pouzitelna hloubka zasobniku, dostupnost pameti atd). A protoze
dovnitr te funkce nevidis musis ji bart jako blackbox a jsi odkazany
jen na jeji dokumentaci. Bud v popisu je napsano, ze je treba se
postarat o dostatek mista na stacku ci neco podobneho a ty jsi to
nedodrzel nebo to tam neni a nevis zase nic... Teoreticky by ses mohl
dozvedet pouzitim CopyCallbacku (pokud se vola i pri delete)

Napsat rekurzivni mazani adresare je pomerne jednoduche (a funkcni
:-) )

D. Toman


Smazani neprazdneho adresare

[*] Viktor Marek <viktor(zv)mbox.vol(tec)cz> - 30.7.2007 09:51:46

Tak tomu se rika strelba do vlastnich rad. Kaju se. Presto kde by mohla byt
chybka.

Viktor Marek


>> Netusi nekdo kde by mohla byt chyba, nebo zda existuje jiny vhodnejsi
>> zpusob jak neprazdny adresar smazat? Rekurzivni prochazeni a mazazani
>> adresare bych zavrhl.
>
> Skoda, ze to zavrhujes, protoze presne takhle to to ShFileOperation
> uvnitr sebe dela taky...

Smazani neprazdneho adresare

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 30.7.2007 09:43:46

> Pro smazani neprazdneho adresare na sitovem disku jsem zkusil pouzit
> procedurku
[...]
> Netusi nekdo kde by mohla byt chyba, nebo zda existuje jiny vhodnejsi
> zpusob jak neprazdny adresar smazat? Rekurzivni prochazeni a mazazani
> adresare bych zavrhl.

Skoda, ze to zavrhujes, protoze presne takhle to to ShFileOperation
uvnitr sebe dela taky...


--
Lukas Gebauer.

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

Smazani neprazdneho adresare

[*] Viktor Marek <viktor(zv)mbox.vol(tec)cz> - 30.7.2007 09:19:44

Pro smazani neprazdneho adresare na sitovem disku jsem zkusil pouzit
procedurku

procedure TForm1.Button1Click(Sender: TObject);
var
fos: TSHFileOpStruct;
begin
ZeroMemory((zv)fos, SizeOf(fos));
with fos do
begin
wFunc := FO_DELETE;
fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
pFrom := PChar('y:\data' + #0);
end;
ShFileOperation(fos);
end;

Adresar je pomerne veliky, takze smazani trva dost dlouho a stava se ze
operace zhavaruje na chybove hlasce "Raised exception class EAccess
violation at address 7C809D92 in module 'kernel32.dll' Read of address
60740012"

Netusi nekdo kde by mohla byt chyba, nebo zda existuje jiny vhodnejsi zpusob
jak neprazdny adresar smazat?
Rekurzivni prochazeni a mazazani adresare bych zavrhl.

Viktor Marek
Delphi5 Prof
Win XP

Tisk na pokladni tiskarnu

[*] horky(zv)cominn(tec)cz - 30.7.2007 07:05:31

> From: johanka arkova [mailto:johanka.arkova(zv)pnws.org]
> Sent: Friday, July 27, 2007 3:41 PM

> je seriova... Jde ten tok nastavit nejak softwarove? Koukam an
> WinSpool API a nemohu nic najit

To nevim, ani jsem nepatral. Nastavime to ve Vlastnostech pri instalaci a hotovo. Pokud neco najdes, uved to sem, treba se to nekomu bude hodit.
--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP2
[mailto:horky(zv)cominn(tec)cz]

nahrada ceskych znaku ve stringu

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 29.7.2007 21:44:47

On 7/29/07, Lukas Gebauer <gebylist(zv)mlp(tec)cz> wrote:
> Lehce bych poupravil.. je to z unicode, a tabulka se predava jako
> parametr funkci na prevod mezi znakovymi sadami. To znamena, ze to
> odstraneni diakritiky lze pak pouzit z naprosto libovolne kodove stranky,
> nebo jako soucast libovolneho prevodu kodovych stranek. :-)
>
> Pripadne si kdokoliv muze udelat libovolnou svoji tabulku nahrad znaku za
> znak...

Ja uz Synapsi delsi cas nepouzil, takze jsem mozna pozadu. Ale to kam
se podivat zustava. :)

--
Jiri {x2} Cincura (Microsoft Student Partner)
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

sll form post synapse

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 29.7.2007 20:26:42

> mam neco takoveh jede to pres ssl ale stale mi form nevraci co ma..
> rozumite proc nejak to nebere parametry pri odeslani.. ale nekolikrat jsem
> je prohlizel a zdaji se ok. netusite? nebo tam nejakym zpusobem i submity
> je jich tam k odeslani nekolik.. uf uf vazne netusim proc to nevari...
>
> AMethod:=THTTPSend.Create;
> AMethod.UserName:='dddd';
> AMethod.Password:='eeee';
> urllData:='l=R&o=9&jud=99&z_in=1&l_in=1&a_in=1990&z_sf=1&l_sf=12&a_sf=2007
> &a=on&cauta=Selectie&t=1636713&n=1&p=3&s=4';
>
> urlData:=EncodeURLElement(urlData);
> WriteStrToStream(AMethod.Document, URLData);
> AMethod.MimeType := 'application/x-www-form-urlencoded';
> AMethod.HTTPMethod('POST','https://XXXX/cgi-bin/interog.cgi');
> AMethod.Document.SaveToFile('c:\login2.html');

Z hlediska programovani je jedno, jestli to jede pres SSL ci nikoliv.

Problematika odesilani formularu na web je ale pro zmenu vec ciste
individualni. kazdy web se mzue zaseknout ne necem jinem. Nektere
vyzaduji cookies z predchozich HTTP dotazu (Pokud budou dotazy provadeny
stejnou instanci tridy THttpSend, budou cookies automaticky posilany!).

Jine stranky zase kontroluji prohlizec, pak si muzes do property
UserAgent nasimulovat identifikaci nejakeho tveho oblibeneho prohlizece.

Treti vec co muzes zkusit, jestli kodujes parametry spravne.

Obecny nastroj kazdeho sitoveho programatora by mel byt WireShark. Pomoci
neho si zachyt uspesnou komunikaci se strankou pomoci webovegho
prohlizece, a pak pomoci synapse. A podivej se cim se to lisi. Na
debugovani podobnych problemu je to k nezaplaceni!

--
Lukas Gebauer.

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


nahrada ceskych znaku ve stringu

[*] David Kopecek <david.kopecek(zv)hacktrack(tec)com> - 29.7.2007 19:52:39

Zdravim

>> > Mam string a v nem jsou i ceske znaky. Jak tyto znaky co nejjednoduseji
>> > zamenit za znaky bez diakritiky??
>>
>> V Synapsi je konverzni tabulka pro odstraneni diakritiky (z Win 1250).
>> http://synapse.ararat(tec)cz/

LG> Lehce bych poupravil.. je to z unicode, a tabulka se predava jako
LG> parametr funkci na prevod mezi znakovymi sadami. To znamena, ze to
LG> odstraneni diakritiky lze pak pouzit z naprosto libovolne kodove stranky,
LG> nebo jako soucast libovolneho prevodu kodovych stranek. :-)

LG> Pripadne si kdokoliv muze udelat libovolnou svoji tabulku nahrad znaku za
LG> znak...

jj charsetconversationex je perfektni.. Chtel bych se zeptat jeslti
nemate nekdo funci na tvorbu tzv SEO string.. tj prevest vsechny znaky
na klasicke znaky bez hacku (tj aby zustalo A-Z,a-z,0-9,- beze ztraty
znaku) . na zruseni ceskych zanku pouzivam funkci
ze synapse ale co ostani zanky v nemcine, slovenstine atd..
--
S pozdravem,
David
david.kopecek(zv)hacktrack.com

nahrada ceskych znaku ve stringu

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 29.7.2007 19:08:37

> > Mam string a v nem jsou i ceske znaky. Jak tyto znaky co nejjednoduseji
> > zamenit za znaky bez diakritiky??
>
> V Synapsi je konverzni tabulka pro odstraneni diakritiky (z Win 1250).
> http://synapse.ararat(tec)cz/

Lehce bych poupravil.. je to z unicode, a tabulka se predava jako
parametr funkci na prevod mezi znakovymi sadami. To znamena, ze to
odstraneni diakritiky lze pak pouzit z naprosto libovolne kodove stranky,
nebo jako soucast libovolneho prevodu kodovych stranek. :-)

Pripadne si kdokoliv muze udelat libovolnou svoji tabulku nahrad znaku za
znak...

--
Lukas Gebauer.

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


Emulace tabelatoru

[*] Kalhous <kalhous(zv)eu(tec)cz> - 09.8.2007 15:04:31

Jak v D7 nasimuluju stisknuti Tab/ShiftTab? Funkce SelectNext neni bohuzel to prave orechove.
Z.Kalhous

Aktualizace EXE Was: Umisteni BPL souboru u uzivat

[*] delphin(zv)post(tec)cz - 09.8.2007 14:52:30

> Ne, user prave nema mit prava zapisovat cokoli do Program Files apod. Od
> toho je instalace pod admin nebo power user uctem. Jinak by to cele nemelo
> vubec smysl.

A jak na aktualizaci EXE/BPL souboru v C:\Program Files\blabla\ pod uctem
USER ?
Vim, ze pod Aministrator nebo Power User to jde, ale nechci davat Userum
hesla k temto uctum a ze bych se logoval na nekolik desitek PC a neco tam
instaloval je nerealne nejenom z casovych duvodu, ale i proto, ze pocitace
se ruzne zapinaji a vypinaji a na notebooky neni pristup vubec. Aktualizace
jsou asi cca 3 tydne. Zatim to resim (asi spatne) tak, ze EXE soubor je
proste v C:\Document and Settings\blabla\, tam zapisovat jde a tedy kazdy
uzivatel ma svuj EXE soubor.

Chci se tedy zeptat, jak se to dela spravne.

Diky

Delphin

Umisteni BPL souboru u uzivatele

[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 09.8.2007 14:48:30

> A existuje ve Windows XP a spec. ve Vistach nejaka odpovidajici
> systemova slozka, do ktere bych mohl BPL soubory InnoSetupem
> nakopirovat bez toho, abych po uzivatelovi vyzadoval jina prava
> nez User?

Myslim, ze neexistuje. Skus si zobrazit PATH na "cistych" Windows hned po instalacii.
Myslim, ze tam bude len nieco ako C:\WINDOWS\System32;C:\WINDOWS.
Normalne byva ulohou instalacneho programu pridat tam potrebne cesty.

Globalne pre cely system sa da cesta menit zapisom do HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment - ale na to uz su potrebne prava.

Pre vlastny proces (a procesy nim spustene) sa da cesta zmenit cez SetEnvironmentVariable, takze si mozes napisat pomocny program, ktory nastavi PATH a spusti konkretnu aplikaciu.

Este ma napada jedna moznost: spustat tie jednotlive aplikacie s nastavenim current directory na prislusny adresar, to by malo fungovat tiez. Napriklad cez shortcut, .cmd subor, alebo opet vlastnym programom.

HTH
TOndrej

Tisk na pokladni tiskarnu

[*] johanka arkova <johanka.arkova(zv)pnws.org> - 27.7.2007 15:41:07

Ahoj,
je seriova... Jde ten tok nastavit nejak softwarove? Koukam an
WinSpool API a nemohu nic najit
Johanka.

>Nepises, jestli tiskarna seriova/paralelni. U seriove je vhodne
zapnout HW rizeni toku ve >vlastnostech tiskarny, po instalaci to neni
zapnuto a dnesni pocitace jsou stale rychlejsi. >Takto tiskneme i
vicemetrove sestavy a nic nam nechybi.

Tisk na pokladni tiskarnu

[*] horky(zv)cominn(tec)cz - 27.7.2007 13:16:57

> From: johanka arkova [mailto:johanka.arkova(zv)pnws.org]
> Sent: Friday, July 27, 2007 12:53 PM

> Da se nejak "pockat", dokud tiskarna pracuje? Ja prave
> myslela, ze to zajistuje ten FlushPrinter..

Nepises, jestli tiskarna seriova/paralelni. U seriove je vhodne zapnout HW rizeni toku ve vlastnostech tiskarny, po instalaci to neni zapnuto a dnesni pocitace jsou stale rychlejsi. Takto tiskneme i vicemetrove sestavy a nic nam nechybi.
--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP2
[mailto:horky(zv)cominn(tec)cz]

Tisk na pokladni tiskarnu

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 27.7.2007 13:16:58

Letmy pohled do MSDN rika toto:

*FlushPrinter* should be called only if *WritePrinter* failed, leaving
the printer in a transient state. For example, the printer could get
into a transient state when the job gets aborted and the printer driver
has partially sent some raw data to the printer.

*FlushPrinter* also can specify a idle period during which the print
spooler does not schedule any jobs to the corresponding printer port.

Takze nevim, jestli volani FlushPrinter je to prave orechove...

Poznamky u WritePrinter rikaji o posloupnosti volani API funkci pro tisk
toto:

The sequence for a print job is as follows:

1. To begin a print job, call *StartDocPrinter* <prntspol_33n6.htm>.
2. To begin each page, call *StartPagePrinter* <prntspol_5lma.htm>.
3. To write data to a page, call *WritePrinter* <prntspol_7zqq.htm>.
4. To end each page, call *EndPagePrinter* <prntspol_52r6.htm>.
5. Repeat 2, 3, and 4 for as many pages as necessary.
6. To end the print job, call *EndDocPrinter* <prntspol_9t82.htm>.

Tak bych zkusil vynechat ten FlushPrinter a uvidis.

S pozdravem

Milan Tomes

johanka arkova napsal(a):
>>> tak uz jsem vyresila znluky divnych znaku, tisknu to primo prez
>>> WinSpool s postupem
>>> OpenPrinter
>>> StartDocPrinter
>>> StartPagePrinter
>>> WritePrinter
>>> FlushPrinter
>>> WritePrinter
>>> FlushPrinter
>>> ..
>>> ..
>>> ..
>>> EndPagePrinter
>>> EndDocPrinter
>>> ClosePrinter
>>> To uz tiskne bez zhluku, ale na nekterych tiskarnach se mi zase
>>>
> stane,
>
>>> ze mi chybi posledni cast textu, nevite, cim by to mohlo byt?
>>>

Tisk na pokladni tiskarnu

[*] johanka arkova <johanka.arkova(zv)pnws.org> - 27.7.2007 12:52:56

No,
Konce radku davam opravdu #13#10, zkusim i tu #12.
Problem je i to, ze pokud dam vice tisku za sebou, tak se napr. na
druhem tisku objevi jeste ten nedotisteny konec toho prvniho tisku. To
vypada, jako bych ukoncila praci tiskarny drive, nez to stihne vsechno
vytisknout... Da se nejak "pockat", dokud tiskarna pracuje? Ja prave
myslela, ze to zajistuje ten FlushPrinter..

Johanka

>Musite posilat spravne konce radku, tedy #13#10, samozrejme i za
poslednim
>radkem a kdyz to nepomuze, tak na konci jeste konec stranky #12.

>> tak uz jsem vyresila znluky divnych znaku, tisknu to primo prez
>> WinSpool s postupem
>> OpenPrinter
>> StartDocPrinter
>> StartPagePrinter
>> WritePrinter
>> FlushPrinter
>> WritePrinter
>> FlushPrinter
>> ..
>> ..
>> ..
>> EndPagePrinter
>> EndDocPrinter
>> ClosePrinter
>> To uz tiskne bez zhluku, ale na nekterych tiskarnach se mi zase
stane,
>> ze mi chybi posledni cast textu, nevite, cim by to mohlo byt?

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

nahrada ceskych znaku ve stringu

[*] Martin Dupal <mdupal(zv)vision(tec)cz> - 27.7.2007 11:42:51

Co treba neco takoveho? (Pro wide stringy lze analogicky prepsat s vyuzitim
API fce FoldStringW)

function RemoveDiacritic(const S: string): string;
var
P,I,Len,TmpLen: Integer;
TmpStr: string;
begin
Result := '';
if S = '' then Exit;

Len := Length(S);
TmpLen := FoldString(MAP_COMPOSITE, PChar(S), Len, nil, 0);
SetLength(TmpStr, TmpLen);
FoldString(MAP_COMPOSITE, PChar(S), Len, PChar(TmpStr), TmpLen);
P := 1;
SetLength(Result, Len);
for I := 1 to Len do begin
Result[I] := TmpStr[P];
if S[I] <> TmpStr[P] then Inc(P, 2) else Inc(P);
end;
end;> Zdravim vsechny.
>
> Mam string a v nem jsou i ceske znaky. Jak tyto znaky co
> nejjednoduseji zamenit za znaky bez diakritiky??
>
> Diky Pavel

Indy, SMTP a cestina

[*] Simek Pavel <p.simek(zv)svscr(tec)cz> - 27.7.2007 11:18:49

Zde prosim naprosto "plavu"
V object inspectoru u IdMessage je

ContentDisposition - nic
ContentTransferEncoding - nic
ContentType - nic neni vyplneno (ani nevim co by mohlo) Encoding - meMIME

Prosim pomozte co by kde melo byt...


Diky

Pavel

zaznam a prehrati zvuku pri 2 a vice zvukovkach

[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 27.7.2007 11:06:48

Ja proste jen potrebuji prehrat wav nebo mp3 na tu zvukovku na kterou je
zrovna potreba. Jak na to? Skype to umi. Zvoneni jde do jedne a telefonuje
pres druhou

Zapletal Martin.

>
> Obavam se, ze TMediaPlayer prehrava pouze na defaultni vystup. Obecne ale
> ve
> Windows prehravat paralelne na vice zvukovek lze, napriklad pres
> waveOutWrite, ale neni to tak snadne jako s TMediaPlayer.
>
>

Parsovani HTML Documentu

[*] Ales Pavel <aldik(zv)quick(tec)cz> - 27.7.2007 10:58:48

ahoj parsuji html dokument tim ze si pres synapsi sosnu data a
vysledna data nacpu do IHTMLDocument2
pada mi to na teto chybe, ale jen nekdy
---------------------------
Error
---------------------------
A Runtime Error has occurred.
Do you wish to Debug?

Line: 483
Error: Unspecified error.
---------------------------
Yes No
---------------------------

netusite k cemu tam dochazi?

Kdyz to debugnu v C# tak mi to ukaze ze je to na radku kde se pracuje s
domenou

muj kod je tento netusite?

function IDocFromHtmlSource(const AValue: string):IHTMLDocument2;
var
v: Variant;
res: IHTMLDocument2;
begin
CoInitialize(nil);
res := CreateComObject(Class_HTMLDOcument) as IHTMLDocument2;
res.designMode := 'on';
while res.readyState <> 'complete' do
Application.ProcessMessages;
try
res.designMode := 'on';
while res.readyState <> 'complete' do
Application.ProcessMessages;

v := VarArrayCreate([0, 0], VarVariant);
v[0] := AValue;
//FWebDoc.clear;

res.Write(PSafeArray(System.TVarData(v).VArray));
res.designMode := 'off';
while res.readyState <> 'complete' do
Application.ProcessMessages;
finally
result := res;
end;
CoUnInitialize;
end;

Indy, SMTP a cestina

[*] Simek Pavel <p.simek(zv)svscr(tec)cz> - 27.7.2007 10:54:47

Zde prosim naprosto "plavu"
V object inspectoru u IdMessage je

ContentDisposition - nic
ContentTransferEncoding - nic
ContentType - nic neni vyplneno (ani nevim co by mohlo) Encoding - meMIME

Prosim pomozte co by kde melo byt...


Diky

Pavel

zaznam a prehrati zvuku pri 2 a vice zvukovkach

[*] delphin(zv)post(tec)cz - 27.7.2007 10:52:47

> Zdravicko. Prosim, nevite nekdo jak vybrat zvukovku pres kterou se ma
> prehravat pokud jsou dve a vice? Pouzivam komponenty WaveAudio z
> DelphiArea
> pro nahravani z mikrofonu. Vyber vstupu a zaznam jakstaks funguje. Pro
> prehravani je nemohu pouzit bo neumi prehrat mp3. Co mi nejde tak v mem
> programu vybrat zvukovku na kterou to pustim. Nevite jak na to? Na webu
> jsem
> nic nenasel. Prehravam to pomoci TMediaPlayeru a to bude asi ten problem.
> Jak tam nastavim ktery vystup pouzit? Trknete me prosim.

Obavam se, ze TMediaPlayer prehrava pouze na defaultni vystup. Obecne ale ve
Windows prehravat paralelne na vice zvukovek lze, napriklad pres
waveOutWrite, ale neni to tak snadne jako s TMediaPlayer.

Tisk na pokladni tiskarnu

[*] delphin(zv)post(tec)cz - 27.7.2007 10:48:46

> tak uz jsem vyresila znluky divnych znaku, tisknu to primo prez
> WinSpool s postupem
> OpenPrinter
> StartDocPrinter
> StartPagePrinter
> WritePrinter
> FlushPrinter
> WritePrinter
> FlushPrinter
> ..
> ..
> ..
> EndPagePrinter
> EndDocPrinter
> ClosePrinter
> To uz tiskne bez zhluku, ale na nekterych tiskarnach se mi zase stane,
> ze mi chybi posledni cast textu, nevite, cim by to mohlo byt?

Musite posilat spravne konce radku, tedy #13#10, samozrejme i za poslednim
radkem a kdyz to nepomuze, tak na konci jeste konec stranky #12.

Indy, SMTP a cestina

[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 27.7.2007 10:46:46

> Zdravim vsechny.
> Mam problem s ceskymi znaky pri odesilani e-mailu pomoci
> kompoment Indy.
> Ceske znaky se zkomoli.
> Nevite co s tim?

Prave nedavno som mal ten isty problem so slovencinou pri multi-part MIME spravach (HTML mail), v casti text/plain.
Pomohlo mi priradenie Body.Text cez UTF8Encode a nastavenie TIdText.CharSet IdCharSetNames[idcsUTF_8], cize 'UTF-8'.
Pouzivam Indy 10.

HTH
TOndrej

Tisk na pokladni tiskarnu

[*] johanka arkova <johanka.arkova(zv)pnws.org> - 27.7.2007 10:42:45

Ahoj,
tak uz jsem vyresila znluky divnych znaku, tisknu to primo prez
WinSpool s postupem
OpenPrinter
StartDocPrinter
StartPagePrinter
WritePrinter
FlushPrinter
WritePrinter
FlushPrinter
..
..
..
EndPagePrinter
EndDocPrinter
ClosePrinter
To uz tiskne bez zhluku, ale na nekterych tiskarnach se mi zase stane,
ze mi chybi posledni cast textu, nevite, cim by to mohlo byt?
Johanka


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

From: johanka arkova <johanka.arkova(zv)pnws.org>
Subject: Tisk na pokladni tiskarnu
Sent: 25.7.2007 14:31:48
To: delphi-l(zv)clexpert(tec)cz <delphi-l(zv)clexpert(tec)cz>


Ahoj,
mam problem s tiskem na pokladni tiskarnu,
tisknu klasicky pres
AssignPrn(fFile); Rewrite(fFile); Write('Text', fFile);
CloseFile(fFile)
mam ale problem s tim, ze po case (cca 20 radku) zacne tiskarna
tisknout blaboly (nahodne znaky), nekde jsem cetla, ze to ma co
docineni s bufferem tiskarny, ktery je moc maly a data v nem pretecou,
bohuzel jsem nikde nenasla navod, jak toto obelstit.
Nevite nekdo?

Dekuji,
Johanka



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

Indy, SMTP a cestina

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 27.7.2007 10:38:45

On 7/27/07, Pavel Simek <sw68(zv)seznam(tec)cz> wrote:
> Zdravim vsechny.
> Mam problem s ceskymi znaky pri odesilani e-mailu pomoci kompoment Indy.
> Ceske znaky se zkomoli.
> Nevite co s tim?

Je spravne nastavene kodovani (content-encoding) mailu?

--
Jiri {x2} Cincura (Microsoft Student Partner)
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

nahrada ceskych znaku ve stringu

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 27.7.2007 10:36:45

On 7/27/07, Pavel Simek <sw68(zv)seznam(tec)cz> wrote:
> Zdravim vsechny.
>
> Mam string a v nem jsou i ceske znaky. Jak tyto znaky co nejjednoduseji
> zamenit za znaky bez diakritiky??

V Synapsi je konverzni tabulka pro odstraneni diakritiky (z Win 1250).
http://synapse.ararat(tec)cz/

--
Jiri {x2} Cincura (Microsoft Student Partner)
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

nahrada ceskych znaku ve stringu

[*] Pavel Simek <sw68(zv)seznam(tec)cz> - 27.7.2007 10:30:44

Zdravim vsechny.

Mam string a v nem jsou i ceske znaky. Jak tyto znaky co nejjednoduseji
zamenit za znaky bez diakritiky??

Diky Pavel


zaznam a prehrati zvuku pri 2 a vice zvukovkach

[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 27.7.2007 10:26:44

Zdravicko. Prosim, nevite nekdo jak vybrat zvukovku pres kterou se ma
prehravat pokud jsou dve a vice? Pouzivam komponenty WaveAudio z DelphiArea
pro nahravani z mikrofonu. Vyber vstupu a zaznam jakstaks funguje. Pro
prehravani je nemohu pouzit bo neumi prehrat mp3. Co mi nejde tak v mem
programu vybrat zvukovku na kterou to pustim. Nevite jak na to? Na webu jsem
nic nenasel. Prehravam to pomoci TMediaPlayeru a to bude asi ten problem.
Jak tam nastavim ktery vystup pouzit? Trknete me prosim.

WinXP, D5

Zapletal Martin

Nahrada DBGridu od TMSSoftware

[*] info(zv)drnholec(tec)cz <info(zv)drnholec(tec)cz> - 27.7.2007 07:04:30

Ahoj

Vite o nejake relevantni nahrade DBGridu od TMSSoftware ktera ve spojeni
s FibPlus bude podobne vlastnosti a vizaz, ale nebude nadmerne zatezovat
procesor pri obycejnem vertikalnim prohlizeni tabulky (me to dela skoro
50% u DualCore).
Pripadne jak ten grid nastavit aby se choval slusneji ...

Diky Jura

Indy, SMTP a cestina

[*] Pavel Simek <sw68(zv)seznam(tec)cz> - 27.7.2007 06:34:28

Zdravim vsechny.
Mam problem s ceskymi znaky pri odesilani e-mailu pomoci kompoment Indy.
Ceske znaky se zkomoli.
Nevite co s tim?

Pavel


CAPICOM a TimeStamp

[*] delphak(zv)centrum(tec)cz - 26.7.2007 17:01:34

Ahoj,
nevite nekdo jak v Delphi pomoci CAPICOM (nebo nejakym jinym zpusobem) ziskat z podpisu informace o casovem razitku dle CAdES-EPES-T?

Umisteni BPL souboru u uzivatele

[*] Petr Vones <conference(zv)petrvones(tec)net> - 09.8.2007 14:36:29

From: "Petr Svejda" <petr(zv)svejda(tec)cz>
>A existuje ve Windows XP a spec. ve Vistach nejaka odpovidajici
> systemova slozka, do ktere bych mohl BPL soubory InnoSetupem nakopirovat
> bez toho, abych po uzivatelovi vyzadoval jina prava nez User?

Ne, user prave nema mit prava zapisovat cokoli do Program Files apod. Od
toho je instalace pod admin nebo power user uctem. Jinak by to cele nemelo
vubec smysl.

Petr Vones


Umisteni BPL souboru u uzivatele

[*] Petr Svejda <petr(zv)svejda(tec)cz> - 09.8.2007 14:06:27

A existuje ve Windows XP a spec. ve Vistach nejaka odpovidajici
systemova slozka, do ktere bych mohl BPL soubory InnoSetupem nakopirovat
bez toho, abych po uzivatelovi vyzadoval jina prava nez User?
> Windows ich hlada rovnako ako kazdu DLL.
> Staci, ak su v ceste (systemova premenna PATH).
>

Delphi a vytvoreni dokumentu typu OpenOffice.org

[*] Petr Vetesnik <vetesnik(zv)gmail(tec)com> - 25.7.2007 23:04:23

Jeste jedna poznamka.
Informace o oo dokumentech na http://en.wikipedia.org/wiki/OpenDocument

PV.

Delphi a vytvoreni dokumentu typu OpenOffice.org

[*] Petr Vetesnik <vetesnik(zv)gmail(tec)com> - 25.7.2007 22:58:22

Zdravim,
ja na dokument (ods) se uplne jinak. Popisu nasledujici postup, kdz jsem
potreboval generovat soubor s tabulkou pro export dat.

1) vytvoril jsem si soubor typu ods, kde jsem vyplnil jeden list a nekolik
bunek, bez formatu
2) soubor jsem prejmenoval na zip a rozbalil
3) v souboru content.xml jsou data k jednotlivym bunkam
4) poeditoval napr. PSpad
5) zaarchivoval a prejmenoval na ods a otevrel

Postupne jsem takhle koukal na styly.

Neumit tak delal nic sloziteho, ale pro export co potrebuji je to OK.

PS. Pro baleni pozor na spravnou adresarovou strukturu!

PV.

Delphi a vytvoreni dokumentu typu OpenOffice.org

[*] Ladislav Stary <stary(zv)ekodat(tec)cz> - 25.7.2007 15:01:50

Podivej se na stranku http://development.openoffice.org/
Nejake priklady pro Delphi by mely byt ulozeny primo v SDK.

Pokud jsem to narychlo pochopil, tak to vyuziva COM stejne jako Microsoft.

Ladislav Stary

Petr Svejda napsal(a):
> Krome toho, ze exportuji data do Excelu a Wordu, potrebuji vytvaret
> dokumenty do odpovidajicich dokumentu OpenOffice. Existuje nejaky SDK,
> vzorovy priklad nebo odkaz, ze ktere by slo se odpichnout?
>

Tisk na pokladni tiskarnu

[*] johanka arkova <johanka.arkova(zv)pnws.org> - 25.7.2007 14:31:48

Ahoj,
mam problem s tiskem na pokladni tiskarnu,
tisknu klasicky pres
AssignPrn(fFile); Rewrite(fFile); Write('Text', fFile);
CloseFile(fFile)
mam ale problem s tim, ze po case (cca 20 radku) zacne tiskarna
tisknout blaboly (nahodne znaky), nekde jsem cetla, ze to ma co
docineni s bufferem tiskarny, ktery je moc maly a data v nem pretecou,
bohuzel jsem nikde nenasla navod, jak toto obelstit.
Nevite nekdo?

Dekuji,
Johanka


ADMIN: Delphi a vytvoreni dokumentu typu OpenOffic

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 25.7.2007 14:21:47

Puvodni zprava ze dne 25.7.2007 od Ludek Finstrle:

> Wed, Jul 25, 2007 at 02:09:46PM +0200, Petr Svejda napsal(a):
>> Krome toho, ze exportuji data do Excelu a Wordu, potrebuji vytvaret
>> dokumenty do odpovidajicich dokumentu OpenOffice. Existuje nejaky SDK,
>> vzorovy priklad nebo odkaz, ze ktere by slo se odpichnout?

> Existuje.

Takovehle odpovedi si nech pro sebe a ber to jako durazne napomenuti
administratora.

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory


web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz

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


Delphi a vytvoreni dokumentu typu OpenOffice.org

[*] Pavel Malinsky <malinsky(zv)pmcom(tec)cz> - 25.7.2007 14:19:47

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

> > Krome toho, ze exportuji data do Excelu a Wordu, potrebuji vytvaret
> > dokumenty do odpovidajicich dokumentu OpenOffice. Existuje
> nejaky SDK,
> > vzorovy priklad nebo odkaz, ze ktere by slo se odpichnout?
>
> Existuje.

Hm, dobra odpoved.

http://download.openoffice.org/2.2.0/sdk.html

PMal


Delphi a vytvoreni dokumentu typu OpenOffice.org

[*] Ludek Finstrle <ludek.finstrle(zv)pzkagis(tec)cz> - 25.7.2007 14:13:46

Wed, Jul 25, 2007 at 02:09:46PM +0200, Petr Svejda napsal(a):
> Krome toho, ze exportuji data do Excelu a Wordu, potrebuji vytvaret
> dokumenty do odpovidajicich dokumentu OpenOffice. Existuje nejaky SDK,
> vzorovy priklad nebo odkaz, ze ktere by slo se odpichnout?

Existuje.

Luf

Odmapovani sitoveho disku

[*] Karel Klimes <klimes(zv)unicontrols-tramex(tec)cz> - 23.7.2007 18:10:52

> Pro odmapovani jednoh sitoveho disku pouzivam prikaz
> "WNetCancelConnection2('Z:', 0, True);" Lze nejak odmapovat vsechny pritomne
> sitove disky aniz bych musel pouzit prikaz "net use * /delete /yes"?

pouzij WNetOpenEnum, WNetEnumResource, WNetCloseEnum

kchodl


Odmapovani sitoveho disku

[*] Viktor Marek <viktor(zv)mbox.vol(tec)cz> - 23.7.2007 17:32:49

Pro odmapovani jednoh sitoveho disku pouzivam prikaz
"WNetCancelConnection2('Z:', 0, True);" Lze nejak odmapovat vsechny pritomne
sitove disky aniz bych musel pouzit prikaz "net use * /delete /yes"?

Diky za radu

Viktor Marek
Delphi5 Prof

HART komunikace

[*] Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> - 23.7.2007 06:40:06

Dekuji za informaci, o placene verzi vim - napriklad JSP Nova Paka, pomoci
DDE. HART modem pochopitelne mam.
Dalik.

> bych se zkusil podivat po OPC serveru (viz google: OPC + HART). OPC je
> zalozeno na COM rozhranich, takze neni problem s pristupem. Jedinou
> nevyhodou bude asi to, ze nebude urcite zadarmo. Jinak je urcite potreba
> nejake komunikacni rozhrani - prevodnik pro pripojeni k PC, jelikoz se
> HART prenasi pres proudovou smycku 4-20 mA.

TFileStream a Thread

[*] Milan <krata.milan(zv)seznam(tec)cz> - 22.7.2007 21:47:29

Odpovim asi jako kolega ve svych prohramech mam

if fileexists(Filename) then OpenAtribut := fmOpenReadWrite else
OpenAtribut := fmCreate;


Milan


> FCSVFile:= TFileStream.Create(FForm.ExportPath+'recom.csv', fmCreate
> or fmOpenReadWrite);
>

TFileStream a Thread

[*] Vaclav Sazima <vaclav.sazima(zv)utilia(tec)cz> - 22.7.2007 14:59:03

Ahoj,
odstranil bych fmCreate
Vaclav Sazima

Ales Pavel napsal(a):
> Ahoj mam ve vlakne otevirani a ukladani dat, pricemz chci pridavat data
> na konec...jenze at delam co delam nedostanu se na konec souboru,
> netusite co se deje? Mam tam neco takoveho
>
> FCSVFile:= TFileStream.Create(FForm.ExportPath+'recom.csv', fmCreate
> or fmOpenReadWrite);
>
> FCSVFile.Seek(0,soFromEnd);
>
> FCSVFile.Write(PChar(XStringTemp)^, Length(XStringTemp));
>
>
>

TFileStream a Thread

[*] Ales Pavel <aldik(zv)quick(tec)cz> - 22.7.2007 13:26:57

Ahoj mam ve vlakne otevirani a ukladani dat, pricemz chci pridavat data
na konec...jenze at delam co delam nedostanu se na konec souboru,
netusite co se deje? Mam tam neco takoveho

FCSVFile:= TFileStream.Create(FForm.ExportPath+'recom.csv', fmCreate
or fmOpenReadWrite);

FCSVFile.Seek(0,soFromEnd);

FCSVFile.Write(PChar(XStringTemp)^, Length(XStringTemp));

a stejne nejsem na konci a pridavaji se data od zacatku ach jo... je to
tim vlaknem(mimochodem je v dll)?


Ales

vlastnost hint

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 21.7.2007 21:45:55

> Jak mam aktivovat zobrazovani napovedy, kdyz
> mainmenu nema vlastnost "showhint", a nastaveni teto vlastnosti na
> materskem formulari nepomaha?

Hint si muzes zobrazovat sam na status baru. Nekde si nastav
Application.OnHint:=ShowHint;

procedure TFrmMain.ShowHint(sender:TObject);
begin
StatusBarMain.Panels[0].Text:=Application.Hint;
end;

HTH,

Martin

sll form post synapse

[*] Ales Pavel <aldik(zv)quick(tec)cz> - 21.7.2007 17:31:38

mam neco takoveh jede to pres ssl ale stale mi form nevraci co ma..
rozumite proc nejak to nebere parametry pri odeslani.. ale nekolikrat
jsem je prohlizel a zdaji se ok. netusite? nebo tam nejakym zpusobem i
submity je jich tam k odeslani nekolik.. uf uf vazne netusim proc to
nevari...

AMethod:=THTTPSend.Create;
AMethod.UserName:='dddd';
AMethod.Password:='eeee';
urllData:='l=R&o=9&jud=99&z_in=1&l_in=1&a_in=1990&z_sf=1&l_sf=12&a_sf=2007&a=on&cauta=Selectie&t=1636713&n=1&p=3&s=4';

urlData:=EncodeURLElement(urlData);
WriteStrToStream(AMethod.Document, URLData);
AMethod.MimeType := 'application/x-www-form-urlencoded';
AMethod.HTTPMethod('POST','https://XXXX/cgi-bin/interog.cgi');
AMethod.Document.SaveToFile('c:\login2.html');

prosim o radu fakt s tim asi nehnu...

Ales

vlastnost hint

[*] MartinV <ahi(zv)volny(tec)cz> - 21.7.2007 14:31:26

Prosim radu:
potrebuji do mainmenu zadat napovedu (hint).
Jak mam aktivovat zobrazovani napovedy, kdyz
mainmenu nema vlastnost "showhint", a nastaveni teto vlastnosti na
materskem formulari nepomaha?

Diky za pomoc.
Martin
ahi(zv)volny(tec)cz

ssl ukazka dalsi odkaz...

[*] Ales Pavel <aldik(zv)quick(tec)cz> - 20.7.2007 15:33:56

tak na ssl jsem prisel chybela mi tam openssl unita, boze boze. Jinak
nevite nekdo jak vyresit dalsi prekliknuti?:)

kdyz znovu zavolam HTTPMethod tak se mi vrati ze mi servlet nerozumi...

Ales

Uvolnenie struktury odkazovanej sa z tlistitem.dat

[*] delphin(zv)post(tec)cz - 20.7.2007 13:21:48

> Ospravedlnujem sa za tie moje bludy!
> Prave som si to vyskusal a mas pravdu, musi to byt pretypovane.
> Neviem preco som si myslel, ze memory manager sleduje aj type info spolu s
> odkazom na alokovanu pamet.

Memory manager si pouze u kazdeho alokovaneho bloku poznamena jeho delku,
TypeInfo neni zalezitost memory manageru.

> Mozno ma poplietlo nieco v suvislosti s .NET, v com som sa nedavno hrabal.

V .NET je (pry) vsechno objekt a to je jine kafe. Ostatne, kdyby jste tak
jako v .NET pouzil libovolny objekt a na objekt zavolal Destroy, tak se to
vsechno uvolni spravne. Ovsem pri pouziti objektu se nakonec zavola stejne
finalize jako pri Dispose(PMujTyp(pointer));

> Skusim byt nabuduce pri odpovediach opatrnejsi.

Proc ? Od toho diskuse existuji, abychom se dobrali spravneho reseni.

Uvolnenie struktury odkazovanej sa z tlistitem.dat

[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 20.7.2007 12:55:45

> Je rozdil volat:
> var
> P1:pointer;
> P2: PSoftwareItem;
>
> Dispose(P1);
> Dispose(P2);
>
>
> V obou pripadech se sice uvolni pamet, ale v pripade P1
> Delphi nevi, ze ma finalizovat promenne, tudiz je necha tak, jak jsou.

Ospravedlnujem sa za tie moje bludy!
Prave som si to vyskusal a mas pravdu, musi to byt pretypovane.
Neviem preco som si myslel, ze memory manager sleduje aj type info spolu s odkazom na alokovanu pamet.
Mozno ma poplietlo nieco v suvislosti s .NET, v com som sa nedavno hrabal.

Skusim byt nabuduce pri odpovediach opatrnejsi.
Vdaka za lekciu.

TOndrej

Uvolnenie struktury odkazovanej sa z tlistitem.dat

[*] delphin(zv)post(tec)cz - 20.7.2007 12:43:45

> Ano, ved prave o to ide. New alokuje pamet a vracia odkaz na nu, Dispose
> prijima odkaz a uvolnuje pamet.
> V pripade typu record (v Tvojom pripade TSoftwareItem) automaticky
> uvolnuje aj vsetky fields (v Tvojom pripade Name, Version, Publisher typu
> string). Takze
> skutocne nepotrebujes volat nic ine ako Dispose s odkazom, ktory vratila
> procedura New.

To samozrejme neni pravda.

Je rozdil volat:


var
P1:pointer;
P2: PSoftwareItem;

Dispose(P1);
Dispose(P2);


V obou pripadech se sice uvolni pamet, ale v pripade P1 Delphi nevi, ze ma
finalizovat promenne, tudiz je necha tak, jak jsou.

Uvolnenie struktury odkazovanej sa z tlistitem.dat

[*] delphin(zv)post(tec)cz - 20.7.2007 12:41:44

{1} neprovede Finalize TSoftwareItem a uvolni pamet
{2} provede Finalize TSoftwareItem a uvolni pamet

Pokud mate v recordu promenne vyzarujici finalizaci, treba string, variant,
dynamicke pole atd. musite pouzit {2}. V opacnem pripade muzete pouzit {1} i
{2}.

SQL na webe

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 23.7.2007 01:15:45

Puvodni zprava ze dne 22.7.2007 od Ing. Keder Vladimir:

> Vytvoril som aplikaciu ktora ako datovy sklad vyuziva SQL2005
> Express. Celkom dobre to funguje, ale chcel by som mat pristup
> k?datam aj mimo domenu. U?providera kde mam hosting mam k?dispozicii
> SQL Server 2005 Express.

Prikladik ti je na nic, kdyz ani nevis, jestli na mssql2005.qsh.eu
vubec ten SQL Server sedi na portu 1481 a je pristupny zvenku. Nevim,
proc chces postupovat odzadu. Zacni dotazem u sveho providera a teprve
potom neco zkousej. A az se dostanes do faze zkouseni, tak zacni
zkouset pres aplikaci, ktera to urcite umi a funguje, tj. treba pres
SQL Server Management Studio. No a az to vsechno bude fungovat, muzes
si hrat s Delphi.

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory


web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz

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


Uvolnenie struktury odkazovanej sa z tlistitem.dat

[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 20.7.2007 10:17:35

> Dik zaz radu, ale uvolni mi aj pamat ktoru som alokoval prikazom
> new(...) pri vytvarani ukazovatela?

Ano, ved prave o to ide. New alokuje pamet a vracia odkaz na nu, Dispose prijima odkaz a uvolnuje pamet.
V pripade typu record (v Tvojom pripade TSoftwareItem) automaticky uvolnuje aj vsetky fields (v Tvojom pripade Name, Version, Publisher typu string). Takze skutocne nepotrebujes volat nic ine ako Dispose s odkazom, ktory vratila procedura New.

var
P: PSoftwareItem;

New(P); // alokuje a inicializuje pamet (3 * string = 12B)
try
P^.Name := 'Name'; // alokuje pamet pre string (refcount + pocet znakov + #0 = 6B)
...
finally
Dispose(P); // uvolni strukturu samotnu aj jednotlive stringy
end;

HTH
TOndrej

CHARSET a rustina

[*] Petr Vetesnik <vetesnik(zv)gmail(tec)com> - 20.7.2007 09:53:33

Pekne leto vsem,
potreboval bych poradit, zda existuje nejaka funkce, ze ktere 'vypadne'
cislo charsetu, ktere je nutno nastavit napr. do TLabel.Font.Charset, pokud
znam kod jazyka. Nechce se mi delat nejaka prevodni funkce na cca 10 jazyku.
Potreboval bych nejakou systemovou.

Predem dik

Petr Vetesnik

ssl (https) synapse

[*] Ales Pavel <aldik(zv)quick(tec)cz> - 20.7.2007 09:45:32

stale se nemuzu pohnout z mista neustale mi to vraci chybu sll is not
implemented. Prosim je tu nekdo kdo mi s tim poradi? Pripadne posle
ukazku jak na basic authentification v synapsi?


Ales

Razeni MSSQL

[*] lelicek(zv)volny(tec)cz - 20.7.2007 09:43:32

Ahoj,
MSSQL povoluje pouzit v klauzuki ORDER BY
prikaz CASE.
Tudiz neco takoveho:
SELECT ISNUMERIC(spz), * FROM #xxx
ORDER BY CASE WHEN ISNUMERIC(spz) = 1 THEN SPACE( 10 - LEN( RTRIM( LTRIM(
spz)))) + RTRIM( LTRIM( spz)) ELSE spz END

nebo

SELECT ISNUMERIC(spz), * FROM #xxx
ORDER BY CASE WHEN ISNUMERIC(spz) = 1 THEN CAST( spz as int) ELSE 0 END,
spz

Pavel


Od: "Dalibor" <dalibor(zv)torola(tec)cz>
> Ahoj, da se nejak docilit, aby mi pri pouziti ORDER
> BY u sloupce, ktery je alfanumericky, radil MSSQL
> 2005 i jako numericky?

https synapse

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 20.7.2007 09:35:31

> tak jsem se dostal do faze kdy mi dosslconnect vraci chybu 10091 ach
> jo netusite nekdo? zrejme mi tam nejak chybi platny certifikat ale jak
> na nej... nemate ukazku na basic authentification + ssl?

Nejdrive si vyber, pomoci ceho chces mit to SSl implementovane, a pak
ubved do projektovychj uses prislusly ssl plugin. A az pak ti muze
SSl fungovat.

Takze naprikald vybral-li sis OpenSSL, pak k projektu dej obe DLL od
OpenSSl, a do uses dej unitu ssl_openssl.

Pak uz staci mit v URL 'https://..." a ono to pojede.

Pokud potrebujes delat autorizaci pomoci klientkeho certifikatu, pak
pochopitelne nejdriv musis mit ten spravny certifikat.

--
Lukas Gebauer.

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

basic authentification synapse

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 20.7.2007 09:33:31

> pratele nemeli by jste ukazku jak na basic authentification v synapsi
> furt se mi nedari najit jak na to, nemel by jste nekdo ukazku? prosim
> prosim...

Jmeno a heslo dej standardnim zpusobem do URL. Nebo muzes dat jmeno a
heslo do properties username a password. (Prekvapko!). :-)

--
Lukas Gebauer.

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

Uvolnenie struktury odkazovanej sa z tlistitem.dat

[*] miroslav.barica(zv)matador.sk - 20.7.2007 09:09:29

Dik zaz radu, ale uvolni mi aj pamat ktoru som alokoval prikazom
new(...) pri vytvarani ukazovatela?
>
> {1} //Dispose( lvwSoftwareList.Items[I].Data);
> {2} Dispose( PSoftwareItem( lvwSoftwareList.Items[I].Data));
>
> To je jedno, nie je v tom ziadny rozdiel.
>

https synapse

[*] Ales Pavel <aldik(zv)quick(tec)cz> - 20.7.2007 01:28:58

tak jsem se dostal do faze kdy mi dosslconnect vraci chybu 10091 ach jo
netusite nekdo?
zrejme mi tam nejak chybi platny certifikat ale jak na nej...
nemate ukazku na basic authentification + ssl?

Ales

basic authentification synapse

[*] Ales Pavel <aldik(zv)quick(tec)cz> - 19.7.2007 22:14:45

pratele nemeli by jste ukazku jak na basic authentification v synapsi
furt se mi nedari najit jak na to, nemel by jste nekdo ukazku? prosim
prosim...

Ales

Delphi a vytvoreni dokumentu typu OpenOffice.org

[*] Petr Svejda <petr(zv)svejda(tec)cz> - 25.7.2007 14:09:46

Krome toho, ze exportuji data do Excelu a Wordu, potrebuji vytvaret
dokumenty do odpovidajicich dokumentu OpenOffice. Existuje nejaky SDK,
vzorovy priklad nebo odkaz, ze ktere by slo se odpichnout?

Diky

Delphi 2007 for Win32, OpenOffice 2.2

Zalomeni v richeditu

[*] Pavel Malinsky <malinsky(zv)pmcom(tec)cz> - 19.7.2007 16:16:22

Ahoj,

potreboval bych naucit richedit automatickemu
zalamovani radku pri psani textu, vzdy treba po 80ti znacich,
a to na cela slova, je jina cesta nez v KeyDown vzdy vsechno pocitat
po kazdem pismenku ?

Dekuji PMal, D7


GetDiskFreeSpaceEx

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 19.7.2007 15:18:18

On Thursday, July 19, 2007 2:38 PM ,
Frantisek Macala <praktik.sw(zv)seznam(tec)cz> wrote:

> Ydravim,
>
> Mam drobny dotaz. V aplikaci pouzivam na detekci disku funkci
> "GetLogicalDriveStrings" a na zjisteni jejich velikosti
> "GetDiskFreeSpaceEx". Ve vsech operacnich systemech mimo Vistu mi to
> funguje normalne, ale ve Vistach mi system vraci velikost -1.
> Netusim, jestli existuje nejaka jina funkce na zjisteni velikosti
> disku. Napsane je to v Delphi 5.?
>
klicem k problemu bude zrejme chybovy kod - ten je treba vycist
(GetLastError). Visty samozrejme (viz MSDN) GetDiskFreeSpaceEx
podporuji


D. Toman

SQL na webe

[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 23.7.2007 01:03:44

Ahoj,
problem muze byt u poskytovatele, ktery nemusi povolit pristup k sql serveru
z jine strany. Hodne se to dela kvuli zabezpeceni a nejde se k tomu serveru
vubec pripojit.
V tomto pripade to lze udelat tak, ze si vygenerujes php soubor, ulozis ho
na server pres ftp (synapse) ,zavolas ho pres http(synapse) a ten ti
vygeneruje soubor, ve kterem jsou vysledky tveho dotazu nad databazi a ten
si zase stahnes pomoci ftp.

Petr


On 7/22/07, Ing. Keder Vladimir <vkeder(zv)iol.sk> wrote:
>
> Ahoj
>
> Vytvoril som aplikaciu ktora ako datovy sklad vyuziva SQL2005 Express.
> Celkom dobre to funguje, ale chcel by som mat pristup k?datam aj mimo
> domenu. U?providera kde mam hosting mam k?dispozicii SQL Server 2005
> Express.

FireBird 2.0 a komponenty Interbase

[*] Pavel Lavicka <konference(zv)zus(tec)cz> - 19.7.2007 15:08:17

Ahoj vsichni,
zacinam pracovat na jednom projektu ve kterem bych chtel pouzit FB 2.0 a
potreboval bych vedet, zda jsou pro pristup k teto databazi i nadale
pouzitelne komponenty InterBase obsazene v D6, pripadne na co si dat
pozor pri jejich pouziti. Pokud jiz s touto verzi FB nefunguji, muzete
mi poradit jine vhodne pro pristup k FB 2.0 - jedna se o neziskovy
projekt pro jednu skolu, takze i ty komponenty by pokud mozno mely byt free.

Predem dekuji

Pavel

GetDiskFreeSpaceEx

[*] Frantisek Macala <praktik.sw(zv)seznam(tec)cz> - 19.7.2007 14:38:15

Ydravim,

Mam drobny dotaz. V aplikaci pouzivam na detekci disku funkci
"GetLogicalDriveStrings" a na zjisteni jejich velikosti
"GetDiskFreeSpaceEx". Ve vsech operacnich systemech mimo Vistu mi to funguje
normalne, ale ve Vistach mi system vraci velikost -1. Netusim, jestli
existuje nejaka jina funkce na zjisteni velikosti disku. Napsane je to v
Delphi 5.?



Diky za radu.



Frantisek Macala

macala <mailto:macala(zv)praktik(tec)cz> (zv)praktik(tec)cz

777122420

Razeni MSSQL

[*] Dalibor <dalibor(zv)torola(tec)cz> - 19.7.2007 14:36:15

Ahoj, da se nejak docilit, aby mi pri pouziti ORDER BY u sloupce, ktery je alfanumericky, radil MSSQL 2005 i jako numericky?

Tozn. ze pokud byl mel v danem sloupci numericke hodnoty, napr

9
10
11

aby mi je radil

9
10
11

a ne

10
11
9


Jde o to, ze mam ciselnik vozidel, ve kterem je slupec SPZ, kde muze byt klasicka SPZka, nebo jenom cislo.
(jasne, muze se to cislo psat jako 009, nebo 09, ale to neni to, co bych potreboval)

Dekuji za jakykoliv tip

D.

dll form focus refresh

[*] Ales Pavel <aldik(zv)quick(tec)cz> - 23.7.2007 00:37:41

ahoj mam ve sve dll form a modalne ho zobrazuji, co me zarazilo je ze
visualni prvky mi pracuji jen pokud hybu mysi (tj. posilam nejakou win
message hlavnimu formu, je jedno co... pak se muj modalni formular
prekresluje a pracuje jak ma zvlastni...

netusite jak spravne volal modalni formular z dll aby se mi toto nedelo?
delam to takto

FDialog:=TFormDialog.CreateParented(GetMainForm.Handle);//funkce co mi
vraci Hlavni formular jako TForm a je to exportovana fce z aplikace
kterou si beru pres getProcadress
try
FDialog.ShowModal;

finally
FDialog.Free;
end;


Diky moc

Ales


TFileStream a Thread

[*] Ales Pavel <aldik(zv)quick(tec)cz> - 23.7.2007 00:29:40

No tim to nebylo, proste je chyba pri volani handle souboru v dll aspon
mi to tak prijde... uz jsem to vyresil diky

Ales



Milan napsal(a):
> Odpovim asi jako kolega ve svych prohramech mam
>
> if fileexists(Filename) then OpenAtribut := fmOpenReadWrite else
> OpenAtribut := fmCreate;
>
> Milan
>
>
>
>> FCSVFile:= TFileStream.Create(FForm.ExportPath+'recom.csv', fmCreate
>> or fmOpenReadWrite);
>>
>>
>
>
>
>

SQL na webe

[*] Ing. Keder Vladimir <vkeder(zv)iol.sk> - 22.7.2007 23:55:38

Ahoj

Vytvoril som aplikaciu ktora ako datovy sklad vyuziva SQL2005 Express.
Celkom dobre to funguje, ale chcel by som mat pristup k?datam aj mimo
domenu. U?providera kde mam hosting mam k?dispozicii SQL Server 2005
Express. Rad by som preniesol data na tento server a?z?aplikacie pristupoval
k?nim. Problem nastal ked som chcel vytvorit ConnectionString. V?aplikacii
pouzivam komponenty z?dbExpress palety TADOConnection. Vzdy mi hlasi chybu
pri pokuse o?pripojenie.
Mam Delphi 2007 SP1. Je mozne pristupovat z mojej aplikacie k datam na http
? Poradi niekto ci je to vobec mozne, pripadne maly prikladik

Este vypis z webu kde bezi SQL

Connection string: Data Source=mssql2005.qsh.eu,1481;Network
Library=;Connection Timeout=15;Packet Size=4096;Integrated Security=no;User
ID=xxx.sk;Encrypt=no;Initial Catalog=xxx.sk;
Connection timeout: 15
Database: xxx.sk
Datasource: mssql2005.qsh.eu,1481
Network packet size: 4096
Server version: 09.00.3054
Work station id: VIRGINIA

S pozdravom

Ing. Keder

Null parametry v ADO u Oracle 8i

[*] Petr Balsanek <petr.balsanek(zv)asei(tec)cz> - 19.7.2007 08:17:48

Bohuzel je zde butne udat typ daneho parametru, jinak to rve, ze byly
poskytnuty nekonzistentni nebo neuplne udaje. Pro typ ftVariant to vyrve
uplne nesmyslnou chybu a pro typ ftUnknown hlasi, ze byl zadan spatny typ
parametru. Kdyz se zada korektne spravny ty parametru, od provideru 9 vse
funguje spravne. Problem je jen s tim providerem pro Oracle 8i.


Jan Sebelik napsal:
> Parameters[0].DataType := ftString;
> Parameters[0].Value := NULL; // Nebo Clear Parameters[0].Attributes :=
> Parameters[0].Attributes + [paNullable];

Jenom tip - s Oracle jsem pres ADO nepracoval.

Nesedi mi dohromady ftString a Value=NULL Co takhle ftVariant anebo
ftUnknown?

Null parametry v ADO u Oracle 8i

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 18.7.2007 17:04:47

> Parameters[0].DataType := ftString;
> Parameters[0].Value := NULL; // Nebo Clear
> Parameters[0].Attributes := Parameters[0].Attributes + [paNullable];

Jenom tip - s Oracle jsem pres ADO nepracoval.

Nesedi mi dohromady ftString a Value=NULL
Co takhle ftVariant anebo ftUnknown?

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
====================================

Null parametry v ADO u Oracle 8i

[*] Petr Balsanek <petr.balsanek(zv)asei(tec)cz> - 18.7.2007 16:28:45

Dobry den,
nase firma prechazi z BDE na technologii ADO. Jiz jsme vyresili spoustu
problemu (kdyz opomenu rychlost na Oracle :-(), ale narazili jsme u OleDB
provideru pro Oracle 8i (Provider=OraOLEDB.Oracle.1) na nasledujici problem,
ktery se ve vyssich verzich tohoto povideru nevyskytuje (koncem roku
prestavame podporovat Oracle 8i a tudiz bude tento problem pase, ale do te
doby se to resit musi). Jde o pouziti null parametru. Pokud nastavim napr:

Parameters[0].DataType := ftString;
Parameters[0].Value := NULL; // Nebo Clear
Parameters[0].Attributes := Parameters[0].Attributes + [paNullable];

Na Oracle 9 a vys, respektive na OleDB provider pro Oracle 9 vse projde jak
ma. Ovsem pokud se pouzije "osmickovy" provider, hlasi to ruzne chyby (nemam
tu jiz dnes pristupnou databazi Oracle 8i, tak nemohu napsat presne) o
neplatnych datovych typech a v nekterych pripadech to hlasilo i neco ve
smyslu, ze pro danou operaci neni dost pameti (zalezelo na tom, zda se
volalo primo na Query ExecSQL nebo se napr. ukladala data pomoci vazby Query
- Provider - ClientDataset).

Nemate s tim nekdo zkusenosti, pripadne nevite, zda se toto da nejak obecne
vyresit, aniz bychom museli nutit zakazniky s Oracle 8i instalovat providery
pro Oracle 9?

Dekuji za jakoukoliv podnetnou radu.

Petr Balsanek


Inno Setup - StartUp menu

[*] DH-Soft <spravce(zv)dh-soft(tec)cz> - 18.7.2007 13:12:33

Pouzij ISTool, je to doplnek k Inno Setupu a je vizualni.
Dokonce je i v CZ.

D.> From: Milos J. Hrach [mailto:delphi_konf(zv)post(tec)cz]
> Sent: Wednesday, July 18, 2007 9:12 AM

> nevite nekdo jak docilit toho aby se pri instalaci vytvotil
> odkaz v nabidce "Spustit po startu" (Startup)? Pouzivam Inno
> Setup 5.1.9

Firebird, jak hlasit chybejici Commit? - snad vyre

[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 18.7.2007 12:38:30

> Tak jsem nasel jakesi reseni.
> Na formular s komponentou IbDatabase1 jsem polozil IbSqlMonitor1.
> U IbDatabase jsem nastavil:
> TraceFlags = [tfQExecute,tfTransact]
> Na IbSqlMonitor1 jsem navesil obsluhu udalosti:
>
> {nasledujici procedura sleduje zapisy do databaze a jejich
> potvrzovani}

Ako tu uz bolo spomenute, to nie je vseobecne riesenie, kedze aj select zo stored procedury moze sposobit insert/update/delete.
Ale v Tvojom pripade to zrejme staci, ak take procedury nepouzivas.

HTH
TOndrej

Firebird, jak hlasit chybejici Commit? - snad vyre

[*] Jiri Sladek <sladek(zv)czhops(tec)cz> - 18.7.2007 12:30:30

Tak jsem nasel jakesi reseni.
Na formular s komponentou IbDatabase1 jsem polozil IbSqlMonitor1.
U IbDatabase jsem nastavil:
TraceFlags = [tfQExecute,tfTransact]
Na IbSqlMonitor1 jsem navesil obsluhu udalosti:

{nasledujici procedura sleduje zapisy do databaze a jejich potvrzovani}
var NepotvrzenaAkce :string;
procedure TDm1.IBSQLMonitor1SQL(EventText: String);
begin
if pos('[Execute] update' ,EventText)<>0 then
NepotvrzenaAkce:=EventText;
if pos('[Execute] insert into',EventText)<>0 then
NepotvrzenaAkce:=EventText;
if pos('[Execute] delete from',EventText)<>0 then
NepotvrzenaAkce:=EventText;

if pos('[Commit retaining (Soft commit)]' ,EventText)<>0 then
NepotvrzenaAkce:='';
if pos('[Rollback retaining (Soft rollback)]',EventText)<>0 then
NepotvrzenaAkce:='';
end;

{Nasledujici proceduru spoustim po ukonceni kazdeho modulu me aplikace}
procedure HlasNepotvrzeneZmeny;
begin
if NepotvrzenaAkce<>'' then begin
ErrorMsg('Dulezite upozorneni. '+#13+#10+
'Posledne spusteny modul nedal prikaz pro potvrzeni porizenych
zmen. '+#13+#10+
'Nepotvrzene zmeny budou odvolany (bude proveden
RollBack).'+#13+#10+
'Kontaktujte prosim dodavatele programu. '+#13+#10+
#13+#10+
'Detailni informace o porizenych a nepotvrzenych
datech:'+#13+#10+
copy(NepotvrzenaAkce,1,500)+'...(zkraceno)');
{ ZapisLog('Neproveden Commit/Rollback: '+NepotvrzenaAkce);}
Dm1.Ts1.RollbackRetaining;
end;
end;

Jiri Sladek

----- Original Message -----
From: "Jiri Sladek" <sladek(zv)czhops(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Sunday, July 15, 2007 3:38 PM
Subject: Firebird, jak hlasit chybejici Commit?> Zdravim uzivatele Firebirdu, prosim o nasmerovani.
>
> Potrebuji otestovat, jestli je aplikace ve stavu 'byl proveden Post, ale
> nebyl proveden CommitRetaining'.
> Chci to mit jako pojistku proti chybe programatora, pokud programator
> zapomene nekam dat CommitRetaining.

event formulare v object inspectoru

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 18.7.2007 12:28:29

> nevite nekdo jak zaridit aby kdyz si vytvorim vlastniho predka formularu
> sem dostal jeho eventy do object inspectoru?

Mam dpk balicek, ktery obsahuje unitu, ktera formular registruje. Obsah
unity:

unit InstFormy;

interface

uses
Classes, DsgnIntf, L_MyForm;

procedure Register;

implementation

procedure Register;
begin
RegisterCustomModule(TMyForm, TCustomModule);
end;

end.

Pouzito v D5.

David Lebeda

Master - Detail a AfterScroll

[*] Ladislav Stary <stary(zv)ekodat(tec)cz> - 18.7.2007 11:58:27

Tohle vypada nadejne.
Diky, zkusim.


Ladislav Stary

> No a nebo v BeforeScrollu Mastera vypnout AfterScroll Detailu,
> a v AfterScrollu Mastera zapnout AfterScroll Detailu a zaroven
> ho i zavolat? Nevim, zda to s vasimi daty takto pujde.
>
> Luf
>

Master - Detail a AfterScroll

[*] Ludek Finstrle <ludek.finstrle(zv)pzkagis(tec)cz> - 18.7.2007 11:50:26

Ahoj

> zapasim s jednim problemem. Mam dva datasety, ktere jsou ve vzajemnem
> vztahu Master - Detail. Na oba datasety jsou naveseny pres udalost
> AfterScroll procedury. Potreboval bych nejak zajistit, aby se nejdriv
> volala obsluha AfterScroll pro Master DataSet a pak teprve pro Detail.
>
> Mel jsem dojem, ze to tak musi probehnout vzdycky, ale kdyz si krokuju
> program, tak se to vola presne obracene.

Rekl bych, ze to asi nejde. pri Scrollu v Masterovi se zmeni Detail
a tudiz ten DoScrolluje driv jak Master ;-)

BeforeScroll bude volan jak pozadujete.
No a nebo v BeforeScrollu Mastera vypnout AfterScroll Detailu,
a v AfterScrollu Mastera zapnout AfterScroll Detailu a zaroven
ho i zavolat? Nevim, zda to s vasimi daty takto pujde.

Luf

Master - Detail a AfterScroll

[*] Ladislav Stary <stary(zv)ekodat(tec)cz> - 18.7.2007 11:44:25

Zdravim,

zapasim s jednim problemem. Mam dva datasety, ktere jsou ve vzajemnem
vztahu Master - Detail. Na oba datasety jsou naveseny pres udalost
AfterScroll procedury. Potreboval bych nejak zajistit, aby se nejdriv
volala obsluha AfterScroll pro Master DataSet a pak teprve pro Detail.

Mel jsem dojem, ze to tak musi probehnout vzdycky, ale kdyz si krokuju
program, tak se to vola presne obracene.

diky
Ladislav Stary

Procedura pro praci s obecnym formularem?

[*] Jiri Sladek <sladek(zv)czhops(tec)cz> - 18.7.2007 11:32:23

Tomasi, diky za odpoved.
Zda se, ze to funguje (tuk tuk na drevo).
Prikladam procedurku upravenou pro moji potrebu.
Jiri Sladek

{Vytvoreni, ShowModal a Free obecneho formulare}
procedure RunModul (InstanceClass: TComponentClass; var Reference;
Sender:TObject);
var Instance: TForm;
begin
try
Application.CreateForm (InstanceClass, Instance);
TForm (Reference) := Instance;
Instance.ShowModal;
finally
Instance.Free;
end;
end;

{Nasleduje priklad pouziti}
procedure TFrMainForm.SbDLClick (Sender: TObject);
begin
RunModul (TFrDL, FrDL, Sender);
end;

----- Original Message -----
From: "Tomas Grepl" <delphi(zv)kapsw(tec)cz>
> Pro otvirani formularu obcas pouzivame tuto procedurku, ktera vytvari
> formular dane tridy bud s urcenym jmenem, nebo se jmenem zjistenym z
> InstanceClass. Myslim, ze by ti to mohlo pomoci.
...

event formulare v object inspectoru

[*] Ladislav Fitz <ladislav.fitz(zv)kodytek(tec)cz> - 18.7.2007 11:30:19

zdravim

nevite nekdo jak zaridit aby kdyz si vytvorim vlastniho predka formularu sem
dostal jeho eventy do object inspectoru?

diky predem

Procedura pro praci s obecnym formularem?

[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 18.7.2007 11:20:14

> Jak z procedury otevrit libovolny formular, ktery je predan
> procedure jako parametr?

Z toho kodu mam dojem, ze ziadny parameter nie je potrebny.

function SpustModul(FormClass: TFormClass): TModalResult;
var
Form: TForm;
begin
Application.CreateForm(FormClass, Form);
try
...
Result := Form.ShowModal;
finally
Form.Free;
end;
end;

HTH
TOndrej

Dialog adresare

[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 18.7.2007 11:06:05

> Nevite nekdo, jak vyvolat dialog pro volbu adresare?

Napriklad SelectDirectory v unite FileCtrl.

HTH
TOndrej

Uvolnenie struktury odkazovanej sa z tlistitem.dat

[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 18.7.2007 11:00:00

> nie som si isty, ako ju zrusit v destroy formu ci sposobom oznacenym
> {1}, alebo
> {2}?

{1} //Dispose( lvwSoftwareList.Items[I].Data);
{2} Dispose( PSoftwareItem( lvwSoftwareList.Items[I].Data));

To je jedno, nie je v tom ziadny rozdiel.

HTH
TOndrej

ADMIN: Procedura pro praci s obecnym formularem?

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 18.7.2007 10:55:58

Puvodni zprava ze dne 18.7.2007 od Tomas Grepl:

> Pro otvirani formularu obcas pouzivame tuto procedurku, ktera
> vytvari formular dane tridy bud s urcenym jmenem, nebo se jmenem
> zjistenym z InstanceClass. Myslim, ze by ti to mohlo pomoci.

Tady se uz sto let quotuje tak, ze se odmazava vsechno nepotrebne,
jestli sis nevsiml. I v lete se quotuje. Ber to jako napomenuti.

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory


web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz

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


Procedura pro praci s obecnym formularem?

[*] Tomas Grepl <delphi(zv)kapsw(tec)cz> - 18.7.2007 10:47:55

Pro otvirani formularu obcas pouzivame tuto procedurku, ktera vytvari
formular dane tridy bud s urcenym jmenem, nebo se jmenem zjistenym z
InstanceClass. Myslim, ze by ti to mohlo pomoci.

procedure CreateAndActivateForm(InstanceClass: TComponentClass; var
Reference; FormName : string = '');
var Instance: TForm;
begin
if FormName = '' then begin
FormName := InstanceClass.ClassName;
if (length(FormName) > 1) and (FormName[1] = 'T') then
delete(FormName, 1, 1);
end;
Instance:= FindFormByName(FormName);
if Instance = nil then begin
Application.CreateForm(InstanceClass, Instance);
if Instance.Name <> FormName then
Instance.Name := FormName;
end;
TForm(Reference) := Instance;
if Instance.WindowState = wsMinimized then
Instance.WindowState := wsNormal;
end;

Tomas


Jiri Sladek wrote:
> Zdravim, tak opet zapasim s problemkem a prosim o radu
>
> Z hlavni nabidky programu spoustim ruzne formulare.
> Ta procedura vypada vzdy skoro stejne, jen se lisi jmenem formulare:
>
> procedure TFrMainForm.SpeedButtonELClick(Sender: TObject);
> begin
> try
> ZvyrazniTlacitko(Sender);
> LogujUzivatelModul(LoginUzivatele,'+EL');
> HlasNepotvrzeneZmeny;
> Application.Create(TFrEL,FrEL)
> FrEL.ShowModal;
> finally
> FrEL.Free;
> LogujUzivatelModul(LoginUzivatele,'-EL');
> HlasNepotvrzeneZmeny;
> end;
> end;
>
> A tahle krasa je v programu treba 20x.
> Rad bych to zobecnil, abych vzdy volal jen jednu proceduru
> SpustModul, ktera by vse zajistila, nejak takhle:
>
> procedure SpustModul (FormClass: TFormClass; var MyForm;
> Sender:TObject);
> var PomForm:TForm;
> begin
> try
> ... nejake akce...
> Application.CreateForm(FormClass,MyForm);
> MyForm .ShowModal; <-----tady mi kompilator hlasi Record, object,
> or class type required finally
> ...nejake akce...
> MyForm.Free; <--tady mi kompilator hlasi Record, object, or
> class type required ...nejake akce...
> end;
> end;
>
> Dotaz tedy zni:
> Jak z procedury otevrit libovolny formular, ktery je predan procedure
> jako parametr?
>
> Slo by to FormClass nejak pouzit pro regulerni pretypovani?
> Kdyz urcim typ toho parametru jako TForm, tak zase kompilator hlasi
> nesouhlas typu.
> Kdyz jsem se pokusil o nasilne pretypovani TForm(MyForm), tak jsem
> dostal hlaseni: Invalid class typecast.
> Rikam si, ze kdyz existuje metoda Application.CreateForm, tak by
> mohla existovat obdoba ShowModalForm a FreeForm.
>
> Diky.
> Jiri SLadek

Procedura pro praci s obecnym formularem?

[*] Jiri Sladek <sladek(zv)czhops(tec)cz> - 18.7.2007 09:52:24

Zdravim, tak opet zapasim s problemkem a prosim o radu

Z hlavni nabidky programu spoustim ruzne formulare.
Ta procedura vypada vzdy skoro stejne, jen se lisi jmenem formulare:

procedure TFrMainForm.SpeedButtonELClick(Sender: TObject);
begin
try
ZvyrazniTlacitko(Sender);
LogujUzivatelModul(LoginUzivatele,'+EL');
HlasNepotvrzeneZmeny;
Application.Create(TFrEL,FrEL)
FrEL.ShowModal;
finally
FrEL.Free;
LogujUzivatelModul(LoginUzivatele,'-EL');
HlasNepotvrzeneZmeny;
end;
end;

A tahle krasa je v programu treba 20x.
Rad bych to zobecnil, abych vzdy volal jen jednu proceduru SpustModul, ktera by vse zajistila, nejak takhle:

procedure SpustModul (FormClass: TFormClass; var MyForm; Sender:TObject);
var PomForm:TForm;
begin
try
... nejake akce...
Application.CreateForm(FormClass,MyForm);
MyForm .ShowModal; <-----tady mi kompilator hlasi Record, object, or class type required
finally
...nejake akce...
MyForm.Free; <--tady mi kompilator hlasi Record, object, or class type required
...nejake akce...
end;
end;

Dotaz tedy zni:
Jak z procedury otevrit libovolny formular, ktery je predan procedure jako parametr?

Slo by to FormClass nejak pouzit pro regulerni pretypovani?
Kdyz urcim typ toho parametru jako TForm, tak zase kompilator hlasi nesouhlas typu.
Kdyz jsem se pokusil o nasilne pretypovani TForm(MyForm), tak jsem dostal hlaseni: Invalid class typecast.
Rikam si, ze kdyz existuje metoda Application.CreateForm, tak by mohla existovat obdoba ShowModalForm a FreeForm.

Diky.
Jiri SLadek

Dialog adresare

[*] mydelphi(zv)seznam(tec)cz - 18.7.2007 09:36:23

Nevite nekdo, jak vyvolat dialog pro volbu adresare?

Mame BDS 2007

Michal Kos.

Inno Setup - StartUp menu

[*] horky(zv)cominn(tec)cz - 18.7.2007 09:24:22

> From: Milos J. Hrach [mailto:delphi_konf(zv)post(tec)cz]
> Sent: Wednesday, July 18, 2007 9:12 AM

> nevite nekdo jak docilit toho aby se pri instalaci vytvotil
> odkaz v nabidce "Spustit po startu" (Startup)? Pouzivam Inno
> Setup 5.1.9

[Tasks]
Name: PriSpusteni; Description: Spoustet program ihned po startu pocitace; GroupDescription: Ikony:

[Icons]
Name: {commonstartup}\program; Filename: {app}\program.exe; Tasks: PriSpusteni; Flags: createonlyiffileexists

Silne jsem to orezal, ale to podstatne tam mas. Inno Setup 4.2.7.
--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP2
[mailto:horky(zv)cominn(tec)cz]

Program na liste Win

[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 17.7.2007 15:53:15

Nezkousel jsem, ale asi

ShowWindow(Application.Handle, SW_HIDE);>
> potreboval bych udelat program, ktery by se nezobrazoval na liste Windows.
> Poradite nekdo jak na to?
>

Incrementalni cislo u noveho zaznamu

[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 17.7.2007 15:45:14

Ahoj,
Jak zjistim jaky je (bude) prideleno incremetalni cislo u noveho vznikajiciho zaznamu (nadefinovan: id counter NOT NULL).
Jakykoliv dotaz vraci hodnotu null. Zatim jsem to obchazel pomocnym ukazovatkem a close-open-find ukazovatko. :-(
(Databaze - access mdb, pripojena pomoci ADO) .
Take mne nevim co s hlaskou:

EDatabaseError - Radek nelze nalezt a aktualizovat. Pravdepodobne byly od posledniho cteni zmeneny nektere hodnoty

ktera spolehlive prijde pokud zalozim novy zaznam, ulozim a pak znova edituji (odpomohlo take nastoupeni-vystoupeni)

Dekuji za rady

D7Pro XP MDB

Prijemny zbytek dne
Vasek Zaruba
8^)

Program na liste Win

[*] Milos J. Hrach <delphi konf(zv)post(tec)cz> - 17.7.2007 12:17:01

Ahojte,

potreboval bych udelat program, ktery by se nezobrazoval na liste Windows.
Poradite nekdo jak na to?

Diky

Program na liste

[*] Milos J. Hrach <delphi konf(zv)post(tec)cz> - 17.7.2007 11:08:56

Zdravim,

potrebpoval bych udelat takovy programek, ktery nebude pri behu zobrazen na liste windowsu

Diky

Planovani trasy

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 17.7.2007 11:28:57

Ahoj,

pokud je to jeste aktualni, muzu juknout po starem CD, kde jsem to
mel hotove. Zadas tomu mapu uzlu (uz nevim v jakem formatu, ale to
prizpusobis) a ono ti to najde cestu. Pocita to i s "vahou" jednotliveho
spoje - tj. jak moc je optimalni. Pouzivali jsme to pro hledani trasy po
CR v mape. Je to upravena metoda (ta puvodni byla pro vyuku dobra, pro
praxi nepouzitelna) ze skript ZCU - tusim teorie grafu.

TomasRosa.com

> Ahoj, potrebuji do sve aplikace dostat planovani trasy. Silnicni sit mam k dispozici. Muzete mi poradit jak na to?
> Dekuji za jakekoliv info.
>
> D.
>
>

Konverze SetWindowSubclass

[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 17.7.2007 09:42:47

> nemate nekdo konverzi SetWindowSubclass ,prototypu callback
> funkce a zbytek support funkci prevedeny do Delphi ?
>
>
> at to nedelam zbytecne ....

v Delphi 2007 je to uz prelozene v CommCtrl.pas.
Tu su tie deklaracie pre pripad, ze mas starsie Delphi.

//
// subclassing stuff
//
type
{ For Windows >= XP }
{ $EXTERNALSYM SUBCLASSPROC}
SUBCLASSPROC = function(hWnd: HWND; uMsg: UINT; wParam: WPARAM;
lParam: LPARAM; uIdSubclass: UINT_PTR; dwRefData: DWORD_PTR): LRESULT; stdcall;
TSubClassProc = SUBCLASSPROC;

{ Subclassing }

var
_SetWindowSubclass: function(hWnd: HWND; pfnSubclass: SUBCLASSPROC;
uIdSubclass: UINT_PTR; dwRefData: DWORD_PTR): BOOL; stdcall;
_GetWindowSubclass: function(hWnd: HWND; pfnSubclass: SUBCLASSPROC;
uIdSubclass: UINT_PTR; var pdwRefData: DWORD_PTR): BOOL; stdcall;
_RemoveWindowSubclass: function(hWnd: HWND; pfnSubclass: SUBCLASSPROC;
uIdSubclass: UINT_PTR): BOOL; stdcall;
_DefSubclassProc: function(hWnd: HWND; uMsg: UINT; wParam: WPARAM;
lParam: LPARAM): LRESULT; stdcall;

Na Windows starsich ako XP tieto funkcie nie su, takze sa to linkuje dynamicky, GetModuleHandle('comctl32.dll') a potom:

_SetWindowSubclass := GetProcAddress(ComCtl32DLL, 'SetWindowSubclass');
_GetWindowSubclass := GetProcAddress(ComCtl32DLL, 'GetWindowSubclass');
_RemoveWindowSubclass := GetProcAddress(ComCtl32DLL, 'RemoveWindowSubclass');
_DefSubclassProc := GetProcAddress(ComCtl32DLL, 'DefSubclassProc');

HTH
TOndrej

Planovani trasy

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 17.7.2007 08:02:40

> Ahoj, potrebuji do sve aplikace dostat planovani trasy. Silnicni sit
> mam k dispozici. Muzete mi poradit jak na to? Dekuji za jakekoliv
> info.

Doporucuji zajit do knihovny, a tam najit knihu: "Programatorske
poklesky". Na tema planovani trasy je tam cela jedna kapitola, a
myslim, ze velmi poucna! Krom toho se pri cteni dobre pobavis. :-)

(Myslim to vazne!)


--
Lukas Gebauer.

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

Planovani trasy

[*] Dalibor <dalibor(zv)torola(tec)cz> - 17.7.2007 07:52:40

Ahoj, potrebuji do sve aplikace dostat planovani trasy. Silnicni sit mam k dispozici. Muzete mi poradit jak na to?
Dekuji za jakekoliv info.

D.

Jak pozastavit beh programu na urcitou dobu?

[*] Jan Novak <delfin4(zv)volny(tec)cz> - 17.7.2007 07:46:39

> aby po vykonani procedury Proc1 program pockal
> definovany pocet milisekund a teprve po jejich uplynuti
> pokracoval ve vykonavani procedury Proc2

Obycejny sleep ti garantuje akorat, ze ta doba nebude kratsi, ale
podle toho, co se mezitim deje, muze ta doba ve skutecnosti byt daleko
delsi.

Pokud to chces co nejpresnejsi, odloz si v prvnim rozhodnem okamziku
GetTickCount a v druhem rozhodnem okamziku si pozadovany pocet ms pro
Sleep skoriguj o cas, ktery uplynul, nez se CPU dopracovalo k volani
Proc2:

ms := MS_POZAD - (GetTickCount()-Tick1);
if ms>0 then
Sleep(ms);

protoze na pomalejsim stroji se lehce muze stat, ze mezitim uplyne i
vice, nez bylo pozadovano.

Konverze SetWindowSubclass

[*] Radek Voltr <voltr(zv)eleasoftware(tec)com> - 16.7.2007 21:38:01

Zdravim,

nemate nekdo konverzi SetWindowSubclass ,prototypu callback funkce a zbytek
support funkci prevedeny do Delphi ?


at to nedelam zbytecne ....


Dik
Radek

Inno Setup - StartUp menu

[*] Milos J. Hrach <delphi konf(zv)post(tec)cz> - 18.7.2007 09:12:21

Ahoj vespolek,

nevite nekdo jak docilit toho aby se pri instalaci vytvotil odkaz v nabidce "Spustit po startu" (Startup)? Pouzivam Inno Setup 5.1.9

Diky Jakub
D6 profi, WinXP

TTreeView

[*] Ing. Igor Vodicka <vodicka(zv)sagit(tec)cz> - 16.7.2007 14:19:32



> [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Kalhous
>
> Nemate nekdo jednoduchy prikladek na pouziti TTreeView ktery si
> naplnim stromeckovou strukturou (z databaze) a pak uz jen
> potrebuju rozbalovat/sbalovat vetve a pri kliknuti zjistit ID
> uzlu v databazi? V zivote jsem to nepotreboval a ted to jeden
> uzivatel chce mit vcera hotove takze nemam cas na badani. Dik.

Hledej komponentu obsahujici v nazvu DBTreeView, napr. balik JVCL ji
obsahuje viz http://jvcl.sourceforge.net

ahoj Igor Vodicka

TTreeView

[*] Kalhous <kalhous(zv)eu(tec)cz> - 16.7.2007 12:33:26

Nemate nekdo jednoduchy prikladek na pouziti TTreeView ktery si naplnim stromeckovou strukturou (z databaze) a pak uz jen potrebuju rozbalovat/sbalovat vetve a pri kliknuti zjistit ID uzlu v databazi? V zivote jsem to nepotreboval a ted to jeden uzivatel chce mit vcera hotove takze nemam cas na badani. Dik.

Z.Kalhous

Jak pozastavit beh programu na urcitou dobu?

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 16.7.2007 10:59:19

Sleep(200); - pocka 200 ms.

Slavek

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Miloslav Pojsl
> Sent: Monday, July 16, 2007 10:53 AM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Jak pozastavit beh programu na urcitou dobu?
>
>
> Zdravi vsechny,
>
> prosim muze mi nekdo poradit, jak v Delphi6 vyresit tento
> problem. Mam tento kod:
>
> Proc1;
> Proc2;
>
> Jak udelat (inteligentne), aby po vykonani procedury Proc1
> program pockal definovany pocet milisekund a teprve po jejich
> uplynuti pokracoval ve vykonavani procedury Proc2;
>
> Diky, zdravi Milos Pojsl
>
>
>

Jak pozastavit beh programu na urcitou dobu?

[*] Miloslav Pojsl <mpojsl(zv)seznam(tec)cz> - 16.7.2007 10:53:19

Zdravi vsechny,

prosim muze mi nekdo poradit, jak v Delphi6 vyresit tento problem. Mam tento kod:

Proc1;
Proc2;

Jak udelat (inteligentne), aby po vykonani procedury Proc1 program pockal definovany pocet milisekund a teprve po jejich uplynuti pokracoval ve vykonavani procedury Proc2;

Diky, zdravi Milos Pojsl

Stare hodnoty fieldu v tabulce (BDE)

[*] lelicek(zv)volny(tec)cz - 16.7.2007 10:51:18

Ahoj,
v TFields mas k dispozici property OldValue a ta udrzuje presne ten udaj
ktery chces.

Pavel.

Od: "Sliva" <sliva(zv)csh(tec)cz>
> lze v Paradox tabulkach v metode BeforePost zjisti
> jakou melo pole v zaznamu hodnotu predtim nez se editovalo,
> tedy v okamziku kdyz se zaznam zapl do edit modu...pak
> se na neco zmenil a ja v beforepost potrebuji novou
> hodnotu srovnat s starou (vim ze to lze pres pomocnou
> promenu pri naplneni pri AfterEnter..ale mam hodne
> policek), tak hledam neco obecnejsiho, jestli to nahodou
> BDE nema nekde zapamatovano v nejake property nebo
> tak nejak...
--
Paradni leto s internetem od VOLNY! Zvysene datove limity a film
zdarma.
Vice na http://adsl.volny(tec)cz nebo na tel. 800 880 842.

Firebird, jak hlasit chybejici Commit?

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 16.7.2007 08:41:05

Tusim, ze v tomhle pripade se jedna asi o neslucitelne pozadavky. Ja
osobne pouzivam system s jednou transakci typu R/W a vsechny ostatni
transakce jsou R/O (napr. formulare si oteviraji kazdy svou vlastni).
Nepotrebuji tim kontrolovat miliony transakci nebo prikazy, ktere se tou
transakci prozenou, protoze vsechny zapisy jsou realizovany pres nase
objekty a nikoliv pres DB-aware komponenty.
Ale pokud potrebujes sledovat zapis do databaze, tak napr. i select z
procedury dokaze vyprovokat update nebo delete v databazi, takze tudy
cesta urcite nevede. Myslim, ze budes muset zvolit uplne jiny pristup.

S pozdravem

Milan Tomes

Jiri Sladek napsal(a):
> Ja nepotrebuji zjistit, zda je transakce aktivni (nastartovana).
> Potrebuji zjistit, zda transakce ma nebo nema ne-comitovane zmeny dat
>>> Diky za odpoved.
>>> Mam ale pocit, ze transaction.active=true se nahodi spustenim prvniho
>>> query.
>>> Tedy pouhym ctenim z databaze.
>>> Ja ale potrebuju zjistit, ze se vyskytl ne-commitovany zapis.
>> Transakce je transakce a zacina prikazem, at uz je to select nebo neco
>> jineho a musi byt take radne dokoncena.
>>
>>

Stare hodnoty fieldu v tabulce (BDE)

[*] lelicek(zv)volny(tec)cz - 16.7.2007 08:35:05

Ahoj,
tak jako mas k dispozici TField.Value, tak existuje i TField.OldValue,
presne s tim vyznamem, ktery potrebujes.

Pavel

Od: "Sliva" <sliva(zv)csh(tec)cz>
> lze v Paradox tabulkach v metode BeforePost zjisti
> jakou melo pole v zaznamu hodnotu predtim nez se editovalo,
> tedy v okamziku kdyz se zaznam zapl do edit modu...pak
> se na neco zmenil a ja v beforepost potrebuji novou
> hodnotu srovnat s starou (vim ze to lze pres pomocnou
> promenu pri naplneni pri AfterEnter..ale mam hodne
> policek), tak hledam neco obecnejsiho, jestli to nahodou
> BDE nema nekde zapamatovano v nejake property nebo
> tak nejak...
--
Uzijte si leto s internetem od VOLNY! Vyrazne zvysujeme datove
limity.
Vice na http://adsl.volny(tec)cz nebo na tel. 800 880 842.

Uvolnenie struktury odkazovanej sa z tlistitem.dat

[*] miroslav.barica(zv)matador.sk - 18.7.2007 08:24:18

Dobry den,
Mam trosku dilemu, ako uvolnim premennu na ktoru sa odkazujem cez
tlistitem.data? v create formu si vytvorim ukazovatel na danu strukturu
(cez new), naplnim, priradim ukazovatel do tlistitem.data. avsak nie som
si isty, ako ju zrusit v destroy formu ci sposobom oznacenym {1}, alebo
{2}?
Dakujem za nakopnutie...
M



Type
PSoftwareItem = ^TSoftwareItem;
TSoftwareItem = record
Name: string;
Version: string;
Publisher: string;
end;


procedure TForm1.FormCreate(Sender: TObject);
var
LVItem: TListItem;
I: Integer;
begin
Software := TSoftwareList.Create(Self);
Software.RefreshData;

for I := 0 to Software.Count - 1 do
begin
New( SoftwareItem);
SoftwareItem^.Name := Software.Items[I].Name;
SoftwareItem^.Version := Software.Items[I].Version;
SoftwareItem^.Publisher := Software.Items[I].Publisher;

LVItem := lvwSoftwareList.Items.Add;
LVItem.Caption := SoftwareItem^.Name;
LVItem.Data := SoftwareItem;

end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
var
I: Integer;
begin
for I := 0 to Software.Count - 1 do
begin

{1} //Dispose( lvwSoftwareList.Items[I].Data);
{2} Dispose( PSoftwareItem( lvwSoftwareList.Items[I].Data));
end;
Software.Free;
end;

Firebird, jak hlasit chybejici Commit?

[*] Jiri Sladek <sladek(zv)czhops(tec)cz> - 15.7.2007 17:12:07

Dal jsem si na hlavni formular tlacitko a na nej navesil CommitRetaining.
Kdyz spustim aplikaci a zmacknu to tlacitko, tak provedu CommitRetaining
vsech zmen, ktere mozna aplikace provedla pri startu. Aplikace by tedy mela
byt v cistem stavu, kdy zadne zmeny necekaji na Commit.

Ale ve stavovem radku, ktery aktualizuji kazdou vterinu, mi to porad hlasi:
transaction.active=true
transaction.InTransaction=true
Ja nepotrebuji zjistit, zda je transakce aktivni (nastartovana).
Potrebuji zjistit, zda transakce ma nebo nema ne-comitovane zmeny dat.
Jiri Sladek

----- Original Message -----
From: "Jiri Cincura" <diskuze(zv)cincura.net>
To: <delphi-l(zv)clexpert(tec)cz>

>> Diky za odpoved.
>> Mam ale pocit, ze transaction.active=true se nahodi spustenim prvniho
>> query.
>> Tedy pouhym ctenim z databaze.
>> Ja ale potrebuju zjistit, ze se vyskytl ne-commitovany zapis.
>
> A co kdyz selectujes z SP, ktera jeste napr. zapisuje jaky user a kdy
> select provedl? Pak ty "jen" selectujes, ale v DB zapis probehl.
>
> Transakce je transakce a zacina prikazem, at uz je to select nebo neco
> jineho a musi byt take radne dokoncena.
>
> Jiri {x2} Cincura (Microsoft Student Partner)
> http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

Firebird, jak hlasit chybejici Commit?

[*] Pavel Malinsky <malinsky(zv)pmcom(tec)cz> - 15.7.2007 17:08:07


> Diky za odpoved, ale asi to neni ono.
> Ja pouzivam 'stale aktivni transakci', aby se mi nezavrely databazove

Ja taky.:)

> Misto Commit pouzivam (musim pouzivat) CommitRetaining, takze
> InTransaction
> je porad TRUE a transaction.Active je taky porad TRUE. I kdyz

Neni. Mozna v pripade IBX ano, to nevim, ja pouzivam IBO a tam:

The InTransaction property is used exclusively to determine whether you are
in an explicit transaction. It does not indicate the status of an implicit
logical transaction or of the underlying physical transaction.

...takze to mi naprosto vyhovuje, proto sem to psal.

Mel sem za to ze IBX jsou v podstate podobne. Sorry.

PMal

Firebird, jak hlasit chybejici Commit?

[*] Jiri Sladek <sladek(zv)czhops(tec)cz> - 15.7.2007 16:54:06

Diky za odpoved, ale asi to neni ono.
Ja pouzivam 'stale aktivni transakci', aby se mi nezavrely databazove
komponenty.
Misto Commit pouzivam (musim pouzivat) CommitRetaining, takze InTransaction
je porad TRUE a transaction.Active je taky porad TRUE. I kdyz zadna data
necekaji na Commit-ovani.
Jiri Sladek

P.S.
Dokazal by nekdo srozumitelne vysvetlit rozdil mezi
'transaction.InTransaction' a 'transaction.Active' ?

----- Original Message -----
From: "Pavel Malinsky" <malinsky(zv)pmcom(tec)cz>
> Viz help:
> Indicates whether a database transaction is in progress or not.
>
> Delphi syntax:
> property InTransaction: Boolean;
>
> Description
> Examine InTransaction at run-time to determine if a database transaction
> is
> currently in progress. InTransaction is true if a transaction is in
> progress, false otherwise.
> The value of InTransaction cannot be changed directly. Calling
> StartTransaction sets InTransaction to true. Calling Commit or Rollback
> sets
> InTransaction to false.

Firebird, jak hlasit chybejici Commit?

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 15.7.2007 16:52:05

On 7/15/07, Jiri Sladek <sladek(zv)czhops(tec)cz> wrote:
> Diky za odpoved.
> Mam ale pocit, ze transaction.active=true se nahodi spustenim prvniho query.
> Tedy pouhym ctenim z databaze.
> Ja ale potrebuju zjistit, ze se vyskytl ne-commitovany zapis.

A co kdyz selectujes z SP, ktera jeste napr. zapisuje jaky user a kdy
select provedl? Pak ty "jen" selectujes, ale v DB zapis probehl.

Transakce je transakce a zacina prikazem, at uz je to select nebo neco
jineho a musi byt take radne dokoncena.

--
Jiri {x2} Cincura (Microsoft Student Partner)
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

Firebird, jak hlasit chybejici Commit?

[*] Jiri Sladek <sladek(zv)czhops(tec)cz> - 15.7.2007 16:40:04

Diky za odpoved.
Mam ale pocit, ze transaction.active=true se nahodi spustenim prvniho query.
Tedy pouhym ctenim z databaze.
Ja ale potrebuju zjistit, ze se vyskytl ne-commitovany zapis.
Jiri Sladek

----- Original Message -----
From: "Tomas Krejzek" <tomas.krejzek(zv)kpsys(tec)cz>
> if (transaction.Active) then
> begin
> ... neco udelej
> end;

Firebird, jak hlasit chybejici Commit?

[*] Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 15.7.2007 15:46:01

if (transaction.Active) then
begin

... neco udelej

end;> Ja bych chtel, aby se popsane akce neprovedly tise, ale nahlas. Aby aplikace
> pri ukoncovani ohlasila - POZOR, NEBYL PROVEDEN COMMIT NEBO ROLLBACK.
> Programator by byl takto varovan uz pri testovani aplikace, a mohl by to
> opravit.
>

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