Archív konference Delphi

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

synapse - TCP Echo Server - obojsmerne vlakno

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 04.10.2002 13:41:55

Ugh.. tak tahle opravdu ne! TCP komunikace je typu client-server..
tedy jeden je server a prijima spojeni. a druhy je klient, ktery se s
temi servery spojuje.

Nelze tedy se pokouset o neco takoveho, jako dva servery proti sobe.
To proste nejde, nepujde a nikdy nemohlo jit!

Bind neslouzi na navazovani spojeni, od toho je metoda Connect. Bind
nechej tak jak je (s hodnotou '0.0.0.0'), jen port dej na takovym, na
jakym chces poslouchat.

Pak z jineho programu, z toho klienta, de
Connect('ip_tveho_serveru','tvuj_port').. a pak muzes obousmerne
komunikovat se serverem.

> ..mozno som sa zle vyjadril..skusim teda este raz..
>
> Prave na skusanie takejto odozvy som si upravil EchoSrv, v
> TTCPEchoDaemon.Execute som si pri sock.bind dal ip svojho PC a
> port 9191.V TTCPEchoThrd.Execute mam :
>
> ..
> repeat
> if terminated then break;
> ShowMessage(recvPacket(60000));
> if lastError<>0 then break;
> sendstring('odozva');
> if lastError<>0 then break;
> until false;
> ..
>
> Potom som si spustil EchoSrv 2 krat, bind je na tu istu adresu a
> port, z EchoSrv2 davam SendString, napr. aaa, EchoSrv1 mi spravne


-- Lukas Gebauer.

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

Pozor na Profibanku

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

From: "Jaroslav Nadhera" <nadhera(zv)csh(tec)cz>
> bankovnich dat na pocitaci. Rovnez s tim nic delat nebudou. Jak se vsak
> branit takovym agresivnim instalacim?

Pokud je to opravdu tak zavazny problem tak jedine publicitou, napriklad na
http://www.mesec(tec)cz apod.

Petr Vones

synapse - TCP Echo Server - obojsmerne vlakno

[*] <delphin(zv)centrum.sk> - 04.10.2002 14:38:52

.. OK, moja neznalost a chyba.. akym sposobom teda potom na
klientovi nacitam to co poslal server, v tomto pripade String
odozva..?

..z klienta poslem string takto

SendSock := TTCPBlockSocket.Create;
SendSock.CreateSocket;
SendSock.connect(mojaIP,'9191');
if SendSock.LastError<>0 then
begin
ShowMessage('chyba : '+SendSock.LastErrorDesc);
exit;
end;
SendSock.SendString(Edit1.Text);

.. a ako nacitam odozvu??

Dik

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

Drag and drop

[*] Lubos Urban <Lubos.Urban(zv)visicom.sk> - 4.10.2002 14:46:41

Toto som raz davno nasiel na borlandackych newsoch:

Question: How can I move a control at runtime using the mouse?

Answer: You can trap the OnMouseDown event, remembering the x and y
coordinates of the mouse
and set the mouse capture. You can then track mouse movements with
the OnMouseMove event,
moving the control until the OnMouseUp event is fired. You then will
want to place the
control in it's final position and release capture of the mouse.
The following example shows how to move a TButton component around
on the form using
the mouse. The movement is initiated by the user holding down the
control key when the
mouse button is activated.

Example:

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Button1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
MouseDownSpot : TPoint;
Capturing : bool;
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if ssCtrl in Shift then begin
SetCapture(Button1.Handle);
Capturing := true;
MouseDownSpot.X := x;
MouseDownSpot.Y := Y;
end;
end;

procedure TForm1.Button1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
if Capturing then begin
Button1.Left := Button1.Left - (MouseDownSpot.x - x);
Button1.Top := Button1.Top - (MouseDownSpot.y - y);
end;
end;

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Capturing then begin
ReleaseCapture;
Capturing := false;
Button1.Left := Button1.Left - (MouseDownSpot.x - x);
Button1.Top := Button1.Top - (MouseDownSpot.y - y);
end;
end;
----- Original Message -----
From: "Martin Kasman" <martinkasman(zv)centrum.sk>
To: "Delphi" <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, October 31, 2002 6:54 PM
Subject: Drag and drop


> D6, WinXP
>
> Potrebujem v programe spravit drag and drop s labelom: teda, aby sa dalo
> kliknut na label, potiahnut a pustit. Label ostane na svojom novom mieste.
>
> Cez zabudovane funkcie DragMode to vobec neviem urobit, a ak to robim cez
> onMouseMove, tak ziskavam z premennej X a Y zvlastne hodnoty, ktore sa
stale
> menia aj ked s mysou nepohybujem.
>
> Vdaka za kazdu radu.
>
> --------------------
> tisicky obrazkov na tlacitka a ikonky - www.martinkasman.host.sk
>
>
>

synapse - TCP Echo Server - obojsmerne vlakno

[*] <delphin(zv)centrum.sk> - 04.10.2002 15:07:56

.. ja blbec som daval SendSock.RecvString a ten string bol bez
terminatoru, vracalo mi to potom prazdny string a ja som sa
cudoval.. sorry..dik za pomoc

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

Uvozovky v FB

[*] Josef Semera <semera(zv)fofrs(tec)cz> - 4.10.2002 15:12:02



Nen� to nesmysl. Pokud vytvoris objekt pouze pomoci velkych pismen -
nemusis ho pozdeji psat do uvozovek. A to i kdyby byl vytvores s
uvozovkama. Pokud vytvoris object bez uvozovek, Firebird si sam prevede
nazvy objektu na velka pismena . Pokud pouzijeme mezeru nebo cestinu,
uvozovky musi byt vzdy.

Nicmene pokud uzivatel pouzil nejake visualni nastroje, napr. QuickDesk,
ani nemusi zjistit, ze pri tvorbe tabulky si QD sam dosadil uvozovky .


Josef Semera
-----Original Message-----

Ale to je nesmysl... Pokud jsou pouzity pri vytvoreni objektu u nazvu
uvozovky, musi se k tomuto objektu pristupovat pomoci uvozovek.... Nema
na
to vliv mala ci velka pismena, ale prave to, jak je objekt zalozen
(mozna i
nekdy upraven, to ted z hlavy nejsem schopen rict).

Uvozovky maji vyhodu v situaci, kdy musime (i kdyz je to lehce
zpochybnitelne) pouzit napriklad mezeru, diakretiku apod. V nazvech.

D7 a barva panelu

[*] Martin Radvansky <delphicz(zv)stereo(tec)cz> - 4.10.2002 15:17:06

Zdravim,
tusite nekdo, proc pokud na formular dam panel a ten si obarvim napr. na
modro a tento formular spustim tak se mi panel prebarvi podle
formulare. ParentColor samozrejme nemam zapnuty. V ide to ma barvu
spravnou.
WXP Pro, Delphi 7 Pro

--
S pozdravem,
Martin Radvansky

Dotaz na vyuziti frame

[*] Petr Varga <djvar(zv)post(tec)cz> - 04.10.2002 15:27:51

Ahoj,
chtel jsem se zeptat, jestli nekdo z vas nema nejake zkusenosti s
frame v delphi.. Bylo mi to doporuceno, ale nejak nechapu k cemu je
to dobre. Takze kdyby nekdo mel s tim zkusenosti tak napiste..
Diky Petr Varga

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

FB a trideni

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 04.10.2002 15:37:10

Ahoj,

narazil jsem na zajimavy problem. Mam FB 1.0, tabulku s charset WIN1250 a collate
PXW_CSY.

Zjistil jsem, �e tato tabulka neni setridena spravne podle ceskeho locale z Windows,
tj. porovnam-li pomoci windows funkce CompareString (se zapnutym
SORT_STRINGSORT) dva za sebou jdouci radky, neni vzdy predchozi mensi nez
nasledujici.

Napr. v tabulce mam BA�A a za t�m BANACO. FB to seradi tak, jak jsem to napsal,
ale podle CompareString ma byt poradi obracene.

Potreboval bych to sjednotit, nejlepe podle cesky spravnejsiho zpusobu, tj. podle
locale Windows. To mohu kdyztak ozelet, ale sjednoceni je nezbytne. Nevite nekdo o
lepsim colate, pripadne jinem reseni?

Dik

David Lebeda

Predavani binarnich dat pres COM/DCOM

[*] Karel Kimes <kkonf(zv)email(tec)cz> - 04.10.2002 15:40:32

ahoj,
chtel bych z jedne aplikace do druhe predat blok binarnich dat. Existuje
sice rada zpusobu, jak to udelat (mapovane soubory, "raw" soubory,
clipboard), ALE ja to potrebuju predavat na vzdaleny stroj => DCOM (i zde
existuje rada zpusobu, ALE drzme se ted technologie DCOM, dekuji :) ).

Videl bych to asi takhle:
1) klient - vytvorit objekt implementujici napr. IStream
2) klient - naplnit IStream
3) klient - poslat IStream jako parametr v nejake metode, napr.
SetData(Stream) do COM objektu. ( procedure SetData(Stream : IStream); )
4) COM objekt - v COM objektu pracovat s daty (ulozit do DB, atd.)
(implementace SetData obdrzi v promene Stream ukazatel na IStream, je to tak?)

Co vy na to? (trocha kodu by taky neskodila)


dik

kchodl

Dotaz na vyuziti frame

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 4.10.2002 16:00:46

Frame je v podstate kus formulare (x komponent) vcetne obsluzneho
kodu. Ty jej vlozis na formular a mas celou funkcnost.
Pouziti z toho vyplyva - pokud mas na nekolika formularich stejne
komponenty se stejnou funkcnosti, nahradis je pomoci frame.
A vyhody ?
Udrzujes kod pouze na jednom miste, cokoliv promitnes do puvodniho
frame, objevi se i na formularich, kde jsi jej pouzil (vcetne novych
pridanych komponent apod.)

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

4.11.2002 Petr Varga:
> Ahoj,
> chtel jsem se zeptat, jestli nekdo z vas nema nejake zkusenosti s
> frame v delphi.. Bylo mi to doporuceno, ale nejak nechapu k cemu je
> to dobre. Takze kdyby nekdo mel s tim zkusenosti tak napiste..
> Diky Petr Varga

OT:Re: Pozor na Profibanku

[*] Ludek ZITA <konference(zv)sales(tec)cz> - 4.10.2002 16:20:40


----- Original Message -----
From: "Jaroslav Nadhera" <nadhera(zv)csh(tec)cz>> KB nyni siri svuj bankovni program Profibanka, ktery bezi na SQL serveru
> (MSDE). Pokud se nainstaluje, nastavi si nejake svoje tajne heslo
> systemoveho administratora. Pokud tedy na tomto pocitaci provozujete
nejaky
> dalsi program, pouzivajici SQL server, neni sance, jak se tam pripojit! KB
> heslo nesdeli, protoze nechce, aby mel jiny program moznost dostat se do
> bankovnich dat na pocitaci. Rovnez s tim nic delat nebudou. Jak se vsak
> branit takovym agresivnim instalacim?

Ahoj.
IMHO nevidel jsem snad jedinou (krom CSOB Homebanking 24) bankovni aplikaci,
ktera by nebyla s prominutim zprasena.
Jo jo, supaci z KB. Mne v lete nabizeli Profibanku zdarma a stejne jsem ten
smejd nechtel.
A to jsem skoncil hned na zacatku:) Pri registraci to po mne chtelo povolit
spusteni ActiveX a to flat rate pro cely internet (nestacilo jen pridat mezi
duveryhodne servery). No a na technicke podpore mi mila slecna tvrdila, ze
to jinak nejde a o nastaveni IE vedela asi tolik co ja o cinske literature
II. dynastie Yang.
Vzhledem k tomu, ze nehodlam podobne nesmysly provozovat na PC, kde mam
ucetnictvi a jine dulezite veci. Radeji jsem se o to dal nezajimal...
Tosovskeho bankokomunismus je holt asi nesmrtelnej a bila kosile, kravata a
kecy jsou pro tuhle bankovni smetanku vic nez dostatecna kvalifikace pro
napsani rozumneho SW.

Ludek


OT:Re: Pozor na Profibanku

[*] Petr Langer <langer(zv)xdom(tec)cz> - 4.10.2002 16:35:45

----- Original Message -----
From: "Ludek ZITA" <konference(zv)sales(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Monday, November 04, 2002 4:20 PM
Subject: OT:Re: Pozor na Profibanku

> IMHO nevidel jsem snad jedinou (krom CSOB Homebanking 24) bankovni
aplikaci,
> ktera by nebyla s prominutim zprasena.

Zdravim. No ja teda nemam zkusenosti s vicerymi klienty a pouzivam CSOB
Homebanking 24, ale ze by to byla buhvijaka aplikace, to se snad ani rict
neda. Mne to nepripada vubec "user friendly" o intuitivnim ovladani ani
nemluve. Prehled plateb je naprosto nesmyslne serazeny, trideni funguje vzdy
jen nad jednim sloupcem, kdyz dvojkliknu na polozku, tak se mi sice nabije
jako nova, ale se vsema staryma udajema, tj. vcetne data, atd. atd. Nova
verze neprisla uz tak aspon rok, takze nemyslim, ze by meli zajem to nejak
dal rozvijet. Proste jim to nejak funguje a dost. Pritom by stacilo tak
malo...

Petr Langer


OT: RE: Re: Pozor na Profibanku

[*] Pavel Malinsky <spiderland(zv)iol(tec)cz> - 4.10.2002 16:57:05

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Ludek ZITA
> Sent: Monday, November 04, 2002 4:21 PM
>
> Ahoj.

Ahoj,

> IMHO nevidel jsem snad jedinou (krom CSOB Homebanking 24)
> bankovni aplikaci,
> ktera by nebyla s prominutim zprasena.

Kdyz jsem ji instaloval tak me pobavila hlaska:
"Chyba: Mate vice nez 4GB volneho mista, zaplnte nebo uvolnete
prostor na disku." :).

> Jo jo, supaci z KB. Mne v lete nabizeli Profibanku zdarma a
> stejne jsem ten smejd nechtel.

To je sice hezky, ale muj zakaznik pouzival M-Best, ktery
v zari skocil a jeho nastupcem je prave ProfiBanka, takze mu
nic jinyho nezbylo. To, ze si zakaznik musi hardwarove polepsit
(prave kvuli SQL serveru), to je holt uz nezajima.

S pozdravem a dikem
=====================================
> Pavel Malinsky; spiderland(zv)iol(tec)cz <
=====================================
GSM: 602 652 203

Vicejazycna aplikace

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 04.10.2002 17:43:27

On 4 Nov 2002 at 10:05, Petr Fejfar wrote:

> > Ne, to neni jeden problem, ale nejmene problemy dva. Formular neni
> > chybova hlaska, a prave s cizimi formulari jsou nejvetsi problemy
> > pri lokalizaci pres soubor, ale take v ITE.
>
> Mas pravdu, prehledl jsem ty formulare, nejspis proto, ze osobne by
> me nikdy nenapadlo pouzit 3rd party formular ve vlastni aplikaci.

Mnoho lidi pouziva tiskove sestavy Sinea, tam se cizim formularum
vyhyba obtizne. Jini pouzivaji QReport, tam je take cizich formularu
dost. Jak resis tisky ty?

S pozdravem

Zbysek Hlinka


Vicejazycna aplikace

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 4.10.2002 17:56:14

From: "Zbysek Hlinka" <hlinka(zv)hlinka(tec)cz>

> Mnoho lidi pouziva tiskove sestavy Sinea, tam se cizim formularum
> vyhyba obtizne. Jini pouzivaji QReport, tam je take cizich formularu
> dost. Jak resis tisky ty?

Nejsme datari, tak zadne DB reporty netiskneme.

Bye, pf



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.408 / Virus Database: 230 - Release Date: 25.10.2002

Vicejazycna aplikace

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 4.10.2002 18:10:56

From: "Zbysek Hlinka" <hlinka(zv)hlinka(tec)cz>

> Mnoho lidi pouziva tiskove sestavy Sinea, tam se cizim formularum
> vyhyba obtizne. Jini pouzivaji QReport, tam je take cizich formularu
> dost. Jak resis tisky ty?

Jeste snad malou poznamku k tem tiskum obecne - zpravidla je resime
pres HTML viewer, protoze IMHO rendering HTML dokumentu je
nejflexibilnejsi z toho, co jsem videl.

Pouzivame na to "neviditelnou" instanci Baldwinova komercniho vieweru.
(www.pbear.com). Je-li treba, format hodnoty se da predepsat atributem
u tagu., takze layout je pak zcela otevren ke customizaci i k lokalizaci.

Pokud to potrebujeme naopak drzet zavrene, tak ty HTML dokumenty nastrkame s
heslem do naseho proprietarniho archivatoru.


Bye, pf



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.408 / Virus Database: 230 - Release Date: 25.10.2002

OT: Pripojeni k mistni siti pod Win2k

[*] Jan Naiser <tua(zv)wo(tec)cz> - 4.10.2002 18:20:43

Preji pekny den,

mam pod Win2k na sitove karte vytvoreno Pripojeni k mistni siti, kde je
nastavene na TCP/IP "Ziskat adresu ze serveru DHCP automaticky". Timto jsem
pripojeny k linuxovemu routeru pro inet. Potrebuji ovsem videt i dalsi
pocitace na mistnich, statickych adresach, tj. 192.168.1.NNN, ktere jsou
pripojeny na
stejnou sit pres TCP/IP a nevim, jak to udelat. Musim pouzi 2. sitovku?

Za kazdou radu dekuji.

Honza.

trunc

[*] Peter Surovy <psurovy(zv)uevora.pt> - 4.10.2002 18:15:10 -0000

Ahoj
mam takyto problem a neviem si rady:

Fields[29].AsInteger:=trunc(it[i].ptnr/1000);*

kde :
"i": je typu integer a v danom okamihu ma hodnotu 171
"it[i].ptnr" - je longint a "it[171].ptnr" ma hodnotu 105001


*--mi hlasi Invalid Floating Point operation
ked tento riadok vypnem dostanem tu istu hlasku na riadku:

while trunc(it[i].ptnr/1000)=start do begin

snazil som sa cosi vycitat z okna assemblera ale vyzera to
ze to pada vo vnutri trunc a to sa mi nejako nezda,
neviete co by to mohlo byt?

Mam Delphi5 Ent
PS

RX pre D6/C6

[*] p.sestak(zv)corag.sk - 4.10.2002 19:55:11

Zdravim,
nevie niekto, kde by som nasiel RXy pre BCBuilder6, pripadne pre D6?
Palo

Uvozovky v FB

[*] Ing. Marek Kocan <kocan(zv)ebchod(tec)cz> - 4.10.2002 20:18:31

Castecne souhlas. Asi by to ale stalo za to vyzkouset:) Kdyz zalozim
tabulku:

ddd

(1) tak k ni mohu pristupovat bez uvozovek a v selectu mohu pouzit DDD, ddd,
DdD, ddD atd...

kdyz ji zalozim jako

DDD

tak plati (1)

kdyz ji zalozim DdD

tak plati (1)

Pokud ale pouziji uvozovky pro:

"DDDdd"

tak musim pristupovat opet pomoci uvozovek.... Jedina vyjimka tedy plati
tehdy, kdyz jsou pouzity uvozovky pro velka pismena, pak se opravdu uvadet
nemusi. S nesmyslem jsem reagoval na to, ze je rozdil, kdyz se tabulka
zalozi DDD a Dddd (je, kdyz jsou uvozovky, jinak IMHO ne). //pokud mam
nepresnou citaci, omlouvam se - takto to na mne ale zapusobilo:-)// KER

----- Original Message -----
From: "Josef Semera" <semera(zv)fofrs(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Monday, November 04, 2002 3:12 PM
Subject: RE: Uvozovky v FB


>
> Nen� to nesmysl. Pokud vytvoris objekt pouze pomoci velkych pismen -
> nemusis ho pozdeji psat do uvozovek. A to i kdyby byl vytvores s
> uvozovkama. Pokud vytvoris object bez uvozovek, Firebird si sam prevede
> nazvy objektu na velka pismena . Pokud pouzijeme mezeru nebo cestinu,
> uvozovky musi byt vzdy.

Pozor na Profibanku

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 04.10.2002 21:03:48

Puvodni zprava, kterou napsal bardon dne 4 Nov 2002:

> Dotaz: SQL2000 muze na jednom PC existovat v nekolika instancich. Muze
> takto existovat i MSDE? Pokud ano, nebyla by toto cesta k prekonani?
> Myslim pouzivat pro sve potreby jinou instanci serveru.

Ano, SQL Server 2000 to umi i ve verzi MSDE.

S pozdravem
Petr Zahradnik, pocitacovy expert

=======================================================
Petr Zahradnik, Computer Laboratory
Obvodova 740/14, P.O. Box 15, 400 07 Usti nad Labem
Telefony: 475 500 610, 475 501 627, 475 511 337
Mobilni telefon: 602 409 601, Fax: 475 511 338
WWW: http://www.clexpert(tec)cz, http://www.zahradnik(tec)cz
E-Mail: clexpert(zv)clexpert(tec)cz, petr(zv)zahradnik(tec)cz

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

Drag and drop

[*] Peter Ondras <peter.ondras(zv)pse.sk> - 4.10.2002 21:10:06

No to neviem. S tym som si nevedel vobec poradit. Mozno by bolo dobre
nevykreslovat focus vobec a problem by bol svojim sposobom vyrieseny :).
Iny sposob ma prave nenapada.

