Archív konference Delphi

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

Jak na p�smo (fonty) 125%

[*] Tomas Holan <HOLAN(zv)ksvi.mff.cuni(tec)cz> - 5.3.2001 09:14:25

> Nelze neja poradit komponentam, aby se prepocetly nejaka zmena meritka ?

Okno si pamatuje, pri jakem rozliseni bylo vytvoreno
a ma vlastnost Scaled, ktera prave tohle zvetsovani dela.
Implicitne nastavena na TRUE. Ale ja mam problemy spis s timhle -
- protoze to automaticke zvetsovani nedopadne vzdycky dobre...

Tom


DLL v C++ versus aplikace v DELPHI

[*] brant(zv)dcomm(tec)cz - 5.3.2001 08:32:54

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

V API je k dispozici funkce
LRESULT SendMessage(
HWND hWnd, // handle of destination window
UINT Msg, // message to send
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
kam musis predat handle okna, do ktereho se ma zprava poslat. Takze je dobre
mit v te DLL exportovanou funkci, do ktere se predava handle okna
(Form1.Handle apod.) a pak uz to musi fungovat.

RNDr. Petr Brant [Brant(zv)dcomm(tec)cz]
ICQ # 68652380

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


Ahoj,
omlouv�m se, �e tady vytahuji u� probran� probl�m, ale tla�� m� �as:

M�m knihovnu napsanou v C++ (m�m zdroj) a nemohu ji p�inutit pos�lat zpr�vy
do m� aplikace. Nem�te n�kdo z v�s n�kde n�jak� jednoduch� p��klad? Moc mi
pom��ete.

Diky moc.
Pavel Nov�k, megamax(zv)seznam(tec)cz


StayOnTop a MessageDlg

[*] Jan Tungli <Jan.Tungli(zv)datapac.sk> - 5.3.2001 08:40:19

Riesenie neviem ale ja pouzivam svoj vlastny MessgeDlg ktory umoznuje
pouzivat tlacitka s lubovolnyn napisom. Edge komponenty - naides ich na
mojej stanke cetne source codu.

Jan Tungli
email: jan.tungli(zv)seznam(tec)cz
tungli(zv)datapac.sk
http://www.tungli.host.sk

> -----P�vodn� zpr�va-----
> Od: Petr Mao�k [SMTP:rtepema(zv)mbox.vol(tec)cz]
> Odesl�no: 4. marec 2001 14:01
> Komu: Delphi konference
> P�edm�t: StayOnTop a MessageDlg
>
> Zdravim vsechny,
> resim problem se zobrazovanim MessageDlg. Hlavni form ma stayontop a v on
> activate pouzivam konstrukci Miroslava Marese. Form sam je porad navrchu,
> bohuzel i pres okno MessageDlg. V ten moment s oknem nejde ani pohnout,
> protoze okno MessageDlg je zrejme modalni. Zkousel jsem pred vyvolanim
> okna
> MessageDlg zmenit FormStyle na fsNormal a potom zpet na fsStayOnTop, to
> vsak
> vede k uplnemu prekresleni a tedy zmizeni a znovu objeveni toho hlavniho
> formu. Nezna nekdo nejake elegantni reseni ?
>
> Petr Marik
> rtepema(zv)mbox.vol(tec)cz
>
>
>

QUickReport -> Doc

[*] Jan Tungli <Jan.Tungli(zv)datapac.sk> - 5.3.2001 08:42:29

Zatial som nasiel iba komponentu ktora dokaze report ulozit do RTF suboru -
avsak obrazky neulozi.
Zial ani kvalita nie je nic moc. Najlepsie funguje filter do PDF formatu ale
tiez iba na text.

Jan Tungli
email: jan.tungli(zv)seznam(tec)cz
tungli(zv)datapac.sk
http://www.tungli.host.sk

> -----P�vodn� zpr�va-----
> Od: CERMAK [SMTP:CERMAK(zv)procom(tec)cz]
> Odesl�no: 2. marec 2001 16:31
> Komu: 'Konference Delphi (el. adresa)'
> P�edm�t: QUickReport -> Doc
>
> Ahoj vsichni
>
> Mate nekdo zkusenosti s exportem sestav z QR v D5 do wordu. Zajimalo by me
> jak funguje. Daji se sestavy pouzit, nejsou rozhazene? A co ostatni
> generatory sestav a Word. Moc by mi pomohla jakakoliv informace. Predem
> dekuji za jakykoliv namet.
>
>
> Jaromir Cermak

IApplicationDebugger

[*] Radim Kunz <privat(zv)casestudio(tec)com> - 5.3.2001 09:00:56

Nema nekdo skusenosti s rozhranim IApplicationDebugger,
a celou tou skupinou ? Chci si napsat vlastni debugger
pro MS Scripting, a uviznul jsem. Dokazu nastavit
breakpointy, krokovat atd, ale nedokazu zjistit
obsah promenne. Na Internetu jsem zadne informace
nenasel, ani v usenetu na dejanews, dokumentace
v MSDN je slaba (jen nazvy rozhrani a metod)

Muze mi nekdo poradit ?

Radim


Syntaxe jazyka

[*] Tomas Vladik <tom.vladik(zv)swadvice(tec)cz> - 5.3.2001 09:40:33

> > for I := 1 to X do
> > if (not F0(I)) or (F1(I) and F2(I)) then
> > Break;
>

> Vem si priklad ze ve funkcich F0, F1 a F2 se vykonava nejaky
> casove narocny
> kod. (dejmetomu ze vykonani funkce potrva asi 20 vterin). Muzu te
> ujistit ze
> se takove reseni zakaznikovi nebude libit ani trochu.
>

Pokud si nevypnes implicitne zapnute zkracene vyhodnocovani logickych
vyrazu, tak kdyz bude (not F0(I)) = TRUE, tak se uz ty zbyle dve funkce
nevolaji, ne?


T.

_______________________________
Tom�# Vlad�k
vladik(zv)swadvice(tec)cz
ICQ# 101763081

Otvorenie word dokumentu

[*] Zelen� Ale� <azeleny(zv)csas(tec)cz> - 5.3.2001 10:06:58

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

Zkuste byt podrobnejsi s popsisem te chyby, pripadne se podivejte na
ShellExecute, pokud jde jenom o otevreni nejakeho dokumentu.

a.

-----Original Message-----
From: Ing. Jozef Baranec [mailto:joba(zv)digitaldocuments.org]
Sent: Friday, March 02, 2001 9:05 AM
To: delphi-l(zv)fwd(tec)cz
Subject: Otvorenie word dokumentu



Mam problem s otvorenim wordovskeho dokumentu (neviem mu zadat cestu k
suboru). Zatial to robim nasledovne: WordApplication1.Documents.Open(...).
Ale stale mi vyhadzuje chybu pri kompilacii.

Disable Tlacitek

[*] Hazuka Filip <filip.hazuka(zv)multivac(tec)cz> - 5.3.2001 10:16:57

Dobry den.
Omlouvam se, ze oslovuji n�koho, koho neznam, ale sleduji Delphi konferenci
a z toho jsem usoudil, ze oslovovani lidi, kteri se ji ucastni je normalni.
Jestlize jsem to pochopil spatne, pak me prosim omluvte.
Mam takovy maly problem. Potreboval bych nejak elegantne resit disable
tlacitek.
Mam databazovou aplikaci, kde mam vlastni tlacitka jako je Novy, Vpred,
Zpet, Ulozit atd...
Priklad. Jestlize zmacknu Novy, potom se mi disabluji tlacitka Vpred, Zpet,
Smaz atd...
Ja to delam hloupim zpusobem, ze postupne vsem pisu Vpred.Enabled:= False
atd.
Jde napsat nejakou f-ci, ktera by to resila elegantneji a s malym mnozstvim
kodu ?

Zdravi Filip.

Dekuji za odpoved.

Prepinani Unit

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.3.2001 10:24:45



> > > 1. Default inicializacia lokalnej premennej je zvycajne jedna
> instrukcia,
> > to ale neznamena, ze je to jeden byte a jeden cyklus CPU.
>
> Mozno su to dva bajty a dva cykly.

a mozna 8 bytu a dvacet cyklu :-). Vse zalezi jen na poctu promennych a
velikosti inicializovane pameti (a taky na tom, zda pamet lze prepsat
stejnou hodnotou nebo ma mit kazda promenna jinou startovni hodnotu a taky
na inteligenci kompilatoru). Ruzne procesory take nektere instrukce
vykonavaji ruzne dlouhou dobu...

>
> > Je pravda, ze u jazyka definovaneho jako vyse zminene, uz je to celkem
> jedno. Jsou pomale uz z principu (prilis mnoho balastu)
>
> Velmi sa mylis. Nerobil by som predcasne zavery. C++ (ktory mixuje C-cko s
> objektami), ma ovela viac balastu ako spomenute tri jazyky dokopy. C#
> aj Eiffel sa kompiluju (C# nepriamo cez IL, Eiffel sa preklada co C-cka
> (koli portabilite) alebo priamo do strojoveho kodu). Pre dobre navrhnuty
> jazyk s kvalitnym kompilatorom je naopak mozne ocakavat velmi kvalitny
> a rychly kod a tiez kratke casy prekladu.
>
> > > 2. Komplilator moze tuto inicializaciu vynechat ak nie je potrebna.
> > podle by sluvko musi bylo lepsi
>
> Dobry kompilator ju vynecha, ak zisti, ze nie je potrebna. Obecne
> ale zistit, ze inicializacia nie je potrebna nie je take jednoduche.

mel jsem na mysli - musi ji vynechat pokud neni inicializace potrebna
(napriklad prvni akce s promennou je prirazeni)
>

>Chces azda naznacit, ze Delphi programator,
> ked napise nejaku proceduru, tak si ju popozera v assmbleri, ci Delphi
> vygenerovalo dobry kod?

programator, ktery pise neco co je casove kriticke, se musi zajimat o kod,
ktery kompilator vygeneroval, aby byl schopen detekovat pomale casti kodu.

>A ked nie, tak co potom urobi?

bud vi jak kompilatoru pomoci prepsanim Delphi kodu a pak pouzije jinou
konstrukci jazyka (eliminace scitani stringu, optimalizace prace s recordy
pomoci With, zmena poradi prirazeni promennym,....) nebo prepise celou
rutiny ci jeji casti do ASM

>Ja sa priznam,
> som nikdy nepotreboval detailne studovat kod vynegerovany z Delphi,
> zabudovany disassembler niekedy pouzijem pri ladeni. Obavam sa,
> ze vecsina programatorov Delphi ani nepozna instrukcie 386-ky.

To je sice pravda, ale neopravnuje to nikoho k tomu, aby z jazyka vymytil
veci, ktere vetsina programatoru nepouziv�. Stane-li se to, pak v tom jazyce
budou programovat opravdu jen generatori kodu. Ostatni co potrebuji k
programovani vic budou nuceni prejit na neco jineho (a nebude to ani C# ani
Eiffel ani Java a spol).

>
> > > 3. Inicializacia moze byt vykonavana aj z inych dovodov, napr.
> bezpecnosti,
> > > aby nebolo mozne precitat neinicializovanu oblast pameti, kde mozu byt
> > > dolezite udaje inej aplikacie.
> >
> > to jako ma chranit me pred sebou samym? Abych si nemohl precist to co
jsem
> jeste pred chvili mel v nejake promenne (a pak to zustalo na stacku, atd)?
> > Jina vec je mazani pameti pouzite napriklad pro hesla, ktera ma branit
> pred ctenim pameti cizimi aplikacemi. Zde jde ale o smazani po pouziti
> nikoliv pred.
>
> Napisal som pred inou aplikaciou. Moze ist napr. o nejake DLL-ko.

aha - pak je to ale dalsi nesmysl. Chci-li branit vlastni stack pred tim,
aby si jej nejaka rutina z nejakeho DLLka neprecetla, pak _MUSIM_ ten stack
smazat jeste pred volanim te rutiny. Jenze muzu mazat jen tu cast zasobniku,
kterou nemam obsazenou (cili nemohu mazat bez nasledku data nadrizenych
rutin) a to je podle me spis opravdu zalezitot deinicializace lokalnich
promennych nez jejich inicializace. Pokud bude automaticka pak je to zase
pitomost. manualne to muze delat i ted. To DLLko stale muze cist stack
nadrizenych rutin. Je blbost mazat ten stack pred volanim rutiny. Muselo by
se mazat treba 100 kilo dat (od aktualni posize az po konec stacku nebo by
se musela slozite udrzovat obsazena delka stacku

>
> > > 5. Tiez nie je zanedbatelne, ze automaticka inicializacia umoznuje
> riesit
> > > problemy
> > > s nezelanym pristupom k neinicializovanej pameti.
> >
> > to same co bod 3) ?
>
> Nie, myslim tym klasicke pametove chyby, prepisovanie pameti
> pomocou smernikov, ktore obsahuju neinicializovane (nahodne)
> hodnoty.

ono taky hodne pomuze v Delphi sledovat warningu od kompilatoru.... Ale je
pravda, ze u pointru bych automatickou inicializaci (byla-li by inteligentni
a vypinatelna) uvital.

>
> > doufam, ze pro Forth maji nejaky lepsi duvod nez ten, ze clovek co to
psal
> se do nej zamiloval. Na skole jsme Forth letmo brali a do dnes jsem
neprisel
> na to proc by jej mel nekdo pouzivat (ale nikdy jsem se jej poradne
>
> Maju na to velmi dobre dovody. Napr. taky, ze Forth aj so zakladnym
> vyvojovym prostredim zabera len niekolko kilobajtov pameti.

To je pravda tusim, ze jsem cetl o nejakem cipu, ktery jej ma primo v sobe

D. Toman

TIntegerList

[*] RNDr. Milan Vo��ek <vorisek(zv)igtt(tec)cz> - 5.3.2001 10:32:54

>mam combo: TComboBox
>
>combo.Items.AddObject('aa', Pointer(-1));

>cislo := Integer(combo.Items.Objects[0]); ... vyvola exception "List index
>out of bounds (0)"
>
>Jan Skopovy

Ahoj,
kdyz se podivas do zdroju, tak uvidis, ze objekt se ziskava z funkce

function TComboBoxStrings.GetObject(Index: Integer): TObject;
begin
Result := TObject(SendMessage(ComboBox.Handle, CB_GETITEMDATA, Index, 0));
if Longint(Result) = CB_ERR then
Error(SListIndexError, Index);
end;

no a protoze CB_ERR = -1, tak to hodi chybu kdyz mas objekt -1.
Ostatni cisla, kladne i zaporne projdou.
Hodnotu objektu muzes ziskat primo volanim SendMessage.

M.Vorisek

Disable Tlacitek

[*] Ji�� Foldyna <jiri.f(zv)avizo(tec)cz> - 5.3.2001 10:32:25

> Mam takovy maly problem. Potreboval bych nejak elegantne resit disable
> tlacitek.
> Mam databazovou aplikaci, kde mam vlastni tlacitka jako je
> Novy, Vpred,
> Zpet, Ulozit atd...
> Priklad. Jestlize zmacknu Novy, potom se mi disabluji
> tlacitka Vpred, Zpet,
> Smaz atd...
> Ja to delam hloupim zpusobem, ze postupne vsem pisu
> Vpred.Enabled:= False
> atd.
> Jde napsat nejakou f-ci, ktera by to resila elegantneji a s
> malym mnozstvim
> kodu ?

Ahoj,

na tohle pouzivam property Tag asi takto:

procedure SetControlByTag(what : SetByTag; Own : TComponent; Value :
boolean; T : integer);
var
i : integer;
begin
for i := 0 to pred(Own.ComponentCount) do
begin
if Own.Components[i] is TControl then
begin
if Own.Components[i].Tag = T then
begin
case what of
SetEnable :
begin
(Own.Components[i] as TControl).Enabled := Value;
end;
SetVisibility :
begin
(Own.Components[i] as TControl).Visible := Value;
end;
end; {case}
end;
end;
end;
end;

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

Prepinani Unit

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.3.2001 10:43:14

> > A co treba pouzivat v packalu "inline rozhodovani" ?
> > Jake by to bylo zjednoduseni misto
> > if k then z := "vlevo" else z := "vpravo";
> > napsat
> > z := k?"vlevo":"vpravo";
>
> Opet vyborny priklad ako nieco zbytocne zamotat. O co
> je ten druhy zapis vyhodnejsi?

napriklad ho muzu pouzit pri predavani paramatru dalsi rutine. Cili usetrim
nejaky ten radek kodu, usetrim pomkocnou promennou nebo opakovany zapis
volani rutiny. V dusledku take velmi ulehcuju praci optimalizatoru...

>O to, ze musis poznat vyznam
> symbolu akehosi otaznika? Nie je lepsie zrozumitelne (kazdemu)
> slovicko if?

Je jedno jak se to zapise - hlavne aby takovou konstrukci slo pouzit (ted
myslim ekvivalent toho zapisu v Ccku ne ekvivalent GIFu)

D. Toman

Syntaxe jazyka

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



> > > for I := 1 to X do
> > > if (not F0(I)) or (F1(I) and F2(I)) then
> > > Break;
> >
>
> > Vem si priklad ze ve funkcich F0, F1 a F2 se vykonava nejaky
> > casove narocny
> > kod. (dejmetomu ze vykonani funkce potrva asi 20 vterin). Muzu te
> > ujistit ze
> > se takove reseni zakaznikovi nebude libit ani trochu.
> >
>
> Pokud si nevypnes implicitne zapnute zkracene vyhodnocovani logickych
> vyrazu, tak kdyz bude (not F0(I)) = TRUE, tak se uz ty zbyle dve funkce
> nevolaji, ne?

existuji situace, kdy puvodni zapis prikladu ma smysl (volane funkce se
napriklad museji z nejakeho duvody vykonat - nejen testujici cosi ale i neco
vykonavaji nastavuji...)

D Toman

jak merit cas algoritmu ?

[*] Robert Lufinka <R.Lufinka(zv)sh.cvut(tec)cz> - 5.3.2001 11:07:42

Zdravim,
potrebuju v delphi zmerit cas algoritmu,
takze mereni v sekundach asi nebude stacit.
Da se merit cas presneji ? ( mikrosekundy ... )

dik


Disable Tlacitek

[*] Pavol Kaka�ka <paka(zv)aktis(tec)cz> - 5.3.2001 11:26:48

Chce to rekurzivnu funkciu. Nieco ako:
(pisem z hlavy takze to treba ladit ;-) )

procedure SetEnabledRecursive(AControl: TWinControl; AEnabled: Boolean);
var
I: Integer;
C: TWinControl;
begin
for I := 0 to AControl.ControlCount -1 do begin
C := AControl.Control[I];
if C.ControlCount > 0 then
SetDisableRecursive(C)
C.Enable := AEnabled;
end;

a tak nejak ;-) ...

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


>>Omlouvam se, ze oslovuji n�koho, koho neznam, ale sleduji Delphi
konferenci
>a z toho jsem usoudil, ze oslovovani lidi, kteri se ji ucastni je normalni.
Jestlize jsem to pochopil spatne, pak me prosim omluvte.
Mam takovy maly problem. Potreboval bych nejak elegantne resit disable
tlacitek.
Mam databazovou aplikaci, kde mam vlastni tlacitka jako je Novy, Vpred,
Zpet, Ulozit atd...
Priklad. Jestlize zmacknu Novy, potom se mi disabluji tlacitka Vpred, Zpet,
Smaz atd...Ja to delam hloupim zpusobem, ze postupne vsem pisu
Vpred.Enabled:= Falseatd.
Jde napsat nejakou f-ci, ktera by to resila elegantneji a s malym mnozstvim
kodu ?

problem s *.dbf na siti

[*] Jan Tungli <Jan.Tungli(zv)datapac.sk> - 5.3.2001 11:29:36

Tiez neviem vcom moze byt problem.
predpokladam je NetDir mas nastaveny aj PrivateDir - ak ano tak neviem.
Budem rad ak po zvladnuti problemu mi napises v com bol problem. Jan Tungli
email: jan.tungli(zv)seznam(tec)cz
tungli(zv)datapac.sk
http://www.tungli.host.sk

NEW SQL REPORT BUILDER - end user designer , similar report programing
EDGE components for D5 free with source code (parse SQL query to path:
select.from,where,order... )


> -----P�vodn� zpr�va-----
> Od: Petr S [SMTP:petr(zv)slunce(tec)cz]
> Odesl�no: 5. marec 2001 8:00
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: FW: problem s *.dbf na siti
>
> Ahojte,
>
> jeden muj kamarad, ma takovyto problem :
>
> Mam tady nasledujici problem s Delphi:
> - aplikace je na siti NT (pouzivam *.dbf tabulky pres BDE)
> - kdyz s ni pracuji na PII je vse OK
> - kdyz s ni pracuji na PIII pri zpracovani dat to po chvili zatuhne a je
> to
> mrtve
> - za nejakou dobu vyzkoci chyba, ze je chyba v uzamceni
> - to ale nechapu, protoze ja pouziji Exclusive otevreni a
> pak stand. edit, post, ...
>
> - kdyz hodim data ze site na lokal PIII, tak je vse OK
>
> - Vidim problem ve spatnem zamykani (nebo nestihani odemykani recordu) -
> nemas nejaky napad co s tim ?
>
> Predem diky za jakoukoli radu
>
>
> Petr Sadovsky
>

problem s *.dbf na siti

[*] Jan Tungli <Jan.Tungli(zv)datapac.sk> - 5.3.2001 11:33:01

Este mi napada - ed otvaras Exclusive mode ci nahodou nezabudnes zatvorit?

Jan Tungli
email: jan.tungli(zv)seznam(tec)cz
tungli(zv)datapac.sk
http://www.tungli.host.sk

NEW SQL REPORT BUILDER - end user designer , similar report programing
EDGE components for D5 free with source code (parse SQL query to path:
select.from,where,order... )


> -----P�vodn� zpr�va-----
> Od: Petr S [SMTP:petr(zv)slunce(tec)cz]
> Odesl�no: 5. marec 2001 8:00
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: FW: problem s *.dbf na siti
>
> Ahojte,
>
> jeden muj kamarad, ma takovyto problem :
>
> Mam tady nasledujici problem s Delphi:
> - aplikace je na siti NT (pouzivam *.dbf tabulky pres BDE)
> - kdyz s ni pracuji na PII je vse OK
> - kdyz s ni pracuji na PIII pri zpracovani dat to po chvili zatuhne a je
> to
> mrtve
> - za nejakou dobu vyzkoci chyba, ze je chyba v uzamceni
> - to ale nechapu, protoze ja pouziji Exclusive otevreni a
> pak stand. edit, post, ...
>
> - kdyz hodim data ze site na lokal PIII, tak je vse OK
>
> - Vidim problem ve spatnem zamykani (nebo nestihani odemykani recordu) -
> nemas nejaky napad co s tim ?
>
> Predem diky za jakoukoli radu
>
>
> Petr Sadovsky
>

Disable Tlacitek

[*] Ren� Otisk - 5.3.2001 11:51:46

Zkus se podivat na OnActiveFormChange. Nekde je to v demu na MDIAplikace...
Sroub

