Archív konference Delphi

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

Velikost DBGridu

[*] LUKES V�clav <lukes(zv)ans(tec)cz> - 21.10.2002 14:00:12


Ahoj,

mam D6 a Win 2000 a rac bych Vas poprosil o radu.

Pri selectu vybiram data a davam je do DBGridu. Chtel bych ale, aby velikost tohoto DBGridu byla dynamicky menena dle vebranych dat selectem.

V.

Soucet poli v gridu,bez fieldchange

[*] Ales Pavel <Aldik(zv)quick(tec)cz> - 21.10.2002 14:30:06

Diky udelal jsem to tak je to rychlost a elegance sama....testoval jsem
to...je t lepsi nez nova tabulka....
Aldik

Tabulku zobrazenou v DBGridu bez prekreslovani prochazim takto:

with Tabulka do begin
try
DisableControls;
BookMarkTab := GetBookmark;
First;
while not EOF do begin
...
tady jsou soucty atd.
...
Next;
end; //while
finally
GotoBookmark(BookMarkTab);
EnableControls;
end;
end; //with

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

Velikost DBGridu

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

> Pri selectu vybiram data a davam je do DBGridu. Chtel bych ale, aby
> velikost tohoto DBGridu byla dynamicky menena dle vebranych dat
> selectem.

Co mas presne na mysli pojmem velikost? Sirky sloupcu apod. se dynamicky meni,
jestli jde o vnejsi rozmery cele komponenty, tak (pokud nekdo nevi neco lepsiho) by
se dalo uvazovat o necem takovem:

sirka := 0;
for i := 0 do DBGrid1.Columns.Count - 1 do
sirka := sirka + DBGrid1.Columns[i].Width;

DBGrid1.ClientWidth := sirka; //mozna + par pixelu jako rezerva
nebo
DBGrid1.Width := sirka + nejaka korekce na lem dbgridu


Psano bez Delphi z hlavy, takze jmena properties mozna nebudou sedet presne, ale
nemel by byt problem to doladit.

Je otazka, jestli ma smysl delat grid, ktery bude vetsi nez formular, v pripade
sirokych sloupcu, takze by se dalo mozna i neco jako

DBGrid1.Width := min(DBGrid1.Width, Width) minus nejaka esteticka korekce;

David Lebeda

Program na analyzu programu

[*] Andreas Bednarek <bednarek(zv)digitus(tec)cz> - 21.10.2002 15:36:44

Kdyz jsem videl topic 'Program na spravu zdrojaku' vzpomel jsem si, ze jsem
nedavno hledal nejaky nastroj na analyzu zdrojaku. Nasel jsem jenom nejake
nedodelky, nebo to bylo omezene treba na 1000 radku zdroje (pch :-) a taky
moc drahe, i kdyz to pry analyzovalo projekty vsech verzi Delphi.

Nevite nekdo o necem? Docela by me zajimalo, jake jsou v tomhle moznosti.

Andreas

Prepojovani kanalu ISDN

[*] Ludek ZITA <konference(zv)sales(tec)cz> - 21.10.2002 15:49:51


----- Original Message -----
From: "Miroslav Ondrisek" <ondrisek(zv)seznam(tec)cz>
> Presne toto umi software KEN!(proxy/mail server), ktery se dodava spolu s
> ISDN aktivnimi kartami B1 firmy AVM. Dokonce si muzes nastavit, pri jakem
> procentualnim zatizeni prvniho kanalu se druhy kanal pripoji/odpoji. Takze
> jde to urcite. Musi to ale take podporovat provider (ja pouzivam Tiscali).

Ahoj.
Diky za info.
Tady ale jde o malinko jiny problem.
Trochu to tedy rozepisi.
Ve firme bezi na Win2000 server a pripojuji se pres ISND modem a "Smerovani
a vzdaleny pristup" do firemni site.
Uzivatele maji nastaven CalBack, tedy uzivatel z domova zavola , jeho PC
zavesi a server zavola zpatky. Pak dojde k pripojeni k siti.
Umim to takhle udelat jednokanalove i dvoukanalove ale pokazde pres jine
Tel. pripojeni k siti (nebo jeho modifikaci).
No a ja bych potreboval aby ze strany klienta bylo mozne bez preruseni
spojeni pridavat a ubirat druhy kanal podle momentalni potreby.
Bud nejak ve Windowsech (W2000/XP prof) nebo pomoci jineho SW pripadne z
programku napsanem v Delphi (ideal) abych to mohl
maximalne zjednodusit pro BFU.

Ludek


D7 - registrace nebo aktivace?

[*] Karel Kral <kralkonf(zv)purus(tec)cz> - 21.10.2002 16:10:54

Prave jsem si koupil D7/Pro a jsem ponekud zmateny. To, co po me Delphi
7 chce je pouha registrace nebo aktivace? Ma bez registrace najaka
omezeni? Hledal jsem v Getting started ale odpoved nenasel...
--
______________________________________________________
Karel Kral, vyvojar IT / IT developer
Purus, s.r.o., Cezavy 627, 664 56 Blucina, CZ
Tel: 547 235 000, 602 552 432, Fax: 547 231 203
E-Mail: mailto:kral(zv)purus(tec)cz, WWW: http://www.purus(tec)cz
______________________________________________________

D7 - registrace nebo aktivace?

[*] Radim Kunz <privat(zv)casestudio(tec)com> - 21.10.2002 16:13:39



> Prave jsem si koupil D7/Pro a jsem ponekud zmateny. To, co po me Delphi
> 7 chce je pouha registrace nebo aktivace? Ma bez registrace najaka
> omezeni? Hledal jsem v Getting started ale odpoved nenasel...
> --
> ______________________________________________________
> Karel Kral, vyvojar IT / IT developer

Je to v podstate aktivace, bez ni to vubec nerozjedes.

Radim

D7 - registrace nebo aktivace?

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 21.10.2002 16:16:10

From: "Karel Kral" <kralkonf(zv)purus(tec)cz>
> Prave jsem si koupil D7/Pro a jsem ponekud zmateny. To, co po me Delphi
> 7 chce je pouha registrace nebo aktivace? Ma bez registrace najaka
> omezeni? Hledal jsem v Getting started ale odpoved nenasel...

Bude te to tusim porad otravovat. Staci si zridit account na Community site
(ten budes potrebovat i pro stazeni updatu) a zaregistrovat, prace tak na 2
minuty.

Petr Vones

setprinter a ukonceni aplikace

[*] Sula Milos <milos.sula(zv)oku-su(tec)cz> - 21.10.2002 16:43:51

cau nevite jak se spravne prepnout na jinou tiskarnu v delphi ?

STrPCopy(device,SeSkinComboBox1.Text);
driver:='WINSPOOL';
port:='';
printer.SetPrinter(device,driver,port,0);
device:='';
driver:='';
port:='';
//zjisti rozliseni
printer.GetPrinter(device,driver,port,mode1);
if device='' then exit;
dm:=GlobalLock(mode1);
dpiy:=dm.dmYResolution;
dpix:=dm.dmPrintQuality;
GlobalUnlock(mode1);
Globalfree(mode1);

printer.BeginDoc; //tady to ukonci program po nastaveni SeSkinComboBox1.Text na jakoukoliv jinou tiskarnu nez je vychozi tiskarna ve windows. Nehlasi to zadnou chybu jen se proste ukonci


Milos

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

setprinter a ukonceni aplikace

[*] Pesek Michal <Michal.Pesek(zv)MNUL.CZ> - 21.10.2002 17:16:04

Hi,

naplnim ComboBox

for i := 0 to Printer.Printers.Count - 1 do
cb_Printer.Items.Add(Printer.Printers.Strings[i]);
cb_Printer.ItemIndex := Printer.PrinterIndex;

a na udalost OnChange, pripadne i jinam dam toto:

Printer.PrinterIndex := cb_Printer.ItemIndex;

A dal se o nic nestaram.

S pozdravem
Michal PEPR Pesek
http://www.peprsoft(tec)cz .. -----Original Message-----
.. From: Sula Milos [mailto:milos.sula(zv)oku-su(tec)cz]

.. cau nevite jak se spravne prepnout na jinou tiskarnu v delphi ?

OT: Zaznam souboru WMV

[*] Jan Naiser <tua(zv)wo(tec)cz> - 21.10.2002 19:45:10

Preji pekny den,

daji se nejakym zpusobem ulozit soubory WMV z internetu, ktere se po
spusteni pouze prehravaji ve win. media playeru? Jedna se mi napr. o zaznam
z internetoveho radia.
Asi bych si na to musel neco napsat, ale nevim, odkud zacit.

Diky, Honza.

zaporna hodnota od TObject - Combobox

[*] bleak <bleak(zv)mvesely(tec)com> - 21.10.2002 20:06:19

zdravim,
nevim jak ulozit do TObject zapornou hodnotu, tedy ulozit tam jde, ale pri
pokusu o cteni dojde k chybe, viz nize. Jak to spravne provest?
bleak