Peter Ondras
peter.ondras(zv)pse.sk
(+421) 0904 421 925

>: -----Original Message-----
>: From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]
On
>: Behalf Of Martin Kasman
>: Sent: Saturday, November 02, 2002 11:26 PM
>: To: delphi-l(zv)clexpert(tec)cz
>: Subject: Re: Drag and drop
>:
>: Funguje to skvele, no pokial je komponenta na inej komponente (napr.
>: Button
>: na Panely), tak pri vykreslovani FocusRect ho nie je vidno, pretoze
je
>: vykreslovany na form pod tu kompronentu (napr. pod Panelom). Co s
tym?
>:
>: A ozaj preco sa na zaciatku musi vytvorit ten Stream, ked sa vzapeti
na
>: to
>: maze?
>:
>: ----- Original Message -----
>: From: "Peter Ondras" <peter.ondras(zv)pse.sk>
>:
>:
>: > unit Unit1;
>: >
>: > interface
>: >
>: > uses
>: > Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls,
>: Forms,
>: > Dialogs, StdCtrls;
>: >
>: > type
>: > TForm1 = class(TForm)
>: > Button1: TButton;
>: > procedure FormShow(Sender: TObject);
>: > procedure ButtonMouseDown(Sender: TObject; Button:
TMouseButton;
>: > Shift: TShiftState; X, Y: Integer);
>: > procedure ButtonMouseMove(Sender: TObject; Shift: TShiftState;
X,
>: > Y: Integer);
>: > procedure ButtonMouseUp(Sender: TObject; Button: TMouseButton;
>: > Shift: TShiftState; X, Y: Integer);
>: > private
>: > Dragging: Boolean;
>: > XOffSet, YOffSet: Integer;
>: > FocusRect: TRect;
>: > MyButton: TButton;
>: > public
>: > { Public declarations }
>: > end;
>: >
>: > var
>: > Form1: TForm1;
>: >
>: > implementation
>: >
>: > {$R *.dfm}
>: >
>: > procedure TForm1.ButtonMouseDown(Sender: TObject;
>: > Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
>: > begin
>: > Dragging:=True;
>: > XOffSet:=X; YOffSet:=Y;
>: > MyButton:=Sender as TButton;
>: > with MyButton do begin
>: > FocusRect:=Rect(Left,Top,Left+Width,Top+Height);
>: > Canvas.DrawFocusRect(FocusRect);
>: > end;
>: > end;
>: >
>: > procedure TForm1.ButtonMouseMove(Sender: TObject; Shift:
TShiftState;
>: > X, Y: Integer);
>: > begin
>: > if Dragging then
>: > begin
>: > Canvas.DrawFocusRect(FocusRect);
>: > with FocusRect do begin
>: > Left:=(MyButton.Left+X)-XOffSet;
>: > Top:=(MyButton.Top+Y)-YOffSet;
>: > Right:=MyButton.Width+Left;
>: > Bottom:=MyButton.Height+Top;
>: > end;
>: > Canvas.DrawFocusRect(FocusRect);
>: > end;
>: > end;
>: >
>: > procedure TForm1.ButtonMouseUp(Sender: TObject; Button:
TMouseButton;
>: > Shift: TShiftState; X, Y: Integer);
>: > Var Stream: TFileStream;
>: > begin
>: > if Dragging then
>: > begin
>: > Canvas.DrawFocusRect(FocusRect);
>: > Dragging:=False;
>: > with Sender as TButton do begin
>: > Left:=(Left+X)-XOffSet;
>: > Top:=(Top+Y)-YOffSet;
>: > Stream:=TFileStream.Create('components.dat', fmCreate);
>: > try
>: > Stream.WriteComponent(Button1);
>: > finally
>: > Stream.Free;
>: > end;
>: > end;
>: > end;
>: > end;
>: >
>: > procedure TForm1.FormShow(Sender: TObject);
>: > var Stream: TFileStream;
>: > begin
>: > if FileExists('components.dat') then
>: > begin
>: > Stream:=TFileStream.Create('components.dat', fmOpenRead);
>: > try
>: > Stream.ReadComponent(Button1);
>: > finally
>: > Stream.Free;
>: > end;
>: > end;
>: > end;
>: >
>: > end.
>: >
>: > Peter Ondras
>:
----------
Teraz si uz KAZDY moze registrovat svoju domenu .SK
Viac info na: http://www.SlovakNET.sk/predregistracia.asp

Drag and drop - stream

[*] Peter Ondras <peter.ondras(zv)pse.sk> - 4.10.2002 21:14:10

Ten stream sa vytvara ako objekt. Moze sa vytvorit aj na zaciatku
spustenia aplikacie a mazat az pri jej ukonceni. Ale sposob, ktory som
pouzil by mal maximalne setrit pamat. V podstate tam ten stream nemusi
byt vobec, ale potom pre zmenu nebude fungovat Save a Load. Dalsou
moznostou je pouzit vlastny typovy subor. Vtedy netreba pouzivat na
zapis ziadny stream, ale priamo prikazy z Pascalu ako Assign, Rewrite,
Write a Read.

Peter Ondras
peter.ondras(zv)pse.sk
(+421) 0904 421 925

>: -----Original Message-----
>: From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]
On
>: Behalf Of Martin Kasman
>: Sent: Saturday, November 02, 2002 11:26 PM
>: To: delphi-l(zv)clexpert(tec)cz
>: Subject: Re: Drag and drop
>:
>: Funguje to skvele, no pokial je komponenta na inej komponente (napr.
>: Button
>: na Panely), tak pri vykreslovani FocusRect ho nie je vidno, pretoze
je
>: vykreslovany na form pod tu kompronentu (napr. pod Panelom). Co s
tym?
>:
>: A ozaj preco sa na zaciatku musi vytvorit ten Stream, ked sa vzapeti
na
>: to
>: maze?
>:
>: ----- Original Message -----
>: From: "Peter Ondras" <peter.ondras(zv)pse.sk>
>:
>:
>: > unit Unit1;
>: >
>: > interface
>: >
>: > uses
>: > Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls,
>: Forms,
>: > Dialogs, StdCtrls;
>: >
>: > type
>: > TForm1 = class(TForm)
>: > Button1: TButton;
>: > procedure FormShow(Sender: TObject);
>: > procedure ButtonMouseDown(Sender: TObject; Button:
TMouseButton;
>: > Shift: TShiftState; X, Y: Integer);
>: > procedure ButtonMouseMove(Sender: TObject; Shift: TShiftState;
X,
>: > Y: Integer);
>: > procedure ButtonMouseUp(Sender: TObject; Button: TMouseButton;
>: > Shift: TShiftState; X, Y: Integer);
>: > private
>: > Dragging: Boolean;
>: > XOffSet, YOffSet: Integer;
>: > FocusRect: TRect;
>: > MyButton: TButton;
>: > public
>: > { Public declarations }
>: > end;
>: >
>: > var
>: > Form1: TForm1;
>: >
>: > implementation
>: >
>: > {$R *.dfm}
>: >
>: > procedure TForm1.ButtonMouseDown(Sender: TObject;
>: > Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
>: > begin
>: > Dragging:=True;
>: > XOffSet:=X; YOffSet:=Y;
>: > MyButton:=Sender as TButton;
>: > with MyButton do begin
>: > FocusRect:=Rect(Left,Top,Left+Width,Top+Height);
>: > Canvas.DrawFocusRect(FocusRect);
>: > end;
>: > end;
>: >
>: > procedure TForm1.ButtonMouseMove(Sender: TObject; Shift:
TShiftState;
>: > X, Y: Integer);
>: > begin
>: > if Dragging then
>: > begin
>: > Canvas.DrawFocusRect(FocusRect);
>: > with FocusRect do begin
>: > Left:=(MyButton.Left+X)-XOffSet;
>: > Top:=(MyButton.Top+Y)-YOffSet;
>: > Right:=MyButton.Width+Left;
>: > Bottom:=MyButton.Height+Top;
>: > end;
>: > Canvas.DrawFocusRect(FocusRect);
>: > end;
>: > end;
>: >
>: > procedure TForm1.ButtonMouseUp(Sender: TObject; Button:
TMouseButton;
>: > Shift: TShiftState; X, Y: Integer);
>: > Var Stream: TFileStream;
>: > begin
>: > if Dragging then
>: > begin
>: > Canvas.DrawFocusRect(FocusRect);
>: > Dragging:=False;
>: > with Sender as TButton do begin
>: > Left:=(Left+X)-XOffSet;
>: > Top:=(Top+Y)-YOffSet;
>: > Stream:=TFileStream.Create('components.dat', fmCreate);
>: > try
>: > Stream.WriteComponent(Button1);
>: > finally
>: > Stream.Free;
>: > end;
>: > end;
>: > end;
>: > end;
>: >
>: > procedure TForm1.FormShow(Sender: TObject);
>: > var Stream: TFileStream;
>: > begin
>: > if FileExists('components.dat') then
>: > begin
>: > Stream:=TFileStream.Create('components.dat', fmOpenRead);
>: > try
>: > Stream.ReadComponent(Button1);
>: > finally
>: > Stream.Free;
>: > end;
>: > end;
>: > end;
>: >
>: > end.
>: >
>: > Peter Ondras
>:
----------
Teraz si uz KAZDY moze registrovat svoju domenu .SK
Viac info na: http://www.SlovakNET.sk/predregistracia.asp

Drag and drop

[*] Peter Ondras <peter.ondras(zv)pse.sk> - 4.10.2002 21:15:55

Este ma napadla jedna finta s tym focusom. Objekt CANVAS na ktory sa
odkjazujem je globalny a patri priamo formularu. Mozno by stacilo urobit
PANEL1.CANVAS..... ale neskusal som to.

Peter Ondras
peter.ondras(zv)pse.sk
(+421) 0904 421 925

>: -----Original Message-----
>: From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]
On
>: Behalf Of Martin Kasman
>: Sent: Saturday, November 02, 2002 11:26 PM
>: To: delphi-l(zv)clexpert(tec)cz
>: Subject: Re: Drag and drop
>:
>: Funguje to skvele, no pokial je komponenta na inej komponente (napr.
>: Button
>: na Panely), tak pri vykreslovani FocusRect ho nie je vidno, pretoze
je
>: vykreslovany na form pod tu kompronentu (napr. pod Panelom). Co s
tym?
>:
>: A ozaj preco sa na zaciatku musi vytvorit ten Stream, ked sa vzapeti
na
>: to
>: maze?
>:
>: ----- Original Message -----
>: From: "Peter Ondras" <peter.ondras(zv)pse.sk>
>:
>:
>: > unit Unit1;
>: >
>: > interface
>: >
>: > uses
>: > Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls,
>: Forms,
>: > Dialogs, StdCtrls;
>: >
>: > type
>: > TForm1 = class(TForm)
>: > Button1: TButton;
>: > procedure FormShow(Sender: TObject);
>: > procedure ButtonMouseDown(Sender: TObject; Button:
TMouseButton;
>: > Shift: TShiftState; X, Y: Integer);
>: > procedure ButtonMouseMove(Sender: TObject; Shift: TShiftState;
X,
>: > Y: Integer);
>: > procedure ButtonMouseUp(Sender: TObject; Button: TMouseButton;
>: > Shift: TShiftState; X, Y: Integer);
>: > private
>: > Dragging: Boolean;
>: > XOffSet, YOffSet: Integer;
>: > FocusRect: TRect;
>: > MyButton: TButton;
>: > public
>: > { Public declarations }
>: > end;
>: >
>: > var
>: > Form1: TForm1;
>: >
>: > implementation
>: >
>: > {$R *.dfm}
>: >
>: > procedure TForm1.ButtonMouseDown(Sender: TObject;
>: > Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
>: > begin
>: > Dragging:=True;
>: > XOffSet:=X; YOffSet:=Y;
>: > MyButton:=Sender as TButton;
>: > with MyButton do begin
>: > FocusRect:=Rect(Left,Top,Left+Width,Top+Height);
>: > Canvas.DrawFocusRect(FocusRect);
>: > end;
>: > end;
>: >
>: > procedure TForm1.ButtonMouseMove(Sender: TObject; Shift:
TShiftState;
>: > X, Y: Integer);
>: > begin
>: > if Dragging then
>: > begin
>: > Canvas.DrawFocusRect(FocusRect);
>: > with FocusRect do begin
>: > Left:=(MyButton.Left+X)-XOffSet;
>: > Top:=(MyButton.Top+Y)-YOffSet;
>: > Right:=MyButton.Width+Left;
>: > Bottom:=MyButton.Height+Top;
>: > end;
>: > Canvas.DrawFocusRect(FocusRect);
>: > end;
>: > end;
>: >
>: > procedure TForm1.ButtonMouseUp(Sender: TObject; Button:
TMouseButton;
>: > Shift: TShiftState; X, Y: Integer);
>: > Var Stream: TFileStream;
>: > begin
>: > if Dragging then
>: > begin
>: > Canvas.DrawFocusRect(FocusRect);
>: > Dragging:=False;
>: > with Sender as TButton do begin
>: > Left:=(Left+X)-XOffSet;
>: > Top:=(Top+Y)-YOffSet;
>: > Stream:=TFileStream.Create('components.dat', fmCreate);
>: > try
>: > Stream.WriteComponent(Button1);
>: > finally
>: > Stream.Free;
>: > end;
>: > end;
>: > end;
>: > end;
>: >
>: > procedure TForm1.FormShow(Sender: TObject);
>: > var Stream: TFileStream;
>: > begin
>: > if FileExists('components.dat') then
>: > begin
>: > Stream:=TFileStream.Create('components.dat', fmOpenRead);
>: > try
>: > Stream.ReadComponent(Button1);
>: > finally
>: > Stream.Free;
>: > end;
>: > end;
>: > end;
>: >
>: > end.
>: >
>: > Peter Ondras
>:
----------
Teraz si uz KAZDY moze registrovat svoju domenu .SK
Viac info na: http://www.SlovakNET.sk/predregistracia.asp

inet online

[*] Peter Ondras <peter.ondras(zv)pse.sk> - 4.10.2002 22:14:24

Staci zistit IP adresu. Ak je 127.0.0.1, tak je offline. Ak je akakolvek
ina tak je online. Komponenty na zistenie IP adresy najdes urcite na
http://www.torry.net. Myslim, ze nejaka by mala byt aj v Delphi, ale
neviem ktora to je.

Peter Ondras
peter.ondras(zv)pse.sk
(+421) 0904 421 925
>: -----Original Message-----
>: From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]
On
>: Behalf Of KALUS Jozef
>: Sent: Monday, November 04, 2002 8:14 AM
>: To: delphi-l(zv)clexpert(tec)cz
>: Subject: inet online
>:
>: nazdar,
>:
>: nevie mi niekto poradit ako z delphi zistit ci je pocitac pripojeny k
>: internetu (modemove pripojenie) ?
>:
>: viem to urobit zavolanim externeho pingu na ale to velmi elegantne
nie
>: je...
>:
>: dik za kazde info
>:
>: joka


----------
Teraz si uz KAZDY moze registrovat svoju domenu .SK
Viac info na: http://www.SlovakNET.sk/predregistracia.asp

kodovani

[*] Peter Ondras <peter.ondras(zv)pse.sk> - 4.10.2002 22:14:24

Skus pouzit Database Desktop -> Table -> Restructure -> Table Properties
-> Table language -> Modify -> z comba potom vyber Paradox Slovene 852
alebo Paradox Czech 852. Nasledne nezabudni tabulku ulozit.

Peter Ondras
peter.ondras(zv)pse.sk
(+421) 0904 421 925
>: -----Original Message-----
>: From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]
On
>: Behalf Of J�n Harman
>: Sent: Saturday, November 02, 2002 7:47 PM
>: To: delphi-l(zv)clexpert(tec)cz
>: Subject: kodovani
>:
>: Ahoj, prosim Vas, potreboval bych prevest tabulku .dbf do .gdb. Ono
to
>: neni
>: zadny problem, ale
>: ona ta dbf je v nejakem silenem kodovani a nezobrazuje se mi spravne
ani
>: kdyz ji otevru normalne jako dbf. Nektere znaky jsou proste uplne
>: nesmysly.
>: Existuje neco na prevedeni do te "spravne" znakove sady prosim?
>: Diky.
>: Honza.


----------
Teraz si uz KAZDY moze registrovat svoju domenu .SK
Viac info na: http://www.SlovakNET.sk/predregistracia.asp

D7 a barva panelu

[*] Peter Ondras <peter.ondras(zv)pse.sk> - 4.10.2002 22:14:24

Este skus pozriet nastavenia farieb vo WinXP. Ja pouzivam Win2000 a ide
mi to OK. Sam som videl ako WinXP vlastnym nastavenim zmenili farbu zltu
na farbu bielu. Ale samozrejme sa jedna a premenne farby systemu. Pokial
sa vyberie priamo clBlue, tak by sa to nemalo menit ani vo WinXP.

Peter Ondras
peter.ondras(zv)pse.sk
(+421) 0904 421 925

>: -----Original Message-----
>: From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]
On
>: Behalf Of Martin Radvansky
>: Sent: Monday, November 04, 2002 3:17 PM
>: To: delphi-l(zv)clexpert(tec)cz
>: Subject: D7 a barva panelu
>:
>: Zdravim,
>: tusite nekdo, proc pokud na formular dam panel a ten si obarvim napr.
na
>: modro a tento formular spustim tak se mi panel prebarvi podle
>: formulare. ParentColor samozrejme nemam zapnuty. V ide to ma barvu
>: spravnou.
>: WXP Pro, Delphi 7 Pro
>:
>: --
>: S pozdravem,
>: Martin Radvansky



----------
Teraz si uz KAZDY moze registrovat svoju domenu .SK
Viac info na: http://www.SlovakNET.sk/predregistracia.asp

OT:Re: Pozor na Profibanku

[*] Ludek ZITA <konference(zv)sales(tec)cz> - 4.10.2002 22:29:46


----- Original Message -----
From: "Petr Langer" <langer(zv)xdom(tec)cz>
> > IMHO nevidel jsem snad jedinou (krom CSOB Homebanking 24) bankovni
> aplikaci,
> > ktera by nebyla s prominutim zprasena.
>
> Zdravim. No ja teda nemam zkusenosti s vicerymi klienty a pouzivam CSOB
> Homebanking 24, ale ze by to byla buhvijaka aplikace, to se snad ani rict
> neda. Mne to nepripada vubec "user friendly" o intuitivnim ovladani ani
.....

Ahoj.
No ja jsem mel na mysli spise technickou stranku veci. Ta je totiz jen v
rukou programatora.
Jak co seradit a podobne hodne ovlivnuje zadavatel.
Ale aplikace HB24 je alespon (na rozdil od jinych) pouzitelna a
provozuschopna.
Jine proste pouzit nejde i kdyby umely samy varit kafe.
Priklady chyb ktere jsem (nejen) u bankovnich aplikaci videl :
- vyrazne a nesmyslne pozadavky na oslabeni zabezpeceni systemu
- nesmyslne a nicim neopodstatnene pozadavky na instalaci MS Office a pod.
- nemoznost pracovat ve viceuzivatelskem prostredi (profily)
- zapisy do souboru v chranenych adresarich (winnt,program files,winnt/temp)
a chybne cteni vetve HKLM registru ci zapisy do ni (mimo instalaci) coz
znemoznuje
rozumnou praci v prostredi domeny Windows2000
- tvrzeni, ze program, ktery se schova do traye je "serverovy" a zaroven
POZADAVEK aby bezel na serveru pod administratorskym uctem
(vzhledem k pripadnemu restratu by tedy bud musel byt pouzit nejaky
autologon nebo by vsichni zamestnanci museli znat administratorske heslo!!!)
- z drivejsich let pak "nevhodne" chovani a pozadavky na BDE (mimochodem je
mel i program Syslicek autora tohoto threadu)

Ludek


