Archív konference Delphi

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

Case vs. string

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

From: "Jaromir Cermak" <cermak(zv)procom(tec)cz>
> Na retezcich by to nebylo az tak jednoduche a case by se stejne prelozil
> jako sada ifu.

To zalezi na platforme :-) V .NETu funguje "case" na retezce take jen jako
porovnani hodnoty. CLR automaticky vytvari interni tabulku vsech retezcu, kde
kazdy ma i svuj hash. Prohledani v "case" pak znamena prakticky jen porovnani
reference dvou string objektu.

Petr Vones


Problem s prechodem z IB na FB

[*] Ludek Paral <ludek.paral(zv)quick(tec)cz> - 28.9.2003 23:25:00

Ahoj,

zakaznik se pokusil instalovat FB 1.5 a ma problemy s projektem. Pouzivam
IBX 4.3. Umite nekdo poradit, co misto IBX 4.3 pouzivat, aby to slo jak na
IB6 tak na FB 1.1 a 1.5 ?

S pozdravem

Ludek Paral
lupasoft
Sadova 2
352 01 As
Czech Rep.
mobil :00420/728.167118
email :ludek.paral(zv)atlas(tec)cz
ICQ :178625461
MSN :ludek.paral(zv)telecom(tec)cz


TCP client v threadu ...

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 28.9.2003 21:12:52

> tak problemy s managovanim threadu jsem _asi_ vyresil a mam dalsi
> problemek :O) Potreboval bych v threadu vytvorit jednoducheho tcp klienta,
> ktery by se spojil se serverem, vymenil si s nim par informaci a odpojil
> se. Pokud je to v threadu, predpokladal bych zrejme blocking socket ...
> potreboval bych nejaky priklad, jak se vetvi chovani klienta na zaklade
> odeslanych/prijatych informaci, jakym zpusobem se vubec prijimaji a
> odesilaji data apod ... staci nejaky link

Toto vsechno ale hodne zalezi prave na tech datech, ktere potrebujes
odesilat, respektive na komunikacnim protokolu.

Jinak se muzes podivat treba na moji Synapsi. Vsechen tamni kod muzes bez
problemu poustet uvnitr threadu... tam se muzes podivat i na implementaci
mnoha klientu ruznych internetovych protokolu. da se z toho pochopit, jak
to vlastne funguje.
--
Lukas Gebauer.

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

SYNAPSE TFTPSend - problem s odesilanim souboru

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

> PS: kdyz jsem to zkousel pred WinCommandera tak hlaska "Entering passive
> mode" tam byla hodne dlouho (cca 20 vterin, nemuze Synapsi vyprset nejaky
> timeout?)

Defaultni timeout u TFTPsendu je 5 minut, ale ovsem na prenos dat!
Timeout pri navazovani spojeni je ale pevne zadratovat uvnitr winsocku a
neni mozno jej primo menit.

jak dlouho to trva od odeslani pozadavku na upload do doby, nez je ti
vracena chyba? Jakou hodnotu mas v DSock.lasterror?

Nejlepsi by opet bylo, kdhybych si mohl upload na tvuj FTP server
vyzkouset sam. ;-)

--
Lukas Gebauer.

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

Problem se zdroji + sdileni pripojeni k internetu

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 27.9.2003 13:26:52

> icon := TIcon.Create;
> rStream := TResourceStream.Create(HInstance, 'ACTIVE1', RT_ICON);
> icon.LoadFromStream(rStream);
> rStream.Free;

Ahoj, ja pouzivam cosi takoveho - kdysi mi to nekdo poradil nebo jsem to
vycetl v teto skvele konferenci ;-)

Icon := TIcon.Create;
try
IconH:=LoadIcon(FModuleInstance,PChar(IconName));
if not (IconH=0) then
Icon.Handle:=IconH;
.....
......

MB


Problem se zdroji + sdileni pripojeni k internetu

[*] petr.spurny <peta.spurny(zv)tiscali(tec)cz> - 27.9.2003 12:48:49

Zdravim,

mam problem s nacitanim ikon ze zdroju (resources).

Pouzivam nasledujici postup:

1) vytvorim *.rc soubor s obsahem
ACTIVE1 ICON "cesta_k_ikone/active1.ico"
2) zkompiluji do *.res a pripojim k aplikaci -> vsechno OK
3) a kdyz zkusim pouzit nasledujici kod

var
rStream : TResourceStream;
icon : TIcon;
...
...
icon := TIcon.Create;
rStream := TResourceStream.Create(HInstance, 'ACTIVE1', RT_ICON);
icon.LoadFromStream(rStream);
rStream.Free;
...

Tak mi to pri pokusu o vytvoreni streamu hlasi ze zdroj se jmenem ACTIVE1
nebyl nalezen.
Nefunguje to ani kdyz pouziji ciselne oznaceni a
TResourceStream.CreateFromID.

Nevi nekdo kde by mohl byt zakopan pes?

++

Nevi nekdo jak programove zakazat/povolit sdileni pripojeni k internetu ve
Win98?

Predm diky
Petr Spurny [Delphi 6 Ent, Win98SE]:: petr.spurny ::

:: peta.spurny(zv)tiscali(tec)cz ::

Case vs. string

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 27.9.2003 11:42:45

> Kdysi se tady probiralo WHILE vs REPEAT...UNTIL a hodne lidicek repeat
> zavrhlo. Myslim, ze toto je zrovna priklad, kdy by bylo jednodussi pouzit
> repeat misto while.

Ano, ano. Presel jsem z jazyka, kde repeat neni, takze na nej pozapominam
:))

MB


Zeoslib

[*] PinguiN <pinguin(zv)rtfm(tec)cz> - 27.9.2003 04:16:17

Zdravim,

znova ti to vyvola sql prikaz pri otevreni datasetu


Ales Lednej

odpoved na mail zThursday, September 4, 2003, 10:57:55:> Dobry den.

> Pouzivam zeoslib pre mysql Ked urobim insert do tabulky tak namiesto
> jeeho
> zaznamu mi vlozi dva. Insert robim z TZMysqlQuery tak ze do property
> sql zapisem prikaz sql. Nie z TmysqlUpdate
> je mozne taketo pouzitie; Ako sa zbavim duplicitneho zaznamu.

> Dkujem.

Vyhladanie beziaceho procesu

[*] Peter Vlkovic <vlkovic(zv)minv.sk> - 26.9.2003 19:59:46

Ahoj,

nevedel by niekto pomoct (s jednoduchym prikladom),
ako zistit, ze bol spusteny urcity exe-program
a zistit jeho handle? Potrebujem ho odstrelit.

Vdaka za pripadnu pomoc.

Vlkovic

TCP client v threadu ...

[*] tomsir1.edu(zv)mail.cez(tec)cz - 26.9.2003 19:21:42



Ahoj,
tak problemy s managovanim threadu jsem _asi_ vyresil a mam dalsi problemek
:O)
Potreboval bych v threadu vytvorit jednoducheho tcp klienta, ktery by se
spojil se serverem, vymenil si s nim par informaci a odpojil se. Pokud je
to v threadu, predpokladal bych zrejme blocking socket ... potreboval bych
nejaky priklad, jak se vetvi chovani klienta na zaklade
odeslanych/prijatych informaci, jakym zpusobem se vubec prijimaji a
odesilaji data apod ... staci nejaky link

Diky Radek

chyba pri pouziti DAO komonent

[*] Erik Salaj <winsoft(zv)netkosice.sk> - 26.9.2003 18:11:37

> takze v DAO komponentach to nie je. Ale robi to iba na pc kde je
> nainstalovany office 2000. Na starsom je iba office 97 a tam to bezi
dobre.
> Asi bude v tom nejaky problem ale aky.

na 99% s DAO instalaciou. Popozeraj nas DAO FAQ
http://www.winsoft.sk/daofaq.htm, tam je spusta informacii, napr.
linku http://support.microsoft.com/support/kb/articles/Q240/3/77.ASP,
atd.

> Kde by som nasiel novsie DAO ? Na webe microsoftu som hladal ale nebol som
z
> toho moc mudri. Uz som aj rozmyslal prerobit to na ADO komponenty co su
> rovno v D5 ale niektore prikazy maju inu syntax - priradenie SQL retazca
> priradenie a citanie hodnoty polozky v databaze a pod.

nieco je tu, ale neviem, ci je to kompletne
http://support.microsoft.com/support/kb/articles/q172/7/33.asp

> este by som mal nejake dotazy ohladom DAO komponentov Winsoft
> -da sa nejako zistit ci mdb pouziva aj niekto iny ?

ano, na http://www.winsoft.sk/download/users.zip je priklad

> -da sa zkomprimovat mdb databaza ?

ano, precitaj si DAO FAQ http://www.winsoft.sk/daofaq.htm , tam
to najdes

Erik

SYNAPSE TFTPSend - problem s odesilanim souboru

[*] likeapear(zv)centrum(tec)cz - 26.9.2003 17:37:35

Jenom dodam, ze nejsem za FireWallem...

||| likeapear

----- Original Message -----
From: <likeapear(zv)centrum(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Friday, September 26, 2003 5:30 PM
Subject: SYNAPSE TFTPSend - problem s odesilanim souboru


Ahoj,

pouzivam Synapsi a jsem s ni velice spokojen. Ted mam ale problem s
odesilanim souboru na ftp server. Jde o to, ze na vetsinu serveru se mi dari
soubor bez problemu odeslat. Jenom na tento ne. Pritom napr. s
WinCommanderem ho tam dostanu. V mem programu se pripojim, nastavim vzdaleny
adresar, ale metoda FTPSend.StoreFile vraci false a po jejim volani je ve
vlastnosti FTPSend.ResultString:

"227 Passive mode entered (153,100,6,6,174,133)"

Pasivni rezim mam nastaven. Cim by to mohlo byt? Je to dulezite (pro
zakaznika). Uz s tim bojuju dlouho a nevim si rady. Nerad bych klesnul a
pouzil neco jineho nez Synapse...

PS: kdyz jsem to zkousel pred WinCommandera tak hlaska "Entering passive
mode" tam byla hodne dlouho (cca 20 vterin, nemuze Synapsi vyprset nejaky
timeout?)

Dekuji za odpoved.

||| likeapear


Zde je framgment meho kodu:

try
Screen.Cursor:=crHourglass;
try
if FFTP.Login then
begin
if FFTP.ChangeWorkingDir(FParams.FTPParams.RemoteDir) then
begin
FFTP.DirectFileName:=LocalFile;
if FFTP.StoreFile(RemoteFile,false) then
... // sem to neskoci
else
...;
end
else
...;
FFTP.Logout;
end
else
...;
finally
Screen.Cursor:=crDefault;
end;
except
end;

SYNAPSE TFTPSend - problem s odesilanim souboru

[*] likeapear(zv)centrum(tec)cz - 26.9.2003 17:31:32

Ahoj,

pouzivam Synapsi a jsem s ni velice spokojen. Ted mam ale problem s
odesilanim souboru na ftp server. Jde o to, ze na vetsinu serveru se mi dari
soubor bez problemu odeslat. Jenom na tento ne. Pritom napr. s
WinCommanderem ho tam dostanu. V mem programu se pripojim, nastavim vzdaleny
adresar, ale metoda FTPSend.StoreFile vraci false a po jejim volani je ve
vlastnosti FTPSend.ResultString:

"227 Passive mode entered (153,100,6,6,174,133)"

Pasivni rezim mam nastaven. Cim by to mohlo byt? Je to dulezite (pro
zakaznika). Uz s tim bojuju dlouho a nevim si rady. Nerad bych klesnul a
pouzil neco jineho nez Synapse...

PS: kdyz jsem to zkousel pred WinCommandera tak hlaska "Entering passive
mode" tam byla hodne dlouho (cca 20 vterin, nemuze Synapsi vyprset nejaky
timeout?)

Dekuji za odpoved.

||| likeapear


Zde je framgment meho kodu:

try
Screen.Cursor:=crHourglass;
try
if FFTP.Login then
begin
if FFTP.ChangeWorkingDir(FParams.FTPParams.RemoteDir) then
begin
FFTP.DirectFileName:=LocalFile;
if FFTP.StoreFile(RemoteFile,false) then
... // sem to neskoci
else
...;
end
else
...;
FFTP.Logout;
end
else
...;
finally
Screen.Cursor:=crDefault;
end;
except
end;

chyba pri pouziti DAO komonent

[*] mato <mato.tino(zv)inmail.sk> - 26.9.2003 17:19:31

takze v DAO komponentach to nie je. Ale robi to iba na pc kde je
nainstalovany office 2000. Na starsom je iba office 97 a tam to bezi dobre.
Asi bude v tom nejaky problem ale aky.
Kde by som nasiel novsie DAO ? Na webe microsoftu som hladal ale nebol som z
toho moc mudri. Uz som aj rozmyslal prerobit to na ADO komponenty co su
rovno v D5 ale niektore prikazy maju inu syntax - priradenie SQL retazca
priradenie a citanie hodnoty polozky v databaze a pod.

este by som mal nejake dotazy ohladom DAO komponentov Winsoft
-da sa nejako zistit ci mdb pouziva aj niekto iny ?
-da sa zkomprimovat mdb databaza ?


----- Original Message -----
From: "Erik Salaj" <winsoft(zv)netkosice.sk>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Friday, September 26, 2003 12:22 PM
Subject: Re: chyba pri pouziti DAO komonent


> > mozem poslat ale pouzivam databazu mdb a robi mi to pri hocijakej
> databaze.
> > V tom problem nebude. Skor sa mi zda ze to zacalo robit ked som presiel
na
> > novy pc a tam som dal DAO komponenty 3,9. Na starom su 3,6 a ide to
dobre.
> > Skusal som dao odinstalovat, ale v delphi mi stale zostalo. Tiez som
> > nainstaloval tam kde mam komponenty 3,6 dao komponenty 3,9 ale v delphi
su
> > stale 3,6. Ako je to s instalaciov a deinstalaciov, upgrade komponent
DAO
> ?
>
> ak pouzivas nase (Winsoft) DAO komponenty, tak odistalujes ich
> pomocou Control Panel/AddRemove Programs. Doporucujem
> potom este pohladat a zmazat daods*.* subory na harddisku.
> Ale nemyslim si, ze problem je v komponentach, pretoze
> o tomto probleme pocujem prvy krat. Doporucujem pohladat
> a nainstalovat novsie DAO 3.51 ako DAO 3.5. Pripadne
> to vyskusat na inom pocitaci. Inac pozri este
> http://www.winsoft.sk/daofaq.htm#Q2 , konkretne ci je
> nastavena TEMP premenna.
>
> Erik
>

>
>

Case vs. string

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



> CASE je rychly protoze si vytvori tabulku
> skoku dle hodnot, proto musi ten typ byt ordinarni
> (nevim jen zda to nove compilatory jeste pouzivaji
> nebo to uz delaji jinak).

PS: delphi vyrabi tabulku skoku - ale jen v pripade, ze je seznam
hodnot podle kterych se vetvi dostatecne souvisly a dlouhy. Pokud je
seznam deravy, pak se replikuje Case v podstate jako sled podminek ...

D. Toman

kresleni objektu do bitmapy TWinControl.PaintTo

[*] likeapear(zv)centrum(tec)cz - 26.9.2003 16:07:26

Odpovim si sam:
V pripade TOleControl pouzij OleDraw.
Dekuji za pozornost :-)

||| likeapear

----- Original Message -----
From: <likeapear(zv)centrum(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Friday, September 26, 2003 3:15 PM
Subject: kresleni objektu do bitmapy TWinControl.PaintTo


Ahoj,
potrebuju radu:
Chci vykreslit nejaky TWinControl do bitmapy. Zkousel jsem metodu
PaintTo(HDC, X, Y). U vetsiny objektu je to OK, ale kuprikladu u
naimportovaneho ActiveXu (tj. odvozeneho od TOleControl) to nefunguje.
Poradi mi nekdo jak objekt do bitmapy vykreslit?

Dekuji

||| likeapear

Case vs. string

[*] Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> - 26.9.2003 15:59:25

Jinak uz chvili jsem v pascalu nic nepsal, takze jak vidim uz v definici
pole by to na me rvalo, takze ten kousek kodu berte s rezervou.
Diky - dalibor.

Case vs. string

[*] Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> - 26.9.2003 15:55:24



> CASE je rychly diky tomu ze pracuje s Ordinalnimy typy. Da se to
implementovat tak, ze hodnota promenne je indexem do tabulky adres, a podle
tohoto indexu se urcuje kam se ma skocit. Na retezcich by to nebylo az tak
jednoduche a case by se stejne prelozil jako sada ifu.
>
Ano, plne souhlasim. Ma podle meho nazoru jeste trochu jednodussi zapis
slozitejsich podminek, ale zase neprochazi zbyle podminky, pokud jednu uz
splnil. Takze je to na koderovi.
Prijemny vikend - Dalibor.

Case vs. string

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 26.9.2003 15:53:19

CASE je rychly protoze si vytvori tabulku
skoku dle hodnot, proto musi ten typ byt ordinarni
(nevim jen zda to nove compilatory jeste pouzivaji
nebo to uz delaji jinak).
V pripade CASE v VB, ale take v VFP je to pouze
prijemna konstrukce jazyka.

Pavel

> From: Dalibor Faltynek [mailto:dalibor.faltynek(zv)orgrez(tec)cz]
> Kdysi me ucili, ze CASE je nejrychlejsi, ale nevim jak je to dnes.
> S retezci umi pracovat case asi jenom v basicu a je to prijemne.
>
> A co takhle: I kdyz si myslim, ze jsou to instrukce navic, if
> bude stejne
> prehledny a mozna rychlejsi.
>
> var
>
> String1, String2 : string;
> I, vysledek, pocet : integer;
> Retezy: array[1 to pocet] of string;
>
> NaplnRetezy;
> begin
> for i:=1 to pocet do
> begin
> String1 := 'neco';
> String2 := Retezy[i];
> vysledek := CompareStr(String1, String2);
> if vysledek = 0 then break // nebo jak se to tento
> vyskakuje z cyklu
> end; // for
> case i
> 1: byl to 1. retezec
> 2: atd.
> end; // of case
>
>
>
>
>

Case vs. string

[*] Jaromir Cermak <cermak(zv)procom(tec)cz> - 26.9.2003 15:47:18

CASE je rychly diky tomu ze pracuje s Ordinalnimy typy. Da se to implementovat tak, ze hodnota promenne je indexem do tabulky adres, a podle tohoto indexu se urcuje kam se ma skocit. Na retezcich by to nebylo az tak jednoduche a case by se stejne prelozil jako sada ifu.
Jaromir Cermak


-----Original Message-----
From: Dalibor Faltynek [mailto:dalibor.faltynek(zv)orgrez(tec)cz]

Kdysi me ucili, ze CASE je nejrychlejsi, ale nevim jak je to dnes.
S retezci umi pracovat case asi jenom v basicu a je to prijemne.

Case vs. string

[*] Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> - 26.9.2003 15:33:17

Kdysi me ucili, ze CASE je nejrychlejsi, ale nevim jak je to dnes.
S retezci umi pracovat case asi jenom v basicu a je to prijemne.

A co takhle: I kdyz si myslim, ze jsou to instrukce navic, if bude stejne
prehledny a mozna rychlejsi.

var

String1, String2 : string;
I, vysledek, pocet : integer;
Retezy: array[1 to pocet] of string;

NaplnRetezy;
begin
for i:=1 to pocet do
begin
String1 := 'neco';
String2 := Retezy[i];
vysledek := CompareStr(String1, String2);
if vysledek = 0 then break // nebo jak se to tento vyskakuje z cyklu
end; // for
case i
1: byl to 1. retezec
2: atd.
end; // of case

Case vs. string

[*] Jaroslav Bucek <jaroslav.bucek-kd(zv)seznam(tec)cz> - 26.9.2003 15:15:15

----- Original Message -----
From: "Martin Burle" <mburle2(zv)volny(tec)cz>

> while true do begin
> .....
> break;
> end;

Kdysi se tady probiralo WHILE vs REPEAT...UNTIL a hodne lidicek repeat
zavrhlo. Myslim, ze toto je zrovna priklad, kdy by bylo jednodussi pouzit
repeat misto while. Takze:

repeat
....
until True;

Ahoj, Jarda

kresleni objektu do bitmapy TWinControl.PaintTo

[*] likeapear(zv)centrum(tec)cz - 26.9.2003 15:15:15

Ahoj,
potrebuju radu:
Chci vykreslit nejaky TWinControl do bitmapy. Zkousel jsem metodu
PaintTo(HDC, X, Y). U vetsiny objektu je to OK, ale kuprikladu u
naimportovaneho ActiveXu (tj. odvozeneho od TOleControl) to nefunguje.
Poradi mi nekdo jak objekt do bitmapy vykreslit?

Dekuji

||| likeapear

Case vs. string

[*] jsemler(zv)stbk.mcs(tec)cz - 26.9.2003 14:05:05



>No slo by preci priradit object ke kazdemu stringu. A pak by sel case
>pomoci techto objektu.
>David
>
>
Toto me privedlo na myslenku do objektu ve StringListu priradit
proceduru vykonavajici potrebnou cinnost.

Asi takto:
type
THledanyText= record
XXXText:string;
ZpracujText:procedure;
end;

MyObj= class(TObject)
HledanyText:tHledanyText;
end;
implementation

procedure ZpracujPrvni;
begin
// udelej neco
end;

procedure ZpracujDruhy;
begin
// udelej neco jineho
end;

const
CaseTexty:array [0..1] of THledanyText=
((XXXText:'Text 1';ZpracujText:ZpracujPrvni),
(XXXText:'Text 2';ZpracujText:ZpracujDruhy));

StringList naplnit pres AddObject(.......) treba ve FormCreate(....);, a
na vhodnem miste programu volat neco jako:

procedure CaseString(TextKeZpracovani);
var i:integer;
Volej:THledanyText;
begin
MujStringList.IndexOf(TextKeZpracovani);
// MujStringList by se musel nadefinovat asi nejlip v casti Private
Volej:=THledanyText(MujstringList.Object[i]);
Volej.ZpracujText;
end;

Mozna to vypada slozite, ale myslim, ze by to mohlo fungovat. Nemam ani
radu if_u, ani case a staci mi v budoucnu pouze upravit vyse uvedenou
konstantu a doplnit potrebnou proceduru.

Je to jenom napad nezkousel jsem to.

Jirka

>>No me se zda docela funkci (jak jsem napsal) udelat si stringList a
>>
>>
>pak
>
>
>>Case a delat neco podle cisla "radku" v tom stringListu. Je to - podle
>>me - celkem dobre a neni to hromada if_u.
>>
>>
>
>Jenze to vraci Integet hodnoty, jak je priradis k puvodnim stringum ?
>Musis
>mit nekde tabulku retezec - hodnota. Samozrejme by to slo generovat
>nejakym
>nastrojem.
>
>

Ukonceni formulare

[*] jsemler(zv)stbk.mcs(tec)cz - 26.9.2003 14:05:05



>prosim o radu. Mam na formulari nejake komponenty. Jde mi o to, aby, at jsem na formu kde jsem, doslo po stisknuti klavesy ESC k jeho Close.
>
>
Predpokladam, ze mas na formu Button pro jeho zavreni. Pak staci u
tohoto buttonu v Object Inspectoru nastavit Cancel:=True a ModalResult
na mrCancel. Melo by to chodit s vetsinou objektu umistenych na form
(myslim, ze nechodi s TMemo a pod.) .

Jirka


Case vs. string

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 26.9.2003 14:31:07

> Co je spatne na starem dobrem:

Hmm, vubec nic, ovsem.Kazdemu vyhovuje neco jineho, me se na mem zpusobu
libi jednoduche pridavani/ubirani podminek...taky se muzu jednoduse
rozhodnout, jestli nahodou po splneni nektere podminky nechci projet i
dalsi... ;-)