combobox.items.clear;
combobox.Items.AddObject(Polozka1', TObject(Integer(-10)));
i:=Integer(combobox.Items.Objects[0]); //List index out of bounds (1)

//combobox.Items.AddObject(Polozka1', TObject(-10));//tohle tak nejde

Razeni v ListView II

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 21.10.2002 20:16:30

From: "Vymazal Milan" <vymazal.milan(zv)seznam(tec)cz>
> function CustomSortProc1(Item1, Item2: TListItem; ParamSort: integer):
integer; stdcall;
> var
> c1,c2:integer;
> begin
> try
> c1:=StrToInt(Item1.Caption);
> c2:=StrToInt(Item2.Caption);
> if c1>c2 then result:=1 else
> if c1<c2 then result:=-1 else result:=0;
> except
>
Result:=lstrcmp(PChar(TListItem(Item1).Caption),PChar(TListItem(Item2).Caption
));
> end;
> end;

To je ponekud zbytecne prekombinovane, navic v pripade kde predpokladas vyskyt
dat, ktere nelze prevest na cislo je pouziti vyjimky krajne nevhodne, protoze
jde o ocekavanou situaci. Cele by to slo udelat treba takto:

function CustomSortProc(Item1, Item2: TListItem; ParamSort: Integer): Integer;
stdcall;
var
N1, N2: Integer;
begin
if TryStrToInt(Item1.Caption, N1) and TryStrToInt(Item2.Caption, N2) then
Result := N1 - N2
else
Result := CompareStr(Item1.Caption, Item2.Caption);
end;

hmm. asi jsem nejak natvrdlej ale TryStrToInt mi nejak nejde . Delphi
mi to nejka neberou

> ale potreboval bych udelat i sort druheho sloupecku ktery taky
> obsahuje cisla. Skousel jsem to udelat takto ale asi jsem to

function CustomSortProc(Item1, Item2: TListItem; ParamSort: Integer): Integer;
stdcall;

function ValueCompare(const V1, V2: string): Integer;
var
N1, N2: Integer;
begin
if TryStrToInt(V1, N1) and TryStrToInt(V2, N2) then
Result := N1 - N2
else
Result := CompareStr(V1, V2);
end;

begin
Result := ValueCompare(Item1.Caption, Item2.Caption);
if Result = 0 then
Result := ValueCompare(Item1.SubItems[0], Item2.SubItems[0]);
end;

Petr Vones

zaporna hodnota od TObject - Combobox

[*] Robert Suska <delphi(zv)korak.sk> - 21.10.2002 20:36:15

ahoj

to tu uz bolo preberane a mam taky dojem ze p. Vones to povedal ak to nie je
pravda tak sorry, ale ze zaporne hodnoty sa ukladat takto nedaju

Robo

> zdravim,
> nevim jak ulozit do TObject zapornou hodnotu, tedy ulozit tam jde, ale pri
> pokusu o cteni dojde k chybe, viz nize. Jak to spravne provest?
> bleak
>
> combobox.items.clear;
> combobox.Items.AddObject(Polozka1', TObject(Integer(-10)));
> i:=Integer(combobox.Items.Objects[0]); //List index out of bounds (1)
>
> //combobox.Items.AddObject(Polozka1', TObject(-10));//tohle tak nejde
>

Tvorba TMenuItem s priradenim onClick

[*] Jozef Baranec <joba(zv)digitaldocuments.org> - 21.10.2002 21:20:58

Ahoj,

Potreboval by som vytvorit TMenuItem s Caption napr. "moje menu" a
priradit tomu onClick procedure, ktora mi povedzme do focusnuteho TEdit
vlozi svoje Caption.
Vedel by mi niekto poradit?


Dakujem

jozo

Napoveda ve formatu *.CHM a Delphi 5 prof

[*] Martin Pavera <martin.pavera(zv)cmail(tec)cz> - 21.10.2002 21:49:46

Zdravim.

Potreboval bych poradit, jak se pracuje s CHM napovedou v Delphi 5 prof..
Dival jsem se do historie delphi konference, ale bohuzel jsem nic
nenasel......

Jak se vyvola stranka napovedy?

Diky.
Martin Pavera


Funkce HttpSendRequest a predavani POSTovanych dat

[*] Martin Falta <martin(zv)aprog(tec)cz> - 21.10.2002 23:02:46

Ahoj,

potreboval bych nejakou ukazku kodu s pouzitim %subj%. Jde mi o to, ze
delam aplikaci, ktera musi komunikovat s webem a musim tam pouzit
session. Nenasel jsem komponenty, ktery by umely to, co potrebuju, tak
jsem se rozhodl, ze si to napisu sam s pouzitim WinInet. Ale jaksi
jsem se zasekl na pouziti dane fce :-((
Takze, pokud by nekdo z vas byl tak hodny a poslal mi kousek kodu, kde
bych se mohl podivat, jak na to, budu mu velmi vdecny.

Predem diky.

--
Best regards,
Martin mailto:martin(zv)aprog(tec)cz

Napoveda ve formatu *.CHM a Delphi 5 prof

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 21.10.2002 23:14:16

21.10.2002 Martin Pavera:
> Zdravim.

> Potreboval bych poradit, jak se pracuje s CHM napovedou v Delphi 5 prof..
> Dival jsem se do historie delphi konference, ale bohuzel jsem nic
> nenasel......

> Jak se vyvola stranka napovedy?

Stahni si free EHS komponenty z
http://www.ec-software.com/index.html

Pak staci dat na formular HelpRouter, nastavis v nem jmeno souboru s
Helpem, typ helpu na CHM a nemusis se o nic starat.
Prace s helpem je stejna jako u .HLP - nastaveni HelpContext u
komponent a formularu

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

Napoveda ve formatu *.CHM a Delphi 5 prof

[*] Tomas Danek <conehead(zv)seznam(tec)cz> - 21.10.2002 23:27:12

www.ec-software.com/delphi/ehs.zip

> Zdravim.
>
> Potreboval bych poradit, jak se pracuje s CHM napovedou v Delphi 5 prof..
> Dival jsem se do historie delphi konference, ale bohuzel jsem nic
> nenasel......
>
> Jak se vyvola stranka napovedy?
>
> Diky.
> Martin Pavera
>
>
>
>

Seznam Oracle serveru

[*] Jiri Foldyna <jiri.f(zv)avizo(tec)cz> - 22.10.2002 00:35:24

Ahoj,

nevi nekdo, jak by sel ziskat seznam dostupnych Oracle serveru v siti ? Neco
jako NetServerEnum, ale pro Oracle, ne pro MS SQL Server... Chci to kvuli
konfiguraci connection stringu v ADO, ty jmena byvaji casto docela bizarni
:-))) a napsat je byva obcas orisek. Chtel bych je nacpat do comba, at si
uzivatel vybere...

Diky

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

Tvorba TMenuItem s priradenim onClick

[*] Petr Varga <djvar(zv)post(tec)cz> - 22.10.2002 01:47:20

> Potreboval by som vytvorit TMenuItem s Caption napr. "moje menu" a
> priradit tomu onClick procedure, ktora mi povedzme do focusnuteho
TEdit > vlozi svoje Caption.
No to by melo jit takto
Var polozka:TmenuItem;
Begin
polozka:=tmenuitem.create(self);
polozka.caption:='Moje menu';
polozka.onclick:=onclick1;
mainmenu1.items.insert(pozicekamvlozit,polozka);
end;
No a procedure Onclick1(Sender:TObject);
Begin
edit1.text:=(sender as tmenuitem).caption;
end;

Nevim jestli to pujde .. psal jsem to z hlavy


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

zaporna hodnota od TObject - Combobox

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.10.2002 02:08:57

From: "bleak" <bleak(zv)mvesely.com>
> combobox.items.clear;
> combobox.Items.AddObject(Polozka1', TObject(Integer(-10)));
> i:=Integer(combobox.Items.Objects[0]); //List index out of bounds (1)

Tohle by melo jit (alespon v Delphi 7 to jde), jedine co nejde je -1, protoze
je to zaroven hodnota konstanty CB_ERR, ktera jako navratova hodnota ze zpravy
CB_GETITEMDATA oznacuje chybu, viz TCustomComboBoxStrings.GetObject. Slo by to
samozrejme upravit tak aby jsi mohl ulozit i -1 a to odvozenim nove komponenty
od TComboBox. Lepsi by ale bylo misto hodnoty ukladat objekt, ktery bude mit
pak danou hodnotu jako vlastnost.

Petr Vones

OT: 2x VGA v pocitaci

[*] Tomas Bradle <t.bradle(zv)worldonline(tec)cz> - 22.10.2002 03:29:45

Zdravim vsechny,

ma nekdo zkusenosti se %subj%. Me Winsows tu druhou najdou, ale hlasi
konflikt.

diky

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

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

Soucet poli v gridu,bez fieldchange

[*] Pavel ZIDEK <delphi(zv)kopr(tec)cz> - 22.10.2002 03:30:23

TDataSet.GetBookmark
To je sice pekne, ale jakmile projedu celou tabulku a pomoci
TDataSet.GetBookmark se vratim na puvodni pozici, tak police v DBGrid a
ruzne jeho odvozeniny se mi nastavi na stred DBGridu, takze opticky se mi
zase obrazovka nejak pohne.
Pavel ZIDEK

> > >Jestlize potrebujes projet tabulku - secist apod. - a nechces aby se
> > >ti opticky nepohyboval DBGrid, zaloz si jeste jednu TTable2, ktera se
> > >odkazuje stejne jako ta prvni na danou tabulku a projizdej pro souctu
> > >a jine vypocty tu druho tabulku. Bude to i rychlejsi, protoze nebude
> > >dochazet k vykreslovani na DBGrid.
>
> IMHO daleko elegantnejsi je pouzit bookmarky
> Podivej se do helpu na TDataSet.GetBookmark, mas tam
> example
>
> Jarek Uher

OT 2x VGA v pocitaci

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

From: "Tomas Bradle" <t.bradle(zv)worldonline(tec)cz>
> ma nekdo zkusenosti se %subj%. Me Winsows tu druhou najdou, ale hlasi
> konflikt.

Ne vsechny PCI karty se daji pouzit jako druha karta k AGP, je nutne se
podivat co k tomu rika vyrobce. Jinak v dnesni dobe je podle me daleko
rozumejsi si poridit dual head kartu, pokud to potrebujes, nez takovyhle
slepenec.

Petr Vones

sharovanie adresara

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.10.2002 03:40:46

From: "Ludo Fulop" <kexo(zv)ynet.sk>
> ako nastavim aby bol adresar sharovany? (win98, 2000, xp)

Na Windows 9x a NT je to jine. V obou pripadech se funkce jmenuje NetShareAdd
ale je v jine DLL a ma jine parametry. Na Jedi najdes konverze hlavicek:
http://delphi-jedi.org/APILIBRARY

Windows NT:
ms-help://MS.PSDK.1033/netmgmt/netmgmt/netshareadd.htm

Windows 9x:
ms-help://MS.PSDK.1033/netmgmt/netmgmt/netshareadd_sample_windows_95_98_me_.ht
m

Petr Vones

setprinter a ukonceni aplikace

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 22.10.2002 07:02:50

> Odes�latel: Pesek Michal <Michal.Pesek(zv)MNUL.CZ>
> for i := 0 to Printer.Printers.Count - 1 do
> cb_Printer.Items.Add(Printer.Printers.Strings[i]);

Michale, jenom esteticka drobnustka:
cb_Printer.Items.Assign(Printer.Printers);
anebo taky
cb_Printer.Items.Text:=Printer.Printers.Text;

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)
=========================================

Kde najit archiv konference

[*] Ing. Jan Dubsk� <hdplot(zv)seznam(tec)cz> - 22.10.2002 07:10:45

Vlastni blbosti se mi podarilo smazat postu, kde jsem mel archivovany
prispevky z konference za posledni dva a pul roku. Da se nekde toto
znovu stahnout v nejakem vhodnem formatu (jako posta nebo jako
databaze atd.) nebo ted budu muset pri hledani vzdy jit na delphi(tec)cz
a prohledavat archiv pomoci IE. Jsem pres dial-up a to by se mi dost
prodrazilo.

Dik za radu

Honza

______________________________________________________________________
Reklama:
Zapoj se do Nokia Game. http://www.nokiagame(tec)cz

Podpora DBF nebo nejake jednoduche databaze pro Tu

[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 22.10.2002 07:26:33

> > Odes�latel: ing. Jan Fiala <jan.fiala(zv)iol(tec)cz>
> > Tusim, ze to umela nadstavba FiendlyPascal.

Nebyl to FriendlyPaslcal, ale Turbo-Pascal Toolbox.
Umoznovalo to praci s DBF soubory a nekterymi
typy indexu. Bylo to pro TP verze 5.5 a 6.0.
Jestli by to slo pouzit i v TP 5.0 to nevim.
A vydal to asi DruSoft Praha.

Vaclav Krmela

SelectAll v bunce TDBGridu

[*] Bohdan Dudla <bdudla(zv)pikeelectronic(tec)com> - 22.10.2002 07:27:42

Ahoj.
Zkus pouzit vlastnost InplaceEditor, je to odvozene TCustomEdit a ma metodu
SelectAll.
Jedina nevyhoda InplaceEditor je mozno pouzivat jen v rezimu editace pole.

With best regards,
Bohdan Dudla

Pike Electronic spol. s r.o.
Modrinova 2
300 00 Plzen
Czech Republic

tel: +420 19 72 40 738
fax: +420 19 74 31 738
gsm: +420 732 441 716
e-mail: bdudla(zv)pikeelectronic.com

zaporna hodnota od TObject - Combobox

[*] Ben, Martin (CAP, GCF) <Martin.Ben(zv)gecapital(tec)com> - 22.10.2002 08:01:29

S timto zpusobem pouziti jsem mel problemy taky. Ted to delam takto a je po
problemech:

const
c_None = -10;
var
vID: Integer;
begin
ComboBox1.Items.Clear;
ComboBox1.Items.AddObject('Polozka 1',Pointer(c_None));
vID := Integer(ComboBox1.Items.Objects[0]);
end;

Samozrejme ze nepouzivam -1.

Martin Ben

PS: V D5Ent jsem tvuj kod vyzkousel a s chybami jsem se nesetkal.

> -----Original Message-----
> From: bleak [mailto:bleak(zv)mvesely.com]
> Sent: Monday, October 21, 2002 8:06 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: zaporna hodnota od TObject - Combobox
>
>
> zdravim,
> nevim jak ulozit do TObject zapornou hodnotu, tedy ulozit tam
> jde, ale pri
> pokusu o cteni dojde k chybe, viz nize. Jak to spravne provest?
> bleak
>
> combobox.items.clear;
> combobox.Items.AddObject(Polozka1', TObject(Integer(-10)));
> i:=Integer(combobox.Items.Objects[0]); //List index out of bounds (1)
>
> //combobox.Items.AddObject(Polozka1', TObject(-10));//tohle tak nejde
>
>

Kde najit archiv konference

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

TmEgaHR0cDovL2F0cmV5Lmthcmxpbi5tZmYuY3VuaS5jei9+cmsvRGF0YVpLb25mZXJlbmNlLnNo
dG1sDQpqc291IGRhdGEgeiBrb25mZXJlbmNlLiBEb2xlIGplIGkgb2RrYXogbmEgcHJvaGxpemVj
IEtvbmZWaWV3DQoNClphdGltIGplIHRhbSBrdmV0ZW4sIGFsZSBkb3VmYW0sIHplIHRvIFNsYXZl
ayBicnp5IGRvemVuZSA6LSkNCg0KLS0gDQppbmcuIEphbiBGaWFsYQ0KbWFpbHRvOmphbi5maWFs
YUBpb2wuY3oNCg0KMjIuMTAuMjAwMiBJbmcuIEphbiBEdWJza/06DQo+IFZsYXN0bmkgYmxib3N0
aSBzZSBtaSBwb2RhcmlsbyBzbWF6YXQgcG9zdHUsIGtkZSBqc2VtIG1lbCBhcmNoaXZvdmFueQ0K
PiBwcmlzcGV2a3kgeiBrb25mZXJlbmNlIHphIHBvc2xlZG5pIGR2YSBhIHB1bCByb2t1LiBEYSBz
ZSBuZWtkZSB0b3RvDQo+IHpub3Z1IHN0YWhub3V0IHYgbmVqYWtlbSB2aG9kbmVtIGZvcm1hdHUg
KGpha28gcG9zdGEgbmVibyBqYWtvDQo+IGRhdGFiYXplIGF0ZC4pIG5lYm8gdGVkIGJ1ZHUgbXVz
ZXQgcHJpIGhsZWRhbmkgdnpkeSBqaXQgbmEgZGVscGhpLmN6DQo+IGEgcHJvaGxlZGF2YXQgYXJj
aGl2IHBvbW9jaSBJRS4gSnNlbSBwcmVzIGRpYWwtdXAgYSB0byBieSBzZSBtaSBkb3N0DQo+IHBy
b2RyYXppbG8u

OT 2x VGA v pocitaci

[*] Kr�l Jirka <admin(zv)printo(tec)cz> - 22.10.2002 08:27:16

> ma nekdo zkusenosti se %subj%. Me Winsows tu druhou najdou, ale hlasi
> konflikt.

Me to fungovalo se 2 ATI kartama. Ale trvalo to na tom, ze primarni VGA bude ta PCI. If opacne, tak to hlasilo
konflikt.

J.

setprinter a ukonceni aplikace

[*] Sula Milos <milos.sula(zv)oku-su(tec)cz> - 22.10.2002 09:04:27

Ano dekuji, ALE jelikoz zjistuji i DPI tiskarny tak mi toto nefunguje tak jak ma.

printer.PrinterIndex:=SeSkinComboBox1.ItemIndex;
device:='';
driver:='';
port:='';
printer.GetPrinter(device,driver,port,mode1);
/tady mi to vraci spravne device podle indexu vybrane tiskarny v comboboxu ALE spatne Thandle mode1 ukazuje totiz stale 600 dpi (dpix,dpiy) coz je rozliseni defaultni tiskarny a ne tiskarny na kterou jsem se prepnul :((
if device='' then exit;
dm:=GlobalLock(mode1);
dpix:=dm.dmYResolution;
dpiy:=dm.dmPrintQuality;
GlobalUnlock(mode1);
Milos
-----Original Message-----
From: Jan Sebel�k [mailto:honza(zv)haes(tec)cz]
Sent: Tuesday, October 22, 2002 7:03 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: setprinter a ukonceni aplikace


> Odes�latel: Pesek Michal <Michal.Pesek(zv)MNUL.CZ>
> for i := 0 to Printer.Printers.Count - 1 do
> cb_Printer.Items.Add(Printer.Printers.Strings[i]);

Michale, jenom esteticka drobnustka: cb_Printer.Items.Assign(Printer.Printers);
anebo taky
cb_Printer.Items.Text:=Printer.Printers.Text;

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) =========================================


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

Podpora DBF nebo nejake jednoduche databaze pro Tu

[*] Petr Langer <langer(zv)xdom(tec)cz> - 22.10.2002 09:06:22

Hmm, tak jsem sel na www.google.com a dal jsem vyhledat "Turbo Pascal DBF" a
vyjela mi spousta odkazu.
Nedival jsem se na ne, ale pochybuju, ze by se tam nedalo vybrat...

Petr Langer

----- Original Message -----
From: "Vaclav Krmela" <krmela(zv)ustinadorlici(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Tuesday, October 22, 2002 7:26 AM
Subject: RE: Podpora DBF nebo nejake jednoduche databaze pro Turbo Pascal
5.0 ?> > Odes�latel: ing. Jan Fiala <jan.fiala(zv)iol(tec)cz>
> > Tusim, ze to umela nadstavba FiendlyPascal.

Nebyl to FriendlyPaslcal, ale Turbo-Pascal Toolbox.
Umoznovalo to praci s DBF soubory a nekterymi
typy indexu. Bylo to pro TP verze 5.5 a 6.0.
Jestli by to slo pouzit i v TP 5.0 to nevim.
A vydal to asi DruSoft Praha.

Vaclav Krmela


Jak na jmeno unity

[*] Lstiburek Pavel <Lstiburek(zv)ceb(tec)cz> - 22.10.2002 09:42:47

Nevite nekdo zda existuje nejaky zpusob jak za behu (nebo nejakym makrem)
zjistit jmeno unity ? Potreboval bych zjistovat udaje u unitach a jeden z
nich je jeji jmeno. Nekde by to byt melo, protoze debuger to dokaze !

Pavel

Seznam Oracle serveru

[*] ViragI(zv)logica(tec)com - 22.10.2002 09:48:11

Napada me jenom rozebrat (rozparsovat) si tnsnames.ora.

Ivan Virag

-----Original Message-----
From: Jiri Foldyna [mailto:jiri.f(zv)avizo(tec)cz]
Sent: Tuesday, October 22, 2002 12:35 AM
To: 'Delphi konference'
Subject: Seznam Oracle serveru


Ahoj,

nevi nekdo, jak by sel ziskat seznam dostupnych Oracle serveru v siti ? Neco
jako NetServerEnum, ale pro Oracle, ne pro MS SQL Server... Chci to kvuli
konfiguraci connection stringu v ADO, ty jmena byvaji casto docela bizarni
:-))) a napsat je byva obcas orisek. Chtel bych je nacpat do comba, at si
uzivatel vybere...

Diky

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


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.

funkcia strtok

[*] p.sestak(zv)corag.sk - 22.10.2002 10:05:20

Neviete ci existuje v Delphi funkcia strtok ako je znama v jazyku C
(string.h)?
alebo je sucastou nejakej freeware kniznice pre Delphi?

Palo Sestak

funkcia strtok

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 22.10.2002 10:28:46

Patrne ne, ale na me strance http://web.redbox(tec)cz/petr.brant si muzes
stahnout funkce GetToken a NumToken, ktere umeji priblizne totez. V JCL
patrne bude neco podobneho take.

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
D&COMM s.r.o.
Korunova�n� 6
Praha 7
tel. +420724007234


Subject: funkcia strtok

Neviete ci existuje v Delphi funkcia strtok ako je znama v jazyku C
(string.h)?
alebo je sucastou nejakej freeware kniznice pre Delphi?

Jak zjistit jmeno DLL

[*] Milan Tome� <milan.tomes(zv)haida(tec)cz> - 22.10.2002 11:03:45

Zdravim vsechny,

potreboval bych v DLL zjistit jeji jmeno - potrebuji to kvuli nacteni
version info te DLL. V application.ExeName je jmeno exe souboru, ktery tu
dll pouziva...

S pozdravem

Milan Tomes
mailto:milan.tomes(zv)haida(tec)cz


Tato zprava byla zkontrolovana na serveru server.haida(tec)cz
antivirovym programem RAV antivirus.

Jak zjistit jmeno DLL

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 22.10.2002 11:16:47

> potreboval bych v DLL zjistit jeji jmeno - potrebuji to kvuli nacteni
> version info te DLL. V application.ExeName je jmeno exe
> souboru, ktery tu dll pouziva...

SysUtils.GetModuleName(HInstance)

HTH
TOndrej

Jak zjistit jmeno DLL

[*] Bohdan Dudla <bdudla(zv)pikeelectronic(tec)com> - 22.10.2002 11:17:55

Ahoj.

Pouzij API funkci:
DWORD GetModuleFileName(

HMODULE hModule, // handle to module to find filename for
LPTSTR lpFilename, // pointer to buffer for module path
DWORD nSize // size of buffer, in characters
);
Jako hModule predas hInstance.

With best regards,
Bohdan Dudla

Pike Electronic spol. s r.o.
Modrinova 2
300 00 Plzen
Czech Republic

tel: +420 19 72 40 738
fax: +420 19 74 31 738
gsm: +420 732 441 716
e-mail: bdudla(zv)pikeelectronic.com

Jak zjistit jmeno DLL

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

>
> potreboval bych v DLL zjistit jeji jmeno - potrebuji to kvuli nacteni
> version info te DLL. V application.ExeName je jmeno exe souboru, ktery tu
> dll pouziva...
>
GetModuleName

Alexandr STEFEK

Seznam Oracle serveru

[*] Jiri Foldyna <jiri.f(zv)avizo(tec)cz> - 22.10.2002 11:38:44

> P�edm�t: RE: Seznam Oracle serveru
>
> Napada me jenom rozebrat (rozparsovat) si tnsnames.ora.
>
> Ivan Virag

To me napadlo, takhle to resi v NCOCI8. Myslel jsem, jestli neco neni v
Oracle Call Interface, ale pri rychlem pruzkumu jsem nic nenasel...

Diky a zdravim

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

>
> nevi nekdo, jak by sel ziskat seznam dostupnych Oracle
> serveru v siti ? Neco
> jako NetServerEnum, ale pro Oracle, ne pro MS SQL Server...
> Chci to kvuli
> konfiguraci connection stringu v ADO, ty jmena byvaji casto
> docela bizarni
> :-))) a napsat je byva obcas orisek. Chtel bych je nacpat do
> comba, at si
> uzivatel vybere...
>
> Jiri Foldyna