D7 a barva panelu

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

From: "Martin Radvansky" <delphicz(zv)stereo(tec)cz>
> tusite nekdo, proc pokud na formular dam panel a ten si obarvim napr. na
> modro a tento formular spustim tak se mi panel prebarvi podle
> formulare. ParentColor samozrejme nemam zapnuty. V ide to ma barvu
> spravnou.
> WXP Pro, Delphi 7 Pro

Tohle je problem zavleceny podporou XP temat ve VCL kde maji ovladaci prvky
podklad dle tematu, pokud ma aplikace manifest. K cemu je potreba barevny
panel ?

Petr Vones

OT Jak USPAT disk

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 4.10.2002 22:43:01

From: "Obermaier Petr Ing." <Obermaier(zv)mail.sdas(tec)cz>
> Kde mohu najit nejake (ne)oficialni vyjadreni, ze vypinanim HDD snizuji jeho
> zivotnost?

Vetsinou podle zkusenosti tech, kteri si to vyzkouseli ;-)

Petr Vones

Vicejazycna aplikace

[*] Ludek ZITA <konference(zv)sales(tec)cz> - 4.10.2002 22:45:09


----- Original Message -----
From: "Petr Fejfar" <development(zv)callnet(tec)cz>
> Jeste snad malou poznamku k tem tiskum obecne - zpravidla je resime
> pres HTML viewer, protoze IMHO rendering HTML dokumentu je
> nejflexibilnejsi z toho, co jsem videl.

Ahoj.
Nevim presne zda se to da srovnat, ale jeden zakaznik pouziva intranetovy
IS, ktery tiskne pres IE a velkym problemem jsou mnohostrankove tisky,
protoze IE uz pro zobrazeni sezere sys. prostredky jako blazen a pak jese
jednou to same pro tisk a i kdyz je to na PC se 128 MB RAM a W2000 tak to
zbuchne na nedostatek systemovych prostredku. Ale mozna je to tim IE.

Ludek

Uvozovky v FB

[*] J�n Harman <harman(zv)atlas(tec)cz> - 4.10.2002 22:53:26

MAM TO VYZKOUSENO! DOLE UVEDENE PRIKLADY JSOU SPRAVNE.
Honza.
> Castecne souhlas. Asi by to ale stalo za to vyzkouset:) Kdyz zalozim
> tabulku:
>
> ddd
>
> (1) tak k ni mohu pristupovat bez uvozovek a v selectu mohu pouzit DDD,
ddd,
> DdD, ddD atd...
>
> kdyz ji zalozim jako
>
> DDD
>
> tak plati (1)
>
> kdyz ji zalozim DdD
>
> tak plati (1)
>
> Pokud ale pouziji uvozovky pro:
>
> "DDDdd"
>
> tak musim pristupovat opet pomoci uvozovek.... Jedina vyjimka tedy plati
> tehdy, kdyz jsou pouzity uvozovky pro velka pismena, pak se opravdu uvadet
> nemusi. S nesmyslem jsem reagoval na to, ze je rozdil, kdyz se tabulka
> zalozi DDD a Dddd (je, kdyz jsou uvozovky, jinak IMHO ne). //pokud mam
> nepresnou citaci, omlouvam se - takto to na mne ale zapusobilo:-)// KER
>
> ----- Original Message -----
> From: "Josef Semera" <semera(zv)fofrs(tec)cz>
> To: <delphi-l(zv)clexpert(tec)cz>
> Sent: Monday, November 04, 2002 3:12 PM
> Subject: RE: Uvozovky v FB
>
>
> >
> >
> > Nen� to nesmysl. Pokud vytvoris objekt pouze pomoci velkych pismen -
> > nemusis ho pozdeji psat do uvozovek. A to i kdyby byl vytvores s
> > uvozovkama. Pokud vytvoris object bez uvozovek, Firebird si sam prevede
> > nazvy objektu na velka pismena . Pokud pouzijeme mezeru nebo cestinu,
> > uvozovky musi byt vzdy.
>
>
>

kodovani

[*] J�n Harman <harman(zv)atlas(tec)cz> - 4.10.2002 23:01:07

To je mozne udelat, ale bez vysledku. Pri ulozeni Database Desktop napise
upozorneni:
"Changing language drivers does not couse existing data to be converted to
the new chracter set. Restructure anyway?"


Skus pouzit Database Desktop -> Table -> Restructure -> Table Properties
-> Table language -> Modify -> z comba potom vyber Paradox Slovene 852
alebo Paradox Czech 852. Nasledne nezabudni tabulku ulozit.

>:
>: Ahoj, prosim Vas, potreboval bych prevest tabulku .dbf do .gdb. Ono
to
>: neni
>: zadny problem, ale
>: ona ta dbf je v nejakem silenem kodovani a nezobrazuje se mi spravne
ani
>: kdyz ji otevru normalne jako dbf. Nektere znaky jsou proste uplne
>: nesmysly.
>: Existuje neco na prevedeni do te "spravne" znakove sady prosim?
>: Diky.
>: Honza.


----------
Teraz si uz KAZDY moze registrovat svoju domenu .SK
Viac info na: http://www.SlovakNET.sk/predregistracia.asp


Jak odchytit okenni proceduru?

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

From: "Petr Brant" <brant(zv)dcomm(tec)cz>
> Ahoj vespolek, zacal jsem pracovat s MS MapPointem (mapove podklady, velmi
> podrobne) a potrebuji do te mapy kreslit. To neni problem, mapu mam vsazenou

Nema ten MapPoint nejakou metodu pro kresleni do predaneho DC ? Pokud vim neco
podobneho ma napriklad GeoBaze.

Petr Vones

Detekce vlozeni disku

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 4.10.2002 23:15:42

From: "Petr Maz�nek" <mazi07(zv)seznam(tec)cz>
> Jde mi o to, aby se nejaka procedura aktivovala vzdy pri pokusu jakehokoliv
> progamu cist z diskety nebo CD.

Tohle udelas tezko na urovni aplikace, spis asi bude potreba napsal kernel
driver.

Petr Vones

Indikace kontextoveho menu

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 4.10.2002 23:19:46

From: "Bene� Jaroslav" <JBenes(zv)cpoj(tec)cz>
> Uzivatel si te malickosti ale hned vsimne a povazuje to za vadu aplikace coz
> zase vadi mne.

A ma pravdu, je to vada aplikace ktera zanasi nestandardni a nesmyslne chovani
do jejiho ovladani. Jinak vsechny funkce z popup menu by mely byt dostupne i
jinym zpusobem, pomoci klavesovych zkratek a toolbaru.

Petr Vones

Viewbar - jak na to

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 4.10.2002 23:25:15

From: "Jan �imeck�" <jsimecky(zv)zskuldova(tec)cz>
> potreboval bych vytvorit program, ktery po spusteni bude zabirat asi 70
> pixelu od vrchu obrazovky a bude stale videt => obrazovka bude o techto 70
> pixelu mensi.

Using Application Desktop Toolbars
ms-help://MS.PSDK.1033/shellcc/platform/shell/programmersguide/shell_int/shell
_int_programming/appbars.htm

> V pripade ze mi doporucite nejake komponenty, tak prosim uvedte adresu, kde
> je najdu.

Hledej 'appbar' na http://www.torry.net

Petr Vones

TabSet

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 4.10.2002 23:26:40

From: "Ing. Jarom�r Sola�" <solar(zv)magion(tec)cz>
> nevite o nejake komponente podobne TabSet ktera ma zalozky nahore, popr.
> TabControl u ktereho jde vypnout 3D oramovani.

TTabControl a Style = tsFlatButtons

Petr Vones

Unistall

[*] Peter Ondras <peter.ondras(zv)pse.sk> - 4.10.2002 23:30:28

Nacitaj z registrov H_KEY_CURRENT_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<nazov programu>\UninstallString
Nacitany string vloz do ShellExecute(0, PChar('open'), PChar(<nacitany string>), nil, nil, SW_SHOWNORMAL);
Do uses nezabudni pridat ShellApi;

Ked pouzijes nacitanie z registrov a ShellExecute, tak program odinstalujes aj ked urobeny v comkolvek nielen v InstallShielde. Resp. nedochadza tu priamo k odinstalovaniu, ale k spusteniu odinstalacneho programu.
Priamo odinstalovanie ma nijak nenapada. Ale asi by som ho robil tak, ze by som najprv rucne natvrdo vymazal vsetky adresare a subory programu, nasledne by som vymazal vsetky jeho zaznamy v registroch a nasledne by som zresetoval Windows. Toto druhe riesenie je vsak velmi zdlhave a nemoze zarucit bezpecne odinstalovanie tak ako to robi originalny odinstalacny program.

Peter Ondras
peter.ondras(zv)pse.sk
(+421) 0904 421 925

>: -----Original Message-----
>: From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
>: Behalf Of Martin Kasman
>: Sent: Thursday, October 31, 2002 6:54 PM
>: To: Delphi
>: Subject: Unistall
>:
>: Uzivatel si nainstaluje program cez Setup vytvoreny v Install shield-e.
>: Ako
>: sa da program odinstalovat z programu vytvoreneho v Delphi?
>:
>: Vdaka za kazdu radu.
>:
>:
>: --------------------
>: vlajky vsetkych statov - www.martinkasman.host.sk

inet online

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 4.10.2002 23:38:05

IP adresu ceho ?
Co delat v pripade, ze jsem pripojen na proxy server, ktery pouziva
dial-up ?
Co kdyz mam pocitac v siti, ktera pouziva TCP/IP a na pocitaci je
modem, kterym se pripojuji k internetu ? Kterou IP adresu budes
zjistovat ?


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

4.11.2002 Peter Ondras:
> Staci zistit IP adresu. Ak je 127.0.0.1, tak je offline. Ak je akakolvek
> ina tak je online. Komponenty na zistenie IP adresy najdes urcite na
> http://www.torry.net. Myslim, ze nejaka by mala byt aj v Delphi, ale
> neviem ktora to je.

knihovny pro praci s Maticemi

[*] Christopher <ChristopherJ(zv)seznam(tec)cz> - 4.10.2002 23:48:49

Ahoj, muzete mi poradit doboru knihovnu pro operace s maticemi? diky R

Editpr HTML

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 4.10.2002 23:58:10

From: "Burkovsky Ladislav" <Ladislav.Burkovsky(zv)autinform.de>
> Hallo konferencia nevie niekto o nejakom
> free HTML editor componente.

http://www.euromind.com/iedelphi/EditHTML.htm

Petr Vones

BDE kontra Win XP

[*] Milan Dvorak <bert.dvorak(zv)worldonline(tec)cz> - 5.10.2002 05:51:31

Zdravim,

nase "stare" aplikace mame delany v Paradoxu s vyuzitim BDE. Nyni se nam
ozvali jiz dva uziavtele, ze po preinstalaci na Win XP jim nejsou soucasne
spustit dve aplikace, ktere BDE pouzivaji. Protoze XP nemame, ptam se na
vase zkusenosti, pripadne nevite-li, jak tento problem odstranit.
Nemoznost provozovat dve aplikace se konkretne projevi tak, ze pri pokusu o
spusteni druhe se objevi "klasicka" hlaska, ze se neda inisializovat BDE.

Dekuji

Milan Dvorak
dvorak(zv)gymzn(tec)cz

FB a ISO8859-2

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 05.10.2002 07:28:53

Ahoj,

jelikoz na muj predchozi dotaz nikdo nereagoval, zkusim neco
trosku jineho. Zalozil jsem tabulku se sloupcem v char set
ISO8859_2. Jenze order by podle takoveho sloupce je na nic, jelikoz
pismena s diakritikou jsou zarazena az nakonec. Nepodarilo se mi
ale zjistit, jake tento charset podporuje collation.

Nevite to nekdo?

Jak mam docilit toho, aby sloupec serazeny pomoci order by byl
serazen spravne cesky? Kombinace WIN1250 a PXW_CSY nedela
rozdil mezi n bez hacku a n s hackem a podobne. Existuje zpusob,
jak FB primet k tomu, aby porovnavala spravne, tj. podle Windows
Locale? Neexistuje neco od treti strany, co by problem resilo? VIm,
ze kdysi tu nekdo resil problem s CH a povedlo se.

Diky za kazde nakopnuti.

David Lebeda

Tisky sestav (was Re: Vicejazycna aplikace)

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 5.10.2002 07:41:39

From: "Ludek ZITA" <konference(zv)sales(tec)cz>

> zbuchne na nedostatek systemovych prostredku. Ale mozna je to tim IE.

Co vim, tak MSIE - alespon do verze 5, neumel ani vytisknout svuj obsah
WYSIWYG - zejmena tabulky tisknul v jakemsi "humpolackem" stylu,
takze se tisk nevesel na stranku apod.

Novejsi verze MSIE jsem nezkousel (povazuji to za ztratu casu), protoze
napr. Baldwinum viewer zvlada tisky be problemu.


Bye, pf



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.408 / Virus Database: 230 - Release Date: 26.10.2002

RX pre D6/C6

[*] Bene� Jaroslav <JBenes(zv)cpoj(tec)cz> - 5.10.2002 07:57:18

Pro D6 i D7 mam upravene RXLib, zatim nemam cas to vystavit je to asi 1MB soubor.
Jaro B.

-----Original Message-----
From: p.sestak(zv)corag.sk [mailto:p.sestak(zv)corag.sk]
>nevie niekto, kde by som nasiel RXy pre BCBuilder6, pripadne pre D6?

Indikace kontextoveho menu

[*] Bene� Jaroslav <JBenes(zv)cpoj(tec)cz> - 5.10.2002 08:10:31

Tolbar tam neni, menu tam neni, jen listbox (nekdy dva+header), jeden, dva edity a dve az tri tlacitka, proste jednoduchy dialog- a mam jich desitky. A popup menu pro kazdy dialog jine.
Pokud je to na formu, kde je jeste mainmenu, tak tam kopiruji items popupmenu do nejake smysluplne polozky a jde to pak vyvolat z mainmenu, ale na jednoduchych panelech, kde skoro nic neni...
Jaro B.

-----Original Message-----
>From: Petr Vones [mailto:pvones(zv)mbox.vol(tec)cz]
>>From: "Bene� Jaroslav" <JBenes(zv)cpoj(tec)cz>
>> Uzivatel si te malickosti ale hned vsimne a povazuje to za vadu aplikace coz
>> zase vadi mne.
>A ma pravdu, je to vada aplikace ktera zanasi nestandardni a nesmyslne chovani
>do jejiho ovladani. Jinak vsechny funkce z popup menu by mely byt dostupne i
>jinym zpusobem, pomoci klavesovych zkratek a toolbaru.

Predavani binarnich dat pres COM/DCOM

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 5.10.2002 08:25:28

> Odes�latel: Karel Kimes <kkonf(zv)email(tec)cz>
> chtel bych z jedne aplikace do druhe predat blok binarnich dat. Existuje
> sice rada zpusobu, jak to udelat (mapovane soubory, "raw" soubory,
> clipboard), ALE ja to potrebuju predavat na vzdaleny stroj => DCOM (i zde
> existuje rada zpusobu, ALE drzme se ted technologie DCOM, dekuji :) ).

Ja to delam pres typ OLEVariant.
A:=VarArrayCreate(..., varByte)
pak tam na nejakej pointer (pretypovani pres TVarData, myslim) udelam "move" dat a je to.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

inet online

[*] Peter Ondras <peter.ondras(zv)pse.sk> - 5.10.2002 08:28:35

OK predpokladal som, ze pouzivas modem priamo na svojom PC. Takto to
trochu meni situaciu. Sorry.

Peter Ondras
peter.ondras(zv)pse.sk
(+421) 0904 421 925

>: -----Original Message-----
>: From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]
On
>: Behalf Of ing. Jan Fiala
>: Sent: Monday, November 04, 2002 11:38 PM
>: To: delphi-l(zv)clexpert(tec)cz
>: Subject: Re: inet online
>:
>: IP adresu ceho ?
>: Co delat v pripade, ze jsem pripojen na proxy server, ktery pouziva
>: dial-up ?
>: Co kdyz mam pocitac v siti, ktera pouziva TCP/IP a na pocitaci je
>: modem, kterym se pripojuji k internetu ? Kterou IP adresu budes
>: zjistovat ?
>:
>:
>: --
>: ing. Jan Fiala
>: mailto:jan.fiala(zv)iol(tec)cz
>:
>: 4.11.2002 Peter Ondras:
>: > Staci zistit IP adresu. Ak je 127.0.0.1, tak je offline. Ak je
>: akakolvek
>: > ina tak je online. Komponenty na zistenie IP adresy najdes urcite
na
>: > http://www.torry.net. Myslim, ze nejaka by mala byt aj v Delphi,
ale
>: > neviem ktora to je.
----------
Teraz si uz KAZDY moze registrovat svoju domenu .SK
Viac info na: http://www.SlovakNET.sk/predregistracia.asp

Predavani binarnich dat pres COM/DCOM

[*] Richard Kejval <kejval.delphi(zv)centrum(tec)cz> - 5.10.2002 08:33:04

Ahoj,

ja posilam binarni data na DCOM server pres OleVariant.

napr : file

klient:
procedure TClient.DataSQLToServer;
var TempStream:TMemoryStream;
Buffer:PChar; P:Pointer; L:Integer; V:OleVariant;
begin
TempStream:=TMemoryStream.Create;
try
TempStream.LoadFromFile(NejakyFile);
L:=TempStream.Size;
GetMem(Buffer,L);
TempStream.ReadBuffer(Buffer^,L);
finally
TempStream.Free;
end;
V:=VarArrayCreate([0,L-1], varByte);
P:=VarArrayLock(V);
try
Move(Buffer^,P^,L);
finally
VarArrayUnLock(V);
end;
Server.DataSQL:=V;
end;
end;

Server:
IServer = interface(IDispatch)
['{ED442BBB-873E-42B5-B396-746216DB23CA}']
function Get_DataSQL: OleVariant; safecall;
procedure Set_DataSQL(Value: OleVariant); safecall;
property DataSQL: OleVariant read Get_DataSQL write Set_DataSQL;
....
end;

procedure TServer.Set_DataSQL(Value: OleVariant);
var P:Pointer; L:integer; Buffer:PChar;
TempStream:TMemoryStream;
begin
L:=VarArrayHighBound(Value,1)-VarArrayLowBound(Value,1)+1;
GetMem(Buffer,L);
P:=VarArrayLock(Value);
try
Move(P^,Buffer^,L);
finally
VarArrayUnLock(Value);
end;
TempStream:=TMemoryStream.Create;
try
TempStream.WriteBuffer(Buffer^,L);
finally
TempStream.Free;
end;
end;

Je to jen takovy nastin, takze doufam, ze je to z toho pochopitelne.
Pro ziskani dat ze serveru obdobne.

S pozdravem
ing. Richard Kejval
IC Software s.r.o

> ahoj,
> chtel bych z jedne aplikace do druhe predat blok binarnich dat. Existuje
> sice rada zpusobu, jak to udelat (mapovane soubory, "raw" soubory,
> clipboard), ALE ja to potrebuju predavat na vzdaleny stroj => DCOM (i zde
> existuje rada zpusobu, ALE drzme se ted technologie DCOM, dekuji :) ).
>
> Videl bych to asi takhle:
> 1) klient - vytvorit objekt implementujici napr. IStream
> 2) klient - naplnit IStream
> 3) klient - poslat IStream jako parametr v nejake metode, napr.
> SetData(Stream) do COM objektu. ( procedure SetData(Stream : IStream); )
> 4) COM objekt - v COM objektu pracovat s daty (ulozit do DB, atd.)
> (implementace SetData obdrzi v promene Stream ukazatel na IStream, je to
tak?)
>
> Co vy na to? (trocha kodu by taky neskodila)
>
> dik
>
> kchodl
>
>
>

jak poznat spusteni IB serveru

[*] cz574068(zv)tiscali(tec)cz - 5.10.2002 08:34:12

Dobry den..

Netusi prosim nekdo, jak vyresit tyto problemy ?

- jak lze v programu poznat, ze je spusteny IB server, pripadne jak ho
nastartovat a zastavit..
- mam-li sit se serverem a peti clienty, mohou nejak cilene ti klienti
testovat zda se na serveru nezastavil DB server..

Dekuji za kazdy TIP-TRIK.. Martin

(win 2000, FireBird, Delphi 6)
___________________________________________________________
http://sms.tiscali(tec)cz ...LOGA a MELODIE na mobil!
Nyn� NOV� i pro mobiln� telefony SIEMENS!

Dotaz na vyuziti frame

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 5.10.2002 08:39:11