MB


Case vs. string

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 26.9.2003 14:03:04

Martin Burle <mburle2(zv)volny(tec)cz> wrote:
> ..take bych se tech Ifu tolik nebal. V kombinaci s while je to i
> docela prehledne:
>
> while true do begin
> if cond then begin
> .....
> break;
> end;
> if cond then begin
> .....
> break;
> end;
> break;
> end;

Hmm, to mi neprijde zas az tak moc prehledne.
Co je spatne na starem dobrem:

if cond then begin
.....
end
else if cond then begin
.....
end
else if cond then begin
.....
end;

Martin Schayna

OT: DBF Staty, kody statu ...

[*] Dalibor <dalibor(zv)torola(tec)cz> - 26.9.2003 13:53:03

Ahoj,
nemate nekdo po ruce ciselnik (treba v DBF) statu, kody statu a jejich hlavni mesta?
Dekuji

Replikace interbase

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 26.9.2003 13:47:02

Matejcek Petr <konference(zv)crhov.komfi(tec)cz> wrote:
> chceme do firmy koupit jeden ucetni program ktery pracuje na
> interbasi jenze ho portebujeme pouzivat ve vice pobockach tak shanim
> neco co by umelo vymenovat data mezi nekolika databazemi.
>
> hledal jsem na google a vetsina programu je spis pro zalohovani
> (jednim smerem) jenze u nas se bude pracovat v obou pobockach a data
> by se mela synchronizovat obema smery.
>
> Mate s tim nekdo zkusenosti ?

Pokud ten ucetni program na to neni pripraveny, mate smulu.
Replikace nejsou zadna hracka, mozna snad u nejake aplikace
se dvema tabulkami, ale pokud jsou vazby jen malinko slozitejsi
je treba korektni replikace nejak podporit ze strany aplikace.
Vim to z vlastni zkusenosti -- www.abrag3.com
skryta reklama :-)

Martin Schayna


Replikace interbase

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 26.9.2003 13:20:55

> (jednim smerem) jenze u nas se bude pracovat v obou pobockach a data by se
> mela synchronizovat obema smery.

Jako prvni byste se asi meli zeptat vyrobce, jestli s necim takovym pocital
pri navrhu databaze :) Pokud ne, pak to bude IMHO dost slozite, az
nemozne...Snad jeste "prihravani" dat jednim smerem...

MB


Replikace interbase

[*] Matejcek Petr <konference(zv)crhov.komfi(tec)cz> - 26.9.2003 13:08:50

Zdravim,

chceme do firmy koupit jeden ucetni program ktery pracuje na
interbasi jenze ho portebujeme pouzivat ve vice pobockach tak shanim neco co
by umelo vymenovat data mezi nekolika databazemi.

hledal jsem na google a vetsina programu je spis pro zalohovani
(jednim smerem) jenze u nas se bude pracovat v obou pobockach a data by se
mela synchronizovat obema smery.

Mate s tim nekdo zkusenosti ?

Prime propojeni a prace na jedne databazi neni mozna


Diky PM


Download souboru z Internetu pres Delphi

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 26.9.2003 12:48:44

From: "Macecek Marcel" <marcel.macecek(zv)siemens.com>
> nevite nekdo jak pouzit komponenty v Delphi tak, abych mohl downloadnout
> nejaky file z internetu ???

Na to staci i kod, neni treba komponenty na kazdou jednoduchou operaci.
Moznosti:

WinInet API - funkce URLDownloadToFile
Synapse - http://www.ararat(tec)cz/synapse/

Petr Vones


Download souboru z Internetu pres Delphi

[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 26.9.2003 12:40:43

26.9.2003 Macecek Marcel:
> Caute,

> nevite nekdo jak pouzit komponenty v Delphi tak, abych mohl
> downloadnout nejaky file z internetu ???

Synapse (www.ararat(tec)cz/synapse)
Unita HTTPSend nebo FTPSend, podle toho, zda chces HTTP nebo FTP
protokol


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

chyba pri pouziti DAO komonent

[*] Erik Salaj <winsoft(zv)netkosice.sk> - 26.9.2003 12:22:42

> mozem poslat ale pouzivam databazu mdb a robi mi to pri hocijakej
databaze.
> V tom problem nebude. Skor sa mi zda ze to zacalo robit ked som presiel na
> novy pc a tam som dal DAO komponenty 3,9. Na starom su 3,6 a ide to dobre.
> Skusal som dao odinstalovat, ale v delphi mi stale zostalo. Tiez som
> nainstaloval tam kde mam komponenty 3,6 dao komponenty 3,9 ale v delphi su
> stale 3,6. Ako je to s instalaciov a deinstalaciov, upgrade komponent DAO
?

ak pouzivas nase (Winsoft) DAO komponenty, tak odistalujes ich
pomocou Control Panel/AddRemove Programs. Doporucujem
potom este pohladat a zmazat daods*.* subory na harddisku.
Ale nemyslim si, ze problem je v komponentach, pretoze
o tomto probleme pocujem prvy krat. Doporucujem pohladat
a nainstalovat novsie DAO 3.51 ako DAO 3.5. Pripadne
to vyskusat na inom pocitaci. Inac pozri este
http://www.winsoft.sk/daofaq.htm#Q2 , konkretne ci je
nastavena TEMP premenna.

Erik

Zobrazeni dat ze sluzby

[*] delphin(zv)post(tec)cz - 26.9.2003 12:08:41

> Zapisovat string do log souboru a tento log refreshovat v dalsi
> aplikaci? Pak by ani nemuseli obe dve bezet na jednom kompu. Pokud
> nechcete soubor, pak bych aplikaci generujici string napsal jako klienta
> posilajici string na nejaky port a nejakou adresu. Druha aplikace by na
> onom portu poslouchala a zpracovavala prijate strings. A opet by
> nemuseli bezet obe na jednom kompu.

Soubor nechci, pouziju druhe reseni. Diky


Ukonceni formulare

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 26.9.2003 11:52:39

> prosim o radu. Mam na formulari nejake komponenty. Jde mi o to, aby,
> at jsem na formu kde jsem, doslo po stisknuti klavesy ESC k jeho
> Close.

Nastavit formu property KeyPreview na True a v OnKeyDown ci OnKeyPress pak
reagovat na escape.

Ale pozor, abys uzivateli nesebral nektere editacni moznosti:

- comboboxy, datetimepickery by mely jit escapem sbalit. Mel bys proto overit, ze
nejsi na takovem prvku v rozbalenem stavu.

- RxLookupComboBox muze mit zapnuto, ze stisk klavesy ESC vyprazdni jeho
obsah. Pak bys mel kontrolovat, zda nejen neni rozbaleny, ale zda ma i prazdny
Text.

- a mozna se najdou i dalsi komponenty, u kterych ESC k necemu slouzi. Mozna
treba DBEdity, kdyz zacnes psat nejaky text, rozmyslis si to - nedela ESC navrat k
puvodnimu stavu? To abys pak jeste kontrolovat, zda takovy dataset je v dsBrowse
stavu.

David Lebeda

Ukonceni formulare

[*] LUKES Vaclav <lukes(zv)ans(tec)cz> - 26.9.2003 11:34:38

Ahoj,

prosim o radu. Mam na formulari nejake komponenty. Jde mi o to, aby, at jsem na formu kde jsem, doslo po stisknuti klavesy ESC k jeho Close.

Diky

V.

Zobrazeni dat ze sluzby

[*] David Michal <david.michal(zv)czechwireless(tec)cz> - 26.9.2003 11:32:38

Zdravim,
Zapisovat string do log souboru a tento log refreshovat v dalsi
aplikaci? Pak by ani nemuseli obe dve bezet na jednom kompu. Pokud
nechcete soubor, pak bych aplikaci generujici string napsal jako klienta
posilajici string na nejaky port a nejakou adresu. Druha aplikace by na
onom portu poslouchala a zpracovavala prijate strings. A opet by
nemuseli bezet obe na jednom kompu.
David


-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of delphin(zv)post(tec)cz
Sent: 26 September 2003 11:09
To: delphi-l(zv)clexpert(tec)cz
Subject: Zobrazeni dat ze sluzby

Mam sluzbu, ktera bezi nonstop a cca 1x za 5 sec vygeneruje informaci o
svem
stavu (jeden string). Tento string chci chci zobrazit v jine aplikaci.
Nechce se mi vymyslet vymyslene, tak se chci zeptat, jak se to udela
nejjednoduseji.

Diky Delphin


Zobrazeni dat ze sluzby

[*] delphin(zv)post(tec)cz - 26.9.2003 11:08:36

Mam sluzbu, ktera bezi nonstop a cca 1x za 5 sec vygeneruje informaci o svem
stavu (jeden string). Tento string chci chci zobrazit v jine aplikaci.
Nechce se mi vymyslet vymyslene, tak se chci zeptat, jak se to udela
nejjednoduseji.

Diky Delphin


chyba pri pouziti DAO komonent

[*] mato <mato.tino(zv)inmail.sk> - 26.9.2003 10:28:33

mozem poslat ale pouzivam databazu mdb a robi mi to pri hocijakej databaze.
V tom problem nebude. Skor sa mi zda ze to zacalo robit ked som presiel na
novy pc a tam som dal DAO komponenty 3,9. Na starom su 3,6 a ide to dobre.
Skusal som dao odinstalovat, ale v delphi mi stale zostalo. Tiez som
nainstaloval tam kde mam komponenty 3,6 dao komponenty 3,9 ale v delphi su
stale 3,6. Ako je to s instalaciov a deinstalaciov, upgrade komponent DAO ?

----- Original Message -----
From: "Erik Salaj" <winsoft(zv)netkosice.sk>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, September 24, 2003 6:46 PM
Subject: Re: chyba pri pouziti DAO komonent


> > test ukazal nainstalovane DAO 3,5 aj 3,6. Acces 97 bezi normalne. Nebude
> > chybat v D5 nejaky patch ?
>
> neviem, kde by mohol byt problem. Ak mozes, posli mi databazu
> na info(zv)winsoft.sk a ja to vyskusam s DAO 3.51. Pripadne
> skus pohladat na MSDN podla presneho popisu hlasky,
> ci neide o nejaky DAO problem.
>
> Erik
>
>
>
>
> ----------
> * www.inMail.sk - Vasa emailova adresa na cely zivot ZDARMA
> * Mail neobsahuje virusy. Zkontrolovane antivirusom NOD32 (www.eset.sk)
> * www.SlovakNET.sk - profesionalny webhosting, domena .SK ZADARMO
> * Zoner Media Explorer 5 - stiahnite si pomocnika pre digitalnu fotografiu
(zme.zoner.sk)
>
>

ListView a vyhodnocovanie CheckBox

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 26.9.2003 10:00:30

KALUS Jozef wrote:

> mozno by toto vedela poriesit nejaka free komponenta, ak ma niekto
> nejaky tip, sem s nim...

Zkus Lischkeho VirtualTree, nahradis s nim pul VCL ;-)
http://www.delphi-gems.com/VirtualTreeview/VT.php

HTH, pf


ListView a vyhodnocovanie CheckBox

[*] Martin Cajbik <cajbik(zv)sct.sk> - 26.9.2003 09:36:24

Ja na to pouzivam takuto konstrukciu

TMyForm = class(TForm)
...
procedure MyListViewChange(Sender: TObject; Item: TListItem; Change:
TItemChange);
procedure MyListViewChanging(Sender: TObject; Item: TListItem; Change:
TItemChange; var AllowChange: Boolean);
private
...
OldItem: TListItem;
WasChecked: Boolean;
public
...
end;

...
procedure TMyForm.MyListViewChanging(Sender: TObject; Item: TListItem;
Change: TItemChange; var AllowChange: Boolean);
begin
OldItem:= Item;
if OldItem <> nil then
WasChecked:= Item.Checked;
AllowChange:= True;
end;

procedure TMyForm.MyListViewChange(Sender: TObject; Item: TListItem; Change:
TItemChange);
begin
if Change = ctState then
if Item <> nil then
if (OldItem = Item) and (WasChecked <> Item.Checked) then
if Item.Checked then
ShowMessage(Item.Caption+' checked')
else

ShowMessage(Item.Caption+' unchecked');
end;

----- Original Message -----
From: "KALUS Jozef" <jozef.kalus(zv)spordat.sk>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Friday, September 26, 2003 8:48 AM
Subject: ListView a vyhodnocovanie CheckBox


> zdravim,
>
> mam ListView so zapnutymi Checkbox-ami (Checkboxes:=True), problem je v
tom,
> ze aj ked nemam na danej polozke focus, mozem jej prekliknutim CheckBox
> zmenit a ja neviem na ktorej polozke som to preklikol,
>
> vie mi niekto poradit akym sposobom zistim na ktorej polozke (item[x]->
> x=???) sa checkbox zmenil, akosi nemozem naist nijaky rozumny event.... a
> nemam chut si pamatat vsetky stavy poloziek a prechadzat ich a porovnavat
ci
> sa mi nezmenil stav....
>
> mozno by toto vedela poriesit nejaka free komponenta, ak ma niekto nejaky
> tip, sem s nim...
>
> dik
>
> joka
>
> --------------------------------------------
> Delphi 6 Profesional, FireBird, Windows 2000
> --------------------------------------------
> Ing. Jozef Kalus
> L. Stura 17/28
> 018 61 BELUSA
>
> Mob.: 0905 459156
> e-mail: equipment(zv)equipment.sk
> Web: http://www.equipment.sk
>
>

OT: USB pro NT4

[*] Borkovec Software <info(zv)borkovec(tec)com> - 26.9.2003 09:10:22

jo, jeste ten odkaz:-)
www.borkovec.com/comps/usbnt4.zip
RB

Case vs. string

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 26.9.2003 09:16:22

> pouzivat tuto sadu cisel. Ale proc by melo byt pouziti case lepsi nez
> pouziti hromady ifs (pokud neberu ze provedeni if trva dele)? Napsani
> hromady ifs mozna zabere o par minut vice, ale zato si kazdy muzu jeste
> dale upravit, pridat dalsi podminku apod....

..take bych se tech Ifu tolik nebal. V kombinaci s while je to i docela
prehledne:

while true do begin
if cond then begin
.....
break;
end;
if cond then begin
.....
break;
end;
break;
end;

Martin Burle


OT: Reseni USB pro NT4

[*] Borkovec Software <info(zv)borkovec(tec)com> - 26.9.2003 09:08:21

Omlouvam se za OT, ale pokud jsem se neprehledl, pri posledni
debate na toto tema se nedoslo k reseni. Toto jsem nalezl a odzkousel.
Funguje to pro NT4+SP1 - pozor pokud po odpojeni nevyjmete flashku,
budou se nt tvarit jako zmrzla. Odkaz na autora je v readme.txt, dal jsem
dohoromady fajly, ktere jsou zapotrebi k rozchozeni.
RB


Vyhledani data v databazi

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 26.9.2003 08:54:20

> select jemo datum ,
> (month( datum) * 1000 + DAY( datum)) -
> (month( date()) * 1000 + DAY( date()))
> , *
> from narozeniny
> WHERE month( datum) * 1000 + DAY( datum) BETWEEN
> month( date()) * 1000 + DAY( date())
> AND month( date()+7) * 1000 + DAY( date()+7)
>
Tohle je samozrejme blbost, sorry (psal jsem to moc rychle)
tak je to lepe, nevim jen zda to pujde protlacit pres ODBC ?