----- Original Message -----
From: Hazuka Filip <filip.hazuka(zv)multivac(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Monday, March 05, 2001 10:16 AM
Subject: Disable Tlacitek


Dobry den.
Omlouvam se, ze oslovuji n�koho, koho neznam, ale sleduji Delphi konferenci
a z toho jsem usoudil, ze oslovovani lidi, kteri se ji ucastni je normalni.
Jestlize jsem to pochopil spatne, pak me prosim omluvte.
Mam takovy maly problem. Potreboval bych nejak elegantne resit disable
tlacitek.
Mam databazovou aplikaci, kde mam vlastni tlacitka jako je Novy, Vpred,
Zpet, Ulozit atd...
Priklad. Jestlize zmacknu Novy, potom se mi disabluji tlacitka Vpred, Zpet,
Smaz atd...
Ja to delam hloupim zpusobem, ze postupne vsem pisu Vpred.Enabled:= False
atd.
Jde napsat nejakou f-ci, ktera by to resila elegantneji a s malym mnozstvim
kodu ?

Zdravi Filip.

Dekuji za odpoved.

Prepinani Unit

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

On 4 Mar 2001, at 17:17, Erik Salaj wrote:

> 3. Inicializacia moze byt vykonavana aj z inych dovodov, napr.
> bezpecnosti, aby nebolo mozne precitat neinicializovanu oblast pameti,
> kde mozu byt dolezite udaje inej aplikacie.

Vis, co se mi na Delphi ohromne libi? Ze obsahuje radu
vysokourovnovych nastroju (tzv. pro pojidace kolacu), ale zaroven
mi nebrani v pristupu na hodne nizkou uroven. Takze nemusim byt
rozpolcen a mixovat vyhody VB a VC++ jako to museji delat
priznivci MS, ale v klidu si to vse udelam v jednom nastroji a
jednom jazyce.

Kdyby mi Delphi kecalo do inicializace promennych, nejspis by se
mi to pranic nelibilo. Uz takhle je obcas na zavadu zpusob, jakym
je zastresena prace s interfejsy.


S pozdravem

Zbysek Hlinka

http://www.hlinka(tec)cz http://www.slhaters(tec)cz
Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


Syntaxe jazyka

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 5.3.2001 11:56:55

On 5 Mar 2001, at 2:33, Petr Vones wrote:

> From: "Zbysek Hlinka" <hlinka(zv)hlinka(tec)cz>
> > for i := 1 to x do
> > begin
> > b1 := true;
> > b2 := true;
> > if F0(i) then
> > begin
> > b1 := F1(i);
> > b2 := F2(i);
> > end;
> > if b1 and b2 then break;
> > end;
>
> Ahoj,
>
> co treba takhle:
>
> for I := 1 to X do
> if (not F0(I)) or (F1(I) and F2(I)) then
> Break;

Blah, ne nadarmo jsem k tomu pripojil tuto dousku: "Priklad je
jednoduchy, tohle by slo jeste prepsat do slozitejsiho ifu. Ale v
rade pripadu je nutne to napsat takto."


S pozdravem

Zbysek Hlinka

http://www.hlinka(tec)cz http://www.slhaters(tec)cz
Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


Prepinani Unit

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 5.3.2001 11:56:55

On 5 Mar 2001, at 1:43, Erik Salaj wrote:

> > Moznost nepsat ^ pribyla az v D5.. Sam radeji tu strisku pisu, abych
> > hned
> videl ( az se po case ke zdrojaku vratim), ze se jedna o pointer
>
> Obavam sa, ze to nepochopis. Je totiz velmi zlozite vysvetlit,
> ze ked pracujem s objektami, nepotrebujem nic vediet
> o smernikoch a strieskach. Dobre OOP jazyky to tak
> aj robia. Je to jednoduche, prehladne, zrozumitelne, ...
> tak naco to komplikovat? Pouziva to Java, C#, Eiffel
> a nie su s tym absolutne ziadne problemy, tak naco
> to robit zlozitejsie so strieskami?

Pokud budeme objektem chapat mnozinu dat a metod, ktere urcuji
praci s temi daty, pak i Delphi se navenek tvari, jako by
nepracovalo s pointry. Pokud ale pracujeme s dynamicky
alokovanym blokem nejake pameti, pak je velice vhodne rozlisovat
pointer od typove promenne.

Je dost velky rozdil mezi
var
i: TMujRec;
a
pi: PMujRec;


S pozdravem

Zbysek Hlinka

http://www.hlinka(tec)cz http://www.slhaters(tec)cz
Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


Ako ziskat "Upravit panel nastroju"

[*] Pavol Kaka�ka <paka(zv)aktis(tec)cz> - 5.3.2001 12:00:44

Vo Windwos je standarny dialog tak ako OpenFile, SaveFile, este dialog na
"Upravit panel nastrojov"
Je to ten panel ktory vidite ked si chcete upravit toolbar napriklad v
OutlookExpress a vyhadzat ci pridat nejake ikonky do listy.

Nevie nahodou niekto ako ho dostat?

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


Prepinani Unit

[*] Pavol Kakacka <paka(zv)aktis(tec)cz> - 5.3.2001 12:06:23

----- Original Message -----
From: "Dalibor Toman" <dtoman(zv)fortech(tec)cz>

>bud vi jak kompilatoru pomoci prepsanim Delphi kodu a pak pouzije jinou
konstrukci jazyka (eliminace scitani stringu, optimalizace prace s recordy
pomoci With, zmena poradi prirazeni promennym,....) nebo prepise celou
rutiny ci jeji casti do ASM

** To s tym WITH ma zaujima. Chces povedal ze bude rozdiel vo vyslednom
zkompilovanom kode ked pouzijem konstrkciu:

mObject.Name := 'aaa';
mObject.Text := 'aasssddff'

verzus:

with mObject do begin
Name := 'aaa';
Text := 'aasssddff'
end;

No ak ano, ale zda sa mi to hodne hodne hodne divne. Tak to je pruser na
n-tu. Teda aspon pre mna.

Pavol Kakacka
kasix(zv)atlas(tec)cz


Odkaz na E-mail

[*] milan_2(zv)sose-sou(tec)cz - 5.3.2001 12:13:52

S timhle to sice jde, ale jestlize nekde neni spravne nainstalovan program
pro odesilani posty (treba priblblej OUTLOOK), pak to zahlasi chybu pri
praci s odkazem na e-mailovou adresu (Nelze pracovat s odkazem na mailovou
adresu) .... nebo neco v tom smyslu to zahlasi a paxe prd stane ... .
Da se pouzit i MAPI_Sendmail ... otazka je, co je vyhodnejsi ..
----------------------------------------------------------------------------
>Ja pouzivam todle
>
>var
> c:string;
>begin
> co:='mailto:Phill<phill(zv)seznam(tec)cz>';
> ShellExecute(handle, 'open' ,pchar(co) , '', '', 0);
>end;
>
>Phill
>
>>Pros�m o radu.
>>Pot�ebuji ud�lat odkaz na e-mailovou adresu. S odkazem na www str�nku
>nem�m
>probl�m (funkce ?>ShellExecute).=============
Milan
Delphi beginner
Delphi 3, W98


Disable Tlacitek

[*] Petr Ma��k <rtepema(zv)mbox.vol(tec)cz> - 5.3.2001 12:20:53

Prispel bych svym skromnym nazorem. tento pozadavek se vyskytuje velmi
casto. Ridim se zasadiu, ze pokud je prikaz, na pr. Vpred.Enabled:=false
uveden v unite vice nez jednou, je vhodne napsat zvlastni proceduru,
nazvanou napr. Update_control, kde jsou stavy ovladacich prvku v zavislosti
na podminkach reseny pro danou unitu a tedy obvykle i prislusny form reseny
centralne. Poku je v logickych podminkach pouzit na pr TDataset.recordCount,
ktery je casove narocnejsi, pouzit vice nez jednou, volim pomiocnou logickou
lokalni promennou, ktero na zacatku nastavim, na pr.
a:=Dataset.recordCount>0 a pak pouzivam tu lokalni promennou. Dalsi moznost
je pouziti TDBNavigator (pozor na spoterbu zdroju) nebo jednotlivych
navigacnich tlacitek, ktere si viditelnost hlidaji v zavislosti na stavu
odpovidajiciho datasetu.

Petr Marik
rtepema(zv)mbox.vol(tec)cz

----- Original Message -----
From: "Hazuka Filip" <filip.hazuka(zv)multivac(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Monday, March 05, 2001 10:16 AM
Subject: Disable Tlacitek


> Dobry den.
> Omlouvam se, ze oslovuji n�koho, koho neznam, ale sleduji Delphi
konferenci
> a z toho jsem usoudil, ze oslovovani lidi, kteri se ji ucastni je
normalni.
> Jestlize jsem to pochopil spatne, pak me prosim omluvte.
> Mam takovy maly problem. Potreboval bych nejak elegantne resit disable
> tlacitek.
> Mam databazovou aplikaci, kde mam vlastni tlacitka jako je Novy, Vpred,
> Zpet, Ulozit atd...
> Priklad. Jestlize zmacknu Novy, potom se mi disabluji tlacitka Vpred,
Zpet,
> Smaz atd...
> Ja to delam hloupim zpusobem, ze postupne vsem pisu Vpred.Enabled:= False
> atd.
> Jde napsat nejakou f-ci, ktera by to resila elegantneji a s malym
mnozstvim
> kodu ?
>
> Zdravi Filip.
>
> Dekuji za odpoved.
>

jak merit cas algoritmu ?

[*] Pavol Kaka�ka <paka(zv)aktis(tec)cz> - 5.3.2001 12:22:45

> potrebuju v delphi zmerit cas algoritmu,
> takze mereni v sekundach asi nebude stacit.
> Da se merit cas presneji ? ( mikrosekundy ... )

Asi takto nejak:

var
mStartSecs, mEndSecs: Comp;
...
begin
mStartSecs := TimeStampToMSecs(DateTimeToTimeStamp(Time));
...
mEndSecs := TimeStampToMSecs(DateTimeToTimeStamp(Time));

Ostatne si domyslis ;-)

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

jak merit cas algoritmu ?

[*] Pavol Kaka�ka <paka(zv)aktis(tec)cz> - 5.3.2001 12:27:59

Este som zabudol dodat:

var
mTimeExecute: TDateTime;

begin
mTimeExecute := TimeStampToDateTime(MSecsToTimeStamp(mEndSecs -
mStartSecs));

a potom dekodovat:

var
mHour, mMin, mSec, mMSec: Word;
begin
DecodeTime(AStatistic.TimeExecute, mHour, mMin, mSec, mMSec); Pavol Kaka�ka
kasix(zv)atlas(tec)cz

> potrebuju v delphi zmerit cas algoritmu,
> takze mereni v sekundach asi nebude stacit.
> Da se merit cas presneji ? ( mikrosekundy ... )
>
> dik
>

FileList

[*] KadaneM(zv)sdc.pce.cdrail(tec)cz - 5.3.2001 12:29:48

Nemate nekdo komponentu ktera by ukazovala adresare, soubory a hlavne ".."
nahore???
Dik Mirek


Disable Tlacitek

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 5.3.2001 13:00:57

From: "Hazuka Filip" <filip.hazuka(zv)multivac(tec)cz>
> Jestlize jsem to pochopil spatne, pak me prosim omluvte.
> Mam takovy maly problem. Potreboval bych nejak elegantne resit disable
> tlacitek.

Ahoj,

pokud mas Delphi 4 nebo 5 tak pouzij rozhodne TActionList, kde si muzes celou
logiku ovladacich prvku ridit centralne.

> Mam databazovou aplikaci, kde mam vlastni tlacitka jako je Novy, Vpred,
> Zpet, Ulozit atd...

K tomu by se ti mohly hodit standartni databazove akce jako TDatasetFirst
apod.

> Jde napsat nejakou f-ci, ktera by to resila elegantneji a s malym mnozstvim
> kodu ?

viz TActionList.

Petr Vones, amatersky programator


jak merit cas algoritmu ?

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 5.3.2001 13:03:32

From: "Robert Lufinka" <R.Lufinka(zv)sh.cvut(tec)cz>
> potrebuju v delphi zmerit cas algoritmu,
> takze mereni v sekundach asi nebude stacit.
> Da se merit cas presneji ? ( mikrosekundy ... )

Ahoj,

da se merit pomoci performance counteru. Muzes pouzit napriklad zapouzdreni z
JCL (http://delphi-jedi.org/Jedi:CODELIBJCL)

uses
JclCounter;

procedure TForm1.Button1Click(Sender: TObject);
var
Cnt: TJclCounter;
T: Extended;
begin
StartCount(Cnt);

Sleep(100);

T := StopCount(Cnt);
ShowMessageFmt('%g', [T]);
end;

Petr Vones, amatersky programator


Ako ziskat "Upravit panel nastroju"

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 5.3.2001 13:04:53

From: "Pavol Kaka�ka" <paka(zv)aktis(tec)cz>
> Vo Windwos je standarny dialog tak ako OpenFile, SaveFile, este dialog na
> "Upravit panel nastrojov"
> Je to ten panel ktory vidite ked si chcete upravit toolbar napriklad v
> OutlookExpress a vyhadzat ci pridat nejake ikonky do listy.
>
> Nevie nahodou niekto ako ho dostat?

Ahoj,

ve VCL nesnadno protoze jeho podpora bohuzel neni obsazena v komponente.

Petr Vones, amatersky programator


TFormDesigner

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

From: "Bene# Jaroslav" <JBenes(zv)cpoj(tec)cz>
> Pokusil jsem se premigrovat jednu komponentu z D3 do D5. Prekladac
> narazil na problem s TFormDesigner. V D3 je - ale v D5 jsem to nenasel.

Ahoj,

patrne IFormDesigner

Petr Vones, amatersky programator


Definice vlastnosti COM objektu

[*] Milan Tome� <Milan.Tomes(zv)haida(tec)cz> - 5.3.2001 13:28:56

Chtel bych se zeptat na jednu vec:

Chtel jsem si vytvorit COM objekt, ktery bychom pouzivali jako hlavni objekt
pro vytvoreni spojeni do databaze a on by zabezpecil login, overeni hesla
atp... ale zaroven bych potreboval z tohohle objektu dostat property typu
TIBDatabase a TIBTransaction. Jak to udelat ???

Milan Tomes


problem s *.dbf na siti

[*] Lukas.Gallina(zv)cz.danzas(tec)com - 5.3.2001 13:36:31

Ahoj,
podle toho co rikas (nechodi na jednotlivem stroji a to jen pres lan) bych
hledal chybu v ovladaci ci HW sitovky.


S pozdravem

Luk�# Gallina
DANZAS a.s. (fili�lka Brno)
ITOS
lukas.gallina(zv)cz.danzas.com
tel.: +420 604 226 812, +420 (5) 47 135 403
-----Original Message-----
From: Petr S [mailto:petr(zv)slunce(tec)cz]
Sent: Monday, March 05, 2001 8:00 AM
To: delphi-l(zv)fwd(tec)cz
Subject: FW: problem s *.dbf na siti


Ahojte,

jeden muj kamarad, ma takovyto problem :

Mam tady nasledujici problem s Delphi:
- aplikace je na siti NT (pouzivam *.dbf tabulky pres BDE)
- kdyz s ni pracuji na PII je vse OK
- kdyz s ni pracuji na PIII pri zpracovani dat to po chvili zatuhne a je to
mrtve
- za nejakou dobu vyzkoci chyba, ze je chyba v uzamceni
- to ale nechapu, protoze ja pouziji Exclusive otevreni a
pak stand. edit, post, ...

- kdyz hodim data ze site na lokal PIII, tak je vse OK

- Vidim problem ve spatnem zamykani (nebo nestihani odemykani recordu) -
nemas nejaky napad co s tim ?

Predem diky za jakoukoli radu


Petr Sadovsky


Sinea do pdf

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 5.3.2001 13:53:55

Ahoj,

potreboval bych vytisknout sestavu ze Sinei do pdf souboru.
Nemate nekdo zkusenosti bud obecne s exportem ze Sinei (do
cehokoli) nebo s vytvarenim pdf souboru?

Diky

David Lebeda


Ako ziskat "Upravit panel nastroju"

[*] Pavol Kaka�ka <paka(zv)aktis(tec)cz> - 5.3.2001 14:17:18

>ve VCL nesnadno protoze jeho podpora bohuzel neni obsazena v komponente.

Nepotrebujem cez VCL, staci ked budem vediet jeho meno, parametry a dll v
ktorej ho Windows maju.

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

> Vo Windwos je standarny dialog tak ako OpenFile, SaveFile, este dialog na
> "Upravit panel nastrojov"
> Je to ten panel ktory vidite ked si chcete upravit toolbar napriklad v
> OutlookExpress a vyhadzat ci pridat nejake ikonky do listy.
>
> Nevie nahodou niekto ako ho dostat?

Syntaxe jazyka

[*] Erik Salaj <winsoft(zv)napri.sk> - 5.3.2001 14:24:57

> > Zda sa mi, ze v takom pripade mas v programe zbytocnu
> > redundanciu, ked rovnake hodnoty zadavas do roznych premennych.
>
> for i := 1 to x do
> begin
> b1 := true;
> b2 := true;
> if F0(i) then
> begin
> b1 := F1(i);
> b2 := F2(i);
> end;
> if b1 and b2 then break;
> end;
>
> Priklad je jednoduchy, tohle by slo jeste prepsat do slozitejsiho ifu.
> Ale v rade pripadu je nutne to napsat takto.

Ak F2 (pripadne F1) nerobi vedlajsie efekty (teda nie je
potrebne to vykonat), tak to mozno napisat takto:

for i := 1 to x do
if not F0(i) or F1(i) and F2(i) then
Break;

Ak F2 je nutne, tak pretoze Delphi nema specialne operatory
(na rozdiel od Eiffelu), ktore by urcovali vyhodnotenie operandov
pre and a or, je zapis zlozitejsi:

for i := 1 to x do
if not F0(i) then
Break;
else
if F1(i) then
begin
if F2(i) then
Break;
end
else
F2(i);

Ak by malo Delphi take operatory (v Eiffele to su "or else" a "and then"
operatory):

for i := 1 to x do
if not F0(i) or else (F1(i) and F2(i)) then
Break;

V jazyku Eiffel (nepozna Break, Continue ani Goto) by to mohlo byt takto:

from
done := False
i := 1
invariant
-- F0(i), F1(i), F2(i) must be .....
variant
x - i + 1
until
done or else i > x
loop
done := not F0(i) or else F1(i) and F2(i)
i := i + 1
end

pripadne este strucnejsie (ale snad menej prehladnejsie)

from
i := 1
invariant
-- F0(i), F1(i), F2(i) must be .....
variant
x - i + 1
until
(i > x) or else not F0(i) or else F1(i) and F2(i)
loop
i := i + 1
end

Ide len o prepis (mechanicky) kusku kodu, o ktorom presne
neviem, co robi (jeho vyznam). Je mozne, ze sa to da napisat
este vyhodnejsim sposobom (napr. pouzitie DBC, CQS, atd.).
Nazvy premennych a funkcii tiez nebudu b1, b2 a F0, F1, F2, ...

> > Ozaj genialne. Skus uhadnut ake parametre dostane
> > tato procedura, a ake hodnoty budu v i a j po jej vykonani:
> >
> > i := 37;
> > j := 52;
> > MyProc(j = - ++i, --j, i - j--, i = - j++);
>
> Ze napises prasarnu neni problem jazyka, ale tvuj. Hodnoty
> neodhadnu pokud nevim, zda se parametry vyhodnocuji zleva nebo
> zprava.

Je to problem jazyka, ze umoznuje taketo neprehladne a implementacne
zavisle programy. Napr. Delphi Ti take nieco napisat (nastastie) neumozni
a az na vynimky (volanie niektorych funkcii/procedur) operatory nemaju
vedlajsie efekty, preto ich mozno jednoducho vyhodnocovat presne tak ako
v beznom matematickom zapise. Na takomto vyhodnom zapise bez
vedlajsich efektov je vybudovane vlastne cele funkcionalne programovanie.
Ak nedokazes vlastnym usudkom zhodnotit vyhodnost takehoto zapisu,
tak tu su niektore zaujimave vlastnosti: podvyrazy je mozne vyhodnocovat
v lubovolnom poradi dokonca aj paralelne (vyuziva sa nezavislost na poradi
vyhodnocovania); rovnake podvyrazy staci vyhodnotit iba raz (referencna
transparentnost); vyraz staci vyhodnotit len ak je to nevyhnutne
("lenive vyhodnocovanie"); kazdy podvyraz mozno jednodnacne analyzovat
bez ohladu na zvysok vyrazu; je mozne relativne jednoduchym sposobom
pomocou matematickych metod formalne dokazovat spravnost takychto
programov.

> > Nie, ja s retazcom nepracujem tak, ako keby lezal na nejakej adrese.
> > Taketo implementacne detaily prenechavam na programovaci jazyk.
>
> Kdyz s nim ale chces programovat, musis ty detaily znat. Jinak se
> budes ptat, proc pri zapisu Stream.Write(s, Length(s)) dostanes
> nejaky rozsypany caj, namisto poctiveho textu.

Ale ja tie detaily ani poriadne neviem (a myslim si, ze ani vecsina Delphi
programatorov) a v pohode programujem so stringami. A nielen v Delphi
ale rovnako tak aj SQL jazyku, kde vobec nie su smerniky a pod.

> > Nastastie string nie je smernik, takze takyto zapis nie je potrebny.
>
> Huge string _JE_ ukazatel na obsah retezce. Precti si nekdy
> dokumentaci k Delphi. Uvedeny zapis je toho dokladem.

Nikde v dokumentacii k Delphi nie je napisane, ze string je smernik.
Nemienim uz o takychto nezmysloch dalej diskutovat.

> Samozrejme muzes napsat take Stream.Write(s[1], Length(s)),
> coz je dane implementaci stringu.

Nestaram sa o implementacie. Nech sa o to stara Borland,
ked som zaplatil celkom slusne peniaze za ich kompilator ;-).
Ja sa staram o to, ako napisat v Delphi program, nie o to ako
je v Delphi implementovany string.

> Myslim tim moznosti, jakych lze v tom kterem jazyce dosahnout,
> jak se v jazyce pracuje s pameti, jak muzes ovladat ruzna zarizeni
> atp.
>
> Pred casem tu za tve ucasti probihala debata o automaticke
> uninicializaci dynamicky alokovanych promennych. Jazyk, ktery
> tohle dela, je jazyk slaby, protoze ti brani v rozumne praci s
> pameti. Priklad jsem uvadel.

Mal by si svoje tvrdenia opriet nie o svoje dojmy ale o pojmy.

Erik


Disable Tlacitek

[*] Bednar��k Dalibor <dalibor(zv)torola(tec)cz> - 5.3.2001 14:43:49

Ahoj..

Da se treba vyuzit udalosti OnStateChange u komponenty DataSource


// Tlacitko pro ulozeni zmen se aktivuje, pokud se na tabulce provedou
nejake zmeny
BtnUlozitZmeny.Enabled:= TDataSet(Sender).State in dsEditModes
// Tlacitko pro zruseni provedenych zmen se aktivuje, pokud se na tabulce
provedou nejake zmeny
BtnZrusitZmeny.Enabled:= BtnUlozitZmeny.Enabled
BtnProvedZmeny:=not BtnUlozitZmeny.Enabled

atd.

----- Original Message -----
From: "Hazuka Filip" <filip.hazuka(zv)multivac(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Monday, March 05, 2001 10:16 AM
Subject: Disable Tlacitek


> Dobry den.
> Omlouvam se, ze oslovuji n�koho, koho neznam, ale sleduji Delphi
konferenci
> a z toho jsem usoudil, ze oslovovani lidi, kteri se ji ucastni je
normalni.
> Jestlize jsem to pochopil spatne, pak me prosim omluvte.
> Mam takovy maly problem. Potreboval bych nejak elegantne resit disable
> tlacitek.
> Mam databazovou aplikaci, kde mam vlastni tlacitka jako je Novy, Vpred,
> Zpet, Ulozit atd...
> Priklad. Jestlize zmacknu Novy, potom se mi disabluji tlacitka Vpred,
Zpet,
> Smaz atd...
> Ja to delam hloupim zpusobem, ze postupne vsem pisu Vpred.Enabled:= False
> atd.
> Jde napsat nejakou f-ci, ktera by to resila elegantneji a s malym
mnozstvim
> kodu ?
>
> Zdravi Filip.
>
> Dekuji za odpoved.
>

Syntaxe jazyka

[*] Petr <DelphiForum(zv)seznam(tec)cz> - 5.3.2001 14:53:07

> Pokud si nevypnes implicitne zapnute zkracene vyhodnocovani logickych
> vyrazu, tak kdyz bude (not F0(I)) = TRUE, tak se uz ty zbyle dve funkce
> nevolaji, ne?

Nejak nechapu co myslis tim "zkracenym vyhodnocovanim logickych vyrazu".
Nicmene pokud se ta podminka splni jak pises, dalsi se spoustet nebudou
(urcite ne v te podmince. Je tam OR a to podmince uplne staci k tomu ze
nemusi volat dalsi funkce.) ale jak bude vedet za tou podminkou, ktera cast
podminky byla splnena ?
Psal jsem tuto pripominku na odezvu Petra Vonese, protoze ty vysledky z
funkci si musi nekam ulozit aby je potom nemusel volat znova (alespon
vysledky z funkce F0). Co kdyby ty funkce treba delali nejake operace s
databazi v siti ? Cekat treba ctvrt hodinky navic neni moc prijemne.

Petr Jur�k, Spr�vce s�t�, program�tor
COMET System s.r.o.
1.M�je 1220
756 61 Ro�nov pod Radho#t�m
tel. 0651/653990
fax. 0651/653993
www.cometsystem(tec)cz

---
Odchoz� zpr�va neobsahuje viry.
COMET System Network Administrator.
Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.231 / Virov� b�ze: 112 - datum vyd�n�: 12.02.01


MS Scripting

[*] Marek Eichler <marek.eichler(zv)atlas(tec)cz> - 5.3.2001 14:56:41

Zdravim,
vlmi casto na konferenci ctu o MS Scripting a i normalne jsem o tom zaslech,
ale jaksi presne nevim o co jde.
Jestli to je to co si myslim, tedy moznost integrovat do svych aplikaci
skriptovaci jazyk, tak bych vam byl strasne vdecny za nejake linky na
priklady, informace, ...

S pozdravem Marek Eichler


Prepinani Unit

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

>
> ** To s tym WITH ma zaujima. Chces povedal ze bude rozdiel vo vyslednom
> zkompilovanom kode ked pouzijem konstrkciu:
>
> mObject.Name := 'aaa';
> mObject.Text := 'aasssddff'
>
> verzus:
>
> with mObject do begin
> Name := 'aaa';
> Text := 'aasssddff'
> end;


No v dobach TP platilo, ze kazdy pokus o pristup na polozku recordu bez WITH
znamenal, nejprve urceni adresy zacatku promenne recordu a pak jeste vypocet
ofsetu polozky recordu. Pouzilo-li se WITH pak se znacne zjednodusila prvni
faze, protoze kompilator ulozil ukazatel na zacatek promenne do pomocne
promenne.. Cili se jednak vysledne exe zkratilo a jednak zrychlilo. To
platilo tusim pokud bylo adresaci ve WITH vice nez 3. generovany kod byl
opravdu odlisny...

Vyplacelo se to zvlaste v pripadech kdy rekord byl soucasti pole:

VAR
A : Array[1..1000] of TRecordType

For I := 1 to 1000 do
begin
With A[I] do
begin
end;
end;

Zkousel jsem ted WITH v Delphi a na prvni pohled se zda, ze :
1) pouziti rekordu ktery neni v poli:
pri vypnute optimalizaci D5 generuje stejny kod pro oba pripady. Pri
zapnute optimalizaci je pocet instrukci znacne snizen...
2) pouziti rekordu v poli
pri vypnute optimalizaci se generovany kod lisi pri pouziti WIDTH (kratsi,
pokud je adresaci dostatecny pocet). Zapnuta optimalizace to zrejme setre

napriklad vyraz:

RecVar.[I].a := RecVar[I].b+RecVar[I].c zabere 44 bytu (9 instrukci) po
pouziti WITH jen 25 (6 instrukci).

Po zapnuti optimalizace jsou rozdily jiz velmi male (mozna zadne).

D. Toman