> Odes�latel: Petr Varga <djvar(zv)post(tec)cz>
> chtel jsem se zeptat, jestli nekdo z vas nema nejake zkusenosti s
> frame v delphi.. Bylo mi to doporuceno, ale nejak nechapu k cemu je
> to dobre. Takze kdyby nekdo mel s tim zkusenosti tak napiste..

Dedicnost formularu je od Delphi 2.
Je to bezva. Hierarchicka objektova struktura oddedenych formularu usetri mnoho kodu, problemy lze resit na jedinem (zpravidla tom nejobecnejsim) miste. Nove formulare dedenim dostavaji specifickou funkcnost, ale mnoho funkcnosti uz neni treba resit, je "inherited:, tedy oddedena.

Jenze formular je "moc velkej". Muze na nem byt spousta nesourode funkcnosti. Proc si neudelat hierarchickou objektovou strukturu treba pro takovej "miniformular" treba pro vyplnovani adresy. Bude tam treba ulice, misto, PSC, napojeni na ciselnik PSC, nejake hlidani prvniho velkeho pismena atd. Jestlize chci pridat treba email (s moznosti odeslat postu), prece to nebudu psat znova (nebo kopirovat). Staci oddedit a mam to.

Prave Frames jsou takoveto "miniformulare" (od Delphi 5).

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

Zmena systemoveho fontu

[*] Kr�l Jirka <admin(zv)printo(tec)cz> - 5.10.2002 09:21:46

Ahoj, potreboval bych po dobu behu me app zmenit pro cele Wokna systemovy font. Je na to nejake API?

dik J.

Pozor na Profibanku

[*] Jaroslav Nadhera <nadhera(zv)csh(tec)cz> - 5.10.2002 09:27:04

> Nie je to vobec nijaky problem,
> staci nainstalovat dalsiu instanciu MSDE (umoznuje prevadzkovat az 16
> instancii na jednom PC)
> a vsetko bude fungovat.
> Presny popis ako to urobit je v developer edition MSSQL2000.

Ovsem oni to provozuji i na SQL 7.0, kde to nejde.

Jaroslav Nadhera

CSH spol. s r.o.
Velflikova 10, 160 00 Praha 6
tel.: 224 312 344-5
fax: 235 522 892
e-mail: nadhera(zv)csh(tec)cz WWW: http://www.csh(tec)cz
pobocka Ostrava:
Nedbalova 14, 701 00 Ostrava
tel: 596 635 687

None

[*] Tom� Janta��������{����Y��̿ - 5.10.2002 09:33:32

Ahoj,

rad bych pro zobrazeni dat pouzil TWebBrowser resp. IE. Idea je takova, ze
bych na formulari mel okno IE a do nej bych dynamicky generoval data, tj.
kazdou vterinu bych pripsal par znaku. Nechci to ovsem delat pomoci souboru,
ale rad bych data updatoval prez nejake rozhrani Document. Neco jako v
JavaScriptu Document.write('<B>xxx</B>')....

nevite nekdo jakym zpusobem se lze z Delphi dostat na dokument

Tomas Jantac

ps. a jak treba vysledny dokument ulozit

Pozor na Profibanku

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


----- Original Message -----
From: "Petr Zahradnik" <clexpert(zv)clexpert(tec)cz>

> > ...
> > Jak se vsak branit takovym agresivnim instalacim?
>
> To jsou teda drsnaci, to je sila... Tak pak bud se toho zbavit nebo
> odposlechnout to heslo, kdyz se bude logovat, jestli se bude logovat,
> bude-li to po siti...
>
> S pozdravem
> Petr Zahradnik, pocitacovy expert


K tomu odposlechnuti hesla. Shodou okolnosti sel dnes tento mail na
BugTraq-u:=================================================
Advisory: Weak Password Encryption Scheme (Modified) in MS SQL Server
Software: SQL Server, All Versions
Severity: Low
Vendor: Microsoft, http://www.microsoft.com
Type of Vulnerability: Weak Password Encryption
Author: K. K. Mookhey (cto(zv)nii.co.in)
Company: Network Intelligence India Pvt. Ltd. http://www.nii.co.in
Date: 2nd November 2002

Original Discovery: David Litchfield http://www.nextgenss.com
Original Paper: http://www.nextgenss.com/papers/tp-SQL2000.pdf
=================================================


Description:
=========
MS SQL Server has two means of authenticating users. One uses Windows
Authentication, and the other is the built-in SQL Authentication (which
includes the 'sa' account). The passwords for the SQL Authentication are
sent over the network using a very weak password encryption method. This was
first mentioned in David Litchfield's paper "Threat Profiling Microsoft SQL
Server".

Details:
======
In his paper, Mr. Litchfield states that the password is encrypted by
first converting it into UNICODE and then performing a simple XOR operation.
I quote directly from there:

"Network Sniffing
When a user connects to an SQL Server and authenticates as an SQL login, as
opposed to a Windows NT/2000 user, their login name and password are sent
across the network wire in what is tantamount to clear text. The
'encryption' scheme used to hide the password is a simple bitwise XOR
operation. The password is converted to a wide character format, or UNICODE,
and each byte XOR'd with a constant fixed value of 0xA5. Of course, this is
easy to work out because every second byte of the 'encrypted' password on
the wire 0xA5 and we know that the password is in UNICODE with every second
byte being a NULL and when any number is XOR'd with 0 (or NULL) the result
is the same: 0x41 xor 0x00 = 0x41, 0xA5 xor 0x00 = 0xA5."

However, there is a slight inaccuracy in this description which we detail
below. We have determined that the actual XORing method involves an
additional step.
Step 1: Password is converted into UNICODE
Additional Step 2: For each byte of the password, the four Most Significant
Bits (MSB)
are swapped with the four Least Significant Bits (LSB)
Step 3. This modified byte is then XORed with 0xA5.

In the case of the alternating UNICODE 0x00, swapping the 4 MSB with the 4
LSB does
not make a difference. But for the rest of the bytes, it does.


Vendor Response:
=============
We did not contact the vendor, Microsoft as this is not exactly something
new. However, we did contact Mr. Litchfield informing him about the slight
modification to his original statement in his whitepaper. We did not receive
any response from him.


Suggested Workarounds:
==================
There is nothing new to be done here, other than that which ought to be done
when hardening an MS SQL Server. Do NOT use the SQL Server Authentication.
This is strongly recommended by Microsoft.


Note:
====
This is more of an FYI Advisory. Just to keep things a bit more accurate.


Other Information:
==============
This advisory is available online at http://www.nii.co.in/vuln/sqlpass.html
We have used this method in our free tool 'forceSQL' which guess SQL Server
Passwords using both Dictionary and Brute Force attacks. This is available
for free download at http://www.nii.co.in/tools.html
You may read our Vulnerability Disclosure Policy at
http://www.nii.co.in/vdp.html
Other advisories are at http://www.nii.co.in/research.html


K. K. Mookhey
CTO,
Network Intelligence India Pvt. Ltd.
Tel: 91-22-2001530, 2006019
Email: cto(zv)nii.co.in
Web: www.nii.co.in


Re[2]: Pozor na Profibanku

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 5.10.2002 10:12:06

Hello Petr,

Tuesday, November 5, 2002, 9:36:56 AM, you wrote:


PL> ----- Original Message -----
PL> From: "Petr Zahradnik" <clexpert(zv)clexpert(tec)cz>

>> > ...
>> > Jak se vsak branit takovym agresivnim instalacim?
>>
>> To jsou teda drsnaci, to je sila... Tak pak bud se toho zbavit nebo
>> odposlechnout to heslo, kdyz se bude logovat, jestli se bude logovat,
>> bude-li to po siti...
>>
>> S pozdravem
>> Petr Zahradnik, pocitacovy expert


PL> K tomu odposlechnuti hesla. Shodou okolnosti sel dnes tento mail na
PL> BugTraq-u:


PL> =================================================
PL> Advisory: Weak Password Encryption Scheme (Modified) in MS SQL Server
PL> Software: SQL Server, All Versions
PL> Severity: Low
PL> Vendor: Microsoft, http://www.microsoft.com
PL> Type of Vulnerability: Weak Password Encryption
PL> Author: K. K. Mookhey (cto(zv)nii.co.in)
PL> Company: Network Intelligence India Pvt. Ltd. http://www.nii.co.in
PL> Date: 2nd November 2002

PL> Original Discovery: David Litchfield http://www.nextgenss.com
PL> Original Paper: http://www.nextgenss.com/papers/tp-SQL2000.pdf
PL> =================================================


PL> Description:
PL> =========
PL> MS SQL Server has two means of authenticating users. One uses Windows
PL> Authentication, and the other is the built-in SQL Authentication (which
PL> includes the 'sa' account). The passwords for the SQL Authentication are
PL> sent over the network using a very weak password encryption method. This was
PL> first mentioned in David Litchfield's paper "Threat Profiling Microsoft SQL
PL> Server".

PL> Details:
PL> ======
PL> In his paper, Mr. Litchfield states that the password is encrypted by
PL> first converting it into UNICODE and then performing a simple XOR operation.
PL> I quote directly from there:

PL> "Network Sniffing
PL> When a user connects to an SQL Server and authenticates as an SQL login, as
PL> opposed to a Windows NT/2000 user, their login name and password are sent
PL> across the network wire in what is tantamount to clear text. The
PL> 'encryption' scheme used to hide the password is a simple bitwise XOR
PL> operation. The password is converted to a wide character format, or UNICODE,
PL> and each byte XOR'd with a constant fixed value of 0xA5. Of course, this is
PL> easy to work out because every second byte of the 'encrypted' password on
PL> the wire 0xA5 and we know that the password is in UNICODE with every second
PL> byte being a NULL and when any number is XOR'd with 0 (or NULL) the result
PL> is the same: 0x41 xor 0x00 = 0x41, 0xA5 xor 0x00 = 0xA5."

PL> However, there is a slight inaccuracy in this description which we detail
PL> below. We have determined that the actual XORing method involves an
PL> additional step.
PL> Step 1: Password is converted into UNICODE
PL> Additional Step 2: For each byte of the password, the four Most Significant
PL> Bits (MSB)
PL> are swapped with the four Least Significant Bits (LSB)
PL> Step 3. This modified byte is then XORed with 0xA5.

PL> In the case of the alternating UNICODE 0x00, swapping the 4 MSB with the 4
PL> LSB does
PL> not make a difference. But for the rest of the bytes, it does.


PL> Vendor Response:
PL> =============
PL> We did not contact the vendor, Microsoft as this is not exactly something
PL> new. However, we did contact Mr. Litchfield informing him about the slight
PL> modification to his original statement in his whitepaper. We did not receive
PL> any response from him.


PL> Suggested Workarounds:
PL> ==================
PL> There is nothing new to be done here, other than that which ought to be done
PL> when hardening an MS SQL Server. Do NOT use the SQL Server Authentication.
PL> This is strongly recommended by Microsoft.


PL> Note:
PL> ====
PL> This is more of an FYI Advisory. Just to keep things a bit more accurate.


PL> Other Information:
PL> ==============
PL> This advisory is available online at http://www.nii.co.in/vuln/sqlpass.html
PL> We have used this method in our free tool 'forceSQL' which guess SQL Server
PL> Passwords using both Dictionary and Brute Force attacks. This is available
PL> for free download at http://www.nii.co.in/tools.html
PL> You may read our Vulnerability Disclosure Policy at
PL> http://www.nii.co.in/vdp.html
PL> Other advisories are at http://www.nii.co.in/research.html


PL> K. K. Mookhey
PL> CTO,
PL> Network Intelligence India Pvt. Ltd.
PL> Tel: 91-22-2001530, 2006019
PL> Email: cto(zv)nii.co.in
PL> Web: www.nii.co.in


no pokud to bezi na locale tak asi tezko sniffnes nejaky data



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

MP3 a DirectSound

[*] Martin Kozusky <delphi(zv)novalis.dyndns.org> - 5.10.2002 10:16:29

Ahoj,
porad sem nerozchodil prehravani MP3 ve WinXP pomoci DirectShow, tak se
ptam, jestli jdou MP3 nejak prehravat pomoci DirectSound ... ze bych to
skusil - kdyz Winamp funguje
Neumi DirectSound jenom WAV?
Nemate nekdo nejaky jednoduchy priklad?

Diky,
Martin

Detekce Memory leaks v DLL

[*] Petr Langer <langer(zv)xdom(tec)cz> - 5.10.2002 10:33:52

Ahojte,
napsal jsem DLL-ku (D5) jako soucast komplexnejsiho systemu (v C++) a
potreboval bych nejak zjistit, jestli tato moje cast nezpusobuje "memory
leaks". Jsem schopny nejak zevnitr monitorovat resources ktere mi zabrala
moje DLL? Nepouzivam totiz jenom svoje komponenty, takze zkontrolovat
dukladne vsechny zdrojaky se sice da, ale byla by to prace na dyl. Jakekoliv
tipy vitany.

Diky
Petr Langer


Predavani binarnich dat pres COM/DCOM

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 5.10.2002 10:39:47

----- Original Message -----
From: "Karel Kimes" <kkonf(zv)email(tec)cz>
> chtel bych z jedne aplikace do druhe predat blok binarnich dat. Existuje
> sice rada zpusobu, jak to udelat (mapovane soubory, "raw" soubory,
> clipboard), ALE ja to potrebuju predavat na vzdaleny stroj => DCOM (i zde
> existuje rada zpusobu, ALE drzme se ted technologie DCOM, dekuji :) ).

Predavej do metod promennou typu Variant - pole bytu.
To je jediny OLEAutomation kompatibilni typ kterym lze posilat
binarni data s malym overheadem. Prenasi se pak pouze tolik
bytu jako je bytu v poli + 16 bytu navic. Kazdy jine pole ve
Variantu ma o hodne vetsi "spotrebu".

Viz VarArrayCreate pro vytvoreni, VarArrayLock a
VarArrayUnlock pro naplneni z pameti.

Martin Schayna

"komponenta" pre prehladnejsie zobrazenie formular

[*] Robert Poncak <delphi(zv)zvlauto.sk> - 5.10.2002 10:49:51

Zdravim,
Moj problem spociva v tom ze v projekte mam kopec formularov a potreboval by
som ich nejako dat do nejakych podksupin aby to bolo prehladnejsie. Uz mam v
tom maly zmatok.. :(
Nepozna niekto nieco, co by mi pomohla?
Diky

RX pre D6/C6

[*] Peter SKODA <peter(zv)korak.sk> - 5.10.2002 10:50:50

Rx lib sa da stiahnut na adrese http://delphi.icm.edu.pl/ cez sekciu Search
US.


----- Original Message -----
From: <p.sestak(zv)corag.sk>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Monday, November 04, 2002 7:55 PM
Subject: RX pre D6/C6


> Zdravim,
> nevie niekto, kde by som nasiel RXy pre BCBuilder6, pripadne pre D6?
> Palo

RX pre D6/C6

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 5.10.2002 12:20:19

Hello Petr,

Tuesday, November 5, 2002, 9:36:56 AM, you wrote:


PL> ----- Original Message -----
PL> From: "Petr Zahradnik" <clexpert(zv)clexpert(tec)cz>

>> > ...
>> > Jak se vsak branit takovym agresivnim instalacim?
>>
>> To jsou teda drsnaci, to je sila... Tak pak bud se toho zbavit nebo
>> odposlechnout to heslo, kdyz se bude logovat, jestli se bude logovat,
>> bude-li to po siti...
>>
>> S pozdravem
>> Petr Zahradnik, pocitacovy expert


PL> K tomu odposlechnuti hesla. Shodou okolnosti sel dnes tento mail na
PL> BugTraq-u:

No pokud to bezi na lokalni masine a aplikace se pripojuje na lolani
SQL tak asi nic neodposlechnes (nesniffnes)


Milan

Pozor na Profibanku

[*] Matavovsky Peter <matavovsky(zv)vse.sk> - 5.10.2002 11:20:51 -0000

Aj tak to nie je problem len treba pouzivat v svojej aplikacii MSDE z
SQL2k,
ten dokaze bez problemov fungovat spolu s MSDE z SQL 7

> Nie je to vobec nijaky problem,
> staci nainstalovat dalsiu instanciu MSDE (umoznuje prevadzkovat az 16
> instancii na jednom PC)
> a vsetko bude fungovat.
> Presny popis ako to urobit je v developer edition MSSQL2000.

>Ovsem oni to provozuji i na SQL 7.0, kde to nejde.

Jaroslav Nadhera

CSH spol. s r.o.
Velflikova 10, 160 00 Praha 6
tel.: 224 312 344-5
fax: 235 522 892
e-mail: nadhera(zv)csh(tec)cz WWW: http://www.csh(tec)cz
pobocka Ostrava:
Nedbalova 14, 701 00 Ostrava
tel: 596 635 687

---
Prich�dzaj�ca spr�va neobsahuje v�rusy.
Skontrolovan� antiv�rusov�m syst�mom AVG (http://www.grisoft(tec)cz).
Verzia: 6.0.408 / V�rusov� datab�za: 230 - d�tum vydania: 24/10/2002

FB a ISO8859-2

[*] Pavel Cisar <pcisar(zv)users.sourceforge(tec)net> - 5.10.2002 12:25:40

Haj hou!

On 5 Nov 2002 at 7:28, Lebeda David wrote:

> jelikoz na muj predchozi dotaz nikdo nereagoval, zkusim neco
> trosku jineho. Zalozil jsem tabulku se sloupcem v char set
> ISO8859_2. Jenze order by podle takoveho sloupce je na nic, jelikoz
> pismena s diakritikou jsou zarazena az nakonec. Nepodarilo se mi
> ale zjistit, jake tento charset podporuje collation.

Mozna te to prekvapi, ale zcela standardni CS_CZ :-)

> Jak mam docilit toho, aby sloupec serazeny pomoci order by byl
> serazen spravne cesky? Kombinace WIN1250 a PXW_CSY nedela
> rozdil mezi n bez hacku a n s hackem a podobne. Existuje zpusob,
> jak FB primet k tomu, aby porovnavala spravne, tj. podle Windows
> Locale?

Kde beres jistotu, ze spravne je prave to Windows locale ? Pokud jsi
ovsem schopen dolozit ze trideni dle PXW_CSY NENI podle *ceske normy*,
pak je to vskutku chyba a je treba ji opravit. Zdroje jsou k dipozici,
muzes zacit :)

> Neexistuje neco od treti strany, co by problem resilo? VIm,
> ze kdysi tu nekdo resil problem s CH a povedlo se.

No, povedlo se proto, ze je to ve FB opravene.

S pozdravem
Pavel Cisar
Mobil: 724 281429
http://www.ibphoenix(tec)cz
Vse co potrebujete pro Firebird a InterBase

jak poznat spusteni IB serveru

[*] Pavel Cisar <pcisar(zv)users.sourceforge(tec)net> - 5.10.2002 12:25:40

Haj hou!

On 5 Nov 2002 at 8:34, cz574068(zv)tiscali(tec)cz wrote:

> - jak lze v programu poznat, ze je spusteny IB server, pripadne jak ho
> nastartovat a zastavit..

Lokalne na Windows ? Staci hledat okno (kazdy win program ma okno, i kdyz
treba skryte) serveru. Tusim ze se jmenuje ibserver, ale presne to z
hlavy nevim. Na www.ibphoenix.com by mela byt v dokumentaci InterBase
Embedded Instalation Guide (sice pro verzi 5.x, ale to nevadi), kde je
popsano jak testovat pritomnost instalace i beziciho serveru.

FB 1.0 se v tomto chova stejne jako IB. Novy FB 1.5 ma zmenene nazvy
souboru, oken atd., takze je treba si to omrknout ve zdrojich nebo
nejakym spionem na okna we widlich.

Spousteni a zastavovani ve windlich je rovnez jednoduche. Spousti se
spustenim ibserver.exe nebo ibguard.exe. Zastavuje se zaslanim zpravy
tusim ze WM_QUIT oknu serveru (s ibguard je to trochu jinak, ted si
nevybavuji).

Nejlepsi je ovsem provozovat FB na W2000 jako service, pak tenhle problem
odpada.

> - mam-li sit se serverem a peti clienty, mohou nejak cilene ti klienti
> testovat zda se na serveru nezastavil DB server..

Jo, nejlepe pokusem navazat spojeni :-) Mozna by se dal udelat i TCP/IP
test pomoci INDY ktery by testoval spojeni na portu 3050 a zda vraci
nejakou odpoved.

S pozdravem
Pavel Cisar
Mobil: 724 281429
http://www.ibphoenix(tec)cz
Vse co potrebujete pro Firebird a InterBase

Multicast v Synapse

[*] Alexandr Stefek <alex(zv)scova.vabo(tec)cz> - 5.10.2002 12:30:22