Soucet poli v gridu,bez fieldchange

[*] Ales Pavel <Aldik(zv)quick(tec)cz> - 22.10.2002 11:38:05

Aldik asi nechape:
Ja to delam u insert do gridu a to se vzdy nastavim na zacatek noveho radku
a pri editaci to necham tam v gridu kde to bylo a nic se z toho co rikas
nestane,nevim co tam vyvadis(nic ve zlym, jak taky nez na nektery veci
prijdu delam slusny harakiri:-),ale me se nanastavuje na stred,ale na misto
ktere jsem opravdu opustil,mozna ti jen nerozumim protoze me to funguje
naprosto GREAT......dekuji zucastnenym za radu, zase jsem si sedel na
vedenii....:-)))

Pavel ZIDEK mudruje:
>TDataSet.GetBookmark
>To je sice pekne, ale jakmile projedu celou tabulku a pomoci
>TDataSet.GetBookmark se vratim na puvodni pozici, tak police v DBGrid a
>ruzne jeho odvozeniny se mi nastavi na stred DBGridu, takze opticky se mi
>zase obrazovka nejak pohne.


Hezky den

Ales Pavel
D6 Ent WXP
laik v profesionalnim kolotoci
http://talpa.chytrak(tec)cz/

funkcia strtok

[*] Blazek Jaroslav <Jaroslav.Blazek(zv)access-it(tec)cz> - 22.10.2002 10:44:42

Ahoj,

> p.sestak(zv)corag.sk 22.10.02 9:05 >>>
>Neviete ci existuje v Delphi funkcia strtok ako je znama v jazyku C (string.h)?

v JCLStrings jsou procedury
procedure StrTokens(const S: AnsiString; const List: TStrings);
procedure StrTokenToStrings(S: AnsiString; Separator: AnsiChar; const List: TStrings);

S pozdravem

Bc. Jaroslav Blazek
Access-IT Ceska Lipa
mailto:jaroslav.blazek(zv)access-it(tec)cz
http://www.access-it(tec)cz
ICQ# : 133673990
+420605/813644

Editace kodu

[*] Martin Kriz <m_kriz(zv)del(tec)cz> - 22.10.2002 12:03:17

Zdravim,
v prostredi D5 jsem po spusteni appl. mohl editovat kod, toto mi prestalo
fungovat. Nema s timto nekdo nejake zkusenosti (kde je toto nastaveno)?

Predem dik
Martin

Editace kodu

[*] Kadan� Miroslav <Miroslav.Kadane(zv)cht-pce(tec)cz> - 22.10.2002 12:11:54

V menu Tools/Enviroment Options si odskrtni Hide designers on run

-----Original Message-----
From: Martin Kriz [mailto:m_kriz(zv)del(tec)cz]
Sent: Tuesday, October 22, 2002 12:03 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Editace kodu

Zdravim,
v prostredi D5 jsem po spusteni appl. mohl editovat kod, toto mi prestalo
fungovat. Nema s timto nekdo nejake zkusenosti (kde je toto nastaveno)?

Predem dik
Martin

Editace kodu

[*] Jiri Foldyna <jiri.f(zv)avizo(tec)cz> - 22.10.2002 12:12:53

> P�edm�t: Editace kodu
>
> Zdravim,
> v prostredi D5 jsem po spusteni appl. mohl editovat kod, toto
> mi prestalo
> fungovat. Nema s timto nekdo nejake zkusenosti (kde je toto
> nastaveno)?

Ahoj,

menu Tools->Debugger Options->General->Mark buffers read-only on run

Zdravim

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

Algoritmus na p�evod �esk�ho jm�na a p��

[*] Jon� Marian <Jonas(zv)komercpoj(tec)cz> - 22.10.2002 12:17:28

Zdravim vsechny,

hledam algoritmus, ktery by dokazal prevest jmeno a prijmeni z prvniho padu do 2. nebo 5. padu. Kdysi davno jsem to videl v Basicu v knizce Programatorske perlicky. Nemate nekdo neco takoveho ?

Dik Marian

DBGrid multi-line

[*] Dalin <delphi-konference(zv)bcpraha(tec)com> - 22.10.2002 13:21:52

Ahoj nevite jak nebo jestli je nejaka komponenta
na zobrazeni vice polozek z DB do jednoho policka
dbgridu tak aby byly na vice radku.
a cely se oznacil po vybrani kurzorem.

napr.
____________________________________________
|polozka1|typA|popis1|neco|
| |typB|popis2| |
| |typC|popis3| |
-------------------------------------------

Dik moc Dalin

KonfView

[*] Viktor Marek <viktor(zv)mbox.vol(tec)cz> - 22.10.2002 13:35:12

Zdravim.

Chtel bych se zeptat tech, kteri pouzivaji KonfView zda jim pri prochazeni
prispevku vybiha hlaska "RichEdit line insertion error" Zkousel jsem prg.
preinstalovat a znovu do nej natahnou prispevky, ale bez uspechu.

Pokud nekdo ma nejake moudro, pripadne pokud nekdo resil vyse uvedenou
skutecnost upravou KonfViewu a muze poskytnou opravenou verzi budu rad.

Diky za odpoved

Viktor Marek
viktor(zv)mbox.vol(tec)cz

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

Font do editoru

[*] Karel Kral <kralkonf(zv)purus(tec)cz> - 22.10.2002 13:49:53

Ahoj,
nekolikrat se tu objevil dotaz, zda existuji jine fonty do editoru nez
Courier. Narazil jsem na jeden zajimavy a free. Ma jediny nedostatek:
nejsem si jisty, zda je lepsi nez Courier. Ale stoji za zkousku.

http://www.raize.com/DevTools/Tools/RzFont.htm
--
______________________________________________________
Karel Kral, vyvojar IT / IT developer
Purus, s.r.o., Cezavy 627, 664 56 Blucina, CZ
Tel: 547 235 000, 602 552 432, Fax: 547 231 203
E-Mail: mailto:kral(zv)purus(tec)cz, WWW: http://www.purus(tec)cz
______________________________________________________

Dotaz na tvorbu Helpu pro Delphi apl.

[*] Petr Va�eka <pvareka(zv)mujmejl(tec)cz> - 22.10.2002 14:00:09

Jsem s pozdravem a tazi se na nasledujici:

Zacinam s tvorbou uzivatelskych helpu a po absolvovani mnoha bezuspenych
pokusu se
radeji obracim na konferu.
V dokumentaci jsem nasel, ze pri vytvareni textu napovedy s extensi *.RTF
je treba vkladat poznamky pod carou.

Doslovne zde ctu: " ....Poznamek je vic, a jejich vyznam zavisi na pouzitem
symbolu:
Symbol + ... Browse sequence, # .... Context string, atd.

Vytvoril jsem tedy ve WORD97 soubor PAMET.RTF s jednotlivymi polozkami,
oddelil jsem je konci stranek a
pak jsem na 1. stranku vlozil poznamku pod carou se znenim #Prohlizeni

Do projektoveho souboru PAMET.HPJ jsem vlozil nasl. sekce:
[OPTIONS]
TITLE=N�pov�da
CONTENTS=Prohl�en�
ERRORLOG=HLP.ERR
[FILES]
PAMET.RTF
[MAP]
Prohl�en� 0

Po kompilaci prostr. Microsoft Help Workshopu se objevuje varovani (v soub.
HLP.ERR)
HC4009: Warning:
The Topic ID "Prohl�en�" specified in the Project files as the Default
Topic does not exist.

Kde delam chybu ? Jak se vklada Context String do poznamky pod carou ?

Predem dekuji za odpoved.

S pozdravem Petr Vareka

Font do editoru

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.10.2002 14:04:16

From: "Karel Kral" <kralkonf(zv)purus(tec)cz>
> Courier. Narazil jsem na jeden zajimavy a free. Ma jediny nedostatek:
> nejsem si jisty, zda je lepsi nez Courier. Ale stoji za zkousku.

Nejvice se mi osvedcil Fixedsys v kombinaci s rozumnym rozlisenim, alespon
1280x1024 nebo jeste lepe 1400x1120.

Petr Vones

Razeni v ListView II

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 22.10.2002 14:06:44


VM> From: "Vymazal Milan" <vymazal.milan(zv)seznam(tec)cz>
>> function CustomSortProc1(Item1, Item2: TListItem; ParamSort: integer):
VM> integer; stdcall;
>> var
>> c1,c2:integer;
>> begin
>> try
>> c1:=StrToInt(Item1.Caption);
>> c2:=StrToInt(Item2.Caption);
>> if c1>c2 then result:=1 else
>> if c1<c2 then result:=-1 else result:=0;
>> except
>>
VM> Result:=lstrcmp(PChar(TListItem(Item1).Caption),PChar(TListItem(Item2).Caption
VM> ));
>> end;
>> end;

VM> To je ponekud zbytecne prekombinovane, navic v pripade kde predpokladas vyskyt
VM> dat, ktere nelze prevest na cislo je pouziti vyjimky krajne nevhodne, protoze
VM> jde o ocekavanou situaci. Cele by to slo udelat treba takto:

VM> function CustomSortProc(Item1, Item2: TListItem; ParamSort: Integer): Integer;
VM> stdcall;
VM> var
VM> N1, N2: Integer;
VM> begin
VM> if TryStrToInt(Item1.Caption, N1) and TryStrToInt(Item2.Caption, N2) then
VM> Result := N1 - N2
VM> else
VM> Result := CompareStr(Item1.Caption, Item2.Caption);
VM> end;

hmm. asi jsem nejak natvrdlej ale TryStrToInt mi nejak nejde . Delphi
mi to nejka neberou

Milan

KonfView

[*] Ludo Fulop <kexo(zv)ynet.sk> - 22.10.2002 14:13:54

mne pomohlo ked som obnovil z instalacneho cd windowsov subory
c:\windows\system\riched*.dll
Ludo Fulop

----- Original Message -----
> prispevku vybiha hlaska "RichEdit line insertion error" Zkousel jsem prg.
> preinstalovat a znovu do nej natahnou prispevky, ale bez uspechu.

Synapse a timeout u Cram-MD5

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 22.10.2002 14:34:38

Zdravim,
chci pouzit Synapsi pro rozesilani HTML e-mailu (v ramci intranetu).
Naformatuju TMimeMess dle prikladu v dokumentaci a pri odeslani pomoci
SendToRaw se to pres firemni SMTP tvari "ztuhle" (ale napr. pres
smtp.seznam(tec)cz je to OK). Zjistil jsem, ze problem je ve funkci AuthCram,
pri ReadResult, kdy timeout je nastaveny na 300000, takze to trva trosku moc
dlouho :-) Pri nastaveni na 10000 je zda se vsechno ok. Nejde to vyresit
nejak jinak? K cemu je AUTH CRAM-MD5?

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

Dotaz na tvorbu Helpu pro Delphi apl.

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 22.10.2002 14:37:43

----- Original Message -----
From: "Petr Va�eka" <pvareka(zv)mujmejl(tec)cz>
> Vytvoril jsem tedy ve WORD97 soubor PAMET.RTF s jednotlivymi
> polozkami, oddelil jsem je konci stranek a pak jsem na 1. stranku
> vlozil poznamku pod carou se znenim #Prohlizeni
...
> Do projektoveho souboru PAMET.HPJ jsem vlozil nasl. sekce:
> [OPTIONS]
> TITLE=N�pov�da
> CONTENTS=Prohl�en�

Mozna nejde pouzivat v ID stranky cestinu nebo mas opravdu
v RTF "Prohlizeni" a v HPJ "Prohl�en�".

Kazdopadne proc nedelas helpy v HTML a nekompilujes do CHM?
Tam alespon ihned vydis ve FrontPage jak bude stranka vypadat
a nemusis si hrat s poznamkami pod carou.

Martin Schayna

Razeni v ListView II

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.10.2002 14:42:35

From: "Vymazal Milan" <vymazal.milan(zv)seznam(tec)cz>
> hmm. asi jsem nejak natvrdlej ale TryStrToInt mi nejak nejde . Delphi
> mi to nejka neberou

Patrne mas starsi verzi Delphi, jelikoz nebyla verze v dotazu uvedena tak
implicitne predpokladam posledni verzi, tedy 7. Funkce TryStrToInt je vcelku
jednoducha, muze vypadat treba takhle:

function TryStrToInt(const S: string; var Value: Integer): Boolean;
var
Error: Integer;
begin
Val(S, Value, Error);
Result := (Error = 0);
end;

Petr Vones

KonfView

[*] xXx <assas(zv)bonbon(tec)net> - 22.10.2002 13:51:12

>
> Chtel bych se zeptat tech, kteri pouzivaji KonfView zda jim pri prochazeni prispevku
> vybiha hlaska "RichEdit line insertion error" Zkousel jsem prg. preinstalovat
> a znovu do nej natahnou prispevky, ale bez uspechu.
>

Jo stava se to.

Takova rychla, ne moc oku lahodna uprava je nasledujisi:

v Main.pas (ze dne 26.1.2000 20:02)

# radek 1629
for i := 0 to slSyntax.Count-1 do begin

# ZMENIT NA:
for i := 0 to slSyntax.Count-1 do
try //!! tom 2002-10-07 odrbavka nezname chyby
# A pak kolem radku 1672

end;
end;

reMain.SelStart := 0;

# ZMENIT NA:

end;
except //!! tom 2002-10-07 odrbavka nezname chyby
end;

reMain.SelStart := 0;



A kdyz uz se budes hrabat ve zdrojacich, tak doporucuji takovou drobnou v AddFile.pas

Pridat za radek 320

DatabaseName := fMain.DatabaseName;


Tom

Jak na jmeno unity

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.10.2002 14:51:43

From: "Lstiburek Pavel" <Lstiburek(zv)ceb(tec)cz>
> Nevite nekdo zda existuje nejaky zpusob jak za behu (nebo nejakym makrem)
> zjistit jmeno unity ? Potreboval bych zjistovat udaje u unitach a jeden z
> nich je jeji jmeno. Nekde by to byt melo, protoze debuger to dokaze !

Debugger vi totiz neco, co nevi tvoje aplikace ;-) Muzes pouzit funkci
ModuleByLevel z JCL, je ovsem nutne do aplikace pridat jeste dalsi informace
(cca 12% velikosti MAP filu) ktere toto umoznuji zjistovat za behu aplikace,
podrobnosti v Readme.txt. Priklady pouziti:

uses
JclDebug;

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(ModuleByLevel);
// Zobrazi: Unit1
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ShowMessage(GetLocationInfoStr(Caller));
// Zobrazi: [0045F941] Unit1.TForm1.Button2Click (Line 38, "Unit1.pas")
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
ShowMessage(GetLocationInfoStr(Caller, True, True, True));
// Zobrazi: [0045F941]{Project1.exe} Unit1.TForm1.Button2Click (Line 38,
"Unit1.pas" + 1) + $A
end;

Vice na:
http://sourceforge.net/project/showfiles.php?group_id=47514&release_id=100652
http://delphi-jedi.org/CODELIBJCL

Petr Vones

Jak na jmeno unity

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 22.10.2002 15:00:21

> Debugger vi totiz neco, co nevi tvoje aplikace ;-) Muzes pouzit
funkci
> ModuleByLevel z JCL, je ovsem nutne do aplikace pridat jeste dalsi
informace
> (cca 12% velikosti MAP filu) ktere toto umoznuji zjistovat za behu
aplikace,