Prepinani Unit

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 5.3.2001 15:15:47

On 5 Mar 2001, at 10:24, Dalibor Toman wrote:

> Ale je pravda, ze u pointru bych automatickou inicializaci (byla-li by
> inteligentni a vypinatelna) uvital.

Mas na mysli GetMem a AllocMem?


S pozdravem

Zbysek Hlinka

http://www.hlinka(tec)cz http://www.slhaters(tec)cz
Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


Prepinani Unit

[*] Tomas Fait <ched(zv)satyr2.zcu(tec)cz> - 5.3.2001 14:26:05

On Mon, 5 Mar 2001, Pavol Kakacka wrote:

> mObject.Name := 'aaa';
> mObject.Text := 'aasssddff'
>
> verzus:
>
> with mObject do begin
> Name := 'aaa';
> Text := 'aasssddff'
> end;
>
> No ak ano, ale zda sa mi to hodne hodne hodne divne. Tak to je pruser na
> n-tu. Teda aspon pre mna.
>

Ne, Delphi maji dobry prekladac.
Ale napr. v BP to rozdil byl...

K tomu GoTo - ve skole nam rikali, ze po jeho pouziti prekladac 'hure
optimalizuje' blok kde je pouzite

> Pavol Kakacka
> kasix(zv)atlas(tec)cz
>
>

Prepinani Unit

[*] Erik Salaj <winsoft(zv)napri.sk> - 5.3.2001 16:25:23

> Mam dalsi konstrukci ktera mi v packalu velice chybi. Dam priklad ze
stareho
> (ne)dobreho basicu.
>
> for x = 1 to 50 step 5

Suhlas. Delphi cyklus je zrejme obmedzeny koli ordinalnym typom, ktore
poskytuju funkcie Succ a Pred, ale uz nie Succ(N) a Pred(N).

> A jeste jedna mala pripominka na to nekvalitni C (resp. C++). Proc ho
> pouziva tolik lidi a nechteji ani sliset o nejake "zabrzdene" a
hardwarove

Je logicke, ze C# ktory este ani nie je kompletne k dispozicii nebude
pouzivat tolko ludi ako C-cko ktore existuje asi 30 rokov. Az by sa
platforma .Net presadila, moze sa to rychlo zmenit. Druha vec je, ze
presadenie jazyka nie je len otazka kvality jazyka.

> narocne Jave ? Myslis ze C# bude lepsi. Myslim ze KAZDY interpretacni
jazyk
> bude razit heslo "jsem silene pomaly ale jedu na cemkoli".

C# nikdy nema byt interpretovany. Nie je problem si ho stiahnut
z webu (beta verziu) a vyskusat.

Erik


Prepinani Unit

[*] Erik Salaj <winsoft(zv)napri.sk> - 5.3.2001 16:25:58

> Pokud budeme objektem chapat mnozinu dat a metod, ktere urcuji
> praci s temi daty, pak i Delphi se navenek tvari, jako by
> nepracovalo s pointry. Pokud ale pracujeme s dynamicky
> alokovanym blokem nejake pameti, pak je velice vhodne rozlisovat
> pointer od typove promenne.
>
> Je dost velky rozdil mezi
> var
> i: TMujRec;
> a
> pi: PMujRec;

Ano, ale ten rozdiel je zrejmy v deklaracii. Naco to komplikovat
a rozlisovat este aj v pouziti, ked ja mozem pracovat s udajovou
strukturou rovnakym sposobom bez ohladu na implementaciu.
T.j. naco pouzit komplikovanejsiu konstrukciu

pi^.MakeSomething

ked mozem pouzit rovno

pi.MakeSomething

Kompilator jedznoznacne vie, ci pi je smernik alebo record
a podla toho potrebnu dereferenciu smernika automaticky
generovat. A ja ked neskor zmenim pi z PMujRec na TMujRec,
nemusim cely kod prepisovat a odstranovat striesky.

Erik

Prepinani Unit

[*] Erik Salaj <winsoft(zv)napri.sk> - 5.3.2001 16:29:33

> a mozna 8 bytu a dvacet cyklu :-). Vse zalezi jen na poctu promennych a
> velikosti inicializovane pameti (a taky na tom, zda pamet lze prepsat
> stejnou hodnotou nebo ma mit kazda promenna jinou startovni hodnotu a taky
> na inteligenci kompilatoru). Ruzne procesory take nektere instrukce
> vykonavaji ruzne dlouhou dobu...

Mozno 800 bytov a 3000 cyklov ale je to asi tak pravdepodobne ako
zrazka asteroidu so Zemou ;-).

> > Dobry kompilator ju vynecha, ak zisti, ze nie je potrebna. Obecne
> > ale zistit, ze inicializacia nie je potrebna nie je take jednoduche.
>
> mel jsem na mysli - musi ji vynechat pokud neni inicializace potrebna
> (napriklad prvni akce s promennou je prirazeni)

To je samozrejme. Bavime sa o takychto a daleko lepsich kompilatoroch.
Videl som az neuveritelne optimalizacie (globalne, medzi funkciami),
ktore robil Intel v kompilatore pre Itanium. Prave jazyky elegantne
navrhnute, ktore vedu programatora k jasnemu prehladnemu kodu
bez vedlajsich efektov tvorbu takychto optimalizatorov znacne ulahcuju.
Pokial si ale programator chce vestko sam kontrolovat a vynutit priam
az na ASM urovni, pise komplikovany kod plny skokov, kdejakych
optimalizujucich priradeni, vedlajsich efektov a zavislosti na poradi
vyhodnocovania (povnarane priradenia), atd. tak optimalizator je
v takom pripade nanic (co ma vlastne optimalizovat, ked uzivatel
chce sam pisat nejaky komplikovany optimalizovany kod?).
Dalsia zrada je v tom, ze kod optimalizovany pre jeden procesor,
napr. 486 moze byt znacne neefektivny pre iny procesor (s inou
architekturou, cache pametou, atd.), povedzme pre Pentium.

> programator, ktery pise neco co je casove kriticke, se musi zajimat o kod,
> ktery kompilator vygeneroval, aby byl schopen detekovat pomale casti kodu.

Ano, ide ale o vynimocny pripad, viz dalej.

> To je sice pravda, ale neopravnuje to nikoho k tomu, aby z jazyka vymytil
> veci, ktere vetsina programatoru nepouziv�. Stane-li se to, pak v tom
jazyce
> budou programovat opravdu jen generatori kodu. Ostatni co potrebuji k
> programovani vic budou nuceni prejit na neco jineho (a nebude to ani C#
ani
> Eiffel ani Java a spol).

Eiffel to riesi tak, ze poskytuje moznost linkovat externy kod z
C/C++/ASM/Javy a dalsich jazykov.

Nie je vyhodnejsie v 99.99 percentach kodu pouzit jednoduchy, prehladny
a kvalitny jazyk a len to 0.01 percento kodu napisat v ASM alebo C-cku ako
koli 0.01 percentu komplikovat jzyk a narobit si problemy so zvysnymi 99.9
percentami kodu?

C# podporuje unsafe kod, kde nie je automaticka sprava pameti ale
je mozne manualne pracovat s pametou klasickym sposobom pomocou
smernikov, aby podporil spolupracu s existujucimi aplikaciami.

Java to riesi pomocou pomerne komplikovanym sposobom (JNI), t.j.
treba naprogramovat akesi rozhranie (DLL kniznicu) pre spolupracu
Java aplikacie s nie Java softwarom.

> > Napisal som pred inou aplikaciou. Moze ist napr. o nejake DLL-ko.
>
> aha - pak je to ale dalsi nesmysl. Chci-li branit vlastni stack pred tim,

Robis niekedy unahlene zavery.

> aby si jej nejaka rutina z nejakeho DLLka neprecetla, pak _MUSIM_ ten
stack
> smazat jeste pred volanim te rutiny. Jenze muzu mazat jen tu cast
zasobniku,
> kterou nemam obsazenou (cili nemohu mazat bez nasledku data nadrizenych
> rutin) a to je podle me spis opravdu zalezitot deinicializace lokalnich
> promennych nez jejich inicializace. Pokud bude automaticka pak je to zase
> pitomost. manualne to muze delat i ted. To DLLko stale muze cist stack
> nadrizenych rutin. Je blbost mazat ten stack pred volanim rutiny. Muselo
by
> se mazat treba 100 kilo dat (od aktualni posize az po konec stacku nebo
by
> se musela slozite udrzovat obsazena delka stacku

Rozumny jazyk, ktory inicializuje premenne na stacku (napr. Eiffel) a ktory
Ti neumozni priamo so stackom manipulovat (napr. Eiffel) jednoducho
neumoznuje ziadnemu programu citat informacie inej aplikacie zo stacku,
cize aj to DLL-ko ak by bolo pisane v Eiffely, tak sa k tymto udajom
nedostane. Rovnako tak, nemozes prepisovat lubovolne udaje. Taketo
programy potom nemusim spustat ako samostatne procesy ale ako
thready v jednom procese, co znacne zvysuje vykonnost a skalovatelnost.
A tak tych par instrukcii na inicializaciu sa mi tu moze vratit (aj s urokmi
;-) ).

> > Maju na to velmi dobre dovody. Napr. taky, ze Forth aj so zakladnym
> > vyvojovym prostredim zabera len niekolko kilobajtov pameti.
>
> To je pravda tusim, ze jsem cetl o nejakem cipu, ktery jej ma primo v sobe

Presne tak.

Erik


Prepinani Unit

[*] Erik Salaj <winsoft(zv)napri.sk> - 5.3.2001 16:29:58

> > > A co treba pouzivat v packalu "inline rozhodovani" ?
> > > Jake by to bylo zjednoduseni misto
> > > if k then z := "vlevo" else z := "vpravo";
> > > napsat
> > > z := k?"vlevo":"vpravo";
> >
> > Opet vyborny priklad ako nieco zbytocne zamotat. O co
> > je ten druhy zapis vyhodnejsi?
>
> napriklad ho muzu pouzit pri predavani paramatru dalsi rutine. Cili
usetrim
> nejaky ten radek kodu, usetrim pomkocnou promennou nebo opakovany zapis
> volani rutiny. V dusledku take velmi ulehcuju praci optimalizatoru...

To preto asi bude C/C++ kompilator taky rychly oproti Delphi.

> >O to, ze musis poznat vyznam
> > symbolu akehosi otaznika? Nie je lepsie zrozumitelne (kazdemu)
> > slovicko if?
>
> Je jedno jak se to zapise - hlavne aby takovou konstrukci slo pouzit (ted
> myslim ekvivalent toho zapisu v Ccku ne ekvivalent GIFu)

Vobec Ti nerozumiem.

Erik


Prepinani Unit

[*] Erik Salaj <winsoft(zv)napri.sk> - 5.3.2001 16:31:35

> > Velmi sa mylis. Nerobil by som predcasne zavery. C++ (ktory mixuje C-cko
s
> > objektami), ma ovela viac balastu ako spomenute tri jazyky dokopy. C#
> > aj Eiffel sa kompiluju (C# nepriamo cez IL, Eiffel sa preklada co C-cka
>
> Je snad 'interpreter' C# mensi balast nez spustitelny kod z C++ prekladace
?

C# nie je interpreter. Preklada sa do medzikodu (to iste robi interne aj
kazdy C++ prekladac akurat o tom programator na rozdiel od C# nevie).
Ten sa VZDY prelozi na nativneho kodu (pred spustenim alebo napr. pri
instalacii softwaru) a bezi ako klasicky skompilovany program. Niekde
na webe som cital, ze sa uvazuje aj o tom, ze bude aj C#, ktory bude
priamo generovat EXE subor. C# teda nema nic spolocne s interpreterom.
Vyznam medzikodu je v tom, ze takto zapisany program je dobre portabilny
a dalej poskytuje nezavislost platformy .Net na programovacom jazyku.

> > C# ma byt novodobe C++ (v tom zmysle, ze by ho malo nahradit, nie ze ma
byt
> > takisto nekvalitne).
>
> Obavam se ze tohle je jen prani Microsoftu.

Uvidime, v kazdom pripade ma oproti C++ vela prednosti a programovanie
znacne zjednodusuje.

Erik


Sinea do pdf

[*] Petr Palicka <petr.palicka(zv)atlas(tec)cz> - 5.3.2001 16:44:26

kdyz si koupis acrobat, tak k tomu je acrobat printer, na kterej tisknes
jako na tiskarnu a ono to uklada jako pdf ;)

dekuji PeC(zv)

CU onTheFutureOfMatrix
MatriX.CyberSpace.Cz

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

Sinea do pdf

[*] Jir� Foldyna <jiri.f(zv)avizo(tec)cz> - 5.3.2001 16:52:43

> potreboval bych vytisknout sestavu ze Sinei do pdf souboru.
> Nemate nekdo zkusenosti bud obecne s exportem ze Sinei (do
> cehokoli) nebo s vytvarenim pdf souboru?
>
> Diky
>
> David Lebeda
>

Ahoj

ja obcas pouzivam PDF Creator, tady je link

http://www.jawssystems.com/products/products_fs.html

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

TComboBox a BorderStyle

[*] Jan Naiser <tua(zv)wo(tec)cz> - 5.3.2001 17:08:31

Preji pekny den,

nemate nekdo odkaz na potomka TComboBox (TDBComboBox), ktery by mel tak jako
(nektere) ostatni prvky vlastnost BorderStyle? Pripadne recept, jak prepsat
potomka tak, aby se dala tato vlastnost pouzit a uplatnilo se
BorderStyle=bsNone.

Dekuji.

Honza Naiser.

Sinea do pdf

[*] Ing. Petr Svejda <lingvista(zv)lingvista(tec)cz> - 5.3.2001 17:13:50

Vytvaret a exportovat do PDF umi napr. Corel verze 9

Petr Svejda
http://www.lingvista(tec)cz/
Delphi SuperFAQ


> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On
> Behalf Of David Lebeda
> Sent: Monday, March 05, 2001 1:54 PM
> To: delphi-l(zv)fwd(tec)cz
> Subject: Sinea do pdf
>
>
> Ahoj,
>
> potreboval bych vytisknout sestavu ze Sinei do pdf souboru.
> Nemate nekdo zkusenosti bud obecne s exportem ze Sinei (do
> cehokoli) nebo s vytvarenim pdf souboru?
>
> Diky
>
> David Lebeda
>
> ---
> Poichozi zprava neobsahuje viry.
> Zkontrolovano antivirovym systemem AVG (http://www.grisoft(tec)cz).
> Verze: 6.0.231 / Virova baze: 112 - datum vydani: 12.2.2001
>

MS Scripting

[*] Radim Kunz <privat(zv)casestudio(tec)com> - 5.3.2001 17:43:45

> Zdravim,
> vlmi casto na konferenci ctu o MS Scripting a i normalne jsem o tom
zaslech,
> ale jaksi presne nevim o co jde.
> Jestli to je to co si myslim, tedy moznost integrovat do svych aplikaci
> skriptovaci jazyk, tak bych vam byl strasne vdecny za nejake linky na
> priklady, informace, ...
>
> S pozdravem Marek Eichler

S tou integraci scriptivacich jazyku do vlastnich aplikaci to je
dobry odhad.

Jednodussi reseni:
http://www.delphizine.com/features/1999/12/di199912av_f/di199912av_f.asp

Slozitejsi, ale mnohem lepsi reseni:
http://www.delphizine.com/features/1998/02/di199802ts_f/di199802ts_f.asp

Radim


Syntaxe jazyka

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 5.3.2001 18:16:24

On 5 Mar 2001, at 14:24, Erik Salaj wrote:

> > Priklad je jednoduchy, tohle by slo jeste prepsat do slozitejsiho
> > ifu. Ale v rade pripadu je nutne to napsat takto.
>
> Ak F2 je nutne, tak pretoze Delphi nema specialne operatory
> (na rozdiel od Eiffelu), ktore by urcovali vyhodnotenie operandov pre
> and a or, je zapis zlozitejsi:
>
> for i := 1 to x do
> if not F0(i) then
> Break;
> else
> if F1(i) then
> begin
> if F2(i) then
> Break;
> end
> else
> F2(i);

Ne nadarmo jsem uvedl poznamku za prikladem. Abych tedy
vyloucil nesmyslne spekulace, pak v danem cyklu se musi provest
jak F1, tak i F2. Abych zduraznil smysl prikladu, udelam drobnou
upravu:

> > for i := 1 to x do
> > begin
> > b1 := true;
> > b2 := true;
> > if F0(i) then
> > begin
> > b1 := F1(i);
> > b2 := F2(i);
if b1 then P1;
if b2 then P2;
> > end;
if not b1 and not b2 then break;
> > end;

Jestlize not F0, pak cyklus bezi dal. K predcasnemu skonceni
dojde prave tehdy, skonci-li F1 i F2 negativne. P1 a P2 se mohou
vykonat z nejakych duvodu az po F2, takze nelze zapsat if F1(i)
then P1. Takovych zavislosti mohu mit i vice nez dve.

Mozna by i tohle bylo mozne nejak krkolomne prepsat tebou
uvedenym stylem. Jenze takove reseni ma hned nekolik nevyhod.
Predne je hrozne neprehledne. Dale pouzivas break roztrousene
nekde uprostred cyklu a jeste ke vsemu vicekrat, coz (pres veskere
diky, ze Delphi obsahuje odskoky vcetne goto) je prilis vysoka
cena za eliminaci dvou (ci nekolika) jednoduchych promennych.

Takze moje touha po
b1 := b2 := b3 ... := true;
trva dal. :-) Urcite je to lepsi, nez pouzivat zoologickou zahradu
breaku uvnitr cyklu.

> > > Nastastie string nie je smernik, takze takyto zapis nie je
> > > potrebny.
> >
> > Huge string _JE_ ukazatel na obsah retezce. Precti si nekdy
> > dokumentaci k Delphi. Uvedeny zapis je toho dokladem.
>
> Nikde v dokumentacii k Delphi nie je napisane, ze string je smernik.
> Nemienim uz o takychto nezmysloch dalej diskutovat.

Nemusis diskutovat. Je mi ale hrozne lito, ze zcela ignorujes
dokumentaci, i kdyz zde byla primo citovana.

deklarace
var
S: string;

rika, ze S je promenna typu string. Jenze dokumentace rika:
"A long-string variable is a pointer occupying four bytes of
memory," tedy ze S _JE_ pointer. Takze jeste bys mohl prohlasit,
ze S neni string, ale pak se dostanes mimo zabehnutou
terminologii. Mohl by ses sice pokusit prosadit, ze "S je string" je
spatne a spravne se ma rikat ze "S je promenna typu long string",
ale nevestim ti zadne uspechy. :-) Uz proto, ze na teze strance
dokumentace je "If S is a string variable", tedy "jestlize S je
stringova promenna". O par stranek dal (Mixing Pascal strings and
null-terminated strings) se skvi tato formulace: "if Str1 and Str2 are
long strings", coz v danem pripade znamena tuto deklaraci:
var
Str1, Str2: string;

Takze mohu rict ze "S je string" a je-li jinak jasne (treba ze
zamereni teto konference) ze rec je o long stringu v Delphi, pak
nikomu nemusi vadit, ze string S je ve skutecnosti pointer na
textovy retezec, ale kazdy tomu vyroku bude rozumet.
Blah. :-))))))))


S pozdravem

Zbysek Hlinka

http://www.hlinka(tec)cz http://www.slhaters(tec)cz
Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


Ako ziskat "Upravit panel nastroju"

[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 5.3.2001 18:42:24

From: "Pavol Kaka�ka" <paka(zv)aktis(tec)cz>> Vo Windwos je standarny dialog tak ako OpenFile, SaveFile, este dialog na
> "Upravit panel nastrojov"
> Je to ten panel ktory vidite ked si chcete upravit toolbar napriklad v
> OutlookExpress a vyhadzat ci pridat nejake ikonky do listy.

Tento dialog nepochazi z Windows, ale je primo soucasto OutlookExpresu,
konkretne je v MSOERES.DLL

Myslim, ze to nepujde pouzit.

Vaclav Krmela


Ako ziskat "Upravit panel nastroju"

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

From: "Vaclav Krmela" <krmela(zv)ustinadorlici(tec)cz>
> Tento dialog nepochazi z Windows, ale je primo soucasto OutlookExpresu,

Ahoj,

pochazi z Windows a je soucasti TOOLBARU coby windows controlu. Bohuzel to
neni 'zakomponentovano' do VCL. viz "Customizing a Toolbar":
http://msdn.microsoft.com/library/psdk/shellcc/CommCtls/ToolBar/Toolbar_Using.
htm

Petr Vones, amatersky programator

Telefonicke spojeni 2 PC

[*] Petr Palicka <petr.palicka(zv)atlas(tec)cz> - 5.3.2001 19:10:42


mormalni dialup sit.
ja to pouzivam takto.

z pc-fandu zavolam program napsany v delphi.
pragram podle parametru vytvori spojeni (free komponenta dial-up).
z pc-fandu zavolam:
net use X: \\server\zarizeni
potom si z X: zkopiruju, co chci
a potom zavolam program s jinym parametrem a on zavesi.

navic mi zavesi i pokud spojeni bezi dele jak 15 minut.

dekuji PeC(zv)

CU onTheFutureOfMatrix
MatriX.CyberSpace.Cz

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

Sinea do pdf

[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 5.3.2001 19:45:17

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

> potreboval bych vytisknout sestavu ze Sinei do pdf souboru.
> Nemate nekdo zkusenosti bud obecne s exportem ze Sinei (do
> cehokoli) nebo s vytvarenim pdf souboru?

Jako nejjednodussi cesta na tvorbu PDF se mi jevi
nainstalovat si Acrobat PDF Writer:
http://www.adobe.com/support/downloads/main.html
Funguje to jako driver tiskarny, pak je mozne tisknout
z cehokoliv ve Windows a vysledkem jsou PDF soubory.

Sinea nabizi export do prosteho textu nebo do
WMF/EMF metafile souboru.

Vaclav Krmela

Syntaxe jazyka

[*] Erik Salaj <winsoft(zv)napri.sk> - 5.3.2001 20:03:20

> Nejak nechapu co myslis tim "zkracenym vyhodnocovanim logickych vyrazu".

Ked nemusis vyhodnocovat kompletny logicky vyraz, pretoze uz poznas
jeho vyslednu hodnotu, napr. vo vyraze

True or E

nemusis E vyhodnocovat (pretoze vysledok je vzdy True bez ohladu na hodnotu
E).
Podobne je to vo vyraze

False and E

Niekedy je ale vyhodnotenie E ziaduce. V Eiffele sa to riesi zvlastnymi
operatormi,
ktore toto vyhodnocovanie umoznuju specifikovat:

E sa nevyhodnocuje:

True or else E
False and then E

E sa vyhodnocuje:

True or E
False and E

Erik


Syntaxe jazyka

[*] Erik Salaj <winsoft(zv)napri.sk> - 5.3.2001 22:41:29

> Mozna by i tohle bylo mozne nejak krkolomne prepsat tebou
> uvedenym stylem. Jenze takove reseni ma hned nekolik nevyhod.
> Predne je hrozne neprehledne. Dale pouzivas break roztrousene
> nekde uprostred cyklu a jeste ke vsemu vicekrat, coz (pres veskere
> diky, ze Delphi obsahuje odskoky vcetne goto) je prilis vysoka
> cena za eliminaci dvou (ci nekolika) jednoduchych promennych.
>
> Takze moje touha po
> b1 := b2 := b3 ... := true;
> trva dal. :-) Urcite je to lepsi, nez pouzivat zoologickou zahradu
> breaku uvnitr cyklu.

Urcite sa najdu priklady, ked je potrebne priradit do viacerych
premennych rovnaka hodnota.
1. Ich vyskyt je podla mojich skusenosti zriedkavy.
2. Prepisat spominane priradenie niekolkymi priradovacimi prikazmi
je pritom trivialna vec: b1 := True; b2 := True; b3 := True;
cize nahradit to jednym prikazom je naozaj len "drobne zlepsenie"
3. Poziadavka na vnaranie priradenia by mala pritom za nasledok
obrovske zmeny v charaktere jazyka a podporovala by prave
tie vlastnosti jazyka, ktore dnes sa jednoznacne oznacuju
za negativne a to vedlajsie efekty vyrazov (s tym suvisi aj daleko
komplikovanejsia analyza, t.j. spomalenie generovania kodu,
plus stazena analyza moze komplikovat vykonavanie optimalizacii,
t.j. rychlost vysledneho kodu). Tu negativne dosledky daleko
presahuju drobne zlepsenie pouzitelne v par pripadoch.

> > > Huge string _JE_ ukazatel na obsah retezce. Precti si nekdy
> > > dokumentaci k Delphi. Uvedeny zapis je toho dokladem.
> >
> > Nikde v dokumentacii k Delphi nie je napisane, ze string je smernik.
> > Nemienim uz o takychto nezmysloch dalej diskutovat.
>
> Nemusis diskutovat. Je mi ale hrozne lito, ze zcela ignorujes
> dokumentaci, i kdyz zde byla primo citovana.
>
> deklarace
> var
> S: string;
>
> rika, ze S je promenna typu string. Jenze dokumentace rika:
> "A long-string variable is a pointer occupying four bytes of
> memory," tedy ze S _JE_ pointer. Takze jeste bys mohl prohlasit,
> ze S neni string, ale pak se dostanes mimo zabehnutou

Presne tak. Tvrdim, ze S NIE JE STRING. Viz dalej detailne
vysvetlenie.

> terminologii. Mohl by ses sice pokusit prosadit, ze "S je string" je
> spatne a spravne se ma rikat ze "S je promenna typu long string",
> ale nevestim ti zadne uspechy. :-) Uz proto, ze na teze strance
> dokumentace je "If S is a string variable", tedy "jestlize S je
> stringova promenna". O par stranek dal (Mixing Pascal strings and
> null-terminated strings) se skvi tato formulace: "if Str1 and Str2 are
> long strings", coz v danem pripade znamena tuto deklaraci:
> var
> Str1, Str2: string;
>
> Takze mohu rict ze "S je string" a je-li jinak jasne (treba ze

Este raz opakujem "S NIE JE STRING".

> zamereni teto konference) ze rec je o long stringu v Delphi, pak
> nikomu nemusi vadit, ze string S je ve skutecnosti pointer na
> textovy retezec, ale kazdy tomu vyroku bude rozumet.
> Blah. :-))))))))