Panove, (a damy)

nevite nekdo, jak presne postupovat, pokud chci vyuzit moznosti broadcastu,
pripadne multicastu u UDP protokolu. Potreboval bych to rozchodit v ramci
Synapse. Vim o metodach, ktere k tomu slouzi, nedari se mi to rozchodit,
maly priklad nebo odkaz by pomohl.

Diky

Alexandr STEFEK

RX pre D6/C6

[*] ViragI(zv)logica(tec)com - 5.10.2002 12:40:36

napriklad na:

http://sourceforge.net/projects/rxlib/

ivan virag



-----Original Message-----
From: p.sestak(zv)corag.sk [mailto:p.sestak(zv)corag.sk]
Sent: Monday, November 04, 2002 7:55 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: RX pre D6/C6


Zdravim,
nevie niekto, kde by som nasiel RXy pre BCBuilder6, pripadne pre D6?
Palo

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

BDE kontra Win XP

[*] Karel Horky <horky.karel(zv)quick(tec)cz> - 5.10.2002 13:20:23

Milan Dvorak, <mailto:bert.dvorak(zv)worldonline(tec)cz> napsal:
> nase "stare" aplikace mame delany v Paradoxu s vyuzitim BDE. Nyni se nam
> ozvali jiz dva uziavtele, ze po preinstalaci na Win XP jim nejsou soucasne
> spustit dve aplikace, ktere BDE pouzivaji. Protoze XP nemame, ptam se na
> vase zkusenosti, pripadne nevite-li, jak tento problem odstranit.
> Nemoznost provozovat dve aplikace se konkretne projevi tak, ze pri pokusu o
> spusteni druhe se objevi "klasicka" hlaska, ze se neda inisializovat BDE.

Take by me to zajimalo, protoze mam stejny problem inicializace BDE, i
kdyz ne pro Paradox, ale pro MS SQL2000.
Mam aplikace A a B, ktere obe pristupuji na SQLserver.
Kdyz spustim aplikaci A drive nez aplikaci B, vse funguje OK.
Kdyz spustim nejdrive aplikaci B, havaruje inicializace BDE pro
aplikaci A a ta se nespusti. Chybovy kod je error $2501, coz znaci
nedostatek pameti. Ovsem na stejnem stroji jsem mel predtim W2000 a
vse bylo OK.
Pocitac Notebook Celeron 800 MHz, 256 MB RAM, 10 MB HD.

------
S pozdravem Karel Horky
horky.karel(zv)quick(tec)cz
WXP, D5Ent/UP1

Multicast v Synapse

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 05.10.2002 13:40:22

> nevite nekdo, jak presne postupovat, pokud chci vyuzit moznosti
> broadcastu,
> pripadne multicastu u UDP protokolu. Potreboval bych to rozchodit v
> ramci Synapse. Vim o metodach, ktere k tomu slouzi, nedari se mi to
> rozchodit, maly priklad nebo odkaz by pomohl.

No, maly prikladek na Multicasty najdes na mem webu v artiklech:
http://www.ararat(tec)cz/synapse/docs/articles.htm

Broadcasty jsou snadne.. chces-li je posilat, musis nejprve zavolat
enablebroadcast.. a pak posilat UDP packety na broadcastovu asdresu
255.255.255.255 ;-)

-- Lukas Gebauer.

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

jak poznat spusteni IB serveru

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 5.10.2002 14:03:17

> - jak lze v programu poznat, ze je spusteny IB server,
> pripadne jak ho
> nastartovat a zastavit..

To, ze bezi, rozoznas tak, ze existuje okno s nazvom triedy 'IB_Server',
alebo ak bezi na NT ako service, pomocou service API. Nastartovat ho mozes
bud spustenim ibguard.exe ako aplikaciu, alebo na NT spustenim service s
nazvom 'InterBaseGuardian'. Zastavit ho mozes poslanim WM_CLOSE oknam
'IB_Guard' a 'IB_Server' (v tomto poradi), alebo ak bezi na NT ako service,
potom opet pomocou service API.
Po spusteni alebo stopnuti service treba par sekund pockat, service manageru
to chvilu trva, kym to vykona.

Napisal som si na to nasledovny kod, nie je ale asi celkom dokladne
otestovany (ale zbezne testy sa zdali byt OK, ak si spravne spominam, skusal
som to na Windows 98 a 2000 Professional):

unit IBServerUtils;

interface

const
IB5RegKey = '\Software\InterBase Corp\InterBase\CurrentVersion';
IB6RegKey = '\Software\Borland\Interbase\CurrentVersion';
IBGuardExeName = 'ibguard.exe';
IBGuardWindowClass = 'IB_Guard';
IBServerWindowClass = 'IB_Server';
IBGuardServiceName = 'InterBaseGuardian';

resourcestring
SCannotStartIB = 'Cannot start InterBase';

function GetIBRootDirectory: string;
function GetIBServerDirectory: string;
function GetInstalledIBVersion: Integer;
function IsIBRunning: Boolean;
procedure StartIB(StartAsService: Boolean = True);
procedure StopIB;

implementation

uses
SysUtils, Windows, Messages, WinSvc, Registry, ShellApi;

{$WARN SYMBOL_PLATFORM OFF}

function GetIBRootDirectory: string;
var
IBRegKey: string;
Reg: TRegistry;
begin
Result := '';
case GetInstalledIBVersion of
5:
IBRegKey := IB5RegKey;
6:
IBRegKey := IB6RegKey;
else
Exit;
end;
Reg := TRegistry.Create(KEY_READ);
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey(IBRegKey, False) then
Result := Reg.ReadString('RootDirectory');
finally
Reg.Free;
end;
end;

function GetIBServerDirectory: string;
var
IBRegKey: string;
Reg: TRegistry;
begin
Result := '';
case GetInstalledIBVersion of
5:
IBRegKey := IB5RegKey;
6:
IBRegKey := IB6RegKey;
else
Exit;
end;
Reg := TRegistry.Create(KEY_READ);
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey(IBRegKey, False) then
Result := Reg.ReadString('ServerDirectory');
finally
Reg.Free;
end;
end;

function GetInstalledIBVersion: Integer;
var
Reg: TRegistry;
VersionString: string;
I: Integer;
begin
Result := 0;
Reg := TRegistry.Create(KEY_READ);
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey(IB5RegKey, False) or Reg.OpenKey(IB6RegKey, False) then
VersionString := Reg.ReadString('Version')
else
VersionString := '';
if StrLIComp(PChar(VersionString), 'WI-V', 4) = 0 then
begin
I := 5;
while (I <= Length(VersionString)) and (VersionString[I] in
['0'..'9']) do
begin
Result := 10 * Result + (Ord(VersionString[I]) - Ord('0'));
Inc(I);
end;
end;
finally
Reg.Free;
end;
end;

function FindIBGuardWindow(hwnd: HWND; lParam: PLongword): BOOL; stdcall;
var
Buf: array[0..30] of Char;
begin
FillChar(Buf, SizeOf(Buf), 0);
Windows.GetClassName(hwnd, Buf, SizeOf(Buf) - 1);
Result := StrLIComp(Buf, IBGuardWindowClass, Length(IBGuardWindowClass))
<> 0;
if not Result then
lParam^ := hwnd;
end;

function FindIBServerWindow(hwnd: HWND; lParam: PLongWord): BOOL; stdcall;
var
Buf: array[0..30] of Char;
begin
FillChar(Buf, SizeOf(Buf), 0);
Windows.GetClassName(hwnd, Buf, SizeOf(Buf) - 1);
Result := StrLIComp(Buf, IBServerWindowClass, Length(IBGuardWindowClass))
<> 0;
if not Result then
lParam^ := hwnd;
end;

function IsIBRunning: Boolean;
var
SCManager, IBGuardService: SC_HANDLE;
ServiceStatus: TServiceStatus;
IBServerWnd: HWND;
begin
Result := False;
case Win32Platform of
VER_PLATFORM_WIN32_WINDOWS:
begin
IBServerWnd := 0;
EnumWindows((zv)FindIBServerWindow, Integer((zv)IBServerWnd));
Result := IBServerWnd <> 0;
end;
VER_PLATFORM_WIN32_NT:
begin
SCManager := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
if SCManager = 0 then
RaiseLastOSError;
try
IBGuardService := OpenService(SCManager, IBGuardServiceName,
SERVICE_QUERY_STATUS);
if IBGuardService <> 0 then
begin
try
FillChar(ServiceStatus, SizeOf(TServiceStatus), 0);
Win32Check(QueryServiceStatus(IBGuardService, ServiceStatus));
Result := ServiceStatus.dwCurrentState in [SERVICE_RUNNING,
SERVICE_STOP_PENDING];
finally
CloseServiceHandle(IBGuardService);
end;
end;
if not Result then // can still run as an application
begin
IBServerWnd := 0;
EnumWindows((zv)FindIBServerWindow, Integer((zv)IBServerWnd));
Result := IBServerWnd <> 0;
end;
finally
CloseServiceHandle(SCManager);
end;
end;
end;
end;

function StartService(hService: SC_HANDLE; dwNumServiceArgs: DWORD;
lpServiceArgVectors: PPChar): BOOL; stdcall;
external advapi32 name 'StartServiceA';

procedure StartIB(StartAsService: Boolean = True);
var
IBServerDir: string;
ShellExResult: Integer;
SCManager, IBGuardService: SC_HANDLE;
begin
case Win32Platform of
VER_PLATFORM_WIN32_WINDOWS: // ignore StartAsService
begin
IBServerDir := IncludeTrailingPathDelimiter(GetIBServerDirectory);
ShellExResult := ShellExecute(0, 'open', PChar(IBServerDir +
IBGuardExeName), nil, PChar(IBServerDir),
SW_SHOWNORMAL);
if ShellExResult <= 32 then
raise Exception.Create(SCannotStartIB);
end;
VER_PLATFORM_WIN32_NT:
if StartAsService then
begin
SCManager := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
if SCManager = 0 then
RaiseLastOSError;
try
IBGuardService := OpenService(SCManager, IBGuardServiceName,
SERVICE_START);
if IBGuardService = 0 then // service not installed?
RaiseLastOSError;
try
Win32Check(StartService(IBGuardService, 0, nil));
finally
CloseServiceHandle(IBGuardService);
end;
finally
CloseServiceHandle(SCManager);
end;
end
else
begin
IBServerDir := IncludeTrailingPathDelimiter(GetIBServerDirectory);
ShellExResult := ShellExecute(0, 'open', PChar(IBServerDir +
IBGuardExeName), nil, PChar(IBServerDir),
SW_SHOWNORMAL);
if ShellExResult <= 32 then
raise Exception.Create(SCannotStartIB);
end;
end;
end;

procedure StopIB;
var
IBGuardWnd, IBServerWnd: HWND;
SCManager, IBGuardService: SC_HANDLE;
IBServiceStatus: TServiceStatus;
begin
case Win32Platform of
VER_PLATFORM_WIN32_WINDOWS:
begin
IBGuardWnd := 0;
EnumWindows((zv)FindIBGuardWindow, Integer((zv)IBGuardWnd));
if IBGuardWnd <> 0 then
SendMessage(IBGuardWnd, WM_CLOSE, 0, 0);
IBServerWnd := 0;
EnumWindows((zv)FindIBServerWindow, Integer((zv)IBServerWnd));
if IBServerWnd <> 0 then
SendMessage(IBServerWnd, WM_CLOSE, 0, 0);
end;
VER_PLATFORM_WIN32_NT:
begin
SCManager := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
if SCManager = 0 then
RaiseLastOSError;
try
IBGuardService := OpenService(SCManager, IBGuardServiceName,
SERVICE_STOP);
if IBGuardService = 0 then // service not installed? perhaps
running as application?
begin
IBGuardWnd := 0;
EnumWindows((zv)FindIBGuardWindow, Integer((zv)IBGuardWnd));
if IBGuardWnd <> 0 then
SendMessage(IBGuardWnd, WM_CLOSE, 0, 0);
IBServerWnd := 0;
EnumWindows((zv)FindIBServerWindow, Integer((zv)IBServerWnd));
if IBServerWnd <> 0 then
SendMessage(IBServerWnd, WM_CLOSE, 0, 0);
end
else
begin
try
FillChar(IBServiceStatus, SizeOf(TServiceStatus), 0);
Win32Check(ControlService(IBGuardService,
SERVICE_CONTROL_STOP, IBServiceStatus));
finally
CloseServiceHandle(IBGuardService);
end;
end;
finally
CloseServiceHandle(SCManager);
end;
end;
end;
end;

end.

> - mam-li sit se serverem a peti clienty, mohou nejak cilene
> ti klienti
> testovat zda se na serveru nezastavil DB server..

Mal by si dostat vynimku na klientovi, ked sa pokusis o nejaku akciu, ktora
vyzaduje aktivne spojenie so servrom.

HTH
TOndrej

trunc

[*] Peter Surovy <psurovy(zv)uevora.pt> - 5.10.2002 13:19:37 -0000

No odpoviem si sam mozno sa to niekomu hodi:

----- Original Message -----
From: "Peter Surovy" <psurovy(zv)uevora.pt>
Sent: Monday, November 04, 2002 6:15 PM


> Fields[29].AsInteger:=trunc(it[i].ptnr/1000);
> --mi hlasi Invalid Floating Point operation
> ked tento riadok vypnem dostanem tu istu hlasku na riadku:
> while trunc(it[i].ptnr/1000)=start do begin

> ze to pada vo vnutri trunc a to sa mi nejako nezda,
---padalo to predsa len vo vnutri trunc neviem preco snad pre to
ze ten kod vyzeral cely takto :

while trunc(it[i].ptnr/1000)=start do begin
....
Fields[29].AsInteger:=trunc(it[i].ptnr/1000);
inc(i);
end; //while

teda ten trunc sa volal prakticky dvakrat po sebe
prepisal som to na:

truncated_plot:=trunc(it[i].ptnr/1000);

a potom pracujem len s touto premennou a
fuguje to aj ked tomu moc nerozumiem...

PS

(aneb sniff)

[*] Petr Langer <langer(zv)xdom(tec)cz> - 5.10.2002 14:24:37

> No pokud to bezi na lokalni masine a aplikace se pripojuje na lolani
> SQL tak asi nic neodposlechnes (nesniffnes)
>
> Milan
>

Pokud to jde pres pipe tak ne, ale pokud to jde pres TCP/IP, tak proc by to
nemelo jit sniffovat?
Pokud mam sitovku v promiskuitnim modu, jakoze abych neco dostal tak v nem
byt musi, tak by to snad melo jit a nemelo by zalezet na tom, ze ten kdo
vysila i prijima je na stejne IP, nebo ne?

Petr


Balicky a rebuild

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 5.10.2002 14:47:25

Ahoj,

zacal jsem si hrat s dynamicky nahravanym balickem, v options ma nastaveno
"rebuild as needed". Presto je nutne po kazde zmene vzdy rucne balicek
otevrit, prekompilovat, zavrit, aby se v aplikaci zmeny projevily. Je to
tak spravne? Je to mozne nejak obejit? Diky za kazdou radu,

Martin Burle

Balicky a rebuild

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 5.10.2002 14:49:04

> zacal jsem si hrat s dynamicky nahravanym balickem, v options
> ma nastaveno "rebuild as needed". Presto je nutne po kazde
> zmene vzdy rucne balicek otevrit, prekompilovat, zavrit, aby se
> v aplikaci zmeny projevily. Je to tak spravne?

Podla mna je to spravne. Podmienku "needed" splnaju staticky linkovane
balicky pouzite v projekte.
Kompilator nemoze vediet, ake balicky sa chystas v runtime natahovat do
procesu.

> Je to mozne nejak obejit? Diky za kazdou radu,

Pridaj si tie balicky do project group a mozes pouzit Compile all/Build All.

HTH
TOndrej

(aneb sniff)

[*] Sula Milos <milos.sula(zv)oku-su(tec)cz> - 5.10.2002 14:59:05

no localhost (127.0.0.1) pokud vim sniffovat opravdu nejde pod windows nebo se pletu ?

s pozdravem
Milos

-----Original Message-----
From: Petr Langer [mailto:langer(zv)xdom(tec)cz]
Sent: Tuesday, November 05, 2002 2:25 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: (aneb sniff)> No pokud to bezi na lokalni masine a aplikace se pripojuje na lolani
> SQL tak asi nic neodposlechnes (nesniffnes)
>
> Milan
>

Pokud to jde pres pipe tak ne, ale pokud to jde pres TCP/IP, tak proc by to nemelo jit sniffovat? Pokud mam sitovku v promiskuitnim modu, jakoze abych neco dostal tak v nem byt musi, tak by to snad melo jit a nemelo by zalezet na tom, ze ten kdo vysila i prijima je na stejne IP, nebo ne?

Petr


Re[2]: Pozor na Profibanku aneb sniffer

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 5.10.2002 15:01:39

Hello Petr,

Tuesday, November 5, 2002, 2:24:37 PM, you wrote:

>> No pokud to bezi na lokalni masine a aplikace se pripojuje na lolani
>> SQL tak asi nic neodposlechnes (nesniffnes)
>>
>>
>> Milan
>>

PL> Pokud to jde pres pipe tak ne, ale pokud to jde pres TCP/IP, tak proc by to
PL> nemelo jit sniffovat?
PL> Pokud mam sitovku v promiskuitnim modu, jakoze abych neco dostal tak v nem
PL> byt musi, tak by to snad melo jit a nemelo by zalezet na tom, ze ten kdo
PL> vysila i prijima je na stejne IP, nebo ne?

No ja nevim ale zapnul jsem si sniffer CommView a spustil jsem si
scanning 127.0.0.1 ? a nic nezachitil. Tak teda nevim

PL> Petr



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

Balicky a rebuild

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 5.10.2002 15:02:17

> Ahoj,
>
> zacal jsem si hrat s dynamicky nahravanym balickem, v options ma nastaveno
> "rebuild as needed". Presto je nutne po kazde zmene vzdy rucne balicek
> otevrit, prekompilovat, zavrit, aby se v aplikaci zmeny projevily. Je to
> tak spravne? Je to mozne nejak obejit? Diky za kazdou radu,

Pri zmene ceho? Pokud v balicku neco zmenis, tak ho musis prekompilovat.
Pokud zmenis nekde neco mimo balicek, tak nevidim duvod, proc bys ho mel
kompilovat.
Pri "rebuild as needed" by balicek mel byt nekde v required sekci, aby mohl
byt podle potreby kompilovan.

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

FB a ISO8859-2

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 05.10.2002 15:07:39

> > Jak mam docilit toho, aby sloupec serazeny pomoci order by byl
> > serazen spravne cesky? Kombinace WIN1250 a PXW_CSY nedela rozdil
> > mezi n bez hacku a n s hackem a podobne. Existuje zpusob, jak FB
> > primet k tomu, aby porovnavala spravne, tj. podle Windows Locale?
>
> Kde beres jistotu, ze spravne je prave to Windows locale ? Pokud jsi
> ovsem schopen dolozit ze trideni dle PXW_CSY NENI podle *ceske normy*,
> pak je to vskutku chyba a je treba ji opravit. Zdroje jsou k dipozici,
> muzes zacit :)

Ahoj,

neznam podrobnosti z normy ceskeho trideni, takze je mozne, ze trideni PXW_CSY
nejake norme vyhovuje. Na druhou stranu je fakt, ze trideni podle PXW_CSY a podle
ceskeho Windows locale se proste lisi. Mne je celkem jedno, jestli nakonec bude
trideni takove nebo makove, ale potrebuji ho stejne. O co jde:

Ve vybranem sloupci provadim hledani metodou puleni intervalu. Nezbytnou
podminkou je, ze mnozina je setridena (v danem pripade treba vzestupne). To mi
zajistuje order by. K porovnavani ovsem pouzivam AnsiCompareText a "ten ma
obcas jiny nazor nez order by", takze nakonec se vyhleda nejaky nesmysl. A to se
deje prave v takovych tech potizistickych pripadech, kdy jde o diakritiku apod.

Specialne bych pochopil, ze neni rozdil mezi dlouhym A a kratkym A. Ale rozdil mezi
N bez hacku a N s hackem uz IMHO je, ale ne ve FB. Vi nekdo, co rika norma?

Anebo: jak si mohu napsat dostatecne efektivni funkci na porovnani dvou retezcu
tak, aby to nebylo v rozporu s PXW_CSY?

> > Neexistuje neco od treti strany, co by problem resilo? VIm,
> > ze kdysi tu nekdo resil problem s CH a povedlo se.
>
> No, povedlo se proto, ze je to ve FB opravene.