SELECT jmeno, DatumN,
{ STR( DAY( DatumN), 0)+ "." + STR( MONTH( DatumN),0) + "." + STR( IIF( MONTH( DatumN) > MONTH( DatumA), YEAR( DatumA), YEAR( DatumA) +), 0) } -
DatumA
FROM Narozeniny { STR( DAY( DatumN), 0)+ "." + STR( MONTH( DatumN),0) + "." + STR( IIF( MONTH( DatumN) > MONTH( DatumA), YEAR( DatumA), YEAR( DatumA) +), 0) } BEETWEEN DatumA AND DatumA + 7

Nemam uz Foxku abych to vyzkousel, ale takhle to urcite jde.
Jeste je treba nastavit SET DATE GERMAN nebo prohodit mesic a den pri konstrukci stringu s datem.

Pavel
>
>
> > From: Otisk Rene [mailto:otisk(zv)misel(tec)cz]
> >
> > Aha. A to co jsem napsal je blbost, protoze to bere v potaz i
> > rok a ten se
> > musi ignorovat... Takze bys musel extrahovat v selectu mesic
> > a den, ale to
> > DBase myslim neumi.
> > Takze by pak zbyvalo jen udelat to na urovni aplikace a vyuzit
> > procedure DecodeDate(Date: TDateTime; var Year, Month, Day:
> Word) pri
> > prochazeni postupne vsech zaznamu.
> > Nebo pridat do tabulky sloupec, kde by byl jen mesic a den
> narozeni a
> > konstantni rok a ten vyuzit pro vyhledavani. Pak by to slo s
> > tim selectem s
> > vyuzitim klauzule MIN.
> >
> > Sroub
> >
> >
> >
> > > Spis jsem myslel, ze by se prosla cela databaze a program
> by vybral
> > > nejblizsi datum narozeni a spocital by kolik dni zbyva.
> > >
> > > P. Turek
> > >
> > >
> > > Nevim jak DBase, ale k Paradoxu muzes pricitat cela cisla
> a datum se
> > > zvetsi
> > > o dany pocet dni.
> > > Takze jestli to chces treba na tyden tak neco jako
> > >
> > > SELECT *, DATUM_NAROZENI, DATUM_NAROZENI - aktualni_datum FROM
> > > ZAMESTNANCI
> > > where datum_narozeni between aktualni_datum and aktualni_datum + 7
> > > (pocet
> > > dni)
> > >
> > > Sroub
> > >
> > > > Ahoj.
> > > > Mam nasledujici problem. Mam databazi, do ktere se
> zapisuje datum
> > > > narozeni zamestnancu a chtel bych udelat to, aby mi program pri
> > > spusteni
> > > > rekl, kdo ma v nasledujicich dnech nejblizsi narozeniny a
> > za kolik je
> > > to
> > > > dni.
> > > >
> > > > Pouzivam Delphi 4 Standard na Windows XP/2000 a 98.
> > Databaze je typu
> > > > Dbase IV.
> > > >
> >
> >
> >
> >
>
>
>
>

ListView a vyhodnocovanie CheckBox

[*] KALUS Jozef <jozef.kalus(zv)spordat.sk> - 26.9.2003 08:48:19

zdravim,

mam ListView so zapnutymi Checkbox-ami (Checkboxes:=True), problem je v tom,
ze aj ked nemam na danej polozke focus, mozem jej prekliknutim CheckBox
zmenit a ja neviem na ktorej polozke som to preklikol,

vie mi niekto poradit akym sposobom zistim na ktorej polozke (item[x]->
x=???) sa checkbox zmenil, akosi nemozem naist nijaky rozumny event.... a
nemam chut si pamatat vsetky stavy poloziek a prechadzat ich a porovnavat ci
sa mi nezmenil stav....

mozno by toto vedela poriesit nejaka free komponenta, ak ma niekto nejaky
tip, sem s nim...

dik

joka

--------------------------------------------
Delphi 6 Profesional, FireBird, Windows 2000
--------------------------------------------
Ing. Jozef Kalus
L. Stura 17/28
018 61 BELUSA

Mob.: 0905 459156
e-mail: equipment(zv)equipment.sk
Web: http://www.equipment.sk

XDom a parsovanie XML

[*] Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> - 26.9.2003 08:30:18

Parsovanim se mysli vkladani?
Dalibor Faltynek
Orgrez, a. s.
tel.: +420 541 613 312
fax: +420 541 613 299

>
> mohol by mi prosim poslat niekto example s kodom na parsovanie XML
> pouzitim XDom???

Download souboru z Internetu pres Delphi

[*] Macecek Marcel <marcel.macecek(zv)siemens(tec)com> - 26.9.2003 07:30:14

Caute,

nevite nekdo jak pouzit komponenty v Delphi tak, abych mohl downloadnout nejaky file z internetu ???

Diky

Marcel

Case vs. string

[*] David Michal <david.michal(zv)czechwireless(tec)cz> - 25.9.2003 21:57:05

Zdravim,
Pokud chci pouzit case tak uz zrejme vim jake hodnoty se mohou
vyskytnout. Co tedy treba:
StringList.AddObject('a', TObject(1));
StringList.AddObject('b', TObject(2));
I := Integer(StringList.Objects[ListIndex]);
Case I of
1: DoA;
2: DoB;
end;
Pokud vsak stringy nejsou vkladany pouze programove tak to takto nebude
fungovat. Pak snad jedine vymyslet si procedurku ktera prevede string na
cislo a dalsi ktera bude umet cislo prevest zpet na string. A v case pak
pouzivat tuto sadu cisel. Ale proc by melo byt pouziti case lepsi nez
pouziti hromady ifs (pokud neberu ze provedeni if trva dele)? Napsani
hromady ifs mozna zabere o par minut vice, ale zato si kazdy muzu jeste
dale upravit, pridat dalsi podminku apod....

David


Ale to prece porad neresi ten problem. Ja chci dosahnout neceho
takoveho:

case S of
'A': DoA;
'B': DoB;
'C': DoC;
end;

Pokud pouziji TStringList nebo array of string apod tak:

StringList.Add('A');

case StringList.IndexOf(S) of
konstanta: DoA;
end;

a ted je problem kde vezmu tu konstantu tak aby korespondovala
jednoznacne s
temi retezci ? Takovy kod musim preci udrzovat nebo generovat. Reseni
psat tam
primo ciselne hodnoty neberu, protoze z toho se casem stane
neudrzovatelny kod
s potencialnimi chybami.

Petr Vones


XDom a parsovanie XML

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 25.9.2003 21:09:02

From: "hlavki(zv)medium13" <hlavki(zv)medium13.sk>
> to sa mi vobec nepaci, lebo napr. ak mam domNode.nodeName = 'id', tak
> domNode.nodeValue je prazdne. Aby som ziskal jeho value, tak sa musim
> vnorit... Da sa s tym nieco spravit??? Alebo je to takto spravne..

V Delphi mas IXMLDocument kde je tohle hotove.

Petr Vones

Case vs. string

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 25.9.2003 21:05:02

From: "Jiri Cincura" <jiri(zv)cincura.net>
> Presne tak, ale kdyz je tam pridas metodou Add, tak uz v kodu vidis, ze
> B je druhe atd...
> A podle me je to lepsi ja hromada if_u. BTW a jak by to pak resil pri
> 100 stringu? :)

Ale to prece porad neresi ten problem. Ja chci dosahnout neceho takoveho:

case S of
'A': DoA;
'B': DoB;
'C': DoC;
end;

Pokud pouziji TStringList nebo array of string apod tak:

StringList.Add('A');

case StringList.IndexOf(S) of
konstanta: DoA;
end;

a ted je problem kde vezmu tu konstantu tak aby korespondovala jednoznacne s
temi retezci ? Takovy kod musim preci udrzovat nebo generovat. Reseni psat tam
primo ciselne hodnoty neberu, protoze z toho se casem stane neudrzovatelny kod
s potencialnimi chybami.

Petr Vones


TInterfaceList este raz

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 25.9.2003 20:14:58

> balicku (TPkgIntf), soucasti TPkgInf jsou dalsi TListy, ktere udrzuji
> seznamy formu (TFrmInf) a jinych soucasti aplikace z toho ktereho balicku.

Tady jsem nebyl presny, jsou to TStringListy, ktere udrzuji seznam jmen
zaregistrovanych trid formularu, formulare se vytvareji az podle potreby.

Martin Burle


Generatory Interbase

[*] Matejcek Petr <konference(zv)crhov.komfi(tec)cz> - 25.9.2003 19:34:50

Zdravim,

jde vysledek generatoru nejak jednoduse ulozit do promenne programu abych
ho nemusel napred zobrazovat v DBGridu ?


Dik PM


-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Pavel Cisar
Sent: Thursday, September 04, 2003 10:29 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Generatory Interbase


Nebo provest SELECT a vysledek ulozit do promenne klientske aplikace:

SELECT GEN_ID(mujgenerator,1) FROM RDB$DATABASE;

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

TInterfaceList este raz

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 25.9.2003 19:14:44

> Potrebujem to kvoli tomu aby som moholo neskor pristupovat ku vsetkym
> pluginom natiahnutych z balickov pomocou neakeho
> listu(MainApplication.List[0] - plugin 1, MainApplication.List[1] - plugin

Ahoj, ja jsem presne toto resil, ve spolecne unite mam deklarovanou tridu
TFrmIntf, a TPkgIntf. V ramci globalniho objektu (ale muze to byt proste
globalni promenna) mam property typu TList, ktera udrzuje seznam natazenych
balicku (TPkgIntf), soucasti TPkgInf jsou dalsi TListy, ktere udrzuji
seznamy formu (TFrmInf) a jinych soucasti aplikace z toho ktereho balicku.
Inspiroval jsem se tady:

http://www.obsof.com/delphi_tips/delphi_tips.html

HTH,

S pozdravem

Martin Burle


XDom a parsovanie XML

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 25.9.2003 18:38:15

hlavki(zv)medium13 <hlavki(zv)medium13.sk> wrote:
> mohol by mi prosim poslat niekto example s kodom na parsovanie XML
> pouzitim XDom???
>
> Ja som trosku strateny, lebo parser mi parsuje vsetky znaky v subore,
> teda aj medzery medzi elementami, atd...

Ano, to je normalni a spravne chovani XML DOM parseru.
Myslim ze MSXML DOM ma urcitou podporu kterak preskakovat bile
znaky mezi tagy, ale jine normalni parsery to nemaji. To ze ti zvlast
parsuje
node typu element a zvlast node typu text je take dobre. Uvedom si ze
napriklad toto je spravne XML:

<par>Bla bla <bold>bla</bold>.</par>

Tj text "Bla bla" a text "." ale stejne tak cely element <bold> se
nachazi uvnitr elementu <par>, kdyby DOM nerozeznaval zvlast
elementy a text, nebylo by toto mozne vubec parsovat.

Jedine spravne reseni, ktere ti zjednodussi zivot, je si napsat vlastni
obalku kolem DOMu, u ktere si navrhnes svoje vlastni rozhrani.

Martin Schayna


XDom a parsovanie XML

[*] hlavki(zv)medium13 <hlavki(zv)medium13.sk> - 25.9.2003 17:40:07

Zdravim,

mohol by mi prosim poslat niekto example s kodom na parsovanie XML
pouzitim XDom???

Ja som trosku strateny, lebo parser mi parsuje vsetky znaky v subore,
teda aj medzery medzi elementami, atd...

ked mam napr:
<data>
<id>1</id>
<id>3</id>
</data>

tak strom vyzera takto:
document
|- data
|- #text[ ] // toto su medzery a NL medzi <data> a <id>
|- id
|- #text[1]
|- #text[ ]
|- id
|- #text[3]
|- #text[ ]

to sa mi vobec nepaci, lebo napr. ak mam domNode.nodeName = 'id', tak
domNode.nodeValue je prazdne. Aby som ziskal jeho value, tak sa musim
vnorit... Da sa s tym nieco spravit??? Alebo je to takto spravne..

dik, miso


Chyba pri predavani parametru(?) v C#

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 25.9.2003 17:03:48

Pravdepodobne je retezec v textBox2.Text delsi nez je sloupec v tabulce,
asi mezery na konci.

Pavel

> From: Robert Poncak [mailto:delphi(zv)zvlauto.sk]
>
> Ospravedlnujem sa za pre vas primitivnu otazku, ale z C# este
> len zacinam...
> Problem:
> Databaza napojena na FB 1.5, pri predavani parametrov z
> textBox-u hadze nizsie vypisanu chybu.
> Ak parametrom priradim priamo hodnotu ide vsetko bez
> problemov. Co robim zle?
> Oba fieldy su typu varchar.
> Nizsie jej aj vypis kodu.
>
> Vdaka
>
> An unhandled exception of type
> 'FirebirdSql.Data.Firebird.FbException' occurred in
> firebirdsql.data.firebird.dll
>
> Additional information: Dynamic SQL Error
> SQL error code = -303
> arithmetic exception, numeric overflow, or string truncation
>
> FbCommand myCom = new FbCommand();
>
> myCom.CommandText = "INSERT INTO C_DOPRAVA (KOD, NAZOV)
> VALUES ((zv)KOD, (zv)NAZOV)";
>
> myCom.Connection = dbcon;
>
> myCom.Transaction = myTransaction;
>
> myCom.Parameters.Add("(zv)KOD", FbType.VarChar);
>
> myCom.Parameters.Add("(zv)NAZOV", FbType.VarChar);
>
> myCom.Parameters[0].Value = textBox1.Text; //ak priradim
> priamo hodnotu tak to funguje - myCom.Parameters[0].Value = "AAA";
>
> myCom.Parameters[1].Value = textBox2.Text; //ak priradim
> priamo hodnotu tak to funguje - myCom.Parameters[1].Value = "'BBB";
>
> // Execute Update
>
> myCom.ExecuteNonQuery(); //tu vypise chybu


Delphi.NET a C# kod dohromady...

[*] Erik Salaj <winsoft(zv)netkosice.sk> - 25.9.2003 16:25:31

> Asi delam jine pametove chyby, aplikaci s sebou neberou :-) V tomto ohledu
jsem vycepovan jeste
> Borland Pascalem, pri programovani pro Protected mode se clovek musel take
hlidat, nemluve o tom,
> ze o try..finally..end si mohl nechat jen zdat, pamatuju-li se dobre. V
Delphi se na leccos da
> pouzit MemProof.

pametovych chyb ubudlo, pretoze sa zlepsili programovacie
jazyky aj moznosti detekovania chyb. Ale stale sa vyskytuju,
a automaticka sprava pamete je garancia, ze niektore chyby
sa uplne eliminuju.

Tiez si pametam na prechod z "real" na "protected mod" - vtedy som
robil v C-cku a ponachadzalo sa vela zabudnutych chyb (typicka bolo
tusim prepisovanie pameti na adrese 0 nulovym smernikom), pretoze
v protected mode to hned zhavarovalo (a pomahalo tak detekovat
chyby programu ;-) ), kdezo v realnom rezime to priblizne "fungovalo"
(a ked niekedy nahodne program zdochol, tak nikto nevedel preco).

> Myslis, ze delam "nerealne" programy? Hlavne aby se to nedovedeli moji
zakaznici... Procesor se
> rozhodne nestara o to, jestli uvolnuju pamet, to jsem klidny. Na urovni
procesoru je v tomto
> ohledu, alespon pokud vim, reseno jen to, aby proces necetl a nezapisoval
z/do oblasti, do kterych
> nema pristup.

no ale preco je riesene to, aby proces necital a nezapisoval z/do oblasti,
do ktorych nema pristup? No prave preto, ze pre PAMETOVU CHYBA
procesu by mohol skolabovat cely system.

V com je ten principialny rozdiel medzi stabilitou WindowsNT a Windows95?
V poriadnej sprave (= zaroven ochrane) pameti. To je klucom k stabilite
OS ak nedokazeme garantovat, ze proces je bez chyb. Samozrejme idealny
by bol proces bez pametovych chyb, mozno casom sa aj k tomu dopracujeme.

Erik

Constant expression violates subrange bounds proc?

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

> Nevite nekdo proc tohle kompilatoru nevadi:
> If StrToInt(Params.Values['--numofpages']) in [1..99] Then ...
> Ale tohle uz mu vadi:
> If StrToInt(Params.Values['--numofpages']) in [1..999] Then ...
>
> Copak je nekde dane jaky maximalni rozsah mohu pouzivat?

Ahoj,

to, co pouzivas, neni interval, ale typ Mnozina. A ta muze byt postavena nad
zakladnim typem majicim max. 256 polozek.

David Lebeda

THready podruhe ..

[*] David Michal <david.michal(zv)czechwireless(tec)cz> - 25.9.2003 15:19:05

Zdravim,
Execute mam takto:
begin
repeat
Synchronize(NapisCoZrovnaDelas);
Makej;
Synchronize(ReadNextLink); //tady si precte dalsi string, to je ta
procedurka s kritickou sekci, nevim jestli I ta musi byt volana pomoci
synchronize ale asi to nevadi
IF TaskDone Then Synchronize(NapisZeJsiSkoncil);
until Terminated;

//finally relase itself
Synchronize(SetNilToThread); //jak mi nedavno poradil jeden clen
konfery, uvolnenim threadu pomoci free se nezapise nil prislusnemu clenu
z naseho array of thread
EmailsThread.Free;
end;

Takze jeste SetNilToThread:
procedure TEmailsThread.SetNilToThread();
begin
EThread[ThreadIndex] := nil;
end;

David


OK, celkem jsem to _asi_ pochopil ... ale uvital bych jeste podrobnejsi
popis, kde volas to zadavani dalsiho jobu ... predpokladam, ze mas v
Execute toho threadu smycku :

repeat
nejaky job threadu
je novy job ??
until terminated


a volas to v ni na konci ... ???

Diky Radek

OT: Chyba pri predavani parametru(?) v C#

[*] Robert Poncak <delphi(zv)zvlauto.sk> - 25.9.2003 15:03:03

zdravim,

Ospravedlnujem sa za pre vas primitivnu otazku, ale z C# este len zacinam...
Problem:
Databaza napojena na FB 1.5, pri predavani parametrov z textBox-u hadze nizsie vypisanu chybu.
Ak parametrom priradim priamo hodnotu ide vsetko bez problemov. Co robim zle?
Oba fieldy su typu varchar.
Nizsie jej aj vypis kodu.

Vdaka

An unhandled exception of type 'FirebirdSql.Data.Firebird.FbException' occurred in firebirdsql.data.firebird.dll

Additional information: Dynamic SQL Error
SQL error code = -303
arithmetic exception, numeric overflow, or string truncation

FbCommand myCom = new FbCommand();

myCom.CommandText = "INSERT INTO C_DOPRAVA (KOD, NAZOV) VALUES ((zv)KOD, (zv)NAZOV)";

myCom.Connection = dbcon;

myCom.Transaction = myTransaction;

myCom.Parameters.Add("(zv)KOD", FbType.VarChar);

myCom.Parameters.Add("(zv)NAZOV", FbType.VarChar);

myCom.Parameters[0].Value = textBox1.Text; //ak priradim priamo hodnotu tak to funguje - myCom.Parameters[0].Value = "AAA";

myCom.Parameters[1].Value = textBox2.Text; //ak priradim priamo hodnotu tak to funguje - myCom.Parameters[1].Value = "'BBB";

// Execute Update

myCom.ExecuteNonQuery(); //tu vypise chybu


THready podruhe ..

[*] tomsir1.edu(zv)mail.cez(tec)cz - 25.9.2003 14:44:55

