Archív konference Delphi

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

Textovy memo ve Free(Fast)Reportu

[*] Vladimir Otruba <otruba.ml(zv)papirna(tec)cz> - 28.9.2005 14:31:06

Zdravim,
Rad bych ve FreeReportu zmenil obsah textoveho mema. V QReportu je to
hracka, QRLabel.Caption:='Text';
Memo neni napojen na zadny Field, jde jen o zmenu textove hodnoty podle
druhu sestavy. Nejspis neco prehlizim,proto zadam o help.
Diky moc, Vlada.

Delphi Roadmap

[*] Petr Vones <konference(zv)petrvones(tec)net> - 27.9.2005 22:58:01

Budouci verze Delphi ...
http://blog.marcocantu.com/blog/ekondelphiroadmap.html

Petr Vones

Prenos velkeho mnozstvi dat pres TCP/IP

[*] Cabak Pavel <delphikonf(zv)cross(tec)cz> - 27.9.2005 15:35:22

viz. predchozi mail a stejne mi to nechodi spolehlive

Pavel Cabak

cabak(zv)cross(tec)cz

D4 C/S, WXP SP2

Vstupni body DLL

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 27.9.2005 15:23:21

Dalibor Faltynek wrote:
> Diky na TDUMP jsem uz zapomnel. Ale stejne je to od XP krok dozadu.
> A kdyz uz o tom mluvim, existuje neco, co by umelo vypsat i pocet a typ
> parametru funkci v DLL?

To bohuzel nejde, ten kdo funkce v DLL publikuje musi dodat
dokumentaci. Ve vetsine pripadu se popis rozhrani funkci dodava jako
hlavickovy soubor pro C (nebo pro jine jazyky VB, Delphi apod.) ve
kterem jsou deklarovany funkce jako prototypy, tedy bez
implementace. Nekdy je mozne odhadnout typy a pocet parametru z
nazvu funkce, pokud se pro jmena entrypointu pouzivaji tzv. "mangled
names", kdy se za jmeno funkce doplnuji ponekud krypticke znacky.

Na technologii DLL jsou zalozeny in-process OLE servery, ktere si
vystaci pouze s nekolika pevne danymi entrypointy a misto funkci se
zverejnuji tridy a rozhrani. Pokud tridy podporuji dualni interface,
nemusi se ani dodavat zadna dokumentace, protoze ta je mozna ziskat
z typove knihovny. V Delphi pak staci nacist takove DLL a rozhrani
se vygeneruje samo do unity, kterou muzes okamzite zacit pouzivat.

Martin Schayna

Prenos velkeho mnozstvi dat pres TCP/IP

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 27.9.2005 14:19:16

DD,

On Tuesday, September 27, 2005 1:33 PM ,
Milan Kajnar <mkajnar(zv)mikesoft(tec)cz> wrote:

> Kontrolni buffer 32 kB? Mnoooo to je asi dost...
> Mam zkusenosti s tim, ze pokud velikost bufferu dam pod 4 kB, pak to
> pojede bez problemu.
> Ja mam buffer 1 kB... Taky nechapu, proc mi nad 4 kB vznikaji chyby
> pri prenosu...
> Ale pod touto velikosti nemam problem. A prenasim megabajty...

velikost bufferu pomoci ktereho se kopiruji data nemuze mit zadny
vliv na spolehlivost TCP prenosu (maximalne na rychlost). Cili mas
nekde chybu v kodu (nebo pokud pouzivas komponenty je chyba nekde v
nich).

Nejcastejsi chyby vznikaji z toho, ze programator nerozumi tomu jak
vlastne TCP prenos funguje
- napriklad ceka, ze na druhe strane vyleze to co se poslalo stejne
'fragmentovane' - tj ze kazdemu volani send() na odesilajici strane
bude odpovidat stejny pocet volani recv() na prijimajici strane (ze
volanim recv() precte vzdy stejny pocet znaku jako bylo predano do
send() na druhe strane). Coz samozrejme neni pravda. Data, ktera
dorazi na druhou stranu muzou byt prectena nizsim ci vetsim poctem
volani recv() (zalezi na rychlosti volani a na velikosti bufferu)
- predpoklada, ze recv() s bufferem 1000b vzdy vrati 1000 bytu atd


cili pokud mas problemy se zvetsujicim se bufferem pravdepodobne
zacina dochazet k tomu, ze doba po kterou se data prenaseji po drate
je jiz vyssi nez je rychlost programu na prijimajici strane a recv je
volano ve chvili, kdy neni v systemovem bufferu tolik dat aby
zaplinilo Tvuj buffer a tak se Ti vrati mene (treba i 1 byte). Dostal
si se totiz s bufferem na velikost MTU ci TCP Window a tak data
nebudou dorucena/potvrzena v jednom bloku a tak je muzes vyzvednout
vice volanimi recv() (ackoliv se volal jen jeden send()).


Zdravi
D. Toman

Prenos velkeho mnozstvi dat pres TCP/IP

[*] Milan Kajnar <mkajnar(zv)mikesoft(tec)cz> - 27.9.2005 13:33:12

Kontrolni buffer 32 kB? Mnoooo to je asi dost...
Mam zkusenosti s tim, ze pokud velikost bufferu dam pod 4 kB, pak to pojede
bez problemu.
Ja mam buffer 1 kB... Taky nechapu, proc mi nad 4 kB vznikaji chyby pri
prenosu...
Ale pod touto velikosti nemam problem. A prenasim megabajty...

Record do DLL

[*] delphin(zv)post(tec)cz - 27.9.2005 13:33:12

> ceka me napsani male DLL a rad bych od zkusenejsich nechal poradit.
> Jednoduche parametry retezcoveho charakteru predavam jako PChar.
> Mimo to potrebuji do jedne funkce predat a z jine funkce zase
> vyzvednout record slozeny ze spousty stringu (jde o pomerne kratke
> stringy) No a jde mi o to, co je lepsi. Zda ty stringove polozky v recordu
> definovat treba jako string[20] apod. dle skutecne delky (tj. fakticky
> jako
> shortstringy) nebo jako PChary? Mne se jaksi subjektivne vic libi spis ty
> stringy s uvedenim delky, ale nechci, abych navrhl reseni, nad kterym
> by ti zkusenejsi ohrnovali nos. DLL by mela byt uzivana programem
> psanym v Delphi.
>
> Privitam na toto tema nazory, jak ten record pojmout.
>
> Cestu pres Ansistringy a ShareMem predem odmitam.

Zkuste pouzit WideString. Ten je v Delphi implementovat pomoci OLE a melo by
proto bez problemu fungovat predavani do a z Dll.

Record do DLL

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 27.9.2005 12:55:10

Lebeda David napsal(a):

> Zdravim,
>
> ceka me napsani male DLL a rad bych od zkusenejsich nechal poradit.
> Jednoduche parametry retezcoveho charakteru predavam jako PChar.
> Mimo to potrebuji do jedne funkce predat a z jine funkce zase
> vyzvednout record slozeny ze spousty stringu (jde o pomerne kratke
> stringy) No a jde mi o to, co je lepsi. Zda ty stringove polozky v recordu
> definovat treba jako string[20] apod. dle skutecne delky (tj. fakticky jako
> shortstringy) nebo jako PChary? Mne se jaksi subjektivne vic libi spis ty
> stringy s uvedenim delky, ale nechci, abych navrhl reseni, nad kterym
> by ti zkusenejsi ohrnovali nos. DLL by mela byt uzivana programem
> psanym v Delphi.
>

Ahoj,
ja pouzivam prave napr. string[20] s tim ze cely record je oznacen jako
packed record, tj. i cvicena veverka na to kdyz tak dokaze pristoupit i
z jinych jazyku.

> Cestu pres Ansistringy a ShareMem predem odmitam.
presne, jen jako doplnek: kdyz uz by byla nekdy nutnost tak pouzit
FastShareMem (neni treba dll, zadny overhead).> Dik.
>
> David Lebeda

Radek Cervinka

Record do DLL