Pokusim sa to vysvetlit este raz, pretoze v tomto pripade
ide o vceku zaujimavu zalezitost. Z deklaracie

var
S: TypeString;

mozno vycitat iba tolko, ze S je premenna typu TypeString.

Ak premenna S obsahuje RETAZEC ZNAKOV (cize ak TypeString
je v Delphi ShortString), potom S je string.

Ak premenna S obsahuje ODKAZ niekde do pameti na retazec
znakov (cize ak TypeString je v Delphi AnsiString (long string)), potom
S nie je string ale iba odkaz (referencia) na string.

Cize

S1: ShortString; // je to string
S2: AnsiString; // nie je string ale referencia na string

Potom
(zv)S1 je adresa stringu (pretoze S1 je string)
(zv)S2 nie je adresa stringu ale adresa referencie na string

V Delphi je este drobny problem, ze v pripade ShortStringu
sa uklada pred retazec este dlzka retazca a (zv)S1 ukazuje
na tuto dlzku, ale to teraz nie je podstatne.

Vyskusaj toto a uvidis rozdiel:

S1 := 'S1';
S2 := 'S2';

ShowMessage(PChar((zv)S1)); // vypise kod dlzky plus 'S1'
ShowMessage(PChar((zv)S2)); // preco nevypise 'S2'???

Ak tvrdis, ze aj S1 aj S2 su stringy, preco sa potom odlisne
spravaju (adresa jedneho stringu ukazuje na string a adresa
druheho stringu nie?)? Akym sposobom rozlisis S1 a S2
(t.j. string a referenciu na string) ak podla Teba je to vzdy
string? Garantujem Ti, ze v urcitych pripadoch ak nebudes
rozlisovat referenciu a samotny string (a tvrdit,
ze string = pointer, t.j. referencia), tak sa zamotas Ty sam.
Ja sa nemam ako a ani preco zamotat, kedze tieto pripady
v pripade potreby jasne odlisujem a string je u mna vzdy
to iste, t.j. retazec znakov (a string to aj vzdy je).

Delphi referenciu na string automaticky dereferencuje,
cize S2 sa "tvari navonok" ako keby to bol string, ale
NIE JE to to iste (S2 NIE JE STRING) a niekedy je
NUTNE tieto pripady rozlisit, napr. v priklade, ktory
som uviedol to nie je jedno.

Erik


simulace stisku klavesy

[*] <giorgione(zv)email(tec)cz> - 5.3.2001 23:25:17

Zdravicko!

Mam handle nejakeho okna. Timto zpusobem jsem schopen provest simulaci stisku
klavesy Enter pro toto okno: PostMessage(Handle,WM_KEYDOWN,VK_return,0).
Podobne napr. pro klavesu ESC: PostMessage(Handle,WM_KEYDOWN,VK_cancel,0).
Jakmile se ale pokusim poslat obycejnou klavesu (napr. A), nic se nestane.
Tento kod nic viditelneho neprovede: PostMessage(Handle,WM_KEYDOWN,ord('A'),0)

V cem je problem?
Predem diky za nakopnuti :-)

EMAIL.CZ - Vase posta je vzdy s Vami na
http://www.email(tec)cz

Ako ziskat "Upravit panel nastroju"

[*] Hurricane <hurricane(zv)quick(tec)cz> - 5.3.2001 23:51:48

No, tam je mozna taky, ale v comctl32.dll je storpocentne (overoval sem si
to). Muzes si dokonce vybrat i jazyk.

Hurricane
----- Original Message -----
From: "Vaclav Krmela" <krmela(zv)ustinadorlici(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Monday, March 05, 2001 6:42 PM
Subject: Re: Ako ziskat "Upravit panel nastroju"> From: "Pavol Kaka�ka" <paka(zv)aktis(tec)cz>
>
> > Vo Windwos je standarny dialog tak ako OpenFile, SaveFile, este dialog
na
> > "Upravit panel nastrojov"
> > Je to ten panel ktory vidite ked si chcete upravit toolbar napriklad v
> > OutlookExpress a vyhadzat ci pridat nejake ikonky do listy.
>
> Tento dialog nepochazi z Windows, ale je primo soucasto OutlookExpresu,
> konkretne je v MSOERES.DLL
>
> Myslim, ze to nepujde pouzit.
>
> Vaclav Krmela
>
>
>
>

Ako ziskat "Upravit panel nastroju"

[*] Hurricane <hurricane(zv)quick(tec)cz> - 5.3.2001 23:52:14

Zdravim

Tento dialog je obsazen v knihovne comctl32.dll. Je ale
pravda, ze k nemu nemuzes pristupovat pres komponentu. Jedine, ze by sis
napsal sam komponentu, do ktere by si vrazil tenhle dialog a sam si to cele
obslouzil. Druha moznost je pouzit RxToolBar, tam je podobny dialog obsazen
a je funkcni.

Hurricane
----- Original Message -----
From: "Petr Vones" <pvones(zv)mbox.vol(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Monday, March 05, 2001 1:04 PM
Subject: Re: Ako ziskat "Upravit panel nastroju"


From: "Pavol Kaka�ka" <paka(zv)aktis(tec)cz>
> Vo Windwos je standarny dialog tak ako OpenFile, SaveFile, este dialog na
> "Upravit panel nastrojov"
> Je to ten panel ktory vidite ked si chcete upravit toolbar napriklad v
> OutlookExpress a vyhadzat ci pridat nejake ikonky do listy.
>
> Nevie nahodou niekto ako ho dostat?

Ahoj,

ve VCL nesnadno protoze jeho podpora bohuzel neni obsazena v komponente.

Petr Vones, amatersky programator


SINEA tla� od poslednej po prvu stranku.

[*] Roland Turcan - RoTurSoft <rotursoft(zv)nextra.sk> - 6.3.2001 00:05:34

Zdravim.

Mam tlaciaren napr. HP DJ a dam vytlacit 10 stran. Pokial chcem aby som
nemusel prehadzovat stranky, lebo ako prvu mam 10, potom 9,8,7,,,,1 ale ja
by som chcel aby mi to tlacil od 10-1 a v konecnom dosledku nemusim
prehadzovat stranky. Napr. pri HP LJ to robit nemusim lebo ona si to toci
pri zakaldani do vystupneho zasobniku.

Dakujem.

roland.

simulace stisku klavesy

[*] tomsir1.edu(zv)mail.cez(tec)cz - 6.3.2001 00:26:49


Tak to zkus takhle treba pro pismeno "A" :

PostMessage(Handle,WM_KEYDOWN,VK_A,0).

pokud to projde, muzu ti poslat xls soubor se seznamem vsech virtualnich
kodu klaves.


Radegast


<giorgione(zv)email(tec)cz>(zv)fwd(tec)cz on 05.03.2001 23:25:17

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

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


Komu: <delphi-l(zv)fwd(tec)cz>
Kopie:
P�edm�t: simulace stisku klavesy


Zdravicko!

Mam handle nejakeho okna. Timto zpusobem jsem schopen provest simulaci
stisku
klavesy Enter pro toto okno: PostMessage(Handle,WM_KEYDOWN,VK_return,0).
Podobne napr. pro klavesu ESC: PostMessage(Handle,WM_KEYDOWN,VK_cancel,0).
Jakmile se ale pokusim poslat obycejnou klavesu (napr. A), nic se nestane.
Tento kod nic viditelneho neprovede: PostMessage(Handle,WM_KEYDOWN,ord
('A'),0)

V cem je problem?
Predem diky za nakopnuti :-)

EMAIL.CZ - Vase posta je vzdy s Vami na
http://www.email(tec)cz

Prepinani Unit

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 6.3.2001 03:17:29

From: "Erik Salaj" <winsoft(zv)napri.sk>
> Videl som az neuveritelne optimalizacie (globalne, medzi funkciami),
> ktore robil Intel v kompilatore pre Itanium. Prave jazyky elegantne

Pokud vim, tak tenhle procesor ma zcela jinou koncepci. Rada x86 je postavena
na tom, ze zpracovava 'jakykoli' kod a snazi se jej vnitrne optimalizovat,
zatimco Itanium prenasi optimalizaci vyhradne na prekladac, takze tento jiz
musi produkovat kod dle urcitych pravidel. Doufejme ze to cele nebude takovy
propadak, jako treba Pentium 4 ;-)

Petr Vones, amatersky programator


Prepinani Unit

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

From: "Erik Salaj" <winsoft(zv)napri.sk>
> platforma .Net presadila, moze sa to rychlo zmenit. Druha vec je, ze
> presadenie jazyka nie je len otazka kvality jazyka.

Problem je spise v tom, kdo vlastne C# a .NET chce (krome Microsoftu) ? Mame
tu uz C++ i Javu.

Petr Vones, amatersky programator


SINEA tla� od poslednej po prvu stranku.

[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 6.3.2001 07:04:22

From: "Roland Turcan - RoTurSoft" <rotursoft(zv)nextra.sk>

> Mam tlaciaren napr. HP DJ a dam vytlacit 10 stran. Pokial chcem aby som
> nemusel prehadzovat stranky, lebo ako prvu mam 10, potom 9,8,7,,,,1 ale ja
> by som chcel aby mi to tlacil od 10-1 a v konecnom dosledku nemusim
> prehadzovat stranky. Napr. pri HP LJ to robit nemusim lebo ona si to toci
> pri zakaldani do vystupneho zasobniku.

Pokud to bude nastaveno jako vychozi nastaveni ovladace tiskarny,
tak to tak tisknout bude. Pokud ne, tak ne.
Dodatecnou znenu Sinea neumoznuje.

Vaclav Krmela

Vytvoreni tabulky

[*] Bednar��k Dalibor <dalibor(zv)torola(tec)cz> - 6.3.2001 07:32:05

Poradte mi nekdo, jak vytvorit DBF tabulku typu FoxPro ze sveho programu,
ktery vyuziva BDE a ma mit tyto polozky.
nazev typ delka des.mis
X1 Num 6 0
X2 Num 5 2

Zkousel jsem to pres CreateTable, ale nejak nemuzu dosahnout toho co bych
chtel

simulace stisku klavesy

[*] Vaclav Krejci <krejciv(zv)ssakhk(tec)cz> - 6.3.2001 08:09:07

Zdravim

vk_a asi ne, ale zkus si nadefinovat promennou, ktere priradis to pismeno a
do procedury napises jen tu promennou....


----- Original Message -----
From: <tomsir1.edu(zv)mail.cez(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Tuesday, March 06, 2001 12:26 AM
Subject: Re: simulace stisku klavesy


>
> Tak to zkus takhle treba pro pismeno "A" :
>
> PostMessage(Handle,WM_KEYDOWN,VK_A,0).
>
> pokud to projde, muzu ti poslat xls soubor se seznamem vsech virtualnich
> kodu klaves.
>
> Radegast
>
>
>
>
> <giorgione(zv)email(tec)cz>(zv)fwd(tec)cz on 05.03.2001 23:25:17
>
> Odpov�zte pros�m - delphi-l(zv)fwd(tec)cz
>
> Odesl�no k�m: owner-delphi-l(zv)fwd(tec)cz
>
>
> Komu: <delphi-l(zv)fwd(tec)cz>
> Kopie:
> P�edm�t: simulace stisku klavesy
>
>
> Zdravicko!
>
> Mam handle nejakeho okna. Timto zpusobem jsem schopen provest simulaci
> stisku
> klavesy Enter pro toto okno: PostMessage(Handle,WM_KEYDOWN,VK_return,0).
> Podobne napr. pro klavesu ESC:
PostMessage(Handle,WM_KEYDOWN,VK_cancel,0).
> Jakmile se ale pokusim poslat obycejnou klavesu (napr. A), nic se nestane.
> Tento kod nic viditelneho neprovede: PostMessage(Handle,WM_KEYDOWN,ord
> ('A'),0)
>
> V cem je problem?
> Predem diky za nakopnuti :-)
>
> EMAIL.CZ - Vase posta je vzdy s Vami na
> http://www.email(tec)cz
>
>
>
>

BDE a DLL

[*] Ji�� Kr�l jr. - 6.3.2001 08:15:34

Dobry den,

mam app, ktera je happy i bez BDE. Ovsem ted potrebuji na 1 fci podporu BDE.
App jede na siti kde se vsude tato 1 fce potrebovat nebude.

Lze tuto fci hodit do DLL tak aby si ji natah jen ten PC s BDE? Aby to na
ostatnich nenadavalo...


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

>>-----Original Message-----
>>From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
>>Petr Vones
>>Sent: Tuesday, March 06, 2001 3:24 AM
>>To: delphi-l(zv)fwd(tec)cz
>>Subject: Re: Prepinani Unit
>>
>>
>>From: "Erik Salaj" <winsoft(zv)napri.sk>
>>> platforma .Net presadila, moze sa to rychlo zmenit. Druha vec je, ze
>>> presadenie jazyka nie je len otazka kvality jazyka.
>>
>>Problem je spise v tom, kdo vlastne C# a .NET chce (krome
>>Microsoftu) ? Mame
>>tu uz C++ i Javu.
>>
>>Petr Vones, amatersky programator
>>

simulace stisku klavesy

[*] <giorgione(zv)email(tec)cz> - 6.3.2001 09:19:33

Dekuji za vsechny napady, ale bohuzel to nepomohlo.
1. VK_A neni vubec definovana
2. zkusil jsem nadefinovat promennou a dal jsem ji hodnotu 65 = ord('A').
Kdyz jsem ji ale vlozil do PostMessage, vysledek byl stejny - opet nic :-(

Napadlo me, jestli neni problem v poslednim parametru fce PostMessage...lParam.
Netusite, k cemu ten parametr v tomto pripade je? V helpu se mi nepodarilo
nic kloudnyho najit.

> --- P�vodn� zpr�va ---
> Od: "Vaclav Krejci" <krejciv(zv)ssakhk(tec)cz>
> Datum: 06.03.2001 08:32:23
>
> Zdravim
>
> vk_a asi ne, ale zkus si nadefinovat promennou, ktere priradis to pismeno
a
> do procedury napises jen tu promennou....
>
>
> ----- Original Message -----
> From: <tomsir1.edu(zv)mail.cez(tec)cz>
> To: <delphi-l(zv)fwd(tec)cz>
> Sent: Tuesday, March 06, 2001 12:26 AM
> Subject: Re: simulace stisku klavesy
>
>
> >
> > Tak to zkus takhle treba pro pismeno "A" :
> >
> > PostMessage(Handle,WM_KEYDOWN,VK_A,0).
> >
> > pokud to projde, muzu ti poslat xls soubor se seznamem vsech virtualnich
> > kodu klaves.
> >
> >
> > Radegast
> >
> >
> >
> >
> >
> > <giorgione(zv)email(tec)cz>(zv)fwd(tec)cz on 05.03.2001 23:25:17
> >
> > Odpov�zte pros�m - delphi-l(zv)fwd(tec)cz
> >
> > Odesl�no k�m: owner-delphi-l(zv)fwd(tec)cz
> >
> >
> > Komu: <delphi-l(zv)fwd(tec)cz>
> > Kopie:
> > P�edm�t: simulace stisku klavesy
> >
> >
> > Zdravicko!
> >
> > Mam handle nejakeho okna. Timto zpusobem jsem schopen provest simulaci
> > stisku
> > klavesy Enter pro toto okno: PostMessage(Handle,WM_KEYDOWN,VK_return,0).
> > Podobne napr. pro klavesu ESC:
> PostMessage(Handle,WM_KEYDOWN,VK_cancel,0).
> > Jakmile se ale pokusim poslat obycejnou klavesu (napr. A), nic se nestane.
> > Tento kod nic viditelneho neprovede: PostMessage(Handle,WM_KEYDOWN,ord
> > ('A'),0)
> >
> > V cem je problem?
> > Predem diky za nakopnuti :-)


EMAIL.CZ - Vase posta je vzdy s Vami na
http://www.email(tec)cz

POPUPMENU

[*] cis <cis(zv)atlas(tec)cz> - 6.3.2001 09:37:30

Zdar,
nema nekdo priklad jak sloucit popupmenu nad nejakym controlem s novym
popupem.

diky alda

simulace stisku klavesy

[*] Vaclav Sazima <sazima(zv)comp(tec)cz> - 06.3.2001 10:13:11

Ahoj,

giorgione(zv)email(tec)cz wrote:
>
> Dekuji za vsechny napady, ale bohuzel to nepomohlo.
> 1. VK_A neni vubec definovana

{ VK_0 thru VK_9 are the same as ASCII '0' thru '9' ($30 - $39) }
{ VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' ($41 - $5A) }
(windows.pas)

> 2. zkusil jsem nadefinovat promennou a dal jsem ji hodnotu 65 = ord('A').
> Kdyz jsem ji ale vlozil do PostMessage, vysledek byl stejny - opet nic :-(
>
> Napadlo me, jestli neni problem v poslednim parametru fce PostMessage...lParam.
> Netusite, k cemu ten parametr v tomto pripade je? V helpu se mi nepodarilo
> nic kloudnyho najit.
>
> > --- P�vodn� zpr�va ---
> > Od: "Vaclav Krejci" <krejciv(zv)ssakhk(tec)cz>
> > Datum: 06.03.2001 08:32:23
> >
> > Zdravim
> >
> > vk_a asi ne, ale zkus si nadefinovat promennou, ktere priradis to pismeno
> a
> > do procedury napises jen tu promennou....
> >
> >
> > ----- Original Message -----
> > From: <tomsir1.edu(zv)mail.cez(tec)cz>
> > To: <delphi-l(zv)fwd(tec)cz>
> > Sent: Tuesday, March 06, 2001 12:26 AM
> > Subject: Re: simulace stisku klavesy
> >
> >
> > >
> > > Tak to zkus takhle treba pro pismeno "A" :
> > >
> > > PostMessage(Handle,WM_KEYDOWN,VK_A,0).
> > >
> > > pokud to projde, muzu ti poslat xls soubor se seznamem vsech virtualnich
> > > kodu klaves.
> > >
> > >
> > > Radegast
> > >
> > >
> > >
> > >
> > >
> > > <giorgione(zv)email(tec)cz>(zv)fwd(tec)cz on 05.03.2001 23:25:17
> > >
> > > Odpov�zte pros�m - delphi-l(zv)fwd(tec)cz
> > >
> > > Odesl�no k�m: owner-delphi-l(zv)fwd(tec)cz
> > >
> > >
> > > Komu: <delphi-l(zv)fwd(tec)cz>
> > > Kopie:
> > > P�edm�t: simulace stisku klavesy
> > >
> > >
> > > Zdravicko!
> > >
> > > Mam handle nejakeho okna. Timto zpusobem jsem schopen provest simulaci
> > > stisku
> > > klavesy Enter pro toto okno: PostMessage(Handle,WM_KEYDOWN,VK_return,0).
> > > Podobne napr. pro klavesu ESC:
> > PostMessage(Handle,WM_KEYDOWN,VK_cancel,0).
> > > Jakmile se ale pokusim poslat obycejnou klavesu (napr. A), nic se nestane.
> > > Tento kod nic viditelneho neprovede: PostMessage(Handle,WM_KEYDOWN,ord
> > > ('A'),0)
> > >
> > > V cem je problem?
> > > Predem diky za nakopnuti :-)
>
> EMAIL.CZ - Vase posta je vzdy s Vami na
> http://www.email(tec)cz


BDE a DLL

[*] Milan Tome� <Milan.Tomes(zv)haida(tec)cz> - 6.3.2001 10:13:06

Da, ale musis tu knihovnu loadnout pres LoadLibrary a pak pouzit funkci
getProcAddress

Milan Tomes

> Dobry den,
>
> mam app, ktera je happy i bez BDE. Ovsem ted potrebuji na 1 fci
> podporu BDE.
> App jede na siti kde se vsude tato 1 fce potrebovat nebude.
>
> Lze tuto fci hodit do DLL tak aby si ji natah jen ten PC s BDE? Aby to na
> ostatnich nenadavalo...
>
> diky
>
>
> ==========================================================
> Bc. Jiri Kral
> administrator IT
> tiskarna Printo, spol. s r.o.
> e-mail: admin(zv)printo(tec)cz
> mobil e-mail: jirka.kral(zv)click(tec)cz
> ICQ# 15303940
> PGP ID: 62B8BA3C (najdete na www.pgp(tec)cz)
>
> >>-----Original Message-----
> >>From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> >>Petr Vones
> >>Sent: Tuesday, March 06, 2001 3:24 AM
> >>To: delphi-l(zv)fwd(tec)cz
> >>Subject: Re: Prepinani Unit
> >>
> >>
> >>From: "Erik Salaj" <winsoft(zv)napri.sk>
> >>> platforma .Net presadila, moze sa to rychlo zmenit. Druha vec je, ze
> >>> presadenie jazyka nie je len otazka kvality jazyka.
> >>
> >>Problem je spise v tom, kdo vlastne C# a .NET chce (krome
> >>Microsoftu) ? Mame
> >>tu uz C++ i Javu.
> >>
> >>Petr Vones, amatersky programator
> >>
>

Chyba pri inicializaci BDE

[*] Josef Zvonicek <prosoft(zv)prosoft(tec)cz> - 6.3.2001 10:43:14

Toto je zprava ve formatu MIME obsahujmcm vmce hastm.
Zdravim.

Mam nasledujici problem.

Kdyz se pokousim udelat Session.Open tak se mi objevi chyba. ( Behem pokusu o inicializaci BDE se objevila chyba $2501).
Neporadi mi nekdo co stim?

Preinstaloval jsem si WIN98 na WIN 2000. Pod WIN 98 to behalo ted ne. Mam D5.
PROSOFT Kromeriz s.r.o.
Soudni 1293
KROMERIZ 767 01
Czech Republic
tel/fax 0420 (0)634 333545
GSM: 0420 (0)608 887070
GSM 0420 (0)608 887071
e-mail: prosoft(zv)prosoft(tec)cz

simulace stisku klavesy

[*] Zdenek Drvota <drvota-l(zv)zds(tec)cz> - 6.3.2001 11:37:32

Ahoj,
no to je proto, ze se tam samozrejme musi poslat
take VK_A (nebo jina virtual_key) a ne ASCII kod.

### giorgione(zv)email(tec)cz napsal dne 5 Mar 01, v 23:25 :
> Zdravicko!
>
> Mam handle nejakeho okna. Timto zpusobem jsem schopen provest simulaci
> stisku
> klavesy Enter pro toto okno: PostMessage(Handle,WM_KEYDOWN,VK_return,0).
> Podobne napr. pro klavesu ESC:
> PostMessage(Handle,WM_KEYDOWN,VK_cancel,0).
> Jakmile se ale pokusim poslat obycejnou klavesu (napr. A), nic se nestane.
> Tento kod nic viditelneho neprovede:
> PostMessage(Handle,WM_KEYDOWN,ord('A'),0)
>
> V cem je problem?
> Predem diky za nakopnuti :-)
>


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


BDE a DLL

[*] tomas.mazurek(zv)vitkovice(tec)cz - 6.3.2001 10:54:25

Hello,

existuje funkce BDE API DbiInit, jejiz vysledek vam rika, zda se
engina inicializovala ci ne...

TM

>mam app, ktera je happy i bez BDE. Ovsem ted potrebuji na 1 fci
>podporu BDE. App jede na siti kde se vsude tato 1 fce potrebovat
>nebude.

>Lze tuto fci hodit do DLL tak aby si ji natah jen ten PC s BDE? Aby to
>na ostatnich nenadavalo...

OT- Self-extractor

[*] Zaplik <zaplik(zv)volny(tec)cz> - 6.3.2001 12:13:23

Prosim Vas, nevite nekdo o free self-extractoru, ktery by:
po jeho spusteni rozbalil obsah archivu a potom spustil aplikaci rozbalenou
z archivu. Musi umet zvolit, jestli chci uzivateli dat moznost vyberu cesty
pro rozbaleni nebo ne. Dale nechci potvrzovani dialogu typu
provest/neprovest, spustit/nespustit. Plne by mi vyhovoval extractor z
Salamanderu 1.6beta, ale autori chteji cca. 2000,- .Hlavne aby byl bez
reklam!!!!
Dik Zaplik


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


Nacteni numericke hodnoty z Oraclu do Deplhi

[*] Petr Skrivanek <skrivanek(zv)kn.vutbr(tec)cz> - 6.3.2001 12:35:18

Mam problem a nevim si s tim rady. Mam naistalovaneho clienta k vzdalenemu
serveru Oracle8i. Pro pristup z Deplhi5 pouzivam Oracle ODBC driver v 8.01
Problem je ted takovy, ze kdyz udelam nejaky dotaz pomoci ADOQuery na
libovolnou polozku v tabulce, ktera je pod ORACLEM vytvorena jako typ
Numeric, vrati mi vzdy nulove hodnoty. Pritom kdyz to same provedu v SQL
Exploreru, tak mi to vrati v poradku. Pri dotazu pres ADOQuery na polozky
typu VarChar2 je retezova hodnota vracena v poradku.
Kde prosim Vas delam chybu ??? Poradte prosim jak to vyresit.
Dekuji za odpoved

Nahranie DLL

[*] Branislav Zaujec <zaujec(zv)nrsys.sk> - 06.3.2001 13:00:53