OK, celkem jsem to _asi_ pochopil ... ale uvital bych jeste podrobnejsi
popis, kde volas to zadavani dalsiho jobu ... predpokladam, ze mas v
Execute toho threadu smycku :

repeat
nejaky job threadu
je novy job ??
until terminated


a volas to v ni na konci ... ???

Diky Radek


"David Michal" <david.michal(zv)czechwireless(tec)cz>(zv)clexpert(tec)cz on 25.09.2003
09:39:50

Odpovezte prosim - delphi-l(zv)clexpert(tec)cz

Odeslano kym: delphi-l-owner(zv)clexpert(tec)cz


Komu: delphi-l(zv)clexpert(tec)cz
Kopie:
Predmet: Re: THready podruhe ..


A pak si kazdy thread nacte sam dalsi string ze string listu:
var
C: Integer;

begin
//read next link by Counter to EURL
CSCounter.Acquire;
try
C := Counter;
inc(C);
Counter := C;
If (C <= Frm_Emails.List_Links.Count - 1) and (not CBlocked) Then
begin
EURL := Frm_Emails.List_Links.Items[C];
LinkIndex := C;
Frm_Emails.List_Links.ItemIndex := C;
end
else begin
TaskDone := True;
Terminate;
end;
finally
CSCounter.Release;
end;
end;

Tak treba ti to nejak pomuze.
David


Constant expression violates subrange bounds proc?

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 25.9.2003 14:34:44

David Michal dne 25 Sep 2003 v 14:16:

> Zdravim,
> Nevite nekdo proc tohle kompilatoru nevadi:
> If StrToInt(Params.Values['--numofpages']) in [1..99] Then ...
> Ale tohle uz mu vadi:
> If StrToInt(Params.Values['--numofpages']) in [1..999] Then ...
>
> Copak je nekde dane jaky maximalni rozsah mohu pouzivat?

0 .. 255

Karel Rys

Case vs. string

[*] Jiri Cincura <jiri(zv)cincura(tec)net> - 25.9.2003 14:28:33

Thursday, September 25, 2003 12:38 PM Petr Vones <> wrote:

> Jenze to vraci Integet hodnoty, jak je priradis k puvodnim stringum ?
> Musis mit nekde tabulku retezec - hodnota. Samozrejme by to slo

Presne tak, ale kdyz je tam pridas metodou Add, tak uz v kodu vidis, ze
B je druhe atd...
A podle me je to lepsi ja hromada if_u. BTW a jak by to pak resil pri
100 stringu? :)

> generovat nejakym nastrojem.

Jiri Cincura
e-mail: mailto:jiri(zv)cincura.net; mailto:xcincura(zv)informatics.muni(tec)cz
web: www.cincura.net


Constant expression violates subrange bounds proc?

[*] David Michal <david.michal(zv)czechwireless(tec)cz> - 25.9.2003 14:16:33

Zdravim,
Nevite nekdo proc tohle kompilatoru nevadi:
If StrToInt(Params.Values['--numofpages']) in [1..99] Then ...
Ale tohle uz mu vadi:
If StrToInt(Params.Values['--numofpages']) in [1..999] Then ...

Copak je nekde dane jaky maximalni rozsah mohu pouzivat?

Diky,
David

TInterfaceList este raz

[*] Peter Sulek <psulek(zv)seznam(tec)cz> - 25.9.2003 14:00:31

Skusim svoj problem popisat este raz:

mam jednu spolocnu unitu, v ktorej mam definovany interface pre pluginy
(IPlugin) a interface IMainApplication. Tuto unitu vyuziva ako hlavna
aplikacia, tak aj balicek(dpk).
V unite ktora je v balicku je definovana trieda TPlugin =
class(TInterfacedObject, IModulePackage).
V unite hlavneho projektu je definovana trieda TMainApplication =
class(TInterfacedObject, IMainApplication).

Teraz chcem aby sa mi po zavolani LoadPackage spustil kod(v sekcii
initialization) ktory mi zapise triedu TPlugin(odvodenej od IModulePackage)
do neakeho listu(asi TInterfaceList) ktory by mal byt v TMainApplication .
Potrebujem to kvoli tomu aby som moholo neskor pristupovat ku vsetkym
pluginom natiahnutych z balickov pomocou neakeho
listu(MainApplication.List[0] - plugin 1, MainApplication.List[1] - plugin
2, ....)

Kedysi tu bolo preberane nieco podobne v prispevku s predmetom 'modularita
programu' a prispievatel bol Ondrej Kelle.

S pozdravom Peter Sulek.

Delphi.NET a C# kod dohromady...

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 25.9.2003 13:56:26

Erik Salaj dne 25 Sep 2003 v 11:40:

> to nie je pravda. Pametova chyba - to je zvycajne pad celej aplikacie
> (dost casto nahodny), v lepsom pripade "len" plytvanie pametou
> (memory-leak, ktory nastastie po skonceni aplikacie vie vyriesit dalsi
> spravca pameti vo Windowse). Su to velmi zakerne a tazko detekovatelne
> chyby. Samotna VCL kniznica ich obvykle zopar obsahuje.

Asi delam jine pametove chyby, aplikaci s sebou neberou :-) V tomto ohledu jsem vycepovan jeste
Borland Pascalem, pri programovani pro Protected mode se clovek musel take hlidat, nemluve o tom,
ze o try..finally..end si mohl nechat jen zdat, pamatuju-li se dobre. V Delphi se na leccos da
pouzit MemProof.

> > Vidim to tak, ze automaticka sprava pameti by mi trosku usetrila
> > praci,
> ale nepovazuji to za tak
> > ohromny prinos.
>
> az to zacnes vyuzivat, zmenis svoj nazor. Tipnem si, ze nesedis cely
> den za pocitacom na vyvoji "realnych" programov, spravidla v typickom
> casovom strese, inak by si celkom inac uvazoval. Problem s pametou je
> tak zavazny, ze urcite mechanizmy spravy pamete su zabudovane priamo v
> procesore.

Myslis, ze delam "nerealne" programy? Hlavne aby se to nedovedeli moji zakaznici... Procesor se
rozhodne nestara o to, jestli uvolnuju pamet, to jsem klidny. Na urovni procesoru je v tomto
ohledu, alespon pokud vim, reseno jen to, aby proces necetl a nezapisoval z/do oblasti, do kterych
nema pristup.

Kazdopadne bych rekl, ze je na case tuto diskuzi ukoncit, nikam nevede.

Karel Rys

Obrazek do hlp souboru

[*] koukal <koukal(zv)petrkoukal(tec)cz> - 25.9.2003 13:52:25

> Je mozno do hlp souboru nejak dostat obrazek? Pokud ano, jak? HLP soubor vytvarim z RTF pomoci programu Microsoft Help Workshop a RTF pisi ve wordu, ale kdyz tam vlozim obrazek, je videt pouze v rezimu s rozvrzenim a ve vyslednem helpu neni videt vubec.
>
> Marek Dostal
> D7Prof, W98
>
>
Dobry den.

Do RTF nelze obrazek vkladat ale je nutno vlozit odkaz na obrazek (vcetne umisteni) kompilator helpu jej pak prilinkuje k hlp souboru.(syntaxi z hlavy buhuzel nevim). Nekde v napovede k programu Microsoft Help musi byt popsany vsechny prikazy (pro linky, tlacitka atd.)

Petr Koukal.

Cekani na ukonceni spustenych vlaken.

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

From: <martin.ben(zv)ge.com>
> Pokud v tomto cyklu vlakno pozastavim pomoci Suspend, vlakno zastavi

Nez suspend je lepsi pouzit event a wait funkci.

Petr Vones

Vyhledani data v databazi

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 25.9.2003 13:14:23

Ale, jo umi to !
Fce YEAR() a MONTH() , DAY() a DATE()

select jemo datum ,
(month( datum) * 1000 + DAY( datum)) -
(month( date()) * 1000 + DAY( date()))
, *
from narozeniny
WHERE month( datum) * 1000 + DAY( datum) BETWEEN
month( date()) * 1000 + DAY( date())
AND month( date()+7) * 1000 + DAY( date()+7)

Pavel


> From: Otisk Rene [mailto:otisk(zv)misel(tec)cz]
>
> Aha. A to co jsem napsal je blbost, protoze to bere v potaz i
> rok a ten se
> musi ignorovat... Takze bys musel extrahovat v selectu mesic
> a den, ale to
> DBase myslim neumi.
> Takze by pak zbyvalo jen udelat to na urovni aplikace a vyuzit
> procedure DecodeDate(Date: TDateTime; var Year, Month, Day: Word) pri
> prochazeni postupne vsech zaznamu.
> Nebo pridat do tabulky sloupec, kde by byl jen mesic a den narozeni a
> konstantni rok a ten vyuzit pro vyhledavani. Pak by to slo s
> tim selectem s
> vyuzitim klauzule MIN.
>
> Sroub
>
>
>
> > Spis jsem myslel, ze by se prosla cela databaze a program by vybral
> > nejblizsi datum narozeni a spocital by kolik dni zbyva.
> >
> > P. Turek
> >
> >
> > Nevim jak DBase, ale k Paradoxu muzes pricitat cela cisla a datum se
> > zvetsi
> > o dany pocet dni.
> > Takze jestli to chces treba na tyden tak neco jako
> >
> > SELECT *, DATUM_NAROZENI, DATUM_NAROZENI - aktualni_datum FROM
> > ZAMESTNANCI
> > where datum_narozeni between aktualni_datum and aktualni_datum + 7
> > (pocet
> > dni)
> >
> > Sroub
> >
> > > Ahoj.
> > > Mam nasledujici problem. Mam databazi, do ktere se zapisuje datum
> > > narozeni zamestnancu a chtel bych udelat to, aby mi program pri
> > spusteni
> > > rekl, kdo ma v nasledujicich dnech nejblizsi narozeniny a
> za kolik je
> > to
> > > dni.
> > >
> > > Pouzivam Delphi 4 Standard na Windows XP/2000 a 98.
> Databaze je typu
> > > Dbase IV.
> > >
>
>
>
>

Cekani na ukonceni spustenych vlaken.

[*] martin.ben(zv)ge(tec)com - 25.9.2003 12:36:18

Metoda Terminate vlakno neukonci, ale pouze mu sdeli, ze by melo co skoncit
- tzn. ze se vlastnost Terminated nastavi na True. Proto se v metode Execute
pouziva cyklus
while not Terminated do
begin
//neco delej
Suspend;
end
Pokud v tomto cyklu vlakno pozastavim pomoci Suspend, vlakno zastavi
provadeni metody Execute a proto nemuze zjistit, ze dostalo pozadavek na
ukonceni. Proto nejprve pomoci Terminated nastavim vlastnost Terminate na
True a pote zavolanim Resume vlakno opet spustim (tedy reknu vlaknu, aby
pokracovalo). Vlakno teprve ted muze overit zda dostalo pozadavek na
ukonceni.

Neco jineho je TerminateThread, ktera vlakno ukonci rovnou.

Martin Ben

-----Original Message-----
From: l.vlcek(zv)noel-plus(tec)cz [mailto:l.vlcek(zv)noel-plus(tec)cz]

martin.ben(zv)ge.com napsal(a):
> Ehm, prekled... Overim si ze vlakno JE Suspended
>
> Martin Ben
>
> -----Original Message-----
> From: Ben, Martin (CONS FIN)
>
> MyThread := TMyThread.CreateIt(True); //Vlakno se zastavi na Suspend a
ceka.
> Znovu ho spustim MyThread.Resume (predtim si overim zda vlakno neni
> Suspended) a vlakno znovu projde cely cyklus. Zrusim jej tak, ze nejprve
> zavolam MyThread.Terminate a pote MyThread.Resume
> Jakmile zavolas MyThread.Terminate, pak uz vlakno NELZE nic jineho, ze
uvolnit (metoda Free,....) Rozhodne tarminovane vlakno lnelze znova
spustit. (Viz Help)

Vyhledani data v databazi

[*] Otisk Rene <otisk(zv)misel(tec)cz> - 25.9.2003 12:48:19

Aha. A to co jsem napsal je blbost, protoze to bere v potaz i rok a ten se
musi ignorovat... Takze bys musel extrahovat v selectu mesic a den, ale to
DBase myslim neumi.
Takze by pak zbyvalo jen udelat to na urovni aplikace a vyuzit
procedure DecodeDate(Date: TDateTime; var Year, Month, Day: Word) pri
prochazeni postupne vsech zaznamu.
Nebo pridat do tabulky sloupec, kde by byl jen mesic a den narozeni a
konstantni rok a ten vyuzit pro vyhledavani. Pak by to slo s tim selectem s
vyuzitim klauzule MIN.

Sroub
> Spis jsem myslel, ze by se prosla cela databaze a program by vybral
> nejblizsi datum narozeni a spocital by kolik dni zbyva.
>
> P. Turek
>
>
> Nevim jak DBase, ale k Paradoxu muzes pricitat cela cisla a datum se
> zvetsi
> o dany pocet dni.
> Takze jestli to chces treba na tyden tak neco jako
>
> SELECT *, DATUM_NAROZENI, DATUM_NAROZENI - aktualni_datum FROM
> ZAMESTNANCI
> where datum_narozeni between aktualni_datum and aktualni_datum + 7
> (pocet
> dni)
>
> Sroub
>
> > Ahoj.
> > Mam nasledujici problem. Mam databazi, do ktere se zapisuje datum
> > narozeni zamestnancu a chtel bych udelat to, aby mi program pri
> spusteni
> > rekl, kdo ma v nasledujicich dnech nejblizsi narozeniny a za kolik je
> to
> > dni.
> >
> > Pouzivam Delphi 4 Standard na Windows XP/2000 a 98. Databaze je typu
> > Dbase IV.
> >

Case vs. string

[*] David Michal <david.michal(zv)czechwireless(tec)cz> - 25.9.2003 13:02:22

No slo by preci priradit object ke kazdemu stringu. A pak by sel case
pomoci techto objektu.
David


-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Petr Vones
Sent: 25 September 2003 12:38
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Case vs. string

From: "Jiri Cincura" <jiri(zv)cincura.net>
> No me se zda docela funkci (jak jsem napsal) udelat si stringList a
pak
> Case a delat neco podle cisla "radku" v tom stringListu. Je to - podle
> me - celkem dobre a neni to hromada if_u.

Jenze to vraci Integet hodnoty, jak je priradis k puvodnim stringum ?
Musis
mit nekde tabulku retezec - hodnota. Samozrejme by to slo generovat
nejakym
nastrojem.

Tohle je dobre resene v C# pomoci string interning.

Petr.

Timeout nad TCP/IP spojenim

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 25.9.2003 12:52:20

Jan Krizek <krizek(zv)vitasw(tec)cz> wrote:
> Zdravim,
> tusite zda lze na urovni aplikace neco delat, kdyz se mi rozpojuje
> TCP/IP spojeni. Jedna se o mikrovlny spoj, na kterem je velka
> chybovost. Mam sanci nejak upravit parametry socketu, aby to tak
> rychle nevzdaval.
>
> Nasel jsem, ze setsockopt muze mimo jine nastavit SO_RCVTIMEO a
> SO_SNDTIMEO. U tech jsem trochu zmateny, ze v MSDN jsou v tabulce
> nadepsane "BSD options not supported for setsockopt are:", ale snad
> to znamena, ze jsou jenom ve WinSock 2. Ale ma smysl s temito cisly
> hybat, kdyz problem je v poctu ztracenych packetu?