Pokud si vzpominam, tak tu pred casem Karel Brichnac cosi nabizel ke stazeni...
zkusim to najit v archivu...

Tak jsem to nasel:

http://web.redbox(tec)cz/brichna/ib_trid_ch.html


Je to knihovna gdsintl.

Narazka na treti stranu se tykala toho, jestli nekdo napsane neco podobneho pro
reseni problemu, ktery jsem popsal.

Sam si na to, co by nececkar a clovek do veci poradne nevidici, netroufam.

David Lebeda

Balicky a rebuild

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 5.10.2002 15:23:00

> Pridaj si tie balicky do project group a mozes pouzit Compile all/Build
All.

Diky, toto u mne nefunguje, u tebe ano?

Martin Burle

Balicky a rebuild

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 5.10.2002 15:33:14

> > otevrit, prekompilovat, zavrit, aby se v aplikaci zmeny projevily. Je
to
> > tak spravne? Je to mozne nejak obejit? Diky za kazdou radu,
>
> Pri zmene ceho? Pokud v balicku neco zmenis, tak ho musis prekompilovat.
> Pokud zmenis nekde neco mimo balicek, tak nevidim duvod, proc bys ho mel
> kompilovat.
> Pri "rebuild as needed" by balicek mel byt nekde v required sekci, aby
mohl
> byt podle potreby kompilovan.

No, mozna, ze na to jdu ze spatne strany: Zacinam psat aplikaci, ktera by
mela byt konfigurovatelna, tedy proto ty dynamicky nahravane balicky. Chtel
jsem zacit tim, ze si vytvorim jakysi framework, rozhrani pro balicky a
nekolik prvnich balicku, pricemz se budu hrabat soucasne v hlavni aplikaci i
v kodu, ktery je v baliccich. Asi bych mohl aplikaci zhruba napsat bez
balicku, nebo se statickymi balicky, ale zdalo se mi cistsi zacit hned od
zacatku takto. Ted si nejsem jist; krome nepohodlne kompilace balicku mam
potize i pri krokovani kodu (napr. volani procedury v hlavni aplikaci z
balicku). Privitam kazde doporuceni, jak na to :)

Martin Burle

FB a ISO8859-2

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 5.10.2002 15:48:53

Lebeda David dne 5 Nov 2002 v 15:07:

> neznam podrobnosti z normy ceskeho trideni, takze je mozne, ze trideni
> PXW_CSY nejake norme vyhovuje. Na druhou stranu je fakt, ze trideni
> podle PXW_CSY a podle ceskeho Windows locale se proste lisi. Mne je
> celkem jedno, jestli nakonec bude trideni takove nebo makove, ale
> potrebuji ho stejne. O co jde:

Ahoj,

v krajnim pripade by se treba dala pro to hledani metodou puleni intervalu napsat nejaka stored
procedure, popr. stored proceduru vyuzit jen na to porovnavani misto Win-funkci. Elegantnost nic
moc, spis nouzove reseni, pokud nebudes mit jine.

Karel Rys

Balicky a rebuild

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 5.10.2002 16:16:48

> No, mozna, ze na to jdu ze spatne strany: Zacinam psat aplikaci, ktera by
> mela byt konfigurovatelna, tedy proto ty dynamicky nahravane balicky.
Chtel
> jsem zacit tim, ze si vytvorim jakysi framework, rozhrani pro balicky a
> nekolik prvnich balicku, pricemz se budu hrabat soucasne v hlavni aplikaci
i
> v kodu, ktery je v baliccich. Asi bych mohl aplikaci zhruba napsat bez
> balicku, nebo se statickymi balicky, ale zdalo se mi cistsi zacit hned od
> zacatku takto. Ted si nejsem jist; krome nepohodlne kompilace balicku mam
> potize i pri krokovani kodu (napr. volani procedury v hlavni aplikaci z
> balicku). Privitam kazde doporuceni, jak na to :)

Dynamicky volany balicek musis brat jako samostatny projekt. Pokud mas
balicky i se exe projektem v jednom project group, tak se s tim pracuje
docela dobre (tj. provedes opravy v balicku, prelozis ho).
Krokovani v baliccich je pro me (v D4) jedna velka zahada ;-))) Nejcasteji
funguje nastaveni breakpointu a krokovani v ramci jednoho balicku, pricemz
aktivni musi byt ten balicek (ne hostujici aplikace).

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

Balicky a rebuild

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 5.10.2002 16:32:02

>> Pridaj si tie balicky do project group a mozes pouzit
> Compile all/Build All.
>
> Diky, toto u mne nefunguje, u tebe ano?

Samozrejme, co na tom nefunguje? Daj si tam tie balicky v takom poradi, aby
zavisle balicky boli kompilovane neskor ako tie, na ktorych su zavisle.
V com je problem?

TOndrej

Balicky a rebuild

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 5.10.2002 16:42:47

From: "Roman" <sw.maurice(zv)seznam(tec)cz>
> Krokovani v baliccich je pro me (v D4) jedna velka zahada ;-))) Nejcasteji
> funguje nastaveni breakpointu a krokovani v ramci jednoho balicku, pricemz
> aktivni musi byt ten balicek (ne hostujici aplikace).

Balicek neni z pohledu debuggeru nic jineho nez DLL.

Petr Vones

synapse - zmena servera na klienta

[*] <delphin(zv)centrum.sk> - 05.10.2002 16:57:30

Zdravim !

.. ako vyriesit situaciu : mam PC1, PC2. Z PC1 potrebujem dostat
data na PC2. Urobim si z PC2 server, ktory nacuva na konekt z
PC1.. vzide problem - z PC1 nie je mozne konektnut sa na PC2
(connection timeout), preto potrebujem zmenit stav : z PC1 bude
server (nacuva na konekt) a z PC2 bude klient. PC2 sa v pohode
konektne na PC1.. mozem teda ziskat data z PC1... problem je v
tom, ze ako vyriesit tuto zmenu (prechod) stavu PC1 a PC2 klient-
>server, resp. server->klient...??

Pouzil som take nieco :
-vytvorim si socket Sock1 na PC1, dam konekt na PC2, zrusim
Sock1,dam vytvorit EchoServer1

-PC2 ma Echoserver2 z dema, v slucke po canread(1000) mu dam
Terminate, v onTerminate dam vytvorit Sock2, konekt na PC1 - cez
toto spojenie by sa malo komunikovat - tento ClientSock by mal
byt odchyteny v slucke EchoServer1, nic sa vsak neudeje, pripadne
to zdochyna na Acc.Violation.. co robim zle?? alebo ako to inac
vyriesit?

..ako zrusit TTCPEchoDaemon?.. ked dam

Echo := TTCPEchoDaemon.Create;
Echo.Free;

krici to AccessViolation a Win32 Error Code 5 - Pristup bol
odmietnuty..


Dik za kazdu pomoc

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

Re[2]: Pozor na Profibanku aneb sniffer

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 5.10.2002 17:08:18

Hello Sula,

Tuesday, November 5, 2002, 2:59:05 PM, you wrote:

SM> no localhost (127.0.0.1) pokud vim sniffovat opravdu nejde pod windows nebo se pletu ?

podle me nejde

SM> s pozdravem
SM> Milos

SM> -----Original Message-----
SM> From: Petr Langer [mailto:langer(zv)xdom(tec)cz]
SM> Sent: Tuesday, November 05, 2002 2:25 PM
SM> To: delphi-l(zv)clexpert(tec)cz
SM> Subject: Re: (aneb sniff)>> No pokud to bezi na lokalni masine a aplikace se pripojuje na lolani
>> SQL tak asi nic neodposlechnes (nesniffnes)
>>
>>
>> Milan
>>

SM> Pokud to jde pres pipe tak ne, ale pokud to jde pres TCP/IP, tak proc by to nemelo jit sniffovat? Pokud mam sitovku v promiskuitnim modu, jakoze abych neco dostal tak v nem byt musi, tak by to
SM> snad melo jit a nemelo by zalezet na tom, ze ten kdo vysila i prijima je na stejne IP, nebo ne?

SM> Petr



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

(aneb sniff)

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.10.2002 17:40:04

> Pokud mam sitovku v promiskuitnim modu, jakoze abych neco dostal tak
v nem
> byt musi,

pokud chces snifovat tok, ktery tece do toho PC (ne to co chodi okolo)
pak v promisc modu sitovka zamozrejme byt nemusi

>tak by to snad melo jit a nemelo by zalezet na tom, ze ten kdo
> vysila i prijima je na stejne IP, nebo ne?

zrejme by se muselo z routovaci tabulky vyhodit preroutovnji lokalnich
IPcek na 127.0.0.1 - coz windows delaji kvuli optimalizaci vykonu (pak
packet nejde az do sitovky/driveru a zpet a je to rychlejsi)

D. Toman

Zmena systemoveho fontu

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 5.10.2002 18:49:36

> Odes�latel: Kr�l Jirka <admin(zv)printo(tec)cz>
> Ahoj, potreboval bych po dobu behu me app zmenit pro cele Wokna systemovy font. Je na to nejake API?

Prave v konferenci probiha diskuse k nehoraznemu chovani aplikace "Profibanka".
Neni nahodou toto taky agresivni chovani.
To bych se podekoval, kdybych si spustil nejakou aplikaci a po dobu jejiho behu by se mi rozhodily "Wokna".

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

Balicky a rebuild

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 5.10.2002 18:49:09

5.11.2002 Ondrej Kelle:
>>> Pridaj si tie balicky do project group a mozes pouzit
>> Compile all/Build All.
>>
>> Diky, toto u mne nefunguje, u tebe ano?

> Samozrejme, co na tom nefunguje? Daj si tam tie balicky v takom poradi, aby
> zavisle balicky boli kompilovane neskor ako tie, na ktorych su zavisle.
> V com je problem?

Problem bude v tom, ze nema balicek zarazen ve skupine projektu. Pak
mu Rebuild All nepomuze

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

Telefonovani

[*] Ing. Holyfield <holyfield(zv)post(tec)cz> - 05.10.2002 19:25:01

Vazani programatori,
Nutne potrebuji komponentu do BD6 na prime telefonovani pomoci
modemu /externi Microcom DeskPorte 56K Voice/ na pevnou linku.
Tvorim program, ktery pri vyhodnoceni chyby na vyrobni lince zavola
domu /v noci/ operatorovi, aby to prijel opravit. Dikes moc. p.s.
Docela to specha.

--
---
V�hodn� ceny letenek najdete v�dy na http://letenky.volny(tec)cz

Balicky a rebuild

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 5.10.2002 20:17:45

> >> Pridaj si tie balicky do project group a mozes pouzit
> > Compile all/Build All.
> >
> > Diky, toto u mne nefunguje, u tebe ano?
>
> Samozrejme, co na tom nefunguje? Daj si tam tie balicky v takom poradi,
aby
> zavisle balicky boli kompilovane neskor ako tie, na ktorych su zavisle.
> V com je problem?

Balicky jsou dynamicky nahravane, tj. na nich nejsou jine balicky zavisle a
ani ony zatim nezavisi na jinych. Prestoze jsou v project group, nejak se mi
neprekompiluji.

Martin Burle

OT: konference Delphi na newsech

[*] Jan Naiser <tua(zv)wo(tec)cz> - 5.10.2002 21:43:21

Preji pekny den,

ta replikovana konference na news.hermess(tec)cz je celkem prijemna a prehledna.
Nezkousel jsem, jestli chodi obousmerne, tedy News->E-Mail. Jestli ano, tak
je to super. :-)

Diky za ni, Honza.

FreeMem - invalid pointer operation

[*] Roland Turcan <rolo(zv)sedas.sk> - 05.10.2002 23:19:32

Hello delphi-l(zv)clexpert(tec)cz!

var
FS:TFileStream;
Source:string;
Buffer:PChar;
...
GetMem(Buffer,Length(Source));
try
Buffer:=PChar(MyFunction(Source));
FS.Position:=0;
FS.WriteBuffer(Buffer^,Length(Buffer));
finally
FreeMem(Buffer); /// tento riadok sposobuje exception
end;


v helpe je priklad:

GetMem(Buffer, Size);
try
BlockRead(F, Buffer^, Size);
ProcessFile(Buffer, Size);
finally
FreeMem(Buffer);
end;

Podla mna je to to iste ako v helpe. :-/
--
Best regards, TRoland

FreeMem - invalid pointer operation

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 5.10.2002 23:44:02

From: "Roland Turcan" <rolo(zv)sedas.sk>
> var
> FS:TFileStream;
> Source:string;
> Buffer:PChar;
> ...
> GetMem(Buffer,Length(Source));
> try
> Buffer:=PChar(MyFunction(Source));
> FS.Position:=0;
> FS.WriteBuffer(Buffer^,Length(Buffer));
> finally
> FreeMem(Buffer); /// tento riadok sposobuje exception

Jiste, protoze nejdrive alokoujes pamet a pointer ukladas do promenne Buffer,
potom do te same promenne ukladas pointer na ten string a na konci se snazis
pamet patrici te string promenne uvolnit. Pokud chces ulozit string do streamu
tak to udelej jednoduse:

Source: string;

FS.WriteBuffer(Pointer(Source)^, Length(Source));

Petr Vones

OT Jak USPAT disk

[*] J�n Harman <harman(zv)atlas(tec)cz> - 6.10.2002 00:31:11

Ani nemyslim ze zvysujes jeho zivotnost, spise by se asi spise melo jednat o
snizeni hluku pocitace.
U nekterych PC, totiz HDD je ten nejvetsi hluk co delaji.
Honza.

> From: "Obermaier Petr Ing." <Obermaier(zv)mail.sdas(tec)cz>
> > Kde mohu najit nejake (ne)oficialni vyjadreni, ze vypinanim HDD snizuji
jeho
> > zivotnost?
>
> Vetsinou podle zkusenosti tech, kteri si to vyzkouseli ;-)
>
> Petr Vones
>
>
>

Telefonovani

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 6.10.2002 01:39:01

From: "Ing. Holyfield" <holyfield(zv)post(tec)cz>
> Nutne potrebuji komponentu do BD6 na prime telefonovani pomoci

Co je to BD6, C++ Builder 6 ?

> modemu /externi Microcom DeskPorte 56K Voice/ na pevnou linku.

Pak ti asi staci pouzit primo TAPI funkce pro volani, popripade poslat primo
AT prikaz do modemu pres seriovy port. Pro Delphi existuje spousta komponent,
ale nevim jestli funguji i v C++ Builderu, mely by ale jit alespon tyhle:

Z komercnich napriklad AsyncPro: http://www.turbopower.com/products/apro/
Free napriklad Synaser: http://www.ararat(tec)cz/synapse/

> Tvorim program, ktery pri vyhodnoceni chyby na vyrobni lince zavola
> domu /v noci/ operatorovi, aby to prijel opravit. Dikes moc. p.s.

To bude mit tedy radost :-)

Petr Vones

FB a ISO8859-2

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 06.10.2002 06:31:13

> v krajnim pripade by se treba dala pro to hledani metodou puleni
> intervalu napsat nejaka stored procedure, popr. stored proceduru
> vyuzit jen na to porovnavani misto Win-funkci. Elegantnost nic moc,
> spis nouzove reseni, pokud nebudes mit jine.

Ahoj,

tomuhle se budu snazit vyhnout, protoze rezie na volani ulozene
procedury je podstatne vetsi, zvlast pri vytizene siti, nez porovnani
retezcu. To uz by se mi spise vyplatilo vysledovat pravidla pro praci
s diakritikou u FB, na zaklade toho sestavit nejakou tabulku a
porovnavat timto zpusobem. I kdyz nevim... zatim doufam, ze
existuje lepsi reseni, protoze potrebuji celkem sviznou reakci.

Ale presto: nevite nekdo o odkazu na stranky s ruznymi algoritmy na
porovnani retezcu? Sam jsem po tom jeste nepatral, teprve to
zkusim, ale pokud jste nekdo treba nedavno o neco zavadil, prosim
o info.

Dik

David Lebeda

Telefonovani

[*] Ales Pavel <Aldik(zv)quick(tec)cz> - 6.10.2002 06:49:42


Aldik na to:
Doporucuji Synaser je to knihovna jednoducha a velmi prehledna, i kdyz nevis
a kouknes se do zdrojaku hodne pochopis, nehlede k tomu ze Lukas Gebauer je
mooooc milej a hodne ti poradiii...>Z komercnich napriklad AsyncPro: http://www.turbopower.com/products/apro/
>Free napriklad Synaser: http://www.ararat(tec)cz/synapse/

>> Tvorim program, ktery pri vyhodnoceni chyby na vyrobni lince zavola
>> domu /v noci/ operatorovi, aby to prijel opravit. Dikes moc. p.s.

>To bude mit tedy radost :-)

No to teda:-)))

XML,parset,vlastni tagovy jazyk

[*] Ales Pavel <Aldik(zv)quick(tec)cz> - 6.10.2002 08:17:08

Ahoj potreboval bych par veci poradit, chystam se udelat aplikaci, kde by
byl pritomnej nejaky browser, v nem bych chtel zobrazovat nejaka sva data, a
ted jak bych to chtel,chtel bych tam vkladat data pomoci XML a vzhled okna
si upravovat pomoci vlastniho tag jazyka..nemel by jste nekdo malou ukazku
nebo link?:-)))
Hezky den

Ales Pavel
TalpaSoft - software pro kazdeho
tel:0777/992792
web: http://Talpa.chytrak(tec)cz
e-casopis: http://rozarkaweb.aktualne(tec)cz

Zmena systemoveho fontu

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 6.10.2002 08:20:26

NS4xMS4yMDAyIEphbiBTZWJlbO1rOg0KPj4gT2Rlc+1sYXRlbDogS3LhbCBKaXJrYSA8YWRtaW5A
cHJpbnRvLmN6Pg0KPj4gQWhvaiwgcG90cmVib3ZhbCBieWNoIHBvIGRvYnUgYmVodSBtZSBhcHAg
em1lbml0IHBybyBjZWxlIFdva25hIHN5c3RlbW92eSBmb250LiBKZSBuYSB0byBuZWpha2UgQVBJ
Pw0KDQo+IFByYXZlIHYga29uZmVyZW5jaSBwcm9iaWhhIGRpc2t1c2UgayBuZWhvcmF6bmVtdSBj
aG92YW5pIGFwbGlrYWNlICJQcm9maWJhbmthIi4NCj4gTmVuaSBuYWhvZG91IHRvdG8gdGFreSBh
Z3Jlc2l2bmkgY2hvdmFuaS4NCj4gVG8gYnljaCBzZSBwb2Rla292YWwsIGtkeWJ5Y2ggc2kgc3B1
c3RpbCBuZWpha291IGFwbGlrYWNpIGEgcG8gZG9idSBqZWppaG8gYmVodSBieSBzZSBtaSByb3po
b2RpbHkgIldva25hIi4NCg0KUG9rdWQgdG8gbmVtYSBieXQgbmVqYWthIGFwbGlrYWNlIGFsaXMg
VHdlYWtVSSwga3RlcmEgbWEgdXppdmF0ZWxpDQp1c25hZG5pdCBuYXN0YXZvdmFuaSBva2VuLg0K
SmluYWsgc2UgcHJpa2xhbmltIGsgSG9uem92aS4gVG8gbWkgdWRlbGF0IG5vcm1hbG5pIGFwbGlr
YWNlLCB0YWsgdiB0dQ0KY2h2aWxpIGxldGkgeiBkaXNrdSB2ZW4NCg0KLS0gDQppbmcuIEphbiBG
aWFsYQ0KbWFpbHRvOmphbi5maWFsYUBpb2wuY3o=

Extended a DWORD!!!

[*] Peter Sulek <psulek(zv)centrum.sk> - 6.10.2002 08:48:27

Chcel by som sa opytat ze preco sa takyto vzorec:

var
freeclus, BPC : DWORD;
FreeClusters : Extended;

BPC := 4096
totclus := 1279175

FreeClusters := BPC* freeclus;

chova tak ze mi to proste vyrata inu hodnotu ako ma. Ide vlastne o vypocet
volneho miesta na disku cize su to velke cisla a ked dam tento vzorec do
watcheru tak mi vypise nieco taketo: "Overflow in conversion or arithmetic
operation"

ale ked to prepisem takto:

FreeClusters := BPC* (freeclus/1);

tak to ide OK

Poradte preco sa to chova tak ako sa to chova?!

S pozdravom

Peter Sulek
psulek(zv)centrum.sk

synapse - zmena servera na klienta

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 06.10.2002 08:52:20

