Archív konference Delphi

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

MapiSendMail NEBO mailto:

[*] brant(zv)dcomm(tec)cz - 4.4.2001 11:14:37

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.

Posilam kus kodu, ktery jsem pouzival a funguje (ale v JCL je to uz hotove a
fungujici). Nasel jsem tam urcite odlisnosti, tak to zkus prozkoumat:

{ struktura prijemce }
with Prijemce[0] Do Begin
ulReserved := 0;
ulRecipClass := Mapi To;
lpszName := PChar(Receiver);
lpszAddress := nil;
ulEIDSize := 0;
lpEntryID := nil;
end;
with Prijemce[1] Do Begin
ulReserved := 0;
ulRecipClass := Mapi CC;
lpszName := PChar('');
lpszAddress := nil;
ulEIDSize := 0;
lpEntryID := nil;
end;

{ struktura prilohy }
with Soubor do begin
ulReserved := 0;
flFlags := 0;
nPosition := 0;
if AttachedFileName = '' then
begin
lpszPathName := nil;
lpszFileName := nil;
lpFileType := nil;
end
else
begin
lpszPathName := PChar((AttachedFileName));
lpszFileName := PChar((AttachedFileName));
lpFileType := nil;//PChar(ExtractFileExt(AttachedFileName));
end;
end;

Vysledek := MapiSendMail(HandleSession, Application.Handle, Zprava, Flags,
0);


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

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



-----Original Message-----
From: Ond�ej C�lek [mailto:ocilek(zv)aktis(tec)cz]
Sent: Wednesday, April 04, 2001 3:31 AM
To: konference Delphi (el. adresa)
Subject: MapiSendMail NEBO mailto:


Zdravim zde vsechny otevrene programatory a prosim o radu k pouziti funkce
MapiSendMail.
Prochazel jsem archiv konference, ale nejaky priklad k teto fci jsem
nenasel.
Nedari se mi premluvit fci MapiSendMail k vyplneni zpravy, ktera obsahuje
dodatek. Vim s jistotou, ze mam asi spatne vyplneny treti paramet fce, a
take ze i promenou MapiMessage.lpRecips mam zadanou spatne, proto fce vraci
chybu c.25 .
viz.:MAPI.PAS radek 333 {$EXTERNALSYM MAPI E INVALID RECIPS},
MAPI E INVALID RECIPS = 25;
Ale nevim jak na to

S pozdravem, Onrej Cilek, amatersky programator

var
Recip : Array[0..64] of TMapiRecipDesc;
Attachment : Array[0..64] of TMapiFileDesc;

begin
Recip[1].ulReserved:= 0;
Recip[1].ulRecipClass := MAPI TO;
Recip[1].lpszName := 'test';
Recip[1].lpszAddress:='ocilek(zv)aktis(tec)cz';
Recip[1].ulEIDSize:= 0;
Recip[1].lpEntryID:= nil;

Attachment[1].ulReserved := 0;
Attachment[1].flFlags := MAPI OLE;
Attachment[1].nPosition := $ffffffff;
Attachment[1].lpszPathName := 'c:\ ONCI\vystup.htm';
Attachment[1].lpszFileName := 'test.html';
Attachment[1].lpFileType :=nil;

with MapiMessage do
begin
ulReserved := 0;
lpszSubject := 'Predmet' ;
lpszNoteText := 'pokusn� text';
lpszMessageType := nil;
lpszDateReceived := nil;
lpszConversationID := nil;
flFlags := 0;
lpOriginator := nil;
nRecipCount := 1;
lpRecips := (zv)Recip;
nFileCount := 1;
lpFiles := (zv)Attachment;
end;

MError := MapiSendMail(0, 0, MapiMessage, MAPI LOGON UI + MAPI DIALOG,
0);

MapiSendMail NEBO mailto:

[*] Ond�ej C�lek <ocilek(zv)aktis(tec)cz> - 4.4.2001 11:58:21

Dekuji za nalezeni chyby. Vse je funkcni po oprave indexu:

>pole indexujes od 0, ale pouzivas od 1
>spravne ma byt: Recip[0].ulReserved:= 0; atd....
>
>Pavol Stolc
>pstolc(zv)sc.sknet.sk


Ondrej Cilek, ocilek(zv)aktis(tec)cz

service - start directory

[*] Miroslav Barica <miroslav.barica(zv)matador.sk> - 4.4.2001 12:17:29

hej hou lidi,
mam mensi problem, mam service application nainstalovanu niekde na
disku. a v nej citam informacie s ini fajlu, kde mam ulozene emailove
adresy prijemcov davky. ten ini fajl je ulozeny v adresari tam kde je aj
samotna sluzba, respektivne, rad by som to docielil ;o). lenze, brekeke,
zistil som, ze ja vlastne nedokazem (alebo neviem?) zistit plnu cestu k
adresaru kde je fyzicky programm ulozeny, standartny postup
application.exename nefunguje. prehliadol som nieco? da sa zistit kde je
fyzicky dana sluzba nainstalovana?

D5professional, w2000 professional, len ja som amater ;o)

Obrazovka

[*] Tomas Vladik <tom.vladik(zv)swadvice(tec)cz> - 4.4.2001 12:22:11

> jde nejakym jednoduchym zpusobem
> ulozit celou obrazovku - nejlepe do
> Streamu? Nejak to nemuzu najit.

viz.
http://groups.google.com/groups?hl=cs&lr=&oe=KOI8-R&safe=off&ic=1&th=992e036
e4bed88e0&seekd=918138337#918138337

function TfMain.GetScreen:TBitmap;
var DC : HDC;
bmp:TBitmap;
begin
DC:=GetDC (GetDesktopWindow);
bmp:=TBitmap.Create;
try
bmp.Width := GetDeviceCaps (DC, HORZRES);
bmp.Height := GetDeviceCaps (DC, VERTRES);
BitBlt(bmp.Canvas.Handle, 0, 0, bmp.Width,bmp.Height,DC, 0, 0,
SRCCOPY);
finally
ReleaseDC(GetDesktopWindow, DC);
end;
Result:=bmp;
end;

service - start directory

[*] Zelen� Ale� <azeleny(zv)csas(tec)cz> - 4.4.2001 12:24:17

Podivej se do funkci pracujicich se ServoceControl managerem. V nektere z
prilozenych struktur je i polozka ImagePath a tak se dozvis to po cem touzi
tve srdce :-)

a.

> -----Original Message-----
> From: Miroslav Barica [mailto:miroslav.barica(zv)matador.sk]
> Sent: Wednesday, April 04, 2001 12:17 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: service - start directory
>
>
> hej hou lidi,
> mam mensi problem, mam service application nainstalovanu niekde na
> disku. a v nej citam informacie s ini fajlu, kde mam ulozene emailove
> adresy prijemcov davky. ten ini fajl je ulozeny v adresari
> tam kde je aj
> samotna sluzba, respektivne, rad by som to docielil ;o).
> lenze, brekeke,
> zistil som, ze ja vlastne nedokazem (alebo neviem?) zistit
> plnu cestu k
> adresaru kde je fyzicky programm ulozeny, standartny postup
> application.exename nefunguje. prehliadol som nieco? da sa
> zistit kde je
> fyzicky dana sluzba nainstalovana?
>
> D5professional, w2000 professional, len ja som amater ;o)
>

Thready a Message

[*] Jiri Binder <j.binder(zv)albacon(tec)cz> - 4.4.2001 12:24:11

From: Vaclav Sazima <vaclav.sazima(zv)utilia(tec)cz>
> repeat
> while PeekMessage (Msg,0,0,0,PM_Remove) do
> begin
> case Msg.message of
> wm_2 : ...;
> end;
> end
> until Terminated
> end;
> Takto napsane Excetute ale zere cas procesoru, i kdyz nic nedela.
Takto napsana ano. Kdyz das za while cyklus cekani

MsgWaitForMultipleObjects

tak cas nezere, ale thread je pozastaven dokud neprijde zprava
nebo nenastane nektera ze specifikovanych udalosti

Jiri Binder


CGI v Delphi

[*] Ing. Jozef Baranec <joba(zv)digitaldocuments.org> - 4.4.2001 12:39:52

Mozno je to trochu mimo Delphi, ale robim CGI App v D5.

Jeden <#tag> nahradzam linkou na otvorenie noveho okna Explorera takto:

<a href = " '+path + '"
onclick="windowOpener('''+path+''',550,300,''info'',true,true); return
false;">'
kde parametre su : windowOpener(url,width,height,name,scrolls,resizable)

Vie mi miekto poradit, ako nastavit toto okno Exporera ako Always on the
top? Ak sa to ovsem da...

jozo


HLIDAC = BEFORE (AFTER) spusteni nejake aplikace

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 4.4.2001 12:41:14

From: "Ing. Petr �vejdajjj" <lingvista(zv)lingvista(tec)cz>
> to je zajimavy napad Petre. Vytvorit seznam bezicich procesu umim, umim
> ziskat i jejich ID, ale nevim, jak zjistit celou cestu spusteneho souboru
> odpovidajiciho procesu (ja umim napr. zjistit Notepad.exe, ID458).

Ahoj,

podivej se do JCL na funkci RunningProcessesList v unitu JclSysInfo. Dale se
pak muzes inspirovat i nastojem ToolHelpViewer:

http://delphi-jedi.org/Jedi:JCLDOWNLOADS
http://www.volweb(tec)cz/pvones/delphi/

> Nebude neustale zjistovani seznamu vsech uloh narocne na cas? Neexistuje v

Bude, v tom je ten problem. Pokud to ale budes delat rekneme po 1 sec tak je
to pomerne bez problemu, ten ToolHelpViewer to dela stejne.

> API nejaka funkce typu IsStillRunning('C:\Windows\Notepad.exe'): boolean;

Pokud jej spoustis sam tak ano, ovsem pokud sledujes jestli jej nekdo jiny
spustil je to uz horsi. Slo by to resit tak, ze by jsi vyhledal prislusny PID,
ziskal handle procesu a pak cekal pomoci WaitForXXX funkci na jeho ukonceni.

> Potrebuji odlisit spusteny stejny exe soubor, ale umisteny v jine slozce

V tom neni problem, ziskat plnou cestu k souboru z PID je snadne, viz funkce
GetProcessNameFromPid z JclSysInfo.

Petr Vones, amatersky programator


simulator klavesnice

[*] DJ <giorgione(zv)email(tec)cz> - 4.4.2001 13:02:31

Ahoj,
tento napad vypada dobre, ale nepovedl se mi rozchodit - stale to hlasilo
chyby...napr. na tomto miste ve FormCreate:
FOldProc := WndProc;


Zkusil jsem jinou moznost, predefinovat WndProc takto:
procedure TForm1.WndProc(var Message: TMessage);
begin
if (Message.Msg = WM_SETFOCUS) then begin
// nejaka akce
Message.Result := 0;
end else
inherited WndProc(Message);
end;

Jenze jak jsem metodou pokus-omyl zjistil, v momente, kdy se zpracovava tato
procedura, jiz moje aplikace focus ma!! :-(((( Je tedy nutne, odchytit focus
jeste nekde driv.

Prosim o pomoc, uvitam kazdy napad.
S pranim hezkeho dne
Jiri Dolezel


> --- P�vodn� zpr�va ---
> Od: Petr_E#ner <petr.esner(zv)atlas(tec)cz>
> Datum: 03.04.2001 01:57:02
>
> Ahoj,
>
> > Problem je vlastne uplne prosty - v aplikaci zpracovat "onclick" tak,
aby
> > okno aplikace zustalo neaktivni. Jak jednoduche, ze? :-)
>
> A neslo by to udelat takto?:
> -do sveho formu priradis vlastni proceduru okna (TForm.WndProc)
> -ve sve procedure budes chytat udalost WM_SETFOCUS
> -zprava WM_SETFOCUS ma v parametru wParam HWND okna, ktere bylo aktivni
pred
> tim, nez se ti poslal WM_SETFOCUS
> -implementujes WM_SETFOCUS tak, aby proste aktivovala predchozi okno.
>
> Napriklad takto:
> ----------------------------------------------
> procedure TForm.FormCreate(Sender: TObject);
> begin
> FOldProc := WndProc;
> WndProc := MyWndProc;
> end;
>
> procedure TForm.MyWndProc(var Message: TMessage);
> begin
> if Message.Msg = WM_SETFOCUS then
> begin
> Windows.SetFocus(Message.wParam);
> Message.Result := 0;
> end else
> FOldProc(Message);
> end;
>
> procedure TForm.FormDestroy(Sender: TObject);
> begin
> WndProc := FOldProc;
> end;
> ----------------------------------------------
>
> Mozna by to stalo za vyzkouseni :-)
>
> S pozdravem
> Petr E#ner
> petr.esner(zv)atlas(tec)cz
> #ICQ 105826792

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


Interbase 6.0, IBExpress a transakce

[*] Tomas =?iso-8859-2?Q?Michal=EDk?= <michalik(zv)proca(tec)cz> - 04.4.2001 13:04:45

Ahoj,

Petr wrote:
>
> Pri pripojeni k databazi proved Trans.StartTransaction;
> a pri vykonavani Query udelej asi toto :
> try
> Query.ExecSQL; { nebo Open, podle toho co pouzivas}
> Trans.CommitRetaining;
> except
> Trans.RollbackRetaining;
> end;
>
> CommitRetaining zajisti "znovuspusteni" transakce. Je to jako kdybys napsal
> :
>
> Trans.StartTransaction;
> Query.ExecSQL;
> Trans.Commit;
>
> Ma to tu vyhodu ze nemusis pokazde spoustet transakci.

Cas od casu bys ale urcite mel udelat Commit, abys neprekazel postupnemu
rustu OAT (nejstarsi aktivni transakce) ! Prave tim jsou velmi casto
zpusobovany problemy, ktere se projevuji postupnym zdanlivym
zpomalovanim IB serveru.

> Mimochodem na ulozene procedury pouzivej IBStoredProc.

S pozdravem,
Tom
=================================

Tomas Michalik
ProCA, s. r. o.
V Luzich 818, Praha 4
Czech Republic

e-mail: michalik(zv)proca(tec)cz
tel: +420 2 67283446


service - start directory

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 4.4.2001 13:23:45

>mam mensi problem, mam service application nainstalovanu niekde na
>disku. a v nej citam informacie s ini fajlu, kde mam ulozene emailove
>adresy prijemcov davky. ten ini fajl je ulozeny v adresari tam kde je aj
>samotna sluzba, respektivne, rad by som to docielil ;o). lenze, brekeke,
>zistil som, ze ja vlastne nedokazem (alebo neviem?) zistit plnu cestu k
>adresaru kde je fyzicky programm ulozeny, standartny postup
>application.exename nefunguje. prehliadol som nieco? da sa zistit kde je
>fyzicky dana sluzba nainstalovana?


Tohle by melo fungovat:

PgmRootDir := ExtractFilePath(ParamStr(0));


Pripadne by melo byt mozne pouzit:

GetModuleFileName(0,NameBuff,SizeOf(NameBuff));

D. Toman

service - start directory

[*] Radek.Holecek(zv)up.mpsv(tec)cz - 4.4.2001 13:38:56

>mam mensi problem, mam service application nainstalovanu niekde na
>disku. a v nej citam informacie s ini fajlu, kde mam ulozene emailove
>adresy prijemcov davky. ten ini fajl je ulozeny v adresari tam kde je aj
>samotna sluzba, respektivne, rad by som to docielil ;o). lenze, brekeke,
>zistil som, ze ja vlastne nedokazem (alebo neviem?) zistit plnu cestu k
>adresaru kde je fyzicky programm ulozeny, standartny postup
>application.exename nefunguje.

Zmena pouze pripony:
PriponaSoubor := TIniFile.Create(ChangeFileExt(Application.Exename,
'.ini'));
Zmena celeho nazvu:
NazevSoubor := TIniFile.Create(ExtractFilePath(Application.Exename) +
'novynazev.ini');

S pozdravem

Radek Holecek


Delphi - Excel

[*] Karel Kral <kralkonf(zv)purus(tec)cz> - 04.4.2001 13:42:16

Vse je popsano v "C:\Program Files\Microsoft
Office\Office\1029\VBAXL9.CHM"

Napriklad takto nastavis format cisla pro sloupec. Format cisel si
zjistis nejlepe z Excelu/Bunka/Format/Vlastni

var
Column: OleVariant;
CellsRange: Range;
...
with FXLSheet do
begin
NumberFormat:= '###.##';
Column:= Columns.Item[FStartX + i, EmptyParam];
CellsRange:= Range[Column, Column];
CellsRange.NumberFormat:= NumberFormat;
end;


Bednar��k Dalibor wrote:
>
> Jak nastavim z Delphi v bunce Excelu format cisla.
> Pripadne, kde to je nejak popsano.
>
> Dik.

--
______________________________________________________
Karel Kral, informatik
Purus, s.r.o., Cezavy 627, 664 56 Blucina, CZ
Tel: 05/47235000, 0602/552432, Fax: 05/47231203
E-Mail: mailto:kral(zv)purus(tec)cz, WWW: http://www.purus(tec)cz
______________________________________________________


Obrazovka

[*] Petr <DelphiForum(zv)seznam(tec)cz> - 4.4.2001 13:46:32

Pomoci GetWindowDC (GetDesktopWindow) ; ziskate handle na obrazovku. Pak si
to muzete dat treba do TBitmap, ale to co s tim udelate je jen na Vas.

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: Mgr. Jaroslav Pej#a <jof(zv)email(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Wednesday, April 04, 2001 11:02 AM
Subject: Obrazovka


> Ahoj,
> jde nejakym jednoduchym zpusobem
> ulozit celou obrazovku - nejlepe do
> Streamu? Nejak to nemuzu najit.
> Diky moc za odpoved.
> Jof
>
>
> EMAIL.CZ - Vase posta je vzdy s Vami na
> http://www.email(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.244 / Virov� b�ze: 119 - datum vyd�n�: 02.04.01


IB_LookupCombo

[*] Tomas =?iso-8859-2?Q?Michal=EDk?= <michalik(zv)proca(tec)cz> - 04.4.2001 13:53:49

Ahoj,

> Petr Poto�ek wrote:
>
> Preji vsem dobreho dne,
> zacinam si hrat s IB, zkousim pristupovat pres IBObjects a mam jeden
> dotaz k IB_LookupCombo.
> Je normalni, ze pro kazdy IB_LookupCombo musim mit vlastni
> IB_DataSource s IB_Query?

Jo, je to normalni.

> Jde mi o to, ze napr. ciselnik PSC pouzivam jako zdroj pro nekolik
> IB_LookupCombo a tak pri vstupu do Lookupu musim tabulku s PSC zavrit,
> upravit KeySource a zase ji otevrit. Provadim tedy zbytecne novy
> select.
> Budu vdecny za radu, jak to delat jednoduseji.

Registrovani uzivatele si udajne mohou stahnout vylepsenou verzi
TIB_LookupEnh, ktera umoznuje sdilet tentyz lookup dataset mezi vice
instancemi TIB_LookupEnh.

S pozdravem,
Tom

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

Tomas Michalik
ProCA, s. r. o.
V Luzich 818, Praha 4
Czech Republic

e-mail: michalik(zv)proca(tec)cz
tel: +420 2 67283446


OT: RE: CGI v Delphi

[*] Jio� Koeara <pazout(zv)sport(tec)cz> - 4.4.2001 13:54:01

Always on the top nastavit nejde,

Castecne reseni je takoveto:
Dejte do stranky (vas path) ktera se ma zobrazovat do tagu <body> toto

<body onload="self.focus()">
...

Pazout

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Ing. Jozef Baranec
> Sent: 4. dubna 2001 12:40
> To: delphi-l(zv)clexpert(tec)cz
> Subject: CGI v Delphi
>
>
> Mozno je to trochu mimo Delphi, ale robim CGI App v D5.
>
> Jeden <#tag> nahradzam linkou na otvorenie noveho okna Explorera takto:
>
> <a href = " '+path + '"
> onclick="windowOpener('''+path+''',550,300,''info'',true,true); return
> false;">'
> kde parametre su : windowOpener(url,width,height,name,scrolls,resizable)
>
> Vie mi miekto poradit, ako nastavit toto okno Exporera ako Always on the
> top? Ak sa to ovsem da...
>
> jozo


COM&DCOM

[*] Jind�ich Nikodem <nikodem(zv)kh-kinetic(tec)cz> - 4.4.2001 14:12:42

Ahoj,

zacinam v Delphi programovat technologie COM a DCOM, ale jsem naprostym
zacatecnikem. Poradte mi, kde sehnat informace o programovani teto
technologie v Delphi (mam Delphi 5 Professional, WinNT) nejlepe cesky.
Existuje nejaka kniha zamerena na programovani COM a DCOM v Delphi v
cestine?
Predem diky
Jindrich Nikodem


SHFileOperation a PChar

[*] "Mirek Drej�ek"���v#�q��#�d�ʿ - 04.4.2001 14:16:18

Zdravim,
pouzivam k mazani SHFileOperation. Toto mi fukguje:

var SHFOS:TSHFileOpStruct;
FN:PChar;
begin
with SHFOS do
begin
Wnd:=Handle;
wFunc:=FO_DELETE;
FN:='d:\temp\kuk\kuk'+#0;
pFrom:=FN;
fFlags:=FOF_ALLOWUNDO;
end;
SHFileOperation(SHFOS);

ale toto uz ne:

with SHFOS do
begin
Wnd:=Handle;
wFunc:=FO_DELETE;
Soubor:=DDatabaze+'Zoologie\Vertebrata\Aves'+#0;
FN:=PChar(Soubor);
pFrom:=FN;
fFlags:=FOF_ALLOWUNDO;
end;
SHFileOperation(SHFOS);

Skonci chybou EAccessViolation v kernel32.dll

Muze te mi prosim poradit, co s tim? Nebo jak toto nahradit?
Predem diky za jakoukoli radu.
Mirek Drejcek.

ADO, MSDE a zamykani zaznamu - VYRESENO

[*] Garalda <garalda(zv)mail(tec)cz> - 4.4.2001 14:58:02

> Zkus se zamerit na maximalni zkraceni transakci ve Tve aplikaci.
> Viceuzivatelska aplikace by nemela byt nikdy v transakci, pokud zrovna
ceka
> na uzivatelsky vstup !!!
>
> Napr. Nespustit transakci, kdyz uzivatel mackne tlacitko Edit a nevolat
> Commit pri stisku Save,
> ale pri stisku Save zavolat
>
> FieldByName('F1').As... := ...;
> ...
> FieldByName('FN').As... := ...;
> StartTransaction;
> Post;
> Commit;
>
> Kdyz striktne dodrzis to vyse uvedene pravidlo a presto Ti to nepomuze,
pak
> se ma cenu zabyvat dalsimi technikami.
Samozrejme, ze transakce s uzivatelskymi vstupy nepouzivam. Problem byl, jak
jsem psal v tom, ze probihal pomerne narocny vypocet, ktery soucasne
zapisoval do tabulek.