je pravdepodobne, ze to jde i bez toho (minimalne ziskat jmena
pouzitych knihoven) - pokud se juknete na konec libovolneho execka
kompilovaneho v Delphi je tam seznam jmen pouzitych knihoven vcetne
jmena projektu :-((((


D. Toman

SQLStoredProc

[*] Koh�k Jaroslav <jaroslav.kohak(zv)dites(tec)cz> - 22.10.2002 15:09:45

Pouzij komponentu TStoredProc a vypln ji databasename a StoredProcName (ten
Ti to samo nabidne). Pak to pouzijes treba takhle (ja jsem komponentu
pojmenoval VPVratSP)

DataModule1->VPVratSP->Params->Items[0]->AsInteger =
DataModule1->HlavOdlozVPT->FieldByName("VPRIKHLAVID")->AsInteger;
DataModule1->VPVratSP->Prepare();
DataModule1->VPVratSP->ExecProc();
DataModule1->VPVratSP->UnPrepare();


----- Original Message -----
From: "LUKES V�clav" <lukes(zv)ans(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, October 17, 2002 9:53 AM
Subject: SQLStoredProc



Ahoj,

nemate prosim nekdo priklad na pouziti SQLStoredProc ? Stale mi to pise, ze
operace neni podporovana.

Diky

V.

Dotaz na tvorbu Helpu pro Delphi apl.

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 22.10.2002 15:12:41

Odpoved sice neznam, na takovehle urovni jsem s HLP nedelal, ale spis me
zajima, proc radeji nepouzijes format CHM? Jeho vytvareni je velmi
jednoduche (postaci jakykoli free HTML editor) a de/kompilator je take
gratis. Krome toho existuji pro Delphi komponenty, ktere umoznuji vazbu na
ten CHM soubor s tim, ze dovoluji otevrit zvolene tema, otevrit/zavrit celou
napovedu atd. Format HLP se mi v soucasne dobe zda jiz prekonany.

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
D&COMM s.r.o.
Korunova�n� 6
Praha 7
tel. +420724007234
Subject: Dotaz na tvorbu Helpu pro Delphi apl.

Zacinam s tvorbou uzivatelskych helpu a po absolvovani mnoha
bezuspenych
pokusu se
radeji obracim na konferu.
V dokumentaci jsem nasel, ze pri vytvareni textu napovedy s extensi
*.RTF
je treba vkladat poznamky pod carou.

Doslovne zde ctu: " ....Poznamek je vic, a jejich vyznam zavisi na
pouzitem
symbolu:
Symbol + ... Browse sequence, # .... Context string, atd.

Vytvoril jsem tedy ve WORD97 soubor PAMET.RTF s jednotlivymi
polozkami,
oddelil jsem je konci stranek a
pak jsem na 1. stranku vlozil poznamku pod carou se znenim
#Prohlizeni

Do projektoveho souboru PAMET.HPJ jsem vlozil nasl. sekce:
[OPTIONS]
TITLE=N�pov�da
CONTENTS=Prohl�en�
ERRORLOG=HLP.ERR
[FILES]
PAMET.RTF
[MAP]
Prohl�en� 0

Po kompilaci prostr. Microsoft Help Workshopu se objevuje varovani
(v soub.
HLP.ERR)
HC4009: Warning:
The Topic ID "Prohl�en�" specified in the Project files as the
Default
Topic does not exist.

Kde delam chybu ? Jak se vklada Context String do poznamky pod carou
?

Jak na jmeno unity

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

From: "Dalibor Toman" <dtoman(zv)fortech(tec)cz>
> je pravdepodobne, ze to jde i bez toho (minimalne ziskat jmena
> pouzitych knihoven) - pokud se juknete na konec libovolneho execka
> kompilovaneho v Delphi je tam seznam jmen pouzitych knihoven vcetne
> jmena projektu :-((((

Presneji receno je to v PACKAGEINFO resource a lze to vypsat do citelne
podoby, jsou na to funkce v Delphi RTL nebo JclPeImage. Jenze tim ziskas jen
seznam unitu, ne jmeno unitu v miste volani z aplikace, na co predpokladam ze
byl puvodni dotaz. Jeste je mozne ziskat jmeno unitu z tridy pomoci RTTI, ale
to asi take neni presne ono.

Petr Vones

Synapse a timeout u Cram-MD5

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 22.10.2002 15:19:03

> chci pouzit Synapsi pro rozesilani HTML e-mailu (v ramci intranetu).
> Naformatuju TMimeMess dle prikladu v dokumentaci a pri odeslani pomoci
> SendToRaw se to pres firemni SMTP tvari "ztuhle" (ale napr. pres
> smtp.seznam(tec)cz je to OK). Zjistil jsem, ze problem je ve funkci
> AuthCram, pri ReadResult, kdy timeout je nastaveny na 300000, takze to
> trva trosku moc dlouho :-) Pri nastaveni na 10000 je zda se vsechno
> ok. Nejde to vyresit nejak jinak? K cemu je AUTH CRAM-MD5?

AUTH CRAM-MD5 je jeden ze zpusobu prihlaseni-se ke ESMTP serveru, a
to metodou, kdy neni pres spojeni posilano jmeno a heslo, ale je to
provedeno metodou CRMA-MD5 ;-) (tedy kdyz si to nekdo odposlechne,
nezjisti tvuje jmeno a heslo, ba ani kdyz zkusi zopakovat to co
odposlechl, tak mu to k nicemu nebude. ;-)

nicmene v pripade inanetu patrne prihlasovani k SMTP serveru vubec
nepotrebujes, ne? Ta funkce je volana pouze kdyz:

1. mas vyplnene prihlasovaci informace v properties
2. server hlasi,z e CRAM-MD5 metodu podporuje.

Pokud to za tehto podminek v te funkci v'vytuhne', znamena to, ze
server neodpovida tak jak si tato prihlasovaci metoda zada. Patrne
proto, ze tuto metodu nepodporuje. Jenze proc pak v capabilitach
hlasi ze ji podporuje? (tedy chyba je patrne v tvem serveru...)

Reseni: pokud se skutecne nemusis autorizovat, nevyplnuj autorizacni
udaje a do teto funkce ti to nevleze...

Kazdopadne mne zajima, co to je za server a jestli je verejne
pristupny, abych si jej 'osahal'...
-- Lukas Gebauer.

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

OT Virtualni tiskarna

[*] Martin Radvansky <delphicz(zv)stereo(tec)cz> - 22.10.2002 15:55:48

Ahoj vsichni
Existuje nejaka moznost jak presmerovat tisk z Quick reportu , mozna
obecne jakykoliv tisk, do neceho jako virtualni tiskarna. Respektive
da se vubec v Delphi vytvorit takova vec jako vyrtualni tiskarna.
Jedna se mi o ten stejny princip jako Fine print. Tj. tisknout do
"souboru" a pak pracovat s vysledkem. Jedna se mi o to, jestli mohu vice
jednostrankovych tisku dostat do jednoho jobu pro tisk.


--
S pozdravem,
Martin

Re[2]: Razeni v ListView II

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 22.10.2002 16:30:55

Hello Petr,

Tuesday, October 22, 2002, 2:42:35 PM, you wrote:

PV> From: "Vymazal Milan" <vymazal.milan(zv)seznam(tec)cz>
>> hmm. asi jsem nejak natvrdlej ale TryStrToInt mi nejak nejde . Delphi
>> mi to nejka neberou

PV> Patrne mas starsi verzi Delphi, jelikoz nebyla verze v dotazu uvedena tak
PV> implicitne predpokladam posledni verzi, tedy 7. Funkce TryStrToInt je vcelku
PV> jednoducha, muze vypadat treba takhle:

PV> function TryStrToInt(const S: string; var Value: Integer): Boolean;
PV> var
PV> Error: Integer;
PV> begin
PV> Val(S, Value, Error);
PV> Result := (Error = 0);
PV> end;

Diky moc. mam totiz Delphi 5. ale nevedel jsem ze tam jsou nejake
rozdili tohoto typu

PV> Petr Vones

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

OT 2x VGA v pocitaci

[*] Tomas Bradle <t.bradle(zv)worldonline(tec)cz> - 22.10.2002 16:59:25

>
> Ne vsechny PCI karty se daji pouzit jako druha karta k AGP, je nutne se
> podivat co k tomu rika vyrobce. Jinak v dnesni dobe je podle me daleko
> rozumejsi si poridit dual head kartu, pokud to potrebujes, nez takovyhle
> slepenec.
>
> Petr Vones


No, ja to s tou dual headkou zkusil, ale ta mi nedovoli na sekundarnim
vystupu nastavovat frekvece: snimkova, radkova, dobu synch., f-porch,
b-porch, atd... (v powerstripu i pres vlastnosti VGA) Ten druhej vystup je
proste jen takovy privesek. Ma nekdo jine zkusenosti ? (zkousel jsem Matrox
Millenium G450 DH)

diky

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



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

OT 2x VGA v pocitaci

[*] Jiri Foldyna <jiri.f(zv)avizo(tec)cz> - 22.10.2002 17:09:19

> No, ja to s tou dual headkou zkusil, ale ta mi nedovoli na sekundarnim
> vystupu nastavovat frekvece: snimkova, radkova, dobu synch., f-porch,
> b-porch, atd... (v powerstripu i pres vlastnosti VGA) Ten
> druhej vystup je
> proste jen takovy privesek. Ma nekdo jine zkusenosti ?
> (zkousel jsem Matrox
> Millenium G450 DH)
>
> Tomas Bradle

Ahoj,

mam Matrox Millenium 550 dualhead. Primarni monitor Sony Multiscan E400 19",
nastaveni (customized by user) 1600x1200(zv)81Hz, velke fonty. Sekundarni
monitor Mag XJ500T 15", nastaveni (customized by user) 1024x768(zv)85Hz, velke
fonty. Drivery od Matroxu, verze package 5.82.018.
Absolutni spokojenost, zadne problemy.

Zdravim

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

Try..finally a inicializace promenne

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 22.10.2002 17:13:38

Ahoj vsem,
nemam jasno v tom, kde vytvaret instanci objektu. Priklad:

try
Buf := TMemoryStream.Create;
....
finally
Buf.Free;
end;

takto mi to pripada spravne, lec kompilator ma za to, ze variable buf might
not have been initialized.
Jde se nejak teto hlasky trvale zbavit, pouze pro tento pripad? Nebo je snad
lepsi vytvorit objekt jeste pred try?
Diky,
Martin Burle, D6, W2k


Try..finally a inicializace promenne

[*] PeJaSoft <pejasoft(zv)volny(tec)cz> - 22.10.2002 17:33:44

Buf := TMemoryStream.Create;
try
....
finally
Buf.Free;
end;

Tohle se kompilatoru libit bude.

S pozdravem

Petr Jarkovsky
pejasoft(zv)post(tec)cz

----- Original Message -----
From: "Martin Burle" <mburle2(zv)volny(tec)cz>
> Ahoj vsem,
> nemam jasno v tom, kde vytvaret instanci objektu. Priklad:
>
> try
> Buf := TMemoryStream.Create;
> ....
> finally
> Buf.Free;
> end;
>
> takto mi to pripada spravne, lec kompilator ma za to, ze variable buf
might
> not have been initialized.
> Jde se nejak teto hlasky trvale zbavit, pouze pro tento pripad? Nebo je
snad
> lepsi vytvorit objekt jeste pred try?
> Diky,
> Martin Burle, D6, W2k

Try..finally a inicializace promenne

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.10.2002 17:35:08

From: "Martin Burle" <mburle2(zv)volny(tec)cz>
> nemam jasno v tom, kde vytvaret instanci objektu. Priklad:
>
> try
> Buf := TMemoryStream.Create;
> ....
> finally
> Buf.Free;
> end;
>
> takto mi to pripada spravne, lec kompilator ma za to, ze variable buf might
> not have been initialized.
> Jde se nejak teto hlasky trvale zbavit, pouze pro tento pripad? Nebo je snad
> lepsi vytvorit objekt jeste pred try?

Takhle je to nesmyslne, protoze ti jde o to mit garantovane uvolneni toho
objektu. Teoreticky totiz muze vzniknout vyjimka i v konstruktoru. Spravne:

Buf := TMemoryStream.Create;
try
....
finally
Buf.Free;
end;

Petr Vones

Synapse a timeout u Cram-MD5

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

> AUTH CRAM-MD5 je jeden ze zpusobu prihlaseni-se ke ESMTP serveru, a
> to metodou, kdy neni pres spojeni posilano jmeno a heslo, ale je to
> provedeno metodou CRMA-MD5 ;-) (tedy kdyz si to nekdo odposlechne,
> nezjisti tvuje jmeno a heslo, ba ani kdyz zkusi zopakovat to co
> odposlechl, tak mu to k nicemu nebude. ;-)
>
> nicmene v pripade inanetu patrne prihlasovani k SMTP serveru vubec
> nepotrebujes, ne? Ta funkce je volana pouze kdyz:

No, hm, tak to nebude v intranetu, rikejme tomu, ze ta posta bude pro
vybranou skupinu lidi :-)

> 1. mas vyplnene prihlasovaci informace v properties
> 2. server hlasi,z e CRAM-MD5 metodu podporuje.

Zkusim.

> Pokud to za tehto podminek v te funkci v'vytuhne', znamena to, ze
> server neodpovida tak jak si tato prihlasovaci metoda zada. Patrne
> proto, ze tuto metodu nepodporuje. Jenze proc pak v capabilitach
> hlasi ze ji podporuje? (tedy chyba je patrne v tvem serveru...)
>
> Reseni: pokud se skutecne nemusis autorizovat, nevyplnuj autorizacni
> udaje a do teto funkce ti to nevleze...
>
> Kazdopadne mne zajima, co to je za server a jestli je verejne
> pristupny, abych si jej 'osahal'...

Ty mejlove ucty jsou u www.explorer(tec)cz
A dik za rychlou odpoved.

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

Try..finally a inicializace promenne

[*] Martin Cajbik <cajbik(zv)sct.sk> - 22.10.2002 17:38:09

Mozno je lepsie to napisat takto, vtedy by to nemalo hlasit nic

Buf:= nil;
try
Buf := TMemoryStream.Create;
....
finally
if Buf <> nil then
Buf.Free;
end;

MarCaNT (marcant(zv)sct.sk)

> Ahoj vsem,
> nemam jasno v tom, kde vytvaret instanci objektu. Priklad:
>
> try
> Buf := TMemoryStream.Create;
> ....
> finally
> Buf.Free;
> end;
>
> takto mi to pripada spravne, lec kompilator ma za to, ze variable buf
might
> not have been initialized.
> Jde se nejak teto hlasky trvale zbavit, pouze pro tento pripad? Nebo je
snad
> lepsi vytvorit objekt jeste pred try?
> Diky,
> Martin Burle, D6, W2k
>

Try..finally a inicializace promenne

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.10.2002 17:43:51

From: "Martin Cajbik" <cajbik(zv)sct.sk>
> Buf:= nil;
> try

Toto by melo smysl v pripade, ze chces snizit pocet vnorenych try..finally
bloku, napriklad:

var
InputStream, OutputStream: TMemoryStream;
begin
InputStream := TMemoryStream.Create;
try
OutputStream := TMemoryStream.Create;
try

finally
OutputStream.Free;
end;
finally
InputStream.Free;
end;
end;

upraveno jako:

var
InputStream, OutputStream: TMemoryStream;
begin
OutputStream := nil;
InputStream := TMemoryStream.Create;
try
OutputStream := TMemoryStream.Create;

finally
InputStream.Free;
OutputStream.Free;
end;
end;> if Buf <> nil then
> Buf.Free;

Toto je nesmyslne, protoze metoda Free prave kontroluje zdali instance objektu
neni nil.

Petr Vones

Try..finally a inicializace promenne

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 22.10.2002 18:26:23

----- Original Message -----
From: "Martin Burle" <mburle2(zv)volny(tec)cz>
> nemam jasno v tom, kde vytvaret instanci objektu. Priklad:
>
> try
> Buf := TMemoryStream.Create;
> ....
> finally
> Buf.Free;
> end;
>
> Jde se nejak teto hlasky trvale zbavit, pouze pro tento pripad? Nebo je snad
> lepsi vytvorit objekt jeste pred try?

Ano, pred try. Pokud behem volani constructoru dojde k vyjimce,
automaticky se zavola destructor takze neni treba osetrovat Create
pomoci try-finally.

V pripade podobnych nejasnosti je mozne kouknout na zdrojaky
napr. v (delphi)\Source\VCL, samozrejme krome rady RTFM
<g>.

Martin Schayna

Try..finally a inicializace promenne

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

> Buf := TMemoryStream.Create;
> try
> ....
> finally
> Buf.Free;
> end;

Diky vsem, delal jsem to presne tak, tedy Create jeste pred try, ale nemel
jsem z toho uplne dobry pocit - ted uz jsem v klidu :). Zmatlo me, ze create
v bloku try.. jsem videl v nekolika cizich zdrojacich, nepochybne
zkusenejsich autoru. Tedy proto, ze jsem RTFS <G> (nebyl to holt zdrojak
VCL).

Martin Burle

Ikonka dokumentu ze systemu

[*] Gallina Lukas <Lukas.Gallina(zv)programky(tec)cz> - 22.10.2002 22:48:31

Ahoj.
Nevite nekdo jak ziskat od systemu ikonku dokumentu, kterou ma asociovanou?
Nemohu najit zadnou API ktera by mi to pomohla zaridit.
Diky.

D6 Personal, WinXP profi


S pozdravem
Lukas Gallina
lukas.gallina(zv)programky(tec)cz
www.programky(tec)cz


Ikonka dokumentu ze systemu

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

From: "Gallina Lukas" <Lukas.Gallina(zv)programky(tec)cz>
> Nevite nekdo jak ziskat od systemu ikonku dokumentu, kterou ma asociovanou?

Napriklad pomoci funkce GetFileNameIcon z JCL:
http://sourceforge.net/project/showfiles.php?group_id=47514&release_id=100652

uses
JclShell;

procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Picture.Icon.Handle := GetFileNameIcon('unit1.pas');
end;

Petr Vones

Try..finally a inicializace promenne

[*] Viliam Mlich <vmlich(zv)mbox.vol(tec)cz> - 23.10.2002 06:57:46

>> if Buf <> nil then
>> Buf.Free;

> Toto je nesmyslne, protoze metoda Free prave
> kontroluje zdali instance objektu neni nil.

Na take nieco sa moze spoliehat len samovrah. Ale my jeptisky si aj na
sviecku natahujeme prezervativ.

bye
vmlich

Jak z D4 St. na PostgreSQL ?

[*] Viliam Mlich <vmlich(zv)mbox.vol(tec)cz> - 23.10.2002 07:14:54

Hello All!

V archive vidim, ze to niektori bezne pouzivaju. Co mam do W95
nainstalovat a aku komponentu doporucujete pouzit z D4 Standard (bez
BDE)?

Bye
V.Mlich http://www.rar(tec)cz

Dotaz na tvorbu Helpu pro Delphi apl.

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 23.10.2002 07:47:08

> Odes�latel: Petr Va�eka <pvareka(zv)mujmejl(tec)cz>
> Vytvoril jsem tedy ve WORD97 soubor PAMET.RTF s jednotlivymi polozkami,

Kdyz pises, ze s helpem zacinas, tak zkus radsi html help (.chm).
Vytvari se to snadno a pekne a predevsim standardne v jakemkoli html editoru.

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)
=========================================

Try..finally a inicializace promenne

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 23.10.2002 08:17:18

> Odes�latel: Viliam Mlich <vmlich(zv)mbox.vol(tec)cz>
> >> if Buf <> nil then
> >> Buf.Free;
> > Toto je nesmyslne, protoze metoda Free prave
> > kontroluje zdali instance objektu neni nil.
>
> Na take nieco sa moze spoliehat len samovrah. Ale my jeptisky si aj na
> sviecku natahujeme prezervativ.
Jasne, ale pak bychom mohli psat (pro jistotu)

if buf<>nil then
if buf<>nil then
buf.Free;
:-)

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)
=========================================

float vs BCD v IB

[*] hlas <hlas(zv)inmail.sk> - 23.10.2002 08:45:48

ked mam v IB pole Numeric 12.2 tak

ak pouzijem komponenty IBX vytvori sa mi pole typu float
ak pouzijem komponenty DBX vytvori sa mi pole BCD

radsej by som vsak pouzival float ako BCD, ale chcem pracovat
s DBExpressom. To BCD sa mi moc nepaci. Da sa to nejako obist?
Su polia BCD vhodne na pracu s menou?


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

Try..finally a inicializace promenne

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

>> >> if Buf <> nil then
>> >> Buf.Free;
>> > Toto je nesmyslne, protoze metoda Free prave
>> > kontroluje zdali instance objektu neni nil.
>>
>> Na take nieco sa moze spoliehat len samovrah. Ale my jeptisky si aj
na
>> sviecku natahujeme prezervativ.
>Jasne, ale pak bychom mohli psat (pro jistotu)
>
>if buf<>nil then
> if buf<>nil then
> buf.Free;

to uz postrada smysl uplne.
Kontrola na Buf <> NIL je sice v pripade classes a metody Free
nadbytecna ale dovedu si predstavit, ze nekdo pak bude prilis spolehat
na to, ze NIL pointr odchyti nejaky jiny kod i v situaci, kdy to
nebude pravda (staci misto Class pouzit napriklad pointr na Object s
definovanou vlastni metodou Free).

Nebo staci ve vlastni classes prepsat si vhodne metodu Free :-)