[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 27.9.2005 12:11:07

Zdravim,

>>Mne se jaksi subjektivne vic libi spis ty stringy
>>

tak tak. Jinak durazne se nedoporucuje pouzivat stringy ! Jednou mas nejaky
standart, tak by si ho mnel dodrzovat. A vubec nezalezi na tom, ze to
Delphi umoznuji a pouziva se to. Delat veci podle standardu ma smysl,
ale o tom se tu asi nema cenu rozepisovat.


S pozdravem Vaclav Halik


Record do DLL

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 27.9.2005 11:53:04

> [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Lebeda David
> Mimo to potrebuji do jedne funkce predat a z jine funkce zase
> vyzvednout record slozeny ze spousty stringu (jde o pomerne kratke
> stringy)
> ShortString nebo PChar?

> Mne se jaksi subjektivne vic libi spis ty stringy

Mne se jaksi subjektivne vic libi ty PChary (mohl bych to potencialne zavolat nejen z Delphi), ale proti tvemu vkusu neznam zadnou namitku.

> Cestu pres Ansistringy a ShareMem predem odmitam.

Samozrejme.

Jeste bych se zamyslel, jestli by to nemohl byt COM-Object misto rekordu a nejake sikovne metody a properties.
Tak bych mel vystarano.
To ovsem zalazi na vecne podstate problemu a na zpusobu pouziti, zda by toto reseni bylo dobre.

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
= tel. 493 792 569, 493 792 931, 776 347 735
====================================

Dizajnovy problem

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 27.9.2005 11:43:01

> [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Lebeda David
> Kdezto jakmile komponentu presunu z formu, ktereho
> se tyka, na jiny form ci datamodul, bude to sice lepe opticky vypadat,
> ale komponenta bude obvykle vytvorena trvale. Coz muze pri trose
> nepozornosti znamenat treba tyhle konkretni situace:

Uvadene argumenty jsou spravne, ale za predpokladu, ze jsme si nekde dany modul trvale vytvorili.
Application.CreateForm(TDataModule2, DataModule2);
Navic pak hrozi nebezpeci, ze tento DataModule bude sdilet vice formularu.

Veskere argumenty ale padaji, pokud instanci tohoto modulu bude vlastnit sam formular.

type
TForm1 = class(TForm)
private
FDataModule: TDataModule2;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
FDataModule := TDataModule2.Create(self);
end;
Zde je zajisteno, ze pri vytvareni DataModulu probehnou veskere inicializacni akce.

Navic ani nemusim

procedure TForm1.FormDestroy(Sender: TObject);
begin
FDataModule.Free;
end;
protoze Form1 jako Owner si vlastnenou komponentu FDataModule uvolni v destruktoru sam.

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
= tel. 493 792 569, 493 792 931, 776 347 735
====================================

Prenos velkeho mnozstvi dat pres TCP/IP

[*] Cabak Pavel <delphikonf(zv)cross(tec)cz> - 27.9.2005 11:25:00

Kontrolni suma je tam z historickych duvodu, kdy system jeste nebyl Client / Server.
Nicmene vyzkousel jsem sledovani paketu programem Ethereal, ale potreboval bych poradit s dekodovanim ziskanych dat.
Nevim, jestli to patri jeste do konference, kdyztak prosim reakce na soukromy email.

Pavel

cabak(zv)cross(tec)cz


> Ahojte,

asi Ti moc nepomuzu ale nekolik pripominek si neodpustim:

> potykam se uz dost dlouho s problemem pri prenosu velkeho mnozstvi dat
> v mojich aplikacich typu Client / Server.
> V serveru mam komponentu TServerSocket, v klientovi TClientSocket.
> Pri malych objemech dat je vse v poradku. Problem nastava, kdyz
> potrebuju prenest radove stovky kB.
> Na obou stranach mam udelany buffer (array of Char) velikosti 32 kB.
> Ten na serveru naplnim daty (v hlavicce je delka dat, celkovy pocet
> vracenych zaznamu a pocet aktualne vracenych zaznamu, ktere se vesly
> do bufferu a na konci mam kontrolni sumu)

kontrolni suma v TCP prenosu? Zbytecnost (kontrolni soucty jsou v kazdem TCP packetu i eth framu cili data dojdou tak jak maji

> a hodim si ho do fronty.
> Tak naplnim i treba nekolik desitek bufferu a server je postupne v
> intervalu 100 ms odesila.
>
> ...
>

Vstupni body DLL

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

On Tuesday, September 27, 2005 9:28 AM ,
Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> wrote:

> Diky na TDUMP jsem uz zapomnel. Ale stejne je to od XP krok dozadu.
> A kdyz uz o tom mluvim, existuje neco, co by umelo vypsat i pocet a
> typ parametru funkci v DLL?


IMHO to bohuzel nejde. Exportuje se pouze adresa rutiny nic vic
(GetProcAddress hleda jen podle jmena). V nekterych specialnich
pripadech, kdy je povoleno C kompilatoru/linkeru uprvait jmeno jmeno
exportovane funkce, je podle jmena mozne odhadnout typy a mnozstvi
parametru v ostanich pripadech (kdy neni k dispozici popis interface)
musis kouknout do disasemblaze ...


Zdravi
Dalibor Toman

Record do DLL

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

Zdravim,

ceka me napsani male DLL a rad bych od zkusenejsich nechal poradit.
Jednoduche parametry retezcoveho charakteru predavam jako PChar.
Mimo to potrebuji do jedne funkce predat a z jine funkce zase
vyzvednout record slozeny ze spousty stringu (jde o pomerne kratke
stringy) No a jde mi o to, co je lepsi. Zda ty stringove polozky v recordu
definovat treba jako string[20] apod. dle skutecne delky (tj. fakticky jako
shortstringy) nebo jako PChary? Mne se jaksi subjektivne vic libi spis ty
stringy s uvedenim delky, ale nechci, abych navrhl reseni, nad kterym
by ti zkusenejsi ohrnovali nos. DLL by mela byt uzivana programem
psanym v Delphi.

Privitam na toto tema nazory, jak ten record pojmout.

Cestu pres Ansistringy a ShareMem predem odmitam.

Dik.

David Lebeda

Vstupni body DLL

[*] Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> - 27.9.2005 09:28:50

Diky na TDUMP jsem uz zapomnel. Ale stejne je to od XP krok dozadu.
A kdyz uz o tom mluvim, existuje neco, co by umelo vypsat i pocet a typ
parametru funkci v DLL?
Dalibor.

Dizajnovy problem

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 27.9.2005 09:06:48

From: "PCservis Skloform a.s." <pcservis(zv)skloform(tec)cz>
Subject: Re: Dizajnovy problem
To: delphi-l(zv)clexpert(tec)cz
Date sent: Tue, 27 Sep 2005 07:44:24 +0200
Send reply to: delphi-l(zv)clexpert(tec)cz

> > Problem je, ze nevizualne komponenty logicky patriace ku konkretnej
> > zalozke "presvitaju" cez vsetky zalozky celu situaciu zneprehladnuju.
> >

> Rovnez mi to vadilo, tak davam tyto komponenty na k tomu
> zvlast vytvoreny Form.

Ahoj,

ja bych rad zminil jeste jednu skutecnost. Kdyz mam nevizualni
komponentu primo na formu, ktereho se tyka - i za cenu toho, ze
prosvita, tak to ma tu vlastnost, ze kdyz form uvolnim z pameti, uvolni
se i ty nevizualni komponenty. Pri novem vytvoreni formu se tak mohou
i tyto komponenty znovu iniciovat, jsou proste po Create formu vzdy ve
stejnem stavu. Kdezto jakmile komponentu presunu z formu, ktereho
se tyka, na jiny form ci datamodul, bude to sice lepe opticky vypadat,
ale komponenta bude obvykle vytvorena trvale. Coz muze pri trose
nepozornosti znamenat treba tyhle konkretni situace:

1) Zavru form, otevru form, ale nevizualni komponenta je ve stejnem
stavu, jako byla pri zavreni formu. Pokud jde treba napr. o TTable, kde
pri poslednim pouziti nekdo nastavil filtr, muze pak byt pri novem
vytvoreni formu nastaven filtr, cached updates a co ja vim co jeste z
minula, ackoli o to nikdo nestoji.

2) Tabulka muze po otevreni obsahovat hodne dat z velke tabulky. Pri
zruseni formu, ktery tabulku pouziva, tabulku treba nikdo nezavre, takze
data jsou trvale v pameti, i kdyz form uz neexistuje a tabulku by slo
zavrit. Tabulka muze rovnez treba blokovat databazovy soubor,
pripojeni k databazi ci neco takoveho (podle toho, o jakou databazi jde).

Vsechny uvedene problemy jsou nepochybne resitelne - clovek si ale
musi davat bacha a na nic nezapomenout - pri vytvoreni formu
komponenty odjinud iniciovat, pri zavirani dusledne uklizet.

Proto jsem zastancem, nevizualni komponenty, ktere se tykaji jednoho
formu, mit primo na tom formu. A jestli vadi to, ze jsou vzdy na vrsku,
tak je lze treba vytvaret za behu z kodu.

Tot muj nazor

David Lebeda

FlashFiler - tisk z ffexploreru

[*] Ing. Igor Vodicka <vodicka(zv)sagit(tec)cz> - 27.9.2005 09:06:48

Zdravim vsechny priznivce FF!

Pouzivam posledni verzi FF 2.13 (D5 ent), v exploreru je moznost tisku pri
prohlizeni tabulek, ale je potlacena. Zjistil jsem, ze volba se zpristupnuje
sama, pokud je pritomna knihovna FFEReportEngine.DLL. Zdrojaky samozrejme
mam, ale knihovnu jaksi nejde "vyrobit", porad to hlasi, ze mu neco chybi
(FR_DBSet.dcu). Prosim vas nevite nekdo, kde se da knihovna sehnat nebo
nemate ji nekdo? Pokud ano, poslete mi ji.

Diky

Ing. Igor Vodicka
informacni systemy
Nakladatelstvi Sagit
Tel.: 59 6786 001
HTTP://www.sagit(tec)cz/

Vstupni body DLL

[*] Dalibor <dalibor(zv)torola(tec)cz> - 27.9.2005 08:58:47

Ahoj, ja na to pouzivam plugin pro Total Commandera FileInfo.wlx

> >> Ahoj,
> >> mozna to je trochu OT, ale potreboval bych poradit, jak si zobrazit
hlavicku a
> >> vstupni body DLL knihovny. Ve W98 existovala moznost v systemovych
nastrojich
> >> doinstalovat tzv. zbezne zobrazeni, ale za boha nemuzu najit neco
podobneho v
> >> XPckach. Ze by za vic penez mene muziky?
> >

Vstupni body DLL

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 27.9.2005 08:52:47

Cizek.Milan napsal(a):
>> Ahoj,
>> mozna to je trochu OT, ale potreboval bych poradit, jak si zobrazit hlavicku a
>> vstupni body DLL knihovny. Ve W98 existovala moznost v systemovych nastrojich
>> doinstalovat tzv. zbezne zobrazeni, ale za boha nemuzu najit neco podobneho v
>> XPckach. Ze by za vic penez mene muziky?
>

pouzij TDUMP z adresare Delphi a nemusis nic instalovat

dobre je vystup jeste presmerovat do souboru napr:
tdump program.exe >vystup.txt

pokud nemas cestu k delphi nastavenou v systemu tak musis samozrejme
zadat plnou cestu, ale to jen tak naokraj.

Radek

Vstupni body DLL

[*] Cizek.Milan <cizek.milan(zv)seznam(tec)cz> - 27.9.2005 08:28:29

> Ahoj,
> mozna to je trochu OT, ale potreboval bych poradit, jak si zobrazit hlavicku a
> vstupni body DLL knihovny. Ve W98 existovala moznost v systemovych nastrojich
> doinstalovat tzv. zbezne zobrazeni, ale za boha nemuzu najit neco podobneho v
> XPckach. Ze by za vic penez mene muziky?

Ahoj, zkus Dependency Walker.
Milan

Dizajnovy problem

[*] Karel Kral <kralkonf(zv)purusmeda(tec)cz> - 27.9.2005 08:26:29

Tak to proste je. Na TabSheet muzou patrit pouze naslednici TWinControl,
takze ty nevizualni objekty maji za Parenta formular a tudiz museji
prosvitat. Staci nahlednout do kodu formulare.

Jaroslav Popluhar napsal(a):
>
> Problem je, ze nevizualne komponenty logicky patriace ku konkretnej
> zalozke "presvitaju" cez vsetky zalozky celu situaciu zneprehladnuju.
>
> Ako koncepcne riesite takyto problem Vy?
>

--
______________________________________________________
Karel Kral, reditel IT / IT manager
PURUS-MEDA, s.r.o., Palackeho 174, 621 00 Brno, CZ
E-Mail: kral(zv)purusmeda(tec)cz
______________________________________________________


Dizajnovy problem

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 27.9.2005 08:18:28

Ano - neni to jen na Data access komponenty, nicmene na nic jineho bych to -
ja osobne - rozhodne nepouzil. Priznam se, ze v projektech o nekolika
desitkach az stovkach formularu pouzivame DataModule pouze v rezimu ladeni a
to pouze pro dve komponenty - IBDatabase a IBTransaction. Na nic jineho to
nepotrebujeme.
Pokud potrebuji Timer ci nejaky dialog, tak ho vytvarim dynamicky a ne
umistenim komponenty na formular. Na formular umistujeme jen ActionList,
ImageList, Menu tj. kontejnery pro dalsi polozky.

S pozdravem

Milan Tomes

> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Jan Fiala
> Sent: Tuesday, September 27, 2005 8:02 AM
>
> 27.9.2005 Milan Tomes:
> > V CodeRush - Hide non-visual components :D Urcite bych na toto
> > nepouzil DataModule pokud se nejedna o DB-aware komponenty
> (Dataset,
> > Transaction, Database, Query apod...)
>
> TDataModule toho moc spolecneho s databazemi nema...
> Koukni do helpu:
>
> Use a TDataModule object in an application to provide a
> location for centralized handling of nonvisual components.
> ... DataModules are not limited to data access components,
> they can also contain other nonvisual components, such as
> TTimer, TOpenDialog, or TImageList).

Vstupni body DLL

[*] Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> - 27.9.2005 08:16:28

Ahoj,
mozna to je trochu OT, ale potreboval bych poradit, jak si zobrazit hlavicku a vstupni body DLL knihovny. Ve W98 existovala moznost v systemovych nastrojich doinstalovat tzv. zbezne zobrazeni, ale za boha nemuzu najit neco podobneho v XPckach. Ze by za vic penez mene muziky?
Help please
Dalibor.

Dizajnovy problem

[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 27.9.2005 08:02:27

27.9.2005 Milan Tomes:
> V CodeRush - Hide non-visual components :D
> Urcite bych na toto nepouzil DataModule pokud se nejedna o DB-aware
> komponenty (Dataset, Transaction, Database, Query apod...)

TDataModule toho moc spolecneho s databazemi nema...
Koukni do helpu:

Use a TDataModule object in an application to provide a location for
centralized handling of nonvisual components. ... DataModules are not
limited to data access components, they can also contain other
nonvisual components, such as TTimer, TOpenDialog, or TImageList).


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


Hint ve StringGrid

[*] Petr Vetesnik <vetesnik(zv)gmail(tec)com> - 27.9.2005 08:00:27

V OnSelectCell klidne, ale pak pouze hnes myskou a zobrazi se hint pro
aktualne vybranou bunku. Ale NE (opravdu NE) hint pro bunku pod myskou.
Jeste jednou muj provereny postup. Mozna neni spravny, ale funguje.
V OnMouseMove pouziji MouseToCell, nastavim Hint, ShowHint a nakonec
ActivateHint. Jedno upozorneni. Pro ActivateHint je nutno prepocitat X,Y na
obrazovku nebo pouzit GetCursorPos.

Petr



2005/9/27, Zdenek Brejsa <prog(zv)hjsoft(tec)cz>:
>
> > StringGrid samozrejme ma property Hint a ShowHint pro cely grid, ja bych
> ale potreboval mit hint zavisly na bunce na ktere kurzor mysi spocine. Jak
> ale docilim toho, abych ho zobrazil? Na jakou udalost se povesit nebo co
> vyvolat?
>
> Ja bych v udalosti OnSelectCell nastavil Hint a hotovo ...
>
>
>

Dizajnovy problem

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 27.9.2005 07:46:25

V CodeRush - Hide non-visual components :D
Urcite bych na toto nepouzil DataModule pokud se nejedna o DB-aware
komponenty (Dataset, Transaction, Database, Query apod...)

S pozdravem

Milan Tomes

P.S.: Slovo design se opravdu nepise dizajn... :D

> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Venca Zaruba
> Sent: Tuesday, September 27, 2005 7:40 AM
>
> > mam projekt, kde v hlavnom formulari je niekolko zaloziek
> (TabSheets)
> > a na nich spusta vizualnych aj nevizualnych komponent.
> >
> > Problem je, ze nevizualne komponenty logicky patriace ku konkretnej
> > zalozke "presvitaju" cez vsetky zalozky celu situaciu
> zneprehladnuju.
> >
> > Ako koncepcne riesite takyto problem Vy?
> >
>
>
> Datamodule ....

Dizajnovy problem

[*] PCservis Skloform a.s. <pcservis(zv)skloform(tec)cz> - 27.9.2005 07:44:24

> Problem je, ze nevizualne komponenty logicky patriace ku konkretnej
> zalozke "presvitaju" cez vsetky zalozky celu situaciu zneprehladnuju.
>
> Ako koncepcne riesite takyto problem Vy?
>


Taky zdravim.

Rovnez mi to vadilo, tak davam tyto komponenty na k tomu zvlast vytvoreny Form. Pozor na to, pokud bys jiz pouzite komponenty premistoval na tento Form. V nekterych pripadech, myslim, ze zvlaste u Timeru, mi to hazelo tezko hledatelne chyby (access violation) a pak nezbyva, nez komponentu vytvorit znovu a pretahnout jen obsluzny kod.

Jirka

Dizajnovy problem

[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 27.9.2005 07:40:24

> mam projekt, kde v hlavnom formulari je niekolko zaloziek (TabSheets)
> a na nich spusta vizualnych aj nevizualnych komponent.
>
> Problem je, ze nevizualne komponenty logicky patriace ku konkretnej
> zalozke "presvitaju" cez vsetky zalozky celu situaciu zneprehladnuju.
>
> Ako koncepcne riesite takyto problem Vy?
>


Datamodule ....

Dizajnovy problem

[*] Zdenek Brejsa <prog(zv)hjsoft(tec)cz> - 27.9.2005 07:08:21

> mam projekt, kde v hlavnom formulari je niekolko zaloziek (TabSheets)
> a na nich spusta vizualnych aj nevizualnych komponent.
>
> Problem je, ze nevizualne komponenty logicky patriace ku konkretnej
> zalozke "presvitaju" cez vsetky zalozky celu situaciu zneprehladnuju.
>
> Ako koncepcne riesite takyto problem Vy?

Dej nevizualni komponenty na TDatamodule ...

Hint ve StringGrid

[*] Zdenek Brejsa <prog(zv)hjsoft(tec)cz> - 27.9.2005 07:06:21

> StringGrid samozrejme ma property Hint a ShowHint pro cely grid, ja bych
ale potreboval mit hint zavisly na bunce na ktere kurzor mysi spocine. Jak
ale docilim toho, abych ho zobrazil? Na jakou udalost se povesit nebo co
vyvolat?

Ja bych v udalosti OnSelectCell nastavil Hint a hotovo ...

Hint ve StringGrid

[*] Petr Vetesnik <vetesnik(zv)gmail(tec)com> - 27.9.2005 06:50:20

Ahoj,
V udalosti OnMouseMove, pomoci TDrawGrid::MouseToCell zjisti obsah bunky.
Nastav TDrawGrid::Hint, TDrawGrid::ShowHint
Pak pouzij TApplication::ActivateHint

Petr


2005/9/27, Kalhous <kalhous(zv)eu(tec)cz>:
>
> StringGrid samozrejme ma property Hint a ShowHint pro cely grid, ja bych
> ale potreboval mit hint zavisly na bunce na ktere kurzor mysi spocine. Jak
> ale docilim toho, abych ho zobrazil? Na jakou udalost se povesit nebo co
> vyvolat? Dik
> Z.Kalhous
> ToWare s.r.o.
> tel.: 466 614 024
>
>

Hint ve StringGrid

[*] Kalhous <kalhous(zv)eu(tec)cz> - 27.9.2005 06:32:18

StringGrid samozrejme ma property Hint a ShowHint pro cely grid, ja bych ale potreboval mit hint zavisly na bunce na ktere kurzor mysi spocine. Jak ale docilim toho, abych ho zobrazil? Na jakou udalost se povesit nebo co vyvolat? Dik
Z.Kalhous
ToWare s.r.o.
tel.: 466 614 024

Jak otevrit webovou stranku

[*] Petr Podany <podany(zv)students.zcu(tec)cz> - 26.9.2005 22:21:45

Potrebuju z programu otevrit www stranku, resp. Delphi zavola www
stranku a prohlizec ji otevre.

Jak otevrit webovou stranku

[*] Bc. Jiri Cincura <diskuze(zv)cincura(tec)net> - 26.9.2005 22:19:45

Petr Podany wrote:
> Potrebuju z programu otevrit www stranku, resp. Delphi zavola www
> stranku a prohlizec ji otevre.
>
>
>

Ze by:

ShellExecute(Application.Handle, 'open',
PAnsiChar('http://ID3renamer.com/'), nil, nil, SW_SHOWNORMAL);

jeste se da samozrejme otestovat navratova hodnota, pokud by na to nejak
extra zalezelo.

--
Bc. Jiri Cincura
http://www.ID3renamer.com/
http://www.x2develop.com/
ICQ: 314711544 | Yahoo!: x2develop
http://photo.cincura.net/

Jak otevrit webovou stranku

[*] Cizek Milan <cizek.milan(zv)seznam(tec)cz> - 26.9.2005 22:15:44

> Potrebuju z programu otevrit www stranku, resp. Delphi zavola
> www stranku a prohlizec ji otevre.

Ahoj, napr.

Uses ShellAPI;

ShellExecute(Handle,'Open','http://www.seznam(tec)cz',nil,nil,SW_SHOWNORMAL);

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

Dizajnovy problem

[*] Jaroslav Popluhar <delphi1(zv)acc.sk> - 26.9.2005 22:13:43

Zdravim Vas,


mam projekt, kde v hlavnom formulari je niekolko zaloziek (TabSheets)
a na nich spusta vizualnych aj nevizualnych komponent.

Problem je, ze nevizualne komponenty logicky patriace ku konkretnej
zalozke "presvitaju" cez vsetky zalozky celu situaciu zneprehladnuju.

Ako koncepcne riesite takyto problem Vy?

--
Jaro

Jak otevrit webovou stranku

[*] Petr Podany <podany(zv)students.zcu(tec)cz> - 26.9.2005 22:07:42

Potrebuju z programu otevrit www stranku, resp. Delphi zavola www
stranku a prohlizec ji otevre.

MEMO 16 radku 16 znaku

[*] Josef Zvonicek <prosoft(zv)prosoft(tec)cz> - 26.9.2005 21:19:37

Ja jsem resil neco podobneho u Tmemo, kde jsem potreboval kvuli formatovani
textu delku 80 znaku, jelikoz GUI aplikace pracuje nad stejnymi daty jako
DOS aplikace.
Je potreba zvolit font s pevnou sirkou a omezit editacni okno pomoci
SendMessage(Handle, EM_SETRECT, 0, Longint((zv)Rect))
Mozna se to da resit jinak, ale na nic jineho jsem neprisel.
Zvo.

> Ahoj, nevite nekdo o nejake komponente, u ktere by bylo mozne
> zadat pocet znaku na radek a pocet radku?
> Zkousim to omezit u komponenty TMEMO, ale moc se mi to
> nedari. Neni to proste 100%.

ladeni lokalizacniho modulu

[*] Zbysek Hlinka <konference(zv)hlinka(tec)cz> - 26.9.2005 19:47:30

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Martin Rocek
> Sent: Monday, September 26, 2005 2:09 PM
>
> delam si lokalizacni modul do "Language Localizator" od
> Hlinky a potreboval bych si odladit kus kodu. Ale nevim jak
> nastavit Delphi abych mohl kod krokovat.

No, blbe. :)

Mam zkusenosti s D6 a 7, ze tam maji nejakou chybu, ktera brani debugovani
projektu s vice COM objekty. V D5 to jeste fungovalo, D2005 jsem uz ani
nezkousel, to jsem odepsal...

V D7 je vhodne mit nastavene Debugger Options / General / Enable COM
cross-process support. Dale, nejprve je treba otevrit projekt, zkompilovat a
pak zkusit krokovat. Pokud tam neco upravis, zavri projekt, znovu otevri a
krokuj. Je to otresna prace, proto se uz dlouho neobjevilo v LL pro Win32
nic noveho...

S pozdravem

Zbysek Hlinka
E-mail: hlinka zavin. hlinka(tec)cz

archiv

[*] Miroslav Suchy <suchy(zv)jplusj(tec)cz> - 26.9.2005 15:37:13

ftp://delphi(zv)ftp.delphi(tec)cz/Other/KonfViewData
(username DELPHI, heslo ARCHIVAR)

(ale co ta cestina?)
Mirek

----- Original Message -----
From: "Lisicky Jiri" <lisicky(zv)opt.cd(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Monday, September 26, 2005 3:23 PM
Subject: archiv


> Dobr+AP0- den,
>
> v n+AOE-pov+ARs-d+ARs- jsem na+AWE-el informaci o archivu na
> www.delphi(tec)cz. Na str+AOE-nk+AOE-ch
> jsem ale nic nena+AWE-el. a+AX4- p+AVkA7Q-tel goggle poradil, ale v
> arch+AO0-vu u+AX4- n+ARs-kolik
> m+ARs-s+AO0-c+AW8- nic nep+AVk-ib+AP0-v+AOE-. Nen+AO0- k dispozici
> alespo+AUg- arch+AO0-v p+AVk-istupn+AP0- p+AVk-es
> mailing list?
>
> d+ARs-kuji
>
>
>

archiv

[*] Lisicky Jiri <lisicky(zv)opt.cd(tec)cz> - 26.9.2005 15:23:12

Dobr+AP0- den,

v n+AOE-pov+ARs-d+ARs- jsem na+AWE-el informaci o archivu na www.delphi(tec)cz. Na str+AOE-nk+AOE-ch
jsem ale nic nena+AWE-el. a+AX4- p+AVkA7Q-tel goggle poradil, ale v arch+AO0-vu u+AX4- n+ARs-kolik
m+ARs-s+AO0-c+AW8- nic nep+AVk-ib+AP0-v+AOE-. Nen+AO0- k dispozici alespo+AUg- arch+AO0-v p+AVk-istupn+AP0- p+AVk-es
mailing list?

d+ARs-kuji


paintovani textu v editu

[*] David Liska <davidliska.konf(zv)seznam(tec)cz> - 26.9.2005 14:37:09

ahoj,
mam edit, kde pred editovatelnym textem mam vyhrazene pole pro vlastni
paintovani. Do tohoto pole vypisuju nejaky vlastni text. Problem je v tom,
ze presne nevim vertiklani pozici toho editovatelnyho textu. Na ruznych
windowsech a ruznych tematech je to o par pixelu pixel jinak. Chtel bych to
mit ve stejne vysce. Takze, nevite nekdo, jak zjistit vertikalni pozici
textu v editu?

David Liska


ladeni lokalizacniho modulu

[*] Martin Rocek <rocek(zv)dibaq(tec)cz> - 26.9.2005 14:09:06

Zdravim,

delam si lokalizacni modul do "Language Localizator" od Hlinky a potreboval
bych si odladit kus kodu. Ale nevim jak nastavit Delphi abych mohl kod
krokovat.

Hlidam si abych spoustel, registroval stejnou knihovnu jako compiluji, ale
vubec mi to nezaznamena zadne "break pointy". Nema na to vliv architektura
aplikace?

P.S.

Proc kdyz volam tento kod je LsX naplnena spravnou hodnotou:

TEdisonRept(FIntf).Dictionary.mDicTranslate('Hledat',IEdisonRept(TEdisonRept
(FIntf)).pRscAbbrLangName,LsX);


a kdyz volam tento kod LsX je prazdne?

TEdisonRept(FIntf).Dictionary.mDicAutoTranslate('Hledat',IEdisonRept(TEdison
Rept(FIntf)).pRscAbbrLangName,LsX);
Diky Martin

MS Access a ADO

[*] Erik Salaj <winsoft(zv)netkosice.sk> - 26.9.2005 11:38:56

> Presiel som archiv konferencie, ale nepodarilo sa mi vyriesit nasledovne
> problemy
>
> 1) Okamzity zapis zaznamu do databaze. Vzdy sa zaznam ulozi do cache a pri
> nacitani vsetkych zaznamov prave pridany vacsinou chyba. Ako prinutit k
> vyprazdneniu cache a zapisu do databazy - ADO (dbGo)

to asi nie je mozne koli kesovaniu aspon teda mne sa to nepodarilo docielit,
vzdy bolo urcite oneskorenie. Jet Engine ma konfiguracne parametre
v registroch, viz.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 4.0
a http://www.netwiz.com.au/appnotes/2136.htm

> 2) Ako vytvorit connection string na zaheslovanu databazu. Pri test
> connection to vzdy spadne, ak vygenerujem connection string aj s heslom, pri
> pokuse o otvorenie tejto databazy skonci s chybou. Skusal som aj rady z
> konferencie, ale vzdy bezuspesne. Toto je connection string na nezaheslovanu
> databazu.
>
> 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' +
> ExtractFilePath(ExpandUNCFileName(Application.EXEName)) +
> 'config.mdb;Persist Security Info=False';