>v MS-SQL je mo�n� vytv߰et i do�asn� tabulky ( jejich jm�na za��naj� na
>#)p��stupn� pouze dan�m connection. Do�asn� tabulka �ije pouze v r�mci
>transakce, kter� ji vytvo�ila (tedy bohu�el tak� jen od po��tku do konce
>ulo�en� procedury).
Ano. To je presne to co jsem potreboval. Timto jsem zkratil zapis do
database radove na sekundy.

Dekuji vsem za rady
Garalda

OT: RE: CGI v Delphi

[*] Vaclav Sazima <vaclav.sazima(zv)utilia(tec)cz> - 04.4.2001 15:08:09

Co zkusit onblur="self.focus()"?
Vaclav Sazima

Jio� Koeara wrote:
>
> Always on the top nastavit nejde,
>
> Castecne reseni je takoveto:
> Dejte do stranky (vas path) ktera se ma zobrazovat do tagu <body> toto
>
> <body onload="self.focus()">
> ...
>
> Pazout
>
> > Mozno je to trochu mimo Delphi, ale robim CGI App v D5.
> >
> > Jeden <#tag> nahradzam linkou na otvorenie noveho okna Explorera takto:
> >
> > <a href = " '+path + '"
> > onclick="windowOpener('''+path+''',550,300,''info'',true,true); return
> > false;">'
> > kde parametre su : windowOpener(url,width,height,name,scrolls,resizable)

COM&DCOM

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 4.4.2001 16:23:49

From: "Jind�ich Nikodem" <nikodem(zv)kh-kinetic(tec)cz>
> zacinam v Delphi programovat technologie COM a DCOM, ale jsem naprostym
> zacatecnikem. Poradte mi, kde sehnat informace o programovani teto
> technologie v Delphi (mam Delphi 5 Professional, WinNT) nejlepe cesky.

Ahoj,

jedna moznost jsou treba skoleni ktere porada Borland CZ a HAES:
http://www.borland(tec)cz/skoleni.html
http://www.haes(tec)cz/kurzy.htm

> Existuje nejaka kniha zamerena na programovani COM a DCOM v Delphi v
> cestine?

Pokud vim tak v cestine ne. Jinak vysla kniha 'Delphi COM programming':
http://community.borland.com/books/delphi/1,1427,c|1,00.html

Petr Vones, amatersky programator


Vyuzivanie pamete OS Win PlayStation - trochu OT

[*] Martin.Chaloupka(zv)bbdo-interone.de - 4.4.2001 16:51:38

> Nevim jak "zazracny" Linux, ale na kazdem profesionalne nainstalovanem
> unixu byva nastaven reboot kazdou noc, pripadne alespon jednou za
> tyden. Zvlaste jsou-li tam napr. velke DB jako Informix apod. Je to
> tam nastavene a nikdo se nad tim nepozastavuje, to bohuzel u NT
> serveru zatim neni moc zvykem.
Opravdu - mam pocit, ze to nemusi byt vzdy pravdou - pokud se
nepletu, tak mi jeden znamy vypravel o masine, kterou odstavili
kvuli vymene po 5 letech neustaleho provozu (DEC nevim jake
verze, na nem nejaky historicky Oracle a interni informacni system
... ). A zadny restart o pulnoci to rozhodne nema ... To je sice asi
vyjimka, ale start Linuxu kazdou noc - jeden nas server tady jede
uz rok a vypnul jsem ho jenom jednou a to kvuli HW chybe pri
pokusu zapisu na disk ...
A nevim o nikom ze sveho okoli, kdo restartoval kazdou noc.
Abych se priznal, slysim to poprve. Muzete mi nekoho takoveho
jmenovat, kdo tohle dela?
>
> A pokud se jedna o klientskou stanici, pak restart jednou za den asi
> neni zadny velky pozadavek a ja rozhodne W2K nemusim restartovat
> casteji.
Ale proc... kdyz to muze bezet furt. Ze by z nouze cnost?
>
> A co se tyce naroku na pamet, minuly tyden jsem se bavil s
> informatikem z jednoho MeU, ktery je takovy blazen do tucnaka, ze
> urednikum dava stroje s Linuxem a X-Windows a ten s naprostou
> samozrejmosti mluvil o nutnosti 128MB pameti pro takove pocitace.
U grafiky to rozdil neni ... barvicky chteji svoje. Ale rozdil je ve
vykonu, a tam si myslim, ze docela W2K budou na stejnem zeleze
pokulhavat.

> Takze bych rekl, ze rust potreby pameti neni v rozdilech Unix/Windows,
> ale v nasem pohodli a touze po krasnych okynkach - no ale kdyz ted uz
> pamet nic nestoji, tak proc bychom si to nedoprali.
>
> Jan Krizek
> - D5Prof Update 1, W2K -
>
Hm, muze byt.
S pozdravem Martin Chaloupka


Vyuzivanie pamete OS Win PlayStation

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 4.4.2001 17:20:42

> > sice dokazou, ale na Linux nemaji. Nikdy se ti nestane, ze bys musel
> > restartovat Linux, protoze chces procistit pamet. Linux vlastne musis
> > restartovat jen po kompilaci jadra, jinak asi nikdy.
> >

> Nevim jak "zazracny" Linux, ale na kazdem profesionalne nainstalovanem
unixu
> byva nastaven reboot kazdou noc, pripadne alespon jednou za tyden. Zvlaste
> jsou-li tam napr. velke DB jako Informix apod. Je to tam nastavene a nikdo
> se nad tim nepozastavuje, to bohuzel u NT serveru zatim neni moc zvykem.

Tak to slysim poprve. Zrejme se vi, ze ty aplikace jsou prasacky napsane a
nejsou shopny po sobe uklidit. Na serverech pouzivame Linux a stredni doba
zivota od rebootu je cca pul roku (209 dni nejvetsi vytrvalec) - bohuzel cas
od casu je potreba modernizovat nejaky ten hardware ci se nekomu omylem
podari server z konzole rebootnout, jinak by uptime byl daleko vyssi.

> A pokud se jedna o klientskou stanici, pak restart jednou za den asi neni
> zadny velky pozadavek a ja rozhodne W2K nemusim restartovat casteji.
>
> A co se tyce naroku na pamet, minuly tyden jsem se bavil s informatikem z
> jednoho MeU, ktery je takovy blazen do tucnaka, ze urednikum dava stroje s
> Linuxem a X-Windows a ten s naprostou samozrejmosti mluvil o nutnosti
128MB

je to vec toho co tam chcete mit spusteny. Cunacky Netscape6 napriklad sam
sezere cca 40-60MB (jak v Linuxu ci ve Windows), graficke prostredi taky
neco zhltne (ale zase jsou zde extremy - nektere prostredi sezere pameti
malo jine hodne)

BTW: mam v NT2000 WKS 256 MB RAM a teprve od te chvile to rozumne vsechno
chodi... :-)

D. Toman

Vyuzivanie pamete OS Win PlayStation

[*] Martin =?iso-8859-2?Q?Pe=B9ava?= <jimx(zv)volny(tec)cz> - 04.4.2001 18:20:33

Mam takovej pocit, ze to co je v RAM presoupnou do SWAPu ... takze
woknousi si to zase hodne rychle natahnou zpatky ... (jakmile to
potrebujou) :-)))
takze zadna genialni myslenka se nekona ... :-)

Petr Vones wrote:
> > poznat. Jak to potom delaji cistice pameti ala FreeMem?
>
> Ja to delaji ? Tahaji penize z kapes lidi co uveri kdejake kravine pokud je
> dobre prezentovana :-)
>
> Petr Vones, amatersky programator

--
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|
\--------------------------------------------------------------/

simulator klavesnice

[*] Petr E�ner <petr.esner(zv)atlas(tec)cz> - 4.4.2001 18:26:23

Ahoj,

tohle me take zajima, tak jsem si s tim zkusil pohrat vice. Pokud jsem to
spravne pochopil, nejde ti o to, aby se okno aplikace neaktivovalo,
potrebujes okno plne tlacitek, kdy kliknuti na nejake tlacitko posle string
do aplikace, ktera byla aktivni pred aktivaci tve aplikace.
Zkusil jsem toto:

- formu, ktery bude obsahovat butony, jsem nastavil vlastnost FormStyle na
fsStayOnTop
- uzivatel vybere nejakou aplikaci, do ktere chce ten retezec poslat
(nastavi se do jejiho editu, jako by se chystal psat normalne klavesnici)
- klikne v tve aplikaci na buton. Kliknutim preda focus tve aplikaci. Kdyz
tva aplikace opet focus ztrati (okno se treba zavre), system preda focus
predchozi aplikaci. Takze jsem zkusil napsat Button1Click tak, aby ukryl tve
okno, pak jej opet zobrazil (tomu, aby okno pri zobrazeni dostalo focus se
da zabranit funkci SetWindowPos, viz dale) a nakonec pomoci funkci
keybd_event prehral nejakou klavesovou sekvenci. Okno vlastne rychle
'blikne'.

S uspechem jsem odzkousel toto (W95 s IE5.5, D5 Ent.):
------------------------------------------------------------
Form ma jedno tlacitko Button1, Form.FormStyle = fsStayOnTop.
------------------------------------------------------------
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
procedure RemoveFocus;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.RemoveFocus;
begin
//ukryt okno, system preda focus predchozi aplikaci
ShowWindow(Handle, SW_HIDE);
//zobrazit okno, pri parametru SWP_NOACTIVATE nase okno
//nedostane focus
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or
SWP_SHOWWINDOW or SWP_NOSIZE or SWP_NOACTIVATE);
end;

procedure keybd_event_str(S: string);
var
I: Integer;
begin
{ Nevim jak se spravne pouziva keybd_event, takze me prosim nekamenuj
:-) }
for I := 1 to Length(S) do
keybd_event(
Byte(S[I]),
MapVirtualKey(Byte(S[I]), 0),
0,
0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
//zbavit se focusu
RemoveFocus;
//poslat klavesovou sekvenci
keybd_event_str('AHOJ');
end;

end.
------------------------------------------------------------

Nedokazu posoudit, jak moc je toto reseni ciste, kdy se vlastne vola
OnClick? Pri zpracovani WM_LBUTTONDOWN? Nevadi nejak to blikani oknem pri
zpracovavani teto zpravy VCL? Windowsum by to vadit nemelo, kdyz uz se
zpravy zpracovavaji asynchrone.

> tento napad vypada dobre, ale nepovedl se mi rozchodit - stale to hlasilo
> chyby...napr. na tomto miste ve FormCreate:
> FOldProc := WndProc;
Prepsal jsem se, ta vlastnost se nejmenuje WndProc ale WindowProc.

S pozdravem
Petr E#ner
petr.esner(zv)atlas(tec)cz
#ICQ 105826792

Vyuzivanie pamete OS Win PlayStation

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

From: "Martin Pe#ava" <jimx(zv)volny(tec)cz>
> Mam takovej pocit, ze to co je v RAM presoupnou do SWAPu ... takze
> woknousi si to zase hodne rychle natahnou zpatky ... (jakmile to
> potrebujou) :-)))

Cimz se to jeste zpomali.

> takze zadna genialni myslenka se nekona ... :-)

Jakto ze ne, ta 'genialita' spociva v tom vydelat penize na takove blbosti.

Petr Vones, amatersky programator


licence na Formula One

[*] Tom� Hol� - 4.4.2001 18:39:39


----- Original Message -----
From: "Tom�� Hol�" <thom(zv)bluemail(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, April 04, 2001 8:10 AM
Subject: licence na Formula One


> ahoj vsichni
>
> prave jsem sesmolil App pouzivajici komp. FormulaOne
>
> vse je OK, akorat mi nelze nainstalovat na C, kde nejsou delphi
>
> zkousel jsem
> regsvr32.exe vcf132.ocx - ktere zkonci chybou, nepodarena registrace --
nebo
> tak neco
>
> predpokladam, ze to potreebuje naky DLL nebo jiny OCX, da se to nejak
> zjistit ?
>
> jeste ke vsemu jsem
>
> regsvr32.exe vcf132.ocx pustil na mem PC, kdyz jsem tot testoval, a od te
> doby mi delphi [pisou, ze nemam licenci k Formula One komponente
>
> Ajta Kratja :((( asi pomuze reinstall Delphi, ale nevite nahodou nekdo,
> jak na to
>
> matne si vzpominam, ze se nejak musel resit soubor vcf1???.lic - ale uz
jsem
> to nenasel
>
> diky TH
>

CGI v Delphi

[*] Ing. Jozef Baranec <joba(zv)digitaldocuments.org> - 4.4.2001 19:03:03

Diki moc. Aspon to staci.

A este jedna vec. Otvorim toto nove okno, v ktorom je tzv. explorer (strom)
a ten by mal ovladat url v povodnom okne. Mam to tera vyriesene tak, ze
zakladne okno sa vola "main" a okno so stromom ma v kazdom hyperlinku
target=main.
Ma to vsak jedem problem. Vzdy na zaciatku (uvodna stranka) si musim otvorit
nove okno, ktore ma prave nazov "main" (tym padom mam uz otvorene okna 2.
jedno je prazdne a v druhom sa mi rozbehne aplikacia).
Chcel by som vediet, ci je mozne zistit nazov mojho zakladneho okna a tam
posielat url zo stromu.

jozo
> Always on the top nastavit nejde,
>
> Castecne reseni je takoveto:
> Dejte do stranky (vas path) ktera se ma zobrazovat do tagu <body> toto
>
> <body onload="self.focus()">
> ...
>
> Pazout
>
> > -----Original Message-----
> > From: delphi-l-owner(zv)clexpert(tec)cz
> > [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Ing. Jozef Baranec
> > Sent: 4. dubna 2001 12:40
> > To: delphi-l(zv)clexpert(tec)cz
> > Subject: CGI v Delphi
> >
> >
> > Mozno je to trochu mimo Delphi, ale robim CGI App v D5.
> >
> > Jeden <#tag> nahradzam linkou na otvorenie noveho okna Explorera takto:
> >
> > <a href = " '+path + '"
> > onclick="windowOpener('''+path+''',550,300,''info'',true,true); return
> > false;">'
> > kde parametre su : windowOpener(url,width,height,name,scrolls,resizable)
> >
> > Vie mi miekto poradit, ako nastavit toto okno Exporera ako Always on the
> > top? Ak sa to ovsem da...
> >
> > jozo
>

ScrAuth.dll

[*] Radim Kunz <privat(zv)casestudio(tec)com> - 4.4.2001 19:10:35

Nevi nekdo, odkud pochazi a k cemu slouzi
ScrAuth.dll ? Jednomu memu zakaznikovi dela
problemy pri spousteni MS Scriptingu. Ja to
nemuzu nikde najit. Neni to ani v w98, ani
ve w2000, dokonce ani v .NET.

Radim


Nacteni zvuku z RES pri startu

[*] Milan ��ek - 4.4.2001 19:42:13

> Jeste jsem zapomel, ze muzes pouzit TResourceStream coz je mozna
jednodusi.
>
> Petr Vones, amatersky programator

Muzete mi prosim nekdo poslat prikladek na ResourceStream? Diky.

S pozdravem Milan Cizek, amatersky programator, D5 Ent (SP1)
Win2k (SP1) a Win98, cizek.milan(zv)seznam(tec)cz, ICQ: 59826637


Uvolneni zdroju po ukonceni aplikace zpravou WM_QU

[*] Erik Salaj <winsoft(zv)napri.sk> - 4.4.2001 20:00:48

> Tim TaskManagerem myslis ten, kterej standardne spravuje tasky ve WIN,
nebo
> neco jinyho? Kdyz das Ctrl+Alt+Del a snazis se odstrelit bezici aplikaci,
> tak se nejdriv posle normalni WM_CLOSE a kdyz to nepomaha (aplikace to
> neprijme-je zamrzla), tak ji widle odstrelej natvrdo (nekdy :-).

Ano, myslim ten standardny. Funguje mi spolahlivo, problem moze nastat
snad v pripade chyby niekde v drivere.

Inac postup, ktory popisujes je podla mna rozumny - najprv sa pokusit
o korektne ukoncenie a az potom odstrelit natvrdo.

Erik


Vypinanie W2K

[*] Vito <vito(zv)centrum(tec)cz> - 4.4.2001 21:19:54

Ahoj ludia,

prosim, neviete nahodou ako vypnem, alebo resetnem v programe Win 2000,
nejaku Win API.
Pod Win9X je to jednoduche [ExitWindowsEx(EWX_SHUTDOWN, 0)], ale potrebujem
nieco co bude fungovat pod W2K.

Diky
Vito, amatersky programator...

Vyuzivanie pamete OS Win PlayStation

[*] Leos Urban <Leos.Urban(zv)iol(tec)cz> - 4.4.2001 21:27:34

> sami pro sebe. Windowsy 9x nejsou schopny neustale bezet a pracovat. W2K
to
> sice dokazou, ale na Linux nemaji. Nikdy se ti nestane, ze bys musel
> restartovat Linux, protoze chces procistit pamet. Linux vlastne musis
> restartovat jen po kompilaci jadra, jinak asi nikdy.

Souhlasim s tim, ze Linux se nerestartuje. Vetsinou k tomu neni duvod,
prislusne sluzby jsou vetsinou na dalku monitorovany a clovek
ani nemusi vedet, ze tam neco jede.

Na druhou stranu jsem mel nekolik NT4, ktere pravda na sobe mely
"jen" Informix Server a slouzily jako doplnkovy fileserver k aplikace,
ale bezeli na ruznych mistech a s vyjimkou obcasne kontroly jednou zacas
nebyl zadny duvod je restartovat. Posledni duvod byl Y2K a service pack.

Zalezi co a jak na tech serverech jede.

Ze se restaruji Win95 a spol. je normalni, to nejsou systemy navrzeny pro
servery,
se vsemi klady a zapory co to ma.

Leos


Vyuzivanie pamete OS Win PlayStation

[*] Robert Kindl <rob(zv)exec(tec)cz> - 4.4.2001 20:34:38

> > Mam takovej pocit, ze to co je v RAM presoupnou do SWAPu ... takze
> > woknousi si to zase hodne rychle natahnou zpatky ... (jakmile to
> > potrebujou) :-)))
> Cimz se to jeste zpomali.

Presne tak!
Ty "Optimalizatory pameti" defacto funguji tak, ze cloveku defacto pamet
seberou!
Proc? Napr. uzivatel ma 128MB a nastavi optimalizatoru, ze chce 1x5min
optimalizovat na 32MB volne pameti.
Tj. co 5min se vysvapuje vse nad 96MB na HD a pamet se uvolni.
No to je prece jako bych tech 32MB vubec nemel a swapovalo to rovnou.

> > takze zadna genialni myslenka se nekona ... :-)
> Jakto ze ne, ta 'genialita' spociva v tom vydelat penize na takove
blbosti.
> Petr Vones, amatersky programator
Ne genialni to neni,
myslenka vydelavat na lidske hlouposti je hooodne stara,
nebot "Vzdyt je to tak jednoduche" :-(

Rob

COM&DCOM

[*] Juraj Skotnick����u�i#�v�#�w�$ - 4.4.2001 21:39:08

Ahojte,

Skus pozriet: http://www.techvanguards.com/, bohuzial je to anglicky.

Vela stastia, Juraj

> Ahoj,

> zacinam v Delphi programovat technologie COM a DCOM, ale jsem naprostym
> zacatecnikem. Poradte mi, kde sehnat informace o programovani teto
> technologie v Delphi (mam Delphi 5 Professional, WinNT) nejlepe cesky.
> Existuje nejaka kniha zamerena na programovani COM a DCOM v Delphi v
> cestine?
> Predem diky
> Jindrich Nikodem

OT: Re: Vyuzivanie pamete OS Win PlayStation

[*] Hurricane <hurricane(zv)quick(tec)cz> - 4.4.2001 21:56:36

Zdravim

Je to uz sice OT, ale rad bych si ujasnil nase nazory, takze thread
dokoncim.

> Co je to 'procistit pamet' ? Mas namysli Linux s bezicim grafickym
rozhranim ?
*Procistenim pameti se rozumi pouziti cistice pameti o kterem pisu. Ten
projede celou pamet a data, ktera najsou potreba vymaze a tim vyrobi vice
volneho mista v pameti.
*Je vicemene jedo, zda X bezi nebo ne, porad je Linux schopnej bezet
nonstop.

> > Kdyz zustanou alokovany zdroje pro neexistujici procesy, tak je to prece
>
> Jake zdroje ? Napriklad alokovana virtualni pamet procesu je samozrejme
> uvolnena (prinejmensim na NT) po ukonceni procesu.
*Samozrejme, kdyz jde vsechno tak jak ma, tak se to vsechno uvolni (v 9x i
NT). Ale kdyz je neco spatne(proces se zfleku zhrouti), tak IMHO mohou
zdroje zustat alokovane a uz vetsinou neni nikdo, kdo by je uvolnil (jedine
restart).

> > poznat. Jak to potom delaji cistice pameti ala FreeMem?
>
> Ja to delaji ? Tahaji penize z kapes lidi co uveri kdejake kravine pokud
je
> dobre prezentovana :-)
*No, ja to teda moc casto nepouzivam (temer vubec), ale kdyz to pouziju, mam
hned mnohem vice volne pameti (podle toho programu) a subjektivne je system
na chvili rychlejsi, jelikoz ma vice pameti (dokud ji zase vsechnu
nezabere).

Hurricane


Vyuzivanie pamete OS Win PlayStation

[*] Hurricane <hurricane(zv)quick(tec)cz> - 4.4.2001 22:04:44

Zdravim

> > sice dokazou, ale na Linux nemaji. Nikdy se ti nestane, ze bys musel
> > restartovat Linux, protoze chces procistit pamet. Linux vlastne musis
> > restartovat jen po kompilaci jadra, jinak asi nikdy.
> >
>
> Nevim jak "zazracny" Linux, ale na kazdem profesionalne nainstalovanem
unixu
> byva nastaven reboot kazdou noc, pripadne alespon jednou za tyden. Zvlaste
> jsou-li tam napr. velke DB jako Informix apod. Je to tam nastavene a nikdo
> se nad tim nepozastavuje, to bohuzel u NT serveru zatim neni moc zvykem.
*Tak to slysim poprve. Kazdopadne si myslim, ze je to v pripade dnesnich
Linuxu zbytecne. Informuju se na to.

> A pokud se jedna o klientskou stanici, pak restart jednou za den asi neni
> zadny velky pozadavek a ja rozhodne W2K nemusim restartovat casteji.
*Tak to jsi stastny clovek.

> A co se tyce naroku na pamet, minuly tyden jsem se bavil s informatikem z
> jednoho MeU, ktery je takovy blazen do tucnaka, ze urednikum dava stroje s
> Linuxem a X-Windows a ten s naprostou samozrejmosti mluvil o nutnosti
128MB
> pameti pro takove pocitace. Takze bych rekl, ze rust potreby pameti neni v
> rozdilech Unix/Windows, ale v nasem pohodli a touze po krasnych okynkach -
> no ale kdyz ted uz pamet nic nestoji, tak proc bychom si to nedoprali.
*Ja jsem prece nerekl, ze Linuxu staci 8MB pro KDE2. Jasne, ze chce hodne
pameti. Kdyz tam bezi KDE2, databaze apod, chce to hodne pameti. Ale na
radkovou workstation (neni nad to) bohate staci 64 nebo i 32MB. Jestli mate
mensi pamet, nepoustejte KDE ale AfterSTEP nebo neco podobneho. Ne kazdy GUI
ma tak obrovske naroky jako KDE nebo WIN.

Hurricane


obraceni stranky

[*] Daniel Schmidt <dschmidt(zv)centrum.sk> - 4.4.2001 22:25:53

Cau,

stiahni si z Torry komponentu PicShow (zip sa tusim vola kkpicshow.zip).
Je k tomu aj nejake demo, robi sa s tym celkom intuitivne.
Zaujimat Ta bude asi efekt 13 a 14 alebo 114 a 115 (ak si to este dobre
pametam).

cau

Dano
mailto://dschmidt(zv)centrum.sk

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of tmara(zv)itsys(tec)cz
> Sent: Monday, April 02, 2001 6:44 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: obraceni stranky
>
>
> Dobre jitro,
> chtel bych se poptat, jestli nevite o komponente, pomoci ktere bych mohl
> udelat otoceni formulare, myslim jako kdyz obracim stranku v
> knize. Pripadne
> jak by to slo naprogramovat. Na formulari bych mel jeden
> obrazek, po otoceni
> jiny. Jako kdybych proste listoval knihou.
>
> Dik moc
>
> -TMa-
>
>

OT: spinaci tranzistory do zdroje

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

Zdravim

Stala se mi divna vec. Mozna jsme zkratoval 12V, mozna to bylo prepeti (byla
dost kruta bourka), mozna zase odesly spinacio tranzistory (uz jednou jsem
je opravoval, mel jsem dva ruzne). No proste mi shorel PC zdroj. Uz podruhe.
Nevite nekdo nejaky typ spinacich tranzistoru, ktere tam muzu dat? Jsou tam
trandiky made in tchai-van a v katalogo samozrejme nejsou.

Diky
Hurricane

Win98 a Delphi vyjimky - PROSBA 2.

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 5.4.2001 00:33:23

Ahoj,

pred casem se zde diskutoval problem ohledne FPU vyjimek v Delphi aplikacich
na Win98 s rychlejsim procesorem. Dekuji vsem za zaslane poznatky.

Prosim vsechny, zdali by jste mohli zkusit nize uvedenou aplikaci, predevsim
na pocitacich s Win98 (nebo Win98SE) s rychlejsim procesorem, ale i na jinych.

Pred spustenim uzavrete vsechny bezici aplikace ! Tlacitkem Run spustite
test na danou problemovou vyjimku. Po te zaskrtnene "Mask FPU exceptions" a
spustte test znovu. Pokud se vam pri prvnim behu objevi "modra obrazovka", tak
po restartu OS (pokud to bude treba) spustte test znovu se zaskrtlym "Mask FPU
exceptions".

Aplikace (zdrojovy kod i EXE) jsou zde. Pokud nechcete z bezpecnostnich duvodu
pouzit prelozeny EXE tak jej prelozte v co nejvyssi verzi Delphi, idealne 5.01
http://www.volweb(tec)cz/pvones/download/FpuTest.zip

Vysledky (typ OS, typ CPU, rychlost CPU, typ zakladni desky, verze BIOSu...)
mi prosim zaslete opet ma moji adresu mailto:pvones(zv)mbox.vol(tec)cz , pokud mozno
se subjektem "TestFPU". Predem diky.

Petr Vones, amatersky programator


Prihlaseny uzivatel ve windows

[*] Petr Ha�lar <rincewind(zv)volny(tec)cz> - 5.4.2001 00:45:30

Ahoj,
a) nevite nekdo jak zjistit prave prihlaseneho uzivatele windows ? Tusim, ze
je to nekde v registrech, ale nevim kde :-(.
b) daji se nejak hromadne 'vymazat' data ze StringGridu ? ( neco jako clear
pro ListBox )

Dik.

S pozdravem

Petr Ha#lar
rincewind(zv)volny(tec)cz

ICQ #89356906


Konverze �e�tiny

[*] Ond�ej C�lek <ocilek(zv)aktis(tec)cz> - 5.4.2001 04:24:03

Pros�m o radu, jak by mela vypadat fce, kter� prevede string v Kamenicich do
nap�. ISO?

Ondrej Cilek, ocilek(zv)aktis(tec)cz , amatersk� programator


Poradi MDI child oken

[*] ing. Pavel Zilinec <zilinec(zv)fpozn(tec)cz> - 5.4.2001 05:44:35

Misto MDIChildren[i].Show zkus dat MDIChildren[i].Visible := True nebo
jeste i MDIChildren[i].BringToFront
Je to jen rada a nevim, jestli bude fungovat

------
ing. Pavel Zilinec
mailto:zilinec(zv)fpozn(tec)cz

04.04.2001 Da�a Petr:
> Zdravim,
> uz jsem posilal par dotazu ohledne MDI child oken, ale vypada to, ze o
> techto problemech tu nikdo nic nevi ;-)
> No, mam dalsi dotaz. Pokud mam vice MDI child oken, tak pomoci
> Ctrl-(Shift-)Tab se da mezi nimi prepinat. V tomto pripade se dodrzuje
> poradi podle toho, jak byly vytvoreny. Ovsem je tu jeden problem. Pokud
> nektere child okno aktivuju z hlavniho formu pomoci MDIChildren[i].Show, tak
> se toto poradi zprehazi. Nevite nekdo, vo co go? Jak to opravit?
> S tim souvisi dalsi dotaz - da se nejak programove zprehazet poradi MDI
> childu? Promenna MDIChildren a ActiveMDIChild je jenom pro cteni ...
> A jeste zkusim (po kolikate uz? :-) ) - da se nejak upravit prepinani oken
> pomoci Ctrl-(Shift-)Tab ? Odchytit stisk Ctrl-Tab se mi proste nepodarilo, a
> to jsem zkousel snad vsechny mozne udalosti Formu (v hlavnim i detskych).
> Koukal jsem, jestli by neslo prepsat metody Next a Previous, ale ty vicemene
> posilaji pouze