D. Toman

Try..finally a inicializace promenne

[*] eNca <delphi(zv)enca(tec)cz> - 23.10.2002 09:25:11



Viliam Mlich wrote:

>>> if Buf <> nil then
>>> Buf.Free;
>>>
>>>
>>Toto je nesmyslne, protoze metoda Free prave
>>kontroluje zdali instance objektu neni nil.
>>
>>
>
>Na take nieco sa moze spoliehat len samovrah. Ale my jeptisky si aj na
>sviecku natahujeme prezervativ.
>
>

procedure TObject.Free;
asm
TEST EAX,EAX // jestlize je instance nil,
JE (zv)(zv)exit // skoc na konec procedury
MOV ECX,[EAX] // jinak volej destruktor
MOV DL,1
CALL dword ptr [ECX].vmtDestroy
(zv)(zv)exit:
end;

Na toto se klidne spolehnu a sebevrah nejsem. Pokud toto povazujes za
nedostatecne, tak doporucuju neprogramovat, protoze by ses nemel
spolehat ani na to, ze
i:=0; skutecne vynuluje promennou i :-)

eNca

float vs BCD v IB

[*] Pavel Zichovsky <zichovsky(zv)trul(tec)cz> - 23.10.2002 09:26:37

Zdravim,

On 23 Oct 2002 at 8:45, hlas wrote:
> ked mam v IB pole Numeric 12.2 tak
>
> radsej by som vsak pouzival float ako BCD, ale chcem pracovat
> s DBExpressom. To BCD sa mi moc nepaci. Da sa to nejako obist?
> Su polia BCD vhodne na pracu s menou?

Rekl bych, ze BCD jsou jedine vhodne na praci s
penezi, protoze tam mas zajistenou presnost na
dany pocet desetinnych mist (v tvem pripade 2). V
Delphi (aspon v D6) je na to definovan typ Currency,
se kterym muzes pracovat uplne stejne jako s float
(nasobit, delit....) ale mas vysledek vzdy presne na
dany pocet mist.

Float ze sveho principu (jak je ulozen a
interpretovan) nedokaze vyjadrit nektere desetine
hodnoty uplne presne, na posledni pozici se pridava
ci odecita 1 (napr. 0,000000001).


S pozdravem
Pavel �ichovsk� (zichovsky(zv)trul(tec)cz)

OT Virtualni tiskarna

[*] Zdenek Stepanek <webmaster(zv)rokaglass(tec)com> - 23.10.2002 10:06:38

Zdravim

Jakoukoliv tiskarnu preci muzes povesit na kterykoliv tiskovy port chces
(nevim teda jak u GDI tiskaren, ale taky by to melo jit). Mas na vyber
LPT, COMy, IrDA, LAN manager porty a FILE. Tak si to prepni na FILE a po
spusteni tisku se to zobrazi dialog na zadani jmena souboru, kam se to
ma ulozit. Tohle by melo jit prepnout i programove. Nemam ale tuseni,
zda jde obejit to zobrazeni okna s jmenem souboru.

Zdenek

-----Original Message-----

Existuje nejaka moznost jak presmerovat tisk z Quick reportu , mozna
obecne jakykoliv tisk, do neceho jako virtualni tiskarna. Respektive da
se vubec v Delphi vytvorit takova vec jako vyrtualni tiskarna. Jedna se
mi o ten stejny princip jako Fine print. Tj. tisknout do "souboru" a pak
pracovat s vysledkem. Jedna se mi o to, jestli mohu vice
jednostrankovych tisku dostat do jednoho jobu pro tisk.

Algoritmus na p�evod �esk�ho jm�na a p�� jmen� do

[*] David Kraina <DKx(zv)seznam(tec)cz> - 23.10.2002 10:12:03

Dne 22. ��jen 2002, <delphi-l(zv)clexpert(tec)cz> napsal:
> hledam algoritmus, ktery by dokazal prevest jmeno a prijmeni z prvniho padu do 2. nebo 5. padu. Kdysi davno jsem to videl v Basicu v knizce Programatorske perlicky. Nemate nekdo neco takoveho ?

Na to algoritmus neexistuje - muze to byt leda jen rozsahla databaze
moznosti, protoze je Honza bez Honzy, ale nemuze byt Jakub bez Jakuby
a to nemluvim o prijmeni. Musis zmenit tu vetu - misto "Budu zit bez
Honzy" musis napsat "V mem zivote se uz nevyskytne Honza". Jinak to
fakt nejde.
DKx.

______________________________________________________________________
Reklama:
FIMFARUM - Cesky celovecerni loutkovy film na motivy pohadek Jana Wericha. www.fimfarum(tec)cz V kinech od 28. listopadu. http://www.fimfarum(tec)cz

Kontrola vytvoreni instance tridy

[*] Petr Langer <langer(zv)xdom(tec)cz> - 23.10.2002 10:17:24

Navazuju na diskusi ohledne metody free a testovani na nil.

procedure test;
var
newForm : TForm;
begin
... kod...

*** V tomhle miste potrebuju zjistit, jesli newForm byla vytvorena (napr.
newForm := TForm.Create;) nebo ne. Jelikoz jsem ale na zacatku nedal newForm
:= nil, newForm.free mi v takovem pripade nejspise vyhuci s Exception.

end;

Lze tedy zjistit, jesli instance tridy existuje nebo je to jenom nesmyslny
ukazatel?

diky
Petr Langer


CASTKA SLOVY

[*] LUKES V�clav <lukes(zv)ans(tec)cz> - 23.10.2002 10:22:33

Ahoj,

mam D6 a Win 2000.
Prevadel jste prosim nekdo castku na castku slovy ? Napr. 5.10 Kc a pet korun deset haleru ???

Diky

V.

OT 2x VGA v pocitaci

[*] Lstiburek Pavel <Lstiburek(zv)ceb(tec)cz> - 23.10.2002 10:23:03

Pouzivam Matrox Millennium G400, dva monitory PHILIPS 19",
Na obou 85Hz, rozli�en� 1024x768 jako velkou plochu. Az na drobne problemy s
dialogy WIN a Delphi (oteviraji se na zlomu) naprosta spokojenost.
Pavel
> No, ja to s tou dual headkou zkusil, ale ta mi nedovoli na sekundarnim
> vystupu nastavovat frekvece: snimkova, radkova, dobu synch., f-porch,
> b-porch, atd... (v powerstripu i pres vlastnosti VGA) Ten
> druhej vystup je
> proste jen takovy privesek. Ma nekdo jine zkusenosti ?
> (zkousel jsem Matrox
> Millenium G450 DH)

Heslo a PDF

[*] "Netu�il, Roman, Ing." - 23.10.2002 10:26:37

Panove,
nevite nekdo jak otevrit PDF dokument se zapomenutym heslem.

Roman

Try..finally a inicializace promenne

[*] Viliam Mlich <vmlich(zv)mbox.vol(tec)cz> - 23.10.2002 10:28:37

>>>> if Buf <> nil then
>>>> Buf.Free;

> procedure TObject.Free;

> Na toto se klidne spolehnu a sebevrah nejsem.

Ty sa na to kludne spoliehaj.

Hacik je v tom, ze tieto 2 riadky su v uplne inych suboroch a izolovany
zapis Buf.Free nehovori nic o tom, z coho je ten Buf, odvodeny. (Na to
vacsinou staci ocami skocit o par riadkov hore, to by este uslo.)

Ty si mozno pamatas, ze ked si to pisal, tak si metodu Free nemenil, ale
ten chudak, co by taky program po tebe musel udrziavat, by pri kazdom
probleme s uvolnovanim pamati musel kontrolovat, ci ta Free _nahodou_
nebola zmenena.

> tak doporucuju neprogramovat, protoze by ses nemel

:-) flejmovacie taktiky osvedcene z fida zaberaju aj na windozakov :-)))
Este budes musiet precitat hodne sprav, kym sa naucis vynechavat osobne
utoky..

bye
vmlich

Start MS SQL a po zmene Admin hesla

[*] Pavel Bare� <bares(zv)atoll(tec)cz> - 23.10.2002 10:34:44

Ahoj

Prosm odborniky na MS SQL poradte mi nekdo.

Po zmene admin hesl se mi nespusti MS SQL a v logu je tato hlaska:

The MSSQLSERVER service failed to start due to the following error:
The service did not start due to a logon failure.

Co s tim ?

dekuji

Pavel Bares

OT: Heslo a PDF

[*] "Netu�il, Roman, Ing." - 23.10.2002 10:35:56

Panove,
nevite nekdo jak otevrit PDF dokument se zapomenutym heslem.

Roman

Kontrola vytvoreni instance tridy

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 23.10.2002 10:49:29

> Lze tedy zjistit, jesli instance tridy existuje nebo je to
> jenom nesmyslny ukazatel?

Nie. Musi to byt napisane tak, aby bolo v kazdom kroku zarucene, ze je tam
bud platny odkaz na vytvorenu instanciu, alebo nil. V praxi to znamena, vzdy
inicializovat na nil, a pri uvolnovani opet priradit nil (na to sa hodi
FreeAndNil).

Napriklad takyto pseudokod:

procedure Bla;
var
Query: TQuery;
I: Integer;
begin
Query := nil;
try
for I := 0 to ItemCount -1 do
if Items[I].SomeCondition then
begin
if not Assigned(Query) then
begin
Query := TQuery.Create(nil);
Query.Database := MyDataBase;
Query.SQL.Text := MySQLText;
Query.Prepare;
end;
Query.Params[0].AsInteger := Items[I].MyInteger;
...
Query.Open;
while not Query.EOF do
begin
...
Query.Next;
end;
end;
finally
FreeAndNil(Query);
end;
end;

HTH
TOndrej

Jak z D4 St. na PostgreSQL ?

[*] Milan Cizek <Cizek.Milan(zv)seznam(tec)cz> - 23.10.2002 10:51:24

> V archive vidim, ze to niektori bezne pouzivaju. Co mam do W95
> nainstalovat a aku komponentu doporucujete pouzit z D4 Standard (bez
> BDE)?

http://www.zeoslib.org

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

______________________________________________________________________
Reklama:
Zapoj svoji osobnost. http://ad2.seznam(tec)cz/redir.cgi?instance=36150%26url=http://www.nokiagame(tec)cz

Nejde vymazat BLOB z ACCESSu pres TADOBlobStream

[*] Macko Martin <martin.macko(zv)m-pro(tec)cz> - 23.10.2002 11:16:26

Neni to cele v nejake transakci ktera se necommitne ?
Nejake cachedupdate bez applyupdates ?

-----Original Message-----
From: Vagner Pavel [mailto:Vagner(zv)ceps(tec)cz]
Sent: Monday, October 21, 2002 7:41 AM
To: 'delphi-l(zv)clexpert(tec)cz'
Subject: RE: Nejde vymazat BLOB z ACCESSu pres TADOBlobStream


>To ze data v DB nejsou soudis podle toho co vidis v gridu ? Zkus pridat

>jeste ADOtbl.Refresh ...

Jednak jsem se dival DBgigu a pak jeste normalne v accessu. i kdyz tam
mam ten refresh, tak to tam proste neni. Me je jasny, ze ta sekvence
prikazu musi preci chodit, tak nevim co jsem s tim provedl ja, ze me to
nechodi.
pavel

OT: Heslo a PDF

[*] Kr�l Jirka <admin(zv)printo(tec)cz> - 23.10.2002 11:25:18

>>nevite nekdo jak otevrit PDF dokument se zapomenutym heslem.

tihle maji reseni na mnoho "zapomenutych" hesel

www.elcomsoft.com/apdfpr.html


J.

edit mask

[*] �imko Ivan <ivan.simko(zv)pozfond.sk> - 23.10.2002 11:26:35

Chcem sa opytat ma moznost upravy editmasku.
Chcem aby sa dali v nom pisat len cisla, pricom musi mat moznost zadania
desatinnej ciarky.
Pri metode editmask som zadal same cisla. Funguje je to ale je tam
podtrhujuca ciarka a nie je tam mozne zadat desatinnu ciarku.
Ako sa toho zbavit?

Dik

Start MS SQL a po zmene Admin hesla