http://winsoft.netkosice.sk/adofaq.htm

> Skusal som pozriet aj FAQ na strankach Erika Salaja, ale su nedostupne :-(

pre zaujimavost tu je vysvetlenie tohto zbytocneho problemu: nas registrator
zabudol nacas poslat platbu spravcovi domeny a spravca domeny nas teda
pre par korun, ktore pridu o par dni neskor bezohladne vypol (nase pokusy
e-mailom riesit situaciu boli uplne zbytocne a telefonicky sa tam v sobotu
samozrejme nedalo dovolat). Takze par dni nasa domena nie nasou chybou
nebude fungovat. Samozrejme taketo spravanie sukromneho vlastnika
"narodnej" (zeby sprivatizovanej?) domeny nebudeme podporovat
a rozhodli sme sa preto, ze behom roka prejdeme na .com domenu
a nasu .sk domenu zrusime.

Erik Salaj

FB 1.5 stored procedure - array

[*] Martin Bednar <bednar(zv)mujweb(tec)cz> - 26.9.2005 11:06:53

Dobry den,

poreboval bych pracovat s datovym typem array v ulozene
procedure FB, konkretne 1.5 a taktez bych potreboval aby mi jej
procedure vratila. Je toto mozne, pripadne jak to "obejit".
Konkretne se jedna o vypocet stavu skladu pro zbozi v setech s
barvami a velikostmi, proto to pole.

Dekuji za kazdou radu.

--
S pozdravem,
Martin Bednar
bednar(zv)mujweb(tec)cz

MEMO 16 radku 16 znaku

[*] Dalibor <dalibor(zv)torola(tec)cz> - 26.9.2005 11:02:53

Ahoj, nevite nekdo o nejake komponente, u ktere by bylo mozne zadat pocet znaku na radek a pocet radku?
Zkousim to omezit u komponenty TMEMO, ale moc se mi to nedari. Neni to proste 100%.

Za rady dik.

Dalibor

Kontextove menu v Explorery - pridanie polozky

[*] hlas <hlas(zv)inmail.sk> - 26.9.2005 08:24:37

Chcem do kontextoveho menu (pravy klik na subor) v Explorery pridat
odkaz na svoju aplikaciu.
Podarilo sa mi zatial zistit, ze zoznam suborov je registroch na
kluci
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
tu sa dalej odkazuje na
HKEY_CLASSES_ROOT\CLSID

Problemy:
1. ten kod, podla ktoreho sa odkazuje je lubovolny, alebo sa nejako
prideluje alebo po konvercii (neviem akej) nieco znamena?
2. co mam na kluci HKEY_CLASSES_ROOT\CLSID presne nastavit, aby sa
spustila moja aplikacia s parametrom nazvu suboru?

Pismena USB disku

[*] Daniel Rott <roxton(zv)seznam(tec)cz> - 26.9.2005 07:46:34

> From: "Michal S." <micsdelphi(zv)centrum(tec)cz>
> Jak ale poznat USB jednotku od normalniho disku?

Pokud to ma byt pro prenos dat, tak bych zobrazil vsechny
DRIVE_REMOVABLE, coz lze zjistit funkci GetDriveType.

Daniel


Pismena USB disku

[*] Michal S. <micsdelphi(zv)centrum(tec)cz> - 25.9.2005 21:07:50

Ahoj,
resim takovy problem, jak najit zapojene USB disky. Pouzivam je pro
prenos dat mezi pocitaci a chci uzivateli nabidnout vsechny pripojene
USB disky, aby si vybral, kam chce data ulozit. Jak ale poznat USB
jednotku od normalniho disku?

Diky za kazdy napad.

Michal S.

MS Access a ADO

[*] Ing. Keder Vladimir <vkeder(zv)iol.sk> - 25.9.2005 17:39:33

Ahoj

Presiel som archiv konferencie, ale nepodarilo sa mi vyriesit nasledovne
problemy

1) Okamzity zapis zaznamu do databaze. Vzdy sa zaznam ulozi do cache a pri
nacitani vsetkych zaznamov prave pridany vacsinou chyba. Ako prinutit k
vyprazdneniu cache a zapisu do databazy - ADO (dbGo)

2) Ako vytvorit connection string na zaheslovanu databazu. Pri test
connection to vzdy spadne, ak vygenerujem connection string aj s heslom, pri
pokuse o otvorenie tejto databazy skonci s chybou. Skusal som aj rady z
konferencie, ale vzdy bezuspesne. Toto je connection string na nezaheslovanu
databazu.

'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' +
ExtractFilePath(ExpandUNCFileName(Application.EXEName)) +
'config.mdb;Persist Security Info=False';

Windows XP SP2, Delphi2005 Architect + Update3, MS Access 2000/2003, dbGo -
ADO

Skusal som pozriet aj FAQ na strankach Erika Salaja, ale su nedostupne :-(

Za kazdu radu, pomoc, ... vopred dakujem

Ing. Keder Vladimir

ESC sekvence

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 24.9.2005 21:16:17

> jedna se o VFD display, ale princip bude asi stejny.
> Muzes mi prosim poslat priklad poslani ESC sekvence na COM1? Nejlepe se
> synapsi i bez..... :-)

proste vezmes tu ESC sekvenci (tedy nejaka posloupnust bytu zacinajici
znakem ESC a nasleduji byty dle toho co potrebujes poslat) a odesles to
jako jakakoliv jina data. Zadna magie v tom neni.


--
Lukas Gebauer.

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

Nacteni a ulozeni property do .dfm

[*] Pavel Poles <delphi(zv)noni(tec)cz> - 23.9.2005 18:22:28

Dfm je v EXE ulozen v Resourcich, a uprimne nevim jak by se dalo
jednoduse prepsat. Krom toho cokoliv v nem ulozene by se pri kazde
kompilaci ztratilo.
Pokud se jedna jen o jednoduche ukladani nekolika vlastnosti (zde to
bylo tusim
jedno cislo) tak myslim ze existuje v JVCL chytra komponenta ktera to
dokaze ukladat a nacitat z INI a je to daleko snadnejsi. (mozna ze se
jmenuje
TFormSaver ale nejsem si jisty).

Pavel Poles

Jiri Bouchala napsal(a):

>Napsal J. Bouchala
>Ano, jak jsem uvedl cely mechanismus ukladani mi jasny neni. Postupne to hledam v zdrojacich, helpu atd.
>Je jasne, ze v dobe navrhu se zapisuje do DFM. A odkud se cte v dobe behu aplikace? Prece s EXE. DFM se preci stane soucasti resource v exe. Predpokladam, ze mechanismus ukladani je na tuto skutecnost pripraven. Vychazim i z konstatovani na nekterych www strankach. Zapis do jinych souboru je jiste mozny, ale zdalo se mi vhodne vyuzit tento jednoduse pouzitelny mechanismus - pokud by to fungovalo, nez generovat dalsi soubory.
>Nebo je vsechno jinak?
>
>I po shlednuti ukazkoveho kodu mi porad unika smysl.
>Jde o ukladani jakesi komponenty uz za behu programu (Tedy ne v dobe navrhu
>v Delphi, ale opravdu za behu programu)? Ale KAM???? V programu se
>samozrejme
>Writer uz nikdy nevola ani nevytvari protoze ten je urcen pro ukladani
>do dfm souboru v Delphi.
>Pokud si chces ulozit tu svou komponentu kamsi (napr do db nebo nekam)
>musis sam vytvorit writer
>a zapsat do nej a pak sam vytvorit reader a cist z nej.
>Vsechny odpovedi co zatim tu byli predpokladaj ze ta komponenta
>(vlastnost) je ulozena v dfm z Delphi.
>Pokud chces opravdu ten runtime tak by mohlo fungovat neco jako:
>
>Cteni
>
> Stream:=TFileStream.Create('NejakySoubor', fmOpenRead or
>fmShareDenyNone)
> try
> Instance := TMyComponent.Create(self);
> Stream.Seek( 0, soFromBeginning );
> Reader := TReader.Create( Stream, 4096 );
> try
> Reader.ReadRootComponent( Instance );
> finally
> Reader.Free;
> end;
> finally
> Stream.Free;
> end;
>
>Zapis:
>
> Stream:=TFileStream.Create('NejakySoubor', fmOpenWrite or
>fmShareExclusive)
> try
> Stream.Seek( 0, soFromBeginning );
> Writer := TProjectWriter.Create( BinStream, 4096 );
> try
> Writer.WriteDescendent( Instance, nil );
> finally
> Writer.Free;
> end;
> finally
> Stream.Free;
> end;
>
>Pisu z hlavy, ale tak nejak....
>
>Pavel Poles
>
>
>
>
>

Nacteni a ulozeni property do .dfm

[*] m.mrazik <m.mrazik(zv)stonline.sk> - 23.9.2005 17:40:24



Napsal J. Bouchala
Ano, jak jsem uvedl cely mechanismus ukladani mi jasny neni. Postupne to
hledam v zdrojacich, helpu atd.
Je jasne, ze v dobe navrhu se zapisuje do DFM. A odkud se cte v dobe behu
aplikace? Prece s EXE. DFM se preci stane soucasti resource v exe.
Predpokladam, ze mechanismus ukladani je na tuto

OK v dobe navrhu sa to ulozi do DFM. Pri kompilacii sa z toho vytvori
resource a to sa zakomponuje do exe.
Za behu aplikacie ale do tohoto resource sa normalne zapisovat neda.
Najlepsie je to do samostatneho suboru a od tial nacitat.

Miro

prace s TouchScreen

[*] Jaroslav Pivonka <jpivonka(zv)centrum(tec)cz> - 23.9.2005 17:16:23

>> From: Zapletal Martin [mailto:zapletal(zv)inoma(tec)cz]
>
>> Chtel bych se zeptat jak prakticky programovat aplikaci pro
>> TouchScreen monitory.
>
> Ovladace Touchscreenu pracuji tak, ze do mista doteku umisti sipku mysi a
> vygeneruji kliknuti. Programujes tedy klidne na normalnim monitoru, ale
> vse ti musi fungovat jen na mysku.
>
> S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP2

Presneji:
Kdyz se dotknes, MouseDown a kdyz pustis, MouseUp.
Takze lze prstem delat i Drag a pri trose soustredeni se povede i
DoubleClick.
Klavesnice proste neni, pokud je PC bez ni, jen s touch. Nebo je, pokud je
fyzicky. *)
Nebo si ji muzes vysvitit jako na PDA, evtl ji sam udelat z knofliku a
vynalezt kolo, az budes premyslet, jak udelat dvoj- a trojhmaty.
Smulu mas s pravym mysitkem, taky jako by nebylo.
Tip na elegantni vedlejsi efekt:
Admin si aplikaci pusti na svem normalnim PC a pravou mysi dela na kdecem
Properties - konfiguraci.
User ma jen touch, tudiz nema prave mysitko a nemuze konfiguraci zprasit.
Vrele doporucuji.
Hezky vikend
Jarda

*) i tyhle kombinace jsou zajimave: Jedna masina s vicemonitorovou kartou,
na hlavnich dvou monitorech desktop s taskbarem (ne kazda karta to
podporuje), klavesnice a systemova mys, na tretim pak touch ne jako mys se
systemovym driverem, ale jako normalni seriove zarizeni, se kterym pracuje
vlastni aplikace nezavisle na Win mysi. Trochu pocitani to zkalibrovat,
prepocitat x/y tuknuti na pixly treba tretiho a/nebo ctvrteho monitoru, ale
funguje to v pohode.

prace s TouchScreen