> SendMessage(ClientHandle, WM_MDINEXT, 0, 0);

> Tak a ted babo rad :-(

> Petr

Prihlaseny uzivatel ve windows

[*] ing. Pavel Zilinec <zilinec(zv)email(tec)cz> - 5.4.2001 05:54:19

ad b)

TStringGrid.Rows.BeginUpdate
TStringGrid.Rows.Clear
TStringGrid.Rows.EndUpdate

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

05.04.2001 Petr Ha#lar:
> Ahoj,
> a) nevite nekdo jak zjistit prave prihlaseneho uzivatele windows ? Tusim, ze
> je to nekde v registrech, ale nevim kde :-(.
> b) daji se nejak hromadne 'vymazat' data ze StringGridu ? ( neco jako clear
> pro ListBox )

> Dik.

> S pozdravem

> Petr Ha#lar
> rincewind(zv)volny(tec)cz

> ICQ #89356906

Nacteni zvuku z RES pri startu

[*] Peter Vlkovic <vlkovic(zv)minv.sk> - 05.4.2001 06:45:25

> > Jeste jsem zapomel, ze muzes pouzit TResourceStream coz je mozna
> jednodusi.
> >
> > Petr Vones, amatersky programator
>
> Muzete mi prosim nekdo poslat prikladek na ResourceStream? Diky.
>
> S pozdravem Milan Cizek, amatersky programator, D5 Ent (SP1)
> Win2k (SP1) a Win98, cizek.milan(zv)seznam(tec)cz, ICQ: 59826637


Ahoj,

Priklad na extrahovanie Resource do suboru:

FUNCTION ExtractBinaryResource ( const ResName, FileName: string ):
Boolean;
// extrahuje urceny resource a zapise ho do suboru
var
Res: TResourceStream;
begin
Result := False; // default hodnota
TRY
Res := TResourceStream.Create ( hInstance, PChar(ResName), 'STATIC'
);
TRY
Res.SavetoFile( FileName );
Result := True; // ak sa podarilo
FINALLY
Res.Free;
END;
EXCEPT // pri akejkolvek chybe vracia Result = False
END;
end;

ResName je meno (identifikator) uvedeny v RC subore
napr. "MY_ZIP", RC subor je skompilovany programom
Brcc32.exe (Delphi 5 to robi automaticky), RC subor
moze vyzerat napriklad takto:
MY_ZIP STATIC D:\Delphi\Test.zip


A este priklad na extrahovanie Resource do bitmapy:


FUNCTION ExtractBitmapResource ( const ResName: string; BMP: TBitmap ):
Boolean;
// extrahuje urcenu bitmapu do existujuceho TBitmap objektu
var
Res: TResourceStream;
begin
Result := False; // default hodnota
TRY
Res := TResourceStream.Create ( hInstance, PChar(ResName), 'STATIC'
);
TRY
BMP.LoadFromStream ( Res );
Result := True; // ak sa podarilo
FINALLY
Res.Free;
END;
EXCEPT // pri akejkolvek chybe vracia Result = False
END;
end;


Vlkovic


Ruzne barvy v Gridu

[*] Valenta Patrik <valentapat(zv)volny(tec)cz> - 5.4.2001 06:56:10

Zdrav�m v#echny, pot�eboval bych n�jakou kompu na styl Stringgrid, abych mohl.
zvyraznit �adky nap�. jinou barvou nebo fontem. Stahl jsem si PuBStrGrig o kterem se tu psalo ale tyhle vlastnosti v ni nejsou. diky

MemTable bez BDE

[*] <brejsa(zv)centrum(tec)cz> - 05.4.2001 07:01:52

Zdravim vsechny,
nevi nekdo o komponente pametove tabulky, ktera nepotrebuje k
zivotu BDE? Nejlepe se zdrojakem.

Predem diky
Brejsa

Hrajte on-line hry na http://herna.centrum(tec)cz
Zalo�te si sv�j mail na http://mail.centrum(tec)cz


ftp pres WinProxy

[*] Vit Tichy <vitek(zv)softok(tec)cz> - 5.4.2001 07:11:44

Ahoj,

potrebuju prenaset soubory pres ftp. Bohuzel v ceste stoji WinProxy.
Zkousel jsem pouzit indy komponenty, ale i pres ruzne nastaveni SOCKS
a potvrzovani se nepodari pres proxy projit :-( Radkovym ftp z w95
prolezu.
Nemate s tim nekdo zkusenost ? Pripadne jake jine komponenty zkusit ?
diky

--
Best regards,
vt

MemTable bez BDE

[*] Bene� Jaroslav <JBenes(zv)cpoj(tec)cz> - 5.4.2001 07:33:26

Ahoj,

v RxLib je RxMemoryData, ktera BDE nepotrebuje.

Jaro B.

> -----Original Message-----
> From: brejsa(zv)centrum(tec)cz [mailto:brejsa(zv)centrum(tec)cz]
> Sent: Thursday, April 05, 2001 7:02 AM
> To: Zdenek Brejsa
> Subject: MemTable bez BDE
>
>
> Zdravim vsechny,
> nevi nekdo o komponente pametove tabulky, ktera nepotrebuje k
> zivotu BDE? Nejlepe se zdrojakem.
>
> Predem diky
> Brejsa
>
> Hrajte on-line hry na http://herna.centrum(tec)cz
> Zalo�te si sv�j mail na http://mail.centrum(tec)cz
>
>

Ruzne barvy v Gridu

[*] Radek Janka <radek.janka(zv)ipsystem(tec)cz> - 5.4.2001 07:37:52

jak to ze ne, jsou tam prece udalosti OnGetCellColor a OnGetAlingnment ve
kterych si nastavis pozadovanou barvu:

procedure
Pubstr1.OnGetCellColor(sender:TObject;Row,Col:longint;State:TGridDrawState;B
rush:TBrush;Font:TFont);
begin
if Row=xxxx then begin Brush.Color:=yyyyy;Font.Color:=zzzzz;end;
end;


> -----P�vodn� zpr�va-----
> Od: Valenta Patrik [SMTP:valentapat(zv)volny(tec)cz]
> Odesl�no: 5. dubna 2001 6:56
> Komu: Delphi konference
> P�edm�t: Ruzne barvy v Gridu
>
> Zdrav�m v#echny, pot�eboval bych n�jakou kompu na styl Stringgrid, abych
> mohl.
> zvyraznit �adky nap�. jinou barvou nebo fontem. Stahl jsem si PuBStrGrig o
> kterem se tu psalo ale tyhle vlastnosti v ni nejsou. diky
> ---
> P��choz� zpr�va neobsahuje viry.
> Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
> Verze: 6.0.167 / Virov� b�ze: 80 - datum vyd�n�: 29.6.2000
>
---
Odchoz� zpr�va neobsahuje viry.
Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.167 / Virov� b�ze: 80 - datum vyd�n�: 29.6.2000


Prihlaseny uzivatel ve windows

[*] voltrr1.epr(zv)mail.cez(tec)cz - 5.4.2001 06:39:12



> a) nevite nekdo jak zjistit prave prihlaseneho uzivatele windows ? Tusim, ze
> je to nekde v registrech, ale nevim kde :-(.

Funkce WinAPI GetCurrentUser - viz help

Radek


Prihlaseny uzivatel ve windows

[*] Radek.Holecek(zv)up.mpsv(tec)cz - 5.4.2001 07:44:06

>a) nevite nekdo jak zjistit prave prihlaseneho uzivatele windows ? Tusim,
ze

Nasledujici kousek kodu by Ti mel vrati take i nazev PC.

procedure DejUzivatele_take_PC;
const cnMaxUserNameLen = 254;
var sUserName :string;
dwUsernamelen:dword;
begin
{ Uzivatel a Pocitac jsou globalni promenne}
{ jmeno uzivatele }
dwUserNameLen:=cnMaxUserNameLen - 1;
SetLength(sUsername,cnMaxUserNameLen);
GetUserName(Pchar(sUserName),dwUserNameLen);
SetLength(sUserName,dwUserNameLen-1);
Uzivatel := sUserName;
{ jmeno pocitace }
dwUserNameLen:=cnMaxUserNameLen - 1;
SetLength(sUsername,cnMaxUserNameLen);
GetComputerName(Pchar(sUserName),dwUserNameLen);
SetLength(sUserName,dwUserNameLen);
Pocitac := sUserName;

end;

S pozdravem

Radek Holecek


MemTable bez BDE

[*] Milan ��ek <Cizek.Milan(zv)seznam(tec)cz> - 05.4.2001 07:49:03

> Zdravim vsechny,
> nevi nekdo o komponente pametove tabulky, ktera nepotrebuje k
> zivotu BDE? Nejlepe se zdrojakem.

ahoj, zkus RxMemTable z RxLib (myslim, ze tak se jmenuje).
______________________________________________________________________________
Vy jeste nepouzivate nejnavstevovanejsi jobtal v Cechach? http://www.jobtal(tec)cz


Ruzne barvy v Gridu

[*] Petr <DelphiForum(zv)seznam(tec)cz> - 5.4.2001 07:51:17

Na takovou vec nepotrebujes novou komponentu. V udalosti OnDrawCell lze
udelat vse co potrebujes. Ja napriklad menim barvy pozadi podle hodnot,
ktere mi nameri program ze zarizeni.

with StringGrid1.Canvas do begin
OldColor := Font.Color;
OldBrush := Brush;

if ( ARow = 0) and ( ACol > 0) then begin
Brush.Color := clBtnFace;
FillRect ( Rect);
Font.Color := clBlack;
TextOut ( Rect.Left + 2, Rect.Top + 2, StringGrid1.Cells [ ACol,
ARow]);
Exit;
end;

Brush.Color := clWhite;
if ( ARow >= 1) and ( ACol > 0) then begin
Num := 0;
for a := 0 to tChanRec.Count - 1 do begin
pp := tChanRec [ a];
pr := pp^;
if pr.OKToRead then inc ( Num);
if Num = ARow then break;
end;
//
// Prekrocen horni limit
//
if ( pr.HLimit) and ( UseHiLimits) and ( pr.UHLimit) then
Brush.Color := CHiLimit;
//
// Prekrocen spodni limit
//
if ( pr.LLimit) and ( UseLoLimits) and ( pr.ULLimit) then
Brush.Color := CLoLimit;
//
// Chyba Kontrolniho souctu
//
if ( pr.CRCErr) and ( UseCRCLimits) then
Brush.Color := CCErr;
//
// Chyba Prevodu cisla
//
if ( pr.ConvErr) and ( UseKonvLimits) then
Brush.Color := CKErr;
//
// Chyba prekroceni rozsahu
//
if ( pr.RozErr) and ( UseRangeLimits) then
Brush.Color := CRErr;
//
// Chyba komunikace
//
if ( pr.IOErr) and ( UseIOLimits) then
Brush.Color := CErr;

if ( ManualFind) or ( ChangeAdr) or ( ChangeCRC) or
ChangeSpeed) or ( ChangeFloat) or ( Finding)then
Brush.Color := clWhite; if ACol = 2 then
Brush.Color := clWhite;

FillRect ( Rect);

TextOut ( Rect.Left + 2, Rect.Top + 2, StringGrid1.Cells [ ACol,
ARow]);

end;

Font.Color := OldColor;
Brush := OldBrush;
end;

Predtim nez provedes prikaz TextOut si muzes klidne zmenit i font a styl ale
potom to dej zase zpatky (podobne jak to delam s Brush). A jeste by bylo
dobre nastavit OwnerDraw (nebo tak nejak).


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: Valenta Patrik <valentapat(zv)volny(tec)cz>
To: Delphi konference <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, April 05, 2001 6:56 AM
Subject: Ruzne barvy v Gridu


Zdrav�m v#echny, pot�eboval bych n�jakou kompu na styl Stringgrid, abych
mohl.
zvyraznit �adky nap�. jinou barvou nebo fontem. Stahl jsem si PuBStrGrig o
kterem se tu psalo ale tyhle vlastnosti v ni nejsou. diky


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

Delphi - Excel

[*] Josef A. Cerny <delphi(zv)atlascon(tec)cz> - 5.4.2001 07:52:19



> Jak nastavim z Delphi v bunce Excelu format cisla.

Range.NumberFormat := <format as string>;

> Pripadne, kde to je nejak popsano.

Neco by mohlo byt v MSDN.
Nekdy taky zkousim odpozorovat - udelam si v Excelu makro a zkoumam
prikazy a snazim se je prenest do Delphi.

Josef Cerny


MemTable bez BDE

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 5.4.2001 07:56:19

kbMemTable. najdes ji urcite na Torry i na DSP

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

5.4.2001 brejsa(zv)centrum(tec)cz:
> Zdravim vsechny,
> nevi nekdo o komponente pametove tabulky, ktera nepotrebuje k
> zivotu BDE? Nejlepe se zdrojakem.

> Predem diky
> Brejsa

> Hrajte on-line hry na http://herna.centrum(tec)cz
> Zalo�te si sv�j mail na http://mail.centrum(tec)cz

Poradi MDI child oken

[*] Josef A. Cerny <delphi(zv)atlascon(tec)cz> - 5.4.2001 07:57:19


Podivej se na z-order, procedura SetZOrder.

Josef Cerny

Kopirovani do cizi aplikace

[*] Jarka Svarcbachova <js(zv)mawi-eus(tec)cz> - 5.4.2001 08:04:42

Zdravim a mam prosbu.
Najde se nekdo, kdo skoukne nasledujici proceduru. (Je uz pomerne dost
preplacana mymi pokusy, takze nevim, jak z toho ven). Zamerem bylo docilit toho,
aby obsah pole Edit1 me aplikace se zkopiroval do Editu cizi bezici aplikace
(TfrmMainH). K cilovemu Editu se v cizi aplikaci dostanu po nekolikerem (pro
zkousku po jednom) stisknuti tabelatoru. Vyzkousela jsem ruzne metody (jak je
videt ze zdroje), ale nic nefungovalo. Nejvetsi problem je v tom, ze nemuzu zjistit
handle ciloveho Editu v cizi aplikaci. Po provedeni hEdit := GetFocus, dostanu
handle Controlu me aplikace. Kudy vede spravna cesta? Mam Win2000 a Delphi5
Enterprise Edition. Diky! Jarka
----------------------------------------------------------------------------------------------

procedure TForm1.Button1Click(Sender: TObject);
var
hW, hEdit, hwndPrev: HWND;
TID1,TID2, PID1,PID2 : DWORD;

begin
Edit1.SelectAll;
Edit1.CopyToClipboard;

hW := FindWindow('TFrmMainH',nil);
//posunu focus na spravn� TEdit pomoci tabelatoru
PostMessage(hW,WM KEYDOWN ,09 ,0);
PostMessage(hW,WM KEYUP ,09 ,0);

// pripojim vstup cizi aplikace k moji
{ TID1 := GetWindowThreadProcessId(hW,nil); // thread ID dane aplikace
(frmMainH)
TID2 := GetWindowThreadProcessId(Application.Handle,nil); // thread ID moji
aplikace
AttachThreadInput(TID1, TID2, true); //spojeni vstupu

//ziskam handle Editu
hEdit := GetFocus;
// hEdit := GetCurrentThreadId();

// hEdit := OpenProcess(PROCESS QUERY INFORMATION, False, PID2);
}

hwndPrev := GetForegroundWindow();
SetForegroundWindow (hW);
AttachThreadInput (GetCurrentThreadId(),
GetWindowThreadProcessId(Application.Handle,nil), TRUE);
hEdit := GetFocus();
AttachThreadInput (GetCurrentThreadId(),
GetWindowThreadProcessId(Application.Handle,nil), FALSE);
//SetForegroundWindow (hwndPrev); if hEdit <> 0 then
begin