> .. ako vyriesit situaciu : mam PC1, PC2. Z PC1 potrebujem dostat
> data na PC2. Urobim si z PC2 server, ktory nacuva na konekt z
> PC1.. vzide problem - z PC1 nie je mozne konektnut sa na PC2
> (connection timeout), preto potrebujem zmenit stav : z PC1 bude
> server (nacuva na konekt) a z PC2 bude klient. PC2 sa v pohode
> konektne na PC1.. mozem teda ziskat data z PC1... problem je v
> tom, ze ako vyriesit tuto zmenu (prechod) stavu PC1 a PC2 klient-
> >server, resp. server->klient...??

neco takoveho jako prepinani ze stavu server dostavu klienta neni
dobre! Svedci to o nepromyslenem designu sitove apliakce. Tudy ne!
Kdyz je nekdo server, ma jim byt po celou funckni dobu. Ma-li byt
nekdo klient, ma jim byti po celou funkcni dobu. predstav si situaci,
kdy se potrebujes s klientem pripojit... jak budes zjistovat, ze ten
druhy pocitac je zrovna server nebo klient???

Rodina protokolu TCP/IP predstavuje hned nekolik ruznych protokolu o
ruznych vlastnotech, kazdy je vhodny na reseni jinych uloh.

Pokud potrebujes delat to co jsi popsal, svedci to o tom, ze bud to
jde delat mnohem jednoduseji (fakt nevim, proc potrebujes prepinat
server na klient...), nebo ze jsi zvolil nevhodny protokol.

programovani sitovych aplikace neni sranda! na to abys byl uspesny,
tak o tom jak to funguje MUSIS neco vedet. Urcite na to existuji
chytre knihy. Doporucuji si nejdrive neco fungovani TCP/IP precist a
az pak se poustet do programovani.

Je to jako s autem! Dostanes-li dobre auto, jeste to neznamena, ze
jej umis ridit. Nejprve ti musi byt vysvetleno, k cemu slouzi volant,
radici paka, spojka, brzda a plyn.. a az pak se muzes pokusit ridit.
(a na zacatku ti to nejspise moc nepujde...)

U TCP/IP je to stejne.. nejprve musi mit potuchu o tom, jak to
funguje, co se na co pouziva, a az pak teprve to muzes zacit zkosuet
programovat. :-)
-- Lukas Gebauer.

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

Extended a DWORD!!!

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 6.10.2002 08:54:07

Extended je realny typ. A pri hodne velkych cislech to nebude to prave
orechove. Nebyl by pro takove pripady pro vysledek lepsi typ Cardinal ?

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

6.11.2002 Peter Sulek:
> Chcel by som sa opytat ze preco sa takyto vzorec:

> var
> freeclus, BPC : DWORD;
> FreeClusters : Extended;

> BPC := 4096
> totclus := 1279175

> FreeClusters := BPC* freeclus;

Data Grid + SORT

[*] Delphi - konference <Delphikonf(zv)pilscom(tec)cz> - 6.10.2002 09:03:19



> ----------
> From: Jan Netrval
> Sent: Wednesday, November 06, 2002 9:03:19 AM
> To: Delphi - konference
> Subject: Data Grid + SORT
> Auto forwarded by a Rule
>
Dobry den

Nevite nekdo kde sehnat nejakou FREE DataGrid ktera by umela po klepnuti na
titulek sloupce zobrazit takovy ty sipky co indikuji smer razeni a vyvolat
nejakou udalost, kterou bych obslouzil?
Predem diky


Jan Netrval
PilsCom,s.r.o. www.pilscom(tec)cz
Hou�kova 16
32600 Plze� (Pilsen) Czech Republic
Tel.:+420 377 441 306
GSM: +420 603 851 391
e-mail: jnetrval(zv)pilscom(tec)cz


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

Extended a DWORD!!!

[*] Marek Dost�l <marek.dostal(zv)mujweb(tec)cz> - 6.10.2002 09:07:19

Protoze to vyhodnucuje tak, ze nejprve nasobi typ DWORD * DWORD, pricemz vysledek pravdepodobne pretece rozsah DWORD. Tim, ze tam das to "/1" zpusobi, ze pri nasobeni se to uz nasobi jako extended, kde rozsah staci. Jina moznost jak to osetrit je:

FreeClusters := BPC;
FreeClusters := FreeClusters* freeclus;
Marek D.

----- Original Message -----
From: "Peter Sulek" <psulek(zv)centrum.sk>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, November 06, 2002 8:48 AM
Subject: Extended a DWORD!!!> Chcel by som sa opytat ze preco sa takyto vzorec:
>
> var
> freeclus, BPC : DWORD;
> FreeClusters : Extended;
>
> BPC := 4096
> totclus := 1279175
>
> FreeClusters := BPC* freeclus;
>
> chova tak ze mi to proste vyrata inu hodnotu ako ma. Ide vlastne o vypocet
> volneho miesta na disku cize su to velke cisla a ked dam tento vzorec do
> watcheru tak mi vypise nieco taketo: "Overflow in conversion or arithmetic
> operation"
>
> ale ked to prepisem takto:
>
> FreeClusters := BPC* (freeclus/1);
>
> tak to ide OK
>
> Poradte preco sa to chova tak ako sa to chova?!
>
> S pozdravom
>
> Peter Sulek
> psulek(zv)centrum.sk
>
>
>
>

Balicky a rebuild

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 6.10.2002 09:12:05

> Balicky jsou dynamicky nahravane, tj. na nich nejsou jine
> balicky zavisle a ani ony zatim nezavisi na jinych.
> Prestoze jsou v project group, nejak se mi neprekompiluji.

Skusim hadat, mozno mas niekde stare verzie tych .bpl a output directory je
inde?
Inak ma uz nic nenapada, sorry.

TOndrej

Data Grid + SORT

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 6.10.2002 09:12:56

>Nevite nekdo kde sehnat nejakou FREE DataGrid ktera by umela po klepnuti na
>titulek sloupce zobrazit takovy ty sipky co indikuji smer razeni a vyvolat
>nejakou udalost, kterou bych obslouzil?

www.scalabium.com

Martin Burle

Extended a DWORD!!!

[*] Peter Sulek <psulek(zv)centrum.sk> - 6.10.2002 09:20:24

To mi je jasne, ale potrebujem typ extended pre dalsie pouzitie ale moja
otazka je ze preco ked zmenim:
FreeClusters := BPC* freeclus;

na:
FreeClusters := BPC* (freeclus/1);

tak to uz ide ?

Data Grid + SORT

[*] Barica Miroslav <miroslav.barica(zv)matador.sk> - 6.10.2002 09:22:28

pozri na http://www.mitec.d2(tec)cz/delphicomps.htm#MDBGrid

>
> Nevite nekdo kde sehnat nejakou FREE DataGrid ktera by umela
> po klepnuti na
> titulek sloupce zobrazit takovy ty sipky co indikuji smer
> razeni a vyvolat
> nejakou udalost, kterou bych obslouzil?

synapse - zmena servera na klienta

[*] <delphin(zv)centrum.sk> - 06.10.2002 09:48:11

.. no dobre, predstav si situaciu : na lokalnom pocitaci mam
pripojeny fiskal, vo W2k cez klienta sluzby Terminal Services sa
pripojim na nejaky vzdialeny pocitac, kde bezi nejaky ekon.soft,
z casu na cas chce ten uzivatel na lokalnom fiskali vytlacit
blocek..
..ako vyriesit tuto situaciu, ked zjavne lokalny pocitac musi byt
najskor v stave server, ked musi nacuvat - a zistit, ze prave
teraz chce ten uzivatel tlacit blocek (chce poslat data o
blocku).. lenze, vzdialeny pocitac sa nemoze konektnut na lokalny
pocitac (connection timeout), ale lokalny pocitac vie
zaregistrovat tento pokus, a prave v tejto chvili si menia ulohy,
vzdialeny musi nacuvat kedy sa z lokalneho chce nadviazat
spojenie a lokalny toto spojenie skutocne nadviaze a potom sa uz
daju obojsmerne prenasat data...

.. tot realna situacia.. skus mi teda, prosim ta, napisat akym
smerom sa uberat, koho v tejto situacii pokladat za server a koho
za klienta, s obmedzenim, ze zo vzdialeneho pocitaca nemozes
nadviazat spojenie, aky protokol by na to bol najvhodnejsi a
pod...
dik za kazdu podnetnu radu



Lukas napisal :
Pokud potrebujes delat to co jsi popsal, svedci to o tom, ze bud
to
jde delat mnohem jednoduseji (fakt nevim, proc potrebujes prepinat
server na klient...), nebo ze jsi zvolil nevhodny protokol.

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

MemorySleuth

[*] Jakub Dusek <jdev(zv)seznam(tec)cz> - 6.10.2002 10:05:28

Zdravim,
slysel jsem o nejakem produktu MemorySleuth, zaujala me jeho cast Line
Profiler (zjisti kolik casu trva kazda radka v rutine), na webu
TurboPoweru jsem ale nenasel zadnou trial verzi kterou bych mohl
vyzkouset. Mate s tim nekdo zkusenosti? Popripade doporucte nejaky
jiny podobny program.

Diky.

Jakub Dusek

-------------------------------------------
Homepage : http://dusek.webz(tec)cz
Phone : +420604615795
Sms email : jakub.dusek(zv)click(tec)cz
Icq : 86063232
Apps : Add/Remove Manager, Charmaper,
Sms GateKeeper
-------------------------------------------

synapse - zmena servera na klienta

[*] Ludek ZITA <konference(zv)sales(tec)cz> - 6.10.2002 10:11:45


----- Original Message -----
From: <delphin(zv)centrum.sk>> pripojeny fiskal, vo W2k cez klienta sluzby Terminal Services sa
> pripojim na nejaky vzdialeny pocitac, kde bezi nejaky ekon.soft,
> z casu na cas chce ten uzivatel na lokalnom fiskali vytlacit
> blocek..

Ahoj,
jestli se nepletu, tak soucasti nastaveni klienta Terminal Services je mimo
jine i mapovani portu a tiskaren, takze proste a jednoduse tisknes uplne
stejne jako by ti ten ekon. soft bezel primo na tvy stanici.

Ludek

Telefonovani

[*] Zdenek Stepanek <webmaster(zv)rokaglass(tec)com> - 6.10.2002 10:17:08


> Co je to BD6, C++ Builder 6 ?

Ze by Borland Delphi 6?

> > modemu /externi Microcom DeskPorte 56K Voice/ na pevnou linku.

Doporucuji komponentu na ovladani serioveho portu. Je jich cela rada,
staci si jen vybrat, stale se to tady omila. Pak uz jen poslat ty
spravne AT prikazy, modem vytoci telefoni cislo a ceka. Pak bys to treba
mohl spojit kablikem se zvukovkou a prehrat na ni nejaky wav. "Vazeny
pane opravari, s litosti vam oznamuji, ze jsem rozbita, Vase vyrobni
linka.". No a pak zavesis.

Zdenek

synapse - zmena servera na klienta

[*] <delphin(zv)centrum.sk> - 06.10.2002 10:18:16

.. no, mam pred sebou vlastnosti pripojenia, su tu 3 zalozky :
Obecne, Moznosti pripojeni, Program... nikde nie su nastavenia
ohladom mapovania portu a tlaciarni..
>Ahoj,
>jestli se nepletu, tak soucasti nastaveni klienta Terminal
>Services je mimo
>jine i mapovani portu a tiskaren, takze proste a jednoduse
>tisknes uplne
>stejne jako by ti ten ekon. soft bezel primo na tvy stanici.

>Ludek


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

synapse - zmena servera na klienta

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 06.10.2002 10:23:21

nejak tomu nerozumim.. proc tohle vsechno musi byt na tom stejnem
spojeni?

nebylo by rozumnejsi jit na to napriklad tak, ze tyhle dve veci od
sebe oddelis? na jedne strane budes mit server ja jednom portu.. a
druhy pocitac se bude na tento port pripojovat. A ten druhy pocitac
bude mit v sobe take server, ale na jinem portu.. a prvni pocitac se
bude na tento jiny port dle potreby pripojovat.

Program bude serverem a klientem zaroven, bez prepinani.

Tedy rozdeleni na server-client, neni z hlediska pocitace, ani z
hlediska programu, ale pouze z hlediska toho konkreniho spojeni.

V jednom programu muzes mit vice serveru a vice klientu zaroven vedle
sebe. neni potreba se pokouset se mezi temito stavy nejak prepinat.

Nevim, jestli jsem tvuj problem poradne pochopil, ale ty mas jeden
pocitac, pres ktery maji ostatni pocitace tisknout blocky, a zaroven
potrebujes z tohoto pocitace nejak ovladat ty ostatni pocitace?

Pak si to rika o jeden server, ktery nedela nic jineho, nez od
ostatnich pocitacu prijima pozadavky na tisk a obhospodaruje je.

A na kazdem pocitaci bezi DALSI server, na ktery se pripojujes, kdyz
ty pocitac chces nejak ovladat.

Take je dobre zvazit, jestli na neco nepouzit UDP protokol. U tohoto
protokolu neexistuje spojeni, jen si posilas kratke (rozumej max.
kilobajty az desitky kilobytu...) zpravy. Ovsem ma to take sve
uskali!

Vse zalezi na tom, jake informace potrebujes prenaset na jednotlive
ulohy.

To s tim,z e ze vzdaleneho pocitace se nemuzes pripojit... to nejak
nechapu. Pokud se nemuzes ze zvdaleneho pocitace pripojit, ale ty tam
ano (treba je tam tak nastaveny firewall), pak ti pokus o prepnuti
smeru nic nevyresi!

nejak nechapu, proc proste neotevres to spojeni, a pak obousmerne
neprenasis ty data co potrebujes. (musis si na to ale napsat nejaky
vhodny komunikacni protokol...) Proste z lokalniho se pripoj na ty
vzdalene, vznikne komunikani kanal, kterym ti muze ten vzdaleny
posilat pozadavk na tisk, ne?

Porad nechapu, kde je problem, a proc je potreba prepinat ulohy. U
TCP je sice jeden server a druhy klient, ale jen z hlediska
navazovani spojeni. jakmile se spoji, zvnikne 'virtualni drat',
kterym si muzes posilat co chces a jak chces! Je pak jedno, kdo
posila prikazy a kdo je plni. Je to proste drat, zajistujici prenos
dat. nic vic.> .. no dobre, predstav si situaciu : na lokalnom pocitaci mam
> pripojeny fiskal, vo W2k cez klienta sluzby Terminal Services sa
> pripojim na nejaky vzdialeny pocitac, kde bezi nejaky ekon.soft,
> z casu na cas chce ten uzivatel na lokalnom fiskali vytlacit
> blocek..
> ..ako vyriesit tuto situaciu, ked zjavne lokalny pocitac musi byt
> najskor v stave server, ked musi nacuvat - a zistit, ze prave teraz
> chce ten uzivatel tlacit blocek (chce poslat data o blocku).. lenze,
> vzdialeny pocitac sa nemoze konektnut na lokalny pocitac (connection
> timeout), ale lokalny pocitac vie zaregistrovat tento pokus, a prave v
> tejto chvili si menia ulohy, vzdialeny musi nacuvat kedy sa z
> lokalneho chce nadviazat spojenie a lokalny toto spojenie skutocne
> nadviaze a potom sa uz daju obojsmerne prenasat data...
>
> .. tot realna situacia.. skus mi teda, prosim ta, napisat akym
> smerom sa uberat, koho v tejto situacii pokladat za server a koho za
> klienta, s obmedzenim, ze zo vzdialeneho pocitaca nemozes nadviazat
> spojenie, aky protokol by na to bol najvhodnejsi a pod... dik za kazdu
> podnetnu radu


-- Lukas Gebauer.

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

Problem s nastavenim Master - Detail u DBEXPRESS

[*] PETR KOREC <pkorec(zv)ic-energo(tec)cz> - 6.10.2002 10:29:48



Dobry den

nevim si rady s nasledujicim problemem.
Mam v Oracle dve tabulky, spojene cizim klicem. (pole FK_ID a ID)

Kazdou napojim na jeden DBGrid p�es SQLClientDataSet

U detail tabulky nastavim MASTER SOURCE a MASTER FIELDS.

Myslim, ze vse mam nastaveno dobre, pole jsou ciselna a zaznamy spravne
vyplnene.

Jenomze bohuzel, misto spravneho vysledku mi ORACLE posle hlasku
ORA 01722 - chybne cislo.

Zkousel jsem uz vsechno mozne, ale vubec nevim kde chybu hledat ci jak ji najit.

Diky, Petr

Zmena systemoveho fontu

[*] Kr�l Jirka <admin(zv)printo(tec)cz> - 6.10.2002 10:31:16

>> To bych se podekoval, kdybych si spustil nejakou aplikaci a po dobu jejiho behu by se mi rozhodily "Wokna".

Predesilam ze tato app je ciste pro pouziti na mem PC, takze moralni hledisko z rad lze v tomto pripade vynechat, sebeprzneni neni tusim trestne ;-)

Vi nekdo prosim, jak _technicky_ subj. realizovat?

dekuji

Jirka

Data Grid + SORT

[*] Jiri Novotny <novotny(zv)ftknw.upol(tec)cz> - 6.10.2002 10:32:04

> Nevite nekdo kde sehnat nejakou FREE DataGrid ktera by umela po klepnuti na
> titulek sloupce zobrazit takovy ty sipky co indikuji smer razeni a vyvolat
> nejakou udalost, kterou bych obslouzil?

Tohle umi RxDBGrid (z baliku RxLib) property OnTitleBtnClick:
TTitleClickEvent;

Zobrazovani sipek se deje pres property OnGetBtnParams: TGetBtnParamsEvent;

Jirka.

Jak naplnit DBComboBOX ?

[*] PETR KOREC <pkorec(zv)ic-energo(tec)cz> - 6.10.2002 10:38:08



Ahoj,

zkousim vyuzit nektere DB AWARE komponenty a nemam s tim priliz zkusenosti.
Zatim se mi nedari

1. naplnit vysledek dotazu do DBComba - nedoplni se mi vybrane hodnoty do Items,
jde to propojit najek automaticky, nebo se to tam musi strkat rucne jako do
normalniho comba ?

2. Kdyz mam pripojeny DBGrid a smazu z tabulky SQL prikazem Delete zaznam, tak
mi to hazi vyjimku, ze neni nalezen zaznam, na kterem ma byt kursor.
Jak udelat, abych ti pred smazanim zaznamu zjistil pozici kursoru a po smazani
se posunul na zaznam vedle ?

Zmena systemoveho fontu

[*] Ladislav Fitz <ladislav.fitz(zv)kodytek(tec)cz> - 6.10.2002 10:38:33

> Vi nekdo prosim, jak _technicky_ subj. realizovat?

mozna pomoci funkce:

SystemParametersInfo

parametr SPI_GETNONCLIENTMETRICS ziska informace o fontu,
SPI_SETNONCLIENTMETRICS by je mel zase nastavit (nikdy jsem to ale
neskousel)

synapse - zmena servera na klienta

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 6.10.2002 10:45:26

Jestli to nebude tim, ze tyto veci se nastavuji na serveru u
uzivatele....

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

6.11.2002 delphin(zv)centrum.sk:
> .. no, mam pred sebou vlastnosti pripojenia, su tu 3 zalozky :
> Obecne, Moznosti pripojeni, Program... nikde nie su nastavenia
> ohladom mapovania portu a tlaciarni..

Dedeni formulare s frame

[*] Delphin <delphin(zv)post(tec)cz> - 6.10.2002 10:49:30

Jiz jsem jednou ptal, ale asi to zapadlo.

Vytvoril jsem si novy frame, ktery obsahuje jenom PopupMenu.
Tento frame jsem dal na novy formular a na formular pridal ActionList.
V actionlistu jsem vytvoril jednu akci a priradil ji do PopupMenu, (tim
vznikla v PopupMenu jedna polozka).

Az sem to funguje OK.

Nyni kdyz vytvorim potomka tohoto formulare, tak aplikace nejde spustit s
chybou 'Ancesor for <nova polozka v popupmenu> not found'. I primo v Delphi
to hlasi obdobnou chybu.

Da se to nejak vyresit ?

Diky Delphin

D6

Prvn�ch x zaznamu z IB

[*] Ales Kerner <kerner(zv)metalcom(tec)cz> - 6.10.2002 11:24:32

Ahoj,

nevite nekdo jak dostat v selectu u IB pouze treba prvnich 10 zaznamu, tak
aby se to dalo napsat primo do selectu a nemuselo se to osetrovat kodem.

Dik

Ales


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

Dokument Wordu a vlozeny Excel graf

[*] <raul(zv)raphael(tec)cz> - 06.10.2002 11:32:19