Zdravim,

chcel by som vas poprosit o pomoc s mojim problemom.
Vo svojom projekte volam funkcie z DLL. problem je, ze ked aplikaciu spustim
samostatne, tak sa mi tato DLLka nenahra. Ak sa aplikacia spusti z Deplhi IDE,
tak vsetko ide v pohode

Mam D5Prof, WIN98, nahravam DLL pomocou mHandle := LoadLibrary('BROW.DLL');

DLLka sa nenahra, ci je v adresari, odkial sa spusta program, alebo vo WINDOWS,
alebo vo WINDOWS\SYSTEM, jednoducho sama voda.

Dakujem za kazde nakopnutie
S pozdravom
Zaujec, NRSYS


simulace stisku klavesy

[*] brant(zv)dcomm(tec)cz - 6.3.2001 13:12:40

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

Zkus pouzit API funkci VkKeyScan, ktere se predhodi primo char (zde 65) a
ona vrati VK A. To se pak pouzije pro volani PostMessage. Problem muze byt
taky v tom, jestli pouzity handle nalezi k tomu, co ma reagovat na stisknuti
te klavesy. K tomu druhemu parametru je v MSDN toto:

lKeyData
Value of lParam. Specifies the repeat count, scan code, extended-key flag,
context code, previous key-state flag, and transition-state flag, as shown
in the following table.
Value Description
0-15 Specifies the repeat count for the current message. The value is the
number of times the keystroke is auto-repeated as a result of the user
holding down the key. If the keystroke is held long enough, multiple
messages are sent. However, the repeat count is not cumulative.

16-23 Specifies the scan code. The value depends on the original equipment
manufacturer (OEM).

24 Specifies whether the key is an extended key, such as the right-hand alt
and ctrl keys that appear on an enhanced 101- or 102-key keyboard. The value
is 1 if it is an extended key; otherwise, it is 0.

25-28 Reserved; do not use.

29 Specifies the context code. The value is always 0 for a WM KEYDOWN
message.

30 Specifies the previous key state. The value is 1 if the key is down
before the message is sent, or it is 0 if the key is up.

31 Specifies the transition state. The value is always 0 for a WM KEYDOWN
message.

RNDr. Petr Brant [Brant(zv)dcomm(tec)cz]
ICQ # 68652380

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

-----Original Message-----
From: giorgione(zv)email(tec)cz [mailto:giorgione(zv)email(tec)cz]
Sent: Tuesday, March 06, 2001 9:20 AM
To: delphi-l(zv)fwd(tec)cz
Subject: Re: simulace stisku klavesy


Dekuji za vsechny napady, ale bohuzel to nepomohlo.
1. VK A neni vubec definovana
2. zkusil jsem nadefinovat promennou a dal jsem ji hodnotu 65 = ord('A').
Kdyz jsem ji ale vlozil do PostMessage, vysledek byl stejny - opet nic :-(

Napadlo me, jestli neni problem v poslednim parametru fce
PostMessage...lParam.
Netusite, k cemu ten parametr v tomto pripade je? V helpu se mi nepodarilo
nic kloudnyho najit.

> --- P�vodn� zpr�va ---
> Od: "Vaclav Krejci" <krejciv(zv)ssakhk(tec)cz>
> Datum: 06.03.2001 08:32:23
>
> Zdravim
>
> vk a asi ne, ale zkus si nadefinovat promennou, ktere priradis to pismeno
a
> do procedury napises jen tu promennou....
>
>
> ----- Original Message -----
> From: <tomsir1.edu(zv)mail.cez(tec)cz>
> To: <delphi-l(zv)fwd(tec)cz>
> Sent: Tuesday, March 06, 2001 12:26 AM
> Subject: Re: simulace stisku klavesy
>
>
> >
> > Tak to zkus takhle treba pro pismeno "A" :
> >
> > PostMessage(Handle,WM KEYDOWN,VK A,0).
> >
> > pokud to projde, muzu ti poslat xls soubor se seznamem vsech virtualnich
> > kodu klaves.
> >
> >
> > Radegast
> >
> >
> >
> >
> >
> > <giorgione(zv)email(tec)cz>(zv)fwd(tec)cz on 05.03.2001 23:25:17
> >
> > Odpov�zte pros�m - delphi-l(zv)fwd(tec)cz
> >
> > Odesl�no k�m: owner-delphi-l(zv)fwd(tec)cz
> >
> >
> > Komu: <delphi-l(zv)fwd(tec)cz>
> > Kopie:
> > P�edm�t: simulace stisku klavesy
> >
> >
> > Zdravicko!
> >
> > Mam handle nejakeho okna. Timto zpusobem jsem schopen provest simulaci
> > stisku
> > klavesy Enter pro toto okno:
PostMessage(Handle,WM KEYDOWN,VK return,0).
> > Podobne napr. pro klavesu ESC:
> PostMessage(Handle,WM KEYDOWN,VK cancel,0).
> > Jakmile se ale pokusim poslat obycejnou klavesu (napr. A), nic se
nestane.
> > Tento kod nic viditelneho neprovede: PostMessage(Handle,WM KEYDOWN,ord
> > ('A'),0)
> >
> > V cem je problem?
> > Predem diky za nakopnuti :-)


EMAIL.CZ - Vase posta je vzdy s Vami na
http://www.email(tec)cz

---
P��choz� zpr�va neobsahuje viry.
Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.228 / Virov� b�ze: 109 - datum vyd�n�: 17.1.2001

BlobStream

[*] Peter Vlkovic <vlkovic(zv)minv.sk> - 06.3.2001 13:25:27

Ahoj,
odvcera sa trapim s citanim blobu z databazy.
D3 -> DBF -> TQuery -> TBlobStream
(de o BMP obrazok).
Zapis blobu do databazy je bez problemov,
(obrazok v prislusnom Memo subore sa nachadza),
Nemozem ho vsak z databazy nijako vydolovat.
Uz som skusal vsetko mozne.
Robim to takto:

Zapis do DB:

var
SNote: TMemoryStream;
SFoto: TMemoryStream;
...

begin

SNote.Position := 0;
SFoto.Position := 0;
Notes.Lines.SaveToStream ( SNote );
Image1.Picture.Bitmap.SaveToStream ( SFoto );
SNote.Position := 0;
SFoto.Position := 0;
Query1.Database.Close();
Query1.DatabaseName := HomeDirectory;
Query1.Sql.Clear;
Query1.Sql.Add('UPDATE "' + DBName + '"');
Query1.Sql.Add('SET NAME = :N,');
Query1.Sql.Add('PHONE = :P,');
Query1.Sql.Add('EMAIL = :E,');
Query1.Sql.Add('NOTES = :M,');
Query1.Sql.Add('FOTO = :F');
Query1.Sql.Add('WHERE RECNO = :R');
Query1.Prepare;
Query1.Params[0].AsString := Name.Text;
Query1.Params[1].AsString := Phone.Text;
Query1.Params[2].AsString := Email.Text;
Query1.Params[3].LoadFromStream ( SNote, ftBlob );
Query1.Params[4].LoadFromStream ( SFoto, ftBlob );
Query1.Params[5].AsString := IntToStr(RecNo);
Query1.ExecSQL;

...

Citanie robim takto (jedna z mnohych variant):
----------------------------------------------

var
Buffer: PChar;
MemSize: Integer;
MStream: TMemoryStream;
BStream: TBlobStream;

begin
Query1.Sql.Clear;
Query1.Sql.Add('SELECT *');
Query1.Sql.Add('FROM "' + DBName + '"');
Query1.Sql.Add('AS ADR');
Query1.Sql.Add('WHERE ADR.RECNO = :R');
Query1.Prepare;
Query1.Params[0].AsString := IntToStr ( ARec );
Query1.Open;
Name.Text := Query1.FieldByName('NAME').AsString;
Phone.Text := Query1.FieldByName('PHONE').AsString;
Email.Text := Query1.FieldByName('EMAIL').AsString;
Notes.Text := Query1.FieldByName('NOTES').AsString;
BStream :=
TBlobStream.Create(TBinaryField(query1.FieldByName('FOTO')), bmRead );
try
MemSize := BStream.Size;
if MemSize > 0 then
begin
Inc(MemSize); // priestor pre koncovy null terminator ???
Buffer := AllocMem ( MemSize ); // alokacia pamati
MStream := TMemoryStream.Create();
try
BStream.Position := 0; // pre istotu
BStream.Read ( Buffer^, MemSize ); // Nacita obsah Blobu do
bufra
BStream.Position := 0;
Image1.Picture.Bitmap.LoadFromStream ( BStream );
finally
FreeMem ( Buffer, MemSize );
MStream.Free();
end;
end;
finally
BStream.Free;
end;


Uz som naozaj zrely na psychiatriu.
BlobStream vrati do bufra vzdy len prve tri bytes obrazka,
(po prvu nulu). Zvysok bufra je prazdny.
(AllocMem nuluje).

Vlkovic


simulace stisku klavesy

[*] Jir� Foldyna <jiri.f(zv)avizo(tec)cz> - 6.3.2001 13:50:14

> no to je proto, ze se tam samozrejme musi poslat
> take VK_A (nebo jina virtual_key) a ne ASCII kod.

> > Mam handle nejakeho okna. Timto zpusobem jsem schopen
> provest simulaci
> > stisku
> > klavesy Enter pro toto okno:
> PostMessage(Handle,WM_KEYDOWN,VK_return,0).
> > Podobne napr. pro klavesu ESC:
> > PostMessage(Handle,WM_KEYDOWN,VK_cancel,0).
> > Jakmile se ale pokusim poslat obycejnou klavesu (napr. A),
> nic se nestane.
> > Tento kod nic viditelneho neprovede:
> > PostMessage(Handle,WM_KEYDOWN,ord('A'),0)

Ahoj,

nejsem si uplne jisty, ale neni potreba poslat taky WM_KEYUP ? Jinak pro
posilani alfanumerickych znaku do okna pouzivam uspesne WM_CHAR.
BTW: VK_A = ord('A') - viz WINDOWS.PAS (a nejsou zde definovane !).

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

Ako ziskat "Upravit panel nastroju"

[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 6.3.2001 13:54:35

From: "Petr Vones" <pvones(zv)mbox.vol(tec)cz>> From: "Vaclav Krmela" <krmela(zv)ustinadorlici(tec)cz>
> > Tento dialog nepochazi z Windows, ale je primo soucasto OutlookExpresu,
>
> pochazi z Windows a je soucasti TOOLBARU coby windows controlu. Bohuzel to
> neni 'zakomponentovano' do VCL. viz "Customizing a Toolbar":

Samozrejme mas pravdu.
V OutlookExpresu jsou jenom resource k tomu ToolBaru.

V tom pripade by to ale mohlo jit udelat. Co zkusit toto:

1. Vytvorit si novou komponentu napr. TMyToolBar, potomka TToolBar tak,
ze bude mit navic pouze protected proceduru
procedure CreateParams(var Params: TCreateParams); override;
ktera bude implementovana takto:
procedure TMyToolBar.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do Style := Style or CCS_ADJUSTABLE;
end;

2. Potom by uz mohlo stacit do vlastniho formulare s toolbarem
pridat jednu protected proceduru:
procedure CTBNotify(var Message: TWMNotify); message WM_NOTIFY;
implementovanou takto:
procedure TForm1.CTBNotify(var Message: TWMNotify);
begin
Message.Result := 0;
if Message.NMHdr.hwndFrom = MyToolBar1.Handle then
begin
case Message.NMHdr.code of
TBN_GETBUTTONINFO:
begin
if PNMTOOLBAR(Message.NMHdr).iItem < MyToolBar1.ButtonCount then
Message.Result := 1
else
Message.Result := 0;
end;
TBN_QUERYINSERT: Message.Result := 1;
TBN_QUERYDELETE: Message.Result := 1;
end;
end;
end;

A to je vse. Pak uz staci jenom dvojklik na ToolBaru,
nebo programove:
SendMessage(MyToolBar1.Handle, TB_CUSTOMIZE, 0, 0);

Samozrejme by se to dalo dale vylepsovat....

Vaclav Krmela

Delphi 5 + IB6 + FreeVCS

[*] Dusan Fojtik <fojtikd(zv)aix.upol(tec)cz> - 6.3.2001 14:09:54

Mam takovy maly dotaz
Uz jste se nekdo pokousel rozjet dohromady Delphi 5 + IB6 a FreeVCS
dohromady ? Vsechno jsem v poradku nainstaloval , ale az na to, ze numuzu
nikde objevit skript "stdvalues.sql", ktery zinicializuje databazi.
Mas s tim nekdo zkusenosti ?
S pozdravem
Dusan Fojtikd


BlobStream

[*] Jir� Foldyna <jiri.f(zv)avizo(tec)cz> - 6.3.2001 14:10:06

Ahoj,

mi to funguje takhle:

Modul := TBlobStream.Create(TBLOBField(LADM1F.BDEQ.FieldByName('Modul')),
bmRead);

misto TBinaryField pouzivam TBLOBField.

Jestli to pomuze, nevim, ale je to jen par znaku :-)

Ing. Jiri Foldyna
mailto:jiri.f(zv)avizo(tec)cz
> -----P�vodn� zpr�va-----
> Od: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]za u�ivatele
> Peter Vlkovic
> Odesl�no: 6. b�ezna 2001 13:25
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: BlobStream
>
>
> Ahoj,
> odvcera sa trapim s citanim blobu z databazy.
> D3 -> DBF -> TQuery -> TBlobStream
> (de o BMP obrazok).
> Zapis blobu do databazy je bez problemov,
> (obrazok v prislusnom Memo subore sa nachadza),
> Nemozem ho vsak z databazy nijako vydolovat.
> Uz som skusal vsetko mozne.
> Robim to takto:
>
> Zapis do DB:
>
> var
> SNote: TMemoryStream;
> SFoto: TMemoryStream;
> ...
>
> begin
>
> SNote.Position := 0;
> SFoto.Position := 0;
> Notes.Lines.SaveToStream ( SNote );
> Image1.Picture.Bitmap.SaveToStream ( SFoto );
> SNote.Position := 0;
> SFoto.Position := 0;
> Query1.Database.Close();
> Query1.DatabaseName := HomeDirectory;
> Query1.Sql.Clear;
> Query1.Sql.Add('UPDATE "' + DBName + '"');
> Query1.Sql.Add('SET NAME = :N,');
> Query1.Sql.Add('PHONE = :P,');
> Query1.Sql.Add('EMAIL = :E,');
> Query1.Sql.Add('NOTES = :M,');
> Query1.Sql.Add('FOTO = :F');
> Query1.Sql.Add('WHERE RECNO = :R');
> Query1.Prepare;
> Query1.Params[0].AsString := Name.Text;
> Query1.Params[1].AsString := Phone.Text;
> Query1.Params[2].AsString := Email.Text;
> Query1.Params[3].LoadFromStream ( SNote, ftBlob );
> Query1.Params[4].LoadFromStream ( SFoto, ftBlob );
> Query1.Params[5].AsString := IntToStr(RecNo);
> Query1.ExecSQL;
>
> ...
>
> Citanie robim takto (jedna z mnohych variant):
> ----------------------------------------------
>
> var
> Buffer: PChar;
> MemSize: Integer;
> MStream: TMemoryStream;
> BStream: TBlobStream;
>
> begin
> Query1.Sql.Clear;
> Query1.Sql.Add('SELECT *');
> Query1.Sql.Add('FROM "' + DBName + '"');
> Query1.Sql.Add('AS ADR');
> Query1.Sql.Add('WHERE ADR.RECNO = :R');
> Query1.Prepare;
> Query1.Params[0].AsString := IntToStr ( ARec );
> Query1.Open;
> Name.Text := Query1.FieldByName('NAME').AsString;
> Phone.Text := Query1.FieldByName('PHONE').AsString;
> Email.Text := Query1.FieldByName('EMAIL').AsString;
> Notes.Text := Query1.FieldByName('NOTES').AsString;
> BStream :=
> TBlobStream.Create(TBinaryField(query1.FieldByName('FOTO')), bmRead );
> try
> MemSize := BStream.Size;
> if MemSize > 0 then
> begin
> Inc(MemSize); // priestor pre koncovy null terminator ???
> Buffer := AllocMem ( MemSize ); // alokacia pamati
> MStream := TMemoryStream.Create();
> try
> BStream.Position := 0; // pre istotu
> BStream.Read ( Buffer^, MemSize ); // Nacita obsah Blobu do
> bufra
> BStream.Position := 0;
> Image1.Picture.Bitmap.LoadFromStream ( BStream );
> finally
> FreeMem ( Buffer, MemSize );
> MStream.Free();
> end;
> end;
> finally
> BStream.Free;
> end;
>
> Uz som naozaj zrely na psychiatriu.
> BlobStream vrati do bufra vzdy len prve tri bytes obrazka,
> (po prvu nulu). Zvysok bufra je prazdny.
> (AllocMem nuluje).
>
> Vlkovic
>

Ze by chyba v Bitmap.SaveToFile???

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

Ahoj Delphaci, dlouho sem se na nic neptal, tak si to musim zase
vynahradit. Potrebuju ukladat obsah TLabelu (CANVAS, proste grafickou
reprezentaci) do *.bmp
Pouzil jsem nasledujici kod, ale je zde problem.

1 UpdateLabel(Sender);
2 B.Width:=Label1.Width; B.Height:=Label1.Height;
3 BitBlt(B.Canvas.Handle,0,0,Label1.Width,Label1.Height,
4 Form1.Canvas.Handle,Label1.Left,Label1.Top,SRCCOPY);
5 Image1.Canvas.FillRect(Rect(0,0,Image1.Width,Image1.Height));
6 Image1.Picture.Assign(B);
7 UpdateLabel(Sender);
8 if SaveDialog1.Execute then
9 Image1.Picture.SaveToFile(SaveDialog1.FileName);

na radku 6 se bitmapa s obrazkem LABELu ulozi do Image1, na 7mym radku
se mimojine prekresli TForm. Ten obrazek je tam naprosto v poradku. Na
8mym a 9tym radku by se mela ta bitmapa ulozit. Pokud je tento kod volan
poprve je vse v poradku. Pokud je volan podruhe ulozi se do *.bmp
nesmysl. Musi se ukoncit program a znovu spustit. Pak to zase funguje
pro jeden fajl. Jediny, co uz me snad napada, je chyba v
TBitmap.SaveToFile ... jinak uz fakt nevim.
Ve zdrojacich VCL se sice pohrabat muzu, ale nejsem zatim tak velkej
Delphi profik, abych dokazal najit pripadnou chybu natoz ji opravit...
Jo a abych nezapomel. Delphi 4 Prof, Win98 ... jo a dela to i kdyz je to
spusteny z IDE ... i kdyz mimo ...
Dik predem za jakoukoliv pomoc.
--
Martin Pe#ava

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

Prepinani Unit

[*] Erik Salaj <winsoft(zv)napri.sk> - 6.3.2001 14:21:56

> Pokud vim, tak tenhle procesor ma zcela jinou koncepci. Rada x86 je
postavena
> na tom, ze zpracovava 'jakykoli' kod a snazi se jej vnitrne optimalizovat,
> zatimco Itanium prenasi optimalizaci vyhradne na prekladac, takze tento
jiz
> musi produkovat kod dle urcitych pravidel. Doufejme ze to cele nebude
takovy
> propadak, jako treba Pentium 4 ;-)

Ja by som netvrdil, ze P4 je prepadak. Je to odlisna architektura
podla mna este nie je celkom vyladena. Rovnake problemy boli
aj s klasickymi Pentiami, ked sa prve kusy prehrievali a neboli
tak rychle ako vtedajsie 486-ky. P4 by malo umoznit vyssie
pracovne frekvencie a je tam aj rychlejsia zbernica (tusim
400MHz), takze predpoklady na slubny vykon tam su.

Erik


OT- Self-extractor

[*] Jaroslav Uher <moravia(zv)mbox.vol(tec)cz> - 6.3.2001 14:29:09

Ahoj,

From: "Zaplik" <zaplik(zv)volny(tec)cz>

> Prosim Vas, nevite nekdo o free self-extractoru, ktery by:
> po jeho spusteni rozbalil obsah archivu a potom spustil aplikaci
> rozbalenou z archivu. Musi umet zvolit, jestli chci uzivateli dat
> moznost vyberu cesty pro rozbaleni nebo ne. Dale nechci potvrzovani
> dialogu typu provest/neprovest, spustit/nespustit. Plne by mi
> vyhovoval extractor z Salamanderu 1.6beta, ale autori chteji cca.
> 2000,- .Hlavne aby byl bez reklam!!!! Dik Zaplik

ja bych zkusil DZDEL15M - Overall Freeware Delphi Zip v1.52
package.

http://www.geocities.com/SiliconValley/Orchard/8607/
http://members.tripod.lycos.nl/Vleghert/

Je tam i docela dobre demo.