// otestuju, zda je obsah ClipBoardu v pozad. formatu
if (IsClipboardFormatAvailable(CF TEXT))then begin
// Vymazu obsah Editu
SetWindowText(hEdit, '');

// Paste the text in the clipboard to the edit control
PostThreadMessage(TID1, WM PASTE, 0,0);
// SendMessage(hEdit, WM PASTE, 0,0);

Edit2.Clear; //testovac� po�kaz
Edit2.PasteFromClipboard; //testovac� po�kaz
end;
end;
// AttachThreadInput(TID1, TID2, false); //odpojeni vstupu

end;

Ruzne barvy v Gridu

[*] Valenta Patrik <valentapat(zv)volny(tec)cz> - 5.4.2001 08:08:36

D�ky, moc, vidim �e se musim jeste u�it. n�jak je mi proti srsti �e se pou��v� Event, ale fuguje tak funguje. Je#t� jednou diky.
----- Original Message -----
From: Bene# Jaroslav
To: Valenta Patrik
Sent: Thursday, April 05, 2001 7:13 AM
Subject: RE: Ruzne barvy v Gridu


Sorry, zapomel jsem tam vlozit priklad:

procedure TForm1.PubStrGrid1GetCellColor(Sender: TObject; ARow,
ACol: Integer; AState: TGridDrawState; ABrush: TBrush; AFont: TFont);
begin
If ACol=2 Then ABrush.Color:=clYellow;
If ARow=2 Then AFont.Color:=clRed;
end;

Jaro B.
-----Original Message-----
From: Valenta Patrik [mailto:valentapat(zv)volny(tec)cz]
Sent: Thursday, April 05, 2001 6:56 AM
To: Delphi konference
Subject: Ruzne barvy v Gridu


Zdrav�m v#echny, pot�eboval bych n�jakou kompu na styl Stringgrid, abych mohl.
zvyraznit �adky nap�. jinou barvou nebo fontem. Stahl jsem si PuBStrGrig o kterem se tu psalo ale tyhle vlastnosti v ni nejsou. diky

Interbase 6.0, IBExpress a transakce

[*] Ota Maly <ota.maly(zv)volny(tec)cz> - 5.4.2001 08:19:51

Ahoj,
jestli to dobre chapu, tak nevidis zmeny zpusobene tvoji transakci ani v
ramci teto transakce.
Commitem to sice vyresis, ale IMHO to neni dobre, protoze tim vlastne
znehodnotis cely system transakci. Otazkou je, jak se dostavas na data
(pokud pres DBaware, tak je to sice mozno, ale obnasi to prave treba tyto
problemy). Zkus zavrit a otevrit tabulku. Pak by to melo byt videt.

S pozdravem
Ota Maly

PaPouch elektronika
http://www.papouch.com



Pro aktualizaci data pouzivam ulozenou proceduru, ve ktere zahajim
transakci, provedu Update a pak Commit nebo Rollback. Tuto proceduru
spoustim pres IBQuery. Kdyz provedu Query.ExecSQL, tak se zmeny sice
provedou, ale nejsou vidit dokud neukoncim program.

Kdyz dam:
Query.Transaction.StartTransaction;
Query.ExecSQL;
Query.Transaction.Commit;

Tak je to v poradku, zmeny jsou videt okamzite. Proc musim spoustet tu
proceduru uvnitr transakce, kdyz uvnitr procedury si stejne spustim svou
vlastni transakci ? Jak by to vypadalo, kdybych spustil stejnou sekvenci,
ale z duvodu vypadku klienta, by se program nedostal na
Query.Transaction.Commit, provedly by se zmeny nebo ne ?

Diik David Winter

Export do EXCELu - velke mnozstvi dat

[*] Pavel Gazda <Pavel.Gazda(zv)seznam(tec)cz> - 5.4.2001 08:20:55

Pro ty, ktere to zajima:

Problem jsem vyresil tim, ze nejdrive naplnim matici (variant) a tu pak celou
poslu do Excelu.
Zkousel jsem 15000 radku a 6 sloupcu a bylo to bez problemu.

D�ky za n�pady a informace.

Taky vypada pekne JCLExcel ( z http://www.delphi-jedi.org ), ale jeste jsem ji nezkousel.
Pavel

Maly exe z Delphi

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

Ahoj,

mam jednoduchy program, cely umisteny v dpr souboru. Vypada
asi takto:

program XYZ;

uses
Windows, SysUtils;

var
zdrojcesta, cesta, stary, novy, AppName: string;

begin
if FindWindow('bla', nil) = 0 then
begin
AppName := ChangeFileExt(ExtractFileName(ParamStr(0)), '');
ZdrojCesta := ExtractFilePath(ParamStr(0));
cesta := 'C:\' + AppName;
CreateDir(cesta);
stary := ZdrojCesta + AppName + '.exe';
novy := cesta + '\' + AppName + '.exe';
if not FileExists(novy) or (FileAge(stary) <> FileAge(novy)) then
CopyFile(PChar(stary), PChar(novy), False);
stary := ZdrojCesta + AppName + '.ini';
novy := cesta + '\' + AppName + '.ini';
if not FileExists(novy) or (FileAge(stary) <> FileAge(novy)) then
CopyFile(PChar(stary), PChar(novy), False);
WinExec(PChar(cesta + '\' + AppName + '.exe'),
SW_SHOWNORMAL);
end;
end.

Neboli program zkopiruje aplikaci ze sitoveho disku na lokalni a
spusti ji. Prelozeny program v D5.01 ma cca 45 kB. Zkousel jsem
pro zajimavost vytvorit prazdny program, tj. zadne uses, zadne
telo. Mel 16 kB. Pridani Windows a SysUtils do uses znamena
velikost prazdneho programu cca 40 kB. Budiz.

Pokud ovsem program, tak jak je popsan vyse, necham prelozit
s balicky, ma jen cca 7 kB.

Chci se proto zeptat jednak na obecne nazory k tomuto
tematu, ale hlavne na toto: potrebuje vubec takto jednoducha
aplikace nejake balicky? Pokud ano, ktere?

Diky

David Lebeda


Maly exe z Delphi

[*] Bene� Jaroslav <JBenes(zv)cpoj(tec)cz> - 5.4.2001 08:32:48

Myslim ze je nesmysl prekladat takhle maly program s balicky, protoze k
nemu musis dat alespon zakladni knihovnu VCL50.BPL a ta ma skoro 2 mega.
Lepsi je takovehle programy prekladat do monolit-exe. Ja mam aplikaci,
ktera ma cca 900 KB a kdybych ji prelozil s balicky, tak bych jich musel
prihodit mnoho (cca 20) a dalo by to mozna i deset mega (pri zkusebnim
prekladu ale mela jen 170 KB).

Jaro B.

> -----Original Message-----
> From: David Lebeda [mailto:david.lebeda(zv)comarr(tec)cz]
> Sent: Thursday, April 05, 2001 8:24 AM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Maly exe z Delphi
>
>
> Ahoj,
>
> mam jednoduchy program, cely umisteny v dpr souboru. Vypada
> asi takto:
>
> program XYZ;
>
> uses
> Windows, SysUtils;
>
> var
> zdrojcesta, cesta, stary, novy, AppName: string;
>
> begin
> if FindWindow('bla', nil) = 0 then
> begin
> AppName := ChangeFileExt(ExtractFileName(ParamStr(0)), '');
> ZdrojCesta := ExtractFilePath(ParamStr(0));
> cesta := 'C:\' + AppName;
> CreateDir(cesta);
> stary := ZdrojCesta + AppName + '.exe';
> novy := cesta + '\' + AppName + '.exe';
> if not FileExists(novy) or (FileAge(stary) <> FileAge(novy)) then
> CopyFile(PChar(stary), PChar(novy), False);
> stary := ZdrojCesta + AppName + '.ini';
> novy := cesta + '\' + AppName + '.ini';
> if not FileExists(novy) or (FileAge(stary) <> FileAge(novy)) then
> CopyFile(PChar(stary), PChar(novy), False);
> WinExec(PChar(cesta + '\' + AppName + '.exe'),
> SW SHOWNORMAL);
> end;
> end.
>
> Neboli program zkopiruje aplikaci ze sitoveho disku na lokalni a
> spusti ji. Prelozeny program v D5.01 ma cca 45 kB. Zkousel jsem
> pro zajimavost vytvorit prazdny program, tj. zadne uses, zadne
> telo. Mel 16 kB. Pridani Windows a SysUtils do uses znamena
> velikost prazdneho programu cca 40 kB. Budiz.
>
> Pokud ovsem program, tak jak je popsan vyse, necham prelozit
> s balicky, ma jen cca 7 kB.
>
> Chci se proto zeptat jednak na obecne nazory k tomuto
> tematu, ale hlavne na toto: potrebuje vubec takto jednoducha
> aplikace nejake balicky? Pokud ano, ktere?
>
> Diky
>
> David Lebeda
>
>

Maly exe z Delphi

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 5.4.2001 08:33:29

Pokud prekladas program bez balicku, potrebne veci se ti zakompiluji
primo do vysledneho EXE souboru.
Pokud prekladas program s balicky, musis s nim distribuovat i
prislusne BPL soubory (radove MB).
Takze u malych veci nemaji balicky (s vyjimkou specialit, jako jsou
plug-iny atd) smysl.

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

5.4.2001 David Lebeda:
> Ahoj,

> mam jednoduchy program, cely umisteny v dpr souboru. Vypada
> asi takto:

> program XYZ;

> uses
> Windows, SysUtils;

> var
> zdrojcesta, cesta, stary, novy, AppName: string;

> begin
> if FindWindow('bla', nil) = 0 then
> begin
> AppName := ChangeFileExt(ExtractFileName(ParamStr(0)), '');
> ZdrojCesta := ExtractFilePath(ParamStr(0));
> cesta := 'C:\' + AppName;
> CreateDir(cesta);
> stary := ZdrojCesta + AppName + '.exe';
> novy := cesta + '\' + AppName + '.exe';
> if not FileExists(novy) or (FileAge(stary) <> FileAge(novy)) then
> CopyFile(PChar(stary), PChar(novy), False);
> stary := ZdrojCesta + AppName + '.ini';
> novy := cesta + '\' + AppName + '.ini';
> if not FileExists(novy) or (FileAge(stary) <> FileAge(novy)) then
> CopyFile(PChar(stary), PChar(novy), False);
> WinExec(PChar(cesta + '\' + AppName + '.exe'),
> SW_SHOWNORMAL);
> end;
> end.

> Neboli program zkopiruje aplikaci ze sitoveho disku na lokalni a
> spusti ji. Prelozeny program v D5.01 ma cca 45 kB. Zkousel jsem
> pro zajimavost vytvorit prazdny program, tj. zadne uses, zadne
> telo. Mel 16 kB. Pridani Windows a SysUtils do uses znamena
> velikost prazdneho programu cca 40 kB. Budiz.

> Pokud ovsem program, tak jak je popsan vyse, necham prelozit
> s balicky, ma jen cca 7 kB.

> Chci se proto zeptat jednak na obecne nazory k tomuto
> tematu, ale hlavne na toto: potrebuje vubec takto jednoducha
> aplikace nejake balicky? Pokud ano, ktere?

> Diky

> David Lebeda

Vyuzivanie pamete OS Win PlayStation

[*] Marian Hatala <Marian.Hatala(zv)scprbk.sk> - 5.4.2001 08:36:07



> > > sice dokazou, ale na Linux nemaji. Nikdy se ti nestane, ze bys
musel
> > > restartovat Linux, protoze chces procistit pamet. Linux vlastne
musis
> > > restartovat jen po kompilaci jadra, jinak asi nikdy.
> > >
>
> > Nevim jak "zazracny" Linux, ale na kazdem profesionalne
nainstalovanem
> unixu
> > byva nastaven reboot kazdou noc, pripadne alespon jednou za tyden.
Zvlaste
> > jsou-li tam napr. velke DB jako Informix apod. Je to tam nastavene
a nikdo
> > se nad tim nepozastavuje, to bohuzel u NT serveru zatim neni moc
zvykem.
>
> Tak to slysim poprve. Zrejme se vi, ze ty aplikace jsou prasacky
napsane a
> nejsou shopny po sobe uklidit. Na serverech pouzivame Linux a
stredni doba
> zivota od rebootu je cca pul roku (209 dni nejvetsi vytrvalec) -
bohuzel cas
> od casu je potreba modernizovat nejaky ten hardware ci se nekomu
omylem
> podari server z konzole rebootnout, jinak by uptime byl daleko
vyssi.
>

Nechcel by som brat nikomu iluzie o "profesionalne nainstalovanom
unixe", ale vies si taketo rebootovanie predstavit v prevadzke 24x7
(24 hodin denne, 7 dni v tyzdni) - a to nemusi ist akurat o jadrovu
elektraren :)).
Podla mna profesionalne nainstalovany unix sam osebe ziadny restart
nepotrebuje a do urcitej miery musi zvladat aj nekorektne spravanie
aplikacii. Vsetko je vec (ne)korektneho spravania sa aplikacii.
Samozrejme ludska blbost je nekonecna a niekto moze vymysliet nejaku
"rozsiahlu" aplikaciu na dva riadky, ktora nebude robit nic ine iba
rebootovat masinu (lenze na to je kratky akykolvek operacny system)

eMHa


Prevod C++ do Delphi

[*] Jind�ich Nikodem <nikodem(zv)kh-kinetic(tec)cz> - 5.4.2001 08:37:25

Ahoj vsem,

mam problem s prevodem casti kodu z C++ do Delphi. Jedna se o praci s COM
objekty,
definice v C++:

void ShowDAList(CATID cid)
{
HRESULT hr, hr2;
ICatInformation *pCat;
IEnumCLSID * pEnum;
CATID Implist[1]; // tomuhle nerozumim, neumim moc C++

Implist[0] = cid; // tomuhle nerozumim, neumim moc C++ hr = CoCreateInstance (CLSID_StdComponentCategoriesMgr, NULL,
CLSCTX_INPROC_SERVER, IID_ICatInformation,
(void **)&pCat);

...
----------------------------------------------------------------------------
------------------------------

ja to prevedl do Delphi takto:

Var
glist: TGuid;
actual: Cardinal;
Sresult: PWideChar;
Implist: array[0..1] of Pointer; Begin

Implist[0]:= (zv)CATID_OPCDAServer20;

hr := CoCreateInstance(CLSID_StdComponentCategoriesMgr, nil,
CLSCTX_INPROC_SERVER, ICatInformation,
pCat);....

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

problem je v CLSID_StdComponentCategoriesMgr, Delphi tento objekt neznaji.
Je nejaky ekvivalent? Predem diky
Jindrich Nikodem

PS: mam Delphi 5 Professional, WinNT


ftp pres WinProxy

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.4.2001 08:52:51

> potrebuju prenaset soubory pres ftp. Bohuzel v ceste stoji WinProxy.
> Zkousel jsem pouzit indy komponenty, ale i pres ruzne nastaveni SOCKS
> a potvrzovani se nepodari pres proxy projit :-( Radkovym ftp z w95
> prolezu.
> Nemate s tim nekdo zkusenost ? Pripadne jake jine komponenty zkusit ?
> diky
>
> --

Mas 2 moznosti:
1) FTP Gateway - musis donutit DTP klienta, aby se pripojil na gateway a
poslal jmeno uzivatele ve tvaru user(zv)ftp.server. Gateway z textu za
zavinacem zjisti jmeno/adresu ciloveho FTP serveru, pripoji se na nej, posle
mu jmeno uzivatele pred zavinacem a pak uz prehazuje data mezi klientem a
FTP serverem

2) SOCKS - aby to fungovalo musi klient pracovat v PASV rezimu (vsechna TCP
sopjeni jsou od klienta ven)

D> Toman

Maly exe z Delphi

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.4.2001 09:02:38

> spusti ji. Prelozeny program v D5.01 ma cca 45 kB. Zkousel jsem
> pro zajimavost vytvorit prazdny program, tj. zadne uses, zadne
> telo. Mel 16 kB. Pridani Windows a SysUtils do uses znamena
> velikost prazdneho programu cca 40 kB. Budiz.

Inicializacni kod SysUtils nabali spoustu "zbytecneho" kodu. Pokud chces
napsat skutecne kratky program pak doporucuju toto:

- z http://xcl.cjb.net stahnout zkracenou unitu system.pas (dcu)
- nepouzivat vubec SysUtils. Pokud potrebujes nejake funkce z te knihovny
radeji si je napis sam (resp pretahni ze zdrojaku SyUtils). Pokud potrebujes
pouzivat vyjimky stahni si z http://xcl.cjb.net ocesanou SysUtils

Dalsi moznosti je zkompilovat program v D3 - ty jeste nemely v knihovnach
tolik balastu.

>
> Pokud ovsem program, tak jak je popsan vyse, necham prelozit
> s balicky, ma jen cca 7 kB.
>
> Chci se proto zeptat jednak na obecne nazory k tomuto
> tematu, ale hlavne na toto: potrebuje vubec takto jednoducha
> aplikace nejake balicky? Pokud ano, ktere?

aplikace bude mit 7kB ale buh vi kolik budou mit ty balicky co s ni musis
distribuovat...


D. Toman

Pouziti private

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

Ahoj,

uz nekolikrat jsem v kodu VCL narazil na neco, co povazuji za
nespravne. Prosim o nazor, zda je to tak.

Napr. v tride TScreen je private promenna FFocusedForm. Prislo by
mi tedy logicke, ze ji budou pouzivat pouze metody tridy TScreen,
coz ale neni pravda. Pouziva se napr. i z tridy TCustomForm.
Pochopil jsem, ze (zrejme narozdil od C++) v Delphi
neomezuje private obor viditelnosti jen na metody dane tridy, ale na
vse v dane unite. Muzete mi nekdo vysvetlit, PROC? Kdybych chtel
v nejakem svem formulari prepsat napr. metodu ShowModal tak, ze
pouziji cely puvodni kod a nekam doprostred bych chtel neco
vlozit, tak nemuzu, protoze ze sve unity uz nemohu k private
funkcim tridy TScreen. Mne nevadi, ze JA nemuzu (nepotrebuji to),
ale ze tam leze puvodni kod. Domnivam se, ze promenne, do
kterych maji lezt i jine tridy, by mely byt public a ze pouziti private
je programatorsky spatne. Nebo se mylim?

David Lebeda


Prevod C++ do Delphi

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.4.2001 09:16:40

> Ahoj vsem,
>
> mam problem s prevodem casti kodu z C++ do Delphi. Jedna se o praci s COM
> objekty,
> definice v C++:
>
> void ShowDAList(CATID cid)
> {
> HRESULT hr, hr2;
> ICatInformation *pCat;
> IEnumCLSID * pEnum;
> CATID Implist[1]; // tomuhle nerozumim, neumim moc C++
>
> Implist[0] = cid; // tomuhle nerozumim, neumim moc C++
>
> hr = CoCreateInstance (CLSID_StdComponentCategoriesMgr, NULL,
> CLSCTX_INPROC_SERVER, IID_ICatInformation,
> (void **)&pCat);
>
> ....
> --------------------------------------------------------------------------
--
> ------------------------------
>
> ja to prevedl do Delphi takto:
>
> Var
> glist: TGuid;
> actual: Cardinal;
> Sresult: PWideChar;
> Implist: array[0..1] of Pointer;
>
> Begin
>
> Implist[0]:= (zv)CATID_OPCDAServer20;
>
> hr := CoCreateInstance(CLSID_StdComponentCategoriesMgr, nil,
> CLSCTX_INPROC_SERVER, ICatInformation,
> pCat);
>
>
> problem je v CLSID_StdComponentCategoriesMgr, Delphi tento objekt neznaji.
> Je nejaky ekvivalent?

1) mel by si mit nekde definovan pascalsky interface pro ICatInformation
(resp pCat)
2) pokud pouzivas Borlandi knihovny pro praci s COMy (ComObj, ActiveX nebo
jkak se jmenuji) melo by stacit pouzit
ICatInformation := CreateComObject(CLSID_StdComponentCategoriesMgr)
3)CLSID_StdComponentCategoriesMgr by melo byt definovano v nejakym dalsim
C++ filu (pravdepodobne *.h, ktery definuje interface COMu. Nekde by se tam
mohla vyskytovat definice:

DEFINE_GUID(CLSID_StdComponentCategoriesMgr,x,x,xx,,)

kterou muzes prepsat jako:

CLSID_StdComponentCategoriesMgr : TGUID =
'{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}';


D. Toman

Databaze v IB II

[*] Pavel Cisar <pcb(zv)atlas(tec)cz> - 5.4.2001 09:31:42

Haj hou!

On 3 Apr 2001,, Ing. Patrik Tesar wrote:

> No s IB_O ani s IBX som nikdy nerobil, takze neviem posudzovat,
> ale ja som s FIB spokojny. Pacia sa mi. Ale hold bolo by lepsie,
> aby sa vyjadril aj niekto kto pouziva aj IBO aj FIB.

Porovnani IBO a IBX naleznete napr. zde

http://www.ibobjects.com/ibo_or_ibx.html

Hodne zdaru

Pavel Cisar <pcisar(zv)borland(tec)cz>
Borland s.r.o.

IB: Interbase 6.0, IBExpress a transakce

[*] Pavel Cisar <pcb(zv)atlas(tec)cz> - 5.4.2001 09:46:45

Haj hou!

On 4 Apr 2001,, David Winter wrote:

> Pro aktualizaci data pouzivam ulozenou proceduru, ve ktere zahajim
> transakci, provedu Update a pak Commit nebo Rollback. Tuto
> proceduru spoustim pres IBQuery. Kdyz provedu Query.ExecSQL, tak
> se zmeny sice provedou, ale nejsou vidit dokud neukoncim program.

Muzu se zeptat, jak se ti povedlo UVNITR ulozene procedury
zahajit (a ukoncit) transakci ?

AFAIK ulozene procedury pracuji v kontextu transakce volajiciho
programu a jejich cinnost se neprojevi dokud tato transakce neni
potvrzena (presne to chovani, ktere jsi zaznamenal). Pokud
nepouzijes explicitni transakce, pak je Query.ExecSQL provadeno
v kontextu implicitni transakce. Je divne, ze IBX nepotvrzuje
implicitni transakce hned po vykonani prikazu (jak je v kraji
zvykem) ale az pri uzavreni spojeni (pozor na implicitni akci, muze
byt i rollback, zalezi na nastaveni!), ale je pravda ze uz jsem se ve
zdrojich IBX dlouho nestoural a implicitni transakce nepouzivam.

Hodne zdaru

Pavel Cisar <pcisar(zv)borland(tec)cz>
Borland s.r.o.

Synapse & RTF

[*] CERMAK <CERMAK(zv)procom(tec)cz> - 5.4.2001 09:57:59

Ahoj vsichni

Mam nasledujici dotaz. Da se nejak pres synapsi poslat Mail tak, aby byl
zobrazen v Outlooku jako RTF? Dekuji za pripadnou radu. Jaromir Cermak

Prepinani MDI child oken - VYRESENO

[*] Da�a Petr <Petr.Dana(zv)pvt(tec)cz> - 5.4.2001 10:02:47

Tak se mi po umornem zjistovani vseho mozneho podarilo vyresit prepinani MDI
child oken pomoci Ctrl-(Shift-)Tab - lepe receno upravit jej tak, aby
fungovalo obdobne jako prepinani aplikaci Alt-Tab.
Pokud to nekdo potrebuje, zde jsou kusy kodu:

1. Trida TMDIChild:

funkce GetIdxTab vraci poradove cislo MDI child okna z promenne IdxTab,
ktere je jedinecne a je mu prirazeno pri jeho vytvoreni (posloupnost 0..n)

procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
function GetIdxTab: Integer;

procedure TMDIChild.WMSysCommand(var Msg: TWMSysCommand);
begin
case Msg.CmdType of
SC_NEXTWINDOW:
begin
if not(frmMain.CtrlTab) then
begin
frmMain.CtrlTab := true;
frmMain.GetNext(true);
frmMain.LastMDIChild := IdxTab;
end else
frmMain.GetNext(false);
end;
SC_PREVWINDOW:
begin
if not(frmMain.CtrlTab) then
begin
frmMain.CtrlTab := true;
frmMain.GetPrev(true);
frmMain.LastMDIChild := IdxTab;
end else
frmMain.GetPrev(false);
end
else inherited;
end;
end;


2. Trida TfrmMain:

procedure GetPrev(first: Boolean);
procedure GetNext(first: Boolean);
procedure WinMsg(var Msg : TMsg; var Handled : Boolean);

CtrlTab: Boolean;
LastMDIChild: Integer;

procedure TfrmMain.FormCreate(Sender: TObject);
begin
CtrlTab := false;
LastMDIChild := -1;
Application.OnMessage := WinMsg;

......
end;


procedure TfrmMain.GetNext(first: Boolean);
var
pom, i: Integer;
begin
if MDIChildCount < 2 then
begin
messageBeep(0);
Exit;
end;
if (first) and (LastMDIChild <> -1) then
begin
for i := 0 to MDIChildCount-1 do
if (TMDIChild(MDIChildren[i]).GetIdxTab = LastMDIChild) then
break;
MDIChildren[i].BringToFront;
end else
begin
pom := TMDIChild(ActiveMDIChild).GetIdxTab;
if (pom = MDIChildCount-1) then pom := 0
else pom := pom + 1;
for i := 0 to MDIChildCount-1 do
if (TMDIChild(MDIChildren[i]).GetIdxTab = pom) then
break;
MDIChildren[i].BringToFront;
end;
end;

procedure TfrmMain.GetPrev(first: Boolean);
var
pom, i: Integer;
begin
if MDIChildCount < 2 then
Exit;

if (first) and (LastMDIChild <> -1) then
begin
for i := 0 to MDIChildCount-1 do
if (TMDIChild(MDIChildren[i]).GetIdxTab = LastMDIChild) then
break;
MDIChildren[i].BringToFront;
end else
begin
pom := TMDIChild(ActiveMDIChild).GetIdxTab;
if (pom = 0) then pom := MDIChildCount-1
else pom := pom - 1;
for i := 0 to MDIChildCount-1 do
if (TMDIChild(MDIChildren[i]).GetIdxTab = pom) then
break;
MDIChildren[i].BringToFront;
end;
end;

procedure TfrmMain.WinMsg(var Msg : TMsg; var Handled : Boolean);
var i: integer; s: string;
begin
if (Msg.Message = WM_KEYUP) then
if (Msg.wParam = VK_CONTROL) then
CtrlTab := false;
end;


Snad jsem sem vlepil vsechno, co je potreba.
Sorry za trochu delsi text, ale snad to nekomu pomuze.
Petr


Nacteni zvuku z RES pri startu

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 5.4.2001 10:05:27

On 4 Apr 2001, at 19:42, Milan #ݿek wrote:

> Muzete mi prosim nekdo poslat prikladek na ResourceStream? Diky.

Prohledni si unity classes.pas, comctrls.pas a graphics.pas.


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


Ruzne barvy v Gridu

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 5.4.2001 10:05:27

On 5 Apr 2001, at 6:56, Valenta Patrik wrote:

> Zdrav�m v#echny, pot�eboval bych n�jakou kompu na styl Stringgrid,
> abych mohl. zvyraznit �adky nap�. jinou barvou nebo fontem. Stahl jsem
> si PuBStrGrig o kterem se tu psalo ale tyhle vlastnosti v ni nejsou.
> diky

OdbGrid z OLE DB. Na podobnem principu funguje i grid v nove
verzi Lokalizatoru 5, beta verzi lze stahnout z
http://www.localizator.com
Tam mohu menit v libovolne bunce barvu pozadi, font, a 3D. Grid v
Lokalizatoru umi navic korektne zobrazovat ruzne znakove sady
vedle sebe, takze lze spolecne namichat latinku, arabstinu,
cinstinu a jine. Kazdy, kdo si koupi novou verzi, bude mit kompletni
zdrojaky k tomuto gridu vcetne zdrojaku vybranych modulu, jak se
ten grid pouziva. Grid je vsak pouze na prohlizeni, pripadnou editaci
si bude muset kazdy dodelat sam.


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


simulator klavesnice

[*] DJ <giorgione(zv)email(tec)cz> - 5.4.2001 10:07:42

Ahoj,
chtel jsem tento napad vyzkouset, ale program nejevil zadnou cinnost (pouzivam
w2k). Zkusil jsem vsak domyslet, co by asi mohl delat a vidim tam jeden problem...jde
totiz o to, ze okno aplikace se nesmi vubec aktivovat (ani na chvilicku).
Jinak by byly problemy se zasilanim klaves do ComboBoxu. V cem je problem
snadno zjistis, kdyz pustis z nabidky start dialog Run(Spustit). Neco do
nej napis. Predej focus jinemu oknu a pak opet aktivuj Run. Opet neco napis.
Zjistis, ze se ti prepsalo to, co tam bylo predtim :-( Takze kdyz bych simuloval
klavesnici, dokazal bych do ComboBoxu zapsat vzdy jen jedno pismeno, nebot
predchozi by se smazalo.

Za uvedeny priklad presto dekuji, je to zajimava, i kdyz asi ne plne vyhovujici
moznost.
problem je tedy stale otevreny - pomuze jej nekdo vyresit? Opakuji, ze je
treba zaridit toto: po kliknuti na moji aplikaci se provede nejaka akce,
aniz by aplikace ziskala focus (stala se aktivni) - musi stale zustat neaktivni!

Jiri Dolezel


> tohle me take zajima, tak jsem si s tim zkusil pohrat vice. Pokud jsem to
> spravne pochopil, nejde ti o to, aby se okno aplikace neaktivovalo,
> potrebujes okno plne tlacitek, kdy kliknuti na nejake tlacitko posle string
> do aplikace, ktera byla aktivni pred aktivaci tve aplikace.
> Zkusil jsem toto:
>
> - formu, ktery bude obsahovat butony, jsem nastavil vlastnost FormStyle
na
> fsStayOnTop
> - uzivatel vybere nejakou aplikaci, do ktere chce ten retezec poslat
> (nastavi se do jejiho editu, jako by se chystal psat normalne klavesnici)
> - klikne v tve aplikaci na buton. Kliknutim preda focus tve aplikaci. Kdyz
> tva aplikace opet focus ztrati (okno se treba zavre), system preda focus
> predchozi aplikaci. Takze jsem zkusil napsat Button1Click tak, aby ukryl
tve
> okno, pak jej opet zobrazil (tomu, aby okno pri zobrazeni dostalo focus
se
> da zabranit funkci SetWindowPos, viz dale) a nakonec pomoci funkci
> keybd_event prehral nejakou klavesovou sekvenci. Okno vlastne rychle
> 'blikne'.
>
> S uspechem jsem odzkousel toto (W95 s IE5.5, D5 Ent.):
> ------------------------------------------------------------
> Form ma jedno tlacitko Button1, Form.FormStyle = fsStayOnTop.
> ------------------------------------------------------------
> unit Unit1;
>
> interface
>
> uses
> Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
> StdCtrls, ExtCtrls;
>
> type
> TForm1 = class(TForm)
> Button1: TButton;
> procedure Button1Click(Sender: TObject);
> private
> procedure RemoveFocus;
> public
> { Public declarations }
> end;
>
> var
> Form1: TForm1;
>
> implementation
>
> {$R *.DFM}
>
> procedure TForm1.RemoveFocus;
> begin
> //ukryt okno, system preda focus predchozi aplikaci
> ShowWindow(Handle, SW_HIDE);
> //zobrazit okno, pri parametru SWP_NOACTIVATE nase okno
> //nedostane focus
> SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or
> SWP_SHOWWINDOW or SWP_NOSIZE or SWP_NOACTIVATE);
> end;
>
> procedure keybd_event_str(S: string);
> var
> I: Integer;
> begin
> { Nevim jak se spravne pouziva keybd_event, takze me prosim nekamenuj
> :-) }
> for I := 1 to Length(S) do
> keybd_event(
> Byte(S[I]),
> MapVirtualKey(Byte(S[I]), 0),
> 0,
> 0);
> end;
>
> procedure TForm1.Button1Click(Sender: TObject);
> begin
> //zbavit se focusu
> RemoveFocus;
> //poslat klavesovou sekvenci
> keybd_event_str('AHOJ');
> end;
>
> end.
> ------------------------------------------------------------
>
> Nedokazu posoudit, jak moc je toto reseni ciste, kdy se vlastne vola
> OnClick? Pri zpracovani WM_LBUTTONDOWN? Nevadi nejak to blikani oknem pri
> zpracovavani teto zpravy VCL? Windowsum by to vadit nemelo, kdyz uz se
> zpravy zpracovavaji asynchrone.
>
> S pozdravem
> Petr E#ner
> petr.esner(zv)atlas(tec)cz
> #ICQ 105826792

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