[*] Koh�k Jaroslav <jaroslav.kohak(zv)dites(tec)cz> - 23.10.2002 11:34:07

Me se to stalo take.
Bud spust instalaci MSSQL srv. znovu a dej pouze opravu registru, nebo se
podivej do sluzeb. A u sluzby servru na zalozku prihlaseni.

Jarda
----- Original Message -----
From: "Pavel Bare�" <bares(zv)atoll(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, October 23, 2002 10:34 AM
Subject: Start MS SQL a po zmene Admin hesla


> Ahoj
>
> Prosm odborniky na MS SQL poradte mi nekdo.
>
> Po zmene admin hesl se mi nespusti MS SQL a v logu je tato hlaska:
>
> The MSSQLSERVER service failed to start due to the following error:
> The service did not start due to a logon failure.
>
> Co s tim ?
>
> dekuji
>
> Pavel Bares
>
>

Try..finally a inicializace promenne

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 23.10.2002 11:36:57

> Ty si mozno pamatas, ze ked si to pisal, tak si metodu Free
> nemenil, ale ten chudak, co by taky program po tebe musel
> udrziavat, by pri kazdom probleme s uvolnovanim pamati
> musel kontrolovat, ci ta Free _nahodou_ nebola zmenena.

Tiez sa mi to zda prehnane. Metoda Free je staticka, takze menit sa da
jedine prepisanim v potomkovi (a tym padom schovanim povodnej metody v
predkovi).
Za prve mi to pripada ako neskutocna prasacina, za druhe nenapada ma jediny
dovod, preco by mohlo byt vhodne/potrebne prepisovat metodu Free, ked je tam
k dispozicii virtualny destructor Destroy.
Ale v podstate mas pravdu, ze taka moznost existuje.

BTW. Staticke metody su na rozdiel od dynamickych resolvovane pocas
kompilacie, takze dva nasledovne kusky kodu, aj ked zdanlivo podobne, budu
sa chovat uplne rozdielne:

type
TLeakingObject = class(TObject)
public
procedure Free;
end;

procedure TLeakingObject.Free;
begin
OutputDebugString('Just because you''re paranoid it doesn''t mean they''re
not after you.');
end;

procedure Proc1;
var
Obj: TLeakingObject;
begin
Obj := TLeakingObject.Create;
try
...
finally
Obj.Free; // memory leak v TLeakingObject.Free
end;
end;

procedure Proc2;
var
Obj: TObject;
begin
Obj := TLeakingObject.Create;
try
...
finally
Obj.Free; // uvolnenie pameti cez TObject.Free
end;
end;

Pri prepisovani statickych metod vo vseobecnosti plati, ze si treba na ne
davat velky pozor, hrozi totiz, ze pripadna chyba bude tazko odhalitelna.
Ak si spravne spominam, podla Dannyho Thorpa v knihe "Delphi Component
Design" tuto moznost Delphi poskytuje iba kvoli prechodnym stavom, ked sa
menia velke hierarchie tried a potrebujes mat kod rychlo "up and running".

TOndrej

�ek�n� programu na skon�en� ShellExecuce

[*] Lenka Don�tov� - 23.10.2002 11:38:01

Pomoc� ShellExecute spoustim pkzip.exe a potrebovala bych, aby se mi
nasledujici radky programu za timto prikazem zacaly provadet az po jeho
skonceni. Nechci pouzit Sleep protoze dopredu nevim jak dlouho bude operace
trvat. Zkousela jsem to pomoci vlaken, ale protoze jsem v tomto zacatecnik
tak se mi nepodarilo docilit toho co potrebuji. Poradte mi nekdo prosim jak
by to slo at uz pomoci vlaken nebo bez

None

[*] Tom� Fajman��������ڎf����{� - 23.10.2002 11:41:32


Info.cbSize := SizeOf(SHELLEXECUTEINFO);
Info.Wnd := 0;
Info.lpVerb := Verb;
Info.lpFile := App;
Info.lpParameters := Params;
Info.lpDirectory := nil;
Info.fMask := SEE_MASK_NOCLOSEPROCESS;
Info.nShow := SW_SHOWNORMAL;
ShellExecuteEx((zv)Info);
if (Info.hProcess <> 0) then
WaitForSingleObject(Info.hProcess, INFINITE);

Jak rozdelit aplikaci?

[*] CERMAK <CERMAK(zv)procom(tec)cz> - 23.10.2002 11:43:54

Ahoj vsichni

Mam velkou databazovou aplikaci. Nevite, jak ji vhodne rozdelit, aby bylo
mensi Exe. Balicky, COM, .... Jake mate zkusenosti. Co bude nejjednodussi a
nejefektivnejsi na rychlost natahovani casti a na spotrebu pameti.


Jaromir Cermak

Start MS SQL a po zmene Admin hesla

[*] Ludek ZITA <konference(zv)sales(tec)cz> - 23.10.2002 11:44:36


----- Original Message -----
From: "Pavel Bare�" <bares(zv)atoll(tec)cz>

> Po zmene admin hesl se mi nespusti MS SQL a v logu je tato hlaska:
>
> The MSSQLSERVER service failed to start due to the following error:
> The service did not start due to a logon failure.
>
Ahoj.
Musis zmenit i heslo pro spousteni sluzby MSSQLSERVER protoze ti asi bezi
pod uctem administratora.
Totez by bylo potreba udelat u vsech sluzeb, ktere se pod timto uctem
spousteji.
Najdes to v "Nastroje pro spravu->Sluzby" - dvojklik na prislusne sluzbe ->
karta prihlaseni.
I kdyz je otazkou zda je vhodne sluzby pod timto uctem spoustet.
Pokud tomu ale nerozumis je lepsi se domluvit s nekym kdo vi co dela...

Ludek

�ek�n� programu na skon�en� ShellExecuce

[*] Ludek ZITA <konference(zv)sales(tec)cz> - 23.10.2002 11:53:34


----- Original Message -----
From: "Lenka Don�tov�" <lenkad(zv)nemocnice-vs(tec)cz>

> Pomoc� ShellExecute spoustim pkzip.exe a potrebovala bych, aby se mi
> nasledujici radky programu za timto prikazem zacaly provadet az po jeho
> skonceni. Nechci pouzit Sleep protoze dopredu nevim jak dlouho bude
operace
> trvat. Zkousela jsem to pomoci vlaken, ale protoze jsem v tomto zacatecnik
> tak se mi nepodarilo docilit toho co potrebuji. Poradte mi nekdo prosim
jak
> by to slo at uz pomoci vlaken nebo bez

Ahoj.
Nejjednodussi je pouzit ShellExecAndWait z JCL (uses JCLSHell)
http://www.delphi-jedi.org/

Ludek

edit mask

[*] Slavomir Cekel <cekel(zv)noves.sk> - 23.10.2002 11:57:58

ked si pozries help k EditMask, tak zistis, ze v ponuke nemas to co
ziadas (btw. u nas je desatinna ciarka, vo svete desatinna bodka)

ved si daj normalny EDIT v udalosti OnExit si daj test, ci dany retazec
je realne cislo, alebo nie

Slavo

>Chcem sa opytat ma moznost upravy editmasku.
>Chcem aby sa dali v nom pisat len cisla, pricom musi mat moznost
zadania
>desatinnej ciarky.

float vs BCD v IB

[*] hlas <hlas(zv)inmail.sk> - 23.10.2002 11:58:18

Ale jedna sa mi o kombinaciu IB - D7

pole v IB pole v Delphi

float f loat
Numeric 15,2 BCD
double precision float

tie polia v delphi si nemozem vyberat.
vyberat si mozem iba polia v IB a D7 mi samo
pri vytvarani persistetnych poli vytvori typy
podla IB.

Predtym som mal v Paradoxe Currency a
aj v delphi Currency.

Asi si vyberiem posl. variantu Double precision - float
tam mi funguju povodne procedury pisane
pre currency, ktore mi nefunguju pre BCD.

Hlas



----- Original Message -----
From: "Pavel Zichovsky" <zichovsky(zv)trul(tec)cz>
Rekl bych, ze BCD jsou jedine vhodne na praci s
penezi, protoze tam mas zajistenou presnost na
dany pocet desetinnych mist (v tvem pripade 2). V
Delphi (aspon v D6) je na to definovan typ Currency,
se kterym muzes pracovat uplne stejne jako s float
(nasobit, delit....) ale mas vysledek vzdy presne na
dany pocet mist.

Float ze sveho principu (jak je ulozen a
interpretovan) nedokaze vyjadrit nektere desetine
hodnoty uplne presne, na posledni pozici se pridava
ci odecita 1 (napr. 0,000000001).


S pozdravem
Pavel �ichovsk� (zichovsky(zv)trul(tec)cz)

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

Odchyceni DBError nevyplnena polozka X na IB/FB

[*] Ales Pavel <Aldik(zv)quick(tec)cz> - 23.10.2002 12:02:02



Ahoj kluci jak odchytim errormessage,ze polozka x v dbridu nebyla vyplnena a
ze pri post musi mit hodnotu?:-)))
Diky moc a

Hezky den

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

�ek�n� programu na skon�en� ShellExecuce

[*] Ludo Fulop <kexo(zv)ynet.sk> - 23.10.2002 12:03:42

----- Original Message -----
From: "Lenka Don�tov�" <lenkad(zv)nemocnice-vs(tec)cz>
> Pomoc� ShellExecute spoustim pkzip.exe a potrebovala bych, aby se mi
> nasledujici radky programu za timto prikazem zacaly provadet az po jeho
> skonceni. Nechci pouzit Sleep protoze dopredu nevim jak dlouho bude
operace

Jan Sindelar - Tipy a Triky v Delphi, www.zive(tec)cz:

Procedure ShellExecute_AndWait(FileName : String);
var
exInfo : TShellExecuteInfo;
Ph : DWORD;
begin
FillChar( exInfo, Sizeof(exInfo), 0 );
with exInfo do
begin
cbSize:= Sizeof( exInfo );
fMask := SEE_MASK_NOCLOSEPROCESS or SEE_MASK_FLAG_DDEWAIT;
Wnd := GetActiveWindow();
ExInfo.lpVerb := 'open';
lpFile:= PChar(FileName);
nShow := SW_SHOWNORMAL;
end;
if ShellExecuteEx((zv)exInfo) then
Ph := exInfo.HProcess;
else
begin
ShowMessage(SysErrorMessage(GetLastError));
exit;
end;
while WaitForSingleObject(ExInfo.hProcess, 50) <> WAIT_OBJECT_0 do
Application.ProcessMessages;
CloseHandle(Ph);
end;

Ludo Fulop

Odchyceni DBError nevyplnena polozka X na IB/FB

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 23.10.2002 12:10:47

> Ahoj kluci jak odchytim errormessage,ze polozka x v dbridu nebyla
> vyplnena a ze pri post musi mit hodnotu?:-))) Diky moc a

Jestli jde o to, jak to potlacit, tak kazdy field ma property Required,
tu staci shodit. Bud v dobe navrhu nebo za behu

Dataset.FieldByName('cosi').Required := False, umistit napr. do
AfterOpen na datasetu.

David Lebeda

None

[*] Radek KALA <Kala(zv)BetaControl(tec)cz> - 23.10.2002 12:21:34

Var
si : TStartUpInfo;
PI : TProcessInformation;
Begin
C := 'pkzip jmeno xxx';
P := ExtractFilePath(Application.ExeName);
SI.dwFlags := STARTF_USESHOWWINDOW;
SI.wShowWindow := SW_HIDE;
CreateProcess(nil,PCHAR(C),nil,nil,FALSE, CREATE_SEPARATE_WOW_VDM or CREATE_DEFAULT_ERROR_MODE or CREATE_NEW_CONSOLE ,nil,PCHAR(P),SI,PI);
While WaitForSingleObject(PI.hProcess,1000) = WAIT_TIMEOUT Do Begin
Application.ProcessMessages;
End;
> Pomoc� ShellExecute spoustim pkzip.exe a potrebovala bych, aby se mi
> nasledujici radky programu za timto prikazem zacaly provadet az po
> jeho skonceni. Nechci pouzit Sleep protoze dopredu nevim jak dlouho
> bude operace trvat. Zkousela jsem to pomoci vlaken, ale protoze jsem v
> tomto zacatecnik tak se mi nepodarilo docilit toho co potrebuji.
> Poradte mi nekdo prosim jak by to slo at uz pomoci vlaken nebo bez
> S pozdravem Radek KALA
BetaControl, s.r.o.
Cerneho 58/60, 635 00
tlf. : + 420 5 4622 3491
fax : + 420 5 4622 3470
GSM : + 420 603 85 75 15

�ek�n� programu na skon�en� ShellExecuce

[*] Roman Macura <delphi(zv)atlascon(tec)cz> - 23.10.2002 12:23:10

Tohle funguje na Win95/98/ME/2000. Na WinXP jsem to nezkou�el.

{---------------------------------------------------------------------------
--
* This unit is based upon the well-known *
* and largely used WinExecAndWait function*
* The former WinexecAndWait function *
* doesn't compile under Delphi 2.0 *
* because the GetModuleUsage function is *
* no longer supported under Win95. *
* I have simply updated the previous code *
* so that it works with Delphi 2.0 under *
* Windows 95. With this function you can *
* call Windows-based applications as well *
* as Dos-based commands. *
* That is 'c:\myapp\app32.exe' as well as *
* 'command.com /c del *.bak'. * *
* USAGE: *
* *
* err:=WinExecAndWait32( *
* Full FileName & *
* command-line parameters, *
* SW_HIDE/SW_SHOW, *
* 0 or output file handle); *
* if err<>0 then *
* showmessage('Error!'); *
* *
----------------------------------------------------------------------------
-}

unit WinExc32;

interface

uses windows, messages;

function WinExecAndWait32(Path: PChar; Visibility:
Word;OutTo:integer;Directory:PChar=nil): integer;
function WinExec32(Path: PChar; Visibility: Word;OutTo:integer): integer;
function WinExecAndWait32WithExitCode(Path: PChar; Visibility:
Word;OutTo:integer;var ExitCode:Cardinal;Directory:PChar=nil): integer;

implementation

function WinExecAndWait32(Path: PChar; Visibility:
Word;OutTo:Integer;Directory:PChar=nil): integer;
var
Msg: TMsg;
lpExitCode : Cardinal;
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
InhHndls:Boolean;
begin
FillChar(StartupInfo, SizeOf(TStartupInfo), 0);
with StartupInfo do
begin
InhHndls:=False;
cb := SizeOf(TStartupInfo);
dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
if OutTo<>0 then
begin
dwFlags:=dwFlags or STARTF_USESTDHANDLES;
InhHndls:=True;
hStdInput:=0;
hStdError:=0;
hStdOutput:=OutTo;
end;
wShowWindow := visibility; {you could pass sw_show or sw_hide as
parameter}
end;
if CreateProcess(nil, path, nil, nil, InhHndls,
NORMAL_PRIORITY_CLASS, nil, Directory, StartupInfo, ProcessInfo) then
begin
repeat
while PeekMessage(Msg, 0, 0, 0, pm_Remove) do
begin
if Msg.Message = wm_Quit then Halt(Msg.WParam);
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
GetExitCodeProcess(ProcessInfo.hProcess,lpExitCode);
until lpExitCode<>Still_Active;
with ProcessInfo do {not sure this is necessary but seen in in some code
elsewhere}
begin
CloseHandle(hThread);
CloseHandle(hProcess);
end;
result := 0; {sucess}
end
else
result:=GetLastError;{error occurs during CreateProcess see help for
details}
end;

function WinExec32(Path: PChar; Visibility: Word;OutTo:integer): integer;
var
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
InhHndls:boolean;
begin
FillChar(StartupInfo, SizeOf(TStartupInfo), 0);
with StartupInfo do
begin
InhHndls:=false;
cb := SizeOf(TStartupInfo);
dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
if OutTo<>0 then
begin
dwFlags:=dwFlags or STARTF_USESTDHANDLES;
InhHndls:=true;
hStdOutput:=OutTo;
end;
wShowWindow := visibility; {you could pass sw_show or sw_hide as
parameter}
end;
if CreateProcess(nil,path,nil, nil, InhHndls,
NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo) then
result := 0 {sucess}
else
result:=GetLastError;{error occurs during CreateProcess see help for
details}
end;