Jarek Uher
>
>
> ---
> Odchoz� zpr�va neobsahuje viry.
> Zkontrolov�no antivirov m syst�mem AVG (http://www.grisoft(tec)cz).
> Verze: 6.0.226 / Virov� b�ze: 108 - datum vyd�n�: 5.1.2001
>
>

BlobStream

[*] Jaroslav Uher <moravia(zv)mbox.vol(tec)cz> - 6.3.2001 14:29:09

Ahoj,

From: Peter Vlkovic <vlkovic(zv)minv.sk>

> Ahoj,
> odvcera sa trapim s citanim blobu z databazy.
> D3 -> DBF -> TQuery -> TBlobStream
> (de o BMP obrazok).
> Zapis blobu do databazy je bez problemov,
> (obrazok v prislusnom Memo subore sa nachadza),
> Nemozem ho vsak z databazy nijako vydolovat.
> Uz som skusal vsetko mozne.

take se mi to nepodarilo nacist pres Stream a tak jsem to 'obesel'
takto:
var
MyImage : TDBImage;
begin
MyImage := TDBImage.Create(Self);
try
MyImage.DataField := 'Picture';
MyImage.DataSource := DataModul.DataSourceKovani;
MyImage.Visible :=false;
FormKovaniKarta.Image1.Picture.Assign(MyImage.Picture);
finally
MyImage.Free;
end;
end;

Nevim, zda Te to uspokoji (bylo prvni - a zatim posledni - pouziti
TDBxxx komponent, ale uz jsem si take nevedel rady)

Jarek Uher
> Robim to takto:
>
> Zapis do DB:
>
> var
> SNote: TMemoryStream;
> SFoto: TMemoryStream;
> ...
>
> begin
>
> SNote.Position := 0;
> SFoto.Position := 0;
> Notes.Lines.SaveToStream ( SNote );
> Image1.Picture.Bitmap.SaveToStream ( SFoto );
> SNote.Position := 0;
> SFoto.Position := 0;
> Query1.Database.Close();
> Query1.DatabaseName := HomeDirectory;
> Query1.Sql.Clear;
> Query1.Sql.Add('UPDATE "' + DBName + '"');
> Query1.Sql.Add('SET NAME = :N,');
> Query1.Sql.Add('PHONE = :P,');
> Query1.Sql.Add('EMAIL = :E,');
> Query1.Sql.Add('NOTES = :M,');
> Query1.Sql.Add('FOTO = :F');
> Query1.Sql.Add('WHERE RECNO = :R');
> Query1.Prepare;
> Query1.Params[0].AsString := Name.Text;
> Query1.Params[1].AsString := Phone.Text;
> Query1.Params[2].AsString := Email.Text;
> Query1.Params[3].LoadFromStream ( SNote, ftBlob );
> Query1.Params[4].LoadFromStream ( SFoto, ftBlob );
> Query1.Params[5].AsString := IntToStr(RecNo);
> Query1.ExecSQL;
>
> ...
>
> Citanie robim takto (jedna z mnohych variant):
> ----------------------------------------------
>
> var
> Buffer: PChar;
> MemSize: Integer;
> MStream: TMemoryStream;
> BStream: TBlobStream;
>
> begin
> Query1.Sql.Clear;
> Query1.Sql.Add('SELECT *');
> Query1.Sql.Add('FROM "' + DBName + '"');
> Query1.Sql.Add('AS ADR');
> Query1.Sql.Add('WHERE ADR.RECNO = :R');
> Query1.Prepare;
> Query1.Params[0].AsString := IntToStr ( ARec );
> Query1.Open;
> Name.Text := Query1.FieldByName('NAME').AsString;
> Phone.Text := Query1.FieldByName('PHONE').AsString;
> Email.Text := Query1.FieldByName('EMAIL').AsString;
> Notes.Text := Query1.FieldByName('NOTES').AsString;
> BStream :=
> TBlobStream.Create(TBinaryField(query1.FieldByName('FOTO')), bmRead );
> try
> MemSize := BStream.Size;
> if MemSize > 0 then
> begin
> Inc(MemSize); // priestor pre koncovy null terminator ???
> Buffer := AllocMem ( MemSize ); // alokacia pamati MStream
> := TMemoryStream.Create(); try
> BStream.Position := 0; // pre istotu
> BStream.Read ( Buffer^, MemSize ); // Nacita obsah Blobu do
> bufra
> BStream.Position := 0;
> Image1.Picture.Bitmap.LoadFromStream ( BStream );
> finally
> FreeMem ( Buffer, MemSize );
> MStream.Free();
> end;
> end;
> finally
> BStream.Free;
> end;
>
>
> Uz som naozaj zrely na psychiatriu.
> BlobStream vrati do bufra vzdy len prve tri bytes obrazka,
> (po prvu nulu). Zvysok bufra je prazdny.
> (AllocMem nuluje).
>
> Vlkovic
>

Licencni ujednani

[*] Bene� Jaroslav <JBenes(zv)cpoj(tec)cz> - 6.3.2001 14:32:29

Ahoj,

nemate, prosim nekdo text licencniho ujednani (cesky), ktery by byl
standardem (a byl v nejakem modernim pojeti a reflektoval i zmeny
zakonu, napr. citace atp...) a mohl se bezne davat treba k
distribuovanym komponentum nebo programum?

Dekuji

Jaro B.

TIntegerList

[*] Jaroslav Hodal <daark.delphi(zv)email(tec)cz> - 6.3.2001 14:49:49

TIntegerList a TExtendedList jsem pred nejakou dobou delal do diplomky a chodilo
mi to bez problemu. Jestli o ne nekdo ma zajem, tak je rad zaslu. Neni to
samozrejme nic tezkeho naprogramovat, ale kdyz uz je to hotove, tak proc
si pridelavat praci ...

Zdravi

Jaroslav Hodal

ICQ : 5956456
email : daark(zv)email(tec)cz

EMAIL.CZ - Vase posta je vzdy s Vami na
http://www.email(tec)cz

simulace stisku klavesy

[*] Jan Tungli <Jan.Tungli(zv)datapac.sk> - 6.3.2001 14:54:23

mI:=byte('A');
PostMessage((mWin as TwinControl).Handle,WM_CHAR,mI,0);

Jan Tungli
email: jan.tungli(zv)seznam(tec)cz
tungli(zv)datapac.sk
http://www.tungli.host.sk

NEW SQL REPORT BUILDER - end user designer , similar report programing
EDGE components for D5 free with source code (parse SQL query to part:
select.from,where,order... )


> -----P�vodn� zpr�va-----
> Od: giorgione(zv)email(tec)cz [SMTP:giorgione(zv)email(tec)cz]
> Odesl�no: 6. marec 2001 9:20
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: Re: simulace stisku klavesy
>
> Dekuji za vsechny napady, ale bohuzel to nepomohlo.
> 1. VK_A neni vubec definovana
> 2. zkusil jsem nadefinovat promennou a dal jsem ji hodnotu 65 = ord('A').
> Kdyz jsem ji ale vlozil do PostMessage, vysledek byl stejny - opet nic
> :-(
>
> Napadlo me, jestli neni problem v poslednim parametru fce
> PostMessage...lParam.
> Netusite, k cemu ten parametr v tomto pripade je? V helpu se mi
> nepodarilo
> nic kloudnyho najit.
>
>
>
>
> > --- P�vodn� zpr�va ---
> > Od: "Vaclav Krejci" <krejciv(zv)ssakhk(tec)cz>
> > Datum: 06.03.2001 08:32:23
> >
> > Zdravim
> >
> > vk_a asi ne, ale zkus si nadefinovat promennou, ktere priradis to
> pismeno
> a
> > do procedury napises jen tu promennou....
> >
> >
> > ----- Original Message -----
> > From: <tomsir1.edu(zv)mail.cez(tec)cz>
> > To: <delphi-l(zv)fwd(tec)cz>
> > Sent: Tuesday, March 06, 2001 12:26 AM
> > Subject: Re: simulace stisku klavesy
> >
> >
> > >
> > > Tak to zkus takhle treba pro pismeno "A" :
> > >
> > > PostMessage(Handle,WM_KEYDOWN,VK_A,0).
> > >
> > > pokud to projde, muzu ti poslat xls soubor se seznamem vsech
> virtualnich
> > > kodu klaves.
> > >
> > >
> > > Radegast
> > >
> > >
> > >
> > >
> > >
> > > <giorgione(zv)email(tec)cz>(zv)fwd(tec)cz on 05.03.2001 23:25:17
> > >
> > > Odpov�zte pros�m - delphi-l(zv)fwd(tec)cz
> > >
> > > Odesl�no k�m: owner-delphi-l(zv)fwd(tec)cz
> > >
> > >
> > > Komu: <delphi-l(zv)fwd(tec)cz>
> > > Kopie:
> > > P�edm�t: simulace stisku klavesy
> > >
> > >
> > > Zdravicko!
> > >
> > > Mam handle nejakeho okna. Timto zpusobem jsem schopen provest simulaci
> > > stisku
> > > klavesy Enter pro toto okno:
> PostMessage(Handle,WM_KEYDOWN,VK_return,0).
> > > Podobne napr. pro klavesu ESC:
> > PostMessage(Handle,WM_KEYDOWN,VK_cancel,0).
> > > Jakmile se ale pokusim poslat obycejnou klavesu (napr. A), nic se
> nestane.
> > > Tento kod nic viditelneho neprovede: PostMessage(Handle,WM_KEYDOWN,ord
> > > ('A'),0)
> > >
> > > V cem je problem?
> > > Predem diky za nakopnuti :-)
>
>
> EMAIL.CZ - Vase posta je vzdy s Vami na
> http://www.email(tec)cz
>

OT: Clanek o SQL

[*] Ondrej Krajicek <xkrajic(zv)ics.muni(tec)cz> - 06.3.2001 14:56:14


Dobry den,

omlouvam se za offtopic, ale shanim jisty clanek o SQL
a databazich (definice normalnich forem atp.),
ktery kdysi vychazel v casopisu Chip (tak 2 roky
zpetne). Autor tento clanek posleze publikoval
i ve formatu PDF a o tyto PDF dokumenty mi prave jde.
Kdysi byly ke stazeni na spouste mist, ale ja
je ted nemuzu najit. Nemate nekdo link na misto
kde rostou ?

Ondrej Krajicek

--
---------------------------------------------------------------------
Ondrej Krajicek OK-)
email: xkrajic at {fi,ics}.muni(tec)cz
>>> This e-mail is under construction. Best viewed in absolute
darkness. Optimized for unbelievable resolution, two colors:
black and white.
---------------------------------------------------------------------


Nahranie DLL

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 6.3.2001 15:06:51

From: "Branislav Zaujec" <zaujec(zv)nrsys.sk>
> DLLka sa nenahra, ci je v adresari, odkial sa spusta program, alebo vo
> WINDOWS, alebo vo WINDOWS\SYSTEM, jednoducho sama voda.

Ahoj,

patrne ta DLL potrebuje ke svemu behu jeste nejakou dalsi DLL. To lze zjistit
pomoci nastroju typu dependency walker, jeden takovy najdes tady:
http://www.volweb(tec)cz/pvones/delphi/

Petr Vones, amatersky programator


simulace stisku klavesy

[*] Daniel Dedek <Dedek(zv)ds(tec)cz> - 6.3.2001 15:10:05


Ahoj,

nejlepsi asi bude, kdyz se na to okno, kam posilas tu simulaci
stisku klavesy, podivas pomoci WinSight32, to ti presne ukaze, co ti tam
pri skutecnem stisku klavesy chodi. Ja jsem podobnou situaci udelal (pro
ukazku) takhle:

PostMessage( Handle, WM_CHAR, Ord('A'), $1 );

Druha hodnota lParam ma takovyhle vyznam, viz. help
Value of lParam. Specifies the repeat count, scan code,
extended-key flag, context code, previous key-state flag, and
transition-state flag, as shown in the following table...

Dan


> Ahoj,
> giorgione(zv)email(tec)cz wrote:
> >
> > Dekuji za vsechny napady, ale bohuzel to nepomohlo.
> > 1. VK_A neni vubec definovana
>
> { VK_0 thru VK_9 are the same as ASCII '0' thru '9' ($30 - $39) }
> { VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' ($41 - $5A) }
> (windows.pas)
>
>
---
Odchoz� zpr�va neobsahuje viry.
Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.230 / Virov� b�ze: 111 - datum vyd�n�: 25.1.2001


BlobStream

[*] Peter Vlkovic <vlkovic(zv)minv.sk> - 06.3.2001 15:27:54

> mi to funguje takhle:
>
> Modul := TBlobStream.Create(TBLOBField(LADM1F.BDEQ.FieldByName('Modul')),
> bmRead);
>
> misto TBinaryField pouzivam TBLOBField.
>
> Jestli to pomuze, nevim, ale je to jen par znaku :-)
>
> Ing. Jiri Foldyna


Jasne. Povodne som mal v zdrojaku TBLOBField.
Ale prepisoval som to krizom, krazom, hladal
v Delphi zdrojakcoh, konferencii na internete
rozne priklady. Ale nerozchodil som to.
Povodny zapis vuzeral takto:

BStream := TBlobStream.Create(TBlobField(query1.FieldByName('FOTO')),
bmRead );

alebo aj takto:

BStream := TBlobStream.Create(query1.FieldByName('FOTO') as TBlobField,
bmRead );

Ako som uz spominal, najlepsi vysledok je ten,
ze ziskam len prve 3 byte hlavicky.
Zvysok od prvej nuly v hlavicke
BlobStrem (nevedno preco) vrati
orezany. Rozmyslam, ze prislusne
binarne data budem prevadzat
do UUENCODE. Ale bude to
trochu pritiahnute za vlasy.
Mimochodom velkostou obrazka
to nie je - momentalne pcham
do databazy cca 200 bytovu
bitmapu.

Vlkovic

> > Ahoj,
> > odvcera sa trapim s citanim blobu z databazy.
> > D3 -> DBF -> TQuery -> TBlobStream
> > (de o BMP obrazok).
> > Zapis blobu do databazy je bez problemov,
> > (obrazok v prislusnom Memo subore sa nachadza),
> > Nemozem ho vsak z databazy nijako vydolovat.
> > Uz som skusal vsetko mozne.
> > Robim to takto:
> >
> > Zapis do DB:
> >
> > var
> > SNote: TMemoryStream;
> > SFoto: TMemoryStream;
> > ...
> >
> > begin
> >
> > SNote.Position := 0;
> > SFoto.Position := 0;
> > Notes.Lines.SaveToStream ( SNote );
> > Image1.Picture.Bitmap.SaveToStream ( SFoto );
> > SNote.Position := 0;
> > SFoto.Position := 0;
> > Query1.Database.Close();
> > Query1.DatabaseName := HomeDirectory;
> > Query1.Sql.Clear;
> > Query1.Sql.Add('UPDATE "' + DBName + '"');
> > Query1.Sql.Add('SET NAME = :N,');
> > Query1.Sql.Add('PHONE = :P,');
> > Query1.Sql.Add('EMAIL = :E,');
> > Query1.Sql.Add('NOTES = :M,');
> > Query1.Sql.Add('FOTO = :F');
> > Query1.Sql.Add('WHERE RECNO = :R');
> > Query1.Prepare;
> > Query1.Params[0].AsString := Name.Text;
> > Query1.Params[1].AsString := Phone.Text;
> > Query1.Params[2].AsString := Email.Text;
> > Query1.Params[3].LoadFromStream ( SNote, ftBlob );
> > Query1.Params[4].LoadFromStream ( SFoto, ftBlob );
> > Query1.Params[5].AsString := IntToStr(RecNo);
> > Query1.ExecSQL;
> >
> > ...
> >
> > Citanie robim takto (jedna z mnohych variant):
> > ----------------------------------------------
> >
> > var
> > Buffer: PChar;
> > MemSize: Integer;
> > MStream: TMemoryStream;
> > BStream: TBlobStream;
> >
> > begin
> > Query1.Sql.Clear;
> > Query1.Sql.Add('SELECT *');
> > Query1.Sql.Add('FROM "' + DBName + '"');
> > Query1.Sql.Add('AS ADR');
> > Query1.Sql.Add('WHERE ADR.RECNO = :R');
> > Query1.Prepare;
> > Query1.Params[0].AsString := IntToStr ( ARec );
> > Query1.Open;
> > Name.Text := Query1.FieldByName('NAME').AsString;
> > Phone.Text := Query1.FieldByName('PHONE').AsString;
> > Email.Text := Query1.FieldByName('EMAIL').AsString;
> > Notes.Text := Query1.FieldByName('NOTES').AsString;
> > BStream :=
> > TBlobStream.Create(TBinaryField(query1.FieldByName('FOTO')), bmRead );
> > try
> > MemSize := BStream.Size;
> > if MemSize > 0 then
> > begin
> > Inc(MemSize); // priestor pre koncovy null terminator ???
> > Buffer := AllocMem ( MemSize ); // alokacia pamati
> > MStream := TMemoryStream.Create();
> > try
> > BStream.Position := 0; // pre istotu
> > BStream.Read ( Buffer^, MemSize ); // Nacita obsah Blobu do
> > bufra
> > BStream.Position := 0;
> > Image1.Picture.Bitmap.LoadFromStream ( BStream );
> > finally
> > FreeMem ( Buffer, MemSize );
> > MStream.Free();
> > end;
> > end;
> > finally
> > BStream.Free;
> > end;
> >
> >
> > Uz som naozaj zrely na psychiatriu.
> > BlobStream vrati do bufra vzdy len prve tri bytes obrazka,
> > (po prvu nulu). Zvysok bufra je prazdny.
> > (AllocMem nuluje).

Vyuziti formularu vytvorenych v Accessu

[*] martin.falta(zv)obi.de - 6.3.2001 15:35:55

Ahoj,

mam databazi vytvorenou v Access 2000. V teto databazi je nekolik formu,
ktere bych rad vyuzil ve svem programu (preci jen jsem linej je znovu
vytvaret). Vite nekdo jak na to?

Predem dekuji.
Martin

D5Pro SP1, Adonis 4.1, Win98

IMPORTANT NOTICE:

This email is confidential, may be legally privileged, and is for the
intended recipient only. Access, disclosure, copying, distribution, or
reliance on any of it by anyone else is prohibited and may be a criminal
offence. Please delete if obtained in error and email confirmation to the sender.

Delphi 5 + IB6 + FreeVCS

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 6.3.2001 15:45:14



> Mam takovy maly dotaz
> Uz jste se nekdo pokousel rozjet dohromady Delphi 5 + IB6 a FreeVCS
> dohromady ? Vsechno jsem v poradku nainstaloval , ale az na to, ze numuzu
> nikde objevit skript "stdvalues.sql", ktery zinicializuje databazi.
> Mas s tim nekdo zkusenosti ?


ten by mel snad byt soucasti instalace klientskeho baliku. Ja pouzivam
DBISAM server a tam to tak bylo musel jsem zkopirovat obsah nejakeho
adresare. Je to popsane na www.freevcs.de ve FAQ nebo tam nekde.

D. Toman

Karta Woodoo a po�kozen� ikonky Delphi

[*] Str�n�k Franti�ek - 6.3.2001 15:46:36

Pratele,
stary problem - nyni pouze jenom zkusenost. Mate nekdo zkusenost s
grafickou kartou Woodoo a s ikonkama Delphi ?
Poskozuje nebo neposkozuje ?
Diky za odpoved !

Zdravi F.Stranik
FSTRANIK(zv)CPOJ.CZ


OT- Self-extractor

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 6.3.2001 15:46:37



> Prosim Vas, nevite nekdo o free self-extractoru, ktery by:
> po jeho spusteni rozbalil obsah archivu a potom spustil aplikaci
rozbalenou
> z archivu. Musi umet zvolit, jestli chci uzivateli dat moznost vyberu
cesty
> pro rozbaleni nebo ne. Dale nechci potvrzovani dialogu typu
> provest/neprovest, spustit/nespustit. Plne by mi vyhovoval extractor z
> Salamanderu 1.6beta, ale autori chteji cca. 2000,- .Hlavne aby byl bez
> reklam!!!!

Tusim ze www.winzip.com - winzip-selfextractor je pro nekomercni ucely
free...


D. Toman

BlobStream

[*] Ji�� Foldyna <jiri.f(zv)avizo(tec)cz> - 6.3.2001 15:52:17

Jeste me napadlo, co zkusit ukladat jiny BlobType - treba ftGraphic ?

Ing. Jiri Foldyna
mailto:jiri.f(zv)avizo(tec)cz
> -----P�vodn� zpr�va-----
> Od: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]za u�ivatele
> Peter Vlkovic
> Odesl�no: 6. b�ezna 2001 15:28
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: Re: BlobStream
>
>
> > mi to funguje takhle:
> >
> > Modul :=
> TBlobStream.Create(TBLOBField(LADM1F.BDEQ.FieldByName('Modul')),
> > bmRead);
> >
> > misto TBinaryField pouzivam TBLOBField.
> >
> > Jestli to pomuze, nevim, ale je to jen par znaku :-)
> >
> > Ing. Jiri Foldyna
>
>
> Jasne. Povodne som mal v zdrojaku TBLOBField.
> Ale prepisoval som to krizom, krazom, hladal
> v Delphi zdrojakcoh, konferencii na internete
> rozne priklady. Ale nerozchodil som to.
> Povodny zapis vuzeral takto:
>
> BStream := TBlobStream.Create(TBlobField(query1.FieldByName('FOTO')),
> bmRead );
>
> alebo aj takto:
>
> BStream := TBlobStream.Create(query1.FieldByName('FOTO') as
> TBlobField,
> bmRead );
>
> Ako som uz spominal, najlepsi vysledok je ten,
> ze ziskam len prve 3 byte hlavicky.
> Zvysok od prvej nuly v hlavicke
> BlobStrem (nevedno preco) vrati
> orezany. Rozmyslam, ze prislusne
> binarne data budem prevadzat
> do UUENCODE. Ale bude to
> trochu pritiahnute za vlasy.
> Mimochodom velkostou obrazka
> to nie je - momentalne pcham
> do databazy cca 200 bytovu
> bitmapu.
>
> Vlkovic
>
>
>
> > > Ahoj,
> > > odvcera sa trapim s citanim blobu z databazy.
> > > D3 -> DBF -> TQuery -> TBlobStream
> > > (de o BMP obrazok).
> > > Zapis blobu do databazy je bez problemov,
> > > (obrazok v prislusnom Memo subore sa nachadza),
> > > Nemozem ho vsak z databazy nijako vydolovat.
> > > Uz som skusal vsetko mozne.
> > > Robim to takto:
> > >
> > > Zapis do DB:
> > >
> > > var
> > > SNote: TMemoryStream;
> > > SFoto: TMemoryStream;
> > > ...
> > >
> > > begin
> > >
> > > SNote.Position := 0;
> > > SFoto.Position := 0;
> > > Notes.Lines.SaveToStream ( SNote );
> > > Image1.Picture.Bitmap.SaveToStream ( SFoto );
> > > SNote.Position := 0;
> > > SFoto.Position := 0;
> > > Query1.Database.Close();
> > > Query1.DatabaseName := HomeDirectory;
> > > Query1.Sql.Clear;
> > > Query1.Sql.Add('UPDATE "' + DBName + '"');
> > > Query1.Sql.Add('SET NAME = :N,');
> > > Query1.Sql.Add('PHONE = :P,');
> > > Query1.Sql.Add('EMAIL = :E,');
> > > Query1.Sql.Add('NOTES = :M,');
> > > Query1.Sql.Add('FOTO = :F');
> > > Query1.Sql.Add('WHERE RECNO = :R');
> > > Query1.Prepare;
> > > Query1.Params[0].AsString := Name.Text;
> > > Query1.Params[1].AsString := Phone.Text;
> > > Query1.Params[2].AsString := Email.Text;
> > > Query1.Params[3].LoadFromStream ( SNote, ftBlob );
> > > Query1.Params[4].LoadFromStream ( SFoto, ftBlob );
> > > Query1.Params[5].AsString := IntToStr(RecNo);
> > > Query1.ExecSQL;
> > >
> > > ...
> > >
> > > Citanie robim takto (jedna z mnohych variant):
> > > ----------------------------------------------
> > >
> > > var
> > > Buffer: PChar;
> > > MemSize: Integer;
> > > MStream: TMemoryStream;
> > > BStream: TBlobStream;
> > >
> > > begin
> > > Query1.Sql.Clear;
> > > Query1.Sql.Add('SELECT *');
> > > Query1.Sql.Add('FROM "' + DBName + '"');
> > > Query1.Sql.Add('AS ADR');
> > > Query1.Sql.Add('WHERE ADR.RECNO = :R');
> > > Query1.Prepare;
> > > Query1.Params[0].AsString := IntToStr ( ARec );
> > > Query1.Open;
> > > Name.Text := Query1.FieldByName('NAME').AsString;
> > > Phone.Text := Query1.FieldByName('PHONE').AsString;
> > > Email.Text := Query1.FieldByName('EMAIL').AsString;
> > > Notes.Text := Query1.FieldByName('NOTES').AsString;
> > > BStream :=
> > >
> TBlobStream.Create(TBinaryField(query1.FieldByName('FOTO')), bmRead );
> > > try
> > > MemSize := BStream.Size;
> > > if MemSize > 0 then
> > > begin
> > > Inc(MemSize); // priestor pre koncovy null terminator ???
> > > Buffer := AllocMem ( MemSize ); // alokacia pamati
> > > MStream := TMemoryStream.Create();
> > > try
> > > BStream.Position := 0; // pre istotu
> > > BStream.Read ( Buffer^, MemSize ); // Nacita
> obsah Blobu do
> > > bufra
> > > BStream.Position := 0;
> > > Image1.Picture.Bitmap.LoadFromStream ( BStream );
> > > finally
> > > FreeMem ( Buffer, MemSize );
> > > MStream.Free();
> > > end;
> > > end;
> > > finally
> > > BStream.Free;
> > > end;
> > >
> > >
> > > Uz som naozaj zrely na psychiatriu.
> > > BlobStream vrati do bufra vzdy len prve tri bytes obrazka,
> > > (po prvu nulu). Zvysok bufra je prazdny.
> > > (AllocMem nuluje).
>

simulace stisku klavesy

[*] Hubka Lubos <L.Hubka(zv)trenkwalder(tec)com> - 6.3.2001 15:52:07

> Mam handle nejakeho okna. Timto zpusobem jsem schopen provest
> simulaci stisku
> klavesy Enter pro toto okno:
> PostMessage(Handle,WM_KEYDOWN,VK_return,0).
> Podobne napr. pro klavesu ESC:
> PostMessage(Handle,WM_KEYDOWN,VK_cancel,0).
> Jakmile se ale pokusim poslat obycejnou klavesu (napr. A),
> nic se nestane.
> Tento kod nic viditelneho neprovede:
> PostMessage(Handle,WM_KEYDOWN,ord('A'),0)
> V cem je problem?
> Predem diky za nakopnuti :-)

Ahoj!
Presne tento problem som riesil.
Je to tym, ze ked posles klavesu do okna, tak to
na pismena nereaguje. Predpokladam, ze chces poslat
pismeno do Editu, Memo, alebo RichEditu.
Aby si mohol posielat spravy prvkom na forme (prvkom okna)
musis spriahnut vstupy.
Tento postup mam vyskusany a funguje (je to pre C++Builder, takze si to
musis trosku upravit):
unsigned long tr1, tr2;
tr1 = GetWindowThreadProcessId(ghwnd1,NULL); //ghwnd1 je handle na
okno
tr2 = GetWindowThreadProcessId(Application->Handle,NULL);
AttachThreadInput(tr1, tr2, true); //spriahnem vstupy

PostMessage(ghwnd,WM_KEYDOWN ,'W' ,0); //posielam pismeno "male w"
Toto ma hacik, ze focus musi byt na tom prvku, do ktoreho chces
posielat pismena.

AttachThreadInput(tr1, tr2, false); //odpojim vstupy

S pozdravom
/LH


Prepinani Unit

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 6.3.2001 15:58:34

> > napriklad ho muzu pouzit pri predavani paramatru dalsi rutine. Cili
> usetrim
> > nejaky ten radek kodu, usetrim pomkocnou promennou nebo opakovany zapis
> > volani rutiny. V dusledku take velmi ulehcuju praci optimalizatoru...
>
> To preto asi bude C/C++ kompilator taky rychly oproti Delphi.

Je pravda, ze C++ kompilator (alespon to co jsem zkousel - nejake VC++ od
MS) kompiluje silene dlouho. Castecne je to proto, ze se kompiluji kdejake
podpurne fily a knihovny (hello project kompiloval snad 30000 radku :-( )
castecne proto, ze je nutne nejprve zrejme spachat preprocessing na makra a
castecne proto, ze jazyk je komplikovanejsi a castecne taky tim jak dobre je
kompilator navrzen.
Myslim, ze zde diskutovane povely a zpusoby zapisu kodu nemuzou mit zasadni
vliv na rychlost kompilace..

D. Toman

SQL + presunuti zaznamu

[*] Parizsky Ladislav <parizsky(zv)access-it(tec)cz> - 06.3.2001 16:07:50

Cau,
existuje nejaky jednoduchy zpusob jak presunout radek z jedny tabulky do druhy pomoci SQL prikazu ? Tabulky maji stejna pole.

Dik Ladap

Delphi5 Pro, MSSQL7


Prepinani Unit

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 6.3.2001 16:08:26



> > a mozna 8 bytu a dvacet cyklu :-). Vse zalezi jen na poctu promennych a
> > velikosti inicializovane pameti (a taky na tom, zda pamet lze prepsat
> > stejnou hodnotou nebo ma mit kazda promenna jinou startovni hodnotu a
taky
> > na inteligenci kompilatoru). Ruzne procesory take nektere instrukce
> > vykonavaji ruzne dlouhou dobu...
>
> Mozno 800 bytov a 3000 cyklov ale je to asi tak pravdepodobne ako
> zrazka asteroidu so Zemou ;-).

Pokud nikdy nevytvaris lokalni pole, rekordy, objekty, shortstringa.......
Prilis casto argumentujes poctem pravdepodobnosti....