spinaci tranzistory do zdroje

[*] Daniel Dedek <Dedek(zv)ds(tec)cz> - 5.4.2001 10:12:46


Ahoj,

tam vetsinou bejvej tranzistory oznacene Cxxxx, je to ale jenom
zkracene oznaceni pro 2SCxxxx, zkus hledat tam. Jiny typ tranzistoru nez
je ten puvodni nebo prima nahrada bych tam radsi nedaval.

Dan

> je opravoval, mel jsem dva ruzne). No proste mi shorel PC zdroj. Uz
podruhe.
> Nevite nekdo nejaky typ spinacich tranzistoru, ktere tam muzu dat?
Jsou tam
> trandiky made in tchai-van a v katalogo samozrejme nejsou.

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


Printer - format stranky

[*] Radek Janka <radek.janka(zv)ipsystem(tec)cz> - 5.4.2001 11:00:53

Ahoj,

ve sve aplikaci vytvarim vykresy ktere potrebuji tisknout - pouzivam vlastni
report, tisknu to tak ze kreslim primo na Canvas tiskarny pripadne tam
zkopiruju windows metafile. Nektere vykresy tisknu na format A4, nektere na
format A3 (pouzivame tiskarnu HPLJ4V). Potreboval jsem vyresit softwarove
automaticky vyber formatu stranky tak aby ho nemusel nastavovat uzivatel ve
vlastnostech tiskarny pred tiskem. V DOSu jsem to delaval escape sekvenci, v
Delphi 2 jsem po jistem usili skoncil u tohoto reseni: ve VCL u tridy
TPrinter jsem presunul property DevMode:PDeviceMode z private sekce do
public a aplikace potom muze priradit format takto:

if Pos('A4',MyPage^.Format)>0 then
MyPrinter.DevMode^.dmPaperSize:=DMPAPER_A4;
if Pos('A3',MyPage^.Format)>0 then
MyPrinter.DevMode^.dmPaperSize:=DMPAPER_A3;

kde MyPage obsahuje mimo jine udaje o pozadovane velikosti stranky a jeji
orientaci.

Presel jsem ted na Delphi 5 Standard a potreboval bych vedet bud:

a) zda by mi nekdo mohl poslat source unity TPrinter pro D5, abych mohl
provest obdobne reseni jako vyse popsane, nebo
b) jestli je mozne resit nastaveni formatu stranky jinym zpusobem.

Diky.
------------------------------------------------------------------------
e-mail: radek.janka(zv)ipsystem(tec)cz
http://www.ipsystem(tec)cz
------------------------------------------------------------------------

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


OT: Prevod z VC++ do Delphi4

[*] Milan Blazek <mbsint(zv)telecom(tec)cz> - 5.4.2001 11:19:18

Souhlasim a urcite to neresi muj problem.

Presto diky vsem za poskytnute rady a nezbyva zrejme nic jineho nez se ucit
C++ a prevod
udelat manualne - hruza :-((

M.Blazek


> uz podle nazvu to prevadi jen Cckove header fily (*.h) coz je ponekud jiny
> kafe. Header file obsahuji jen definice konstant a hlavicky funkci, atd.
>
> D. Toman

SHFileOperation a PChar

[*] Alexandr Stefek <alex(zv)scova.vabo(tec)cz> - 5.4.2001 11:43:59

Promenna pFrom musi koncit dvema nulami #0+#0. A to asi nekonci.
vice viz help

Alexandr STEFEK

----- Original Message -----
From: Mirek Drej�ek
To: Konference Delphi
Sent: Wednesday, April 04, 2001 2:16 PM
Subject: SHFileOperation a PChar


Zdravim,
pouzivam k mazani SHFileOperation. Toto mi fukguje:

var SHFOS:TSHFileOpStruct;
FN:PChar;
begin
with SHFOS do
begin
Wnd:=Handle;
wFunc:=FO_DELETE;
FN:='d:\temp\kuk\kuk'+#0;
pFrom:=FN;
fFlags:=FOF_ALLOWUNDO;
end;
SHFileOperation(SHFOS);

ale toto uz ne:

with SHFOS do
begin
Wnd:=Handle;
wFunc:=FO_DELETE;
Soubor:=DDatabaze+'Zoologie\Vertebrata\Aves'+#0;
FN:=PChar(Soubor);
pFrom:=FN;
fFlags:=FOF_ALLOWUNDO;
end;
SHFileOperation(SHFOS);

Skonci chybou EAccessViolation v kernel32.dll

Muze te mi prosim poradit, co s tim? Nebo jak toto nahradit?
Predem diky za jakoukoli radu.
Mirek Drejcek.

TRegistry a Warning

[*] Peter Vlkovic <vlkovic(zv)minv.sk> - 05.4.2001 11:50:30

Ahoj,

neviete mi niekto poradit, preco mi kompiler hadze na oznacenom
riadku Warning (hint) "Value assigned to... never used ?"

FUNCTION ExistRegKey ( RootKey: HKEY; const Key: string ): Boolean;
// zisti existenciu pozadovaneho kluca v registri
var
Reg: TRegistry;
begin
Result := False; // default <---- TU JE WARNING !!!
Reg := TRegistry.Create();
TRY
Reg.RootKey := RootKey;
Result := Reg.KeyExists ( Key );
FINALLY
Reg.Free();
END;
end;


Mam zato, ze ak by sa na niektorom riadku
Reg.RootKey alebo Reg.KeyExists vyskytla
vynimka, chcem si zabezpecit uvolnenie
registra a navrat s default hodnotou
(False). Je to zle?


Vlkovic


Prevod C++ do Delphi

[*] Jind�ich Nikodem <nikodem(zv)kh-kinetic(tec)cz> - 5.4.2001 11:54:11

Ahoj,

jedinou definici CLSID_StdComponentCategoriesMgr, kterou jsem nasel je v
souboru COMCAT.H a to takto:

EXTERN_C const CLSID CLSID_StdComponentCategoriesMgr;
J. Nikodem

> DEFINE_GUID(CLSID_StdComponentCategoriesMgr,x,x,xx,,)
>
> kterou muzes prepsat jako:
>
> CLSID_StdComponentCategoriesMgr : TGUID =
> '{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}';
>
> D. Toman
>

Printer - format stranky

[*] Tomas Vladik <tom.vladik(zv)swadvice(tec)cz> - 5.4.2001 11:59:12

> a) zda by mi nekdo mohl poslat source unity TPrinter pro D5, abych mohl
> provest obdobne reseni jako vyse popsane, nebo

Kdyz si chces opublikovat nejake protected/private vlastnosti, metody
tridy, tak se to da oblbnout napr. takto:

Deklaruju si potomka tridy, ktera ma pozadovane published:

type
TMyGridHack = Class( TDbGrid )
PUBLISHED
Function CellRect( ACol, ARow: Longint ): TRect;
End;

No a pak az se k tomu potrebuju dostat, tak si to pretypuju:

G := ( Sender As TDbGrid );
Hack := TMyGridHack( G );

S tim TPrinter by to mohlo jit obdobne ...

Tom

Maly exe z Delphi - korekce uses

[*] Str�n�k Franti�ek - 5.4.2001 12:14:14

Omlouvam se za pridani do diskuze diky me neznalosti,

ale celou dobu jsem se domnival, ze kdyz dam do jednotky uses na nejakou
jednotku a nic z ni nevyvolam, tak se mi kod nezvetsi ... zkratka
jednotka v uses se neprilinkuje, dokud z ni neco nevyvolam.
Nyni jsem delal pokus, ze do jednotky jsem dal napr. uses MSHTML, nic
jsem z teto jednotky nezavolal a kod exe se mi zvetsil z 293 kB na 307
kB tj. asi o 14 kB aniz jsem z teto jednotky neco potreboval.

Doposud jsem zil v predstave, ze nemusim vyhazovat "mrtve nepouzite"
uses v jednotkach projektu kvuli minimalizaci vysledneho kodu. Musim si
na to tedy davat POZOR ?

Jak to tedy vlastne je ?

V pradavnych dobach v TurboVision to snad takto bylo ?!!!!

Predem diky za pomoc pri oprave mych predstav
Zdravi

Franti#ek STR#N#K
mailto:FSTRANIK(zv)CPOJ.CZ

Maly exe z Delphi - korekce uses

[*] tomsir1.edu(zv)mail.cez(tec)cz - 5.4.2001 12:24:41


no, kdyz mas cokoli uvedene v uses, tak se ti tim zvetsi exe soubor -
prilinkujes to. Pokud chces minimalizovat exe a setrit pamet, pouzij dll,
zavede se do pameti teprve tehdy, kdyz zavolas nejakou jeji funkci.

Radegast



Str�n�k Franti#ek <FStranik(zv)cpoj(tec)cz>(zv)clexpert(tec)cz on 05.04.2001 11:14:14

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

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


Komu: "Delphi konference" <DELPHI-L(zv)clexpert(tec)cz>
Kopie:
P�edm�t: Maly exe z Delphi - korekce uses

Omlouvam se za pridani do diskuze diky me neznalosti,

ale celou dobu jsem se domnival, ze kdyz dam do jednotky uses na nejakou
jednotku a nic z ni nevyvolam, tak se mi kod nezvetsi ... zkratka jednotka
v uses se neprilinkuje, dokud z ni neco nevyvolam.

Nyni jsem delal pokus, ze do jednotky jsem dal napr.� uses MSHTML, nic jsem
z teto jednotky nezavolal a kod exe se mi zvetsil z 293 kB na 307 kB tj.
asi o 14 kB aniz jsem z teto jednotky neco potreboval.

Doposud jsem zil v predstave, ze nemusim vyhazovat "mrtve nepouzite" uses v
jednotkach projektu kvuli minimalizaci vysledneho kodu. Musim si na to tedy
davat POZOR ?

Jak to tedy vlastne je ?

V pradavnych dobach v TurboVision to snad takto bylo ?!!!!

Predem diky za pomoc pri oprave mych predstav
Zdravi

Franti#ek STR#N#K
mailto:FSTRANIK(zv)CPOJ.CZ


Maly exe z Delphi - korekce uses

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.4.2001 12:33:24

>ale celou dobu jsem se domnival, ze kdyz dam do jednotky uses na nejakou
>jednotku a nic z ni nevyvolam, tak se mi kod nezvetsi ... zkratka
>jednotka v uses se neprilinkuje, dokud z ni neco nevyvolam.

to plati jen v pripade, ze ta Unita nema zadny startup/exit kod (nepouziva
Initialization/Finalization sekci). Pokud startup kod ma, pak pravdepodobne
pouzije nejake sve rutiny a tim padem se prilinkuji. To je pripad prave
SysUtils

>Nyni jsem delal pokus, ze do jednotky jsem dal napr. uses MSHTML, nic
>jsem z teto jednotky nezavolal a kod exe se mi zvetsil z 293 kB na 307
>kB tj. asi o 14 kB aniz jsem z teto jednotky neco potreboval.

>Doposud jsem zil v predstave, ze nemusim vyhazovat "mrtve nepouzite"
>uses v jednotkach projektu kvuli minimalizaci vysledneho kodu. Musim si
>na to tedy davat POZOR ?

ano

>V pradavnych dobach v TurboVision to snad takto bylo ?!!!!

nebylo :) Jen misto Initialization se startup kod umistoval mezi begin/end
na konci unity (to ostatne je mozne i dnes)

D. Toman

Win98 a Delphi vyjimky - PROSBA 2.

[*] Ondrej Krajicek <xkrajic(zv)ics.muni(tec)cz> - 05.4.2001 12:36:05


Nazdar,

nevloudila se nahodou chybka ?
At koukam jak koukam, tak v te funkci ne a ne nic pretect,
zato nulou se tam deli furt ;-). Je to
samozrejme jenom detail.

function TriggerFpuExceptionOverflow: Cardinal;
var
Counter: Cardinal;

d0, d1, d_result: Double;
begin
Result := 0;

d1 := 1.0;
d0 := 0.0;

for Counter := 1 to RunCount do
begin
try
d_result := d1 / d0;

// Dummy code to kill warnings
if d_result = -1 then
Halt;
except
Inc(Result);
end;
end;
end;


Ondra