function WinExecAndWait32WithExitCode(Path: PChar; Visibility:
Word;OutTo:integer;var ExitCode:Cardinal;Directory:PChar=nil): integer;
var
Msg: TMsg;
outto2,lpExitCode : cardinal;
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
InhHndls:boolean;
SA:Security_Attributes;
VerInfo: TOSVersionInfo;
cont:Boolean;
begin
outto2:=0;
ExitCode:=0;
FillChar(StartupInfo, SizeOf(TStartupInfo), 0);
with StartupInfo do
begin
InhHndls:=false;
cb := SizeOf(TStartupInfo);
dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
if OutTo<>0 then
begin
dwFlags:=dwFlags or STARTF_USESTDHANDLES;
InhHndls:=true;
hStdInput:=0;
hStdError:=0;
hStdOutput:=OutTo;
end;
wShowWindow := visibility; {you could pass sw_show or sw_hide as
parameter}
end;
VerInfo.dwOSVersionInfoSize:=sizeof(TOSVERSIONINFO);
GetVersionEx(VerInfo);
if VerInfo.dwPlatformId in [VER_PLATFORM_WIN32_NT] then
begin
SA.nLength:=SizeOf(PSECURITYATTRIBUTES);
SA.bInheritHandle:=inhhndls;
SA.lpSecurityDescriptor:=nil;
if inhhndls then
begin

DuplicateHandle(GetCurrentProcess,outto,GetCurrentProcess,(zv)outto2,0,True,DUP
LICATE_SAME_ACCESS);
Startupinfo.hStdOutput:=outto2;
end;
cont:=CreateProcess(nil, path, (zv)sa, nil, InhHndls,
NORMAL_PRIORITY_CLASS, nil, Directory, StartupInfo, ProcessInfo);
end
else
cont:=CreateProcess(nil, path, nil, nil, InhHndls,
NORMAL_PRIORITY_CLASS, nil, Directory, StartupInfo, ProcessInfo);
if cont then
begin
repeat
while PeekMessage(Msg, 0, 0, 0, pm_Remove) do
begin
if Msg.Message = wm_Quit then Halt(Msg.WParam);
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
GetExitCodeProcess(ProcessInfo.hProcess,lpExitCode);
until lpExitCode<>Still_Active;
ExitCode:=lpExitCode;
with ProcessInfo do {not sure this is necessary but seen in in some code
elsewhere}
begin
if outto2<>0 then
CloseHandle(outto2);
CloseHandle(hThread);
CloseHandle(hProcess);
end;
result := 0; {sucess}
end
else
result:=GetLastError;{error occurs during CreateProcess see help for
details}
end;

end.

Roman.

----- Original Message -----
From: "Lenka Don�tov�" <lenkad(zv)nemocnice-vs(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, October 23, 2002 11:38 AM
Subject: �ek�n� programu na skon�en� ShellExecuce


> Pomoc� ShellExecute spoustim pkzip.exe a potrebovala bych, aby se mi
> nasledujici radky programu za timto prikazem zacaly provadet az po jeho
> skonceni. Nechci pouzit Sleep protoze dopredu nevim jak dlouho bude
operace
> trvat. Zkousela jsem to pomoci vlaken, ale protoze jsem v tomto zacatecnik
> tak se mi nepodarilo docilit toho co potrebuji. Poradte mi nekdo prosim
jak
> by to slo at uz pomoci vlaken nebo bez
>
>

float vs BCD v IB

[*] Pavel Zichovsky <zichovsky(zv)trul(tec)cz> - 23.10.2002 12:23:51

Zdravim,

On 23 Oct 2002 at 11:58, hlas wrote:

> Ale jedna sa mi o kombinaciu IB - D7
>
> pole v IB pole v Delphi
>
> float f loat
> Numeric 15,2 BCD
> double precision float
>
> tie polia v delphi si nemozem vyberat.
> vyberat si mozem iba polia v IB a D7 mi samo
> pri vytvarani persistetnych poli vytvori typy
> podla IB.

Numeric 15,2 je BCD, a to muzes bezeztraty
pretypovat na Currency.
(filedbyname(blabla).ascurrency)

> Asi si vyberiem posl. variantu Double precision - float
> tam mi funguju povodne procedury pisane
> pre currency, ktore mi nefunguju pre BCD.

Na penize ti nepomuze ani double precision, i tam
jsou problemy s vyjadrenim nekterych desetiny cisel
(i kdyz mensi). Pretypuj si to BCD na Currency a
pouzivej to.


S pozdravem
Pavel �ichovsk� (zichovsky(zv)trul(tec)cz)

Re[2]: Start MS SQL a po zmene Admin hesla

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 23.10.2002 12:35:54

Hello Ludek,

Wednesday, October 23, 2002, 11:44:36 AM, you wrote:


LZ> ----- Original Message -----
LZ> From: "Pavel Bare�" <bares(zv)atoll(tec)cz>

>> Po zmene admin hesl se mi nespusti MS SQL a v logu je tato hlaska:
>>
>> The MSSQLSERVER service failed to start due to the following error:
>> The service did not start due to a logon failure.
>>

No ten uzivatel pod kterym to spoustis musi byt admin. ne user. treba
SYSTEM staci pokud to nemas na nteu

LZ> Ahoj.
LZ> Musis zmenit i heslo pro spousteni sluzby MSSQLSERVER protoze ti asi bezi
LZ> pod uctem administratora.
LZ> Totez by bylo potreba udelat u vsech sluzeb, ktere se pod timto uctem
LZ> spousteji.
LZ> Najdes to v "Nastroje pro spravu->Sluzby" - dvojklik na prislusne sluzbe ->
LZ> karta prihlaseni.
LZ> I kdyz je otazkou zda je vhodne sluzby pod timto uctem spoustet.
LZ> Pokud tomu ale nerozumis je lepsi se domluvit s nekym kdo vi co dela...

LZ> Ludek

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

Jak rozdelit aplikaci?

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 23.10.2002 13:09:42

From: "CERMAK" <CERMAK(zv)procom(tec)cz>
> Mam velkou databazovou aplikaci. Nevite, jak ji vhodne rozdelit, aby bylo
> mensi Exe. Balicky, COM, .... Jake mate zkusenosti. Co bude nejjednodussi a
> nejefektivnejsi na rychlost natahovani casti a na spotrebu pameti.

EXE se do zadne 'pameti' nenatahuje, protoze ve Windows zadna 'pamet' neni.
Velikost EXE souboru nema mnoho spolecneho s tim, jak rychla aplikace je nebo
jak rychle se spusti. V beznem procesu je totiz stejne namapovano nekolik MB
systemovych knihoven, takze tvoje aplikace je jen malou casti. Pokud aplikaci
slozis z ruznych DLL a COMu tak to bude spise pomalejsi, komplikovanejsi a
zabirajici vice prostredku.

Nez sledovat fyzickou velikost EXE souboru (ktera muze byt treba klidne 50M
obsahujici napriklad velke resource, ale spusti se temer ihned, protoze se ty
resource vubec nikdy neprectou) je mozna lepsi programovat efektivne. Tedy
nevytvaret vsechny formulare pri startu aplikace, ale teprve tehdy az jsou
potreba a pak je zase uvolnit, vyvarovat se neefektivnich algoritmu, obcas se
podivat jak se nektery kod v Object Pascalu prelozi a podle toho provest
urcitou optimalizaci treba i jen na urovni jazyka (ne pouzitim assembleru)
atd. Pomalost startu aplikace neni dana velikosti EXE souboru ale mnozstvim
kodu ktery se (treba prave zbytecne) vykonava pri startu jeste pred tim, nez
se aplikace rozbehne - tedy se dostane k Application.Run.

Petr Vones

DLL

[*] Jan Fiala [work] <delphi(zv)kvasar(tec)cz> - 23.10.2002 13:13:01

Ahojte,
potreboval bych si ujasnit spravnost psani DLL. Nektere zasady jsem vycetl
z knihy, ale jedna vec mi tam vrtala hlavou. Jak se delaji Hlavickove
soubory. Potrebuji v DLL vytvorit objekt a aplikace by ho mela vyuzivat. K
tomu ale potrebuji jeho strukturu. Jedina moznost jak to udelat me napada,
ze hlavickovy soubor by mel mit vsechny fce abstraktni a nemusi obsahovat
sekce Private a Protected. Je tomu tak?

D�k
Jan Fiala
_________________________________________
fiala(zv)kvasar(tec)cz
http://www.kvasar(tec)cz
tel.:577212800
ICQ#: 22070733
_________________________________________

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

Komponent pomoci Name

[*] "Netu�il, Roman, Ing." - 23.10.2002 13:18:41

Panove,
existuje nejaka moznost jak pristoupit ke komponente podle jejiho jmena.
Konkretne se mi jedna o nastaveni Pagecontrol.ActivePage na urcity TabSheet,
jehoz jmeno, mam ulozene v INI souboru. Nebo snad existuje nastaveni
Pagecontrol.Active page pomoci nejake Integer property?

Roman

DLL

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 23.10.2002 13:27:49

> potreboval bych si ujasnit spravnost psani DLL. Nektere
> zasady jsem vycetl z knihy, ale jedna vec mi tam vrtala
> hlavou. Jak se delaji Hlavickove soubory. Potrebuji v DLL
> vytvorit objekt a aplikace by ho mela vyuzivat.

Pozor, to uz ale nebude klasicky "spravna" DLL, t.j. pouzitelna aj v inych
jazykoch.
Taka by mala exportovat iba stdcall funkcie, a nie odkazy na instancie
Delphi tried, s ktorymi si napr. VC++ asi neporadi.

> K tomu ale
> potrebuji jeho strukturu. Jedina moznost jak to udelat me
> napada, ze hlavickovy soubor by mel mit vsechny fce
> abstraktni a nemusi obsahovat sekce Private a Protected.
> Je tomu tak?

Presne tak, potrebujes mat spolocnu unitu zdielanu DLL aj EXE, ktora bude
obsahovat deklaraciu ciste abstraktnej triedy, t.j. same virtualne
abstraktne metody.
V DLL si potom mozes napisat konkretneho potomka, ktory vsetky tie metody
implementuje.
Zaroven budes potrebovat exportovane funkcie na vytvaranie a uvolnovanie
instancii.
Z EXE Ti potom staci zavolat funkciu, ktora v DLL vytvori instanciu, a volat
jej (z pohladu EXE) abstraktne metody.
Treba pritom dodrziavat urcitu disciplinu, pamet alokovana v DLL musi byt
dealokovana tiez v DLL, pred uvolnenim DLL (FreeLibrary) treba uvolnit
vsetky instancie z tej DLL, atd.

HTH
TOndrej

Re[2]: �ek�n� programu na skon�en� ShellEx

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 23.10.2002 13:31:16

Ja pouzivam tohle

function WinExecAndWait32(FileName:String; Visibility : integer):integer;
var
zAppName:array[0..512] of char;
zCurDir:array[0..255] of char;
WorkDir:String;
StartupInfo:TStartupInfo;
ProcessInfo:TProcessInformation;
begin
StrPCopy(zAppName,FileName);
GetDir(0,WorkDir);
StrPCopy(zCurDir,WorkDir);
FillChar(StartupInfo,Sizeof(StartupInfo),#0);
StartupInfo.cb := Sizeof(StartupInfo);

StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := Visibility;
if not CreateProcess(nil,
zAppName, { pointer to command line string }
nil, { pointer to process security attributes }
nil, { pointer to thread security attributes }
false, { handle inheritance flag }
CREATE_NEW_CONSOLE or { creation flags }
NORMAL_PRIORITY_CLASS,
nil, { pointer to new environment block }
nil, { pointer to current directory name }
StartupInfo, { pointer to STARTUPINFO }
ProcessInfo) then Result := -1 { pointer to PROCESS_INF }

else begin
WaitforSingleObject(ProcessInfo.hProcess,INFINITE);
GetExitCodeProcess(ProcessInfo.hProcess,Result);
end;
end;

Try..finally a inicializace promenne

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 23.10.2002 13:31:02

From: "Viliam Mlich" <vmlich(zv)mbox.vol(tec)cz>
> Ty si mozno pamatas, ze ked si to pisal, tak si metodu Free nemenil, ale
> ten chudak, co by taky program po tebe musel udrziavat, by pri kazdom
> probleme s uvolnovanim pamati musel kontrolovat, ci ta Free _nahodou_
> nebola zmenena.

Stejne tak kontrolovat, jestli treba nebyl zmeneny konstruktor a nepridal se
tam kod na zformatovani disku ;-) Tohle je zkratka dobra demagogie. Pokud se
nekdo nekde snazil zmenit metodu Free tak je to samozrejme naprosto nesmyslna
vec, ktera by mela byt hned odhalena. Nejakym dalsim zbytecnym testovani nil
si moc nepomuzes, protoze tam mohl do Free pripsat treba 'if Day = 13 then
PInteger(nil)^ := 0' nebo nezavolal puvodni metodu Free a mas hned dalsi
chybu.

Petr Vones

OT: ZEOS library

[*] Robert Suska <delphi(zv)korak.sk> - 23.10.2002 13:34:24

Ahojte!

Cital som v datach konferencie ze su nejake ZEOS library na pristup ku MySQL
a pisal som pan s menom NORO ak tu este je prosim aby ma kontaktoval na moj
sukromny maio robert(zv)korak.sk velmi by som sa tym komponentam potesil :).
Alebo resp. ak ich niekto ma prosim mohli by ste mi ich poslat ?

Dakujem za odpoved a ADMINOVI sa ospravedlnujem za OT

S pozdravom

Robert Suska, KORAK SLOVAKIA

DLL

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 23.10.2002 13:42:27

From: "Jan Fiala [work]" <delphi(zv)kvasar(tec)cz>
> soubory. Potrebuji v DLL vytvorit objekt a aplikace by ho mela vyuzivat. K

Tohle nikdy nedelej, protoze z knihoven nelze exportovat objekty. Lze sice
delat ruzne okliky kdy exportujes jen pointery a ty potom ruzne pretypovavas
pres definice abstraktnich trid, ale to je pomerne rychla cesta do pekel.
Budto pouzij balicky nebo COM objekty (nebo alespon interface).

Petr Vones

Komponent pomoci Name

[*] Dusan Nagy <Nagy(zv)inomacomp.sk> - 23.10.2002 13:42:40

Dobr� den,
23. okt�bra 2002, 13:18:41, napsal jste:

NRI> Panove,
NRI> existuje nejaka moznost jak pristoupit ke komponente podle jejiho jmena.
NRI> Konkretne se mi jedna o nastaveni Pagecontrol.ActivePage na urcity TabSheet,
NRI> jehoz jmeno, mam ulozene v INI souboru. Nebo snad existuje nastaveni
NRI> Pagecontrol.Active page pomoci nejake Integer property?

NRI> Roman

Pagecontrol.ActivePageIndex := cislo zalozky

--
S pozdravem,
Dusan
Nagy(zv)inomacomp.sk

Komponent pomoci Name

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 23.10.2002 13:46:12

From: "Netu�il, Roman, Ing." <Netusil.Roman(zv)vspardubice(tec)cz>
> existuje nejaka moznost jak pristoupit ke komponente podle jejiho jmena.

TComponent.FindComponent

> Nebo snad existuje nastaveni Pagecontrol.Active page pomoci nejake Integer
> property?

TPageControl.ActivePageIndex

Petr Vones

Komponent pomoci Name

[*] Martin Cajbik <cajbik(zv)sct.sk> - 23.10.2002 13:53:05

Zdravim,
komponenta sa da ziskat zo zoznamu komponent jej Owner-a cez FindComponent
napr. Form1.FindComponent('TabSheet3'). Nastavit TabSheet cez Integer sa da
pomocou PageControl.ActivePageIndex.

MarCaNT (marcant(zv)sct.sk)> Panove,
> existuje nejaka moznost jak pristoupit ke komponente podle jejiho jmena.
> Konkretne se mi jedna o nastaveni Pagecontrol.ActivePage na urcity
TabSheet,
> jehoz jmeno, mam ulozene v INI souboru. Nebo snad existuje nastaveni
> Pagecontrol.Active page pomoci nejake Integer property?
>
> Roman
>
>

Dotaz na tvorbu Helpu pro Delphi apl.

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 23.10.2002 14:01:05

From: "Jan Sebel�k" <honza(zv)haes(tec)cz>
> Kdyz pises, ze s helpem zacinas, tak zkus radsi html help (.chm).

A mozna uz rovnou MS HTML Help 2:
http://www.helpware.net/mshelp2/h2faq.htm
http://www.helpware.net/FAR/help/msh2_primer.htm

Petr Vones

OT: =?iso-8859-2?Q?=C8ek=E1n=ED_programu_na_skon=

[*] p.sestak(zv)corag.sk - 23.10.2002 14:05:47

skoda, ze sa takato burka odpovedi nestrhla, ked som potreboval
vediet, ako urobit samostatny formular v shared objekte (obdoba dll pod
linuxom)
v kylixe.
hmm, smola ze nie som zena
;o)