Zdravim,
mam problem s aktualizaci excelovskeho grafu vlozeneho do
dokumentu wordu se kterym pracuju.
Potrebuju vygenerovat dokument wordu podle sablony kterou
mam, v te jsou urcite grafy. Tyto grafy potrebuju
AKTUALIZOVAT, tzn dostat do nich nova data. Z duvodu
formatovani, pozic na strance nemuzu graf zrusit a vlozit
tam novy pres schranku. Proto se chci zeptat na jakoukoliv
radu jak toto udelat. Pripadne odkaz na dokumentaci (pokud
mozno trochu delphackou, ne microsousti) k temto ole
serverum. Word mi aktualizovat jde, delam to sice slozite
tak, ze si vygeneruji makro a to potom prelozim do delphi,
ale jde to. Ovsem pokud chci vygerenovat makro na toto, tak
jsou v nem pouze dva radky, selekce grafu. Zbytek mi makro
nezapise, coz chapu.

Prosim o nejaky odkaz, priklad, demo, cokoliv..

Raul

Prvn�ch x zaznamu z IB

[*] Peter Sulek <psulek(zv)centrum.sk> - 6.10.2002 11:47:06

skus:
SELECT * FROM table LIMIT 10
> nevite nekdo jak dostat v selectu u IB pouze treba prvnich 10 zaznamu, tak
> aby se to dalo napsat primo do selectu a nemuselo se to osetrovat kodem.
>

Edit - zemepisne souradnice

[*] Vaclav Sazima <vaclav.sazima(zv)utilia(tec)cz> - 06.10.2002 12:06:58

Ahoj,
nevidel jste nekdo nekde edit pro zadavani zemepisnych souradnic, neco
jako TDateTimePicker?
Dekuji
Vaclav Sazima

Prvn�ch x zaznamu z IB

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 06.10.2002 12:08:53

> skus:
> SELECT * FROM table LIMIT 10
>

Tohle ze funguje na IB?

Na Firebirdu od verze tusim 1 se to pise takto

select first 10 * from table

Viz tez SKIP, popis napr. v ReleaseNotes.pdf nebo jak se to
jmenuje.

David Lebeda

Zprava z DLL knihovny

[*] <pert_novaku(zv)centrum(tec)cz> - 06.10.2002 12:14:32

Mam asi velkou zacateznickou otazku, ale nedokozal jsem najit o tom
informace. Co znamena: prelozit s runtime balicky. Jak se tento
postup dela???

Dekuji... Petr


> Patrne je to tim, ze DLL neni prelozena s runtime balicky, takze se
v jednom
> procesu nachazi dvakrat 'cela VCL', vcetne dvou instanci
TApplication. Budto
> preloz vsechno s balicky nebo pouzij Windows API funkci MessageBox
pro ten
> dialog.


--------------------
Zapoj svoji osobnost.
http://user.centrum(tec)cz/redir.php?url=http://www.nokiagame(tec)cz


VB - Delphi

[*] Jozef Baranec <joba(zv)digitaldocuments.org> - 6.10.2002 12:18:44

Vo Visual Basic mozem zapisat toto:

For each x in y
...
next

Da sa to nejako zapisat aj v Delphi?

Dik

jozo

VB - Delphi

[*] Tomas Bihary <delphi(zv)wige-mic(tec)cz> - 6.10.2002 12:23:16

Ne,
jedine takhle:

for I := {DOLNI_INDEX} to {HORNI_INDEX} do
begin
X := Y[I]; // POLOZKA DLE INDEXU
...
end;

Ahoj Tomas


----- Original Message -----
Vo Visual Basic mozem zapisat toto:

For each x in y
...
next

Da sa to nejako zapisat aj v Delphi?

VB - Delphi

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 6.10.2002 12:48:58

>> For each x in y
>> ...
>> next
>>
>> Da sa to nejako zapisat aj v Delphi?

VBA Collection je objekt, ktory ma metody Count a Item, mozes teda vo for
cykle pouzit metodu Item(X). Pozor, prvy element ma index 1.
Priklad: v OleContainer1 mam vlozeny Word objekt s niekolkymi odstavcami
textu. Nasledovny kod mi zarovna vsetky odstavce doprava:

var
Document, Collection: Variant;
I: Integer;
begin
Document := OleContainer1.OleObject;
Collection := Document.Paragraphs;
for I := 0 to Collection.Count - 1 do
Collection.Item(I + 1).Alignment := 2;
end;

HTH
TOndrej

Vicejazycna aplikace

[*] Ing. Jan Dvorak <dvorak(zv)szu(tec)cz> - 6.10.2002 13:13:48

P. Vones napsal:

> Asi by bylo dobre oddelit format souboru pro lokalizaci a
pak
> vlastni pouziti
> techto dat v aplikaci. Nikdo asi nebude primo editovat DLL
v
> Notepadu ;-) a
> napriklad ten system lokalizace ktery je v Delphi umoznuje
> vsechny texty
> exportovat do XML, tento soubor prelozit (treba i do vice
> jazyku) a pouzit jej
> jako slovnik. Pri prekladu se pak vytvori resource only
DLL s
> pouzitim techto
> dat. Zbyskouv Lokalizator je taky zalozen na stejnem
> principu. Samozrejme lze
> vybudovat ruzne dalsi systemy zalozene treba na RTTI, ale
> pokazde je tam
> problem jak rozume lokalizovat DFM aby to nebyla nejaka
> hruza. V Delphi 6+ je
> k dispozici i editor kterym muze nekdo jiny provadet
preklad
> souboru pro
> lokalizaci, aniz by si musel instalovat cele Delphi.
>
> Petr Vones
>

Patral jsem po zminenem editoru, bohuzel jsem jej nenasel.
Jak se jmenuje a kde lezi pro D6P?
Jan Dvorak

Action List

[*] LUKES V�clav <lukes(zv)ans(tec)cz> - 6.10.2002 13:23:51

Ahoj,

prosim Vas o radu. mam D6 Ent. a Win 2000.

Potrebuji programove vytvorit ActionList, ktery bude mit dve akce.

Diky za radu

V.

Prvn�ch x zaznamu z IB

[*] Ales Kerner <kerner(zv)metalcom(tec)cz> - 6.10.2002 13:27:32

> skus:
> SELECT * FROM table LIMIT 10

Tak tohle bohuzel nefunguje

Ales


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

Odchyceni komunikace na COM portu

[*] Jiri Kratochvil <jiri.kratochvil(zv)webzin(tec)cz> - 6.10.2002 14:18:39

Ahoj,
potreboval bych monitorovat cinnost modemu, pripojenych na COM port.
Jednotlive modemy ovlada aplikace typu cerna skrinka, ktera ovlada modem
primo pomoci zasilani AT prikazu na dany com-port.

Rad bych filtroval danou komunikaci transparentne danemu systemu.
Predstavoval bych si to tak nejak, ze by mi system zasilal nejake zpravy o
aktivite daneho COM portu.

Pekne je to udelane napr. v teto aplikaci
http://www.sysinternals.com/ntw2k/freeware/portmon.shtml

Pokud by nekdo mohl poradit, moc by mi pomohl.

S pozdravem
Jirka Kratochvil

Zprava z DLL knihovny

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 6.10.2002 14:47:05

> Odes�latel: pert_novaku(zv)centrum(tec)cz
> Mam asi velkou zacateznickou otazku, ale nedokozal jsem najit o tom
> informace. Co znamena: prelozit s runtime balicky. Jak se tento
> postup dela???

Odpovim jenom informativne, vice delame na kurzech (napr. 18.11., 9.12.).

Komponenty VCL jsou predevsim v nejakych zdrojovych unitach .pas.
Po prekladu unit vznikne .dcu.
Tyto .dcu jsou standardne prilinkovany k tvemu .exe.

Jenze v prostredi Delphi musi ty komponenty fungovat taky, abys je mohl polozit v designu na formular a aby se ti po TTable.Active=true objevily data.

Jenze v prostredi Delphi to z dcu fungovat nebude. Musi to byt v "design package". Package je v podstate DLL, ze ktere prostredi Delphi komponenty spousti.

No a kdyz uz "design package", tak proc ne "runtime package"?

Pokud si v "Projekt / Options / Packages" zaskrtnes "built with runtime packages", vznikly exe nebude obsahovat komponenty (jejich .dcu), bude tedy mnohem mensi. Bude ale pouzivat uvedene runtime packages (zase jsou to DLL), ktere si natahne pri startu programu.

To, ze je exe mnohem mensi, neni az tak dulezite (viz nedavna diskuse v konferenci), tedy snad jenom tehdy, kdyz budu denne nekolikrat posilat emailem testovaci verzi .exe svemu zadavateli.

Mnohem dulezitejsi je, ze se zbavis problemu, ktere znamena duplicitni existence VCL v projektu:
Project1.exe, uses Forms, DBTables
Lib1.dll, uses Forms, DBTables.

Po spusteni Projekt1.exe je unita Forms, DBTables v pametovem prostoru projektu duplicitne, to vcetne vsech globalnich promennych, VMT, class deskriptoru pouzitych trid atd.

Nejde ani tak o pamet, ale o zmatek s vice instancemi globalnich promennych. Kod Projektu pracuje s jinymi promennymi Application, Session, atd. nez kod napsany v Dll. Tyto promenne z VCL pritom byly mysleny tak, ze budou v projektu jenom jednou. Nejsou.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

Problem s nastavenim Master - Detail u DBEXPRESS

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 6.10.2002 14:52:50

> Odes�latel: PETR KOREC <pkorec(zv)ic-energo(tec)cz>
> Mam v Oracle dve tabulky, spojene cizim klicem. (pole FK_ID a ID)
> U detail tabulky nastavim MASTER SOURCE a MASTER FIELDS.

Ja s Oracle moc zkusenosti nemam.
Ale nekde jsem videl, ze tam v tech selectech bylo neco jako
select row_id, * from ...

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

Jak naplnit DBComboBOX ?

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 6.10.2002 15:03:26

> Odes�latel: PETR KOREC <pkorec(zv)ic-energo(tec)cz>
> 1. naplnit vysledek dotazu do DBComba - nedoplni se mi vybrane hodnoty do Items,
> jde to propojit najek automaticky, nebo se to tam musi strkat rucne jako do
> normalniho comba ?
Rucne.
Pokud by to byly hodnoty z nejakeho ciselniku, pouzij DBLookupCombo.

> 2. Kdyz mam pripojeny DBGrid a smazu z tabulky SQL prikazem Delete zaznam, tak
> mi to hazi vyjimku, ze neni nalezen zaznam, na kterem ma byt kursor.
> Jak udelat, abych ti pred smazanim zaznamu zjistil pozici kursoru a po smazani
> se posunul na zaznam vedle ?
Nevim, nad jakymi typy TDataSet je to napsano.
Obecne lze tezko kombinovat funcnost

DBGrid+DataSource+DataSet (insert, edit, post, delete, next, ...)
a
samostatne SQL prikazy (insert, update, delete)

Pokud je to nutne, pak snad jedine Dataset.Refresh nebo Close+Open+Locate.

A to je jeste zajimave vedet, co takove Edit, Post, Open, FindKey, Filter s databazi a s prenosem dat na klienta vyvede :-).
Kazdy DataSet to dela uplne jinak a kdyz nevim jak, tak se z toho uzivatel zblazni.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

Formular s parametry

[*] LUKES V�clav <lukes(zv)ans(tec)cz> - 6.10.2002 15:24:05

Ahoj,

omlouvam se, nekde to je v konferenci, ale nemuzu to najit...
Jde mi o formular s parametry.

Diky

V.

VB - Delphi

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 6.10.2002 15:30:04

----- Original Message -----
From: "Jozef Baranec" <joba(zv)digitaldocuments.org>
> Vo Visual Basic mozem zapisat toto:
>
> For each x in y
> ...
> next
>
> Da sa to nejako zapisat aj v Delphi?

Pokud je k dispozici v interfacu objektu kolekce indexovana
property Items nebo podobne, muzes je prochazet normalne.
Pokud tam je pouze metoda _NewEnum (s pevne danym DispID
-4), pak to lze pomoci tzv. enumeratoru ktery tato metoda
vraci. Prave tu pouziva VB pro konstrukci For...Each.

Metoda _NewEnum vraci IUnkown interface, ze ktereho se dostanes
na skutecny interface enumeratoru, mam vyzkousene ze vetsinou
funguje interface IEnumVariant deklarovany v ActiveX.pas s metodami
Next, Skip, Reset a Clone. Mozna funguji obcas i jine podobne interfacy
s podobnymi metodami urcene pro enumerovani ruznych jinych typu
(IEnumString...), ale vyzkousene to nemam.

Pak uz staci projit kolekci pomoci volani metody Next na enumeratoru.
Odkazuji na MSDN, z pameti pisu nasledujici kod ale nemusi byt
uplne dobre:

var
mEnum: IEnumVariant;
mVar: OleVariant
n: Integer;
begin
mEnum := obj._NewEnum as IEnumVariant;
OLECheck(mEnum.Next(1, mVar, n));
while (n > 0) do begin
//v mVar k dispozici IDispatch na objekt v kolekci
OLECheck(mEnum.Next(1, mVar, n));
end;
end;

Martin Schayna

Pozice poli v IB

[*] Ale� Kerner <kerner(zv)metalcom(tec)cz> - 6.10.2002 15:32:21

Ahoj,

jak mam docilit toho, aby po prikazu select byly pole serazene tak jak jim
to zada prikaz

alter table LOG_ACTIONS
alter LOG_DATE position 11

Dik za radu


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

Odchyceni komunikace na COM portu

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 6.10.2002 15:38:38

From: "Jiri Kratochvil" <jiri.kratochvil(zv)webzin(tec)cz>
> Pekne je to udelane napr. v teto aplikaci
> http://www.sysinternals.com/ntw2k/freeware/portmon.shtml
>
> Pokud by nekdo mohl poradit, moc by mi pomohl.

Bez kernel driveru to neudelas, prave neco takoveho pouziva i ten Portmon.

Petr Vones

MemorySleuth

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

> Zdravim,
> slysel jsem o nejakem produktu MemorySleuth, zaujala me jeho cast
Line
> Profiler (zjisti kolik casu trva kazda radka v rutine), na webu
> TurboPoweru jsem ale nenasel zadnou trial verzi kterou bych mohl
> vyzkouset. Mate s tim nekdo zkusenosti? Popripade doporucte nejaky
> jiny podobny program.

Zatim vsechno, co jsem videl modifikovalo zdrojaky (dopisovaly se
instrukce k odecteni casu). Coz nemam rad. Pro ucely vlastnich potreb
jsem si nakonec neco podobneho napsal sam - s tim, ze ty instrukce k
odectu casu si na prislusna mista pisu sam :-). Vec je pomerne
jednoducha (pokud nevyzaduje clovek nejakou vyssi presnost) a princip
je ten, ze se pouziva presny citac casu podporovany primo CPU (RDTSC
instrukce procesoru) a vyhodnoceni se redukuje jen na problem jak
jednoduse (hlavne rychle) inkrementovat prislusne citace evidujici
pocty pruchodu a spotrebovany cas.

Jestli existuje neco jako stary dobry skvely Trubo Profiler z dob DOSu
netusim. Ale bylo by to fajn (kdyby to tak jeste bylo soucasti dodavky
Delphi Pro...)

Zdravi
D. Toman

Vicejazycna aplikace

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 6.10.2002 15:41:52

From: "Ing. Jan Dvorak" <dvorak(zv)szu(tec)cz>
> Patral jsem po zminenem editoru, bohuzel jsem jej nenasel.
> Jak se jmenuje a kde lezi pro D6P?

Pouze v Enterprise/Architect verzi.

Petr Vones

MemorySleuth

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 6.10.2002 15:41:00

From: "Jakub Dusek" <jdev(zv)seznam(tec)cz>
> slysel jsem o nejakem produktu MemorySleuth, zaujala me jeho cast Line
> Profiler (zjisti kolik casu trva kazda radka v rutine), na webu
> TurboPoweru jsem ale nenasel zadnou trial verzi kterou bych mohl
> vyzkouset. Mate s tim nekdo zkusenosti? Popripade doporucte nejaky
> jiny podobny program.

http://www.automatedqa.com/products/aqtime.asp
http://17slon.com/gp/gpprofile/

Petr Vones

Re[2]: MemorySleuth

[*] Jakub Dusek <jdev(zv)seznam(tec)cz> - 6.10.2002 15:52:33

Modifikace zdrojaku by mi ani tak nevadili, taky tomu sice neverim ze se to
dokaze vratit do puvodniho stavu, ale staci delat testovani na zaloze.
Neco podobneho mam taky, zalozeno na Performace Counteru z JCL, ale
jsem linej to pro kazdou rutinu psat okolo vsech radku co chci
otestovat :) Kdysi jsem zkousel GPProf, ale ten tusim neumel merit cas
na jednotlivych radcich, pouze pro cele procedury nebo metody.

Jakub Dusek

Wednesday, November 6, 2002, 3:38:02 PM, you wrote:

DT> Zatim vsechno, co jsem videl modifikovalo zdrojaky (dopisovaly se
DT> instrukce k odecteni casu). Coz nemam rad. Pro ucely vlastnich potreb
DT> jsem si nakonec neco podobneho napsal sam - s tim, ze ty instrukce k
DT> odectu casu si na prislusna mista pisu sam :-). Vec je pomerne
DT> jednoducha (pokud nevyzaduje clovek nejakou vyssi presnost) a princip
DT> je ten, ze se pouziva presny citac casu podporovany primo CPU (RDTSC
DT> instrukce procesoru) a vyhodnoceni se redukuje jen na problem jak
DT> jednoduse (hlavne rychle) inkrementovat prislusne citace evidujici
DT> pocty pruchodu a spotrebovany cas.

DT> Jestli existuje neco jako stary dobry skvely Trubo Profiler z dob DOSu
DT> netusim. Ale bylo by to fajn (kdyby to tak jeste bylo soucasti dodavky
DT> Delphi Pro...)

DT> Zdravi
DT> D. Toman

MemorySleuth

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 6.10.2002 16:02:48

From: "Jakub Dusek" <jdev(zv)seznam(tec)cz>
> Neco podobneho mam taky, zalozeno na Performace Counteru z JCL, ale
> jsem linej to pro kazdou rutinu psat okolo vsech radku co chci
> otestovat :) Kdysi jsem zkousel GPProf, ale ten tusim neumel merit cas

Mozna to nejak zautomatizovat. Uz pred casem jsem chtel udelat nejaky doplnek
ktery by do zdrojaku u kazde metody pridal logovani begin/end s podminenym
prekladem, pricemz by to vkladal na radky s 'begin' a 'end' a to az za sloupec
nastaveny v IDE jako max.delka radku, takze by to tolik nerusilo. Nazvy by se
zjistovaly pomoci JclDebug, takze by tam byly pouze nejake dve metody bez
dalsich argumentu.

Teoreticky by slo merit cas i mezi jednotlivymi breakpointy v IDE, ale ta
rezie asi bude dost velka na to, aby to davalo nejake rozumne vysledky.

Petr Vones

MemorySleuth

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

> Mozna to nejak zautomatizovat. Uz pred casem jsem chtel udelat
nejaky doplnek
> ktery by do zdrojaku u kazde metody pridal logovani begin/end s
podminenym
> prekladem, pricemz by to vkladal na radky s 'begin' a 'end' a to az
za sloupec
> nastaveny v IDE jako max.delka radku, takze by to tolik nerusilo.
Nazvy by se
> zjistovaly pomoci JclDebug, takze by tam byly pouze nejake dve
metody bez
> dalsich argumentu.

Tak malo toho tam zese nebude - drobny problem je ten, ze v tom kodu
musis identifikovat to misto - a to nejak inteligentne aby se to hned
dalo pouzit pri update counteru. Ja to vyresil tak, ze jsem z toho
kodu volal (vse v ASM) nejakou proceduru, ktere jsem natvrdo predaval
index do pole counteru jako identifkator. Pak vlastni update counteru
byla pomerne kratka rutina (ASM), ktera mela konstatni dobu trvani.

Pro zajimavost : Intel doporucuje pred RDTSC volat CPUID aby se
flushla fronta instrukci. Jinak muze byt RDTSC odecteno driv nez by
clovek cekal. Ale pro priblizne vysledky, respo mereni neceho
dostatecne dlouho trvajiciho to neni treba.
http://cedar.intel.com/software/idap/media/pdf/rdtscpm1.pdf

> Teoreticky by slo merit cas i mezi jednotlivymi breakpointy v IDE,
ale ta
> rezie asi bude dost velka na to, aby to davalo nejake rozumne
vysledky.

Turbo Profiler to tak delaval a pracovalo to docela ok. Ale we windows
je rezie debugger asi vyssi.

D. Toman


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