--
---------------------------------------------------------------------
Ondrej Krajicek OK-)
email: xkrajic et {ics,fi}.muni(tec)cz
Omnia ad maiorem Informaticae gloriam.
-->>> The Nexus Framework <<<-- sourceforge.net/projects/nexusproject
Of course we can, moreover we must, it is our holiest duty.
---------------------------------------------------------------------


Maly exe z Delphi - korekce uses

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.4.2001 12:36:13

>no, kdyz mas cokoli uvedene v uses, tak se ti tim zvetsi exe soubor -
>prilinkujes to. Pokud chces minimalizovat exe a setrit pamet, pouzij dll,
>zavede se do pameti teprve tehdy, kdyz zavolas nejakou jeji funkci.

Tak tohle je blbost.
Linker vyhaze co muze. Cili neni-li nejaka procedura/funkce odnikud volana,
pak se k Execku rozhodne neprida. Podobne to plati i o globalnich
promennych. Tam si nejsem jisty jak to funguje V Dx, ale v TP to bylo, tak,
ze linker vyhodil globalni promennou pokud v dane sekci VAR byly vsechny
ostatni promenne take nereferencovane. CIli se nekdy vyplacelo psat vice VAR
definici - bud jednu pro kazdou promennou nebo nejak vhodne seskupit

D. Toman

Maly exe z Delphi

[*] Ondrej Krajicek <xkrajic(zv)ics.muni(tec)cz> - 05.4.2001 12:45:35


> - z http://xcl.cjb.net stahnout zkracenou unitu system.pas (dcu)

Nejak se na teb web nemuzu porad dostat.
Roste to jeste nekde jinde ?

Ondrej Krajicek

--
---------------------------------------------------------------------
Ondrej Krajicek OK-)
email: xkrajic et {ics,fi}.muni(tec)cz
Omnia ad maiorem Informaticae gloriam.
-->>> The Nexus Framework <<<-- sourceforge.net/projects/nexusproject
Of course we can, moreover we must, it is our holiest duty.
---------------------------------------------------------------------


Maly exe z Delphi - korekce uses

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.4.2001 12:54:44

>Pokud chces minimalizovat exe a setrit pamet, pouzij dll,
>zavede se do pameti teprve tehdy, kdyz zavolas nejakou jeji funkci.

jeste jednou :-)

DLL se zavede do pameti az na pozadani pouze v tom pripade, ze odkaz na jeji
funkci neni staticky nalinkovan. Jinak ji loader natahne spolu s programem a
pokud takova DLL neexituje nebo ji nelze inicializovat dotycny program se
vubec nespusti.

Cili aby DLL byla natazena jen v pripade potreby musi se volat dynamicky (tj
rucne) pomoci LoadLibrary az v pripade, ze chci danou funkci z dane DLL
pouzit.


D. Toman

Maly exe z Delphi - korekce uses

[*] Str�n�k Franti�ek - 5.4.2001 12:58:05

Tak potom by bylo nejlepsi si udelat z SysUtils dll knihovnu ?
Jde to a co licence atd ????20
a proc to tak Borlandi nedelaji ??????

Zdravi F.Stranik

> -----P�vodn� zpr�va-----
> Od: Dalibor Toman [SMTP:dtoman(zv)fortech(tec)cz]
> Odesl�no: 5. dubna 2001 12:55
> Komu: delphi-l(zv)clexpert(tec)cz
> P�edm�t: Re: Maly exe z Delphi - korekce uses
>
> >Pokud chces minimalizovat exe a setrit pamet, pouzij dll,
> >zavede se do pameti teprve tehdy, kdyz zavolas nejakou jeji funkci.
>
> jeste jednou :-)
>
> DLL se zavede do pameti az na pozadani pouze v tom pripade, ze odkaz
> na jeji
> funkci neni staticky nalinkovan. Jinak ji loader natahne spolu s
> programem a
> pokud takova DLL neexituje nebo ji nelze inicializovat dotycny program
> se
> vubec nespusti.
>
> Cili aby DLL byla natazena jen v pripade potreby musi se volat
> dynamicky (tj
> rucne) pomoci LoadLibrary az v pripade, ze chci danou funkci z dane
> DLL
> pouzit.
>
>
> D. Toman
>
>
>
>

probl�m FlashFiler 2 & datum

[*] Chadt Jaroslav <Chadt(zv)cbu.uhul(tec)cz> - 5.4.2001 12:59:13

Pros�m o radu. Nainstaloval jsem si FlashFiler 2 a zkousel jsem SQL dotazy
na server pomoci komponenty TffQuery. Vse fungovalo dobre az do chvile, kdy
jsem chtel vybrat mnozinu vet dle polozky datum.
Jak mam napsat dotaz??
Toto mi nefunguje:
select * from "udalosti" where datum>"1.1.2001"

Zkousel jsem i ruzne formaty datumu, ale bez uspechu.
Kdy databazi prevedu do paradoxu a napisu ten samy dotaz do TQuery tak to
jede.
Jaroslav Chadt


Maly exe z Delphi - korekce uses

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 5.4.2001 13:00:28

> >Pokud chces minimalizovat exe a setrit pamet, pouzij dll,
> >zavede se do pameti teprve tehdy, kdyz zavolas nejakou jeji funkci.
>

Myslim zcela bez zaruky, ze to byl Dalibor Toman, kdo psal o EXE
mensich nez 10 KB, nicmene muj prazdny program, ktery
neobsahuje vubec nic a neni prelozen s balicky, ma 16 KB. Proto
me zajima pozadi. O par kilobajtu souboru tu nebezi.
Zejmena by me zajimalo, pokud prelozim prazdny program s
balicky a spustim ho na stroji bez balicku, zda se ho podari
spustit, nebo zda je balicek overovan jiz pri spusteni.

David Lebeda


Prihlaseny uzivatel ve windows

[*] Ondrej Krajicek <xkrajic(zv)ics.muni(tec)cz> - 05.4.2001 13:07:12


Pokud jde o prihlaseneho uzivatele, tak GetCurrentUser neni
zrovna to prave orechove. GetCurrentUser vrati jmeno
uzivatele, pod kterym bezi volajici thread. Pod
pojmem prihlaseny uzivatel ve windows bych si spis predstavil
cloveka, ktery u "toho" zrovna sedi a zjistit
jmeno takoveho uzivatele je docela sranda :).

Ondra


--
---------------------------------------------------------------------
Ondrej Krajicek OK-)
email: xkrajic et {ics,fi}.muni(tec)cz
Omnia ad maiorem Informaticae gloriam.
-->>> The Nexus Framework <<<-- sourceforge.net/projects/nexusproject
Of course we can, moreover we must, it is our holiest duty.
---------------------------------------------------------------------


Maly exe z Delphi

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.4.2001 13:12:59

Subject: Re: Maly exe z Delphi


>
> > - z http://xcl.cjb.net stahnout zkracenou unitu system.pas (dcu)
>
> Nejak se na teb web nemuzu porad dostat.
> Roste to jeste nekde jinde ?

Ve zdrojakach je zminka jeste o
http://xcl.nm.ru

Zda se ze funguje (ale je nejakej pomalej)

D. Toman

MemTable bez BDE

[*] Jiri Binder <j.binder(zv)albacon(tec)cz> - 5.4.2001 13:14:18

> nevi nekdo o komponente pametove tabulky, ktera nepotrebuje k
> zivotu BDE? Nejlepe se zdrojakem.

Myslim, ze nejpropracovanejsi free je kbmMemtable.

http://www.onelist.com/community/memtable

Jiri Binder

ftp pres WinProxy

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

From: "Vit Tichy" <vitek(zv)softok(tec)cz>
> potrebuju prenaset soubory pres ftp. Bohuzel v ceste stoji WinProxy.
> Zkousel jsem pouzit indy komponenty, ale i pres ruzne nastaveni SOCKS
> a potvrzovani se nepodari pres proxy projit :-( Radkovym ftp z w95
> prolezu.

Ahoj,

zkusil bych nejprve WinInet FTP funkce:
http://msdn.microsoft.com/workshop/networking/wininet/wininet.asp

Petr Vones, amatersky programator


ramecek MDI okna

[*] Pavel K�ehula <pavel.krehula(zv)nlm(tec)cz> - 5.4.2001 13:25:51

Zdravim,

chtel bych se zeptat, zda je mozne odstranit ten 3D ramecek u MDI parent
okna, pripadne jak ho nakreslit jiny.

Diky

--
S pozdravem
Pavel Krehula

================================================
NewLink, s.r.o. pavel.krehula(zv)nlm(tec)cz
Hradni 4 tel. +420 501 456059
Boskovice http://www.newlink(tec)cz
680 01
================================================

simulator klavesnice

[*] Petr E�ner <petr.esner(zv)atlas(tec)cz> - 5.4.2001 13:26:16

Ahoj,

> chtel jsem tento napad vyzkouset, ale program nejevil zadnou cinnost
(pouzivam
> w2k
Tez jsem ted vyzkousel na w2k, funguje. Tobe ty API funkce proste vratily 0?

> V cem je problem
> snadno zjistis, kdyz pustis z nabidky start dialog Run(Spustit). Neco do
> nej napis. Predej focus jinemu oknu a pak opet aktivuj Run. Opet neco
napis.
> Zjistis, ze se ti prepsalo to, co tam bylo predtim :-(
Nepomohlo by poslat pred vlastnim retezcem znak VK_RIGHT? Vybrana oblast se
odznaci.

S pozdravem
Petr E#ner
petr.esner(zv)atlas(tec)cz
ICQ# 62399997


Maly exe z Delphi - korekce uses

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.4.2001 13:29:23

> Myslim zcela bez zaruky, ze to byl Dalibor Toman, kdo psal o EXE
> mensich nez 10 KB, nicmene muj prazdny program, ktery
> neobsahuje vubec nic a neni prelozen s balicky, ma 16 KB. Proto

Provedl jsem nasledujici pokus, kde jsem zkompiloval prazdny projekt
==
{$I DEFINE.INC}
program minimal;
begin
end.
==
, kde define.inc definuji podminky prekladu (optimalizece zapnuta, zadne
debug info ani checking)

1) Standardni knihovny od Borlandu:
vysledna delka exe: 16384 (presne 16kB)
po odstraneni reloc tabulky pomoci StripRlc.exe pak delka je : 15360B

2) zkracena system.pas od Vladimira Kladov (KOL):
vysledna delka exe: 4608B
po odstraneni reloc tabulky pomoci StripRlc.exe pak delka je : 4096

Kompilovano pomoci D5 SP1

> me zajima pozadi. O par kilobajtu souboru tu nebezi.
> Zejmena by me zajimalo, pokud prelozim prazdny program s
> balicky a spustim ho na stroji bez balicku, zda se ho podari
> spustit, nebo zda je balicek overovan jiz pri spusteni.

balicky nepouzivam - ale troufnu si tvrdit, ze program nepobezi

D. Toman

Maly exe z Delphi - korekce uses

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.4.2001 13:32:00



Tak potom by bylo nejlepsi si udelat z SysUtils dll knihovnu ?
Jde to a co licence atd ?????
a proc to tak Borlandi nedelaji ??????

Sysutils mimo jine resi veci, ktere dost dobre nemuzou byt v DLL (osetreni
vyjimek)

V DLL se obtizne pracuje s nekterymi samozrejmymi vecmi (napada me problem s
alokaci/dealokaci pameti -> nemoznost pouzivani AnsiStringu (pokud ma DLL
funkce stringo menit), atd)

D. Toman

probl�m FlashFiler 2 & datum

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 5.4.2001 13:37:28

Puvodni zprava, kterou napsal Chadt Jaroslav dne 5 Apr 2001,:

> Pros�m o radu. Nainstaloval jsem si FlashFiler 2 a zkousel jsem SQL dotazy
> na server pomoci komponenty TffQuery. Vse fungovalo dobre az do chvile, kdy
> jsem chtel vybrat mnozinu vet dle polozky datum.
> Jak mam napsat dotaz??
> Toto mi nefunguje:
> select * from "udalosti" where datum>"1.1.2001"

Musis to delat takhle:

... where datum > date '2001-06-29'
... where cas = time '13:30:00'
... where datumcas >= timestamp '2001-06-29 12:30:00'


S pozdravem
Petr Zahradnik, pocitacovy expert

============================================================
Petr Zahradnik, Computer Laboratory
Obvodova 740/14, P.O. Box 15, 400 07 Usti nad Labem
Telefony: 047-5500610, 047-5501627, 0602-409601
Fax: 047-5511338
WWW: http://www.clexpert(tec)cz, http://www.zahradnik(tec)cz
E-Mail: clexpert(zv)clexpert(tec)cz, petr(zv)zahradnik(tec)cz
ICQ: 21215917
============================================================

TRegistry a Warning

[*] Petr Esner <petr.esner(zv)atlas(tec)cz> - 5.4.2001 13:49:36

Ahoj,

> Mam zato, ze ak by sa na niektorom riadku
> Reg.RootKey alebo Reg.KeyExists vyskytla
> vynimka, chcem si zabezpecit uvolnenie
> registra a navrat s default hodnotou (False). Je to zle?
Je to spravne. Tady to ale neni nutne, protoze funkce TRegistry.SetRootKey
ani TRegistry.KeyExists nikdy nevyvolaji vyjimku (viz. zdrojak
registry.pas).

S pozdravem
Petr Esner
petr.esner(zv)atlas(tec)cz
ICQ# 62399997


Synapse & RTF

[*] Gebauer Lukas <gebylist(zv)mlp(tec)cz> - 5.4.2001 13:49:16


Da. ;-) Pres Synapsi odesles cokoliv, co si vzpmenes, klidne i nejaky tvuj
vymysleny format. ;-) proste si pripav data, pridej ji jako dalsi part a
nastav si ja chces primarni a sekundarni mimetype. Tot vse.

Asi v dalsi verzi pridelam pro snadne pouziti udelatka na RTF a HTML do
TMimeMess, abys to nemusel delat rucne.

> Ahoj vsichni
>
> Mam nasledujici dotaz. Da se nejak pres synapsi poslat Mail tak, aby
> byl zobrazen v Outlooku jako RTF? Dekuji za pripadnou radu.
>
>
> Jaromir Cermak


Louci se Lukas Gebauer.

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


Synapse & RTF

[*] CERMAK <CERMAK(zv)procom(tec)cz> - 5.4.2001 14:01:04

Ahoj

To je vsechno hezky, ale jak mam tu MIMEPart nastavit, aby ji outlook
zobrazil jako text v okne a ne jako prilohu a mela format RTF resp. HTML.

Jaromir Cermak

-----Original Message-----
From: Gebauer Lukas [mailto:gebylist(zv)mlp(tec)cz]
Sent: Thursday, April 05, 2001 1:49 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Synapse & RTF



Da. ;-) Pres Synapsi odesles cokoliv, co si vzpmenes, klidne i nejaky tvuj
vymysleny format. ;-) proste si pripav data, pridej ji jako dalsi part a
nastav si ja chces primarni a sekundarni mimetype. Tot vse.

Asi v dalsi verzi pridelam pro snadne pouziti udelatka na RTF a HTML do
TMimeMess, abys to nemusel delat rucne.

> Ahoj vsichni
>
> Mam nasledujici dotaz. Da se nejak pres synapsi poslat Mail tak, aby
> byl zobrazen v Outlooku jako RTF? Dekuji za pripadnou radu.
>
>
> Jaromir Cermak


Louci se Lukas Gebauer.

E-mail: gebauerl(zv)mlp(tec)cz
WEB: http://www.ararat(tec)cz/synapse - Synapse Delphi TCP/IP Library
---
P��choz� zpr�va neobsahuje viry.
Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.237 / Virov� b�ze: 115 - datum vyd�n�: 7.3.2001


konverze dat Paradox-> Interbase

[*] <kinskyf(zv)atlas(tec)cz> - 5.4.2001 14:06:40

Dobry den!
Potrebuju pramistit data z tabulek v Paradoxu do Interbase, ale nejsem schopen zajistit, aby se cesky znaky zobrazovaly tak, jak maj, tj. � je jako # atd....
uz sem zkousel vsechny mozny kombinace kodovejch stranek a pak presunout data pres DataPump, ale porad stejnej efekt...
nevite, co s tim??
F.K.

TRegistry a Warning

[*] Peter Vlkovic <vlkovic(zv)minv.sk> - 05.4.2001 14:12:35

Petr Esner wrote:
>
> Ahoj,
>
> > Mam zato, ze ak by sa na niektorom riadku
> > Reg.RootKey alebo Reg.KeyExists vyskytla
> > vynimka, chcem si zabezpecit uvolnenie
> > registra a navrat s default hodnotou (False). Je to zle?
>
> Je to spravne. Tady to ale neni nutne, protoze funkce TRegistry.SetRootKey
> ani TRegistry.KeyExists nikdy nevyvolaji vyjimku (viz. zdrojak
> registry.pas).
>
> Petr Esner

Technicky nie, ale teoreticky, napr. ak pouzijem
konstrukciu Reg := TRegistry(TButton.Create());,
vytvori sa iny objekt a pri pokuse pristupovat
k nemu (vid moj predosly zdrojak) sa vynimka
vyvola a Result ostane nedefinovany.
Ciste teoreticky. (Vyskusal som aj prakticky).

Vlkovic


spinaci tranzistory do zdroje

[*] Erik Salaj <winsoft(zv)napri.sk> - 5.4.2001 14:14:09

> Stala se mi divna vec. Mozna jsme zkratoval 12V, mozna to bylo prepeti
(byla
> dost kruta bourka), mozna zase odesly spinacio tranzistory (uz jednou jsem
> je opravoval, mel jsem dva ruzne). No proste mi shorel PC zdroj. Uz
podruhe.
> Nevite nekdo nejaky typ spinacich tranzistoru, ktere tam muzu dat? Jsou
tam
> trandiky made in tchai-van a v katalogo samozrejme nejsou.

To sa Ti oplati opravovat? Ved si kup novy.

Erik


Transakcie vnorene na IB ?

[*] Slavomir Hutyra <svafko(zv)pobox.sk> - 5.4.2001 14:16:45


Pouzivam D5 enterprise, IB6 , Ib_objects

Mam 3 TIB_Query (Q1, Q2, Q3) navzajom prepojen�ch (Master-Detail) ktore
pouzivaju TIB_Transaction T1.


Mam 2 TIB_Query (Q4, Q5) navzajom prepojen�ch (Master-Detail) ktore
pouzivaju TIB_Transaction T2.


Potrebujem pri zadavan� povedzme v Q2 vybrat z Q5 na to potrebujem
zobrazit formular F1 ktory pracuje s (Q4, Q5) a z neho vy beriem zaznam z
Q5 ale casto potrebujem modifikovat, pridat do Q4,Q5. Tieto zmeny
samozrejme nevidim v T1, T1 nemozem Refresnut lebo Q2 je v stave Edit
alebo Insert. Potreboval by som T1 a T2 nejako spojit. Nieco ako
transakcia v transakcii da sa to nejako ? Pokusal som sa to spravit refresom, roznymi zamenami transakcii,
RollbackRetaining ... bez vysledku.


diky Svafko student

svafko(zv)pobox.sk


____________________________________
P. S. V. P. U.
http://www.pobox.sk/

Synapse & RTF

[*] Gebauer Lukas <gebylist(zv)mlp(tec)cz> - 5.4.2001 14:24:03

mimepart?

Pokud chces poslat dopis BEZ jakekoliv prilohy, tak proste vem RTF
dokument, priplacni k tomu jake chces e-mail hlavicky, kde taky reknes
jakeho je ten mail typu a cele to odesli pres SendToRaw. ;-) na to
MimePart nepotrebujes.

Mimepart potrebujes prave jen tehdy, chces-li delat MIME multipart
dopis, ci pokud chces prekodovavat cesinu, zakodovavat cestinu do
quoted-printable, ci neco takoveho. (nebo taky opacne.. kdyz potrebujes
vytahovat prilohy, atd...)

Nicmene vezmes-li libovolny TMimePart, tak do nej nasyp RTF data jake
chces, jako kdyby to byl obycejny text. Ale pred vlastnim vytvrenim
mailu nastav property MimePrimary a MimeSecondary na MIME typ,
kterym se oznacuje RTF. (z hlavy si jej nepamatuji...). To by mel stacit.

Obdobne se da pracovat s HTML. Synapse te v tomto nijak neomezuje.
Ta jen zjisti, ze to neni normalni text, ale neco, co bude povazovat za
binarni data a tak s nima i nalozi a nastavi jim Mime typ jaky si svobodne
a libovolne urcis ty, jako programator.

Lukas.