OT Kylix dotazy Was: �ek�n� programu na skon�

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 23.10.2002 14:11:27

From: <p.sestak(zv)corag.sk>
> skoda, ze sa takato burka odpovedi nestrhla, ked som potreboval
> vediet, ako urobit samostatny formular v shared objekte (obdoba dll pod
> linuxom) v kylixe.

Patrne to jen odrazi skutecnost, jaky je podil vyvoje aplikaci pro Linux ;-)
Doporucoval bych v tomto pripade spise pouzit prislusne newsy na Borlandu:
http://info.borland.com/newsgroups/#kylix

Petr Vones

Jak rozdelit aplikaci?

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 23.10.2002 14:52:50

On 23 Oct 2002 at 13:09, Petr Vones wrote:

> From: "CERMAK" <CERMAK(zv)procom(tec)cz>
> > Mam velkou databazovou aplikaci. Nevite, jak ji vhodne rozdelit, aby
> > bylo mensi Exe. Balicky, COM, .... Jake mate zkusenosti. Co bude
> > nejjednodussi a nejefektivnejsi na rychlost natahovani casti a na
> > spotrebu pameti.
>
> EXE se do zadne 'pameti' nenatahuje, protoze ve Windows zadna 'pamet'
> neni. Velikost EXE souboru nema mnoho spolecneho s tim, jak rychla
> aplikace je nebo jak rychle se spusti. V beznem procesu je totiz
> stejne namapovano nekolik MB systemovych knihoven, takze tvoje
> aplikace je jen malou casti. Pokud aplikaci slozis z ruznych DLL a
> COMu tak to bude spise pomalejsi, komplikovanejsi a zabirajici vice
> prostredku.

Velky exac je naprd, protoze se komplikovane udrzuje. Pokud program
preroste urcitou mez, je daleko vhodnejsi ho rozsekat na vice-mene
nezavisle moduly. Je s tim sice vic prace na zacatku a beha to pak
trochu pomaleji (coz dnes v drtive vetsine pripadu nema zadny
vyznam), ale lepe se to potom udrzuje a pokud je to dobre navrzene,
pak lze delat snadno zmeny aniz by si clovek rovrtal celou logiku.

Balicky nedoporucuji, ty neresi problem. Jestli muzes pockat na .NET
v Delphi, pak si pockej. Pokud ne, prejdi na Visual Studio nebo to
udelej jako COM.

S pozdravem

Zbysek Hlinka


float vs BCD v IB

[*] hlas <hlas(zv)inmail.sk> - 23.10.2002 14:52:37

Asi mas pravdu, ale zda sa mi to dost neprakticke.
Keby som urobil v IB pole Numeric 15,2 a delphi spravilo
pole TCurrency tak by to bolo ok.
Ale delphi mi spravi pole TFMTBCDField a nic s nim nekomunikuje.

To mam robit takto? :

var x:currency ;
i:integer;

x:=i*filedbyname(blabla).ascurrency;

A ako vlozim to takeho pola hodnotu? Toto myslim nefunguje:


filedbyname(blabla).value:=x;

to mam pretypovavat cez CurrToBCD

filedbyname(blabla).Value:=CurrToBCD.....

Dost neprijemna robota nie?
Nebude to spomalovat, ci to je zanedbatelne?

Pozn. Blabla bolo pole typu TFMTBCDField

Hlas

----- Original Message -----
From: "Pavel Zichovsky" <zichovsky(zv)trul(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, October 23, 2002 12:23 PM
Subject: Re: float vs BCD v IB


Zdravim,

On 23 Oct 2002 at 11:58, hlas wrote:

> Ale jedna sa mi o kombinaciu IB - D7
>
> pole v IB pole v Delphi
>
> float f loat
> Numeric 15,2 BCD
> double precision float
>
> tie polia v delphi si nemozem vyberat.
> vyberat si mozem iba polia v IB a D7 mi samo
> pri vytvarani persistetnych poli vytvori typy
> podla IB.

Numeric 15,2 je BCD, a to muzes bezeztraty
pretypovat na Currency.
(filedbyname(blabla).ascurrency)

> Asi si vyberiem posl. variantu Double precision - float
> tam mi funguju povodne procedury pisane
> pre currency, ktore mi nefunguju pre BCD.

Na penize ti nepomuze ani double precision, i tam
jsou problemy s vyjadrenim nekterych desetiny cisel
(i kdyz mensi). Pretypuj si to BCD na Currency a
pouzivej to.


S pozdravem
Pavel �ichovsk� (zichovsky(zv)trul(tec)cz)

edit mask

[*] ViragI(zv)logica(tec)com - 23.10.2002 14:55:36

Zdravim

V JEDI komponentach jsou na zalozce JV Convert komponenty JvFloatEdit a
JvFloatEdit2.

ikv

>Chcem sa opytat ma moznost upravy editmasku.
>Chcem aby sa dali v nom pisat len cisla, pricom musi mat moznost zadania
>desatinnej ciarky.

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.

Jak rozdelit aplikaci?

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 23.10.2002 15:14:44

> Odes�latel: CERMAK <CERMAK(zv)procom(tec)cz>
> Mam velkou databazovou aplikaci. Nevite, jak ji vhodne rozdelit, aby bylo
> mensi Exe. Balicky, COM, .... Jake mate zkusenosti. Co bude nejjednodussi a
> nejefektivnejsi na rychlost natahovani casti a na spotrebu pameti.
Zajimavy dotaz do diskuse.

Prave mam zakazku na provedeni uprav pro rok 2003 do databazove aplikace - 173000 radku zdrojaku, 10MB exe. Je to proste spatne napsane. Zatim se snazit to nerozbourat. Pro rok 2004 to napisu uplne od zacatku znova a bude to mit 2MB (pozor ale na velke dfm s grafikou...).

K dotazu.
Nejde preci jenom o velikost exe, ale o celkove pametove a systemove naroky aplikace. Osobne jsem toho nazoru, ze i ta nejvetsi aplikace se da (principialne) resit tak, ze oteviram pouze hlavni formular (bez dat) a hlavni datovy modul (s konektivitou na databazi). Dalsi jeden-dva-tri formulare si uzivatel otevre v runtime spolu s daty, OnClose caFree.

Ale pokud by preci jenom melo byt exe mensi, pak treba explicitne (na vyzadani) loadovane DLL. Asi s balicky, protoze pri uses Forms, DBTables a pod. se prislusne "masivni" casti VCL prikompiluji do kazdeho DLL.

COM - proc ne, ale principialne to bude podobne jako DLL (zde nepredpokladam out-of-process objekty se samostatnym exe).

Ale proc ne out-of-process DCOM server?
A mame tady vicevrstvou aplikace s "tenkym" klientem.

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)
=========================================

dll soubory

[*] Viktor Marek <viktor(zv)mbox.vol(tec)cz> - 23.10.2002 15:44:48

Zdravim

Zacal jsem zkouset pouziti dll souboru. D� se osetrit stav, kdy soubor dll
chybi tak, aby nevybihala hlaska "Nelze najit dynamicky ......." ale s moji
hlaskou?

Diky za odpoved

Viktor Marek
viktor(zv)mbox.vol(tec)cz


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

Datum+X dnu

[*] Ales Pavel <Aldik(zv)quick(tec)cz> - 23.10.2002 16:23:30

Mozna se budu ptat debilne, ale jak delate datum+x dnu (treba 35) a aby to
byl platny datum, je na to nejaka fce nebo staci pricist nejak + 35 a vrati
mi to potrebny datum? Jeste jsem to nikdy nepotreboval a sam se tomu ted
divim..:-)))


Hezky den

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

dll soubory

[*] Ludo Fulop <kexo(zv)ynet.sk> - 23.10.2002 16:24:00

mozes natahovat dll za behu pouzitim funkcie "LoadLibrary"
Ludo Fulop

----- Original Message -----
From: "Viktor Marek" <viktor(zv)mbox.vol(tec)cz>
> Zacal jsem zkouset pouziti dll souboru. D� se osetrit stav, kdy soubor dll
> chybi tak, aby nevybihala hlaska "Nelze najit dynamicky ......." ale s
moji
> hlaskou?

Datum+X dnu

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 23.10.2002 16:37:43

From: "Ales Pavel" <Aldik(zv)quick(tec)cz>
> Mozna se budu ptat debilne, ale jak delate datum+x dnu (treba 35) a aby to
> byl platny datum, je na to nejaka fce nebo staci pricist nejak + 35 a vrati
> mi to potrebny datum? Jeste jsem to nikdy nepotreboval a sam se tomu ted

Staci pricist ale je na to i funkce IncDay v unitu DateUtils.

Petr Vones

dll soubory

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 23.10.2002 16:43:08

From: "Viktor Marek" <viktor(zv)mbox.vol(tec)cz>
> Zacal jsem zkouset pouziti dll souboru. D� se osetrit stav, kdy soubor dll
> chybi tak, aby nevybihala hlaska "Nelze najit dynamicky ......." ale s moji
> hlaskou?

Pokud se jedna o staticky linkovanou knihovnu tak nijak. Takova knihovna je
vetsinou nezbytne dulezita pro beh te aplikace, takze nic jineho nez zobrazit
chybove hlaseni stejne nema smysl. Jinak by jsi musel DLL nahravat dynamicky,
coz v Delphi znamena psat spoustu dalsiho kodu navic, narozdil treba od MSVC
(a mozna i C++ Builderu 6) kde linker podporuje delay-load import.

Petr Vones

Datum+X dnu

[*] Lstiburek Pavel <Lstiburek(zv)ceb(tec)cz> - 23.10.2002 17:04:05

Pokud jde o dny skutecne staci pouze pricist
respektive odesist pozadovny pocet dnu.
Pokud jde o mesice nebo roky je nutno pouzit fce IncMonth.
Pavel

> Od: Ales Pavel [mailto:Aldik(zv)quick(tec)cz]
> Mozna se budu ptat debilne, ale jak delate datum+x dnu (treba
> 35) a aby to
> byl platny datum, je na to nejaka fce nebo staci pricist
> nejak + 35 a vrati
> mi to potrebny datum? Jeste jsem to nikdy nepotreboval a sam
> se tomu ted
> divim..:-)))

Datum+X dnu

[*] Slavomir Cekel <cekel(zv)noves.sk> - 23.10.2002 17:19:00

ahoj ...

var d: TTimeStamp;
DDatum: TDate;
begin
d := DateTimeToTimeStamp(Date);
d.Date := d.Date + 35;
DDatum := TimeStampToDateTime(d);
end;

Slavo


-----Original Message-----
From: Ales Pavel [mailto:Aldik(zv)quick(tec)cz]
Sent: Wednesday, October 23, 2002 4:24 PM
To: delphi
Subject: Datum+X dnu


Mozna se budu ptat debilne, ale jak delate datum+x dnu (treba 35) a aby
to
byl platny datum, je na to nejaka fce nebo staci pricist nejak + 35 a
vrati
mi to potrebny datum? Jeste jsem to nikdy nepotreboval a sam se tomu ted
divim..:-)))


Hezky den

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

__________ Informacia od NOD32 1.320 (20021022) __________

Tato sprava bola preverena systemom NOD32 pre Exchange.
http://www.eset.sk

Funkce HttpSendRequest a predavani POSTovanych dat

[*] Martin Falta <martin(zv)aprog(tec)cz> - 23.10.2002 17:26:56


===8<==============Original message text===============
Ahoj,

potreboval bych nejakou ukazku kodu s pouzitim %subj%. Jde mi o to, ze
delam aplikaci, ktera musi komunikovat s webem a musim tam pouzit
session. Nenasel jsem komponenty, ktery by umely to, co potrebuju, tak
jsem se rozhodl, ze si to napisu sam s pouzitim WinInet. Ale jaksi
jsem se zasekl na pouziti dane fce :-((
Takze, pokud by nekdo z vas byl tak hodny a poslal mi kousek kodu, kde
bych se mohl podivat, jak na to, budu mu velmi vdecny.

Predem diky.

--
Best regards,
Martin mailto:martin(zv)aprog(tec)cz

===8<===========End of original message text===========
--
Best regards,
Martin mailto:martin(zv)aprog(tec)cz

Odchyceni DBError nevyplnena polozka X na IB/FB

[*] Ales Pavel <Aldik(zv)quick(tec)cz> - 23.10.2002 17:35:28

Aldik na to:
Spis nahradit vlastni hlaskou!! No ale tohle bude zatim stacit udelam si
vlastni hlasku na on validate ci jak se to zove

>David Lebeda:
>Jestli jde o to, jak to potlacit, tak kazdy field ma property Required,
>tu staci shodit. Bud v dobe navrhu nebo za behu

>Dataset.FieldByName('cosi').Required := False, umistit napr. do
>AfterOpen na datasetu.

Datum+X dnu

[*] David Michal <david.michal(zv)www-bv(tec)com> - 23.10.2002 17:39:47

Zdravim,
Datum TDateTime je ve skutecnosti typ double. Kde nula znamena 30/12/1899
12:00 am.
Cela cast cisla je potom pocet dni od tohoto data a desetina cast urcuje
pomernou cast dne.
Takze vztazeno k tve otazce pricitat si muzes kolik chces, vzdy ti to da
spravne datum.
Napr.
var
d : TDateTime;

begin
d := date; (23.10.2002)
d := d + 10
ShowMessage(DateToStr(d));
end;

Zobrazi: 2/11/2002

David


-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Behalf Of Ales Pavel
Sent: 23 October 2002 16:24
To: delphi
Subject: Datum+X dnu


Mozna se budu ptat debilne, ale jak delate datum+x dnu (treba 35) a aby to
byl platny datum, je na to nejaka fce nebo staci pricist nejak + 35 a vrati
mi to potrebny datum? Jeste jsem to nikdy nepotreboval a sam se tomu ted
divim..:-)))


Hezky den

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

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.406 / Virus Database: 229 - Release Date: 21/10/2002

Jak rozdelit aplikaci?

[*] David Michal <david.michal(zv)www-bv(tec)com> - 23.10.2002 17:51:58

Zdravim,
Tomuhle uplne nerozumim. Jaky je rozdil v udrzbe nekolika *.pas souboru,
ktere potom zkompiluji do jednoho exe souboru, a udrbou nekolika *.pas
souboru, ktere potom zkompiluji do vice souboru?
David

Velky exac je naprd, protoze se komplikovane udrzuje. Pokud program
preroste urcitou mez, je daleko vhodnejsi ho rozsekat na vice-mene
nezavisle moduly. Je s tim sice vic prace na zacatku a beha to pak
trochu pomaleji (coz dnes v drtive vetsine pripadu nema zadny
vyznam), ale lepe se to potom udrzuje a pokud je to dobre navrzene,
pak lze delat snadno zmeny aniz by si clovek rovrtal celou logiku.

Zbysek Hlinka



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.406 / Virus Database: 229 - Release Date: 21/10/2002

Funkce HttpSendRequest a predavani POSTovanych dat

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 23.10.2002 17:54:25

Skoda ze dotycny nehledal lepe a nenasel treba Synapsi, kde se to da
delat velmi jednoduse a soucasti distribucniho baliku je i DEMO,
ktere presne toto demonstruje.... (doslova na par radcich kodu...)

> potreboval bych nejakou ukazku kodu s pouzitim %subj%. Jde mi o to, ze
> delam aplikaci, ktera musi komunikovat s webem a musim tam pouzit
> session. Nenasel jsem komponenty, ktery by umely to, co potrebuju, tak
> jsem se rozhodl, ze si to napisu sam s pouzitim WinInet. Ale jaksi
> jsem se zasekl na pouziti dane fce :-(( Takze, pokud by nekdo z vas
> byl tak hodny a poslal mi kousek kodu, kde bych se mohl podivat, jak
> na to, budu mu velmi vdecny.


-- Lukas Gebauer.

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

dll soubory

[*] Viliam Mlich <vmlich(zv)mbox.vol(tec)cz> - 23.10.2002 17:56:34

> kdyz soubor dll chybi tak, aby nevybihala hlaska
> "Nelze najit dynamicky ......." ale s moji hlaskou?

Musis to riesit tak, ze namiesto tvojej aplikacie sa nastartuje iny
.EXE, ktory overi, ci su splnene vsetky podmienky pre naloadovanie
aplikacie, chybajuce moduly doinstaluje a az tak ju spusti. Je to
vyhodne spojit s on-line updatovanim (prechodom na novu verziu), to tiez
je mozne len ked .EXE nebezi.

V samom .EXE to osetrit nejde, lebo chyba nastava uz v case jeho
zavadzania do pamati, ked este nedostal riadenie.

bye
vmlich


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