[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 23.9.2005 15:46:15

Chtel bych se zeptat jak prakticky programovat aplikaci pro TouchScreen
monitory. Takovy monitor zatim nemam a tak by mne zajimalo jestli muzu psat
i bez TS s prihlednutim na velikost vizualnich komponent ktere maji byt
pouzity.

Martin

Nacteni a ulozeni property do .dfm

[*] Jiri Bouchala <bouchala(zv)starmon(tec)cz> - 23.9.2005 15:46:15

Napsal J. Bouchala
Ano, jak jsem uvedl cely mechanismus ukladani mi jasny neni. Postupne to hledam v zdrojacich, helpu atd.
Je jasne, ze v dobe navrhu se zapisuje do DFM. A odkud se cte v dobe behu aplikace? Prece s EXE. DFM se preci stane soucasti resource v exe. Predpokladam, ze mechanismus ukladani je na tuto skutecnost pripraven. Vychazim i z konstatovani na nekterych www strankach. Zapis do jinych souboru je jiste mozny, ale zdalo se mi vhodne vyuzit tento jednoduse pouzitelny mechanismus - pokud by to fungovalo, nez generovat dalsi soubory.
Nebo je vsechno jinak?

I po shlednuti ukazkoveho kodu mi porad unika smysl.
Jde o ukladani jakesi komponenty uz za behu programu (Tedy ne v dobe navrhu
v Delphi, ale opravdu za behu programu)? Ale KAM???? V programu se
samozrejme
Writer uz nikdy nevola ani nevytvari protoze ten je urcen pro ukladani
do dfm souboru v Delphi.
Pokud si chces ulozit tu svou komponentu kamsi (napr do db nebo nekam)
musis sam vytvorit writer
a zapsat do nej a pak sam vytvorit reader a cist z nej.
Vsechny odpovedi co zatim tu byli predpokladaj ze ta komponenta
(vlastnost) je ulozena v dfm z Delphi.
Pokud chces opravdu ten runtime tak by mohlo fungovat neco jako:

Cteni

Stream:=TFileStream.Create('NejakySoubor', fmOpenRead or
fmShareDenyNone)
try
Instance := TMyComponent.Create(self);
Stream.Seek( 0, soFromBeginning );
Reader := TReader.Create( Stream, 4096 );
try
Reader.ReadRootComponent( Instance );
finally
Reader.Free;
end;
finally
Stream.Free;
end;

Zapis:

Stream:=TFileStream.Create('NejakySoubor', fmOpenWrite or
fmShareExclusive)
try
Stream.Seek( 0, soFromBeginning );
Writer := TProjectWriter.Create( BinStream, 4096 );
try
Writer.WriteDescendent( Instance, nil );
finally
Writer.Free;
end;
finally
Stream.Free;
end;

Pisu z hlavy, ale tak nejak....

Pavel Poles

Cestina v Delphi 6

[*] Lukas Barton <lukas(zv)cnawr(tec)cz> - 23.9.2005 16:16:18

Ahoj,

jak nastavit aby v Delphi 6 Ent Service Pack 2 v kombinaci Windows XP
CZ SP2 spolehlive fungovala cestina?

U jednoho projektu mi to dela toto:
V menu a ve zpravach, ktere zobrazuji pres Win API, cestina neni.
Vsude jinde ano.

V jinem projektu je cestina vsude, jenom ne ve visualnim editoru menu.

Lukas

prace s TouchScreen

[*] horky(zv)cominn(tec)cz - 23.9.2005 15:46:15

> From: Zapletal Martin [mailto:zapletal(zv)inoma(tec)cz]

> Chtel bych se zeptat jak prakticky programovat aplikaci pro
> TouchScreen monitory.

Ovladace Touchscreenu pracuji tak, ze do mista doteku umisti sipku mysi a vygeneruji kliknuti. Programujes tedy klidne na normalnim monitoru, ale vse ti musi fungovat jen na mysku.

--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP2
[mailto:horky(zv)cominn(tec)cz]

Zeos DBO - Range Check Error

[*] Jiri Matejka <matejka(zv)stemmark(tec)cz> - 23.9.2005 15:54:16

Zdravim,
nainstaloval jsem kompoenenty Zeos DBO v. 6.5.1 pro pristup k MySQL, a pri
dotazu select ... from tabulka, kde resultset ma vic jak cca 300 sloupcu
(zatim sem nevysledoval presne tu hranici), to pada na chybe "Range Check
Error". Dosud jsem pouzival Zeos 5.3.4 a vse bez problemu. MySQL je verze
4.0.23, D6Prof, na klientu i databazovem serveru W2000. Nemate s tim nekdo
zkusenost?

diky

Jirka Matejka

Synapse

[*] Vlastimil Zdenek <vlastimil.zdenek(zv)seznam(tec)cz> - 23.9.2005 15:48:16

Zdravim,
jak poslu pomoco synapse na COM1 escape sekvenci?

Diky Vlasta, D5

Nacteni a ulozeni property do .dfm

[*] Pavel Poles <delphi(zv)noni(tec)cz> - 23.9.2005 15:26:13

I po shlednuti ukazkoveho kodu mi porad unika smysl.
Jde o ukladani jakesi komponenty uz za behu programu (Tedy ne v dobe navrhu
v Delphi, ale opravdu za behu programu)? Ale KAM???? V programu se
samozrejme
Writer uz nikdy nevola ani nevytvari protoze ten je urcen pro ukladani
do dfm souboru v Delphi.
Pokud si chces ulozit tu svou komponentu kamsi (napr do db nebo nekam)
musis sam vytvorit writer
a zapsat do nej a pak sam vytvorit reader a cist z nej.
Vsechny odpovedi co zatim tu byli predpokladaj ze ta komponenta
(vlastnost) je ulozena v dfm z Delphi.
Pokud chces opravdu ten runtime tak by mohlo fungovat neco jako:

Cteni

Stream:=TFileStream.Create('NejakySoubor', fmOpenRead or
fmShareDenyNone)
try
Instance := TMyComponent.Create(self);
Stream.Seek( 0, soFromBeginning );
Reader := TReader.Create( Stream, 4096 );
try
Reader.ReadRootComponent( Instance );
finally
Reader.Free;
end;
finally
Stream.Free;
end;

Zapis:

Stream:=TFileStream.Create('NejakySoubor', fmOpenWrite or
fmShareExclusive)
try
Stream.Seek( 0, soFromBeginning );
Writer := TProjectWriter.Create( BinStream, 4096 );
try
Writer.WriteDescendent( Instance, nil );
finally
Writer.Free;
end;
finally
Stream.Free;
end;

Pisu z hlavy, ale tak nejak....

Pavel Poles

>Posilam zdroj k nahlednuti, kde delam chybu. Problem je v tom, ze DefineProperties se provede jen po spusteni aplikace pri zavadeni formulare a pak uz nikdy. V komentarich jsou videt varianty, ale nechodi nic.
>
>
>

Nacteni a ulozeni property do .dfm

[*] Jiri Bouchala <bouchala(zv)starmon(tec)cz> - 23.9.2005 14:58:11

Napsal J. Bouchala
Jsem rad, ze se aspon nekdo zabyva mym problemem. Vydrzte!
TPersistent jsem pouzil uplne na zacatku. Jelikoz jsem v jistou chvili z prikladuu usoudil, aby byl mechanismus ulozeni objektu vyvolan, musi byt objekt vlastnen formularem (pripadne jinou komponentou vlastnenou formularem), pouzil jsem TComponent nebot TPersistent nema Owner. Kdyz jsem se dival na GetParentComponent (u TComponent vraci nil) docetl jsem se, ze za zapis do streamu je odpovedny parent. Ovsem ten je az u TControl a ty jsou vizualni a to nechci.
Posilam zdroj k nahlednuti, kde delam chybu. Problem je v tom, ze DefineProperties se provede jen po spusteni aplikace pri zavadeni formulare a pak uz nikdy. V komentarich jsou videt varianty, ale nechodi nic.
//---------------------------------------------------------------------------------------------------
unit ExpDefProp;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TSDfmVal = class(TComponent) //TPersistent
private
FRealVal:Double;
//procedure ReadFloatData(Reader:TReader);
//procedure WriteFloatData(Writer:TWriter);
protected
// procedure DefineProperties(Filer:TFiler); override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
//property RealVal:Double read FRealVal write FRealVal Stored True;
published
property RealVal:Double read FRealVal write FRealVal Stored True;
end; TForm3 = class(TForm)
btCreate: TButton;
dtDestroy: TButton;
edHodnota: TEdit;
btZapis: TButton;
btGetParent: TButton;
procedure btCreateClick(Sender: TObject);
procedure dtDestroyClick(Sender: TObject);
procedure btZapisClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btGetParentClick(Sender: TObject);
private { Private declarations }
MyComp:TSDfmVal;
procedure LoadCompProperty(Reader: TReader);
procedure StoreCompProperty(Writer: TWriter);
property MyCompProperty:TSDfmVal read MyComp write MyComp Stored True;
public { Public declarations }
procedure DefineProperties(Filer:TFiler); override;
end;

var
Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.btCreateClick(Sender: TObject);
begin
MyCompProperty:=TSDfmVal.create(self);
end;

procedure TForm3.dtDestroyClick(Sender: TObject);
begin
MyCompProperty.Free;
end;

procedure TForm3.btZapisClick(Sender: TObject);
begin
MyCompProperty.RealVal:=StrToFloat(edHodnota.Text);
end;

procedure TForm3.LoadCompProperty(Reader: TReader);
begin
if Reader.ReadBoolean then
MyCompProperty := Reader.ReadComponent(nil) as TSDfmVal;
end;
procedure TForm3.StoreCompProperty(Writer: TWriter);
begin
Writer.WriteBoolean(MyCompProperty <> nil);
if MyCompProperty <> nil then
Writer.WriteComponent(MyCompProperty);
end;

procedure TForm3.DefineProperties(Filer: TFiler);
function DoWrite: Boolean;
begin
if Filer.Ancestor <> nil then // check Ancestor for an inherited value
begin
if TForm3(Filer.Ancestor).MyCompProperty = nil then
Result := MyCompProperty <> nil
else if (MyCompProperty = nil) or
((TForm3(Filer.Ancestor).MyCompProperty.Name) <> (MyCompProperty.Name)) then
Result := True
else Result := False;
end
else // no inherited value -- check for default (nil) value
Result := MyCompProperty <> nil;
end;
begin
inherited; // allow base classes to define properties
Filer.DefineProperty('MyCompProperty', LoadCompProperty, StoreCompProperty, DoWrite); //misto DoWrite mozno zapsat True
end;

procedure TForm3.FormCreate(Sender: TObject);
begin
MyCompProperty:=TSDfmVal.Create(Self);
end;

procedure TForm3.btGetParentClick(Sender: TObject);
begin
edHodnota.Text:=MyCompProperty.GetParentComponent.ClassName
end;//***********************************************

constructor TSDfmVal.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
RealVal:=1;
end;

destructor TSDfmVal.Destroy;
begin

inherited;
end;

{procedure TSDfmVal.DefineProperties(Filer: TFiler);
begin
inherited DefineProperties(Filer);
Filer.DefineProperty('RealVal', ReadFloatData, WriteFloatData, True);
end;

procedure TSDfmVal.ReadFloatData(Reader: TReader);
begin
//RealVal:=Reader.ReadFloat;
if Reader.ReadBoolean then
(owner as TForm3).MyCompProperty := Reader.ReadComponent(nil) as TSDfmVal;
end;

procedure TSDfmVal.WriteFloatData(Writer: TWriter);
begin
//Writer.WriteFloat(RealVal);
Writer.WriteBoolean((owner as TForm3).MyCompProperty <> nil);
if (owner as TForm3).MyCompProperty <> nil then
Writer.WriteComponent((owner as TForm3).MyCompProperty);
end; }


Initialization
RegisterClass(TSDfmVal);

end.

------
Aha
jasne - vytvor objekt odvodeny od Persistent. Ten je urceny na ukladanie do
DFM.

Miro
-----Original Message-----
Jde mi o jednoduchou vec. Za behu aplikace vytvorim objekt me tridy odvozene
od TComponent. Je rozsiren napr. o property typu Double a pote co do teto
property zapisu hodnotu chci, aby se komponenta

Nacteni a ulozeni property do .dfm

[*] m.mrazik <m.mrazik(zv)stonline.sk> - 23.9.2005 14:20:08

Aha
jasne - vytvor objekt odvodeny od Persistent. Ten je urceny na ukladanie do
DFM.

Miro
-----Original Message-----
Jde mi o jednoduchou vec. Za behu aplikace vytvorim objekt me tridy odvozene
od TComponent. Je rozsiren napr. o property typu Double a pote co do teto
property zapisu hodnotu chci, aby se komponenta

Nacteni a ulozeni property do .dfm

[*] Jiri Bouchala <bouchala(zv)starmon(tec)cz> - 23.9.2005 13:42:01

Napsal J. Bouchala
Jde mi o jednoduchou vec. Za behu aplikace vytvorim objekt me tridy odvozene od TComponent. Je rozsiren napr. o property typu Double a pote co do teto property zapisu hodnotu chci, aby se komponenta ulozila do dfm. Cely mechanismus ukladani formularu a komponent na nich umistenych pro me neni pruhledny. Ale vim, ze se o to stara procedura DefineProperties. Nevim ale za jakych okolnosti je spustena.

Jeste jsem presne nepochopil o co ti vlastne jde,
ale pokud by to melo fungovat jako napriklad TMenuItem tak
se podivej na funkce

GetChildren,
HasParent

a pripadne

GetParentComponent a
SetParentComponent

Pavel Poles

Jiri Bouchala napsal(a):

>Napsal J. Bouchala
>
><Konkretne potrebuji ulozit hodnoty vlastnosti (property) objektu me tridy
>odvozene primo od TPersistent. Tyto objekty vytvarim dynamicky za behu
>aplikace. Cim se spusti provedeni procedury <DefineProperties?
>Ahoj
>Ok este ma napada jedna vec. Formular si uklada objekty ktore vlastni. Pozri
>kto je owner toho tvojho objektu. Ak je to mozne tak ho predaj priamo formu.
>Potom to uz musi ist tam nic ine netreba.
>
>Miro

IB a SQL davka

[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 23.9.2005 13:09:59

Nazdar

Otisk Rene napsal(a):
> nebo to musim udelat ulozenou procedurou, protoze v davce nemuzu mit if?

nechci sirit paniku, ale SP imho neumi DDL.

> Diky Sroub

Peca

IB a SQL davka

[*] Roland Turcan <konf(zv)rotursoft.sk> - 23.9.2005 13:03:58

<<< 23.9.2005 13:00 - Otisk Rene "otisk(zv)misel(tec)cz" >>>
OR> Hi,

OR> Chtel bych v zavislosti na tom, jestli neco existuje v
OR> systemove rdb$ spustit alter table.
OR> Jde to provest podobne jako u MS SQL?

OR> if exists (select * from rdb$ref_constraints where
OR> rdb$constraint_name = ' INTEG_393')
OR> ALTER TABLE SVATKY drop constraint INTEG_393

A to si na 100% presvedceny, ze v kazdej databaze sa ten constraint
vola 'INTEG_393'. Nie je to nahodou generovany nazov Firebirdom?

OR> nebo to musim udelat ulozenou procedurou, protoze v davce nemuzu mit if?

No zatial vo FB1.5 nie je implementovana funkcia "Execute Block",
takze zatial ostava iba SP.

--
Best regards, TRoland

http://exekutor.rotursoft.sk


IB a SQL davka

[*] Otisk Rene <otisk(zv)misel(tec)cz> - 23.9.2005 12:33:56

Hi,

Chtel bych v zavislosti na tom, jestli neco existuje v systemove rdb$ spustit alter table.
Jde to provest podobne jako u MS SQL?

if exists (select * from rdb$ref_constraints where rdb$constraint_name = ' INTEG_393')
ALTER TABLE SVATKY drop constraint INTEG_393

nebo to musim udelat ulozenou procedurou, protoze v davce nemuzu mit if?


Diky Sroub


Nacteni a ulozeni property do .dfm

[*] Jiri Bouchala <bouchala(zv)starmon(tec)cz> - 23.9.2005 12:11:53

Napsal J. Bouchala
Omlouvam se, za tu predchozi prazdnou odpoved.
Vlastnikem jsem puvodne mel TFrame. Nechodilo, tak jsem si udelal zvlast pokus na TForm. Zkousel jsem i aby jina komponenta lezici uz v dobe navrhu na Formu byla vlastnikem. Nic.

<Konkretne potrebuji ulozit hodnoty vlastnosti (property) objektu me tridy
odvozene primo od TPersistent. Tyto objekty vytvarim dynamicky za behu
aplikace. Cim se spusti provedeni procedury <DefineProperties?
Ahoj
Ok este ma napada jedna vec. Formular si uklada objekty ktore vlastni. Pozri
kto je owner toho tvojho objektu. Ak je to mozne tak ho predaj priamo formu.
Potom to uz musi ist tam nic ine netreba.

Miro

Nacteni a ulozeni property do .dfm

[*] Pavel Poles <delphi(zv)noni(tec)cz> - 23.9.2005 12:13:54

Jeste jsem presne nepochopil o co ti vlastne jde,
ale pokud by to melo fungovat jako napriklad TMenuItem tak
se podivej na funkce

GetChildren,
HasParent

a pripadne

GetParentComponent a
SetParentComponent

Pavel Poles

Jiri Bouchala napsal(a):

>Napsal J. Bouchala
>
><Konkretne potrebuji ulozit hodnoty vlastnosti (property) objektu me tridy
>odvozene primo od TPersistent. Tyto objekty vytvarim dynamicky za behu
>aplikace. Cim se spusti provedeni procedury <DefineProperties?
>Ahoj
>Ok este ma napada jedna vec. Formular si uklada objekty ktore vlastni. Pozri
>kto je owner toho tvojho objektu. Ak je to mozne tak ho predaj priamo formu.
>Potom to uz musi ist tam nic ine netreba.
>
>Miro
>
>
>
>
>

Nacteni a ulozeni property do .dfm

[*] Jiri Bouchala <bouchala(zv)starmon(tec)cz> - 23.9.2005 12:03:53

Napsal J. Bouchala

<Konkretne potrebuji ulozit hodnoty vlastnosti (property) objektu me tridy
odvozene primo od TPersistent. Tyto objekty vytvarim dynamicky za behu
aplikace. Cim se spusti provedeni procedury <DefineProperties?
Ahoj
Ok este ma napada jedna vec. Formular si uklada objekty ktore vlastni. Pozri
kto je owner toho tvojho objektu. Ak je to mozne tak ho predaj priamo formu.
Potom to uz musi ist tam nic ine netreba.

Miro

delphi 2005 - zasekava se editace zdrojaku

[*] Petr Vones <konference(zv)petrvones(tec)net> - 23.9.2005 11:11:49

From: "Karel Osman" <karelosman(zv)centrum(tec)cz>
> mam s delphi 2005 podivny problem - vzdy kdyz zacnu psat zdrojovy kod delphi
> vytizi procesor na 100% asi na 3 sekundy, a teprve pote co opadne aktivita
> se v editoru obevi muj zdrojak. Tohle se deje tak zhruba kazdych 15 sekund a

Je treba mit vsechny 3 update packy.

> Mam Athlona 1,4G, 80G disk, 500MB pameti

Pro Delphi 2005 je vhodne mit alespon 1GB RAM a IDE obcas restartovat.

Petr Vones


Nacteni a ulozeni property do .dfm

[*] m.mrazik <m.mrazik(zv)stonline.sk> - 23.9.2005 11:01:48

<Konkretne potrebuji ulozit hodnoty vlastnosti (property) objektu me tridy
odvozene primo od TPersistent. Tyto objekty vytvarim dynamicky za behu
aplikace. Cim se spusti provedeni procedury <DefineProperties?
Ahoj
Ok este ma napada jedna vec. Formular si uklada objekty ktore vlastni. Pozri
kto je owner toho tvojho objektu. Ak je to mozne tak ho predaj priamo formu.
Potom to uz musi ist tam nic ine netreba.

Miro


vlozeni komponenty na TNotebook pomoci Ctrl+V

[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 23.9.2005 10:33:41

> Rad bych se zeptal co delam spatne. Nejakou komponentu pomoci Ctrl+C
> /Ctrl+V
> chci vlozit aktivni zalozku TNotebook ale pokazde mi to Delphi vlozi na
> jinou zalozku. Delalo to D5 a dela to i D7. Nebo mi tak chce Delphi rict
> abych TNotebook nepouzival? Na konec se to podari po prepnuti na uplne
> jinou
> zalozku nez na kterou to ma byt placnuto. Ale uz mi to pije krev...
>
> Martin

Take s tim bojuji. Obchazim to vlozenim "falesne" komponenty a pozadovany
list,
na krerou se IDE nafocusuje, ale rad bych se take rad dozvedel jiny
zpusob....

Poblazneni uzivatel IDE

[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 23.9.2005 09:53:37

HI *,
Hura mam to, sory, ze jsem Vas otravoval, ale jen tak pro priste:
Nevim presne co se stalo, ale nejak jsem pozapomnel na Language Lokalizator
a jeho upravu *.res....

Prijemny zbytek dne
Vasek Zaruba
8^)

delphi 2005 - zasekava se editace zdrojaku

[*] Karel Osman <karelosman(zv)centrum(tec)cz> - 23.9.2005 10:23:40

Zdravim,
mam s delphi 2005 podivny problem - vzdy kdyz zacnu psat zdrojovy kod delphi vytizi procesor na 100% asi na 3 sekundy, a teprve pote co opadne aktivita se v editoru obevi muj zdrojak. Tohle se deje tak zhruba kazdych 15 sekund a je to desne otravne, temer se neda pracovat. Na drivejsich delphi od D3 az po D7 jsem nikdy takovy problem nemel. Nevite cim by to mohlo byt?
Dival jsem se na Filemon a zjistil jsem ze delphi opakovane prohledava temer vsechny unity meho projektu (asi 60 unit) - mozna se snazi neco hledat ale pritom jsem se snazil veskere asistenty, doplnovani zdrojoveho kodu a podobne veci vypnout.
Mam Athlona 1,4G, 80G disk, 500MB pameti
Diky

gzip komprese

[*] Vlastik Bartos <bartos(zv)spsmvbr(tec)cz> - 23.9.2005 10:19:39


Musi to byt gzip? Mam velmi dobre zkusenosti s komponentami ZipMaster.

Vlastik

> potrebuji se zeptat, jestli znate nejake kvalitni komponenty, bych mohl
> gzipnout (LZ77) soubor.
>
>

Nacteni a ulozeni property do .dfm

[*] Jiri Bouchala <bouchala(zv)starmon(tec)cz> - 23.9.2005 10:01:38

Ahoj
<Napsal J. Bouchala
<Konkretne potrebuji ulozit hodnoty vlastnosti (property) objektu me tridy
odvozene primo od TPersistent. Tyto objekty vytvarim dynamicky za behu
aplikace. Cim se spusti provedeni procedury <DefineProperties?
Problem moyno bude v tom ye program nema yaregistrovanu tvoju triedu.
v Initialization musis zavolat
RegisterClasses([TMyClass]);
Inak nebude program schopny ulozit tvoj objekt.

Miro

Napsal J. Bouchala
Diky to byla spravna poznamka. Nikde v uvedenych prikladech se o tom nemluvi a neni to uvedeno. Zkusil jsem RegistrClasses i RegistrClass a stale nic :( Asi je nutne jeste neco, ale co? Co donuti pri zmene nektere property vyvolat DefineProperties?

vlozeni komponenty na TNotebook pomoci Ctrl+V

[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 23.9.2005 09:53:37

Rad bych se zeptal co delam spatne. Nejakou komponentu pomoci Ctrl+C /Ctrl+V
chci vlozit aktivni zalozku TNotebook ale pokazde mi to Delphi vlozi na
jinou zalozku. Delalo to D5 a dela to i D7. Nebo mi tak chce Delphi rict
abych TNotebook nepouzival? Na konec se to podari po prepnuti na uplne jinou
zalozku nez na kterou to ma byt placnuto. Ale uz mi to pije krev...

Martin

Poblaznene IDE nebo ja

[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 23.9.2005 09:41:36

HI *,

Asi se mi zblaznilo IDE (D7 pr) nebo delam nejakou zacatecnickou chybu.
Pouze u jednoho, ale pro mne nejdulezitejsiho projektu mi od vcera dela IDE,
kdyby to nebylo ke vzteku, tuto zajimavou vec:
Jakakoliv zmena v navrhovem prostredi se neprojevi po kompilaci (v navrhu zustane)....
a to i po smazani dcu + exe , odsunu zalohy, znovunastaveni cfg, dsk
Smazu-li zdroj, tak spravne nadava.
Prosim poradte, uz jsem zoufalej....

Prijemny zbytek dne
Vasek Zaruba
8^)

close application a timer

[*] MUDr. Patrik Valenta <valentapat(zv)volny(tec)cz> - 23.9.2005 09:37:35

jak je to prosim vas s obslubou TTimeru pri FormClose (zavreni programu
normalne krizkem)

muze se stat, ze se obsluzna procedura udalosti ontimer nedokonci ?

Mam tam komunikaci s Com portem, a stava se mi ze komunikace neni zrejme
uplna, a po novem spusteni se se mnou ta periferie nebavi.

Jde mi o to jestli to mam osetrit jeste v onClose;

s pozdravem valik

Seznam zasobniku tiskarny v XP

[*] Zdenek Brejsa <prog(zv)hjsoft(tec)cz> - 23.9.2005 09:03:33

> bohuzel ... viz MSDN
>
> DeviceCapabilities(DC_BINNAMES) Data Format
>
> When an application calls the DeviceCapabilities() API with the nIndex
> parameter set to DC_BINNAMES, 24 bytes are required for each bin name.
>
> DeviceCapabilities() returns the name of each bin as a null-terminated
> string in a character array. Each bin-name entry requires 24 bytes and
> begins on the [(n-1) * 24] byte of the array.

To vim, ale v dialogu k ovladaci to je videt cely ... tak to snad musi nejak
jit ... asi jinym pristupem, ale jak ?!

Seznam zasobniku tiskarny v XP

[*] Jiri Virt <virt(zv)volny(tec)cz> - 23.9.2005 07:56:55

bohuzel ... viz MSDN

DeviceCapabilities(DC_BINNAMES) Data Format

When an application calls the DeviceCapabilities() API with the nIndex
parameter set to DC_BINNAMES, 24 bytes are required for each bin name.

DeviceCapabilities() returns the name of each bin as a null-terminated
string in a character array. Each bin-name entry requires 24 bytes and
begins on the [(n-1) * 24] byte of the array.

.....


Jirka Virt

Synapse

[*] Antonin Rezac <rezac(zv)apls(tec)cz> - 23.9.2005 07:54:54

Pomoci Synapse tezko, pouzij SynaSer.

Vojta


----- Original Message -----
From: "Vlastimil Zdenek" <vlastimil.zdenek(zv)seznam(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, September 22, 2005 4:25 PM
Subject: Synapse


> Zdravim,
> jak poslu pomoco synapse na COM1 escape sekvenci?
>
> Diky Vlasta, D5
>
>

ESC sekvence

[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 23.9.2005 07:52:54

> Ahoj,
> prosim o radu jak poslat ESC sekvenci na COM1. Je proto nutna nejaka
> komponenta? Jaka?
>
> Diky Vlasta, D5
>
>
>
Velmi oblibena komponenta TCOMPORT od Dejan Crnila :-)
V balicku jsou i nejake samplicky....

prace s TouchScreen

[*] Libor Valka <konference(zv)livasys(tec)com> - 22.9.2005 17:41:56



> Chtel bych se zeptat jak prakticky programovat aplikaci pro
> TouchScreen monitory. Takovy monitor zatim nemam a tak by mne
> zajimalo jestli muzu psat i bez TS s prihlednutim na velikost
> vizualnich komponent ktere maji byt pouzity.

Programovat muzes samozrejme na obycejnem monitoru. Jen si musis uvedomit,
ze dotyk prstu na TS vyvola stejnou udalost jako stisknuti tlacitka mysi.
Takze veskere
ovladani (UI) musi byt udelane tak, aby sis vystacil s mysi.

Libor

Synapse

[*] Vlastimil Zdenek <vlastimil.zdenek(zv)seznam(tec)cz> - 22.9.2005 16:25:50

Zdravim,
jak poslu pomoco synapse na COM1 escape sekvenci?

Diky Vlasta, D5


Seznam zasobniku tiskarny v XP

[*] Zdenek Brejsa <prog(zv)hjsoft(tec)cz> - 22.9.2005 15:59:49

Ahoj vsem,
pro zjisteni %subject% pouzivam nasledujici algoritmus:

type
TBinName = Array [0..23] of Char;
TBinNameArray = Array [1..High(Integer) div SizeOf(TBinName)] of TBinName;
PBinNameArray = ^TBinNameArray;
TBinArray = Array [1..High(Integer) div SizeOf(Word)] of Word;
PBinArray = ^TBinArray;
var
Device, Driver, Port: Array[0..256] of Char;
hDevMode: THandle;
I, Cnt, CountBinNames: Integer;
pBinNames: PBinnameArray;
p: PChar;
begin
Memo.Clear;
//Printer.PrinterIndex := 1;
Printer.GetPrinter(Device, Driver, Port, hDevMode);
CountBinNames := WinSpool.DeviceCapabilities(Device, Port, DC_BINNAMES,
nil, nil);
if CountBinNames > 0 then
begin
GetMem(pBinNames, CountBinNames * SizeOf(TBinname));
try
WinSpool.DeviceCapabilities(Device, Port, DC_BINNAMES,
PChar(pBinNames), nil);
for Cnt := 1 to CountBinNames do
Memo.Lines.Add(pBinNames^[Cnt]);
finally
FreeMem(pBinNames);
end;
end;

ALE, v WinXP, pokud je jmeno zasobniku delsi nez 24 znaku, tak se oreze a
pokud zvetsim pole TBinName, tak je seznam nesmyslny.

Zna nekdo reseni?

dekuji predem za pomoc

Zdenek Brejsa - programator HJ-SOFT
465325097, 465321096, 465322889, 603833124, 724185948
primy: 469813131
ICQ: 47636291
Skype: brejsaz


prace s TouchScreen

[*] horky(zv)cominn(tec)cz - 22.9.2005 15:43:45

> From: Zapletal Martin [mailto:zapletal(zv)inoma(tec)cz]

> Chtel bych se zeptat jak prakticky programovat aplikaci pro
> TouchScreen monitory.

Ovladace Touchscreenu pracuji tak, ze do mista doteku umisti sipku mysi a vygeneruji kliknuti. Programujes tedy klidne na normalnim monitoru, ale vse ti musi fungovat jen na mysku.

--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP2
[mailto:horky(zv)cominn(tec)cz]

OT: Mezinarodni Firebird Konference

[*] Pavel Cisar <pcb(zv)atlas(tec)cz> - 22.9.2005 15:35:44

Haj hou!

Pokud pouzivate Firebird, pak vas urcite potesi, ze se v poradi jiz
treti mezinarodni Firebird konference bude konat 13.-15. listopadu 2005
v Praze, v hotelu Olsanka. Prehled (vice nez 60) prednasek, vcetne
informaci o cene a jak se na konferenci prihlasit naleznete na
www.ibphoenix(tec)cz

Pro ucestniky z CR plati jine cenove podminky nez pro ucastniky
zahranicni (uvedene na www.ibphoenix.com nebo strankach projektu Firebird).

S pozdravem
Pavel Cisar
IBPhoenix

prace s TouchScreen

[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 22.9.2005 15:31:44

Chtel bych se zeptat jak prakticky programovat aplikaci pro TouchScreen
monitory. Takovy monitor zatim nemam a tak by mne zajimalo jestli muzu psat
i bez TS s prihlednutim na velikost vizualnich komponent ktere maji byt
pouzity.

Martin

Prenos velkeho mnozstvi dat pres TCP/IP

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

DD,
On Thursday, September 22, 2005 2:03 PM ,
Cabak Pavel <delphikonf(zv)cross(tec)cz> wrote:

> Ahojte,

asi Ti moc nepomuzu ale nekolik pripominek si neodpustim:

> potykam se uz dost dlouho s problemem pri prenosu velkeho mnozstvi
> dat v mojich aplikacich typu Client / Server.
> V serveru mam komponentu TServerSocket, v klientovi TClientSocket.
> Pri malych objemech dat je vse v poradku. Problem nastava, kdyz
> potrebuju prenest radove stovky kB.
> Na obou stranach mam udelany buffer (array of Char) velikosti 32 kB.
> Ten na serveru naplnim daty (v hlavicce je delka dat, celkovy pocet
> vracenych zaznamu a pocet aktualne vracenych zaznamu, ktere se vesly
> do bufferu a na konci mam kontrolni sumu)

kontrolni suma v TCP prenosu? Zbytecnost (kontrolni soucty jsou v
kazdem TCP packetu i eth framu cili data dojdou tak jak maji

> a hodim si ho do fronty.
> Tak naplnim i treba nekolik desitek bufferu a server je postupne v
> intervalu 100 ms odesila.

lepsi je nacpat data do bufferu zavolat send() (ci nejaky ekvivalent z
komponenty) v blokovacim rezimu. Az system bude schopen prevzit
vsechny data (neznamena to, ze je odeslal) tak se rizeni vrati do
Tveho kodu. Vezmes dalsi data nacpes je do bufferu a znovu volas
send(). Takhle mas zaruceno, ze system ma stale dost dat k odeslani
(nedela prestavky cekanim na dokonceni tech 100ms). Takze odeslat N
bufferu nebude trvat N desetin sekundy ale podstatne min (na
ethernetu)

>V klientovi mam odchycene
> TClientSocket.OnRead. Funkci TClientSocket.Socket.ReceiveLength
> zjistim velikost prijatych dat (max. 8 kB, nebo se to da nekde
> nastavit?)

to zrejme zavisi na chovani TClinetSocket (neznam zadne komponenty na
TCP/IP nepouzivam). Obecn plati, ze system vrati prave tolik dat kolik
se vejde do predaneho bufferu nebo tolik kolik jich je k dispozici
pripadne ceka az bude alespon neco k dispozici). 8kB je zrejme interni
buffer TCLientSocku

>a presunu si je do bufferu
> (TClientSocket.Socket.ReceiveBuf) a cekam na prichod dalsich dat.
> Pomoci prenasene delky dat doplnim buffer, pres kontrolni sumu
> zkontroluju jejich platnost a data zpracuju. Nekdy se vsak stane,
> aniz by program zahlasil neplatna data diky kontrolni sume, ze se mi
> nektera data ztrati.

A ztrati se opravdu (pochybuji) nebo se neodeslou? (proverit pomoci
tcpdump/ethereal)

>Za nasledek to ma pak to, ze udalost
> TClientSocket.OnRead se uz nikdy nevyvola a komunikace v podstate
> vytuhne.

> Muze byt problem v pomalem zpracovani dat na strane klienta, nebo si
> to Windows nekde kesuji?

pokud je vse napsano spravne rychlost zpracovani nemuze hrat roli.

> V te udalosti uz mam i podminku, aby se nic
> neprovadelo, kdyz jeste probiha zpracovavani predchozich dat. Na
> druhou stranu tam mam smycku while ReceiveLength>0 pro zpracovani
> vsech dat. Je to tak spravne? Nemel jste nekdo takovy problem?


Zdravi
D. Toman

ESC sekvence

[*] Vlastimil Zdenek <vlastimil.zdenek(zv)seznam(tec)cz> - 22.9.2005 15:15:42

jedna se o VFD display, ale princip bude asi stejny.
Muzes mi prosim poslat priklad poslani ESC sekvence na COM1? Nejlepe se synapsi i bez..... :-)

Diky moc
Vlasta

----- Original Message -----
From: Franta Flinta
To: delphi-l(zv)clexpert(tec)cz
Sent: Thursday, September 22, 2005 2:19 PM
Subject: Re: ESC sekvence


Vlastimil Zdenek napsal(a):

>Ahoj,
> prosim o radu jak poslat ESC sekvenci na COM1. Je proto nutna nejaka
>komponenta? Jaka?
>
>Diky Vlasta, D5
>
>
>
>
>
>
>
>
netyka se to nahodou termotiskaren? jinak staci vzit otevrit napr.
pomoci synapse port a potom tam rvat escape sekvence jednu za druhou,
nicmene pokud to mas pro termotiskarny, tak tam se musi poslat escape
sekvence v bloku(existuje escape sekvence zhajovaci a ukoncovaci) a
tiskarna to provede az kdyz(nebo vubec) dostane cely "blok" dat.
jinak muzes pouzit jakoukoliv komponentu pro pristup k com nebo
synapsi(vyzkouseno).
jarda

Nacteni a ulozeni property do .dfm

[*] m.mrazik <m.mrazik(zv)stonline.sk> - 22.9.2005 14:59:41


Ahoj
<Napsal J. Bouchala
<Konkretne potrebuji ulozit hodnoty vlastnosti (property) objektu me tridy
odvozene primo od TPersistent. Tyto objekty vytvarim dynamicky za behu
aplikace. Cim se spusti provedeni procedury <DefineProperties?
Problem moyno bude v tom ye program nema yaregistrovanu tvoju triedu.
v Initialization musis zavolat
RegisterClasses([TMyClass]);
Inak nebude program schopny ulozit tvoj objekt.

Miro


gzip komprese

[*] Ludek Finstrle <ludek.finstrle(zv)pzkagis(tec)cz> - 22.9.2005 14:31:39

> >>btw: Jde o prihlasky a odhlasky zamestnancu pro CSSZ, moznost napred
> >>gzipnout data muze byt docela pomoci, kdyz se odesila vetsi mnozstvi
> >>zamestnancu...

Na www.gzip.org pisou:

> Can I adapt the gzip sources to perform in-memory compression?
> Use the zlib data compression library instead.

Google: Delphi zlib component
vrati spoustu odkazu, namatkou:
http://www.base2ti.com/zlib.htm
http://www.delphipages.com/skunkworks/swcompress.html
http://delphi.icm.edu.pl/newl/d70/f039_001.htm

Luf

ESC sekvence

[*] Franta Flinta <jarek2(zv)centrum(tec)cz> - 22.9.2005 14:19:38

Vlastimil Zdenek napsal(a):

>Ahoj,
> prosim o radu jak poslat ESC sekvenci na COM1. Je proto nutna nejaka
>komponenta? Jaka?
>
>Diky Vlasta, D5
>
>
>
>
>
>
netyka se to nahodou termotiskaren? jinak staci vzit otevrit napr.
pomoci synapse port a potom tam rvat escape sekvence jednu za druhou,
nicmene pokud to mas pro termotiskarny, tak tam se musi poslat escape
sekvence v bloku(existuje escape sekvence zhajovaci a ukoncovaci) a
tiskarna to provede az kdyz(nebo vubec) dostane cely "blok" dat.
jinak muzes pouzit jakoukoliv komponentu pro pristup k com nebo
synapsi(vyzkouseno).
jarda

Nacteni a ulozeni property do .dfm

[*] Jiri Bouchala <bouchala(zv)starmon(tec)cz> - 22.9.2005 14:05:37

Napsal J. Bouchala
Tak jsem to stale nepochopil :(
I kdyz jsem odvodil svoji tridu od TComponent, objekt me tridy se neuklada. At ho vytvorim v obsluze OnCreate formulare nebo OnClick tlacitka a vlasnikem je formular. Procedura DefineProperties se vyvolava pouze pri vytvareni formulare a to pred OnCreate formulare. Pak uz nikdy. I kdyz nastavim vlastnosti Stored True nic se nedeje. V prikladech kodu na internetu ci v knize Pruvodce vyvojare III. nebo v napovede je vse liceno jako zcela jasne. Daji se v podstate ulozit i hodnoty promenych, jak za behu, tak v navhu. Nekde metodu DefineProperties volaji primo v kodu, vytvori si k tomu objekt TFiler, ale uz jsem nenasel jak nastavit jeho property!
Ja bych potreboval hodnoty ulozit ve chvily kdy se zmeni. Delal to nekdo? Poslete mi prosim kod. Dekuji.


Napsal J. Bouchala
Konkretne potrebuji ulozit hodnoty vlastnosti (property) objektu me tridy odvozene primo od TPersistent. Tyto objekty vytvarim dynamicky za behu aplikace. Cim se spusti provedeni procedury DefineProperties? Pokud by slo o komponenty-vlastnene formularem doslo by patrne k ulozeni automaticky, alespon v dobe navrhu. Kde je ukryt mechanismus toho automatickeho ulozeni nemohu to dohledat. Je mi to nekdo schopen objasnit?
Pouzil jsem tutez tridu jako objektovou vlastnost komponenty a v tu chvili se vse ukladalo do souboru.dfm zcela bez problemu automaticky.


Define properties musis volat pokud vim pouze na nestandardni typy, u
standardnich zajistuje streaming automaticky Delphi pomoci RTTI. Vic o
tom nevim, ale nahledl bych do zdrojaku a hledal TReader, TWriter.

Jiri Bouchala napsal(a):
> Tridy odvozene od TPersistent umi ukladat hodnoty published property do streamu - .dfm. Jak to delaji?
> Pro ulozeni je nutne volat proceduru DefineProperties - virtual, kterou je nutne v potomku prepsat nebot je prazdna. Deje se to nekde na urovni objekt inspektoru? Nebo jak a kde mechanismus najdu? A tudiz ulozeni hodnoty property nastava jen v dobe navrhu nikoli pri zmene za behu?
______________________________________________________
Karel Kral, reditel IT / IT manager
PURUS-MEDA, s.r.o., Palackeho 174, 621 00 Brno, CZ
E-Mail: kral(zv)purusmeda(tec)cz
______________________________________________________

Prenos velkeho mnozstvi dat pres TCP/IP

[*] Cabak Pavel <delphikonf(zv)cross(tec)cz> - 22.9.2005 14:03:37

Ahojte,

potykam se uz dost dlouho s problemem pri prenosu velkeho mnozstvi dat v mojich aplikacich typu Client / Server.
V serveru mam komponentu TServerSocket, v klientovi TClientSocket. Pri malych objemech dat je vse v poradku. Problem nastava, kdyz potrebuju prenest radove stovky kB.
Na obou stranach mam udelany buffer (array of Char) velikosti 32 kB. Ten na serveru naplnim daty (v hlavicce je delka dat, celkovy pocet vracenych zaznamu a pocet aktualne vracenych zaznamu, ktere se vesly do bufferu a na konci mam kontrolni sumu) a hodim si ho do fronty. Tak naplnim i treba nekolik desitek bufferu a server je postupne v intervalu 100 ms odesila.
V klientovi mam odchycene TClientSocket.OnRead. Funkci TClientSocket.Socket.ReceiveLength zjistim velikost prijatych dat (max. 8 kB, nebo se to da nekde nastavit?) a presunu si je do bufferu (TClientSocket.Socket.ReceiveBuf) a cekam na prichod dalsich dat. Pomoci prenasene delky dat doplnim buffer, pres kontrolni sumu zkontroluju jejich platnost a data zpracuju.
Nekdy se vsak stane, aniz by program zahlasil neplatna data diky kontrolni sume, ze se mi nektera data ztrati. Za nasledek to ma pak to, ze udalost TClientSocket.OnRead se uz nikdy nevyvola a komunikace v podstate vytuhne.

Muze byt problem v pomalem zpracovani dat na strane klienta, nebo si to Windows nekde kesuji? V te udalosti uz mam i podminku, aby se nic neprovadelo, kdyz jeste probiha zpracovavani predchozich dat. Na druhou stranu tam mam smycku while ReceiveLength>0 pro zpracovani vsech dat. Je to tak spravne? Nemel jste nekdo takovy problem?

Diky za odpovedi,

Pavel Cabak
D4 C/S, WXP SP2


gzip komprese

[*] MaReK Penguin Olsavsky <orsm(zv)centrum(tec)cz> - 22.9.2005 13:41:35

Petr Fejfar napsal(a):
> MaReK Penguin Olsavsky wrote:
>
>
>>btw: Jde o prihlasky a odhlasky zamestnancu pro CSSZ, moznost napred
>>gzipnout data muze byt docela pomoci, kdyz se odesila vetsi mnozstvi
>>zamestnancu...
>
>
> V mnozstvi vetsim nez malem, ze <g>?
>
> Kolikrat se stane, ze by nejaky podnik prihlasoval/odhlasoval
> za mesic vic nez 100 zamenstancu? IMHo to mockrat nebude.
>
> A pri dnesni sirce prenosovych pasem?
> S tim by prece nemel byt problem ani na GPRS.

Mno ono by to melo jit vztahnout i na ELDP a vzhledem k tomu, ze je
odesilame i za firmy o nekolika tisici zamestnancich, tak je prijemne
ten prenos zkratit...
Hodne pod carou a OT: Ostatne ode mne je umeni i mailem dostat nezipnuty
text. Z seho me muze vzit cert je, kdyz nekdo posle mail, v nem je
wordovsky *.doc a v nem 2 vety, takze to ma v pohode 1/4MB... Nevadi mi
to kvuli tomu, ze bych pomalou linku, ale...

--

- --

MaReK "Penguin" Olsavsky
PHP Voodoo
private mail: orsm(zv)centrum(tec)cz
private web: http://orsm.wz(tec)cz
ICQ#: 160 178 925; MSN: orsm(zv)centrum(tec)cz; Skype: Penguin_007
tel.: +420-603-519-650; +420-775-154-689 (775-1-LINUX)

gzip komprese

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 22.9.2005 11:37:26

MaReK Penguin Olsavsky wrote:

> btw: Jde o prihlasky a odhlasky zamestnancu pro CSSZ, moznost napred
> gzipnout data muze byt docela pomoci, kdyz se odesila vetsi mnozstvi
> zamestnancu...

V mnozstvi vetsim nez malem, ze <g>?

Kolikrat se stane, ze by nejaky podnik prihlasoval/odhlasoval
za mesic vic nez 100 zamenstancu? IMHo to mockrat nebude.

A pri dnesni sirce prenosovych pasem?
S tim by prece nemel byt problem ani na GPRS.


pf

Odchyceni minimalizace aplikace v DLL

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 22.9.2005 11:15:24

Ahoj,
jak ve formulari vytvarenem v threadu v DLL zjistit, ze doslo k minimalizaci
materske aplikace, abych mohl formular z DLL take minimalizovat?

Diky
Roman


gzip komprese

[*] MaReK Penguin Olsavsky <orsm(zv)centrum(tec)cz> - 22.9.2005 09:59:19

Dobry den,
potrebuji se zeptat, jestli znate nejake kvalitni komponenty, bych mohl
gzipnout (LZ77) soubor.
btw: Jde o prihlasky a odhlasky zamestnancu pro CSSZ, moznost napred
gzipnout data muze byt docela pomoci, kdyz se odesila vetsi mnozstvi
zamestnancu...
S pozdravem
MaReK Olsavsky

--

- --

MaReK "Penguin" Olsavsky
PHP Voodoo
private mail: orsm(zv)centrum(tec)cz
private web: http://orsm.wz(tec)cz
ICQ#: 160 178 925; MSN: orsm(zv)centrum(tec)cz; Skype: Penguin_007
tel.: +420-603-519-650; +420-775-154-689 (775-1-LINUX)

Vypnuti udalosti na potomkovi

[*] Kalhous <kalhous(zv)eu(tec)cz> - 22.9.2005 09:27:16

Jo, k tomu jsem se taky dopracoval a uz to funguje jak potrebuju. Aj se mi
to podarilo tak, ze ty okolnosti si zjisti predek takze na potomky jsem
nemusel ani sahnout coz bylo cilem.
> Proc by to neslo. Tak se do fce u predka da nejaky parametr, ktery bude
> ovlivnen potomkem, ktery vola tuto fci a tento parametr urci ktera cast
> procedurey se ma vykonat.
> Milan
>> To by samozrmo slo ale ma to stejnou nevyhodu jako to co radil D.Lebeda -
>> musi se neco napsat na potomkovi. A jelikoz ten tatik je velice plodny a
>> potomku uz je vic nez saudskejch princu tak jsem to chtel nejak
>> realizovat
>> jen na predkovi. Ale jak vidim tak to asi nepujde.

DCOM pres WinXP firewall

[*] Richard Kejval <kejval.delphi(zv)centrum(tec)cz> - 22.9.2005 09:13:15

Ahoj,

----- Original Message -----
From: "Jiri Kulisek" <jikulich(zv)quick(tec)cz>> potrebuji vzdalene (v ramci lokalni site, ne z Internetu) pristupovat k
> DCOM komponentam na pocitaci, kde jsou WinXP se zapnutym firewallem.
> Nefunguje to, na klientovi to hlasi "Server RPC neni k dispozici". Nevite
> nekdo, jak spravne firewall nastavit, aby to fungovalo?
>
> Mam dojem, ze DCOM, resp. RPC jede pres TCP na portu 135, pridal jsem to
> do vyjimek, ale nepomohlo to. Budu vdecny za kazdou informaci.

Zkus si nastavit vlastni rozsah portu. Kazda instance DCOM serveru ma
pridelen svuj port, takze podle poctu predpokladanych instatnci zvol rozsah.
My to mame nastavene tak, ze do vychoziho protokolu TCP ( v dcomcnf ve
vlastnostech "tento pocitac"), pridas pozadovany rozsah portu a zatrhnes
volby "Prirazeni rozsahu portu": pro interenet "Vychozi dynamicke
prirazovani portu": pro internet. Nejak jsem sice nepochopil, volbu pro
intranet, ktera neguje rozsahy portu, ale treba mi to tady nekdo osvetli :-)

Do vlastnosti sveho DCOM objektu pak zadej do zalozky "Koncove body" novy
TCP protokol a zatrhni volbu "Pouzit rozsah dynamickych koncovych bodu pro
internet"

Zkousel jsem to metodou pokus omyl, ale funguje to, tak snad Ti to pomuze..

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


ESC sekvence

[*] Vlastimil Zdenek <vlastimil.zdenek(zv)seznam(tec)cz> - 22.9.2005 08:55:14

Ahoj,
prosim o radu jak poslat ESC sekvenci na COM1. Je proto nutna nejaka
komponenta? Jaka?

Diky Vlasta, D5

Vypnuti udalosti na potomkovi

[*] Milan Kra'ta <krata.milan(zv)seznam(tec)cz> - 22.9.2005 08:45:13

Proc by to neslo. Tak se do fce u predka da nejaky parametr, ktery bude ovlivnen potomkem, ktery vola tuto fci a tento parametr urci ktera cast procedurey se ma vykonat.
Milan

> To by samozrmo slo ale ma to stejnou nevyhodu jako to co radil D.Lebeda -
> musi se neco napsat na potomkovi. A jelikoz ten tatik je velice plodny a
> potomku uz je vic nez saudskejch princu tak jsem to chtel nejak realizovat
> jen na predkovi. Ale jak vidim tak to asi nepujde.
> Z.Kalhous

Vypnuti udalosti na potomkovi

[*] Kalhous <kalhous(zv)eu(tec)cz> - 22.9.2005 08:29:11

>> if okolnosti then begin
>> OnX:=nil;
>> ... specielni akce ...
>> OnX:=... // znovu zapnout
>> end;
> A co takhle
> if okolnosti then
> begin
> { ... specielni akce ...}
> end else begin
> inherited;
> end;
> Milan
To by samozrmo slo ale ma to stejnou nevyhodu jako to co radil D.Lebeda -
musi se neco napsat na potomkovi. A jelikoz ten tatik je velice plodny a
potomku uz je vic nez saudskejch princu tak jsem to chtel nejak realizovat
jen na predkovi. Ale jak vidim tak to asi nepujde.
Z.Kalhous

Vypnuti udalosti na potomkovi

[*] Milan Kra'ta <krata.milan(zv)seznam(tec)cz> - 22.9.2005 08:07:09



> if okolnosti then begin
> OnX:=nil;
> ... specielni akce ...
> OnX:=... // znovu zapnout
> end;


A cotTakhle

if okolnosti then
begin
{ ... specielni akce ...}
end else begin
inherited;
end;

Milan

Vypnuti udalosti na potomkovi

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 22.9.2005 08:03:09

> if okolnosti then begin OnX:=nil; ... specielni akce
> ... OnX:=... // znovu zapnout end; Tak jak je to napsane
> to samozrejme nefunguje, jelikoz OnX:=nil vypne
> zpracovani udalosti na formulari A, ja bych potreboval
> aby se za onech okolnosti provadelo jen inherited a pak
> se obnovilo zpracovani inherited plus akce potomka.

Zdravim,

na prvni pohled me napada public priznak (Boolean) na potomkovi, a
vykonavani bloku okolo inherited podminit podle toho priznaku.

Nevim, zda je to pouzitelne reseni.

David Lebeda

Vypnuti udalosti na potomkovi

[*] Kalhous <kalhous(zv)eu(tec)cz> - 22.9.2005 07:01:04

Muj neznalkovsky problem:
Mam formular A, na kterem je osetreni nejake udalosti OnX a jeho potomka B ktery udalost OnX osetruje takto:
... akce potomka pred zdedenym zpracovanim ...
inherited;
... akce potomka po zdedenem zpracovani ...
V rutine OnX formulare A bych potreboval za urcitych okolnosti docasne vypnout a pak zase zapnout cinnosti provadene v OnX na potomkovi, cili
neco jako
if okolnosti then begin
OnX:=nil;
... specielni akce ...
OnX:=... // znovu zapnout
end;
Tak jak je to napsane to samozrejme nefunguje, jelikoz OnX:=nil vypne zpracovani udalosti na formulari A, ja bych potreboval aby se za onech okolnosti provadelo jen inherited a pak se obnovilo zpracovani inherited plus akce potomka. Poradite?
Z.Kalhous
ToWare s.r.o.
tel.: 466 614 024

DCOM pres WinXP firewall

[*] Jiri Kulisek <jikulich(zv)quick(tec)cz> - 22.9.2005 00:30:34

Ahoj,

potrebuji vzdalene (v ramci lokalni site, ne z Internetu) pristupovat k DCOM komponentam na pocitaci, kde jsou WinXP se zapnutym firewallem. Nefunguje to, na klientovi to hlasi "Server RPC neni k dispozici". Nevite nekdo, jak spravne firewall nastavit, aby to fungovalo?

Mam dojem, ze DCOM, resp. RPC jede pres TCP na portu 135, pridal jsem to do vyjimek, ale nepomohlo to. Budu vdecny za kazdou informaci.

Diky, Jirka.

Dialog nastaveni tiskarny

[*] Milos Kastner <kastner(zv)stereo(tec)cz> - 21.9.2005 21:08:00

Jeste bych mel jeden dotaz. Otevru dialog nastaveni tiskarny pomoci
funkce DocumentProperties, ale nemuzu prijit na to, jak zajistit
trvale ulozeni nastaveni vlastnosti (aby si je driver pamatoval i mimo
moji aplikaci).

Diky,
Milos Kastner

Puvodni zprava:

>> jak zavolat otevreni dialogu pro nastaveni tiskarny.
> DocumentProperties
> AdvancedDocumentProperties

> Vaclav Krmela


Hlavni okno dialogu

[*] delphi(zv)spst(tec)cz - 21.9.2005 16:41:15

Zdravim a zadam o radu.

Jak zjistim hlavni okno dialogu jine aplikace, kdyz znam theader nejake
komponenty z tohoto dialogu. Existuje na to nejaka funkce?
Mam okno napr.: klasicke okno spustit (nabidka start spustit), znam handl
"Editu", ale parent od Edit je ComboBox a teprve potom je okno dialogu.
Protoze se jedna o dialog existuje parent i pro tento dialog. Nejde tedy
provest opakovane parent az parent neexistuje.
Zatim to delam tak, ze si zjistim vsechna hlavni okna a ty pak v cyklu
prochazim a porovnavam s handlem Parent(komponenta). Kdyz nenajdu okno
zopakuji cyklus, ale uz hledam Parent(Parent(komponenta)) atd. dokud nenajdu
nebo uz neni dalsi parent.

S tim souvisi druhy dotaz. V ukazce kodu dojde k chybe na radku za
hvezdickami. Netusite proc funkce vytvorena na otestovani "MojeFce" funguje
podle predpokladu a EnumWindowsProc ne?

procedure GetWindows( MyList : TStringList);

procedure MojeFce;
begin
MyList.Add('to se provede');
end;

function EnumWindowsProc(Wnd: HWND; LParam: LPARAM): Boolean; stdcall;
begin
// nasledujici radek s MyList zastavi program
//********************************************************************
MyList.Add(IntToStr(Wnd));
Result:= true;
end;

begin
// pridal jsem testovaci funkci a ta pracuje tak jak ma
MojeFce;
EnumWindows((zv)EnumWindowsProc, 0);
end;

function MojeVolanaFce(hwnd:THandle):THandle;
var
WinList : TStringList;
begin
WinList := TStringList.Create;
Result := 0;
...
GetWindows(WinList);
...
WinList.Free;
end;

Predem vsem dekuji
Jirka


Asynchronne formular z DLL

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 21.9.2005 16:41:15

Ahoj,
potrebuji zobrazit formular se zpravou a jednim tlacitkem, ktery vytvorim
pomoci fce v DLL z aplikace (nedelphi) pred provadenim nejakeho vypoctu.
Nasledne mam v DLL dalsi fci, ktera mi vraci status, zda-li tlacitko na
formulari bylo jiz zmacknuto. Mam vsak problem, ze s takto vytvorenym
formularem lze pocas vypoctu jen pohybovat, ale tlacitko pro zavreni vubec
nereaguje. Zkousel jsem formular v DLL vytvorit v samostatnem threadu, ale
se stejnym vysledkem. Hadam, ze to souvisi s hlavnim threadem aplikace, ale
zatim nevim, jak to jednoduse obejit, aniz bych musel vytvaret pro zobrazeni
formulare samostatne .exe, se kterym budu z DLL komunikovat

Diky jestli vite jak na to

Roman


elektronicky podpis

[*] Milan Dvorak <dvorak(zv)gymzn(tec)cz> - 21.9.2005 16:27:14

Mam udelat aplikaci na odesilani souboru podepsaneho el. podpisem.
Nevite jak a odkud se podpis k souboru pripojuje? Nejak se to
sifruje, ale nevim jak?
Jedna se mi o posilani dat na CSSZ. Ta na svych strankach uvadi rovbez
informace o tzv. obalce portalu verjne zpravy. Jak se pracuje s takovou
obalkou (ma predstava je takova, ze ji najek obali zasilany dokument -
ale jak). Prosim pomozte - jsem tomto smeru uplny analfabet. Nebo
zaslete alespon nejaky odkaz, kde se to da rozumne nastudovat.

Dekuji Milan Dvorak

pridani ulohy do planovace

[*] vstuchl(zv)email(tec)cz - 21.9.2005 15:21:04

Zkus se podivat na tenhle odkaz. Je tam i komponenta pro naplanovane ulohy.

http://www.sam-solutions.net/products/description.php?prdPack=8&prd=8

Vasek

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]
Sent: Wednesday, September 21, 2005 9:01 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: pridani ulohy do planovace

> To je typicky problem pro prikazovy radek, prikaz AT atd... tak si to
> napis
> jako cmd (treba napevno dovnitr do aplikace, i kdyz to je asi to nejmene
> vhodne) a pak to spust (ShellExecute).
> Pokud sluzba neni spustena, odpovi ti na AT "Sluzba neni spustena" evtl
> ENglicky "Service not running".

ucesaneji to nejde? Kam se to vlastne uklada?

Active directory

[*] Sula Milos <milos.sula(zv)musumperk(tec)cz> - 21.9.2005 13:34:46

Ahoj,
da se nejak komunikovat s AD Delphi ? Potreboval bych vycist vsechny
uzivatele a jejich oddeleni.

dekuji

Milos

pridani ulohy do planovace

[*] Bc. Jiri Cincura <diskuze(zv)cincura(tec)net> - 21.9.2005 11:32:16

Ondrej Kelle wrote:
>>A da se taky pouzit WMI a Win32_ScheduledJob. ;)
>
>
> Iste, aj ked pouzivat prave na toto WMI je podla mna tak trochu overkill,
> ale je to tiez jedna z moznosti.
> Podla MSDN Win32_ScheduledJob vyzaduje aspon Windows NT Workstation 4 SP4.
> Pre Windows starsie ako 2000 SP2 je vsak potrebne WMI zvlast instalovat.
>
> Task Scheduler COM objekt je dostupny uz pre Windows 98 a vyssie, a vyzaduje
> len IE 4 alebo vyssie.

Vsak nerikam, ze je to nutnost pouzit. Ale moznost.


--
Bc. Jiri Cincura
http://www.ID3renamer.com/
http://www.x2develop.com/
ICQ: 314711544 | Yahoo!: x2develop
http://photo.cincura.net/

pridani ulohy do planovace

[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 21.9.2005 10:55:57

> A da se taky pouzit WMI a Win32_ScheduledJob. ;)

Iste, aj ked pouzivat prave na toto WMI je podla mna tak trochu overkill,
ale je to tiez jedna z moznosti.
Podla MSDN Win32_ScheduledJob vyzaduje aspon Windows NT Workstation 4 SP4.
Pre Windows starsie ako 2000 SP2 je vsak potrebne WMI zvlast instalovat.

Task Scheduler COM objekt je dostupny uz pre Windows 98 a vyssie, a vyzaduje
len IE 4 alebo vyssie.

HTH
TOndrej

pridani ulohy do planovace

[*] Bc. Jiri Cincura <diskuze(zv)cincura(tec)net> - 21.9.2005 10:31:48

Ondrej Kelle wrote:
>>Ulohy planovace jsou dostupne pres API (viz funkce
>>NetScheduleJobAdd/Del/Enum/GetInfo).
>
>
> Da sa pouzit tiez Task Scheduler API (ITaskScheduler COM interface). Je to
> popisane v Platform SDK.

A da se taky pouzit WMI a Win32_ScheduledJob. ;)


--
Bc. Jiri Cincura
http://www.ID3renamer.com/
http://www.x2develop.com/
ICQ: 314711544 | Yahoo!: x2develop
http://photo.cincura.net/

pridani ulohy do planovace

[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 21.9.2005 09:57:34

> Ulohy planovace jsou dostupne pres API (viz funkce
> NetScheduleJobAdd/Del/Enum/GetInfo).

Da sa pouzit tiez Task Scheduler API (ITaskScheduler COM interface). Je to
popisane v Platform SDK.
Preklad do Pascalu a demo sa da stiahnut z www.delphi-jedi.org - sekcia API
Library.

HTH
TOndrej

pridani ulohy do planovace

[*] Daniel Rott <roxton(zv)seznam(tec)cz> - 21.9.2005 09:29:30

> From: "Jaroslav Pivonka" <jpivonka(zv)centrum(tec)cz>
> To je typicky problem pro prikazovy radek, prikaz AT atd... tak si
> to napis jako cmd (treba napevno dovnitr do aplikace, i kdyz to je asi
> to nejmene vhodne) a pak to spust (ShellExecute).

Ulohy planovace jsou dostupne pres API (viz funkce
NetScheduleJobAdd/Del/Enum/GetInfo).

Daniel
---------------------------------------------------------------
Scanning complete: NO intelligent life form in range.

pridani ulohy do planovace- RESENI

[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 21.9.2005 09:13:27

Pokud neexistuje jine reseni, bude asi efektivnejsi do te me aplikace
zabudovat vlastni planovani. Jen jsem se chtel vyhnout tomu aby aplikace
stale bezela a take jsem chtel pouzit "hotove" reseni. Mozna vlastni rizeni
bude i lepsi. Dik za rady...
Martin

> ad parsovani primo v cmd - co takhle "for /F ..." s tim se da rozebrat
> hodne.
> A vysledek - nestaci navratovy kod nebo env promenna?
> Tak jsem pred casem agitoval na tema otevrit pipy na stdin a stdout z
> Delphi
> via WinApi a muzes si povidat s radkovou aplikaci sem tam do aleluja.

pridani ulohy do planovace

[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 21.9.2005 09:01:25

> To je typicky problem pro prikazovy radek, prikaz AT atd... tak si to
> napis
> jako cmd (treba napevno dovnitr do aplikace, i kdyz to je asi to nejmene
> vhodne) a pak to spust (ShellExecute).
> Pokud sluzba neni spustena, odpovi ti na AT "Sluzba neni spustena" evtl
> ENglicky "Service not running".

ucesaneji to nejde? Kam se to vlastne uklada?

pridani ulohy do planovace

[*] Jaroslav Pivonka <jpivonka(zv)centrum(tec)cz> - 21.9.2005 08:59:25

From: "Ing. Petr Sikola" <developer(zv)efg(tec)cz>

> presne tak, daji se s tim pridavat, ubirat a vypisovat naplanovane ulohy.
> akorat asi budes mit problem se zjistenim vysledku - parsovani vystupu
> konzoloveho programu ale to uz je jiny cas, jina vesnice.
>
> Mozna nekdo poradi neco vice pouzitelnyho...
>
> Petr

ad parsovani primo v cmd - co takhle "for /F ..." s tim se da rozebrat
hodne.
A vysledek - nestaci navratovy kod nebo env promenna?
Tak jsem pred casem agitoval na tema otevrit pipy na stdin a stdout z Delphi
via WinApi a muzes si povidat s radkovou aplikaci sem tam do aleluja.
Jarda

pridani ulohy do planovace

[*] Jaroslav Pivonka <jpivonka(zv)centrum(tec)cz> - 21.9.2005 08:53:24

From: "Zapletal Martin" <zapletal(zv)inoma(tec)cz>
> Ze sve aplikace bych potreboval zjistit zda se v planovaci uloh nachazi
> konkretni uloha a pokud ne, potreboval bych ji tam doplnit a saomzdrejme
> nastavit prislusne hodnoty. Nemate nekdo priklad jak do v D7 provest nebo
> alespon jako co to mam hledat? Je to snad nekde v registrech? Nebo snad
> existuje nejaka komponenta? Dale by mne zajimalo jak zjistit zda je v
> systemu planovac nainstalovany. Ne kazde WIN jej maji. Dik...

To je typicky problem pro prikazovy radek, prikaz AT atd... tak si to napis
jako cmd (treba napevno dovnitr do aplikace, i kdyz to je asi to nejmene
vhodne) a pak to spust (ShellExecute).
Pokud sluzba neni spustena, odpovi ti na AT "Sluzba neni spustena" evtl
ENglicky "Service not running".
Jarda


pridani ulohy do planovace

[*] Ing. Petr Sikola <developer(zv)efg(tec)cz> - 21.9.2005 08:49:17

presne tak, daji se s tim pridavat, ubirat a vypisovat naplanovane ulohy.
akorat asi budes mit problem se zjistenim vysledku - parsovani vystupu
konzoloveho programu ale to uz je jiny cas, jina vesnice.

Mozna nekdo poradi neco vice pouzitelnyho...

Petr


> promin ale nerozumim. To jako z prikazoveho radku nebo kde?
>
> > zkus pouzit prikaz OS at (at /?)
>

pridani ulohy do planovace

[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 21.9.2005 08:35:11

promin ale nerozumim. To jako z prikazoveho radku nebo kde?

> zkus pouzit prikaz OS at (at /?)

pridani ulohy do planovace

[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 21.9.2005 08:15:06

Ze sve aplikace bych potreboval zjistit zda se v planovaci uloh nachazi
konkretni uloha a pokud ne, potreboval bych ji tam doplnit a saomzdrejme
nastavit prislusne hodnoty. Nemate nekdo priklad jak do v D7 provest nebo
alespon jako co to mam hledat? Je to snad nekde v registrech? Nebo snad
existuje nejaka komponenta? Dale by mne zajimalo jak zjistit zda je v
systemu planovac nainstalovany. Ne kazde WIN jej maji. Dik...

Martin, D5-D7, WinXP

pridani ulohy do planovace

[*] Ing. Petr Sikola <developer(zv)efg(tec)cz> - 21.9.2005 08:23:09

zkus pouzit prikaz OS at (at /?)
Petr Sikola

> Ze sve aplikace bych potreboval zjistit zda se v planovaci
> uloh nachazi
> konkretni uloha a pokud ne, potreboval bych ji tam doplnit a

Spomalovanie programu

[*] Kalhous <kalhous(zv)eu(tec)cz> - 21.9.2005 07:02:59

Zkuste se podivat na nastaveni sweep v databazi, nic se nezkazi jeho
pravidelnym spoustenim treba v noci planovanou ulohou na serveru.
Z.Kalhous

> Mam aplikaciu na Interbase 7.5 napisanu v Delphi, dvojvrstvovy C/S, t.j.
> remote procedury v databaze a ostatne veci v klientskom programe.
> Teraz mi pred chvilou mi pisali, ze sa aplikacia nejak spomalila. Pritom
> sa
> nejedna o vela uzivatelov.
> POtreboval by som tipy, co by som si mal preverit, cim by take spomalenie
> aplikacie mohlo byt zapricinene?
> Dakujem za akykolvek tip. S pozdravom Ivan Kozak


Rozhrani

[*] Krakora Martin <mkkonfera(zv)seznam(tec)cz> - 21.9.2005 06:20:45

Dalibor Faltynek napsal(a):

>Dekuji za odpovedi,
>asi se do toho s vervou pustim, doufam jenom, ze postaci D5C/S.
>Dalibor.
>
>
>
Myslim, ze by to melo byt bez problemu. Prispeju take s troskou do
mlyna. A to odkazem na jeden dobry web, venovany teto problematice, se
zamerenim na zcatecniky a mirne pokrocile (v oboru COM). Me osobne dost
pomohl.

http://www.techvanguards.com/com/

Preji pekny den a mnoho uspechu.

RxDBGrid a barvy

[*] Vlastimil Zdenek <vlastimil.zdenek(zv)seznam(tec)cz> - 20.9.2005 21:46:53

Zdravim,
poradte prosim, jak obarvim pouze jeden sloupec komponenty RxDBGrid dle
priznaku v datasetu? Cely radek obarvim v udalosti GetCellParams, ale jen
jeden sloupecek?

Diky za radu

Vlasta D5

TODBCQuery

[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 20.9.2005 21:22:42

Zdravim,
chtel bych se zeptat, jestli mate nekdo nejake zkusenosti s ODBC.
Vsechno mi funguje, nacitam data z ruznych datovych zdroju, ale nemohu
je menit. Dival jsem se do readme souboru, tak tam je napsano, ze by
bylo dobre zmenit vlastnost Concurrency. Ve vlastnostech je to nastaveno
na ReadOnly. Myslim, ze to je cely problem. Jenze kdyz to chci zmenit,
tak mi to hodi chybovou hlasku. Respektive, kdyz to potom spustim.
Diky
S pozdravem Petr Berek


URL escape sekvence

[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 20.9.2005 17:05:48

>> potrebuju aby vsechny znaky jine nez angl. abeceda byly v escape
>> sekvencich (pro nazornost: mezera = %20)
>
> if Chr(znak) > 127 then Result := '%' + IntToHex(Znak, 2);
>
> Jinak v Synapse v Synacode.PAS je napr. funkce
> EncodeURL(text)


EncodeURL mi moc nepomohla tak jsem po tvem nakopnuti ze jde vlastne o hexa
reprezentaci napsal jednoduchou fci (ale funguje to hezky) - treba se vam to
nekomu bude hodit


function EscapeSequence(const S: String): String;

const
ALLOWED_CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';

var
I: Integer;
Znak: Char;

begin
Result := '';
for I := 1 to Length(S) do begin
Znak := S[I];
if Pos(UpCase(Znak), ALLOWED_CHARS) > 0
then Result := Result + Znak
else Result := Result + '%' + IntToHex(Ord(Znak), 2);
end;
end;

Spomalovanie programu

[*] Ivan Kozak <ivan(zv)boucek(tec)cz> - 20.9.2005 16:45:46

Ospravedlnujem sa za nekonkretnu formulaciu otazky, ale neviem to zatial
podat presnejsie:

Mam aplikaciu na Interbase 7.5 napisanu v Delphi, dvojvrstvovy C/S, t.j.
remote procedury v databaze a ostatne veci v klientskom programe.
Prevadzkujem ju (cca 4 mesiace) trochu nezvyklym sposobom, totiz, ze
uzivatelia na server pristupuju cez Terminal Services (Remote Desktop) --
pretoze sa jedna o vzdialenych uzivatelov -- a ich klientske aplikacie teda
bezia na serveri.
Teraz mi pred chvilou mi pisali, ze sa aplikacia nejak spomalila. Pritom sa
nejedna o vela uzivatelov.

POtreboval by som tipy, co by som si mal preverit, cim by take spomalenie
aplikacie mohlo byt zapricinene? Nemoze sa nieco "zbierat" (bezi to na
serveri, t.j. na konci pracovnej doby sa pocitac nevypina, ako je to zvykom,
len sa odhlasia z klientskeho programu) a postupne to presiahlo unosnu
hranicu?


Dakujem za akykolvek tip. S pozdravom Ivan Kozak

FB - dvojita agregacia datumu

[*] delphinpp(zv)atlas(tec)cz - 20.9.2005 15:41:42

delphinpp(zv)atlas(tec)cz wrote:

>OsobaXXX :
> PlatbaXXX (zaplatene 1.6.2003, 8.7.2004, 6.8.2005)
> PlatbaYYY (zaplatene 6.5.2004, 12.7.2005)
>OsobaYYY :
> PlatbaXXX (zaplatene 6.2.2003, 5.4.2004)
> PlatbaYYY (zaplatene 16.6.2004, 7.8.2005)
>
>vysledkom teda bude:
>OsobaXXX, 12.7.2005
>OsobaYYY, 5.4.2004 - tento riadok bude vysvieteny, kedze platba bola
>pred viac ako rokom
>
>Aky select na toto urobit?
>
>
>
Takze odpoviem si sam... prve grupovanie som najskor urobil vo View a
druhe grupovanie uz nad tym View..

M.

Zavreni okna nebo ukonceni procesu

[*] Skalsky Milan <skalsky(zv)komercpoj(tec)cz> - 20.9.2005 15:25:40

ad a)
napr.:
edit1.text ... do nej cpes jmeno okna

if (FindWindow(nil,PChar(edit1.text)) <> 0) then
PostMessage(FindWindow(nil,PChar(edit1.text)),WM_QUIT,0,0)
else
ShowMessage('okno tohoto jmena nenalezeno'); ... konkretne ohledne tohohle problemu se da najit vsechno pres google. Kdysi jsem to uspesne hledal i v archivu zdejsi konfery.

Milan
D7 Ent. WinXP SP2

-----Original Message-----
Sent: Tuesday, September 20, 2005 3:14 PM
Subject: Zavreni okna nebo ukonceni procesu
Ahoj lidi,
netusi nekdo, jak
a) zavrit okno jineho programu?

Zavreni okna nebo ukonceni procesu

[*] mydelphiconf(zv)centrum(tec)cz - 20.9.2005 15:13:39

Ahoj lidi,
netusi nekdo, jak

a) zavrit okno jineho programu?
b) ukoncit proces, kdyz znam cestu+nazev spustitelneho souboru, kterym byl proces spusten

diky za napovedu, link, priklad kodu.


P.
D7
zacatecnik-amater


Dialog nastaveni tiskarny

[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 20.9.2005 14:49:37

> From: Milos Kastner
>
> jak zavolat otevreni dialogu pro nastaveni tiskarny.

DocumentProperties
AdvancedDocumentProperties

Vaclav Krmela

digitalni podpis

[*] Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> - 20.9.2005 13:15:29

Jeste jednou dnes otravuju, jak vytvorit digitalni podpis programu, aby me v XP stale pri spousteni neotravovalo to okno, ze program nema platny digitalni podpis a jestli ho opravdu chci spustit.
Dalibor.

Dialog nastaveni tiskarny

[*] Milos Kastner <kastner(zv)stereo(tec)cz> - 20.9.2005 13:15:29

Zdravim,
potreboval bych poradit, jak zavolat otevreni dialogu pro nastaveni
tiskarny. Ne PrinterSetupDialog z Delphi, ale uz ten dialog nastaveni
konkretni tiskarny - ten ktery se otevre na tlacitko Vlastnosti
v dialogu PrinterSetupDialog.

Diky.
Milos Kastner

Post na ADODataSete

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 20.9.2005 13:09:28

> V mojom pripade je to asi tak 300 poli.

Ahoj, ja sice ADo nepouzivam, nicmene napr. IBClientdataset do where nasazi
vsechna pole (Tfield), ktere maji v ProviderFlags pfWhere. Muzes zkus
prenastavit ty flagy tak, aby ti zustal jen u poli, ktera ve where chces
mit.

MB


Post na ADODataSete

[*] Karel Kral <kralkonf(zv)purusmeda(tec)cz> - 20.9.2005 12:51:27

Tak toto nam delalo, kdy nebyl na tabulce primarni klic (SQL 2000). Ale
ty tvrdis, ze ho mas. Pokud PK mas, nemela by podminka where mit 300
poli ale pouze 2 - PK a starou hodnotu zmeneneho pole. Mas v selectu
hodnotu tohoto PK? Zkus si udelat testovaci priklad na mensi databazi.

Jake mas Delphi a jake SQL? To jsi zapomnel.

Miroslav Hrosso napsal(a):
> Dobry den,
>
> Chcel by som sa opytat ci niekto nevie ako nastavit na ADODataSete
> vyskladavanie podmienky pre Where ?
> Moj problem spociva v tom, ze ked menim jedno pole cez ADODataSet pomocou
> funkcii "Edit" a "Post", tak do MSSQL sa vysklada prikaz v tvare :
> UPDATE "tabulka" SET "pole" = "hodnota" WHERE ("pole" = "hodnota") AND ...,
> kde vo whery su vsetky polia s hodnotami.
> V mojom pripade je to asi tak 300 poli.
> Takto vyskladany select trva niekedy az 3 sekundy, co sposobuje zasekavanie
> systemu.
> Napadal ma aj ina moznost a to : Vyskladat vlastny select, ktory trva do 0,2
> sekundy. Ale potom aby som dostal data do DBGridu, tak musim zasa spravit
> requery, kde stratim to co som ziskal.
>
> Chcem sa preto opytat, ci by sa mu nedalo povedat, ze ma robit Update iba
> podla jedneho pola, ktore je v danej tabulke jednoznacne (UNIQUE CLUSTERED
> INDEX) ?
>
> Miro Hrosso.
>
>
>
>
>
>
>
>

--
______________________________________________________
Karel Kral, reditel IT / IT manager
PURUS-MEDA, s.r.o., Palackeho 174, 621 00 Brno, CZ
E-Mail: kral(zv)purusmeda(tec)cz
______________________________________________________


Post na ADODataSete

[*] Miroslav Hrosso <hrossik(zv)nrsys.sk> - 20.9.2005 10:55:19

Dobry den,

Chcel by som sa opytat ci niekto nevie ako nastavit na ADODataSete
vyskladavanie podmienky pre Where ?
Moj problem spociva v tom, ze ked menim jedno pole cez ADODataSet pomocou
funkcii "Edit" a "Post", tak do MSSQL sa vysklada prikaz v tvare :
UPDATE "tabulka" SET "pole" = "hodnota" WHERE ("pole" = "hodnota") AND ...,
kde vo whery su vsetky polia s hodnotami.
V mojom pripade je to asi tak 300 poli.
Takto vyskladany select trva niekedy az 3 sekundy, co sposobuje zasekavanie
systemu.
Napadal ma aj ina moznost a to : Vyskladat vlastny select, ktory trva do 0,2
sekundy. Ale potom aby som dostal data do DBGridu, tak musim zasa spravit
requery, kde stratim to co som ziskal.

Chcem sa preto opytat, ci by sa mu nedalo povedat, ze ma robit Update iba
podla jedneho pola, ktore je v danej tabulke jednoznacne (UNIQUE CLUSTERED
INDEX) ?

Miro Hrosso.

FB - dvojita agregacia datumu

[*] Martin Marek <martin.m.888(zv)seznam(tec)cz> - 20.9.2005 10:49:18

Pouzij function v selectu,
pisi z hlavy

Create Or Replace Function F_Datum (Osoba_F VarChar2) Return Date Is
DECLARE
Cursor Test is
select Datum
from Osob
where osoba = OSOBA_F;
Pom_Datum in Date:='1.1.3333';
Begin

For Test_Rec In Test Loop
--logika PL/SQL
-- napr.
if Test_Rec.Datum < Pom_Datum Then
Pom_Datum := Test_Rec.Datum;
End If;
End Loop;

Return (Pom_Datum);

End;

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

Pouziti :

select F_Datum(Osoba) from osob;

Martin

P.S. Psal jsem fakt z hlavy a takhle nejak
to funguje v databazi Oracle.
P.P.S. Jo a bude Ti to dle meho kodu
fungovat do 1.1.3333. :o)))

>
> Neviem ci mam chvilkovy vypadok, ale nedari sa mi zostrojit taky SQL
> dotaz, aky pozadujem. Ide o to, ze :
>
> Mam tbl Osob, mam tbl Typ_Platby a mam tbl Platby.. v ciselniku
> Typ_Platby je zoznam platieb ktore maju nejaku sumu a ich
> doba platnosti
> je 1 rok, v tbl Platby je zoznam jednotlivych zaplatenych platieb
> jednotlivych osob. Ak zaplatenej platbe uplynie doba
> platnosti, zvycajne
> osoba pri najblizsej navsteve zaplati danu platbu znova. Ja
> chcem, aby
> sa mi v zozname osob vysvietili tie osoby, ktorym skoncila platnost
> nejakej z jeho zaplatenych platieb. Vysvietenie si viem
> urobit, problem
> je v tom, aby sa mi k danej osobe dotiahol maximalny datum z urcitej
> platby danej osoby, ale aby bol minimalny vzhladom na vsetky platby,
> ktore osoba urobila, t.j.
>
> OsobaXXX :
> PlatbaXXX (zaplatene 1.6.2003, 8.7.2004, 6.8.2005)
> PlatbaYYY (zaplatene 6.5.2004, 12.7.2005)
> OsobaYYY :
> PlatbaXXX (zaplatene 6.2.2003, 5.4.2004)
> PlatbaYYY (zaplatene 16.6.2004, 7.8.2005)
>
> vysledkom teda bude:
> OsobaXXX, 12.7.2005
> OsobaYYY, 5.4.2004 - tento riadok bude vysvieteny, kedze platba bola
> pred viac ako rokom


FB - dvojita agregacia datumu

[*] delphinpp(zv)atlas(tec)cz - 20.9.2005 09:57:15

Zdar,

Neviem ci mam chvilkovy vypadok, ale nedari sa mi zostrojit taky SQL
dotaz, aky pozadujem. Ide o to, ze :

Mam tbl Osob, mam tbl Typ_Platby a mam tbl Platby.. v ciselniku
Typ_Platby je zoznam platieb ktore maju nejaku sumu a ich doba platnosti
je 1 rok, v tbl Platby je zoznam jednotlivych zaplatenych platieb
jednotlivych osob. Ak zaplatenej platbe uplynie doba platnosti, zvycajne
osoba pri najblizsej navsteve zaplati danu platbu znova. Ja chcem, aby
sa mi v zozname osob vysvietili tie osoby, ktorym skoncila platnost
nejakej z jeho zaplatenych platieb. Vysvietenie si viem urobit, problem
je v tom, aby sa mi k danej osobe dotiahol maximalny datum z urcitej
platby danej osoby, ale aby bol minimalny vzhladom na vsetky platby,
ktore osoba urobila, t.j.

OsobaXXX :
PlatbaXXX (zaplatene 1.6.2003, 8.7.2004, 6.8.2005)
PlatbaYYY (zaplatene 6.5.2004, 12.7.2005)
OsobaYYY :
PlatbaXXX (zaplatene 6.2.2003, 5.4.2004)
PlatbaYYY (zaplatene 16.6.2004, 7.8.2005)

vysledkom teda bude:
OsobaXXX, 12.7.2005
OsobaYYY, 5.4.2004 - tento riadok bude vysvieteny, kedze platba bola
pred viac ako rokom

Aky select na toto urobit?

Dik,
Miso
FB 1.5, WXP

Rozhrani

[*] Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> - 20.9.2005 09:51:14

Dekuji za odpovedi,
asi se do toho s vervou pustim, doufam jenom, ze postaci D5C/S.
Dalibor.

> Bajecna vec pro modularizaci programu (Component Object Model), asi
> nejlepsi pred nastupem .NET.
> (vcetne out-of-process DCOM serveru)
>
> Zakladnimi rysy COM je nezavislost na programovacich prostredcich,
> objektova orientace a moznost prace s vice verzemi komponent.
>
> viz
> File / New / ActiveXLibrary
> File / New / AutomationObject (pro interface IDispatch)
> pripadne
> File / New / COMObject (pro interface IUnknown)
>
> V ramci AutomationObject je treba definovat interface (rozhrani). Nabizene
> typy jsou prave ty OLE Automation. Rozhrani se pak implementuje v
> implementacni unit.
>
> Ta problematika neni trivialni: Type Library, Class Factory, registrace,
> security, marshalling, modely pro multithreading, typ OLE Variant,
> pouziti ve vicevrstvych aplikacich, ...

Rozhrani

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 20.9.2005 09:39:13

> nevite prosim vas nekdo co se skryva pod pojmem rozhrani "In-proc
> COM server". Mel bych napsat nejake vypocty do DLL, aby splnovalo
> toto rozhrani.
> Dalibor.

Bajecna vec pro modularizaci programu (Component Object Model), asi nejlepsi pred nastupem .NET.
(vcetne out-of-process DCOM serveru)

Zakladnimi rysy COM je nezavislost na programovacich prostredcich, objektova orientace a moznost prace s vice verzemi komponent.

viz
File / New / ActiveXLibrary
File / New / AutomationObject (pro interface IDispatch)
pripadne
File / New / COMObject (pro interface IUnknown)

V ramci AutomationObject je treba definovat interface (rozhrani). Nabizene typy jsou prave ty OLE Automation. Rozhrani se pak implementuje v implementacni unit.

Ta problematika neni trivialni: Type Library, Class Factory, registrace, security, marshalling, modely pro multithreading, typ OLE Variant, pouziti ve vicevrstvych aplikacich, ...
http://www.haes(tec)cz/osnovy.asp?r=osnovy&kod=COM
http://www.haes(tec)cz/osnovy.asp?r=osnovy&kod=VVA
.... ale je moc pekna :-)

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
= tel. 493 792 569, 493 792 931, 776 347 735
====================================

JoyStick, gamepad

[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 20.9.2005 09:07:08

> Ahoj,
>
> nepomohlo by koupit a nainstalovat nejaky USB gamepad, ktery umi tech
> tlacitek vic, nez standardni 4 na joyportu?
>
> Peca
>
Nejde o HW problem (mam GP s 12 tlacitky), ale o jejich jednoduchou obsluhu.
Nyni se pokousim o detekovani stisku pomoci DirectX-DelphiX (nechci to
zakriknout, ale vypada to nadejne), ale stejne se mi to zda jako delo na
komara.

Pokladni display

[*] Franta Flinta <jarek2(zv)centrum(tec)cz> - 20.9.2005 09:07:08

zkus pouzit jakoukoliv komponentu(nebo synapse) pro pristup na com1. co
se tyce samotneho zapisu, display zobrazi jen to co mu tam posles. pozor
si dej na nastaveni rychlosti a takovych tech klasickych nastaveni pro
komunikaci.
hodne stesti
jarek


Vlastimil Zdenek napsal(a):

>Zdravim vsechny,
>prosim o radu a pomoc s VFD display. Je pripojen pres COM port. Muzete mi
>prosim poslat nejake priklady pro komunikaci s display? Smazat obrazovku,
>poslat text,.... Nebo odkaz kde bych nejake priklady nasel.....
>
>Diky moc
>
>Vlasta, D5
>
>
>
>
>
>

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