> Ahoj
>
> To je vsechno hezky, ale jak mam tu MIMEPart nastavit, aby ji outlook
> zobrazil jako text v okne a ne jako prilohu a mela format RTF resp.
> HTML.
>
> Jaromir Cermak
>
> -----Original Message-----
> From: Gebauer Lukas [mailto:gebylist(zv)mlp(tec)cz]
> Sent: Thursday, April 05, 2001 1:49 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Re: Synapse & RTF
>
>
>
> Da. ;-) Pres Synapsi odesles cokoliv, co si vzpmenes, klidne i nejaky
> tvuj vymysleny format. ;-) proste si pripav data, pridej ji jako dalsi
> part a nastav si ja chces primarni a sekundarni mimetype. Tot vse.
>
> Asi v dalsi verzi pridelam pro snadne pouziti udelatka na RTF a HTML
> do TMimeMess, abys to nemusel delat rucne.
>
> > Ahoj vsichni
> >
> > Mam nasledujici dotaz. Da se nejak pres synapsi poslat Mail tak, aby
> > byl zobrazen v Outlooku jako RTF? Dekuji za pripadnou radu.
> >
> >
> > Jaromir Cermak
>
>
> Louci se Lukas Gebauer.
>
> E-mail: gebauerl(zv)mlp(tec)cz
> WEB: http://www.ararat(tec)cz/synapse - Synapse Delphi TCP/IP Library ---
> P��choz� zpr�va neobsahuje viry. Zkontrolov�no antivirov�m syst�mem
> AVG (http://www.grisoft(tec)cz). Verze: 6.0.237 / Virov� b�ze: 115 - datum
> vyd�n�: 7.3.2001
>


Louci se Lukas Gebauer.

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


Synapse & RTF

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.4.2001 14:34:00

>To je vsechno hezky, ale jak mam tu MIMEPart nastavit, aby ji outlook
>zobrazil jako text v okne a ne jako prilohu a mela format RTF resp. HTML.

v Content-Disposition se musi objevit sluvko 'inline'. Jestli to tam Synapse
umi nacpat netusim.

D. Toman

IB6 a Datatype conversion error

[*] Jindrich Forejt <fofrs(zv)iol(tec)cz> - 5.4.2001 14:37:09

Pokousim se napsat dotaz ktery mi vytahne stav skladu a zaroven uvidim i
jeho nazev.

SELECT CENIK.ID,
CENIK.NAZEV,
MERJED.ZKR,
STAVSKLADU.IDSKLADY,
STAVSKLADU.STAVSKLADU
FROM cenik
LEFT JOIN MERJED ON (MERJED.ID = CENIK.MJEDID)
LEFT JOIN STAVSKLADU ON (CENIK.ID = STAVSKLADU.IDCENIK)
;

Funguje bezvadne dokud se nepokusim dopsat ORDER BY NAZEV ( nebo i cokoliv
jineho). jedine co me ceka je hlaska

Overflow occurred during data type coversion. conversion error from string
"".

Cenik.nazev mam jako characterset win1250 a tridim podle Csy.

Co s tim?

Josef Semera


Re[2]: Maly exe z Delphi - korekce uses

[*] Vit Tichy <vitek(zv)softok(tec)cz> - 5.4.2001 14:39:15

Hello tomsir1,

t> no, kdyz mas cokoli uvedene v uses, tak se ti tim zvetsi exe soubor -
t> prilinkujes to.
To snad ne.
Pokud se to nepouzije - mel by to kompilator ignorovat. Problem bude v
tom, ze nektere unity pouzivaji sekci initialization.

--
Best regards,
vt mailto:vitek(zv)softok(tec)cz

TRegistry a Warning

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

> neviete mi niekto poradit, preco mi kompiler hadze na oznacenom
> riadku Warning (hint) "Value assigned to... never used ?"
>
> FUNCTION ExistRegKey ( RootKey: HKEY; const Key: string ): Boolean;
> // zisti existenciu pozadovaneho kluca v registri
> var
> Reg: TRegistry;
> begin
> Result := False; // default <---- TU JE WARNING !!!
> Reg := TRegistry.Create();
> TRY
> Reg.RootKey := RootKey;
> Result := Reg.KeyExists ( Key );
> FINALLY
> Reg.Free();
> END;
> end;
>

taky me neni jasne proc tam cpe ten warning.

> Mam zato, ze ak by sa na niektorom riadku
> Reg.RootKey alebo Reg.KeyExists vyskytla
> vynimka, chcem si zabezpecit uvolnenie
> registra a navrat s default hodnotou
> (False). Je to zle?

1) ono se ti to stejne nevrati tak jak cekas, protoze pripadna exception
zustane neobslouzena, takze to propadne do nadrizeneho kodu (do prvni
nadrizene excep/end) a ke kontrole navratove hodnoty vubec nedojde

2) i TRregistry.Create muze krachnout, takze by mel byt obalen try/except
kodem


D. Toman
D. Toman

MemTable bez BDE

[*] <brejsa(zv)centrum(tec)cz> - 05.4.2001 14:51:31

> Od: Bene# Jaroslav
> v RxLib je RxMemoryData, ktera BDE nepotrebuje.

a jak mam rozumet tomuhle:

(Memtable.pas)
uses SysUtils, Classes, Controls,
{$IFDEF WIN32} Bde, {$ELSE}
^^^^^^^^^^^^^^^^^^^^^^^^^^^ DbiTypes, DbiProcs, DbiErrs, {$ENDIF}
DB, DBTables;

type

{ TMemoryTable }

TMemoryTable = class(TDBDataSet)
Hrajte on-line hry na http://herna.centrum(tec)cz
Zalo�te si sv�j mail na http://mail.centrum(tec)cz


Synapse & RTF

[*] Gebauer Lukas <gebylist(zv)mlp(tec)cz> - 5.4.2001 14:56:42

> >To je vsechno hezky, ale jak mam tu MIMEPart nastavit, aby ji outlook
> >zobrazil jako text v okne a ne jako prilohu a mela format RTF resp.
> >HTML.
> v Content-Disposition se musi objevit sluvko 'inline'. Jestli to tam
> Synapse umi nacpat netusim.

No, necpu to tam. proc? protoze jsem to nijak nepotreboval.. vsecny me
dostupni klienti se i bez toho s tim vyporadali jak meli... uznavam, ze
outlook opravdu nemam rad, takze jsem jej nezkousel. ;-)

Nicmene tam tohle doplnim. ;-)
Louci se Lukas Gebauer.

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


MemTable bez BDE

[*] Milink Otakar <otam(zv)TDAT.CZ> - 5.4.2001 15:02:12

To je tak kdyz jeden mluvi o koze a druhy o voze
(bez urazky). Jsou tam dve komponenty:

MemoryTable(pouziva BDE) a
RxMemoryData(nepotrebuje BDE)

s pozdravem Otakar Milink > -----Original Message-----
>
> > Od: Bene# Jaroslav
> > v RxLib je RxMemoryData, ktera BDE nepotrebuje.
>
> a jak mam rozumet tomuhle:
>
> (Memtable.pas)
> uses SysUtils, Classes, Controls,
> {$IFDEF WIN32} Bde, {$ELSE}
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ DbiTypes, DbiProcs, DbiErrs, {$ENDIF}
> DB, DBTables;
>
> type
>
> { TMemoryTable }
>
> TMemoryTable = class(TDBDataSet)
>

konverze dat Paradox-> Interbase

[*] Bednarc�k Dalibor <dalibor(zv)torola(tec)cz> - 5.4.2001 15:08:40

Ahoj

Zkus tohle

1. Nastav LangDriver u Paradox v BDE na kodovou stranku takovou, ktera je
tabulka. Ja mam - Pdx ANSI Czech 'CH'
2. V BDE nastav System INIT, LangDriver na treba FoxPro Czech 1250
Uloz, zavri BDE zavri i vsechny aplikace vyuzivajici BDE a pak spust
DataPump a prenes

Mozna ti to pomuze..
----- Original Message -----
From: <kinskyf(zv)atlas(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, April 05, 2001 2:06 PM
Subject: konverze dat Paradox-> Interbase


Dobry den!
Potrebuju pramistit data z tabulek v Paradoxu do Interbase, ale nejsem
schopen zajistit, aby se cesky znaky zobrazovaly tak, jak maj, tj. z je jako
# atd....
uz sem zkousel vsechny mozny kombinace kodovejch stranek a pak presunout
data pres DataPump, ale porad stejnej efekt...
nevite, co s tim??
F.K.

Synapse & RTF

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.4.2001 15:11:44



> > >To je vsechno hezky, ale jak mam tu MIMEPart nastavit, aby ji outlook
> > >zobrazil jako text v okne a ne jako prilohu a mela format RTF resp.
> > >HTML.
> > v Content-Disposition se musi objevit sluvko 'inline'. Jestli to tam
> > Synapse umi nacpat netusim.
>
> No, necpu to tam. proc? protoze jsem to nijak nepotreboval.. vsecny me
> dostupni klienti se i bez toho s tim vyporadali jak meli... uznavam, ze
> outlook opravdu nemam rad, takze jsem jej nezkousel. ;-)
>

to neni kvuli Outlooku to by tam melo byt kvuli RFC 822. Hlavicky
Content-Type:
Content-Transfer-Encoding:
Content-Disposition:

slouzi k tomu aby, klient vedel zda ma soubor sobrazit (inline), zachazet s
nim jako s filem (attachment), pod jakym jmenem ma byt soubor veden
(ulozen), jakeho je typu a jak je zakodovan.

Ze MS Outlook Express dekoduje spoustu veci automaticky primo z vlastniho
obsahu prilohy je vec druha. Je pak schopen obslouzit spravne i takove
prilohy, ktere postradaji vsechny nalezitosti. Stejny mail prijaty Netscape
messegnegre (4.7X) muze byt necitelny - resp priloha nezpracovatelna.

D. Toman

Kopirovani do cizi aplikace

[*] Daniel Dedek <Dedek(zv)ds(tec)cz> - 5.4.2001 15:20:59


Ahoj Jarko,
po par zkouskach mi fungovalo tohle:

procedure TForm1.Button3Click(Sender: TObject);
//max velikost textu do Editu
const MaxSize = 50;
var Hl, B: Hwnd;
P, C: PChar;
begin
//tady si najdu handle prislusnyho formulare
Hl := FindWindow( 'TForm1', 'Pomocny formular' );
//nejaky text co prijde do Editu
C := 'nejaky text';
GetMem( P, 50 );
//postupne prohledam vsechy podrizeny okna
B := GetWindow( Hl, GW_CHILD );
while B <> 0 do begin
GetClassName( B, P, 50 );
// a kontroluju, az najdu Edit
if P = 'TEdit' then
// pak do nej nakopiruju ten text
SendMessage( B, WM_SETTEXT, 0, LongInt( C ));
B := GetWindow( B, GW_HWNDNEXT );
end;
FreeMem(P);
end;

Je to vyzkouseny na D5Prof, Win95

Ahoj, Dan
> Zdravim a mam prosbu.
> Najde se nekdo, kdo skoukne nasledujici proceduru. (Je uz pomerne dost

> preplacana mymi pokusy, takze nevim, jak z toho ven). Zamerem bylo
docilit toho,
> aby obsah pole Edit1 me aplikace se zkopiroval do Editu cizi bezici
aplikace
> (TfrmMainH). K cilovemu Editu se v cizi aplikaci dostanu po
nekolikerem (pro
> zkousku po jednom) stisknuti tabelatoru. Vyzkousela jsem ruzne metody
(jak je
> videt ze zdroje), ale nic nefungovalo. Nejvetsi problem je v tom, ze
nemuzu zjistit
> handle ciloveho Editu v cizi aplikaci. Po provedeni hEdit := GetFocus,
dostanu
> handle Controlu me aplikace. Kudy vede spravna cesta? Mam Win2000 a
Delphi5
> Enterprise Edition. Diky! Jarka

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


MemTable bez BDE

[*] Tomas Vladik <tom.vladik(zv)swadvice(tec)cz> - 5.4.2001 15:41:23

> > v RxLib je RxMemoryData, ktera BDE nepotrebuje.
>
> a jak mam rozumet tomuhle:
> (Memtable.pas)
> uses SysUtils, Classes, Controls,
> {$IFDEF WIN32} Bde, {$ELSE}
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ DbiTypes, DbiProcs, DbiErrs, {$ENDIF}
> DB, DBTables; Sahl jsi tesne vedle :-)
To je starsi vec, viz help.

Unit
MemTable

Description

BDE in-memory table component
TMemoryTable = class(TDBDataSet)

See new Rx2.60 TRxMemoryData (doesn't use BDE, supports Memo...).
******************************************************************
Unit
RxMemDS

Description

RXLib 2.60 new component. This is a memory table that does'nt need nor use
the BDE nor the DBClient DLL.
It acts as a TDataSet and can be connected to all standard Delphi data-aware
components.
This memory dataset can hold memo !

probl�m FlashFiler 2 & datum

[*] Ing. Petr #vejda <lingvista(zv)lingvista(tec)cz> - 5.4.2001 16:14:50

Taky me to pred nekolika mesici velmi potrapilo. S pomoci bozi a Petra
Zahradnika jsem to ustal. Tohle zarucene na 99% :-)) funguje

SELECT
*
FROM
Odpady
WHERE
KodOdpadu = '0124'
AND (VznikOdpadu >= DATE '2001-03-14')
AND (VznikOdpadu <= DATE '2001-04-26')
AND Trasa = 'JI'
ORDER BY
KodOdpadu, VznikOdpadu, Trasa


Petr Svejda
http://www.lingvista(tec)cz/> -----Original Message-----
> Toto mi nefunguje:
> select * from "udalosti" where datum>"1.1.2001"

Transakcie vnorene na IB ?

[*] Zelen� Ale� <azeleny(zv)csas(tec)cz> - 5.4.2001 16:19:39

DDV,

zalezi na tom, jaky mas nastaveny isloation level u T1 a T2.
Pokud by T1 mela tiReadCommited, pak by refresh mel pomoci.

a.
-----------------------------------------------------------------------
Ales Zeleny (OK1UUE)
Ceska sporitelna a.s.
Bubenska 1
170 00 Praha 7
Email: azeleny(zv)csas(tec)cz
tel: +420 2 66703 306
-----------------------------------------------------------------------
Due to technical difficulties tomorrow has been postponed indefinitely.

> Pouzivam D5 enterprise, IB6 , Ib_objects
>
> Mam 3 TIB_Query (Q1, Q2, Q3) navzajom prepojen�ch
> (Master-Detail) ktore
> pouzivaju TIB_Transaction T1.
>
>
> Mam 2 TIB_Query (Q4, Q5) navzajom prepojen�ch
> (Master-Detail) ktore
> pouzivaju TIB_Transaction T2.
>
>
> Potrebujem pri zadavan� povedzme v Q2 vybrat z Q5 na to potrebujem
> zobrazit formular F1 ktory pracuje s (Q4, Q5) a z neho vy
> beriem zaznam z
> Q5 ale casto potrebujem modifikovat, pridat do Q4,Q5. Tieto zmeny
> samozrejme nevidim v T1, T1 nemozem Refresnut lebo Q2 je v stave Edit
> alebo Insert. Potreboval by som T1 a T2 nejako spojit. Nieco ako
> transakcia v transakcii da sa to nejako ?

Dynamicke pridavani

[*] Martin Bab�k <M.Babik(zv)mus(tec)cz> - 05.4.2001 16:26:55

Zdravim programatorskou obec!
Potreboval bych poradit jak co nejefektivneji pridavat na vymezenou cast (TPanel ci pod) formulare komponenty typu TImage ci TButton. A pri zaplneni cele plochy by se odsouvaly pomoci scrollu? Dik
M&B


spinaci tranzistory do zdroje

[*] Daniel Dedek <Dedek(zv)ds(tec)cz> - 5.4.2001 16:38:00


Ahoj,

tam vetsinou bejvej tranzistory oznacene Cxxxx, je to ale jenom
zkracene oznaceni pro 2SCxxxx, zkus hledat tam. Jiny typ tranzistoru nez
je ten puvodni nebo prima nahrada bych tam radsi nedaval.

Dan

> je opravoval, mel jsem dva ruzne). No proste mi shorel PC zdroj. Uz
podruhe.
> Nevite nekdo nejaky typ spinacich tranzistoru, ktere tam muzu dat?
Jsou tam
> trandiky made in tchai-van a v katalogo samozrejme nejsou.

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


edit a mys

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 5.4.2001 16:47:05

Ahoj,
potrebuju z formulare otevrit dalsi formular tak, ze nebude modalni, ale pritom
bude vzdy "vyse" nez ten formular, ze ktereho jsem jej otevrel. Pouzil jsem k
tomu:
novyformular.parent:=staryformular;
novyformular.show;

Coz teda funguje, akorat nejsem schopny mysi oznacit jakykoliv TEdit na novem
formulari jako aktivni pro psani! Nevi nekdo co s tim? Ja bych do nich hrozne
rad neco napsal :-) /tlacitka, gridy, listboxy... to vsechno funguje, do editu
muzu "najet" tabulatorem a psat do nej, ale mysi jej proste neoznacim :-(/

Dik predem,
Roman
D4, W95
OOOOOOOOOOOOOOOO
O icq #84229702
O sw.maurice(zv)cbox(tec)cz
O http://kouzelne.misto(tec)cz
OOOOOOOOOOOOOOOO


Maly exe z Delphi - korekce uses

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 5.4.2001 17:14:42

On 5 Apr 2001, at 12:24, tomsir1.edu(zv)mail.cez(tec)cz wrote:

> no, kdyz mas cokoli uvedene v uses, tak se ti tim zvetsi exe soubor -
> prilinkujes to. Pokud chces minimalizovat exe a setrit pamet, pouzij
> dll, zavede se do pameti teprve tehdy, kdyz zavolas nejakou jeji
> funkci.

Mno, ono je to ponekud jinak. Pokud jednotka neco pri svem startu
inicializuje (coz se napriklad v SysUtils deje v sekci initialization, u
mshtml je treba zase hledat souvislost s interfejsy), pak se kod
zvetsi. Pokud jednotka nic neinicializuje, pak pouziti jednotky v
uses nema na velikost vliv.

> Str�n�k Franti#ek <FStranik(zv)cpoj(tec)cz>(zv)clexpert(tec)cz on 05.04.2001
>
> ale celou dobu jsem se domnival, ze kdyz dam do jednotky uses na
> nejakou jednotku a nic z ni nevyvolam, tak se mi kod nezvetsi ...
> zkratka jednotka v uses se neprilinkuje, dokud z ni neco nevyvolam.


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


application path

[*] Tono Kukura <akukura(zv)microstep-hdo.sk> - 5.4.2001 18:40:43

Ahojte potrebujem zistim cestu k projektu v designed mode.

application.exename a paramstr(0) mi vratia ...\Delphi\Bin\Delphi32.exe
potrebujem dostat ...\Projects\Tmp\xx.exe alebo ...\Projects\Tmp\xx.dpr

dik
Tono


Delphi - Excel

[*] David Majda <david.majda(zv)seznam(tec)cz> - 05.4.2001 19:29:49

Melo by to fungovat takto:

Excel.Selection.NumberFormat := 'h:mm';

Predpokladam, ze "Excel" je objekt vytvoreny pomoci
CreateOleObject('Excel.Application') a ze nekde v kodu pred nastavenim
formatu byl otevren ci zalozen novy soubor.

Obecne doporucuji jit na podobne problemy tak, ze si to, co chcete
udelat, nahrajete jako makro ve VB a pak to jen prepisete do Delphi. V
99% pripadu to funguje.

> Jak nastavim z Delphi v bunce Excelu format cisla.
> Pripadne, kde to je nejak popsano.
>
> Dik.

Ikony souboru v TListView

[*] David Majda <david.majda(zv)seznam(tec)cz> - 05.4.2001 19:30:03

1. Dej na form TImageList a nastav mu ShareImages na True. Pak ho prirad
jako SmallImages tomu ListView. (S LargeImages to je analogicke - pro
zjednoduseni budu popisovat jenom SmallImages)

2. Nekde pri inicializaci formu zavolej:

ImageList1.handle :=
SHGetFileInfo(pchar(application.exename),0,SHFI,sizeof(TSHFileInfo),shgfi_icon+shgfi_smallicon+shgfi_sysiconindex);

Tim priradis ImageListu handle systemoveho seznamu ikon. SHFI deklaruj
nekde predem jako typ TSHFileInfo.

3. Pri zpracovani souboru volej fci takto:

SHGetFileInfo(pchar(filename),0,SHFI,sizeof(TSHFileInfo),shgfi_icon+shgfi_smallicon);

Po volani dotycne fce budes mit v polozce SHFI.iIcon index te ikony v
listu, ktery muzes priradit prislusnemu Itemu v ListView.

Sand je to aspon trochu srozumitelne a bude to fungovat :-)

CERMAK wrote:

> Ahoj vsichni
>
> Potreboval bych poradit s nasledujicim problemem. Ve aplikaci chci
vytvorit
> funkci hromadne odesilani posty. Z nejakeho seznamu si vyberu adresy na
> ktere poslu zpravu. Tato zprava muze obsahovat i prilohy. Moje
predstava je
> ze si vytvorim formular na kterem edituji zpravu ktera se pak posle na
> vsechny zvolene adresy, na kazdou z nich zvlast. Potreboval bych
vedet, jak
> zobrazit seznam priloh. Chtel bych to udelat pres TListView. Chtel bych
> zobrazit ikony souboru (priloh) tak jako v exploreru (tj. ikona
programu pro
> program a ikona pridruzene aplikace pro datovy soubor) nevite jak na to?
> prip. by pomohl namet na jinou vhodnou komponentu.
>
> Predem dekuji za kazdy namet.
>
>
> Jaromir Cermak

Maly exe z Delphi - korekce uses

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

From: "David Lebeda" <david.lebeda(zv)comarr(tec)cz>
> me zajima pozadi. O par kilobajtu souboru tu nebezi.

Ahoj,

take si myslim ze v dobe 30GB disku to nehraje prilis roli.

> Zejmena by me zajimalo, pokud prelozim prazdny program s
> balicky a spustim ho na stroji bez balicku, zda se ho podari
> spustit, nebo zda je balicek overovan jiz pri spusteni.

Ne, balicky jsou totez co DLL, PE loader takovou aplikaci vubec nespusti.

Petr Vones, amatersky programator


Maly exe z Delphi - korekce uses

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.4.2001 21:37:18

> > me zajima pozadi. O par kilobajtu souboru tu nebezi.

No, vzdy s novou verzi Delphi se desim toho, o kolik se moje aplikace jen prostou rekompilaci protahnou :-(
Schvalne - kolik prida D6 aplikaci bez Formu a s Formem ? VCL bude u D6 asi shodna s tou v D5?? (Borland vyviji jen CLX ??)

>
> take si myslim ze v dobe 30GB disku to nehraje prilis roli.

ve chvili, kdy pripravuju instalacni balik, ktery budou stahovat spousty lidi po internetu me to naopak celkem dost zajima a snazim se vyuzit vsechny schudnejsi prostredky pro to abych usetril (execka, ktera obsahuji jen to co musi, vyhazeny relokacni tabulky, dobre komprimovany archiv,...). Stale je vetsina lidi pripojena k Internetu jen dialupem....

PS: co je to vlastne velikost disku? jen cislo, ktere rika jakou rychlosti se ten disk zaplni :-)

D. Toman


Dynamicke pridavani

[*] brant(zv)dcomm(tec)cz - 5.4.2001 21:38:01

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.

Tak to davej do ScrollBoxu, ten to posouvani dela automaticky. Kdepak C++,
Delphi je prima pohodlicko, vid?
RNDr. Petr Brant [Brant(zv)dcomm(tec)cz]
ICQ # 68652380

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


-----Original Message-----
From: Martin Bab�k [mailto:M.Babik(zv)mus(tec)cz]
Sent: Thursday, April 05, 2001 4:27 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Dynamicke pridavani


Zdravim programatorskou obec!
Potreboval bych poradit jak co nejefektivneji pridavat na vymezenou cast
(TPanel ci pod) formulare komponenty typu TImage ci TButton. A pri zaplneni
cele plochy by se odsouvaly pomoci scrollu? Dik
M&B
---
Pr�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

BDE - rychlost

[*] Jaroslav Popluh�r <popluhar(zv)acc.sk> - 5.4.2001 21:42:57

Problemy s rychlostou BDE aplikacii.
Chcel by som Vas vsetkych poziadat o radu, resp. lokalizaciu priciny,
prip. oficialnu email support adresu Borlandu, kde by sa im to dalo poslat
(CZ/USA):