>
> > > Dobry kompilator ju vynecha, ak zisti, ze nie je potrebna. Obecne
> > > ale zistit, ze inicializacia nie je potrebna nie je take jednoduche.
> >
> > mel jsem na mysli - musi ji vynechat pokud neni inicializace potrebna
> > (napriklad prvni akce s promennou je prirazeni)
>
> To je samozrejme. Bavime sa o takychto a daleko lepsich kompilatoroch.
> Videl som az neuveritelne optimalizacie (globalne, medzi funkciami),
> ktore robil Intel v kompilatore pre Itanium. Prave jazyky elegantne
> navrhnute, ktore vedu programatora k jasnemu prehladnemu kodu
> bez vedlajsich efektov tvorbu takychto optimalizatorov znacne ulahcuju.
> Pokial si ale programator chce vestko sam kontrolovat a vynutit priam
> az na ASM urovni, pise komplikovany kod plny skokov, kdejakych
> optimalizujucich priradeni, vedlajsich efektov a zavislosti na poradi
> vyhodnocovania (povnarane priradenia), atd. tak optimalizator je
> v takom pripade nanic (co ma vlastne optimalizovat, ked uzivatel
> chce sam pisat nejaky komplikovany optimalizovany kod?).

no on nikdy optimalizator nebude dokonaly.

> Dalsia zrada je v tom, ze kod optimalizovany pre jeden procesor,
> napr. 486 moze byt znacne neefektivny pre iny procesor (s inou
> architekturou, cache pametou, atd.), povedzme pre Pentium.

byly znacne rozdily mezi 286, 386 a 486 (napriklad nektere stringove
instrukce procesoru behaly rychleji na 286 nez na 486, pokud se nepletu a v
nekterych pripadech bylo lepsi je nepouzivat). Pentia takove rozdily tusim
nemaji (samozrejme nepocitam-li moznost nahradit nektere operace pomoci
specializovanych sad instrukci, ktere jsou v novejsich Pentiich)

> > programator, ktery pise neco co je casove kriticke, se musi zajimat o
kod,
> > ktery kompilator vygeneroval, aby byl schopen detekovat pomale casti
kodu.
>
> Ano, ide ale o vynimocny pripad, viz dalej.
>
> > To je sice pravda, ale neopravnuje to nikoho k tomu, aby z jazyka
vymytil
> > veci, ktere vetsina programatoru nepouziv�. Stane-li se to, pak v tom
> jazyce
> > budou programovat opravdu jen generatori kodu. Ostatni co potrebuji k
> > programovani vic budou nuceni prejit na neco jineho (a nebude to ani C#
> ani
> > Eiffel ani Java a spol).
>
> Eiffel to riesi tak, ze poskytuje moznost linkovat externy kod z
> C/C++/ASM/Javy a dalsich jazykov.
>
> Nie je vyhodnejsie v 99.99 percentach kodu pouzit jednoduchy, prehladny
> a kvalitny jazyk a len to 0.01 percento kodu napisat v ASM alebo C-cku ako
> koli 0.01 percentu komplikovat jzyk a narobit si problemy so zvysnymi 99.9
> percentami kodu?
>
> C# podporuje unsafe kod, kde nie je automaticka sprava pameti ale
> je mozne manualne pracovat s pametou klasickym sposobom pomocou
> smernikov, aby podporil spolupracu s existujucimi aplikaciami.
>
> Java to riesi pomocou pomerne komplikovanym sposobom (JNI), t.j.
> treba naprogramovat akesi rozhranie (DLL kniznicu) pre spolupracu
> Java aplikacie s nie Java softwarom.
>
> > > Napisal som pred inou aplikaciou. Moze ist napr. o nejake DLL-ko.
> >
> > aha - pak je to ale dalsi nesmysl. Chci-li branit vlastni stack pred
tim,
>
> Robis niekedy unahlene zavery.
>
> > aby si jej nejaka rutina z nejakeho DLLka neprecetla, pak _MUSIM_ ten
> stack
> > smazat jeste pred volanim te rutiny. Jenze muzu mazat jen tu cast
> zasobniku,
> > kterou nemam obsazenou (cili nemohu mazat bez nasledku data nadrizenych
> > rutin) a to je podle me spis opravdu zalezitot deinicializace lokalnich
> > promennych nez jejich inicializace. Pokud bude automaticka pak je to
zase
> > pitomost. manualne to muze delat i ted. To DLLko stale muze cist stack
> > nadrizenych rutin. Je blbost mazat ten stack pred volanim rutiny. Muselo
> by
> > se mazat treba 100 kilo dat (od aktualni posize az po konec stacku nebo
> by
> > se musela slozite udrzovat obsazena delka stacku
>
> Rozumny jazyk, ktory inicializuje premenne na stacku (napr. Eiffel) a
ktory
> Ti neumozni priamo so stackom manipulovat (napr. Eiffel) jednoducho
> neumoznuje ziadnemu programu citat informacie inej aplikacie zo stacku,
> cize aj to DLL-ko ak by bolo pisane v Eiffely,

budu-li se snazit psat DLLko ktere by melo takto vykrast data samozrejem jej
napisu v necem co me stack neznici...

>tak sa k tymto udajom
> nedostane. Rovnako tak, nemozes prepisovat lubovolne udaje

>. Taketo
> programy potom nemusim spustat ako samostatne procesy ale ako
> thready v jednom procese, co znacne zvysuje vykonnost a skalovatelnost.
> A tak tych par instrukcii na inicializaciu sa mi tu moze vratit (aj s
urokmi
> ;-) ).

to jsem nejak nepochopil - netusim jak zminka o threadech souvisi s
predchozim textem. Thready maji kazdy svuj stack - cili ctenim stacku vidi
stale jen svoje data. Volaji-li DLLko pak DLLko ma moznost dostat se do
stacku daneho threadu...


D. Toman

BlobStream

[*] Peter Vlkovic <vlkovic(zv)minv.sk> - 06.3.2001 16:09:20

Zda sa ze problem bude s tou nulou,
ktora sa v ukladanej Bitmape hojne vyskytuje.
Ked Bitmapy pred ulozenim do Blobu prevediem
na hexa-string, s naslednym citanim blobu
nie su ziadne problemy.
Toto riesenie sa mi vsak nepaci.
Neporadi niekto, kde je pes zakopany?
Poznamenavam, ze potrebujem riesenie
na baze TQuery.

Vlkovic

> > misto TBinaryField pouzivam TBLOBField.
> >
> > Ing. Jiri Foldyna
>
> Jasne. Povodne som mal v zdrojaku TBLOBField.
> Ale prepisoval som to krizom, krazom, hladal
> v Delphi zdrojakcoh, konferencii na internete
> rozne priklady. Ale nerozchodil som to.
> Povodny zapis vuzeral takto:
>
> BStream := TBlobStream.Create(TBlobField(query1.FieldByName('FOTO')),
> bmRead );
>
> alebo aj takto:
>
> BStream := TBlobStream.Create(query1.FieldByName('FOTO') as TBlobField,
> bmRead );
>
> Ako som uz spominal, najlepsi vysledok je ten,
> ze ziskam len prve 3 byte hlavicky.
> Zvysok od prvej nuly v hlavicke
> BlobStrem (nevedno preco) vrati
> orezany. Rozmyslam, ze prislusne
> binarne data budem prevadzat
> do UUENCODE. Ale bude to
> trochu pritiahnute za vlasy.
> Mimochodom velkostou obrazka
> to nie je - momentalne pcham
> do databazy cca 200 bytovu
> bitmapu.
>
> Vlkovic


Nahranie DLL

[*] brant(zv)dcomm(tec)cz - 6.3.2001 16:09:25

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

Setkal jsem se s podobnym problemem, ale u staticky pripojovane DLL, ale v
D1, kde stacilo v IDE napsat
...external 'Brow'... (tedy bez 'DLL') a v IDE to chodilo. A v NT nikoli,
tam se muselo to 'DLL' dopsat. Nemuze to byt neco podobneho? Nebo zkus k
nazvu te knihovny pripojit i plnou cestu.

RNDr. Petr Brant [Brant(zv)dcomm(tec)cz]
ICQ # 68652380

D&COMM s.r.o
Korunova�n� 6
Praha 7
-----Original Message-----
From: Branislav Zaujec [mailto:zaujec(zv)nrsys.sk]
Sent: Tuesday, March 06, 2001 1:01 PM
To: Konferencia DELPHI
Subject: Nahranie DLL


Zdravim,

chcel by som vas poprosit o pomoc s mojim problemom.
Vo svojom projekte volam funkcie z DLL. problem je, ze ked aplikaciu spustim
samostatne, tak sa mi tato DLLka nenahra. Ak sa aplikacia spusti z Deplhi
IDE,
tak vsetko ide v pohode

Mam D5Prof, WIN98, nahravam DLL pomocou mHandle :=
LoadLibrary('BROW.DLL');

DLLka sa nenahra, ci je v adresari, odkial sa spusta program, alebo vo
WINDOWS,
alebo vo WINDOWS\SYSTEM, jednoducho sama voda.

Dakujem za kazde nakopnutie
S pozdravom
Zaujec, NRSYS
---
P��choz� zpr�va neobsahuje viry.
Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.228 / Virov� b�ze: 109 - datum vyd�n�: 17.1.2001

Prepinani Unit

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 6.3.2001 16:15:10

> > Ale je pravda, ze u pointru bych automatickou inicializaci (byla-li by
> > inteligentni a vypinatelna) uvital.
>
> Mas na mysli GetMem a AllocMem?

ani ne :-) ale NIL po deklaraci pointeru kdekoliv.

Procedure BlahBlah;
VAR
P : Pointer;
begin
// a tady by P melo automaticky NIL hodnotu;

---------

I kdyz pokud nad tim premyslim, jsou chyby (alespon moje) pramenici s
nespravnou praci s pointry zpusobeny jinymi problemy nez zapomenutim
alokovat pamet.

D. Toman

MTS Administration Object Methods

[*] Vodicka, David (CAP, GCF) <David.Vodicka(zv)gecapital(tec)com> - 6.3.2001 16:18:37

Zdravim,
potrebuji udelat "nahradu (svoji variantu)" Transaction Server Exploreru,
a mam nasledujici problem. Pomoci funkci "MTS Administration Object Methods"
se mi podarilo nacist seznam nainstalovanych balicku, komponent v nich
obsazenych, a spoustu dalsi informaci ALE nemohu najit funkci, ktera by me
vratila Pocet objektu, Pocet aktivovanych a pocet volajicich objektu -
zkratka stav komponent. Netusi nekdo jak se to da udelat?

David Vodicka


CGI

[*] Mephisto <mephisto(zv)akvila(tec)cz> - 6.3.2001 16:58:51

Mohl by mi nekdo prosim poslat na muj soukromy mail nejake CGI.

Diky moc !!!


---
Odchozi zprava neobsahuje viry.
Zkontrolovano antivirovym systemem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.231 / Virova baze: 112 - datum vydani: 12.02.2001

BDE

[*] "Mirek Drej�ek" <drejcek(zv)schkocr(tec)cz> - 06.3.2001 17:36:42

Zdravim,
mam aplikaci, ktera beha na vetsine PC dobre. Ale setkal jsem se uz s dvema pocitaci, kde po instalaci a naslednem pokusu spusteni aplikace se vypise asi toto:
Interface mismatch. Engine error different. Jeden stroj je s WinNT, druhy Win98. Jinak, tam kde to funguje je WinNT.
Aplikace vyuziva BDE. Je vytvorena v Delphi 5 prof. a instalace je vytvorena pomoci InstallShieldu Express.
Pomuzete mi prosim nekdo?
S pozdravem Mirek Drejcek.

Disable Tlacitek

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 6.3.2001 17:39:51

Jak jiz psal Petr Vones, pouzij ActionList. Na nej si vloz pres
standard action jiz hotova tlacitka pro operace, ktere potrebujes.
Pokud si k ActionListu predem pripojis ImageList, natahnou se ti i s
ikonami.
Pak staci udelat ToolBar a naplacat tam tlacitka a tem pridat
prislusnou Action. Je jedno jestli to udelas pres ToolBar nebo pres
standardni tlacitka nebo i do PopupMenu, vse centralne osetrujes
(vlastne jiz je osetreno) v ActionListu.
Vyhoda oproti standardni db komponente s listou tlacitek je ta, ze si
tam muzes dat ceske popisky :-)

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

05.03.2001 Hazuka Filip:
> Dobry den.
> Omlouvam se, ze oslovuji n�koho, koho neznam, ale sleduji Delphi konferenci
> a z toho jsem usoudil, ze oslovovani lidi, kteri se ji ucastni je normalni.
> Jestlize jsem to pochopil spatne, pak me prosim omluvte.
> Mam takovy maly problem. Potreboval bych nejak elegantne resit disable
> tlacitek.
> Mam databazovou aplikaci, kde mam vlastni tlacitka jako je Novy, Vpred,
> Zpet, Ulozit atd...
> Priklad. Jestlize zmacknu Novy, potom se mi disabluji tlacitka Vpred, Zpet,
> Smaz atd...
> Ja to delam hloupim zpusobem, ze postupne vsem pisu Vpred.Enabled:= False
> atd.
> Jde napsat nejakou f-ci, ktera by to resila elegantneji a s malym mnozstvim
> kodu ?

> Zdravi Filip.

> Dekuji za odpoved.

problem s *.dbf na siti

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 6.3.2001 17:42:42

BDE nepracuje s DBF tabulkami tak jak by melo, zvlast u tabulek
FoxPro. Problemy se ukazou pri zapisu, hlavne kdyz tabulka obsahuje
vetsi mnozstvi dat.
Pomuze ti pristup pres BDE a ODBC, pokud trvas na DBF tabulkach. Pokud
je to v tvych silach, prejdi na Paradox.

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

05.03.2001 Petr S:
> Ahojte,

> jeden muj kamarad, ma takovyto problem :

> Mam tady nasledujici problem s Delphi:
> - aplikace je na siti NT (pouzivam *.dbf tabulky pres BDE)
> - kdyz s ni pracuji na PII je vse OK
> - kdyz s ni pracuji na PIII pri zpracovani dat to po chvili zatuhne a je to
> mrtve
> - za nejakou dobu vyzkoci chyba, ze je chyba v uzamceni
> - to ale nechapu, protoze ja pouziji Exclusive otevreni a
> pak stand. edit, post, ...

> - kdyz hodim data ze site na lokal PIII, tak je vse OK

> - Vidim problem ve spatnem zamykani (nebo nestihani odemykani recordu) -
> nemas nejaky napad co s tim ?

> Predem diky za jakoukoli radu


> Petr Sadovsky

OT- Self-extractor

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 6.3.2001 17:47:26

Mozna by stacil i InnoSetup. Je to sice free program na vytvareni
instalaci, ale to co delas je vlastne instalace.

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

06.03.2001 Zaplik:
> Prosim Vas, nevite nekdo o free self-extractoru, ktery by:
> po jeho spusteni rozbalil obsah archivu a potom spustil aplikaci rozbalenou
> z archivu. Musi umet zvolit, jestli chci uzivateli dat moznost vyberu cesty
> pro rozbaleni nebo ne. Dale nechci potvrzovani dialogu typu
> provest/neprovest, spustit/nespustit. Plne by mi vyhovoval extractor z
> Salamanderu 1.6beta, ale autori chteji cca. 2000,- .Hlavne aby byl bez
> reklam!!!!
> Dik Zaplik


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

FreeVCS

[*] Lasevic, Martin <MLasevic(zv)ratiopharm(tec)cz> - 6.3.2001 17:49:53

Tak nejak jsem ted nepotreboval. Kde se da sehnat FreeVCS?

Diky

Martin

-----Original Message-----
From: Dusan Fojtik [mailto:fojtikd(zv)aix.upol(tec)cz]
Sent: Tuesday, March 06, 2001 2:10 PM
To: delphi-l(zv)fwd(tec)cz
Subject: Delphi 5 + IB6 + FreeVCS


Mam takovy maly dotaz
Uz jste se nekdo pokousel rozjet dohromady Delphi 5 + IB6 a FreeVCS
dohromady ? Vsechno jsem v poradku nainstaloval , ale az na to, ze numuzu
nikde objevit skript "stdvalues.sql", ktery zinicializuje databazi.
Mas s tim nekdo zkusenosti ?
S pozdravem
Dusan Fojtikd


Ze by chyba v Bitmap.SaveToFile???

[*] brant(zv)dcomm(tec)cz - 6.3.2001 17:53:20

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

Ne ze bych to vedel presne, ale tipuju to na problem s DeviceContextem (ten
je zapouzdren delphackym Canvasem). Nejaky problem s uvolnovanim apod. (ten
objekt B?)
RNDr. Petr Brant [Brant(zv)dcomm(tec)cz]
ICQ # 68652380

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


-----Original Message-----
From: Martin Pe#ava [mailto:jimx(zv)volny(tec)cz]
Sent: Tuesday, March 06, 2001 2:17 PM
To: delphi-l(zv)fwd(tec)cz
Subject: Ze by chyba v Bitmap.SaveToFile???


Ahoj Delphaci, dlouho sem se na nic neptal, tak si to musim zase
vynahradit. Potrebuju ukladat obsah TLabelu (CANVAS, proste grafickou
reprezentaci) do *.bmp
Pouzil jsem nasledujici kod, ale je zde problem.

1 UpdateLabel(Sender);
2 B.Width:=Label1.Width; B.Height:=Label1.Height;
3 BitBlt(B.Canvas.Handle,0,0,Label1.Width,Label1.Height,
4 Form1.Canvas.Handle,Label1.Left,Label1.Top,SRCCOPY);
5 Image1.Canvas.FillRect(Rect(0,0,Image1.Width,Image1.Height));
6 Image1.Picture.Assign(B);
7 UpdateLabel(Sender);
8 if SaveDialog1.Execute then
9 Image1.Picture.SaveToFile(SaveDialog1.FileName);

na radku 6 se bitmapa s obrazkem LABELu ulozi do Image1, na 7mym radku
se mimojine prekresli TForm. Ten obrazek je tam naprosto v poradku. Na
8mym a 9tym radku by se mela ta bitmapa ulozit. Pokud je tento kod volan
poprve je vse v poradku. Pokud je volan podruhe ulozi se do *.bmp
nesmysl. Musi se ukoncit program a znovu spustit. Pak to zase funguje
pro jeden fajl. Jediny, co uz me snad napada, je chyba v
TBitmap.SaveToFile ... jinak uz fakt nevim.
Ve zdrojacich VCL se sice pohrabat muzu, ale nejsem zatim tak velkej
Delphi profik, abych dokazal najit pripadnou chybu natoz ji opravit...
Jo a abych nezapomel. Delphi 4 Prof, Win98 ... jo a dela to i kdyz je to
spusteny z IDE ... i kdyz mimo ...
Dik predem za jakoukoliv pomoc.
--
Martin Pe#ava

Odkaz na E-mail

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 6.3.2001 17:57:58

Pokud neni jak rikas spravne nainstalovany program (je tim mineno
nastaveni jako Simple MAPI klient), pak ti nepojede ani MAPISendMail

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

05.03.2001 milan_2(zv)sose-sou(tec)cz:
> S timhle to sice jde, ale jestlize nekde neni spravne nainstalovan program
> pro odesilani posty (treba priblblej OUTLOOK), pak to zahlasi chybu pri
> praci s odkazem na e-mailovou adresu (Nelze pracovat s odkazem na mailovou
> adresu) .... nebo neco v tom smyslu to zahlasi a paxe prd stane ... .
> Da se pouzit i MAPI_Sendmail ... otazka je, co je vyhodnejsi ..
> ----------------------------------------------------------------------------
>>Ja pouzivam todle
>>
>>var
>> c:string;
>>begin
>> co:='mailto:Phill<phill(zv)seznam(tec)cz>';
>> ShellExecute(handle, 'open' ,pchar(co) , '', '', 0);
>>end;
>>
>>Phill
>>
>>>Pros�m o radu.
>>>Pot�ebuji ud�lat odkaz na e-mailovou adresu. S odkazem na www str�nku
>>nem�m
>>probl�m (funkce ?>ShellExecute).> =============
> Milan
> Delphi beginner
> Delphi 3, W98

Vytvoreni tabulky

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 6.3.2001 18:04:34

Jedine pres SQL prikaz. Podivej se na Local SQL Create do helpu

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

06.03.2001 Bednar��k Dalibor:
> Poradte mi nekdo, jak vytvorit DBF tabulku typu FoxPro ze sveho programu,
> ktery vyuziva BDE a ma mit tyto polozky.
> nazev typ delka des.mis
> X1 Num 6 0
> X2 Num 5 2

> Zkousel jsem to pres CreateTable, ale nejak nemuzu dosahnout toho co bych
> chtel

Kopirovani

[*] Hole�ek Martin <martin.holecek(zv)uhk(tec)cz> - 6.3.2001 18:10:58

Cau delfaci,
potrebuju trochu pichnout s kopirovanim souboru. Mam databazi a cas od casu
potrebuju natahnou nova data z externiho zdroje.
Doposud jsem to resil tak, ze jsem nastavil u TDataSet.Active na
FALSE a pomoci prikazu API CopyFile(zdroj,cil,false) jsem to prekopiroval
nove soubory. Ted jsem prelezl do D5, k databazi jsem pridal indexy a ted
jsem to cely zkousel cely prekopirovat. A ono mi to nechce prekopirovat!
Nevite nekdo, jak situaci resit?
Databaze je PARADOX.

Marty


BDE

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 6.3.2001 18:25:55

From: "Mirek Drej�ek" <drejcek(zv)schkocr(tec)cz>
> mam aplikaci, ktera beha na vetsine PC dobre. Ale setkal jsem se uz s dvema
pocitaci, kde po instalaci a naslednem pokusu spusteni aplikace se vypise asi
toto: Interface mismatch. Engine error different. Jeden stroj je s WinNT,

Ahoj,

patrne si se svoji aplikaci neinstaloval nejnovejsi verzi BDE.

Petr Vones, amatersky programator


FreeVCS

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 6.3.2001 18:26:14

From: "Lasevic, Martin" <MLasevic(zv)ratiopharm(tec)cz>
> Tak nejak jsem ted nepotreboval. Kde se da sehnat FreeVCS?

Ahoj,

http://www.freevcs.de

Prepinani Unit

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

From: "Dalibor Toman" <dtoman(zv)fortech(tec)cz>
> byly znacne rozdily mezi 286, 386 a 486 (napriklad nektere stringove
> instrukce procesoru behaly rychleji na 286 nez na 486, pokud se nepletu a v
> nekterych pripadech bylo lepsi je nepouzivat). Pentia takove rozdily tusim
> nemaji (samozrejme nepocitam-li moznost nahradit nektere operace pomoci
> specializovanych sad instrukci, ktere jsou v novejsich Pentiich)

Ahoj,

problem s optimalizaci je hlavne pri vypoctech s realnymi cisly. Tam se
bohuzel Delphi optimizer zastavil nekde na predelu 486 a Pentia.

Petr Vones, amatersky programator


Prepinani Unit

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 6.3.2001 18:32:02

From: "Dalibor Toman" <dtoman(zv)fortech(tec)cz>
> Myslim, ze zde diskutovane povely a zpusoby zapisu kodu nemuzou mit zasadni
> vliv na rychlost kompilace..

Ahoj,

Samozrejme ze C++ se bude vzdy kompilovat dele (i kdyz novejsi prekladace uz
pouzivaji inkrementalni linker apod.) diky daleko vetsi koplikovanosti syntaxe
jazyka. V tom je prave krasa ObjectPascalu, ze je temer srovnatelny s C++ a
presto ma daleko jednodussi syntaxi a z toho plynouci rychlost prekladu.

Petr Vones, amatersky programator


Prepinani Unit

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 6.3.2001 19:13:14

On 6 Mar 2001, at 16:15, Dalibor Toman wrote:

> > > Ale je pravda, ze u pointru bych automatickou inicializaci
> > > (byla-li by inteligentni a vypinatelna) uvital.
> >
> > Mas na mysli GetMem a AllocMem?
>
> ani ne :-) ale NIL po deklaraci pointeru kdekoliv.
>
> Procedure BlahBlah;
> VAR
> P : Pointer;
> begin
> // a tady by P melo automaticky NIL hodnotu;

Jenze to je naprosto totozny problem jako s inicializaci jakychkoliv
jinych promennnych. A kdyz uz, tak me vic trapi navratova hodnota
funkci, kdy me kompilator kazdou chvili varuje, ze ta ci ona funkce
nemusi vracet zadnou hodnotu. Jako kdyby nevedel, ze tam ma
vrazit nulu (nil, ...), kdyz nereknu nic jineho. :-))


S pozdravem

Zbysek Hlinka

http://www.hlinka(tec)cz http://www.slhaters(tec)cz
Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


simulace stisku klavesy

[*] SlavekB <VlcekB(zv)atlas(tec)cz> - 6.3.2001 19:36:48

s tim stiknutim tlacitek jsem mel taky takovej problem., mohl bych se dostat
nejak k tem virtualnim kodu klaves please?
dost by se mi to hodilo
Slavek


----- Original Message -----
From: <tomsir1.edu(zv)mail.cez(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Tuesday, March 06, 2001 12:26 AM
Subject: Re: simulace stisku klavesy


>
> Tak to zkus takhle treba pro pismeno "A" :
>
> PostMessage(Handle,WM_KEYDOWN,VK_A,0).
>
> pokud to projde, muzu ti poslat xls soubor se seznamem vsech virtualnich
> kodu klaves.
>
> Radegast
>
>
>
>
> <giorgione(zv)email(tec)cz>(zv)fwd(tec)cz on 05.03.2001 23:25:17
>
> Odpov�zte pros�m - delphi-l(zv)fwd(tec)cz
>
> Odesl�no k�m: owner-delphi-l(zv)fwd(tec)cz
>
>
> Komu: <delphi-l(zv)fwd(tec)cz>
> Kopie:
> P�edm�t: simulace stisku klavesy
>
>
> Zdravicko!
>
> Mam handle nejakeho okna. Timto zpusobem jsem schopen provest simulaci
> stisku
> klavesy Enter pro toto okno: PostMessage(Handle,WM_KEYDOWN,VK_return,0).
> Podobne napr. pro klavesu ESC:
PostMessage(Handle,WM_KEYDOWN,VK_cancel,0).
> Jakmile se ale pokusim poslat obycejnou klavesu (napr. A), nic se nestane.
> Tento kod nic viditelneho neprovede: PostMessage(Handle,WM_KEYDOWN,ord
> ('A'),0)
>
> V cem je problem?
> Predem diky za nakopnuti :-)
>
> EMAIL.CZ - Vase posta je vzdy s Vami na
> http://www.email(tec)cz
>
>
>
>