pokud se nemylim, pak timeouty nad TCP session lze nastavit pomoci
registru ale jen globalne (cili ne per socket atd).
Novejsi Windowsi systemy, mozna nejakymi IOCTL (WsaIoctl) umoznuji i
tohle. Ale myslim, ze svysovani timeoutu neni to spravne reseni.
Predpokladam, ze jako na kazde mikrovlne a ne prilis idealnim signalem
je problem s uplinkem (odesilani packetu smerem k vysilaci - zde je
problem, protoze 802.11x resi (spise neresi vubec) pristup k mediu pro
stanice tim nejhorsim zpusobem, takze smer od klienta umre jako
prvni).
Cili pokud by se Ti podarilo snizit velikost MTU na radiove karte
(pokud ji mas ve svem PC pak na nem, jinak se to musi nastavit na
routeru na kterem je ta bezdratova karta), dosahl bys toho, ze od Tebe
budu do internetu chodit kratsi packety (TCP ma defaultne tendenci
slepovat data do bloku rovnajicich se velikosti MTU (cca 1500 byte na
eth)), ktere maji vetsi sanci prolezt ven. Doporucoval bych
experimentovat s MTU okolo 512 bytu ci mozna i min (pod 300 bych to
ale nesnizoval - pri zmensovani packetu se zvysuje pomer delka
hlavicky/max delka uzitecnych dat.
Velikost MTU je zase ve Windows nastavitelna pomoci registru per
interface.

PS: Optimalni samozrejme je dostat wireless linku do lepsi kondice...

D. Toman

Vyhledani data v databazi

[*] Petr Turek <petr.turek(zv)unimontex(tec)cz> - 25.9.2003 12:34:12

Spis jsem myslel, ze by se prosla cela databaze a program by vybral
nejblizsi datum narozeni a spocital by kolik dni zbyva.

P. Turek

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Otisk Rene
Sent: Thursday, September 25, 2003 12:30 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Vyhledani data v databazi

Nevim jak DBase, ale k Paradoxu muzes pricitat cela cisla a datum se
zvetsi
o dany pocet dni.
Takze jestli to chces treba na tyden tak neco jako

SELECT *, DATUM_NAROZENI, DATUM_NAROZENI - aktualni_datum FROM
ZAMESTNANCI
where datum_narozeni between aktualni_datum and aktualni_datum + 7
(pocet
dni)

Sroub

----- Original Message -----
From: "Petr Turek" <petr.turek(zv)unimontex(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, September 25, 2003 11:40 AM
Subject: Vyhledani data v databazi


> Ahoj.
> Mam nasledujici problem. Mam databazi, do ktere se zapisuje datum
> narozeni zamestnancu a chtel bych udelat to, aby mi program pri
spusteni
> rekl, kdo ma v nasledujicich dnech nejblizsi narozeniny a za kolik je
to
> dni.
>
> Pouzivam Delphi 4 Standard na Windows XP/2000 a 98. Databaze je typu
> Dbase IV.
>
> Dekuji za vsechny Napady petr Turek
>
>

Timeout nad TCP/IP spojenim

[*] Jan Krizek <krizek(zv)vitasw(tec)cz> - 25.9.2003 12:36:13

Zdravim,
tusite zda lze na urovni aplikace neco delat, kdyz se mi rozpojuje
TCP/IP spojeni. Jedna se o mikrovlny spoj, na kterem je velka chybovost.
Mam sanci nejak upravit parametry socketu, aby to tak rychle nevzdaval.

Nasel jsem, ze setsockopt muze mimo jine nastavit SO_RCVTIMEO a
SO_SNDTIMEO. U tech jsem trochu zmateny, ze v MSDN jsou v tabulce
nadepsane "BSD options not supported for setsockopt are:", ale snad to
znamena, ze jsou jenom ve WinSock 2. Ale ma smysl s temito cisly hybat,
kdyz problem je v poctu ztracenych packetu?

Honza +

Case vs. string

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 25.9.2003 12:38:18

From: "Jiri Cincura" <jiri(zv)cincura.net>
> No me se zda docela funkci (jak jsem napsal) udelat si stringList a pak
> Case a delat neco podle cisla "radku" v tom stringListu. Je to - podle
> me - celkem dobre a neni to hromada if_u.

Jenze to vraci Integet hodnoty, jak je priradis k puvodnim stringum ? Musis
mit nekde tabulku retezec - hodnota. Samozrejme by to slo generovat nejakym
nastrojem.

Tohle je dobre resene v C# pomoci string interning.

Petr.

Vyhledani data v databazi

[*] Otisk Rene <otisk(zv)misel(tec)cz> - 25.9.2003 12:30:12

Nevim jak DBase, ale k Paradoxu muzes pricitat cela cisla a datum se zvetsi
o dany pocet dni.
Takze jestli to chces treba na tyden tak neco jako

SELECT *, DATUM_NAROZENI, DATUM_NAROZENI - aktualni_datum FROM ZAMESTNANCI
where datum_narozeni between aktualni_datum and aktualni_datum + 7 (pocet
dni)

Sroub

----- Original Message -----
From: "Petr Turek" <petr.turek(zv)unimontex(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, September 25, 2003 11:40 AM
Subject: Vyhledani data v databazi


> Ahoj.
> Mam nasledujici problem. Mam databazi, do ktere se zapisuje datum
> narozeni zamestnancu a chtel bych udelat to, aby mi program pri spusteni
> rekl, kdo ma v nasledujicich dnech nejblizsi narozeniny a za kolik je to
> dni.
>
> Pouzivam Delphi 4 Standard na Windows XP/2000 a 98. Databaze je typu
> Dbase IV.
>
> Dekuji za vsechny Napady petr Turek
>
>

Vyhledani data v databazi

[*] Petr Turek <petr.turek(zv)unimontex(tec)cz> - 25.9.2003 11:40:07

Ahoj.
Mam nasledujici problem. Mam databazi, do ktere se zapisuje datum
narozeni zamestnancu a chtel bych udelat to, aby mi program pri spusteni
rekl, kdo ma v nasledujicich dnech nejblizsi narozeniny a za kolik je to
dni.

Pouzivam Delphi 4 Standard na Windows XP/2000 a 98. Databaze je typu
Dbase IV.

Dekuji za vsechny Napady petr Turek

TInterfaceList

[*] Peter Sulek <psulek(zv)seznam(tec)cz> - 25.9.2003 11:48:08

Pavel Poles wrote:
>> finalization
>> MainApplication.UnRegisterPackage(TpackageBOZP.Create);
>
> Tohle se mi zda dost divny a uplne nefunkcni...
>
> Package sa spustia vsetky initialization unit ktore su v
>> danom balicku, cize v mojom pripade kod:
>> MainApplication.RegisterPackage(TpackageBOZP.Create);
>>
>> A prave tu to vyhodi error(AV). Neviete mi poradit kde robim chybu?
>
> No protoze inicializace unit probiha pred vsim ostatnim, takze v ty
> dobe jeste neprobehlo OnCreate takze nemas vytvoreny to svy
> MainApplication
>
> Pavel Poles

MainApplication mam vytvorene v OnCreate hlavneho formulara. LoadPackage sa
vola az po kliknuti na button ktory sa nachadza na tomto formulari. Takze
nehrozi ze by MainApplication nebol vytvoreny.

Obrazek do hlp souboru

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 25.9.2003 12:04:10

Marek Dostal <konf(zv)agnis(tec)cz> wrote:
> Je mozno do hlp souboru nejak dostat obrazek? Pokud ano, jak? HLP
> soubor vytvarim z RTF pomoci programu Microsoft Help Workshop a RTF
> pisi ve wordu, ale kdyz tam vlozim obrazek, je videt pouze v rezimu s
> rozvrzenim a ve vyslednem helpu neni videt vubec.

Obrazky se vkladaji pomoci statementu {bml}, {bmr} nebo {bmc}.
Podivej se do helpu k HCW.

Martin Schayna

FB a napojenie na DataGrid v VS.NET

[*] Marek Eichler <marek.eichler(zv)seznam(tec)cz> - 25.9.2003 11:50:09

Zdravim,

Petr Jarkovsky wrote:
> Co tohle?
>
> DataSet DS = new DataSet();
> FbDataAdapter dataAdapter = new FbDataAdapter();
> FbCommand myCmd = new FbCommand("select * from TABLE", dbcon,
> myTransaction); dataAdapter.SelectCommand = myCmd;
> dataAdapter.Fill(DS);
>
> DataGrid1.DataSource = DS;
> DataGrid1.DataBind();
>
> dataAdapter.Dispose();
> myCmd.Dispose();
> DS.Dispose();
>

Nejsem si uplne jistej, ale prikazy Dispose snad nejsou v .NET potreba,
pokud v nich neuvolnujes zabrane prostredky systemu (soubory, ...).
DataBind() je pro WebControls a ve WinForms tusim nefunguje. Tam staci pouze
napojeni DataGridu na DataSet.

>
> S pozdravem
>
> Petr Jarkovsky

S pozdravem Marek Eichler

Obrazek do hlp souboru

[*] Marek Dostal <konf(zv)agnis(tec)cz> - 25.9.2003 11:46:08

Je mozno do hlp souboru nejak dostat obrazek? Pokud ano, jak? HLP soubor vytvarim z RTF pomoci programu Microsoft Help Workshop a RTF pisi ve wordu, ale kdyz tam vlozim obrazek, je videt pouze v rezimu s rozvrzenim a ve vyslednem helpu neni videt vubec.

Marek Dostal
D7Prof, W98

Delphi.NET a C# kod dohromady...

[*] Erik Salaj <winsoft(zv)netkosice.sk> - 25.9.2003 11:40:07

> Nikdo nejsme neomylny, mohu v aplikaci nasekat spoustu logickych chyb a
nic mi v tom nejspis
> nezabrani, ale snazim se, aby ten kod bezpecny byl. Mimo jine nedavam do
bufferu vic, nez se vejde
> :-)

lenze skus porovnat pracu so stringami v Delphi a v C-cku. A v .NET je to
este o dost lepsie urobene ako v Delphi.

> Tak zle to ve vetsine pripadu nastesti neni, vysledkem obvykle je jen
memory-leak, ktery pak
> spravi az ukonceni aplikace. Tim sluvkem "jen" v predchozi vete proboha
nechci rict, ze na
> uvolnovani pameti nebo objektu kaslu! Pouze tvrdim, ze u beznych aplikaci
takove opomenuti
> _obvykle_ nemiva zavazny dopad. Samozrejme u sluzby bezici na serveru muze
byt kritickych kazdych
> "par bajtu".

to nie je pravda. Pametova chyba - to je zvycajne pad celej aplikacie (dost
casto nahodny),
v lepsom pripade "len" plytvanie pametou (memory-leak, ktory nastastie po
skonceni
aplikacie vie vyriesit dalsi spravca pameti vo Windowse). Su to velmi
zakerne a tazko
detekovatelne chyby. Samotna VCL kniznica ich obvykle zopar obsahuje.

> Vidim to tak, ze automaticka sprava pameti by mi trosku usetrila praci,
ale nepovazuji to za tak
> ohromny prinos.

az to zacnes vyuzivat, zmenis svoj nazor. Tipnem si, ze nesedis cely den za
pocitacom
na vyvoji "realnych" programov, spravidla v typickom casovom strese, inak by
si celkom
inac uvazoval. Problem s pametou je tak zavazny, ze urcite mechanizmy spravy
pamete su zabudovane priamo v procesore.

> Alokaci pameti potrebuji predevsim pri vytvareni novych objektu a pri
praci se stringy. "Uzke
> hrdlo" v jedne aplikaci mam napr. pri zobrazovani sceny pomoci OpenGL -
vetsinu operaci tvori
> pocitani s desetinnymi cisly a volani ruznych funkci OpenGL. (Je/bude
vlastne OpenGL v .NET
> implementovano?)

existuje managed DirectX priamo od MS a niekde som videl OpenGL podporu
(cize vlastne
prepisane OpenGL headre do C#)

Erik

Case vs. string

[*] Jiri Cincura <jiri(zv)cincura(tec)net> - 25.9.2003 11:10:05

Wednesday, September 24, 2003 8:29 PM Petr Vones <> wrote:

> From: "Pavel Hauptman" <phauptman(zv)bilbo(tec)cz>
>> Prosim o radu, potrebuju v zavislosti na obsahu retezce provest
>> nejakou akci. Chtel jsem na to pouzit CASE, ale ten neumi se stringy
>> pracovat :-(
>
> Ne, protoze je x zpusobu jak porovnavat retezce.
>
> Petr Vones

No me se zda docela funkci (jak jsem napsal) udelat si stringList a pak
Case a delat neco podle cisla "radku" v tom stringListu. Je to - podle
me - celkem dobre a neni to hromada if_u.

var S: TStringList;
begin
S:=TStringList.Create;
try
case S.IndexOf(muj_retezec) of
...
finally
S.Free;
end;
end;

Jiri Cincura
e-mail: mailto:jiri(zv)cincura.net; mailto:xcincura(zv)informatics.muni(tec)cz
web: www.cincura.net


TInterfaceList

[*] Pavel Poles <xcony(zv)seznam(tec)cz> - 25.9.2003 10:59:58


> finalization
> MainApplication.UnRegisterPackage(TpackageBOZP.Create);

Tohle se mi zda dost divny a uplne nefunkcni...

Package sa spustia vsetky initialization unit ktore su v
> danom balicku, cize v mojom pripade kod:
> MainApplication.RegisterPackage(TpackageBOZP.Create);
>
> A prave tu to vyhodi error(AV). Neviete mi poradit kde robim chybu?

No protoze inicializace unit probiha pred vsim ostatnim, takze v ty
dobe jeste neprobehlo OnCreate takze nemas vytvoreny to svy MainApplication

Pavel Poles

TInterfaceList

[*] Radim Kunz <privat(zv)casestudio(tec)com> - 25.9.2003 10:49:57


----- Original Message -----
From: "Peter Sulek" <psulek(zv)seznam(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, September 25, 2003 10:41 AM
Subject: Re: TInterfaceList


> Radim Kunz wrote:
> >>> Neni problem v TInterfaceList ? Ty ho drzis jako promennou, ale to
> >>> je potomek
> >>> TInterfaceList, cili ma pocitani referenci. Mel bys ho v te dride
> >>> TMainApplication drzet
> >>> jako IInterfaceList
> >>>
> >>> Radim
> >>
> >> To si nemyslim, TInterfaceList je object ktory je pripraveny na
> >> pracu s interface nie?
> >>
> >
> > Predtim jsem se prepsal. TInterfaceList je potomkem
> > TInterfacedObject, TList jenom
> > zapouzdruje. Takze nejen umi pracovat se seznamy interface, ale taky
> > sam pocita sve
> > reference, takze pokud jednou pouzijes ten list pres interface (coz
> > si muze udelat i
> > samotny list uvnitr sebe), tak se sam zrusi.
> >
> > Radim
>
> Tak uz som z toho naozaj blby, takze co s tym, kde si chcem niekde(v
neakom
> liste) uchovavat natiahnute interfacy z balickov? Akym mam zvolit postup?
>

TMainApplication = class(TInterfacedObject, IMainApplication)
// fList: TInterfaceList; NE
fList: IInterfaceList;

...

constructor TMainApplication.Create;
begin
inherited;
// fList := TInterfaceList.Create;
fList := TInterfaceList.Create as IInterfaceList;
end;

...

destructor TMainApplication.Destroy;
begin
// if (Assigned(fList)) then NE
// FreeAndNil(fList); NE, udela se samo
inherited;
end;

TInterfaceList

[*] Peter Sulek <psulek(zv)seznam(tec)cz> - 25.9.2003 10:41:55

Radim Kunz wrote:
>>> Neni problem v TInterfaceList ? Ty ho drzis jako promennou, ale to
>>> je potomek
>>> TInterfaceList, cili ma pocitani referenci. Mel bys ho v te dride
>>> TMainApplication drzet
>>> jako IInterfaceList
>>>
>>> Radim
>>
>> To si nemyslim, TInterfaceList je object ktory je pripraveny na
>> pracu s interface nie?
>>
>
> Predtim jsem se prepsal. TInterfaceList je potomkem
> TInterfacedObject, TList jenom
> zapouzdruje. Takze nejen umi pracovat se seznamy interface, ale taky
> sam pocita sve
> reference, takze pokud jednou pouzijes ten list pres interface (coz
> si muze udelat i
> samotny list uvnitr sebe), tak se sam zrusi.
>
> Radim

Tak uz som z toho naozaj blby, takze co s tym, kde si chcem niekde(v neakom
liste) uchovavat natiahnute interfacy z balickov? Akym mam zvolit postup?

THready podruhe ..

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 25.9.2003 10:39:55

Radegast <drag(zv)seznam(tec)cz> wrote:
> Ahoj,
>
> Ve stringlistu mam seznam serveru, kek kterym se potrebuji pripojit
> a stahnout nejaka data. Chtel bych omezit pocet threadu,
> realizujicich spojeni.
> Podle prikladu z codecentral jsem napsal nasledujici proceduru,
> jenze nefunguje.

Asi bych to delal nasledujicim zpusobem:
- ukonceni threadu lze detekovat kontrolovanim stavu jeho handle
(tusim, ze se dostane do signaled state pri ukonceni threadu). Cili
nejprve rozjedu pozadovany pocet threadu , pak pomoci nejake varianty
WaitForMultipleObjects cekam az se nektery thread ukonci - pak
spoustim dalsi
- pouziva-li se nekde nejaka sdilena promenna (ThreadCount), kterou
meni ruzne thready, _musi_ byt chranena proti simultannimu zapisu vice
thready. Sice jednoduche operace s kratkymi promennymi jsou vicemene
atomicke, ale pro poradek je lepsi je chranit pomoci kritickych sekci.

Vice optimalizovana varianta spusti zadany pocet threadu ktere se
nikdy neukonci - pouze si vyzvednou dalsi pokyny, ktere vykonaji. Pri
vyssich narocich na vykon se tim eliminuje naroznejsi vytvareni a
ukoncovani threadu.


D. Toman

TEdit na child okne

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 25.9.2003 10:29:54

Ahoj,

nevite nekdo, jak vyresit tento problem?

Mam normalni okno, grid, nad nim panel a edity. Vse je enabled,
readonly, edity maji TabStop = False. Da se tedy do nich vlezt mysi
a udaj si treba zkopirovat do schranky. Za beznych okolnosti to
radne funguje.
Ted ale udelam to, ze onomu formu priradim Parenta -
stane se z nej cosi jako child jineho okna. A najednou se do tech
editu nemuzu mysi dostat. Pokud by mely TabStop = True, mohu do
nich dojet tabulatorem, ale na kliknuti mysi proste vubec nedostanou
focus. Nicmene nasli jsme fintu, jak si pomoci - obslouzi-li se u tech
editu OnClick a v nem udelame SetFocus na prislusny edit, funguje
to zase dle ocekavani.

Nemate nekdo napad, jak na urovni formulare projet vsechny jeho
komponenty a pro Edity zaridit, aby na OnClick si na sebe strhly
focus? Edity mohou/nemuseji jiz mit nejakou obsluhu OnClick - jeji
funkcnost reseni musi zachovat.

Diky za rady.

David Lebeda

TInterfaceList

[*] Peter Sulek <psulek(zv)seznam(tec)cz> - 25.9.2003 09:43:51

Radim Kunz wrote:

>> A teraz popisem problem:
>>
>> v aplikacii mam pre loadnutie balicka nasledovny kod(ktory sa spusti
>> az po formcreate, cize MainApplication je uz creatnuty):
>>
>> PackageModule := LoadPackage('package.bpl');
>> if PackageModule <> 0 then
>>
>> Vo funkcii LoadPackage sa spustia vsetky initialization unit ktore
>> su v danom balicku, cize v mojom pripade kod:
>> MainApplication.RegisterPackage(TpackageBOZP.Create);
>>
>> A prave tu to vyhodi error(AV). Neviete mi poradit kde robim chybu?
>>
>
> Neni problem v TInterfaceList ? Ty ho drzis jako promennou, ale to je
> potomek
> TInterfaceList, cili ma pocitani referenci. Mel bys ho v te dride
> TMainApplication drzet
> jako IInterfaceList
>
> Radim

To si nemyslim, TInterfaceList je object ktory je pripraveny na pracu s
interface nie?

TInterfaceList

[*] Radim Kunz <privat(zv)casestudio(tec)com> - 25.9.2003 09:53:51


----- Original Message -----
From: "Peter Sulek" <psulek(zv)seznam(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, September 25, 2003 9:43 AM
Subject: Re: TInterfaceList


> Radim Kunz wrote:
>
> >> A teraz popisem problem:
> >>
> >> v aplikacii mam pre loadnutie balicka nasledovny kod(ktory sa spusti
> >> az po formcreate, cize MainApplication je uz creatnuty):
> >>
> >> PackageModule := LoadPackage('package.bpl');
> >> if PackageModule <> 0 then
> >>
> >> Vo funkcii LoadPackage sa spustia vsetky initialization unit ktore
> >> su v danom balicku, cize v mojom pripade kod:
> >> MainApplication.RegisterPackage(TpackageBOZP.Create);
> >>
> >> A prave tu to vyhodi error(AV). Neviete mi poradit kde robim chybu?
> >>
> >
> > Neni problem v TInterfaceList ? Ty ho drzis jako promennou, ale to je
> > potomek
> > TInterfaceList, cili ma pocitani referenci. Mel bys ho v te dride
> > TMainApplication drzet
> > jako IInterfaceList
> >
> > Radim
>
> To si nemyslim, TInterfaceList je object ktory je pripraveny na pracu s
> interface nie?
>

Predtim jsem se prepsal. TInterfaceList je potomkem TInterfacedObject, TList
jenom
zapouzdruje. Takze nejen umi pracovat se seznamy interface, ale taky sam
pocita sve
reference, takze pokud jednou pouzijes ten list pres interface (coz si muze
udelat i
samotny list uvnitr sebe), tak se sam zrusi.

Radim


THready podruhe ..

[*] David Michal <david.michal(zv)czechwireless(tec)cz> - 25.9.2003 09:39:50

Zdravim,
Presne tohle jsem ted resil. Ve stringlist mam seznam url a uzivatelem
limitovany pocet threadu na nem vykonava svuj job.
Takto thready vytvarim:
var
I, NThreads: Integer;
EThread: array of TThread;

Begin
CBlocked := True;
CSCounter := TCriticalSection.Create;
NThreads := Frm_Main.NumOfThreads; //zde je maximalni pocet threadu
If List_Links.Count < NThreads Then NThreads := List_Links.Count;
//pokud je v seznamu mene polozek sniz pocet threadu
SetLength(EThread, NThreads);
For i:=0 To NThreads - 1 do
Begin
Counter := i;
EThread[i] := TEmailsThread.Create(List_Links.Items[i], Counter, i);
//tady si dej vlastni vytvoreni threadu, ja tady threadu predavam primo
ten string
End;
CBlocked := False;

//tady pockame nez dodelaji svou praci
For i := 0 To NThreads - 1 do
begin
If EThread[i] <> nil Then EThread[i].WaitFor; //toto je mozne
nahradit I jinak pokud by jsi chtel aby hlavni vlakno dal makalo a ne
pouze cekalo na thready
end;

//a tady nekde by se melo vsechno uvolnit.
end;


A pak si kazdy thread nacte sam dalsi string ze string listu:
var
C: Integer;

begin
//read next link by Counter to EURL
CSCounter.Acquire;
try
C := Counter;
inc(C);
Counter := C;
If (C <= Frm_Emails.List_Links.Count - 1) and (not CBlocked) Then
begin
EURL := Frm_Emails.List_Links.Items[C];
LinkIndex := C;
Frm_Emails.List_Links.ItemIndex := C;
end
else begin
TaskDone := True;
Terminate;
end;
finally
CSCounter.Release;
end;
end;

Tak treba ti to nejak pomuze.
David


TInterfaceList

[*] Radim Kunz <privat(zv)casestudio(tec)com> - 25.9.2003 09:31:49


----- Original Message -----
From: "Peter Sulek" <psulek(zv)seznam(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, September 25, 2003 9:07 AM
Subject: TInterfaceList


>
> TMainApplication = class(TInterfacedObject, IMainApplication)
> fList: TInterfaceList;
> public

....

>
> implementation
>
> constructor TMainApplication.Create;
> begin
> inherited;
> fList := TInterfaceList.Create;
> end;
>
> destructor TMainApplication.Destroy;
> begin
> if (Assigned(fList)) then
> FreeAndNil(fList);
> inherited;
> end;
>
> A teraz popisem problem:
>
> v aplikacii mam pre loadnutie balicka nasledovny kod(ktory sa spusti az po
> formcreate, cize MainApplication je uz creatnuty):
>
> PackageModule := LoadPackage('package.bpl');
> if PackageModule <> 0 then
>
> Vo funkcii LoadPackage sa spustia vsetky initialization unit ktore su v
> danom balicku, cize v mojom pripade kod:
> MainApplication.RegisterPackage(TpackageBOZP.Create);
>
> A prave tu to vyhodi error(AV). Neviete mi poradit kde robim chybu?
>

Neni problem v TInterfaceList ? Ty ho drzis jako promennou, ale to je
potomek
TInterfaceList, cili ma pocitani referenci. Mel bys ho v te dride
TMainApplication drzet
jako IInterfaceList

Radim

TInterfaceList

[*] Peter Sulek <psulek(zv)seznam(tec)cz> - 25.9.2003 09:07:47

Zdravim,

Mam nasledujuci problem:

<unita zdielana balickom aj aplikaciou>

IModulePackage = interface
...
...
end;

IMainApplication = interface
...
procedure RegisterPackage(Package: IModulePackage);
procedure UnRegisterPackage(Package: IModulePackage);
...
end;

var
MainApplication: IMainApplication;

implementation
<unita balicka(dpk)>

TpackageBOZP = class(TInterfacedObject, IModulePackage)
...
...
end;

initialization
MainApplication.RegisterPackage(TpackageBOZP.Create);

finalization
MainApplication.UnRegisterPackage(TpackageBOZP.Create);
<unita hlavnej aplikacie>

TMainApplication = class(TInterfacedObject, IMainApplication)
fList: TInterfaceList;
public
constructor Create;
destructor Destroy; override;

procedure RegisterPackage(Package: IModulePackage);
procedure UnRegisterPackage(Package: IModulePackage);
end;


implementation

constructor TMainApplication.Create;
begin
inherited;
fList := TInterfaceList.Create;
end;

destructor TMainApplication.Destroy;
begin
if (Assigned(fList)) then
FreeAndNil(fList);
inherited;
end;

procedure TMainApplication.RegisterPackage(Package: IModulePackage);
begin
fList.Add(Package);
end;

procedure TMainApplication.UnRegisterPackage(Package: IModulePackage);
var Index: Integer;
begin
Index:= -1;
Index:= fList.IndexOf(Package);
if (Index > -1) and (Index < fList.Count) then
fList.Delete(Index);
end;

a na formcreate je tento kod:
MainApplication := TMainApplication.Create;


A teraz popisem problem:

v aplikacii mam pre loadnutie balicka nasledovny kod(ktory sa spusti az po
formcreate, cize MainApplication je uz creatnuty):

PackageModule := LoadPackage('package.bpl');
if PackageModule <> 0 then

Vo funkcii LoadPackage sa spustia vsetky initialization unit ktore su v
danom balicku, cize v mojom pripade kod:
MainApplication.RegisterPackage(TpackageBOZP.Create);

A prave tu to vyhodi error(AV). Neviete mi poradit kde robim chybu?

Delphi.NET a C# kod dohromady...

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 25.9.2003 07:45:42

Petr Vones dne 24 Sep 2003 v 20:18:

> > muj kod pomerne bezpecny uz tim, ze bezi ve svem pametovem prostoru,
> > takze bez vynalozeni vetsiho usili se mi tezko podari shodit procesy
> > ostatni.
>
> A jak je prosimte bezpecny tvuj vlastni kod vuci sobe ? Tvrdit ze
> "staci" kdyz aplikace nepokazi nic okolo nema moc souvislost se
> spolehlivosti.

Nikdo nejsme neomylny, mohu v aplikaci nasekat spoustu logickych chyb a nic mi v tom nejspis
nezabrani, ale snazim se, aby ten kod bezpecny byl. Mimo jine nedavam do bufferu vic, nez se vejde
:-)

> > Automaticka sprava pameti - v mych aplikacich by pouze nahrazovala
> > moji pripadnou zapometlivost v uvolnovani objektu.
>
> A tim i potencialni riziko nefunkcnosti cele aplikace.

Tak zle to ve vetsine pripadu nastesti neni, vysledkem obvykle je jen memory-leak, ktery pak
spravi az ukonceni aplikace. Tim sluvkem "jen" v predchozi vete proboha nechci rict, ze na
uvolnovani pameti nebo objektu kaslu! Pouze tvrdim, ze u beznych aplikaci takove opomenuti
_obvykle_ nemiva zavazny dopad. Samozrejme u sluzby bezici na serveru muze byt kritickych kazdych
"par bajtu".

Vidim to tak, ze automaticka sprava pameti by mi trosku usetrila praci, ale nepovazuji to za tak
ohromny prinos.

> > Rychlejsi alokace pameti - na vykonu mych aplikaci by se nejspis
> > projevila zrychlenim v radu nekolika promile,
>
> Na to si prisel presne kde ?

Alokaci pameti potrebuji predevsim pri vytvareni novych objektu a pri praci se stringy. "Uzke
hrdlo" v jedne aplikaci mam napr. pri zobrazovani sceny pomoci OpenGL - vetsinu operaci tvori
pocitani s desetinnymi cisly a volani ruznych funkci OpenGL. (Je/bude vlastne OpenGL v .NET
implementovano?)

Karel Rys

Funkce v promenne

[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 25.9.2003 07:11:40

25.9.2003 bohdan.pecinka(zv)up.mpsv(tec)cz:
> Zdravim!
> Mam dve promenne napr.
> sPromenna1 := 'nejaky text'
> sPromenna2 := 'Delete(sPromenna1,2,2)'.
> A potreboval bych vykonat prikaz v Promenne2.
> Umi to Delphi 4, Clipper to kdysi davno umel (volalo se to nejak takto
> &&sPromenna2, pokud si dobre vzpominam)...
> Diky za pomoc, Dan

Tohle umi jazyky,ktere jsou interpretovany. Prekladace to neumi.
Zrejme budes muset pouzit nejaky interpretr (www.torry.net)
nebo to vyresit jinak.

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

Cekani na ukonceni spustenych vlaken.

[*] l.vlcek(zv)noel-plus(tec)cz - 25.9.2003 07:07:39

martin.ben(zv)ge.com napsal(a):
> Ehm, prekled... Overim si ze vlakno JE Suspended
>
> Martin Ben
>
> -----Original Message-----
> From: Ben, Martin (CONS FIN)
>
> MyThread := TMyThread.CreateIt(True); //Vlakno se zastavi na Suspend a ceka.
> Znovu ho spustim MyThread.Resume (predtim si overim zda vlakno neni
> Suspended) a vlakno znovu projde cely cyklus. Zrusim jej tak, ze nejprve
> zavolam MyThread.Terminate a pote MyThread.Resume
> Jakmile zavolas MyThread.Terminate, pak uz vlakno NELZE nic jineho, ze
uvolnit (metoda Free,....) Rozhodne tarminovane vlakno lnelze znova
spustit. (Viz Help)

Funkce v promenne

[*] bohdan.pecinka(zv)up.mpsv(tec)cz - 25.9.2003 06:21:36

Zdravim!
Mam dve promenne napr.
sPromenna1 := 'nejaky text'
sPromenna2 := 'Delete(sPromenna1,2,2)'.
A potreboval bych vykonat prikaz v Promenne2.
Umi to Delphi 4, Clipper to kdysi davno umel (volalo se to nejak takto
&&sPromenna2, pokud si dobre vzpominam)...
Diky za pomoc, Dan

Resource komponenty

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 25.9.2003 00:25:14

From: "Ivan Dulgerov" <idulgerov(zv)stonline.sk>
> Robim si prave komponentu zalozenu na TComboBox.
> Potrebujem docielit, aby tato nova komponenta nacitala
> obrazky zo svojho *.dcr suboru.
> Da sa to nejako ?

Pokud jsou vsechny stejne velke, tak pouzij TImageList a pak jeho metodu
ResInstLoad.

Nez .dcr je lepsi prilinkovat data z .res souboru ve zdrojaku te komponenty.

Petr Vones


THready podruhe ..

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 24.9.2003 23:29:11

From: "Radegast" <drag(zv)seznam(tec)cz>
> Hm, jo, to jsem zkousel, funguje to,ale neomezi to pocet spustenych
> threadu.

Pokud mas nejake ulohy a ty chces pridelovat threadu tak si je uloz do nejake
fronty, vytvor kolik threadu chces kde kazdy si z te fronty vybere danou ulohu
a tu zpracuje. Jakmile nebude mit ani jeden thread co na praci a fronta bude
prazdna, tak vyvolas nejakou udalost ze to skoncilo.

Petr Vones


Resource komponenty

[*] Ivan Dulgerov <idulgerov(zv)stonline.sk> - 24.9.2003 23:27:10

Zdravim

Mam takto vec :
Robim si prave komponentu zalozenu na TComboBox.
Potrebujem docielit, aby tato nova komponenta nacitala
obrazky zo svojho *.dcr suboru.
Da sa to nejako ?

S pozdravom

Ivan Dulgerov
J.Straku 12
969 00 Banska Stiavnica
SLOVAK REPUBLIC


THready podruhe ..

[*] Radegast <drag(zv)seznam(tec)cz> - 24.9.2003 23:15:09

Hm, jo, to jsem zkousel, funguje to,ale neomezi to pocet spustenych
threadu.

Vychazel jsem z tohoto prikladu :

http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=17666

a tam to presne takhle pouziva ... hm, tak nevim ...


Radek

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Petr Vones
Sent: Wednesday, September 24, 2003 10:43 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: THready podruhe ..

From: "Radegast" <drag(zv)seznam(tec)cz>
> Ve stringlistu mam seznam serveru, kek kterym se potrebuji pripojit a
> stahnout nejaka data. Chtel bych omezit pocet threadu, realizujicich
> spojeni.
> Podle prikladu z codecentral jsem napsal nasledujici proceduru, jenze
> nefunguje.

Rozhodne dej pryc ty lokalni smycky s Application.ProcessMessages.

Petr Vones


THready podruhe ..

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

From: "Radegast" <drag(zv)seznam(tec)cz>
> Ve stringlistu mam seznam serveru, kek kterym se potrebuji pripojit a
> stahnout nejaka data. Chtel bych omezit pocet threadu, realizujicich
> spojeni.
> Podle prikladu z codecentral jsem napsal nasledujici proceduru, jenze
> nefunguje.

Rozhodne dej pryc ty lokalni smycky s Application.ProcessMessages.

Petr Vones

THready podruhe ..

[*] Radegast <drag(zv)seznam(tec)cz> - 24.9.2003 22:39:06

Ahoj,

Ve stringlistu mam seznam serveru, kek kterym se potrebuji pripojit a
stahnout nejaka data. Chtel bych omezit pocet threadu, realizujicich
spojeni.
Podle prikladu z codecentral jsem napsal nasledujici proceduru, jenze
nefunguje.

procedure TfrmOptions.AddHubs(HubList: string);
var ii : integer;
begin
ThreadCount := 0;

for ii := 0 to HubStringList.Count -1 do
begin

while ThreadCount>=MaxThreadCount do

// motej se zde, dokud se neukonci nejaky thread
begin
Application.ProcessMessages;
end;

Application.ProcessMessages;
THubThread.Create(WindowHandle,CurNode,i,HubStringList.Strings[ii]);

Inc(ThreadCount);
end;
end;

ThreadCount je globalni promenna a snizuji ji pred zavolanim Terminace
prislusneho threadu.

Co delam blbe ??

Diky Radek

Delphi.NET a C# kod dohromady...

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 24.9.2003 22:33:06

From: "Lukas Gebauer" <gebylist(zv)mlp(tec)cz>
> Ale, no tak, Petre! Kdyz te tak ctu, tak mam pocit, ze zadna ze
> soucasnych aplikaci ani nemuze fungovat! Jenze ony jaksi funguji, a
> dokonce i vetsina jich funguje i dobre. :-)

Ale kdepak :-) Jenom se branim srovnani ze jsou stejne bezpecne jako managed
kod. Uz jen takove buffer overflow chyby jsou toho dukazem.

Petr Vones


Delphi.NET a C# kod dohromady...

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

From: "Lukas Gebauer" <gebylist(zv)mlp(tec)cz>
> Ale GDI+ maji treba XPcka i bez .NETu, ne? Tak jak to ze Win32 GUI
> apliakce bezi normalne rychle a .NET apliakce se vlecou, kdyz oboje
> pouziva stejne GDI+? (Mel jsem za to, ze GDI+ je rozsireni GDI, nebo se
> pletu?)

GDI+ je tam sice nainstalovane, ale bezny okynka jsou pres "stare" GDI.
Koneckoncu kdyz v .NETu pouzijes pres P/Invkove klasicke GDI tak je to
rychlejsi.

Petr Vones


Delphi.NET a C# kod dohromady...

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 24.9.2003 22:14:58

From: "Lukas Gebauer" <gebylist(zv)mlp(tec)cz>
> Kdy bude dalsi verze frameworku? ;-)

Pristi rok ?
http://msdn.microsoft.com/vstudio/productinfo/roadmap.aspx

Petr Vones

Delphi.NET a C# kod dohromady...

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 24.9.2003 21:36:56

> A jak je prosimte bezpecny tvuj vlastni kod vuci sobe ? Tvrdit ze "staci" kdyz
> aplikace nepokazi nic okolo nema moc souvislost se spolehlivosti.
> > Automaticka sprava pameti - v mych aplikacich by pouze nahrazovala moji
> > pripadnou zapometlivost v uvolnovani objektu.
> A tim i potencialni riziko nefunkcnosti cele aplikace.

Ale, no tak, Petre! Kdyz te tak ctu, tak mam pocit, ze zadna ze
soucasnych aplikaci ani nemuze fungovat! Jenze ony jaksi funguji, a
dokonce i vetsina jich funguje i dobre. :-)

--
Lukas Gebauer.

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

Delphi.NET a C# kod dohromady...

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 24.9.2003 21:30:55

> Microsoft nemohl cekat dalsich x let nez do FCL dopise podporu pro kdejakou
> ptakovinu. Proto vypustil framework s tim co povazoval za dulezite, dnes jsou
> to hlavne webservice, xml, databaze a asp.net. Podpora pro GUI je v soucasne
> dobe slabsi (oproti Win32), ale vzdyt je to teprve take verze 1.x. Na druhe
> strane uz v teto fazi existuje siroka nabidka WinForms komponent od 3rd party,
> coz znamena ze to asi berou vazne (viz DevExpress).

N hura.. bohuzel posuzovat co je a co neni dulezite je ciste individualni
zalezitost. takze je hezke, ze je ve frameworku vse, co Microsoft
povazoval za dulezite, ale me to treba bohuzel nestaci. :-(

Kdy bude dalsi verze frameworku? ;-)

--
Lukas Gebauer.

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

Delphi.NET a C# kod dohromady...

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 24.9.2003 21:26:54

> > Coz je treba vyvazeno znatelne pomalejsim GUI. ;-)
> To s tim nema nic spolecneho. Pomale GUI je kvuli pouziti GDI+ jako zakladu
> pro graficke operace.

Ale GDI+ maji treba XPcka i bez .NETu, ne? Tak jak to ze Win32 GUI
apliakce bezi normalne rychle a .NET apliakce se vlecou, kdyz oboje
pouziva stejne GDI+? (Mel jsem za to, ze GDI+ je rozsireni GDI, nebo se
pletu?)
--
Lukas Gebauer.

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

Delphi.NET a C# kod dohromady...

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 24.9.2003 20:18:49

From: "Karel Rys" <delphi(zv)zas-me(tec)cz>
> Jediny uzitek, ktery bych z .NET mel ve svych aplikacich, je jejich
> potencialni nezavislost na Win platforme a moznost spustit ji, bez
> prekompilovani, treba na linuxu, pokud/az pro nej bude .NET framework.

Nevim jestli je zrovna tohle ta prava vyhoda, ale o to jak to pobezi na Linuxu
se musi zaslouzit lide okolo neho. Pro me je daleko zajimavejsi nezavislost na
architekture procesoru.

> muj kod pomerne bezpecny uz tim, ze bezi ve svem pametovem prostoru, takze
> bez vynalozeni vetsiho usili se mi tezko podari shodit procesy ostatni.

A jak je prosimte bezpecny tvuj vlastni kod vuci sobe ? Tvrdit ze "staci" kdyz
aplikace nepokazi nic okolo nema moc souvislost se spolehlivosti.

> Automaticka sprava pameti - v mych aplikacich by pouze nahrazovala moji
> pripadnou zapometlivost v uvolnovani objektu.

A tim i potencialni riziko nefunkcnosti cele aplikace.

> Rychlejsi alokace pameti - na vykonu mych aplikaci by se nejspis projevila
> zrychlenim v radu nekolika promile,

Na to si prisel presne kde ?

> zato avizovane pomalejsi graficke rozhrani by uzivatele pocitili vice.

To je pouze docasny problem, navic zcela mimo .NET framework (GDI+).

Petr Vones


Delphi.NET a C# kod dohromady...

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 24.9.2003 20:18:48

From: "Ondrej Krsko" <ondrej.krsko(zv)zoznam.sk>
> Myslim, ze MS pod "platformovou nezavislostou" rozumie nezavislost medzi
> roznymi verziami Windows (napr 32bit/64bit,...)

Coz bude v budoucnosti velmi dulezite. Jak velkou mam nadeji, ze Borland
napise dalsi dva kompilatory Delphi (pro Itanium a Opteron) ? V .NETu se o
tohle starat nemusim.

Petr Vones


Case vs. string

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 24.9.2003 20:28:50

From: "Pavel Hauptman" <phauptman(zv)bilbo(tec)cz>
> Prosim o radu, potrebuju v zavislosti na obsahu retezce provest nejakou
> akci. Chtel jsem na to pouzit CASE, ale ten neumi se stringy pracovat :-(

Ne, protoze je x zpusobu jak porovnavat retezce.

Petr Vones

Delphi.NET a C# kod dohromady...

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

From: "Radek" <radek_456(zv)seznam(tec)cz>
> protoze v Microsoftu jsou mistri v marketingu a hodne lidi si doted mysli ze
> .NET vyresi vsechny jejich problemy...

Ohledne marketingu, tohle mozna funguje u MS Office. Programatory prece jen
vice zajimaji skutecne vlastnosti. A ja osobne vidim za .NETem u Microsoftu
velky kus dobre odvedene prace, a to je to co me zajima. S necim podobnym mohl
podle me uz prijit daleko driv Borland.

Petr Vones


chyba pri pouziti DAO komonent

[*] Erik Salaj <winsoft(zv)netkosice.sk> - 24.9.2003 18:46:37

> test ukazal nainstalovane DAO 3,5 aj 3,6. Acces 97 bezi normalne. Nebude
> chybat v D5 nejaky patch ?

neviem, kde by mohol byt problem. Ak mozes, posli mi databazu
na info(zv)winsoft.sk a ja to vyskusam s DAO 3.51. Pripadne
skus pohladat na MSDN podla presneho popisu hlasky,
ci neide o nejaky DAO problem.

Erik


Delphi.NET a C# kod dohromady...

[*] Pavel Cvrcek <konference(zv)jasnapaka(tec)com> - 24.9.2003 17:52:34

Zdravim,

Radek napsal(a):
> protoze v Microsoftu jsou mistri v marketingu a hodne lidi si doted mysli ze
> .NET vyresi vsechny jejich problemy...

To nevyresi, ale rozhodne nabizi vizi do budoucna na ktery se da stavet
a to se mi libi. Snazi se prodat sve produkty. Borland snad ne? Vec,
kterou na MS obdivuji, je prave ten marketing. Konkurence by se mela
hodne ucit.

> nevim jestli bude Microsoft podporovat konkurency (Linux) - mozna az najdou
> zpusob jak na tom vydelat. .NET (respektive Windows Forms) neni nic jineho
> nez objektova nadstavba nad Windows API podobne jako VCL. Rozdil je v tom ze
> MS si Windows API upravuje s kazdou novou verzi Windows tak jak se mu to
> prave hodi. Proto bych cekal ze Windows Forms budou fungovat lepe nez VCL.
> Borland ve VCL jen s obtizema dohani tento "vyvoj" Windows API a nema zadnou
> moznost cokoliv na nem zmenit.

Kupodivu na to Borland nedokaze reagovat i v radu let. To uz bohuzel
neni otazkou toho, ze ma k API pristup z druhe rady, ale vlastni
neschopnosti neco dodelat. Bohuzel...

S pranim hezkeho dne

Pavel Cvrcek
------------------------------
e-mail: jasnapaka(zv)jasnapaka.com
web: http://www.jasnapaka.com
icq: 104562552


Cekani na ukonceni spustenych vlaken.

[*] martin.ben(zv)ge(tec)com - 24.9.2003 17:44:33

Ehm, prekled... Overim si ze vlakno JE Suspended

Martin Ben

-----Original Message-----
From: Ben, Martin (CONS FIN)

MyThread := TMyThread.CreateIt(True); //Vlakno se zastavi na Suspend a ceka.
Znovu ho spustim MyThread.Resume (predtim si overim zda vlakno neni
Suspended) a vlakno znovu projde cely cyklus. Zrusim jej tak, ze nejprve
zavolam MyThread.Terminate a pote MyThread.Resume


This e-mail is intended for the addressee(s) named above only. As this
e-mail may contain confidential or privileged information, if you are not
the named addressee(s) or the person responsible for delivering the message
to the named addressee(s), please telephone us immediately. The contents of
this e-mail should not be disclosed to any other person nor copies taken.

chyba pri pouziti DAO komonent

[*] mato <mato.tino(zv)inmail.sk> - 24.9.2003 17:08:30

test ukazal nainstalovane DAO 3,5 aj 3,6. Acces 97 bezi normalne. Nebude
chybat v D5 nejaky patch ?

----- Original Message -----
From: "Erik Salaj" <winsoft(zv)netkosice.sk>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Monday, September 22, 2003 9:00 PM
Subject: Re: chyba pri pouziti DAO komonent


> > ok, ale preco DAO komponenty vyhlasia tu chybu pri pouziti DAO 3,5
>
> bud tam nie je nainstalovane DAO 3.5 (mozes to overit programom
daotest.exe,
> ktory davame k nasim DAO komponentam) alebo databaza nie je vo formate
> pouzitelnom pre DAO 3.5 (t.j. Jet 35 - over si to tak, ze ju skus otvorit
v
> Access 95/97)
> alebo mozno nejaka ina chyba, pretoze hlaska "nedostatok pameti" je dost
> zvlastna.
>
> Erik
>
>
>
>
> ----------
> * www.inMail.sk - Vasa emailova adresa na cely zivot ZDARMA
> * Mail neobsahuje virusy. Zkontrolovane antivirusom NOD32 (www.eset.sk)
> * www.SlovakNET.sk - profesionalny webhosting, domena .SK ZADARMO
> * Zoner Media Explorer 5 - stiahnite si pomocnika pre digitalnu fotografiu
(zme.zoner.sk)
>
>

Cekani na ukonceni spustenych vlaken.

[*] martin.ben(zv)ge(tec)com - 24.9.2003 16:46:24

Nastav FreeOnTerminate := True;
Ja mam napr. v jednom vlakne toto:

constructor TMyThread.CreateIt(AWaiting: boolean);
begin
FWaiting := AWaiting;
...
end;

procedure TMyThread.Execute;
begin
FreeOnTerminate := True;
while not Terminated do
begin
//neco delam
If FWaiting then
Suspend
or
Terminate;
end;
end;

Potom mam dve moznosti:
MyThread := TMyThread.CreateIt(True); //Vlakno se zastavi na Suspend a ceka.
Znovu ho spustim MyThread.Resume (predtim si overim zda vlakno neni
Suspended) a vlakno znovu projde cely cyklus. Zrusim jej tak, ze nejprve
zavolam MyThread.Terminate a pote MyThread.Resume

nebo

TMyThread.CreateIt(False); //Vlakno projde cyklus while jenom jednou a potom
se samo ukonci.

Martin Ben

-----Original Message-----
From: David Michal [mailto:david.michal(zv)czechwireless(tec)cz]

V aplikaci poustim nekolik vlaken pak chci behem jejich prace jeste dale
pracovat v hlavnim vlaknu. Proto nechci pouzit metodu WaitFor. Myslel
jsem ze bude stacit ve smycce testovat cinnost vlakna stylem if
MujThread[i] <> nil then MujThread[i] jeste bezi. Jenze pri krokovani
jsem zjistil, ze I kdyz vlakno jiz ukonci svou praci hlavni vlakno stale
v pohode prochazi podminkou na MujThread[i] <> nil. Nevite nekdo jak je
to mozne? Nebo jak jinak testovat ze vlakno jeste bezi?

Kazde vlakno ma v tele constructoru toto:
inherited Create(false);
FreeOnTerminate := False;

Na konci metody execute pak toto:
MujThread.Free;

Diky,
David

IB/FB - nuceny prevod do MS SQL

[*] Martin Kleiner <mkleiner(zv)seznam(tec)cz> - 24.9.2003 16:42:20

> Richard Kejval wrote:
> A co se tyka temp tabulek, tak tem se snazime vyhybat jako cert krize

Mozna je to proto, ze jsi nikdy nemusel resit takovy problem, aby si je
potreboval :-)
Napr. na Oraclu jsou 2 druhy temp tabulek (transakcni a uzivatelske) a
pomoci nich muzes vyladit vykon databaze zase o kus vys.

Martin Kleiner
nezavisly programator

IB/FB - nuceny prevod do MS SQL

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 24.9.2003 16:14:13

Neznam dobre IB a tak nevim zda jedna procedura muze vracet
pokazde ruzny recordset (ruzna struktura tabulky). Pokud ne tak
u MSSQL existuje jednoducha obdoba pomoci UDF funkce.
Hvezdicova struktura dat neni sice primo spatna, ale je to navrat na
stromy -> do doby DBF. Z toho co dela moderni SQL server "modernim"
se totiz vyuziva pouze robusni uloziste. Integrita zustava v rukou
(doplnuji slovo pouze) programatora at jiz na strane serveru ci
aplikace (respektive aplikacniho serveru).

Jinak Temp tabulky umoznuji zkratit nektere typy algoritmu radove
tisice procent a vsechny velke servery je z tohoto duvodu maji.
Ono jde kazdy kod napsat bez GOTO, a presto minimalne
strukturovany skok ma kazdy jazyk (at jiz tomu rika jak chce).

Pavel


> From: Vlastimil Bardon [mailto:bardon(zv)akord-soft(tec)cz]
> Na temp tabulkach neni absolutne nic spatneho. Neni zadny
> vecny duvod se jim vyhybat.
>
> Ce se tyce joinu na proceduru - zatim me nenapadlo proc bych
> mel takovou konstrukci pouzit. Ale mam dojem, ze pres funcke
> lze pouzit v MS SQL i toto. Nicmene neberte me prosim za
> slovo, nikdy jsem funkce timto zpusobem nepouzival.
>
> Prechod mezi SQL servery, ktere vyuzivaji speciality
> jednotlivych serveru (tedy to, v cem se servery lisi) je vzdy
> obtizny. Musite se rozhodnout koncepcne, jestli chcete delat
> reseni relativne nezavisle na konkretnim serveru (a pouzivat
> jen ANSI SQL), nebo jestli chcete plne vyuzivat schopnosti
> serveru a pak ozelet moznost volby serveru.
>
> Ja osobne preferuji to druhe. Cena za nezavislost na serveru
> se mi zda prilis vysoka.
>
> -----Original Message-----
> From: Richard Kejval [mailto:kejval.delphi(zv)centrum(tec)cz]
> Sent: Wednesday, September 24, 2003 1:50 PM
>
> > > Select Table.Pole1..TablePoleN, Procedure.Pole1..
> > > from Table
> > > left outer join ProcedureX(Table.Pole1, Param1,....)
> Procedure on (0=0)
> >
> > Jiste. Je to pouzivana konstrukce, protoze ji FB umoznuje.
>
> A o tom tady pokud se nemylim byla puvodni debata viz predmet.
> Protoze, ac se to nezda, jde o opravdu mocny nastroj, o ktery se
> nebudu pripravovat kvuli tomu, ze to MSSQL neumi :-(
> A pokud je aplikace na tom postavena (datovy model hvezdy, kdy
> vsechny selecty delam pres proceduru, ktera se chova jako 1 tabulka,
> ale pri tom zastresuje libovolny pocet tabulek s podobnou, ale ne
> stejnou strukturou) tak asi prechod nebude tak jednoduchy a v nasem
> pripade bych rekl skoro nemozny, protoze obdobu u MSSQL jsem
> zatim nenasel a jak vypliva z teto debaty asi ani nenajdu...
>
> >
> > > A co se tyka temp tabulek, tak tem se snazime vyhybat
> jako cert krize
> :-)
> >
> > Nedivim se, kdyz je FB neumi.
> >
>
> To je sice pravda, ale opet vse co potrebuji nejakym zpusobem
> predpripravit
> do nejake struktury, muzu s vyhodou pouzit uz zminovane
> procedury. A pokud
> mi tento mechanismus nepostacuje, pak je vzdy treba zamyslet
> se nad datovym
> modelem, protoze vetsinou neni zcela v poradku. Takze temp
> tabulky je to
> posledni
> co bych u FB postradal...
>
>
>

IB/FB - nuceny prevod do MS SQL

[*] Vlastimil Bardon <bardon(zv)akord-soft(tec)cz> - 24.9.2003 15:58:12

Na temp tabulkach neni absolutne nic spatneho. Neni zadny vecny duvod se jim vyhybat.

Ce se tyce joinu na proceduru - zatim me nenapadlo proc bych mel takovou konstrukci pouzit. Ale mam dojem, ze pres funcke lze pouzit v MS SQL i toto. Nicmene neberte me prosim za slovo, nikdy jsem funkce timto zpusobem nepouzival.

Prechod mezi SQL servery, ktere vyuzivaji speciality jednotlivych serveru (tedy to, v cem se servery lisi) je vzdy obtizny. Musite se rozhodnout koncepcne, jestli chcete delat reseni relativne nezavisle na konkretnim serveru (a pouzivat jen ANSI SQL), nebo jestli chcete plne vyuzivat schopnosti serveru a pak ozelet moznost volby serveru.

Ja osobne preferuji to druhe. Cena za nezavislost na serveru se mi zda prilis vysoka.

-----Original Message-----
From: Richard Kejval [mailto:kejval.delphi(zv)centrum(tec)cz]
Sent: Wednesday, September 24, 2003 1:50 PM

> > Select Table.Pole1..TablePoleN, Procedure.Pole1..
> > from Table
> > left outer join ProcedureX(Table.Pole1, Param1,....) Procedure on (0=0)
>
> Jiste. Je to pouzivana konstrukce, protoze ji FB umoznuje.

A o tom tady pokud se nemylim byla puvodni debata viz predmet.
Protoze, ac se to nezda, jde o opravdu mocny nastroj, o ktery se
nebudu pripravovat kvuli tomu, ze to MSSQL neumi :-(
A pokud je aplikace na tom postavena (datovy model hvezdy, kdy
vsechny selecty delam pres proceduru, ktera se chova jako 1 tabulka,
ale pri tom zastresuje libovolny pocet tabulek s podobnou, ale ne
stejnou strukturou) tak asi prechod nebude tak jednoduchy a v nasem
pripade bych rekl skoro nemozny, protoze obdobu u MSSQL jsem
zatim nenasel a jak vypliva z teto debaty asi ani nenajdu...

>
> > A co se tyka temp tabulek, tak tem se snazime vyhybat jako cert krize
:-)
>
> Nedivim se, kdyz je FB neumi.
>

To je sice pravda, ale opet vse co potrebuji nejakym zpusobem predpripravit
do nejake struktury, muzu s vyhodou pouzit uz zminovane procedury. A pokud
mi tento mechanismus nepostacuje, pak je vzdy treba zamyslet se nad datovym
modelem, protoze vetsinou neni zcela v poradku. Takze temp tabulky je to
posledni
co bych u FB postradal...

Brush a Tisk

[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 24.9.2003 15:52:11

ahoj,

dovolil bych si tipovat, ze chyba je v tiskarne,
respektive jejim ovladaci. ja jsem kdysi delal
tisk nejakych polygonu a nevybarvovalo mi je to.
pak jsem zjistil, ze to proste nepodporoval
driver a tak mi nezbylo, nez namalovat to na
bitmapu v pameti a prenest pomoci stretchdraw,
nebo nejake jine kopirovaci funkce.

mozna ti ale nekdo poradilip.

peca


Brush a Tisk

[*] Ing. Antonin Spurny <spurny(zv)kavlounky(tec)cz> - 24.9.2003 14:46:07

Ahoj,

pouzivam D2, QR 1.1, WinXP pro

A ted vlastni problem, kreslim ctverecek vyplneny pomoci Brush (viz priklad
dole). Pokud zavolam metodu Preview, v nahledu se mi spravne zobrazi
vysrafovany
ctverecek, ale pri tisku na jedne tiskarne se mi pozadi mezi srafy vytiskne
cerne, na jine tiskarne se pozadi vytiskne spravne.

Na tento problem jsem narazil i na Win 98.
Zajimave je ze na jednom typu tiskarny to z XP tiskne spatne a z Win 98
spravne...

Nevite nekdo nahodou co delam spatne?

Diky
A. Spurny

=============================================================
Zjednoduseny priklad:
Mam dva formulare, na 1. mam Tlacitko, ktere vola metodu:

procedure TForm1.Button1Click(Sender: TObject);
begin
FormTisk.QuickReport1.Preview;
end;

na druhem formulari mam QuickReport1 s obsluhou udalosi OnStartPage:

TFormTisk = class(TForm)
QuickReport1: TQuickReport;
procedure QuickReport1StartPage(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

a metodu obsluhujici udalost:

procedure TFormTisk.QuickReport1StartPage(Sender: TObject);
begin
with QRPrinter.Canvas.Pen do
begin
Color:= clBlack;
Width:= 2;
Style:= psSolid;
end;
with QRPrinter.Canvas.Brush do
begin
Color:= clRed;
Style:= bsBDiagonal;
end;
with QRPrinter.Canvas, QuickReport1 do
Rectangle( XPos(100), YPos(100), XPos(200), YPos(200));
end;

Cekani na ukonceni spustenych vlaken.

[*] delphin(zv)post(tec)cz - 24.9.2003 14:38:01

Muze se napriklad pouzit WaitForSingleObject(mojevlakno.handle,0), vraci to
WAIT_TIMEOUT, dokud vlakno probiha a funguje to spravne i kdyz ve vlaknu
dojde k vyjimce. Nesmi se ovsem pouzit FreeOnTerminate := True; ani
MujThread.Free;


----- Original Message -----
From: "David Michal" <david.michal(zv)czechwireless(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, September 24, 2003 1:59 PM
Subject: Cekani na ukonceni spustenych vlaken.> Zdravim,
>
> V aplikaci poustim nekolik vlaken pak chci behem jejich prace jeste dale
> pracovat v hlavnim vlaknu. Proto nechci pouzit metodu WaitFor. Myslel
> jsem ze bude stacit ve smycce testovat cinnost vlakna stylem if
> MujThread[i] <> nil then MujThread[i] jeste bezi. Jenze pri krokovani
> jsem zjistil, ze I kdyz vlakno jiz ukonci svou praci hlavni vlakno stale
> v pohode prochazi podminkou na MujThread[i] <> nil. Nevite nekdo jak je
> to mozne? Nebo jak jinak testovat ze vlakno jeste bezi?
>
> Kazde vlakno ma v tele constructoru toto:
> inherited Create(false);
> FreeOnTerminate := False;
>
> Na konci metody execute pak toto:
> MujThread.Free;
>
> Diky,
> David
>
>
>
>

Synapse SSL (Re: Server v Delphi ?)

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 24.9.2003 14:38:01

> Mimochodem jeste jsem se chtel zeptat na synapsi , je nekde nejaky priklad jak
> pracovat stou SSL podporou co ma synapse v sobe ?

Zalezi, jestli ti jde o SSL klient nebo server.

Ohledne SSl klienta, je prikladem sama Synapse, nebot tuto vlastost
pouzivaji implementace SMTP, FTP, HTTP, IMAP, POP3, NNTP a LDAP
protokolu. ;-)

V zasade je to jednoduche. Staci mit pripojeneho TCP klienta, a kdyz
pak chces zapnoput SSL prenos, zavolas metodu
TTCPBlockSocket.SSLDoConnect. Obdobne kdyz chces ukoncit SSL, zavolas
TTCPBlockocket.DoSslShutdown.

pochopitelne si muzez pred tim predvtypnit hromady properties oheldne
SSL, kde muzes specifikovat svuj certifikat (je-li potreba), nastavit
jakou verzi SSL protokolu chcjake se maji pouzivat sifry,... Pro
klasicke pouzii nemusis na tyhleveci ale vubec sahat.

Na strane serveru je to slozitejsi, protoze tady uz MUSIS pouzit
certifikat a klic. Ty musis mit ulzoene v souboru v PEM formatu a
cesty k temto souborum musis napsat do patricnych properties.

Pote az budes mit prijmute prichozi TCP spojeni, tak se muzes pokusit
o prijmuti SSL metodou TTCPBlockSocket.SslAceptConnection. SSL muzes
zrusit volanim SSLDoShutdown, jak jsem uz zminil u klienta.

V kazdem pripade jakmile mas rozebehnute SSl spojeni, tak opet
existuji metody, ktere ti reknou jakou verzi protokolu jsi spojeny,
jake sifry se prave pouzivaji, muzes si vypsat vysledek verifikac
certifikatu druhe strany (jestli se jej podarilo overit, jestli je
self-signed', jestli je prosly, atd.), nebo i vypsat kompletni
informace z certifikatu druhe strany spojeni. Tim vsm si muzes
overit, jestli jsi pripojeny tam kamjsi chtel a jestli druhe strane
spojeni budes duverovat natolik, abys pokracoval v cinnosti.


--
Lukas Gebauer.

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

Cekani na ukonceni spustenych vlaken.

[*] Pavel Poles <xcony(zv)seznam(tec)cz> - 24.9.2003 14:38:01

> v pohode prochazi podminkou na MujThread[i] <> nil. Nevite nekdo jak je
> to mozne? Nebo jak jinak testovat ze vlakno jeste bezi?

To protoze ho sice uvolnis ale v danem listu samozrejme odkaz zustane, a ten
je nenilovy...

> Na konci metody execute pak toto:
> MujThread.Free;

Asi neco jako
Form.Mujthread[ID]:=nil;
by pomohlo.

Pavel Poles


DLL pro PHP a win32

[*] vachix <vachix(zv)centrum.sk> - 24.9.2003 14:17:59

skus manual k php (www.php.net):

Kapitola 52. PHP and COM
1. I have built a DLL to calculate something. Is there any way to run this
DLL under PHP ?
If this is a simple DLL there is no way yet to run it from PHP. If the DLL
contains a COM server you may be able to access it if it implements the
IDispatch interface.

a

VIII. COM support functions for Windows

mato


Cekani na ukonceni spustenych vlaken.

[*] David Michal <david.michal(zv)czechwireless(tec)cz> - 24.9.2003 13:59:58

Zdravim,

V aplikaci poustim nekolik vlaken pak chci behem jejich prace jeste dale
pracovat v hlavnim vlaknu. Proto nechci pouzit metodu WaitFor. Myslel
jsem ze bude stacit ve smycce testovat cinnost vlakna stylem if
MujThread[i] <> nil then MujThread[i] jeste bezi. Jenze pri krokovani
jsem zjistil, ze I kdyz vlakno jiz ukonci svou praci hlavni vlakno stale
v pohode prochazi podminkou na MujThread[i] <> nil. Nevite nekdo jak je
to mozne? Nebo jak jinak testovat ze vlakno jeste bezi?

Kazde vlakno ma v tele constructoru toto:
inherited Create(false);
FreeOnTerminate := False;

Na konci metody execute pak toto:
MujThread.Free;

Diky,
David

IB/FB - nuceny prevod do MS SQL

[*] Richard Kejval <kejval.delphi(zv)centrum(tec)cz> - 24.9.2003 13:49:57


----- Original Message -----
From: "Jan Fiala" <jan.fiala(zv)wo(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, September 24, 2003 11:41 AM
Subject: Re: IB/FB - nuceny prevod do MS SQL


> 24.9.2003 Richard Kejval:
> > Mel jsem na mysli tuto (u nas velmi pouzivanou) konstrukci :
>
> > Select Table.Pole1..TablePoleN, Procedure.Pole1..
> > from Table
> > left outer join ProcedureX(Table.Pole1, Param1,....) Procedure on (0=0)
>
> Jiste. Je to pouzivana konstrukce, protoze ji FB umoznuje.

A o tom tady pokud se nemylim byla puvodni debata viz predmet.
Protoze, ac se to nezda, jde o opravdu mocny nastroj, o ktery se
nebudu pripravovat kvuli tomu, ze to MSSQL neumi :-(
A pokud je aplikace na tom postavena (datovy model hvezdy, kdy
vsechny selecty delam pres proceduru, ktera se chova jako 1 tabulka,
ale pri tom zastresuje libovolny pocet tabulek s podobnou, ale ne
stejnou strukturou) tak asi prechod nebude tak jednoduchy a v nasem
pripade bych rekl skoro nemozny, protoze obdobu u MSSQL jsem
zatim nenasel a jak vypliva z teto debaty asi ani nenajdu...

>
> > A co se tyka temp tabulek, tak tem se snazime vyhybat jako cert krize
:-)
>
> Nedivim se, kdyz je FB neumi.
>

To je sice pravda, ale opet vse co potrebuji nejakym zpusobem predpripravit
do nejake struktury, muzu s vyhodou pouzit uz zminovane procedury. A pokud
mi tento mechanismus nepostacuje, pak je vzdy treba zamyslet se nad datovym
modelem, protoze vetsinou neni zcela v poradku. Takze temp tabulky je to
posledni
co bych u FB postradal...

proc nefunguje KeyDown?

[*] Tomas Krysl <tomkrysl(zv)quick(tec)cz> - 24.9.2003 13:05:53

> > mam D7 personal pod XP a dam-li v (On)KeyDown uplne na konci Key = 0 (a
> > zadna nadrazena (On)KeyDown to neprepise),
> > presto se ten stisk projevi dal (treba v TEditu tim, ze to vypise
znak).
> > Proc to nechodi?
> > V D5 to prece (aspon myslim) fungovalo. Bohuzel v pers. nejsou zdrojaky,
tak
> > se nemuzu podivat...
>
> V D5 to nechodilo taky. KeyDown se pouziva pro control klavesy. Zkus
> si to osetrit v OnKeyPres
>
> --
> Jan Fiala

Funguje to, v TEditu pak jeste zareaguje KeyPress (WM_CHAR) a ta to vypise
(na to jsem zapomnel).
Ja tam KeyPress puvodne mel, ale ono to do ni pousti i klavesy s CTRL, ktere
jsem chybne zakazoval, takze pak nefungovalo CTRL+C,V apod.
To jsem ted osetril tim, ze nechavam projit znaky < #32 (snad tam zadne jine
s CTRL nebo ALT a vyssim ord neprojdou).

Tomas


Dalsi problem - Frac

[*] Tomas Krysl <tomkrysl(zv)quick(tec)cz> - 24.9.2003 13:05:53


> > Potrebuju nejak zajistit, aby v pripade Frac(C/D) pri C =
5,79999...99982
> a
> > D = 0,10000...0006 vyslo 0 a ne 0,99999...9998224.
> > Samozrejme C a D se muzou menit (D <> 0).
> > Takze neco jako ten "plovouci" zaokrouhlovaci mechanismus pri prepnuti
> > watchu na default, cimz by se zaokrouhlil ten podil.
>
> Dela to i tehdy, kdyz C a D jsou extended ?
>

Dela, je jedno jestli je to single, double nebo extended.
Pri extended je nepresnost mensi, takze se uz nezobrazi ani ve
floatingpointovem watchi.

Pro ilustraci:

procedure TKNumberEdit.UpDownClick(Sender: TObject; Button: TUDBtnType);
var
C, D, R, F: Extended;
begin
FUpdateUpDown := False;
C := GetValue; // vraci Extended
D := FRealUpDownStep; // taky Extended
R := C / D;
F := Frac(R); // ma fungovat jako mod v integer aritm.
SetValue((FUpDown.Position) * FRealUpDownStep + F); // tady to nekdy
pricte kravinu (0.999... misto 0)
FUpdateUpDown := True;
end;

Konkretni situace ve watchi napr.:
C = 5.8 (ale ve skutecnosti 5.799999...999..999x)
D = 0.1 (ale ve skutecnosti 0.100000...000...000x)
R = 58 (ve skutecnosti 57.999....999x)
F = 1 (ve skutecnosti 0.999..999x)

Komicke ale je to tak.
Takze asi to bude chybny algoritmus. Jak to teda udelat, aby F bylo co
nejpresnejsi?
(format Currency jsem nezkousel, protoze stejne nestaci)

Tomas

Case vs. string

[*] David Kraina <dkx(zv)seznam(tec)cz> - 24.9.2003 13:11:54

Zkus funkce Copy a Delete pro upravu textu. Jinak pro vsechna velka pismena
v retezci pouzij

For I:=1 To Lenght(String) Do String[I]:=UPCase(String[I]);

S pozdravem

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

David Kraina, DKx
-------------------------------
Vedouci vyvojarskeho tymu MX-3, programator

http://DKx.on.to
http://MX-3.w3.to

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

> Prosim o radu, potrebuju v zavislosti na obsahu retezce provest
> nejakou akci. Chtel jsem na to pouzit CASE, ale ten neumi se stringy
> pracovat :-(
>
> CASE retezec OF
> 'ABC': ....
> 'DEF': ....
> END;

DLL pro PHP a win32

[*] Ing. Petr Sikola <developer(zv)efg(tec)cz> - 24.9.2003 12:51:52

zdravim vsechny,
stojime pred problemem zpracovavat nejaka data v nasi win32 aplikaci a
take pres www rozhrani na www serveru.
Na www serveru nam bezi apache/IIS a PHP.

mam takovou predstavu, ze napisu dll (popripade ISAPI dll) a tu budu
vyuzivat v obouch produktech.

Je takoveto reseni vubec mozne?

A nebo jde udelat projekt na tu DLL tak, aby podle nejake direktivy slo
udelat dll pro win32 a podle jine pro PHP (ISAPI) (= jeden zdrojak)?

Nemate nekdo nejakou zkusenost s psanim dll pro PHP? Hledal jsem v
konferenci a nic konkretniho jsem nenasel.

diky za kazde info

Petr Sikola

Server v Delphi ?

[*] David Kopecek <david.kopecek(zv)hacktrack(tec)com> - 24.9.2003 11:53:46

Dobry den,

>> oki. to zni dobre. ale nebou ty jednotlive procesy mit mezi sebou
>> nutnost komunikovat ?
>
>Mezi sebou nejak nepotrebuji. Spis je potreba:
>
>1. aby hlavni serice mohl dat signal modulu k jeho ukonceni. (da se
>resit mnoha zpusoby)
>

jo to bude super.

>2. jednotlive moduly potrebuji volat nejake spolecne sluzby. mam na
>mysli treba nacitani konfigurace, ale treba sluby pro pristup do
>uzivatelova mailboxu, pristup do spolecne fronty zprav, atd. Tyto
>sluzby mohou byt ale napriklad ukryty v jednom spolecnem DLLku, ktere
>si kazdy mudul prilinkuje. Nektere veci muzes resit pres souborovy
>system. Takze muzes udelat treba to, ze kazdy uivatel ma svuj
>postovni adresar. Zavolas funkci ze spolecneho DLLka, a vysledek bude
>cesta do uzivatelova adresare, a tam se mu uz z toho modulu sam
>zacnes hrabat v mailech. (POP3 server je zacne posilat ven, IMAP
>server se v nich zacne hrabat, SMTP server do toho adresare pridava
>nove zpravy, ...) Podobne jako fronta zprav je nejlepsi nejaky
>adresar na disku, takze ti funkce z DLLka rekne, ktery adresar je
>fronta. takovych funkci bude vic, treba na autorizaci uzivatele.

ano tak nejak jsem to chtel delat...

Diky za rady

Mimochodem jeste jsem se chtel zeptat na synapsi , je nekde nejaky priklad jak
pracovat stou SSL podporou co ma synapse v sobe ?

Diky

TTable - order by

[*] Pavel Tresnak <delphi(zv)haida(tec)cz> - 24.9.2003 12:19:49

Ahoj,

seradis ji podle indexu, ktery je vytvoreny (property IndexName)

Pavel Tresnak
mailto:pavel.tresnak(zv)haida(tec)cz

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Behalf Of jan_rizek(zv)centrum(tec)cz
Sent: Wednesday, September 24, 2003 11:04 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: TTable - order by


Mohu nejak setridit TTable bez pouziti TQuery - Order by??

TTable - order by

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 24.9.2003 12:13:49

Pokud by se jednalo napr. o tabulku Paradox, pouzij Table.IndexName:= .... a
podle povahy zobrazeni take Table.Refresh.

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
http://web.redbox(tec)cz/petr.brant

D&COMM s.r.o.
Korunovacni 6
Praha 7
tel. +420724007234

Mohu nejak setridit TTable bez pouziti TQuery - Order by??

TTable - order by

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

> Mohu nejak setridit TTable bez pouziti TQuery - Order by??

TTable se tridi pomoci indexu - tj. staci nastavit odpovidajici index.

David Lebeda

IB/FB - nuceny prevod do MS SQL

[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 24.9.2003 11:41:45

24.9.2003 Richard Kejval:
> Mel jsem na mysli tuto (u nas velmi pouzivanou) konstrukci :

> Select Table.Pole1..TablePoleN, Procedure.Pole1..
> from Table
> left outer join ProcedureX(Table.Pole1, Param1,....) Procedure on (0=0)

Jiste. Je to pouzivana konstrukce, protoze ji FB umoznuje.

> A co se tyka temp tabulek, tak tem se snazime vyhybat jako cert krize :-)

Nedivim se, kdyz je FB neumi.

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

TTable - order by

[*] jan_rizek(zv)centrum(tec)cz - 24.9.2003 11:03:42

Mohu nejak setridit TTable bez pouziti TQuery - Order by??

zapis do IB tabulek s kodovanim Win1250 pomoci PHP

[*] Pavel Cisar <pcb(zv)atlas(tec)cz> - 24.9.2003 10:43:39

Haj hou!

On 23 Sep 2003 at 21:20, Milan Dvorak wrote:

> pokousim se provest INSERT resp UPDATE z PHP do IB tabulek, u kterych je v
> definici uveden CharacteSet Win1250..
> V PHP mam nastaveno SetLocale("LC_ALL", "Czech"). Pri pokusu o INSERT nebo
> UPDATE se ukaze hlaska:
>
> Warning: InterBase: arithmetic exception, numeric overflow, or string
> truncation Cannot transliterate character between character sets in ....
> (nasleduje obvykla cesta ke skriptu a cislo radku).

Musis specifikovat znakovou sadu WIN1250 jako parametr charset u
funkce IBASE_connect resp. IBASE_pconnect. Viz dokumentace PHP
http://cz.php.net/manual/en/function.ibase-connect.php

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

Delphi.NET a C# kod dohromady...

[*] Jakub Dusek <delphi(zv)corexpert(tec)com> - 24.9.2003 10:47:40

.NET je normovany, zadna cerna skrinka, cili tu podporu nemusi udelat
Microsoft, ale kdokoliv jiny. Samozrejme je to velke sousto, ale pokud
vim tak uz nejake pokusy (zatim nepouzitelne) o .NET framework na
Linuxu existuji.

Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
aplikace pro komfortni odesilani sms zprav, vizitek, log a melodii
=> Sms GateKeeper 2.1

======================================================================
Wednesday, September 24, 2003, 9:25:30 AM, you wrote:

R> nevim jestli bude Microsoft podporovat konkurency (Linux) - mozna
R> az najdou zpusob jak na tom vydelat.

IB/FB - Zabira hodne pameti

[*] Jiri Wendl, KSH-Data <wendl(zv)ksh-data(tec)cz> - 24.9.2003 09:27:31

Jeste jedna vec. Kdyz se vsichni klienti odhlasi tak server zabira furt
340MB.

Jiri Wendl, KSH-Data wrote:
> Ahoj vsem,
> FB 1.0.3 nam po nejake dobe provozu (10h) zacne zabirat 400MB pameti a
> prihlaseni do nej pak trva i 5 minut. Jsou tam WinNT a databaze ma asi
> jen 60MB. Klientu tam pracuje asi 6.
>
> Nevite co s tim?
>
> Predem diky.
> Jirka
>
>
>

IB/FB - nuceny prevod do MS SQL

[*] Richard Kejval <kejval.delphi(zv)centrum(tec)cz> - 24.9.2003 10:53:41


----- Original Message -----
From: "ing. Jan Fiala" <jan.fiala(zv)wo(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Tuesday, September 23, 2003 7:04 PM
Subject: Re: IB/FB - nuceny prevod do MS SQL


> 23.9.2003 Richard Kejval:
>
> > To je sice hezke :-), ale pokud to nemuzu pouzit kombinovane s dalsimy
> > selecty pres feft outer join, tak si porad myslim, ze je to v FB
> > univerzalnejsi nebo se mylim ?
>
> Nachapu, proc bys to nemohl pouzit kombinovane selekty. Ty samozrejme
> pouzit muzes (aspon doufam, ze si rozumime)
> Navic muzes pouzivat temp tabulky, coz zase neumi FB, pokud vim.

Mel jsem na mysli tuto (u nas velmi pouzivanou) konstrukci :

Select Table.Pole1..TablePoleN, Procedure.Pole1..
from Table
left outer join ProcedureX(Table.Pole1, Param1,....) Procedure on (0=0)

A co se tyka temp tabulek, tak tem se snazime vyhybat jako cert krize :-)

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

Server v Delphi ?

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 24.9.2003 10:41:39

> No asi zvolim tuhle zlatou cestu. Ale to vlasne budu muset ty moduly
> spoustet pres createproces ?

Jasne. Tim take ziskas handle toho procesu, takze muzes sledovat,
jestli proces bezi nebo ne. kdyz nebude bezet a ty usoudis, ze bezet
ma, tak to asi spadlo, a pustis to znova. ;-)

--
Lukas Gebauer.

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

Dialog s vlastnimi komponentami

[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 24.9.2003 10:05:36

> Ahoj
>
> Jsem v koncich. Uz delsi dobu se snazim vyrobit %subj a kdyz
> uz jsem konecne nasel odkaz na
> http://www.inspired.sk/delphi/tricks/trick.php?ID=248 tak
> jsem mel velkou radost. Bohuzel jen do
> doby, nez jsem zkusil aplikaci zkompilovat "s balicky".
>
> Prosim vas nevite nekdo kde je zrada? PROC v aplikaci
> zkompilovane "s balicky" se tento muj vlastni
> dialog jen mihne na obrazovce a hned zmizi? Neni v balicku, v
> exe "bez balicku" se krasne zobrazi.
>
> Koukal jsem i na
>
http://sourceforge.net/project/showfiles.php?group_id=47514&release_id=11819
5,
> ale nepodarilo se me zjistit kde je zrada. Chtel bych mit
> jednoducheho potomka z existujiciho TSaveDialog
> - ne tridu psanou od zakladu.
>
> D7 Win XP

Zrada je v TOpenDialog.DoExecute v nasledovnom riadku:

with OpenFileName do
begin
...
hInstance := SysInit.HInstance;

V pripade aplikacie skompilovanej bez runtime packages je to OK, pretoze
SysInit.HInstance = HInstance beziaceho .exe, a tam sa linkuje aj vsetok kod
a tiez ten template resource.

V pripade aplikacie skompilovanej s runtime packages vsak ten kod nastavi
hInstance na HInstance vcl70.bpl, pretoze v nej je skompilovana dana unita
Dialogs.
Samozrejme, dany template resource v nej nie je najdeny a preto sa dialog
nezobrazi. Treba tam predat HInstance toho modulu (runtime package), ktory
obsahuje ten resource.

V pripade, ak ten resource linkujes k tej istej runtime package ako Tvoj
komponent, da sa to dosiahnut napriklad takto:

type
TMyDialog = class(TOpenDialog)
...
protected
function TaskModalDialog(DialogFunc: Pointer; var DialogData): Boolean;
override;
...
end;

function TMyDialog.TaskModalDialog(DialogFunc: Pointer; var DialogData):
Boolean;
begin
TOpenFileName(DialogData).hInstance := SysInit.HInstance; // HInstance
Tvojej runtime package
Result := inherited TaskModalDialog(DialogFunc, DialogData);
end;

BTW, myslim, ze ten priklad, na ktory sa odkazujes, nie je uplny a bez chyb.
Ako vzor pre tvorbu vlastnych dialogov by som skor pouzil unitu ExtDlgs.

HTH
TOndrej

Case vs. string

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 24.9.2003 10:29:38

> Prosim o radu, potrebuju v zavislosti na obsahu retezce provest
> nejakou akci. Chtel jsem na to pouzit CASE, ale ten neumi se stringy
> pracovat :-(

Case umi pracovat jen s ordinalnimi typy, coz string neni.

David Lebeda

Case vs. string

[*] Pavel Hauptman <phauptman(zv)bilbo(tec)cz> - 24.9.2003 10:21:37

Prosim o radu, potrebuju v zavislosti na obsahu retezce provest nejakou
akci. Chtel jsem na to pouzit CASE, ale ten neumi se stringy pracovat :-(

CASE retezec OF
'ABC': ....
'DEF': ....
END;

Diky a s pozdravem
Pavel Hauptman


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