Problem:
Jeden (mozno nie len jeden, ale na nom je to najmarkantnejsie) dotaz, je
vykonavany
vo vyssich verziach BDE vyrazne dlhsie ako v predoslych. Instalacia cisteho
BDE do
cistych Windows, reinstalacia BDE vyssej verzie cez nizzsiu ani rekompilacia
programu
(povodne Delphi2) vo vyssich verziach Delphi vysledok neovplyvnila.
Problem je naozaj zavazny, nakolko jeho existencia ma nuti program aj
nadalej vyvyjat pod Delphi2,
aj ked mame legalne kupene Delphi5 a vsetci urcite viete (mnohi lepsie ako
ja) o co prichadzam :-)

Vdacny som za akukolvek pomoc, pripadne aj kontakt (prip. aj na dobru
zahranicnu Delphi konferenciu).

S pozdravom
Jaroslav Popluhar

Dotaz:
----------------------------------------------------------------------------
---------------------------------------------
{ qryUkonAuto.Active:= False; }
qryUkonAuto.Sql.Clear;
qryUkonAuto.Sql.Add ('SELECT U2.ExistRec, A.Aktualna_SPZ, A.Popis_auta, '+
'U.CP, U.Cis_strediska, U.Obdobie, U.Cis_auta');
qryUkonAuto.Sql.Add (' FROM Ukoncene U LEFT JOIN Ukoncen2 U2');
qryUkonAuto.Sql.Add (' ON (U.CP = U2.CP AND '+
'U.Cis_strediska = U2.Cis_strediska AND '+
'U.Obdobie = U2.Obdobie AND '+
'U.Cis_auta = U2.Cis_auta)');
qryUkonAuto.Sql.Add (' JOIN "Auto" A');
qryUkonAuto.Sql.Add (' ON (U.CP = A.CP AND '+
'U.Cis_auta = A.Cis AND ');
qryUkonAuto.Sql.Add ( 'U.CP = '+EditCP.Text+' AND ');
qryUkonAuto.Sql.Add ( 'U.Cis_strediska = '+EditCis_strediska.Text+'
AND ');
qryUkonAuto.Sql.Add ( 'U.Obdobie = '''+EditObdobie.Text+''')');
qryUkonAuto.Sql.Add (' ORDER BY A.Aktualna_SPZ');
{ qryUkonAuto.Active:= True; }
st:= Time;
qryUkonAuto.Open;
et:= Time;
if G_Debug then
begin
Str((et-st)*24*60*60:0:3, ss);
ss:= Copy (ss, Pos ('.', ss), 4);
ShowMessage ('Query time '+TimeToStr (et-st)+ss);
end;
----------------------------------------------------------------------------
---------------------------------------------
Podmienky:
Programy v oboch pripadoch bezali na lokalnom PC.
PC Local: Pentium 200/64MB - program aj DB instalovana na lokalnom PC
PC Remote: Celeron 566/128MB - program aj DB instalovana na vzdialenom
PC, 10Mbit Ethernet (TCP/IP) bez dalsej zataze
Auto.db - 401 zaznamov / 396 kB
Ukoncene.db - 4919 zanamov / 2630 kB
Ukoncen2.db - 3842 zaznamov / 432 kB
Vysledok - 401 zaznamov

Namerane casy:
BDE Local/Remote
2 0,63s / 3,30s
3 1,87s / 6,04s
5.01 11,3s / 15,16s
5.11 10,9s / 15,17s


BDE aliasy

[*] Jaroslav Popluh�r <popluhar(zv)acc.sk> - 5.4.2001 21:43:37

Z viacerych zdrojov mam info, ze sa neodporuca vytvarat BDE aliasy v
instalacnom programe.

Existuje aj iny dovod ako mozna kolizia aliasov viacerych aplikacii ?

Dakujem vsetkym.

S pozdravom J. Popluhar

IB: Interbase 6.0, IBExpress a transakce

[*] David Winter <david.winter(zv)volny(tec)cz> - 5.4.2001 21:53:08

>> Pro aktualizaci data pouzivam ulozenou proceduru, ve ktere zahajim
>> transakci, provedu Update a pak Commit nebo Rollback. Tuto
>> proceduru spoustim pres IBQuery. Kdyz provedu Query.ExecSQL, tak
>> se zmeny sice provedou, ale nejsou vidit dokud neukoncim program.

> Muzu se zeptat, jak se ti povedlo UVNITR ulozene procedury
> zahajit (a ukoncit) transakci ?

To se mi prave nepovedlo. Kdyz dam do ulozene procedury prikaz
SET TRANSACTION ... nebo COMMIT nebo ROLLBACK tak to furt
rve, ze to neni znamy prikaz. Pritom v dokumentaci k IB6.0 se pise
ze to jsou prikazy pouzitelne v SQL, DSQL a isql. Tak nevim.

Zda se mi dost nepravdepodobne, ze by Interbase NEUMELA v ulozene
procedure pracovat s transakcemi (bezna vec v Oracle nebo MSSQL).
Prece nemuze klient ROZHODOVAT o zahajeni/potvrzeni/stornovani
transakce.

Mam jeste jeden dotaz. Mejme tento pripad:
1. Zahajim na klientovi transakci
2. Spustim z klienta ulozenou proceduru
3. Procedura bude 3 minuty chroupat data
4. Klient mi mezitim z nejakeho duvodu chcipl (sitova chyba, spadle Windows)
Co se stane se zmenami, ktere sice procedura provedla, ale nebyla ani
potvrzena ani stornovana ?

David Winter


IB: Interbase 6.0, IBExpress a transakce

[*] David Winter <david.winter(zv)volny(tec)cz> - 5.4.2001 21:59:22

> Ahoj,
> jestli to dobre chapu, tak nevidis zmeny zpusobene tvoji transakci ani v
> ramci teto transakce.
> Commitem to sice vyresis, ale IMHO to neni dobre, protoze tim vlastne
> znehodnotis cely system transakci. Otazkou je, jak se dostavas na data
> (pokud pres DBaware, tak je to sice mozno, ale obnasi to prave treba tyto
> problemy). Zkus zavrit a otevrit tabulku. Pak by to melo byt videt.

Na data pristupuju tak, ze si udelam select na konketni radek tabulky,
ten si hodim do obycejnych TEdit a tam si s nim delam co potrebuju a
pak zavolam ulozenou proceduru pro zapis zmen. Silenosti typu LiveQuery,
Chached Updates, DBAware vubec nepouzivam, nejdulezitejsi je pro mne
konzistence dat.

David Winter


OT spinaci tranzistory do zdroje

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 5.4.2001 22:28:05

From: "Erik Salaj" <winsoft(zv)napri.sk>
> To sa Ti oplati opravovat? Ved si kup novy.

Ahoj,

rekl bych ze ne. Ovsem opravy spinacich zdroju jsou vcelku zabavne, protoze
casto je to metodou vse nebo nic. Pokud netrefis ten spravny tranzistor, tak
je muzes vymenit hned vsechny :-)

Petr Vones, amatersky programator


Maly exe z Delphi - korekce uses

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 5.4.2001 22:30:29

From: "Dalibor Toman" <dtoman(zv)fortech(tec)cz>
> No, vzdy s novou verzi Delphi se desim toho, o kolik se moje aplikace jen
> prostou rekompilaci protahnou :-(

Ahoj,

vzdy je neco za neco. Snadnost vizualniho vyvoje je zkratka necim vykoupena.

> Schvalne - kolik prida D6 aplikaci bez Formu a s Formem ? VCL bude u D6 asi

To je otazka ;-)

> shodna s tou v D5?? (Borland vyviji jen CLX ??)

Borland nezastavil vyvoj VCL na ukor CLX, viz Community web a newsy.

> ve chvili, kdy pripravuju instalacni balik, ktery budou stahovat spousty
> lidi po internetu me to naopak celkem dost zajima a snazim se vyuzit vsechny
> schudnejsi prostredky pro to abych usetril (execka, ktera obsahuji jen to co

Dobre, v tom pripade si mohou napriklad stahnout zakladni VCL50 balicek a
potom uz jim posilas jen upgrady ve forme malych(mensich) EXE souboru.

> PS: co je to vlastne velikost disku? jen cislo, ktere rika jakou rychlosti
> se ten disk zaplni :-)

Tak nejak :-)

Petr Vones, amatersky programator

BDE aliasy

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 5.4.2001 22:40:50

From: "Jaroslav Popluh�r" <popluhar(zv)acc.sk>
> Z viacerych zdrojov mam info, ze sa neodporuca vytvarat BDE aliasy v
> instalacnom programe.
> Existuje aj iny dovod ako mozna kolizia aliasov viacerych aplikacii ?

Ahoj,

vcelku ne, ovsem tento je dost podstatny. Pokud pouzijes TDatabase tak mas nad
tim plnou kontrolu a nemusis se desit toho jak dopadne vytvoreni aliasu.

Petr Vones, amatersky programator


application path

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 5.4.2001 22:42:36

From: "Tono Kukura" <akukura(zv)microstep-hdo.sk>
> Ahojte potrebujem zistim cestu k projektu v designed mode.

Ahoj,

mas namysli prave otevreny projekt v kodu nejakeho IDE experta (OpenTools API)
?

Petr Vones, amatersky programator


spinaci tranzistory do zdroje

[*] Hurricane <hurricane(zv)quick(tec)cz> - 5.4.2001 23:06:54

Zdravim

Diky, vedel jsem o tom, ale nebyl jsem si jistej. Jeden tenhle trandik
2SC4138 stoji 123Kc. Docela krute. Ma parametry NPN 400V 10A 80W hfe pri 6A
je 15. Zkusim sehnat nejaky ekvivalent, drzte mi palce :-)

Kupovat novz se mi rozhodne nevzpalti. Nejake trandiky vyhrabu z supliku
nebo od kamosu, tak proc bych solil 300Kc za novej.

Hurricane
----- Original Message -----

> tam vetsinou bejvej tranzistory oznacene Cxxxx, je to ale jenom
> zkracene oznaceni pro 2SCxxxx, zkus hledat tam. Jiny typ tranzistoru nez
> je ten puvodni nebo prima nahrada bych tam radsi nedaval.
>
> > je opravoval, mel jsem dva ruzne). No proste mi shorel PC zdroj. Uz
> podruhe.
> > Nevite nekdo nejaky typ spinacich tranzistoru, ktere tam muzu dat?
> Jsou tam
> > trandiky made in tchai-van a v katalogo samozrejme nejsou.

Maly exe z Delphi - korekce uses

[*] Hurricane <hurricane(zv)quick(tec)cz> - 5.4.2001 23:10:55

Zdravim

> > me zajima pozadi. O par kilobajtu souboru tu nebezi.

Ja si myslim, ze na velikost EXE dost zalezi. A to hned ze trech duvodu:

1) Vetsi EXE se dyl spousti. IMHO vetsina mene znalych uzivatelu sahne radsi
po 56KB nez po 731KB programu. (notepad X muj Text Editor)
2) Na ZIVE jsem cetl, ze cesi telefonuji se stopkama v ruce. Totez plati pro
dial-up. Cim mensi, tim lepsi. Bez debat.
3) Ne kazdy ma 30GB disk. Mam nekolik kamosu: 600MB 1024MB. Az koupim novy
komp, tak budu mit 475MHz proc s 810MB diskem. Byl jsem s nim v
kilobytove valce kolem tri let, vim o tom svoje.

> > PS: co je to vlastne velikost disku? jen cislo, ktere rika jakou
rychlosti se ten disk zaplni :-)
Tak tak.

Hurricane


Prevod C++ do Delphi

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.4.2001 23:22:18

>
> jedinou definici CLSID_StdComponentCategoriesMgr, kterou jsem nasel je v
> souboru COMCAT.H a to takto:
>
> EXTERN_C const CLSID CLSID_StdComponentCategoriesMgr;
>

http://msdn.microsoft.com/library/partbook/ecom/componentcategories.htm

definuje mimo jine i interface toho COMu, vcetne jeho GUID


http://www.delphi3000.com/articles/article_1040.asp
obsahuje nejakou ukazku

A ActiveX (Delphi5) knihovna definuje CLSID_StdComponentCategoriesMgr i ICatInformation a ICatRegister a zrejme i dalsi veci okolo - cili neni pravda, ze delphi tento interface nezna.

D. Toman


>
> > DEFINE_GUID(CLSID_StdComponentCategoriesMgr,x,x,xx,,)
> >
> > kterou muzes prepsat jako:
> >
> > CLSID_StdComponentCategoriesMgr : TGUID =
> > '{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}';
> >
> >
> > D. Toman
> >
>

Maly exe z Delphi - korekce uses

[*] Tomas Bradle <t.bradle(zv)pvtnet(tec)cz> - 5.4.2001 23:58:26

Cau,

----- Original Message -----
From: "Dalibor Toman" <dtoman(zv)fortech(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, April 05, 2001 9:37 PM
Subject: Re: Maly exe z Delphi - korekce uses


> > take si myslim ze v dobe 30GB disku to nehraje prilis roli.
>
> ve chvili, kdy pripravuju instalacni balik, ktery budou stahovat spousty
lidi po internetu me to naopak celkem dost zajima a snazim se vyuzit vsechny
schudnejsi prostredky pro to abych usetril (execka, ktera obsahuji jen to co
musi, vyhazeny relokacni tabulky, dobre komprimovany archiv,...). Stale je
vetsina lidi pripojena k Internetu jen dialupem....
>


Ja myslim ze pokud stahuju program i pres ten muj dial-up (cca 24 kBd), tak
mi cca 1MB zas tak moc nevadi. Je teda fakt, ze tak velky program neni zas
problem udelat, ale potom to roste pomerne zvolna. Ted mam aplikaci cca 2,1
MB a to stahuju i pres ten svuj dial-up cca 15 min. To se mi nezda zas tak
moc. Horsi to je ze strany toho serveru, pokus provozovatel plati za pocet
prenesenych GB. To by melo dejme tomu vyznam... Nebo jak je to doopravdy,
smysl mi porad nejak unika.

Tomas Bradle
t.bradle(zv)pvtnet(tec)cz

Maly exe z Delphi - korekce uses

[*] Tomas Bradle <t.bradle(zv)pvtnet(tec)cz> - 5.4.2001 23:59:47

Cau,

----- Original Message -----
From: "Dalibor Toman" <dtoman(zv)fortech(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, April 05, 2001 12:36 PM
Subject: Re: Maly exe z Delphi - korekce uses


> >no, kdyz mas cokoli uvedene v uses, tak se ti tim zvetsi exe soubor -
> >prilinkujes to. Pokud chces minimalizovat exe a setrit pamet, pouzij dll,
> >zavede se do pameti teprve tehdy, kdyz zavolas nejakou jeji funkci.
>
> Tak tohle je blbost.
> Linker vyhaze co muze. Cili neni-li nejaka procedura/funkce odnikud
volana,
> pak se k Execku rozhodne neprida. Podobne to plati i o globalnich
> promennych. Tam si nejsem jisty jak to funguje V Dx, ale v TP to bylo,
tak,
> ze linker vyhodil globalni promennou pokud v dane sekci VAR byly vsechny
> ostatni promenne take nereferencovane. CIli se nekdy vyplacelo psat vice
VAR
> definici - bud jednu pro kazdou promennou nebo nejak vhodne seskupit
>
> D. Toman
>

no ja myslim ze deklarace var se nedavaji do kodu, takze nemaji vliv na
velikost EXE. No, ale muzu se mylit.

Tomas Bradle
t.bradle(zv)pvtnet(tec)cz


IB6 a Datatype conversion error

[*] Roland Turcan - RoTurSoft <rotursoft(zv)nextra.sk> - 6.4.2001 00:10:45

> Funguje bezvadne dokud se nepokusim dopsat ORDER BY NAZEV ( nebo i cokoliv
> jineho). jedine co me ceka je hlaska
> Josef Semera

skus toto:

SELECT CENIK.ID,
CENIK.NAZEV,
MERJED.ZKR,
STAVSKLADU.IDSKLADY,
STAVSKLADU.STAVSKLADU
FROM cenik
LEFT JOIN MERJED ON (MERJED.ID = CENIK.MJEDID)
LEFT JOIN STAVSKLADU ON (CENIK.ID = STAVSKLADU.IDCENIK)
ORDER BY CENIK.NAZEV COLLATE PXW_CSY;

Roland.

Tlacitka na Taskbaru - dalsi okno aplikace (reakce

[*] Tomas Bradle <t.bradle(zv)pvtnet(tec)cz> - 6.4.2001 00:36:53

Zdravim vsechny,

narazil jsem na problem s pouzitim vice formularu v aplikaci, pokud chci mit
pro kazdy form extra tlacitko v TaskBar-u, podobne jako v nasledujicim
prispevku. Kdyz ale chci vuvolat z nektereho toho formu modalni form,
aktivuje se mi hlavni form aplikace, na nem se zobrazi ten modalni form. Po
ukonceni se opet aktivuje ten predchozi form.

Nevite nekdo jak zabezpecit, aby form, ktery neni hlavnim formem aplikace a
ma tlacitko na taskbaru (je extstyle WS_EX_APPWINDOW) neschoval, kdyz vyvola
modalni form ? Zda se mi to nelogicke, kdyz se skryje a zustane videt jen
ten ten modalni form.

diky

Tomas Bradle
t.bradle(zv)pvtnet(tec)cz


----- Original Message -----
From: "Petr Vones" <pvones(zv)mbox.vol(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Thursday, January 11, 2001 11:15 PM
Subject: Re: Tlacitka na Taskbaru


> From: "Ales Vasicek" <vasicek(zv)ecommerce(tec)cz>
> > chtel bych se zeptat, jak udelat dalsi tlacitka v taskbaru (ne v system
> > tray). Stejne jak to dela MS Outlook. Potreboval bych to do sve
> > aplikace, kde si uzivatel poklepe v gridu na nejaky zaznam a vyskoci mu
> > nove okno s detailnim popisem. Uzivatel si muze otevrit kolik oken chce
> > a rad by se mezi nemi prepinal na taskbaru po vzoru MS Office.
>
> Ahoj,
>
> napriklad takhle:
>
> type
> TForm2 = class(TForm)
> private
> { Private declarations }
> protected
> procedure CreateParams(var Params: TCreateParams); override;
> public
> { Public declarations }
> end;
>
> var
> Form2: TForm2;
>
> implementation
>
> {$R *.DFM}
>
> { TForm2 }
>
> procedure TForm2.CreateParams(var Params: TCreateParams);
> begin
> inherited;
> with Params do
> begin
> ExStyle := ExStyle or WS_EX_APPWINDOW;
> WndParent := GetDesktopWindow;
> end;
> end;
>
> end.
>
> Petr Vones, amatersky programator
>

Kopirovani do cizi aplikace

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 6.4.2001 01:06:35

From: "Jarka Svarcbachova" <js(zv)mawi-eus(tec)cz>
> Zamerem bylo docilit toho, aby obsah pole Edit1 me aplikace se zkopiroval do
> Editu cizi bezici aplikace (TfrmMainH). K cilovemu Editu se v cizi aplikaci

Ahoj,

predpokladam ze jsi cizi aplikaci nepsala a nemuzes v ni tedy delat zadne
upravy. V tom pripade musis zjistit tridu okna Editu (ta bude 'TEdit' v
pripade Delphi aplikace) a pak poradi toho prvku. Jakmile najdes HWND daneho
editu tak v nem zmenis text pomoci zpravy WM_SETTEXT.

// Hledani v seznamu oken - '<ClassName>,[<WindowText>],<Number>; ....

function SearchForWindow(const Search: string; ParentWnd: HWND = 0): HWND;
type
PSearchWndRec = ^TSearchWndRec;
TSearchWndRec = record
FindClassName: string;
FindWindowText: string;
EnumCount: Integer;
FoundWnd: HWND;
FindPosition: Integer;
end;
var
SearchPos, StartPos, EndClassPos, EndTextPos, EndRecPos: Integer;
SearchWndRec: TSearchWndRec;
P: PChar;

function EnumChildProc(Wnd: HWND; LParam: LPARAM): BOOL; stdcall;
var
ClassName, WindowText: array[0..127] of Char;
begin
GetClassName(Wnd, ClassName, Sizeof(ClassName));
GetWindowText(Wnd, WindowText, Sizeof(WindowText));
with PSearchWndRec(LParam)^ do
begin
if (FindClassName = ClassName) and
((FindWindowText = '') or (FindWindowText = WindowText)) then
Inc(EnumCount);
if EnumCount = FindPosition then
begin
FoundWnd := Wnd;
Result := False;
end
else
Result := True;
end;
end;

begin
SearchWndRec.FoundWnd := 0;
SearchPos := 1;
StartPos := 1;
EndClassPos := 0;
EndTextPos := 0;
EndRecPos := 0;
if ParentWnd = 0 then
ParentWnd := GetDesktopWindow;
while SearchPos <= Length(Search) do
begin
case Search[SearchPos] of
',':
if EndClassPos = 0 then
EndClassPos := SearchPos
else
EndTextPos := SearchPos;
';':
EndRecPos := SearchPos;
end;
if (EndRecPos > 0) and (EndClassPos > 0) and (EndTextPos > 0) then
with SearchWndRec do
begin
FindClassName := Copy(Search, StartPos, EndClassPos - StartPos);
FindWindowText := Copy(Search, EndClassPos + 1, EndTextPos -
EndClassPos - 1);
FindPosition := StrToInt(Copy(Search, EndTextPos + 1, EndRecPos -
EndTextPos - 1));
EnumCount := 0;
FoundWnd := 0;
if FindPosition = 1 then
begin
if FindWindowText = '' then
P := nil
else
P := PChar(FindWindowText);
FoundWnd := FindWindowEx(ParentWnd, 0, PChar(FindClassName), P);
end else
EnumChildWindows(ParentWnd, (zv)EnumChildProc, Integer((zv)SearchWndRec));
if FoundWnd = 0 then
Break
else
ParentWnd := FoundWnd;
StartPos := SearchPos + 1;
EndClassPos := 0;
EndTextPos := 0;
EndRecPos := 0;
end;
Inc(SearchPos);
end;
Result := SearchWndRec.FoundWnd;
end;

procedure TForm2.Button1Click(Sender: TObject);
var
EditWnd: HWND;
EditText: string;
begin
// Druhy TEdit na TForm1
EditWnd := SearchForWindow('TForm1,,1;TEdit,,2;');
Assert(EditWnd <> 0);

EditText := 'bla bla';
SendMessage(EditWnd, WM_SETTEXT, 0, Integer(PChar(EditText)));
end;

Petr Vones, amatersky programator



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