Vyber pocitace v siti

[*] Luk� Lou�ansk����#��#�o��#�� - 6.3.2001 19:44:28

Nazdar vsici,
nevite nekdo jak vyvolat dialog pro vyber pocitace v siti, zrejme je nekde v SHELL32 nebo v nejaky sitovy knihovne. Mam jen standardni dokumentaci k Delphi - o tehlech vecech tam toho moc nenachazim nemate nekdo zkusenosti s nejakou knizkou nebo napiste link na nejakou sajtu.
Dik Lukas L.

Ze by chyba v Bitmap.SaveToFile???

[*] Martin =?iso-8859-2?Q?Pe=B9ava?= <jimx(zv)volny(tec)cz> - 06.3.2001 19:54:27

Jeste pro upresneni. Objekt B vytvarim pri vytvareni Formu a rusim pri
zavirani Formu.

> brant(zv)dcomm(tec)cz wrote:
>
> Ne ze bych to vedel presne, ale tipuju to na problem s DeviceContextem
> (ten je zapouzdren delphackym Canvasem). Nejaky problem s uvolnovanim
> apod. (ten objekt B?)
>
> RNDr. Petr Brant [Brant(zv)dcomm(tec)cz]
> ICQ # 68652380
--
Martin Pe#ava

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

simulace stisku klavesy II

[*] <giorgione(zv)email(tec)cz> - 6.3.2001 21:02:00

Nejdrive chci vsem podekovat za napady. Mile me prekvapilo mnozstvi odpovedi.
Vsechny jsem vyzkousel a zjistil toto:

1) ve fci PostMessage je uplne jedno, zda jako hodnotu znaku dam primo cislo,
nebo ord(znak) atp. Otazka je, nakolik to bude fungovat v pripade zasilani
kombinaci Shift+znak nebo nejakych specialnich klaves.

2) po WM_KEYDOWN neni nutne davat WM_KEYUP

3) pouzil jsem WinSight32 a potvrdilo se (jak Lubos Hubka upozornoval) nasledujici:

mam spustenou cizi aplikaci (jejiz HANDLE1 znam) a ta obsahuje napr. Memo
(s jinym handle HANDLE2, ktere neznam). Kdyz provedu PostMessage(HANDLE1,
WM_KEYDOWN, ord('A') ,0); nestane se nic. Jestlize si ale pomoci WinSight32
zjistim HANDLE2 a provedu PostMessage(HANDLE2, WM_KEYDOWN, ord('A') ,0);
vse funguje jak ma. Problem je, jak obecne zjistim HANDLE2 - tj. jak zjistim
handle zamereneho prvku formulare?
Prosim, poradte.

S pozdravem Jirka D.

EMAIL.CZ - Vase posta je vzdy s Vami na
http://www.email(tec)cz

Kopirovani

[*] brant(zv)dcomm(tec)cz - 6.3.2001 21:22:33

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

Mel bys asi napsat, jak se to "nechce prekopirovat" projevuje. Problem muze
byt napr. v tom, ze tabulku ma otevenou nejaky jiny form apod.
RNDr. Petr Brant [Brant(zv)dcomm(tec)cz]
ICQ # 68652380

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


-----Original Message-----
From: Hole�ek Martin [mailto:martin.holecek(zv)uhk(tec)cz]
Sent: Tuesday, March 06, 2001 6:11 PM
To: 'delphi-l(zv)fwd(tec)cz'
Subject: Kopirovani


Cau delfaci,
potrebuju trochu pichnout s kopirovanim souboru. Mam databazi a cas od casu
potrebuju natahnou nova data z externiho zdroje.
Doposud jsem to resil tak, ze jsem nastavil u TDataSet.Active na
FALSE a pomoci prikazu API CopyFile(zdroj,cil,false) jsem to prekopiroval
nove soubory. Ted jsem prelezl do D5, k databazi jsem pridal indexy a ted
jsem to cely zkousel cely prekopirovat. A ono mi to nechce prekopirovat!
Nevite nekdo, jak situaci resit?
Databaze je PARADOX.

Marty


QRPreview

[*] Miroslav Evj�k <evjak(zv)atlas(tec)cz> - 6.3.2001 21:30:54

Ahoj,

nenarazil jste nekdo na nasledujici problem:

Pri behu aplikace pri zobrazeni sestav QReport se obcas (casto = 70%
pripadu) ve standartnim okne preview zobrazi ikony pro Printer Setup a Print
jako nepristupne.

- problem se objevuje pod Windows 2000 SP1 (P400, 128MB RAM)

- aplikace je napsana v D5 bez Update Packu
(mimochodem da se Update Pack poridit jinym zpusobem nez stazenim cca 30MB z
webu ?)

- stahnul jsem update QReport for D5 na QR 3.0.7 - bez vysledku, chyba se
objevuje dal

- aplikace je odladena a bez problemu pod W95, W98 (vyse uvedeny problem se
neobjevuje).

Predem diky za rady.

Miroslav Evjak
evjak(zv)atlas(tec)cz

Clanek o SQL

[*] Tomas Grepl <delphi(zv)kapsw(tec)cz> - 6.3.2001 21:36:49

Snad myslis treba : http://www.penguin(tec)cz/noviny/?id=chip/index

Tomas

----- Original Message -----
From: "Ondrej Krajicek" <xkrajic(zv)ics.muni(tec)cz>
To: "delphi" <delphi-l(zv)fwd(tec)cz>
Sent: Tuesday, March 06, 2001 2:56 PM
Subject: OT: Clanek o SQL


>
> Dobry den,
>
> omlouvam se za offtopic, ale shanim jisty clanek o SQL
> a databazich (definice normalnich forem atp.),
> ktery kdysi vychazel v casopisu Chip (tak 2 roky
> zpetne). Autor tento clanek posleze publikoval
> i ve formatu PDF a o tyto PDF dokumenty mi prave jde.
> Kdysi byly ke stazeni na spouste mist, ale ja
> je ted nemuzu najit. Nemate nekdo link na misto
> kde rostou ?
>
> Ondrej Krajicek
>
> --
> ---------------------------------------------------------------------
> Ondrej Krajicek OK-)
> email: xkrajic at {fi,ics}.muni(tec)cz
> >>> This e-mail is under construction. Best viewed in absolute
> darkness. Optimized for unbelievable resolution, two colors:
> black and white.
> ---------------------------------------------------------------------


QRPreview

[*] Ji�� Foldyna <jiri.f(zv)avizo(tec)cz> - 6.3.2001 21:40:47

Ahoj,

to se mi stalo taky, pricinu sice neznam, ale vyresil jsem to tak, ze jsem
si otevrel qrprev.dfm (je adresari LIB) a tam jsem doplnil property Enabled
= true u tlacitek, kde jsem to chtel a kde to chybelo. Taky jsem to pri te
prilezitosti pocestil :-)).

Ing. Jiri Foldyna
mailto:jiri.f(zv)avizo(tec)cz
> -----P�vodn� zpr�va-----
> Od: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]za u�ivatele
> Miroslav Evj�k
> Odesl�no: 6. b�ezna 2001 21:31
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: QRPreview
>
>
> Ahoj,
>
> nenarazil jste nekdo na nasledujici problem:
>
> Pri behu aplikace pri zobrazeni sestav QReport se obcas (casto = 70%
> pripadu) ve standartnim okne preview zobrazi ikony pro
> Printer Setup a Print
> jako nepristupne.
>
> - problem se objevuje pod Windows 2000 SP1 (P400, 128MB RAM)
>
> - aplikace je napsana v D5 bez Update Packu
> (mimochodem da se Update Pack poridit jinym zpusobem nez
> stazenim cca 30MB z
> webu ?)
>
> - stahnul jsem update QReport for D5 na QR 3.0.7 - bez
> vysledku, chyba se
> objevuje dal
>
> - aplikace je odladena a bez problemu pod W95, W98 (vyse
> uvedeny problem se
> neobjevuje).
>
> Predem diky za rady.
>
> Miroslav Evjak
> evjak(zv)atlas(tec)cz
>
>
>

Funkce

[*] Hazuka Filip <filip.hazuka(zv)multivac(tec)cz> - 6.3.2001 21:50:53

Ahoj Delphaci,
potreboval bych poradit, zda mohu napsat takovouto f-ci ?

function TForm1.Prazdny(Sender: TEdit): TEdit;
begin
if Sender.Text = '' then
begin
ShowMessage('M�te pr�zdnou kolonku.');
Sender.SetFocus;
end;
end;

Tato funkce nevrac� ��dnou hodnotu. Nevad� to ? Pou��v�m to k osetreni
prazdnych kolonek,
abych to nemusel psat u v#ech.

Napr: na exitu Edit1 pouziji:

Prazdny(Edit1);

Napiste mi, zda je to tak mozne. Nemam s funkcema prilis zkusenosti a tak
potrebuji vedet zda je to dobre. Diky vsem

Fila

Filip.Hazuka(zv)uhk(tec)cz


Funkce

[*] Ji�� Foldyna <jiri.f(zv)avizo(tec)cz> - 6.3.2001 21:59:53

Ahoj,

neni to moc dobre - uz proto, ze se vyplati sledovat warningy kompilatoru a
tohle jej spolehlive vyrobi. Proc to nemuze byt procedura ?

Ing. Jiri Foldyna
mailto:jiri.f(zv)avizo(tec)cz
> -----P�vodn� zpr�va-----
> Od: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]za u�ivatele
> Hazuka Filip
> Odesl�no: 6. b�ezna 2001 21:51
> Komu: 'delphi-l(zv)fwd(tec)cz'
> P�edm�t: Funkce
>
>
> Ahoj Delphaci,
> potreboval bych poradit, zda mohu napsat takovouto f-ci ?
>
> function TForm1.Prazdny(Sender: TEdit): TEdit;
> begin
> if Sender.Text = '' then
> begin
> ShowMessage('M�te pr�zdnou kolonku.');
> Sender.SetFocus;
> end;
> end;
>
> Tato funkce nevrac� ��dnou hodnotu. Nevad� to ? Pou��v�m to k osetreni
> prazdnych kolonek,
> abych to nemusel psat u v#ech.
>
> Napr: na exitu Edit1 pouziji:
>
> Prazdny(Edit1);
>
> Napiste mi, zda je to tak mozne. Nemam s funkcema prilis
> zkusenosti a tak
> potrebuji vedet zda je to dobre. Diky vsem
>
> Fila
>
> Filip.Hazuka(zv)uhk(tec)cz
>

zmena TV obrazu

[*] Hurricane <hurricane(zv)quick(tec)cz> - 6.3.2001 22:38:28

Zdravim

Zakaznik potrebuje z obrazu TV zjistovat, jestli se scena zmenila nebo ne.
Kamera bude stale sledovat nejspis nejake pohyblive zarizeni a ja potrebuju
zjistovat, jestli se to hejbe nebo ne. Vim ale, ze nelze dosahnout
statickeho obrazu, jelikoz se ty pixely porad lehce meni.

Nevite nekdo jak na to?

Dik
Hurricane


Vyber pocitace v siti

[*] brant(zv)dcomm(tec)cz - 6.3.2001 23:06:15

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

Pouzivam tento kod pro vyber adresare, staci myslim upravit parametr
BrowseInfo.ulFlags:

function BrowseCallbackProc(Wnd: HWnd; Msg: UINT; lPar: LPARAM; lData:
LPARAM): integer; stdcall;
begin
Result := 0;
if (Msg = BFFM INITIALIZED) and DirectoryExists(m InitialDirectory) then
SendMessage(Wnd, BFFM SETSELECTION, 1, LPARAM(m InitialDirectory) );
end;


function TBrowseDirectory.BrowseForDirectory(OwnerWnd:THandle;
InitialDirectory: string; var SelectedDirectory:string):boolean;
var BrowseInfo: TBrowseInfo;
idRoot: PItemIDList;
Dir: array[0..MAX PATH] of char;
begin
m InitialDirectory:=InitialDirectory;
SHGetSpecialFolderLocation(OwnerWnd, CSIDL DRIVES, idRoot);
BrowseInfo.hwndOwner:=OwnerWnd;
BrowseInfo.pidlRoot:=idRoot;
BrowseInfo.lpszTitle:='';
BrowseInfo.ulFlags:=BIF DONTGOBELOWDOMAIN;
BrowseInfo.lpfn:=BrowseCallbackProc;
BrowseInfo.pszDisplayName:=Dir;
idRoot:=ShBrowseForFolder(BrowseInfo);
Result:=false;
if idRoot<>nil then
begin
SHGetPathFromIDList(idRoot, Dir);
SelectedDirectory:=string(Dir);
Result:=(Length(SelectedDirectory)<>0);
end;
end;

RNDr. Petr Brant [Brant(zv)dcomm(tec)cz]
ICQ # 68652380

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

-----Original Message-----
From: Luk�# Lou�ansk� [mailto:lukasoftc(zv)atlas(tec)cz]
Sent: Tuesday, March 06, 2001 7:44 PM
To: delphi-l(zv)fwd(tec)cz
Subject: Vyber pocitace v siti


Nazdar vsici,
nevite nekdo jak vyvolat dialog pro vyber pocitace v siti, zrejme je nekde v
SHELL32 nebo v nejaky sitovy knihovne. Mam jen standardni dokumentaci k
Delphi - o tehlech vecech tam toho moc nenachazim nemate nekdo zkusenosti s
nejakou knizkou nebo napiste link na nejakou sajtu.
Dik Lukas L.

serazeni hodnot v stringgrid

[*] Jarek Kr�ek <coniek(zv)centrum(tec)cz> - 6.3.2001 23:48:17

D5 mi vyhazuje chybu pri setrizeni hodnot ve stringgridu od nejvetsi po nejmensi
tahle procedura funguje bez problemu


procedure TForm1.Button1Click(Sender: TObject);
var p:array[0..9] of integer;
i,j:integer;
zam:boolean;
begin
for i:=0 to 9 do
p[i]:=strtoint(stringgrid1.cells[i,0]);

i:=0;
repeat
zam:=false;
for i:=0 to 9 do
begin
if p[i]>p[i+1] then {tzv. bublinkove trideni -setrizeni hodnot od nejmensi po nejvetsi}
begin
j:=p[i];
p[i]:=p[i+1];
p[i+1]:=j;
zam:=true;
end
end;
until zam=false;
for i:=0 to 9 do
stringgrid1.cells[i,0]:=inttostr(p[i]);
end;

ale kdyz se tam > prehodi na < (aby se hodnoty setridily od nejvetsiho po nejmensi) tak to nefunguje (zkompiluje se, ale program spadne)
vcelku by me zajimalo proc, jestli se ma predelat jeste neco jinyho, nebo je tam chyba v necem jinym?


Predem dekuji za odpoved

Jarek, zacatecnik


Funkce

[*] Jan Skopov� <jsdelphi(zv)atlas(tec)cz> - 7.3.2001 00:19:19

Je to mozne, ale aby compiler nehlasil warning, pridej na zacatek Result :=
nil;

Jan Skopovy

----- Original Message -----
From: "Hazuka Filip" <filip.hazuka(zv)multivac(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Tuesday, March 06, 2001 9:50 PM
Subject: Funkce


> Ahoj Delphaci,
> potreboval bych poradit, zda mohu napsat takovouto f-ci ?
>
> function TForm1.Prazdny(Sender: TEdit): TEdit;
> begin
> if Sender.Text = '' then
> begin
> ShowMessage('M�te pr�zdnou kolonku.');
> Sender.SetFocus;
> end;
> end;
>
> Tato funkce nevrac� ��dnou hodnotu. Nevad� to ? Pou��v�m to k osetreni
> prazdnych kolonek,
> abych to nemusel psat u v#ech.
>
> Napr: na exitu Edit1 pouziji:
>
> Prazdny(Edit1);
>
> Napiste mi, zda je to tak mozne. Nemam s funkcema prilis zkusenosti a tak
> potrebuji vedet zda je to dobre. Diky vsem
>
> Fila
>
> Filip.Hazuka(zv)uhk(tec)cz


Detekce CD-RW

[*] Ing. Lud�k Florian <Ludek.Florian(zv)bluerose(tec)cz> - 7.3.2001 00:37:27

Nazdar fsichni,

potrebuji rozeznat, zda je mechanika CD-R nebo CD-RW, tedy pouze pro cteni
nebo vypalovacka. Ma nekdo napad jak na to ?


Dik

Bye Ludan

Ze by chyba v Bitmap.SaveToFile???

[*] Lauko #tefan <laukosw(zv)naex.sk> - 7.3.2001 00:54:33


----- Original Message -----
Od: Martin Pe#ava <jimx(zv)volny(tec)cz>
Komu: <delphi-l(zv)fwd(tec)cz>
Odoslan�: 6. marec 2001 19:54
Predmet: Re: Ze by chyba v Bitmap.SaveToFile???> Jeste pro upresneni. Objekt B vytvarim pri vytvareni Formu a rusim pri
> zavirani Formu.

Ahoj,
to je ale zla konstrukcia, Objekt B vytvor v Form OnCreate a zrus v
OnDestroy alebo v OnShow a OnClose.
Lauko.

Prepinani Unit

[*] Erik Salaj <winsoft(zv)napri.sk> - 7.3.2001 00:57:24

> to jsem nejak nepochopil - netusim jak zminka o threadech souvisi s
> predchozim textem. Thready maji kazdy svuj stack - cili ctenim stacku vidi
> stale jen svoje data. Volaji-li DLLko pak DLLko ma moznost dostat se do
> stacku daneho threadu...

Thready procesu zdielaju spolocny adresovy priestor procesu, preto
si vzajomne mozu citat aj prepisovat akekolvek udaje (ci uz na stackoch
alebo nie).

Erik

SQL + presunuti zaznamu

[*] Ren� Otisk - 7.3.2001 06:05:54

INSERT INTO TEJBL1 (COL1, COL2...) SELECT COL1A,COL2A FROM TEJBL2 WHERE ID =
x

Sroub

> Cau,
> existuje nejaky jednoduchy zpusob jak presunout radek z jedny tabulky do
druhy pomoci SQL prikazu ? Tabulky maji stejna pole.
>
> Dik Ladap
>
> Delphi5 Pro, MSSQL7


Funkce

[*] Petr <DelphiForum(zv)seznam(tec)cz> - 7.3.2001 06:31:23

A nebylo by lepsi u vsech editu nastavit u udalosti OnExit stejnou
proceduru podle formy TNotifyEvent (tj. standard s parametrem Sender :
TObject) ?
Napr. :
Tuto proceduru nastavit u vsech Editu.

procedure EditExit(Sender : TObject);
begin
if Sender(TEdit).Text = '' then
begin
ShowMessage('M�te pr�zdnou kolonku.');
Sender(TEdit).SetFocus;
end;
end;


Petr Jur�k, Spr�vce s�t�, program�tor
COMET System s.r.o.
1.M�je 1220
756 61 Ro�nov pod Radho#t�m
tel. 0651/653990
fax. 0651/653993
www.cometsystem(tec)cz


----- Original Message -----
From: Hazuka Filip <filip.hazuka(zv)multivac(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Tuesday, March 06, 2001 9:50 PM
Subject: Funkce


> Ahoj Delphaci,
> potreboval bych poradit, zda mohu napsat takovouto f-ci ?
>
> function TForm1.Prazdny(Sender: TEdit): TEdit;
> begin
> if Sender.Text = '' then
> begin
> ShowMessage('M�te pr�zdnou kolonku.');
> Sender.SetFocus;
> end;
> end;
>
> Tato funkce nevrac� ��dnou hodnotu. Nevad� to ? Pou��v�m to k osetreni
> prazdnych kolonek,
> abych to nemusel psat u v#ech.
>
> Napr: na exitu Edit1 pouziji:
>
> Prazdny(Edit1);
>
> Napiste mi, zda je to tak mozne. Nemam s funkcema prilis zkusenosti a tak
> potrebuji vedet zda je to dobre. Diky vsem
>
> Fila
>
> Filip.Hazuka(zv)uhk(tec)cz
>


---
Odchoz� zpr�va neobsahuje viry.
COMET System Network Administrator.
Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.236 / Virov� b�ze: 114 - datum vyd�n�: 05.03.01


Funkce

[*] Hurricane <hurricane(zv)quick(tec)cz> - 7.3.2001 07:19:20

Zdravim

Je lepsi pouzit proceduru.
Priklad:

public
procedure PosunoutReOpenMenu(NewFileName: String);


procedure TMainForm.PosunoutReOpenMenu(NewFileName: String);
begin
-
-
-
end;

Hurricane

----- Original Message -----
From: "Hazuka Filip" <filip.hazuka(zv)multivac(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Tuesday, March 06, 2001 9:50 PM
Subject: Funkce


Ahoj Delphaci,
potreboval bych poradit, zda mohu napsat takovouto f-ci ?

function TForm1.Prazdny(Sender: TEdit): TEdit;
begin
if Sender.Text = '' then
begin
ShowMessage('M�te pr�zdnou kolonku.');
Sender.SetFocus;
end;
end;

Tato funkce nevrac� ��dnou hodnotu. Nevad� to ? Pou��v�m to k osetreni
prazdnych kolonek,
abych to nemusel psat u v#ech.

Napr: na exitu Edit1 pouziji:

Prazdny(Edit1);

Napiste mi, zda je to tak mozne. Nemam s funkcema prilis zkusenosti a tak
potrebuji vedet zda je to dobre. Diky vsem

Fila

Filip.Hazuka(zv)uhk(tec)cz

SQL + presunuti zaznamu

[*] Krska Vit <v_krska(zv)del(tec)cz> - 7.3.2001 07:24:45

musis pouzit dva prikazy. insertnout radek z tabulky A do tabukly B a pak ho
v tabulce A smazat.

Ing. Vit Krska
vit.krska(zv)del(tec)cz

-----Original Message-----
From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
Parizsky Ladislav
Sent: Tuesday, March 06, 2001 4:08 PM
To: delphi-l(zv)fwd(tec)cz
Subject: SQL + presunuti zaznamu


Cau,
existuje nejaky jednoduchy zpusob jak presunout radek z jedny tabulky do
druhy pomoci SQL prikazu ? Tabulky maji stejna pole.

Dik Ladap

Delphi5 Pro, MSSQL7


simulace stisku klavesy II

[*] Petr Palicka <petr.palicka(zv)atlas(tec)cz> - 7.3.2001 07:30:36

> Problem je, jak obecne zjistim HANDLE2 -
> tj. jak zjistim handle zamereneho prvku formulare?
> Prosim, poradte. S pozdravem Jirka D.

obecne by melo jit zjisti handleX vsech prvku podrizenych prvku s
handle1.
dale by melo jit overit, jestli prvek s handleX je focused.
nevim z hlavy, musis si najit spravny api fce,
ale imho to musi jit standartni api woken.

dekuji PeC(zv)

CU onTheFutureOfMatrix
MatriX.CyberSpace.Cz

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

OT- Self-extractor

[*] Zaplik <zaplik(zv)volny(tec)cz> - 7.3.2001 07:36:29

InnoSetup jsem zkousel, celkem by vyhovoval, ale potrebuji se nejak zbavit
dialogu, jestli chci aplikaci spustit. Na to jsem nejak neprisel.

Zaplik

> Mozna by stacil i InnoSetup. Je to sice free program na vytvareni
> instalaci, ale to co delas je vlastne instalace.
>
> ------
> ing. Jan Fiala
> mailto:jan.fiala(zv)iol(tec)cz
>
> 06.03.2001 Zaplik:
> > Prosim Vas, nevite nekdo o free self-extractoru, ktery by:
> > po jeho spusteni rozbalil obsah archivu a potom spustil aplikaci
rozbalenou
> > z archivu. Musi umet zvolit, jestli chci uzivateli dat moznost vyberu
cesty
> > pro rozbaleni nebo ne. Dale nechci potvrzovani dialogu typu
> > provest/neprovest, spustit/nespustit. Plne by mi vyhovoval extractor z
> > Salamanderu 1.6beta, ale autori chteji cca. 2000,- .Hlavne aby byl bez
> > reklam!!!!
> > Dik Zaplik
>
>
> > ---
> > Odchoz� zpr�va neobsahuje viry.
> > Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
> > Verze: 6.0.226 / Virov� b�ze: 108 - datum vyd�n�: 5.1.2001
>
>


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


Funkce

[*] Martin.Topek(zv)fisherww(tec)cz - 07.3.2001 07:44:43

Proc to neudelas jako proceduru?

Martin

Hazuka Filip wrote:

> Ahoj Delphaci,
> potreboval bych poradit, zda mohu napsat takovouto f-ci ?
>
> function TForm1.Prazdny(Sender: TEdit): TEdit;
> begin
> if Sender.Text = '' then
> begin
> ShowMessage('M�te pr�zdnou kolonku.');
> Sender.SetFocus;
> end;
> end;
>
> Tato funkce nevrac� ��dnou hodnotu. Nevad� to ? Pou��v�m to k osetreni
> prazdnych kolonek,
> abych to nemusel psat u v#ech.
>
> Napr: na exitu Edit1 pouziji:
>
> Prazdny(Edit1);
>
> Napiste mi, zda je to tak mozne. Nemam s funkcema prilis zkusenosti a tak
> potrebuji vedet zda je to dobre. Diky vsem
>
> Fila
>
> Filip.Hazuka(zv)uhk(tec)cz



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