Archív konference Delphi
Zpět na výběr roku archívu nebo přejít na fulltextové vyhledávání v konferenci.
Rozhrani
[*] Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> - 20.9.2005 08:33:03
Presne receno, v mailu je toto:
"Rozhranni" musi:
byt In-proc COM server
jehoz rozhrani bude pouzivat pouze datove typy OLE Automation.
Diky
Rozhrani
[*] Milan Tomes <delphi(zv)haida(tec)cz> - 20.9.2005 08:37:04
Inproc server je COM server zapozdreny v DLL knihovne - spousti se v ramci
procesu, ktery server vola. Opak - Out of process server je zapouzdren v EXE
souboru.
HTH
Milan Tomes
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Dalibor Faltynek
> Sent: Tuesday, September 20, 2005 8:33 AM
>
> nevite prosim vas nekdo co se skryva pod pojmem rozhrani
> "In-proc COM server". Mel bych napsat nejake vypocty do DLL,
> aby splnovalo toto rozhrani.
Pokladni display
[*] Bc. Jiri Cincura <diskuze(zv)cincura(tec)net> - 20.9.2005 08:19:01
Vlastimil Zdenek wrote:
> Zdravim vsechny,
> prosim o radu a pomoc s VFD display. Je pripojen pres COM port. Muzete mi
> prosim poslat nejake priklady pro komunikaci s display? Smazat obrazovku,
> poslat text,.... Nebo odkaz kde bych nejake priklady nasel.....
>
> Diky moc
>
> Vlasta, D5
>
>
>
>
>
Rekl bych, ze ten display bude mit seznam povelu nekde v
manualu/internetu. A pomoci nich se pak domluvis.
--
Bc. Jiri Cincura
http://www.ID3renamer.com/
http://www.x2develop.com/
ICQ: 314711544 | Yahoo!: x2develop
http://photo.cincura.net/
Pokladni display
[*] Vlastimil Zdenek <vlastimil.zdenek(zv)seznam(tec)cz> - 20.9.2005 08:03:00
Zdravim vsechny,
prosim o radu a pomoc s VFD display. Je pripojen pres COM port. Muzete mi
prosim poslat nejake priklady pro komunikaci s display? Smazat obrazovku,
poslat text,.... Nebo odkaz kde bych nejake priklady nasel.....
Diky moc
Vlasta, D5
XML, jak zabranit automatickemu generovani atribut
[*] Jaromir Cermak <cermak(zv)procom(tec)cz> - 20.9.2005 07:26:57
Ahoj vsichni
Pouzivam D7, komponentu TXMLDocument ke generovani dokumentu pro vladni portal. V nem se vyskytuje dvakrat atribut xmlns. jednou v tagu <GovTalkMessage xmlns="http://www.govtalk.gov.uk/CM/envelope"> , podruhe v tagu <RELDPMessage xmlns="http://www.cssz(tec)cz/XMLSchema/reldp/envelope">. Delphi si vsak vymysli dalsi vyskyty tohoto atributu ve znackach mezi RELDPMessage, a to jeste ke vsemu s cestou z prvni znacky. Nevite nekdo jak nastavit TXMLDocument aby si nevymyslel atributy tam, kde je explicitne neuvdu?
Diky
Jaromir Cermak
ukoncovani threadu - oprava
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 20.9.2005 00:02:25
Petr Fejfar wrote:
> 1.a Test := TxxxThread.Create(FALSE);
> 1.b Test.FreeOnTerminate := TRUE;
>
> To uz je v paralelnim prostredi spatne, protoze nez hlavni thread
> dojde na radek 1.b, muze byt thread spusten a ukoncen (treba
> vyjimkou) apod a tudiz uvolen atd.
Sorry, to mi uteklo: ten thread nebude samozrejme uvolnen ale jen ukoncen,
kdyz jeste nemel nastaveno FreeOnTerminate.
pf
ukoncovani threadu
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 19.9.2005 23:46:24
Vlastimil Burian wrote:
>>> Ve FreeOnTerminate rezimu je proste na konci execute
>>> rutiny volan destructor
>>
>> To tam mas opravdu neco takoveho :-OOO
>
> to si ze me strilis? myslim to prece tak ze kdyz mam nastaven priznak
> FreeOnTerminate tak se destruktor NE MNOU ale SAM vyvola preci.
Proc? Je-li slovni popis jedinym voditkem k realite, je treba se vyjadrovat
co mozna nejpresnejsi - jinak tady jen ztracime cas :-(
Pak to tedy neni na konci rutiny Execute, ale po jejim ukonceni
a to je docela rozdil. Takze naposledy jako projev dobre vule ;-)
1. Ty si vytvoris thread v rezimu FreeOnTerminate - jestli si to pamatuju,
tak neni vytvaren jako Suspended tzn, ze mas zrejme neco takoveho:
1.a Test := TxxxThread.Create(FALSE);
1.b Test.FreeOnTerminate := TRUE;
To uz je v paralelnim prostredi spatne, protoze nez hlavni thread dojde
na radek 1.b, muze byt thread spusten a ukoncen (treba vyjimkou)
apod a tudiz uvolen atd.
2. Po nejake dobe, aniz bys mel zajisteno, ze reference na thread je stale
platna, zavolas Test.StopCounting;
3. Od teto doby uz NIKDE v hlavnim threadu ani nikde jinde
k nicemu nepouzivas hodnotu promenne Test
(protoze jestli jo, tak se neni cemu divit ani co resit
- jedine zpusob, jakym zjistujes, co ti ten program dela)
4. Metoda TxxxThread.Execute se ti ukonci.
5. VCL z procedury ThreadProc zavola automaticky Thread.Free,
cimz se vyvola destruktor TxxxThread.Destroy
6. Destruktor zavola inherited Destroy a to vyvola vyjimku
ERROR_INVALID_HANDLE (6)
***
Je to takhle spravne?
Kdyby to tak bylo, tak by ti to IMHO na zadnou chybu nepadalo.
Takze tam nekde musis delat neco nepristojneho ;-)
HTH, pf
ukoncovani threadu
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 19.9.2005 23:12:22
> Ja si treba nedovedu predstavit, jaky kod se muze skryvat za touhle
> vetou:
>
>> Ve FreeOnTerminate rezimu je proste na konci execute
>> rutiny volan destructor
>
> To tam mas opravdu neco takoveho :-OOO
>
to si ze me strilis? myslim to prece tak ze kdyz mam nastaven priznak
FreeOnTerminate tak se destruktor NE MNOU ale SAM vyvola preci.
ukoncovani threadu
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 19.9.2005 23:02:21
Vlastimil Burian wrote:
Aby tahle diskuse mela zrejme vubec nejaky smysl, tak
asi budes muset poslat svuj kod popr. vytvorit nejake strucne
demo, na kterem pujde tvuj problem zopakovat.
Ja si treba nedovedu predstavit, jaky kod se muze skryvat za touhle
vetou:
> Ve FreeOnTerminate rezimu je proste na konci execute
> rutiny volan destructor
To tam mas opravdu neco takoveho :-OOO
begin
...
self.Destroy;
end;
pf
ukoncovani threadu
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 19.9.2005 22:44:19
>> naopak ... vyjimka "Thread Error: Neplatny popisovac (6)" vznikala az
>> v destructoru vlakna pri volani zdedeneho destructoru - to prave
>> nechapu ...
>
> No ale vzdyt jsem ti to popsal: to co plati mezi radky 3 a 5 bude prece
> platit i mezi radky 5 a 6, ale samozrejme i 7 atd.
>
> Proste jakmile chces se threadem v rezimu FreeOnTerminate
> komunikovat PO JEHO SPUSTENI, MUSIS si zajistit, ze reference
> na jeho instanci je stale PLATNA.
> TECKA.
>
> To, ze se ti thread ukonci a automaticky uvolni tj. dealokuje pamet
> a zavre handle, ale ty na nej presto neopravnene zavolas Free/FreeAnNil
> a spustis tak jeho destruktor, ktery si z puvodne alokovane pameti
> vezme hodnotu jiz zavreneho handleru a preda ji jako argument
> do volani API funkce WaitForSingleObject je tim lepsim pripadem,
> jak takova fatalni chyba muze skoncit.
ja ted vazne nevim jestli jsi to spatne nepochopil - JA NA NEJ PRAVE NEVOLAL
FreeAndNil pokud byl ve FreeOnTerminate rezimu takze nejde o opakovane
ruseni cili jak popisujes logicky nasledovanou "chybnou referenci"! Ve
FreeOnTerminate rezimu je proste na konci execute rutiny volan destructor a
na jiz popsanem miste vznikne dana chyba.
(* jestli ti spatne rozumim tak se vazne omlouvam jen chci vyvratit moje
podezreni ze jsi to trosicku pochopil jinak nez to je - jestli tomu tak neni
neztrat nervy a trosku na me zpomal - v tech vlaknech se nepohybuju tak
dlouho *)
Zaokrouhlovani a editovani cisel
[*] John Bricklayer <bricklayer(zv)seznam(tec)cz> - 19.9.2005 21:26:13
Ja nevim, ale neni to tak davno co jsme tady zaoukrouhlovani probirali a dokonce na padesatniky. Pokud ti vyskoci takovy cislo, tak nejjednodussi ochrana je useknout na desetiny, nic jinyho te stejne nezajima, popr. zaokrouhlit na pade. Jen mi nedochazi jak jsi dostal to cislo, jestli zapisem do TEdit a potom ctenim a opetovnym zapisem z funkce, i kdyz takovy pripad nepresnosti se mi nestal ani pri obycejnym FloatToStr a obracene. Na bezproblemovy prevod na string pouzivam format fn, kde muzes presne definovat ze chces prevod do meny a jak.
Jo a jen tak na okraj existuje free komponenta NEdit ktera vse resi bez pomocnych funkci a umoznuje nastavovat rozsah hodnoty.
>Ahoj,
>
>hledal jsem v konferenci, ale nenasel.
>
>Prosim o informaci, jak resit praci s realnymi cisly resp. s
>jejich zobrazenim. Ve sve aplikaci vystavuji pokladni doklady s
>polozkami, jejichz cena muze nabyvat realnych hodnot. Cenu mohu
>editovat v TEditu. Tedy do TEditu zapisuji realne hodnoty. Jak
>resit pripady, kdy realne cislo je vyjadrene napriklad
>122,3000254?
>
>Dekuji.
>
>Milan Kotaska
>mkotaska(zv)post(tec)cz
>
>
>
ukoncovani threadu
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 19.9.2005 20:18:08
Vlastimil Burian wrote:
> naopak ... vyjimka "Thread Error: Neplatny popisovac (6)" vznikala az
> v destructoru vlakna pri volani zdedeneho destructoru - to prave
> nechapu ...
No ale vzdyt jsem ti to popsal: to co plati mezi radky 3 a 5 bude prece
platit i mezi radky 5 a 6, ale samozrejme i 7 atd.
Proste jakmile chces se threadem v rezimu FreeOnTerminate
komunikovat PO JEHO SPUSTENI, MUSIS si zajistit, ze reference
na jeho instanci je stale PLATNA.
TECKA.
***
To, ze se ti thread ukonci a automaticky uvolni tj. dealokuje pamet
a zavre handle, ale ty na nej presto neopravnene zavolas Free/FreeAnNil
a spustis tak jeho destruktor, ktery si z puvodne alokovane pameti
vezme hodnotu jiz zavreneho handleru a preda ji jako argument
do volani API funkce WaitForSingleObject je tim lepsim pripadem,
jak takova fatalni chyba muze skoncit.
HTH, pf
ukoncovani threadu
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 19.9.2005 19:56:07
> 1. Test := TxxxThread.Create(bCreateSuspended);
> 2. Test.FreeOnTerminate := TRUE;
> 3. Test.Resume;
> 4. ...
> 5. Test.StopCounting;
> 6. Test.WaitFor;
> 7. FreeAndNil(Test);
>
> Kdyz prikazem na radku 3 spustis podruzny thread
> a mas-li nastaveno FreeOnTerminate na TRUE,
> muze dojit k situaci, ze nez se hlavni thread dostane na radek 5,
> tak thread skonci a zavola automaticky destruktor tridy TxxxThread.
> A to i v pripade, ze radek 4 nebude obsahovat zadny prikaz.
> Ovsem pokud se to stanem, tak thread jiz neexistuje
> tj. jeho handle bylo zavreno a pamet dealokovana, ale promenna Test stale
> ukazuje do pameti, kde byl puvodne alokovan,
> ale jeji obsah je NEPLATNY !!!
>
> Jaky to bude mit dopad na chovani programu nelze predvidat, protoze
> zalezi
> jak a k cemu byl ten blok pameti puvodne
> zabrany instanci threadu pouzivan. Pokud nebyl, tak tam zustane nejaky
> posledni obraz stavu toho threadu a pak se to projevi treba tim Invalid
> Handle v pripade volani OS jak popisujes, jindy se to projevi ruznymi AV
> apod.
To se ale pokud vim netyka daneho problemu - vypocet trva tak dlouho dokud
ja nezavolam StopCounting (je casove limitovany - napr 60 sekund) - ale ja
aplikaci zamerne ukoncim drive tudiz i vlakno 100%-ne existuje a bezi,
referencni promenna Test obsahuje 100%-ne porad platny pointer. Navic neslo
o chybnou referenci promenne - naopak ... vyjimka "Thread Error: Neplatny
popisovac (6)" vznikala az v destructoru vlakna pri volani zdedeneho
destructoru - to prave nechapu ...
> Cili kdyz pouzivas FreeOnTerminate rezim a chces s tim threadem neco delat
> po jeho spusteni, musis si zajistit platnost promenne, kde si drzis
> pointer
> na jeho instanci.
>
> Toho lze docilit asi jen tak, ze tomu threadu priradis handler pro event
> OnTerminate a v ni si nastavis Test := nil; a u vsech referenci na thread
> budes dusledne pouzivat if Assigned(Test) then ...
>
> Ponekud komplikovane a neprehledne: ponauceni z toho by melo byt, ze mimo
> presne indikovane pripady neni duvod zachazet se threadem jinak nez s
> ostatnim prostredky jako jsou objekty, pametove bloky, soubory atd. tj.
> ridit jeho zivotni cyklus explicitne pomoci Vytvor / try-finally / Zrus.
>
> Mezi ta indikovana pouziti FreeOnterminate patri napr. obsluzne thready
> klientu na serverech, kdy jde v podstate jen o vytvareni vicenasobnych
> instanci teze tridy threadu, ktere zpravidla navzajem ani se svym
> rodicovskym threadem nekomunikuji.
Zaokrouhlovani a editovani cisel
[*] Ludek <konference(zv)sales(tec)cz> - 19.9.2005 18:31:57
----- Original Message -----
From: "Milan Kotaska" <mkotaska(zv)post(tec)cz>
> Prosim o informaci, jak resit praci s realnymi cisly resp. s
> jejich zobrazenim. Ve sve aplikaci vystavuji pokladni doklady s
> polozkami, jejichz cena muze nabyvat realnych hodnot. Cenu mohu
> editovat v TEditu. Tedy do TEditu zapisuji realne hodnoty. Jak
> resit pripady, kdy realne cislo je vyjadrene napriklad
> 122,3000254?
Ahoj,
Pokud jde o penize mrkni se na typ currency a vse okolo nej.
Ludek
Zaokrouhlovani a editovani cisel
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 19.9.2005 18:21:56
> Prosim o informaci, jak resit praci s realnymi cisly resp. s
> jejich zobrazenim. Ve sve aplikaci vystavuji pokladni doklady s
> polozkami, jejichz cena muze nabyvat realnych hodnot. Cenu mohu
> editovat v TEditu. Tedy do TEditu zapisuji realne hodnoty. Jak
> resit pripady, kdy realne cislo je vyjadrene napriklad
> 122,3000254?
no ja nevim jak ostatni ale ja z tveho popisu nechapu o cem vubec mluvis -
co ze mas za problem s temi cisly a TEditem?
ukoncovani threadu
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 19.9.2005 18:01:54
>> ve FormDestroy jsem se pokousel ukoncit bezici vlakno nasledovne
>> Test.StopCounting; // misto Terminate, nastavi priznak pro ukonceni
>> vypoctu
> A neni trochu zbytecne pridavat si vlastni priznak pro ukonceni vypoctu?
> Pokud vim tak procedura Terminate pouze nastavi priznak Terminated na
> ktery se musim stejne ptat pokud chci ukoncovat vse korektne. Jak jste
> psal drive tak tam mate cyklus repeat - until. Pokud tam neco takoveho mam
> tak pisu "until Terminated" pripadne dalsi podminky a nemam s tim zadne
> problemy.
jasne, ale ladil sem to kdyz jsem hledal pricinu vyjimek ... abych si byl
stoprocentne jisty ze ukonceni je volano z toho daneho mista odkud jsem
hledal pricinu ... jinak je to v tomhle pripade samozrejme zbytecne takze
jsem to po ladeni prepsal
Zaokrouhlovani a editovani cisel
[*] Milan Kotaska <mkotaska(zv)post(tec)cz> - 19.9.2005 17:07:30
Ahoj,
hledal jsem v konferenci, ale nenasel.
Prosim o informaci, jak resit praci s realnymi cisly resp. s
jejich zobrazenim. Ve sve aplikaci vystavuji pokladni doklady s
polozkami, jejichz cena muze nabyvat realnych hodnot. Cenu mohu
editovat v TEditu. Tedy do TEditu zapisuji realne hodnoty. Jak
resit pripady, kdy realne cislo je vyjadrene napriklad
122,3000254?
Dekuji.
Milan Kotaska
mkotaska(zv)post(tec)cz
JoyStick, gamepad
[*] Vaclav Sazima <vaclav.sazima(zv)utilia(tec)cz> - 19.9.2005 16:32:53
Ahoj,
staci pouzit joyGetPosEx z mmsystem, umi 32 tlacitek.
Vaclav Sazima
Venca Zaruba wrote:
> HI *,
> Potrebuji zjistit stisk tlacitek >4. Modifikoval jsem mmsystem.pas a JvJoystick.pas, ale utopil jsem se pri tom :-( Nemate to nekdo, moc a moc prosim, vyreseno (XP,D7P) ?
>
> Prijemny zbytek dne
> Vasek Zaruba
> 8^)
>
>
Out of resources
[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 19.9.2005 14:28:43
> >>Mel jsem podobny problem a zpusobovalo ho (kdoviproc) to, ze
> >>nektere formulare v aplikaci mely prirazenu vlastni oknu (stejnou jako
> >>cela aplikace). Pote, co jsem tyto ikony z formu dal pryc, se uz problem
> >>nikdy nevyskytl.
>
> Uplne vyradit ikony formularu nebo je pouze nenacitat za behu ale pouze
> nastavit v design time?
Ja jsem je vyradil uplne - v design-time. V runtime jsem ikony formu
nikdy nemenil. Nicmene i do toho design-time se ty ikony dostaly
nejakym omylem, asi to nekdo zkousel, ja je tam nechtel. Po delsi dobe
mi nekdo radil, at overim format ikony - pocet barev apod. - ale to uz
jsem neresil. Takze nevim, jestli mohla byt chyba v nevhodne zvolene
ikone. Bohuzel lip poradit neumim - je to z me strany jen namet, protoze
urcita podoba problemu tu je.
David Lebeda
Loadovani BLOBu v ASP.NET (C# )
[*] Miloslav Pojsl <pojslm(zv)elektlabs(tec)cz> - 19.9.2005 14:18:42
Zdravim vsechny,
prosim nevi nekdo, jakym zpusobem se dostat k datum ulozenych ve
FireBirdovske databazi ve forme BLOBu? Data maji znamou strukturu
(recordy vlozene v Delphi)
Diky za jakekoli podnety
--
Mgr. Miloslav Pojsl
programator
Elekt Labs s.r.o.
Chaloupky 158
783 72 Velky Tynec
Czech Republic
--------------------------------------------
Mobil: +420 608 764 585
icq: 225 269 146
e-mail:pojslm(zv)elektlabs(tec)cz
http://www.elektlabs(tec)cz
Nacteni a ulozeni property do .dfm
[*] Jiri Bouchala <bouchala(zv)starmon(tec)cz> - 19.9.2005 14:12:41
Napsal J. Bouchala
Konkretne potrebuji ulozit hodnoty vlastnosti (property) objektu me tridy odvozene primo od TPersistent. Tyto objekty vytvarim dynamicky za behu aplikace. Cim se spusti provedeni procedury DefineProperties? Pokud by slo o komponenty-vlastnene formularem doslo by patrne k ulozeni automaticky, alespon v dobe navrhu. Kde je ukryt mechanismus toho automatickeho ulozeni nemohu to dohledat. Je mi to nekdo schopen objasnit?
Pouzil jsem tutez tridu jako objektovou vlastnost komponenty a v tu chvili se vse ukladalo do souboru.dfm zcela bez problemu automaticky.
Define properties musis volat pokud vim pouze na nestandardni typy, u
standardnich zajistuje streaming automaticky Delphi pomoci RTTI. Vic o
tom nevim, ale nahledl bych do zdrojaku a hledal TReader, TWriter.
Jiri Bouchala napsal(a):
> Tridy odvozene od TPersistent umi ukladat hodnoty published property do streamu - .dfm. Jak to delaji?
> Pro ulozeni je nutne volat proceduru DefineProperties - virtual, kterou je nutne v potomku prepsat nebot je prazdna. Deje se to nekde na urovni objekt inspektoru? Nebo jak a kde mechanismus najdu? A tudiz ulozeni hodnoty property nastava jen v dobe navrhu nikoli pri zmene za behu?
______________________________________________________
Karel Kral, reditel IT / IT manager
PURUS-MEDA, s.r.o., Palackeho 174, 621 00 Brno, CZ
E-Mail: kral(zv)purusmeda(tec)cz
______________________________________________________
ukoncovani threadu
[*] Milan Kra'ta <krata.milan(zv)seznam(tec)cz> - 19.9.2005 14:02:40
> ve FormDestroy jsem se pokousel ukoncit bezici vlakno nasledovne
> Test.StopCounting; // misto Terminate, nastavi priznak pro ukonceni
> vypoctu
A neni trochu zbytecne pridavat si vlastni priznak pro ukonceni vypoctu? Pokud vim tak procedura Terminate pouze nastavi priznak Terminated na ktery se musim stejne ptat pokud chci ukoncovat vse korektne.
Jak jste psal drive tak tam mate cyklus repeat - until. Pokud tam neco takoveho mam tak pisu "until Terminated" pripadne dalsi podminky a nemam s tim zadne problemy.
Milan
Out of resources
[*] jsdelphi(zv)creatix(tec)cz - 19.9.2005 14:00:40
> Prosim o radu, jak mam ve velkem projektu s cca 150 formulari a
> spoustou z nich zdedenych zjistit, kde mam chybu, protoze obcas
> projekt spadne na:
>
> Graphics.OutOfResources
> Graphics.GDIError
> Graphics.GDICheck
> Graphics.ReadIcon
> Graphics.TIcon.HandleNeeded
> Graphics.TGraphic.LoadFromFile
>>Mel jsem podobny problem a zpusobovalo ho (kdoviproc) to, ze
>>nektere formulare v aplikaci mely prirazenu vlastni oknu (stejnou jako
>>cela aplikace). Pote, co jsem tyto ikony z formu dal pryc, se uz problem
>>nikdy nevyskytl.
Uplne vyradit ikony formularu nebo je pouze nenacitat za behu ale pouze
nastavit v design time?
Diky
Jan Skopovy
Nacteni a ulozeni property do .dfm
[*] Karel Kral <kralkonf(zv)purusmeda(tec)cz> - 19.9.2005 13:04:36
Define properties musis volat pokud vim pouze na nestandardni typy, u
standardnich zajistuje streaming automaticky Delphi pomoci RTTI. Vic o
tom nevim, ale nahledl bych do zdrojaku a hledal TReader, TWriter.
Jiri Bouchala napsal(a):
> Tridy odvozene od TPersistent umi ukladat hodnoty published property do streamu - .dfm. Jak to delaji?
> Pro ulozeni je nutne volat proceduru DefineProperties - virtual, kterou je nutne v potomku prepsat nebot je prazdna. Deje se to nekde na urovni objekt inspektoru? Nebo jak a kde mechanismus najdu? A tudiz ulozeni hodnoty property nastava jen v dobe navrhu nikoli pri zmene za behu?
>
>
>
>
>
>
>
--
______________________________________________________
Karel Kral, reditel IT / IT manager
PURUS-MEDA, s.r.o., Palackeho 174, 621 00 Brno, CZ
E-Mail: kral(zv)purusmeda(tec)cz
______________________________________________________
Out of resources
[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 19.9.2005 12:30:33
> Prosim o radu, jak mam ve velkem projektu s cca 150 formulari a spoustou z
> nich zdedenych zjistit, kde mam chybu, protoze obcas projekt spadne na:
>
> Graphics.OutOfResources
> Graphics.GDIError
> Graphics.GDICheck
> Graphics.ReadIcon
> Graphics.TIcon.HandleNeeded
> Graphics.TGraphic.LoadFromFile
Asi moc neporadim, ale...
mel jsem podobny problem a zpusobovalo ho (kdoviproc) to, ze
nektere formulare v aplikaci mely prirazenu vlastni oknu (stejnou jako
cela aplikace). Pote, co jsem tyto ikony z formu dal pryc, se uz problem
nikdy nevyskytl.
David Lebeda
Out of resources
[*] jsdelphi(zv)creatix(tec)cz - 19.9.2005 12:12:32
Prosim o radu, jak mam ve velkem projektu s cca 150 formulari a spoustou z
nich zdedenych zjistit, kde mam chybu, protoze obcas projekt spadne na:
Graphics.OutOfResources
Graphics.GDIError
Graphics.GDICheck
Graphics.ReadIcon
Graphics.TIcon.HandleNeeded
Graphics.TGraphic.LoadFromFile
Nevim, jak mam sledovat "used resources" a "free resources", abych zjistil
pripadne chybne uvolnovani pameti.
Diky za kazdou radu
Jan Skopovy
CREATIX s.r.o.
tel/fax: +420 222 564 426
mobil: +420 776 097 202
email: js(zv)creatix(tec)cz
www.creatix(tec)cz
JoyStick, gamepad
[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 19.9.2005 11:46:30
Ahoj,
nepomohlo by koupit a nainstalovat nejaky USB gamepad, ktery umi tech
tlacitek vic, nez standardni 4 na joyportu?
Peca
Extended MAPI
[*] m.mrazik <m.mrazik(zv)stonline.sk> - 19.9.2005 11:40:29
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Jan Fiala
>Pokud tam bude k dispozici nejaky jiny program, ktery Extended MAPI
podporuje...
OK prave to je to ze moj program pouziva Extended MAPI funkcie. Pri
prihlaseni sa mi to ale zahlasi ze Extended mapi nie je nainstalovane a
doporucuje mi nainstalovat MS Outlook.
Preto neviem ci je treba nejaku kniznicu, alebo je to nieco ako MDAC ze sa
to musi dodatocne nainstalovat.
Mam WXP SP2.
Simple MAPI ide bez problemov.
Diky Miro
JoyStick, gamepad
[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 19.9.2005 11:26:26
HI *,
Potrebuji zjistit stisk tlacitek >4. Modifikoval jsem mmsystem.pas a JvJoystick.pas, ale utopil jsem se pri tom :-( Nemate to nekdo, moc a moc prosim, vyreseno (XP,D7P) ?
Prijemny zbytek dne
Vasek Zaruba
8^)
ukoncovani threadu
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 19.9.2005 10:28:20
Vlastimil Burian wrote:
> ... jeste vetsim prekvapenim bylo jednoduche
> reseni odstranit priznak FreeOnTerminate
Ono to taky jednoduche je, jen si musis uvedomit,
ze spustenim podruzneho threadu sis vypustil z lahve gina
jmenem "paralelismus" a tudiz budes muset zmenit svuj dosavadni zpusob
mysleni: je to jako kdyz se clovek ozeni,
tak taky musi zacit brat ohledy na ostatni,
jinak spatne dopadne ;-)
Mejme nasledujici priklad a opomenme,
ze prikazy nejsou atomicke - na podstatu problemu
to nema zadny:
1. Test := TxxxThread.Create(bCreateSuspended);
2. Test.FreeOnTerminate := TRUE;
3. Test.Resume;
4. ...
5. Test.StopCounting;
6. Test.WaitFor;
7. FreeAndNil(Test);
Kdyz prikazem na radku 3 spustis podruzny thread
a mas-li nastaveno FreeOnTerminate na TRUE,
muze dojit k situaci, ze nez se hlavni thread dostane na radek 5,
tak thread skonci a zavola automaticky destruktor tridy TxxxThread.
A to i v pripade, ze radek 4 nebude obsahovat zadny prikaz.
Ovsem pokud se to stanem, tak thread jiz neexistuje
tj. jeho handle bylo zavreno a pamet dealokovana, ale promenna Test stale
ukazuje do pameti, kde byl puvodne alokovan,
ale jeji obsah je NEPLATNY !!!
Jaky to bude mit dopad na chovani programu nelze predvidat, protoze zalezi
jak a k cemu byl ten blok pameti puvodne
zabrany instanci threadu pouzivan. Pokud nebyl, tak tam zustane nejaky
posledni obraz stavu toho threadu a pak se to projevi treba tim Invalid
Handle v pripade volani OS jak popisujes, jindy se to projevi ruznymi AV
apod.
***
Cili kdyz pouzivas FreeOnTerminate rezim a chces s tim threadem neco delat
po jeho spusteni, musis si zajistit platnost promenne, kde si drzis pointer
na jeho instanci.
Toho lze docilit asi jen tak, ze tomu threadu priradis handler pro event
OnTerminate a v ni si nastavis Test := nil; a u vsech referenci na thread
budes dusledne pouzivat if Assigned(Test) then ...
Ponekud komplikovane a neprehledne: ponauceni z toho by melo byt, ze mimo
presne indikovane pripady neni duvod zachazet se threadem jinak nez s
ostatnim prostredky jako jsou objekty, pametove bloky, soubory atd. tj.
ridit jeho zivotni cyklus explicitne pomoci Vytvor / try-finally / Zrus.
Mezi ta indikovana pouziti FreeOnterminate patri napr. obsluzne thready
klientu na serverech, kdy jde v podstate jen o vytvareni vicenasobnych
instanci teze tridy threadu, ktere zpravidla navzajem ani se svym
rodicovskym threadem nekomunikuji.
HTH, pf
Firebird Server konfigurace
[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 19.9.2005 09:42:16
Ahoj,
petr palicka napsal(a):
> Ahoj,
>
> pro embeded FB musi byt cesta lokalni. embeded vubec neumi site.
jasne, ty jsi chtel "normalni" server. Takze:
> celym jmenem a plnou cestou (?10.0.0.1//var/fbdata/data.gdb?)?
ma byt: 10.0.0.1:/var/fbdata/data.gdb
proste IP:<lokalni_cesta_na_serveru>
Peca
Funkce v Sinea 2
[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 19.9.2005 09:40:16
Aho,j
MaReK Penguin Olsavsky napsal(a):
> Pozor, ono je na vstupu ale opravdu integer, ne string a konvertit to v
> programu si myslim mi vygeneruje zbytecny krok navic... :-(
v progamu nic nemen. Zkus jen upravit tu funkci v Sinee.
Peca
Funkce v Sinea 2
[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 19.9.2005 09:38:16
> From: MaReK Penguin Olsavsky
>
> Problem stoji takto
> - mam ciselnou hodnotu na pozici #19
> - kdyz je tato hodnota nenulova, tak ji potrebuji vytisknout, kdyz je
> nulova, tak tisknout nic (proste prazdny znak)
> funkce by mela podle mne vypadat takto:
> IFF(#19<>0,#19,'')
> Kdyz ji zadam jako retezcovou(podle mne by se melo jednat o navratovy
> typ, ... nezobrazi se mi nic.
> Kdyz ji zadam jako ciselnou, ve tvaru IFF(#19<>0,#19,), tak mi v
nulovem
> pripade tu nulu zobrazuje... :-(
To je v poradku. Pokud ma funkce vracet prazdny retezec, musi byt
deklarovana jako retezcova. Vysledkem ciselne funkce nemuze byt prazdny
retezec, ale cislo a tim je spravne 0.
Obe varianty:
IFF(#19<>0,#19,'')
IFF(#19<>'' AND #19<>'0',#19,'')
Jsou pripustne a davaji spravny vysledek. Druha varianta je ale omezena
pouze na cela cisla, nerespektuje mozne zapisy 0,00 ...
> jen si nejsem jist, jestli bych nemel prekonvertit cislo na retezec
> a nevidel jsem konverzni fci v dokumentaci),
Konverze typu se v jednoduchych pripadech (jako je tento) provadi
automaticky. Ve slozitejsich pripadech, kdy se jedna nekolikanasobna
vnoreni, je mozne pouzit vynucenou konverzi typu pomoci vestavenych
funkci STRTONUM a NUMTOSTR.
Vaclav Krmela
Funkce v Sinea 2
[*] MaReK Penguin Olsavsky <orsm(zv)centrum(tec)cz> - 19.9.2005 09:34:15
petr palicka napsal(a):
> ahoj,
>
> pokud definujes funkci jako retezcovou, pak zkus spise:
>
> IFF ( #19<>'' and #19<>'0' , #19 , '' )
>
> Peca
Pozor, ono je na vstupu ale opravdu integer, ne string a konvertit to v
programu si myslim mi vygeneruje zbytecny krok navic... :-(
--
- --
MaReK "Penguin" Olsavsky
PHP Voodoo
private mail: orsm(zv)centrum(tec)cz
private web: http://orsm.wz(tec)cz
ICQ#: 160 178 925; MSN: orsm(zv)centrum(tec)cz; Skype: Penguin_007
tel.: +420-603-519-650; +420-775-154-689 (775-1-LINUX)
Firebird Server konfigurace
[*] Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 19.9.2005 09:26:14
MaReK Penguin Olsavsky napsal(a):
> Dobry den,
>resim ted portaci jedne mensi aplikace z dbase na FirebirdSQL (data moc
>bobtnala a stav uz byl neudrzitelne pomaly). Potreboval bych vedet, jak
>je to se zadanim cest pri pouziti FbSQL. Pri pouziti embedded verze je
>to jasne, ale pri pouziti normalniho serveru mam mensi nejasnosti.
>Prepnu na patricnou knihovnu a nastavim prislusny server (at uz jmenem,
>nebo IP adresou), potrebuji jeste nastavit cestu, otazka je jak. Jestli
>ji jen urcit lokalne na serveru (napriklad /var/fbdata/data.gdb), nebo
>celym jmenem a plnou cestou (?10.0.0.1//var/fbdata/data.gdb?)?
>Eventualita na Win server je nabiledni.
> S pozdravem a diky
> MaReK Olsavsky
>
>
>
Napis to trebas 192.168.1.1:c:\data\data.gdb
Tom
p.s. pokud pouzivas nestandardni port tak za IPcko jeste cislo portu.
Firebird Server konfigurace
[*] horky(zv)cominn(tec)cz - 19.9.2005 09:22:14
> From: MaReK Penguin Olsavsky [mailto:orsm(zv)centrum(tec)cz]
> Sent: Monday, September 19, 2005 8:34 AM
> jak je to se zadanim cest pri pouziti FbSQL. Pri pouziti embedded
> verze je to jasne, ale pri pouziti normalniho serveru mam mensi nejasnosti.
Mame nekolik instalaci, kde se pripojujeme z Win stanice na Firebird bezici na Linux. serveru. V tomto pripade pristupu ze vzdalene stanice plnime property DatabaseName uplnou cestou, tj. vcetne IP adresy:
"10.0.0.1//var/fbdata/data.gdb"
--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP2
[mailto:horky(zv)cominn(tec)cz]
Nacteni a ulozeni property do .dfm
[*] Jiri Bouchala <bouchala(zv)starmon(tec)cz> - 19.9.2005 09:16:13
Tridy odvozene od TPersistent umi ukladat hodnoty published property do streamu - .dfm. Jak to delaji?
Pro ulozeni je nutne volat proceduru DefineProperties - virtual, kterou je nutne v potomku prepsat nebot je prazdna. Deje se to nekde na urovni objekt inspektoru? Nebo jak a kde mechanismus najdu? A tudiz ulozeni hodnoty property nastava jen v dobe navrhu nikoli pri zmene za behu?
Funkce v Sinea 2
[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 19.9.2005 09:00:12
ahoj,
pokud definujes funkci jako retezcovou, pak zkus spise:
IFF ( #19<>'' and #19<>'0' , #19 , '' )
Peca
Funkce v Sinea 2
[*] MaReK Penguin Olsavsky <orsm(zv)centrum(tec)cz> - 19.9.2005 08:54:11
Dobry den,
muj boj s Sinea pokracuje, uz sice vim, co musim udelat, abych patricne
vyfiltroval vystup na papir, ale potykam se jeste s jednim mensim
problemem. Protoze mame Siney verze 5, nemame k dispozici podminene
formatovani a musim pouzit funkce. Problem stoji takto
- mam ciselnou hodnotu na pozici #19
- kdyz je tato hodnota nenulova, tak ji potrebuji vytisknout, kdyz je
nulova, tak tisknout nic (proste prazdny znak)
funkce by mela podle mne vypadat takto:
IFF(#19<>0,#19,'')
Kdyz ji zadam jako retezcovou(podle mne by se melo jednat o navratovy
typ, jen si nejsem jist, jestli bych nemel prekonvertit cislo na retezec
a nevidel jsem konverzni fci v dokumentaci), nezobrazi se mi nic.
Kdyz ji zadam jako ciselnou, ve tvaru IFF(#19<>0,#19,), tak mi v nulovem
pripade tu nulu zobrazuje... :-(
Je nejaky recept, ktery nevidim?
Dekuji
MaReK Olsavsky
--
- --
MaReK "Penguin" Olsavsky
PHP Voodoo
private mail: orsm(zv)centrum(tec)cz
private web: http://orsm.wz(tec)cz
ICQ#: 160 178 925; MSN: orsm(zv)centrum(tec)cz; Skype: Penguin_007
tel.: +420-603-519-650; +420-775-154-689 (775-1-LINUX)
Firebird Server konfigurace
[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 19.9.2005 08:42:09
Ahoj,
pro embeded FB musi byt cesta lokalni. embeded vubec neumi site.
Peca
Firebird Server konfigurace
[*] MaReK Penguin Olsavsky <orsm(zv)centrum(tec)cz> - 19.9.2005 08:34:05
Dobry den,
resim ted portaci jedne mensi aplikace z dbase na FirebirdSQL (data moc
bobtnala a stav uz byl neudrzitelne pomaly). Potreboval bych vedet, jak
je to se zadanim cest pri pouziti FbSQL. Pri pouziti embedded verze je
to jasne, ale pri pouziti normalniho serveru mam mensi nejasnosti.
Prepnu na patricnou knihovnu a nastavim prislusny server (at uz jmenem,
nebo IP adresou), potrebuji jeste nastavit cestu, otazka je jak. Jestli
ji jen urcit lokalne na serveru (napriklad /var/fbdata/data.gdb), nebo
celym jmenem a plnou cestou (?10.0.0.1//var/fbdata/data.gdb?)?
Eventualita na Win server je nabiledni.
S pozdravem a diky
MaReK Olsavsky
--
- --
MaReK "Penguin" Olsavsky
PHP Voodoo
private mail: orsm(zv)centrum(tec)cz
private web: http://orsm.wz(tec)cz
ICQ#: 160 178 925; MSN: orsm(zv)centrum(tec)cz; Skype: Penguin_007
tel.: +420-603-519-650; +420-775-154-689 (775-1-LINUX)
Extended MAPI
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 19.9.2005 05:33:45
18.9.2005 m.mrazik:
> Je mozne pouzit funkcie Extended MAPI aj v pripade ak nie je v PC
> nainstalovany MS Outlook.
Pokud tam bude k dispozici nejaky jiny program, ktery Extended MAPI
podporuje...
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
URL escape sekvence
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 19.9.2005 05:33:45
19.9.2005 Vlastimil Burian:
> Pri komunikaci s PHP skripty pres Synapse se mi vyskytl mensi zadrhel ... a
> to ze potrebuju aby vsechny znaky jine nez angl. abeceda byly v escape
> sekvencich (pro nazornost: mezera = %20) ... je v Delphi 7 Ent, JCL 1.95
> nebo Synapse nejaka funkce ktera se o to postara? zatim jsem nouzove napsal
> fci na prevod mezer a nekolika znaku ale uz v zacatku vidim ze to neni vubec
> dobre reseni ...
if Chr(znak) > 127 then Result := '%' + IntToHex(Znak, 2);
Jinak v Synapse v Synacode.PAS je napr. funkce
EncodeURL(text)
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
URL escape sekvence
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 19.9.2005 01:39:28
Pri komunikaci s PHP skripty pres Synapse se mi vyskytl mensi zadrhel ... a
to ze potrebuju aby vsechny znaky jine nez angl. abeceda byly v escape
sekvencich (pro nazornost: mezera = %20) ... je v Delphi 7 Ent, JCL 1.95
nebo Synapse nejaka funkce ktera se o to postara? zatim jsem nouzove napsal
fci na prevod mezer a nekolika znaku ale uz v zacatku vidim ze to neni vubec
dobre reseni ...
Extended MAPI
[*] m.mrazik <m.mrazik(zv)stonline.sk> - 18.9.2005 22:29:13
Je mozne pouzit funkcie Extended MAPI aj v pripade ak nie je v PC
nainstalovany MS Outlook.
Diky
Miro
ukoncovani threadu
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 18.9.2005 16:34:44
jen abych objasnil ty chyby EAccesViolation o nichz jsem psal vcera tak ty
vznikaly pri nepouziti Test.WaitFor - v rutine Execute se na konci posila
zprava hlavnimu formulari jenze to jelikoz necekalo na ukonceni teto rutiny
se vetsinou stihlo zrusit a proto vznikala chyba pristupu
ukoncovani threadu
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 18.9.2005 15:48:41
ve FormDestroy jsem se pokousel ukoncit bezici vlakno nasledovne
Test.StopCounting; // misto Terminate, nastavi priznak pro ukonceni
vypoctu
Test.WaitFor; // hlavni vlakno ceka dokud vlakno -Test- nedokonci
Execute rutinu
FreeAndNil(Test); // nakonec uvolneni vlakna - destructor vlakna je jiz
skutecne volan
nejprve jsem vynechal zaverecne uvolneni FreeAndNil jelikoz jsem mel
nastaven priznak FreeOnTerminate a tudiz jsem OCEKAVAL ze po ukonceni
Execute (hlavni vlakno ceka) bude volan destructor - do toho se sice vleze
ale na inherited Destroy; se vzdy vyvola "Thread Error: Neplatny
popisovac (6)" ... jeste vetsim prekvapenim bylo jednoduche reseni odstranit
priznak FreeOnTerminate a nechat zavolani destructoru na FreeAndNil z
hlavniho vlakna (viz vyse) - tam je jiz volan destructor bez jakehokoliv
problemu - mohl bys mi Petre prosim vysvetlit proc doslo k teto na prvni
pohled pro me divne situaci? jedine oduvodneni ktere me napada je fakt ze
kdyz uvolneni (FreeAndNil) volam z hlavniho vlakna tak hlavni vlakno stale
existuje a ceka nez se uvolni thread vypoctu ... zatimco kdyz to necham na
vnitrnim mechanismu samotneho vlakna tak je mozne ze se hlavni vlakno
mezitim jiz samo zrusi a s nim i VCL - rozumim tomu dobre nebo jsem vedle?
docela rad bych toto pochopil
ukoncovani threadu
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 18.9.2005 02:07:42
Vlastimil Burian wrote:
> zajimave ... cili jestlize ja se nepostaram o ukonceni vlaken pred
> ukoncenim aplikace samotne pak jsou terminovana na urovni systemu (?)
Obecne plati, ze OS zrusi vsechny thready, pokud se z nektereho z nich
zavola ExitProcess a nebo nouzove TerminateProcess.
Takze zalezi na tom, jestli tvoje aplikace dobehne az k tomu
ExitProcess, ktere je na samem konci procedury _Halt0
tj. uplne na samem konci programu.
Ve vazbe na thready bude zalezet hlavne na tom, jak s nimi pracujes,
protoze v TThread.Destroy se na neukonceny thread vola
Terminate (+ Resume na suspended) + WaitFor a pokud thread
na Terminate nereaguje, bude hlavni thread cekat bez timetou na
jeho ukonceni.
Takze kdyz budes napr. explicitne ridit zivotni cyklus threadu
a treba v OnDestroy hlavniho formu udelas Thread.Free
a ten thread se Terminate z nejakeho duvodu neukonci tj. nevrati
se z metody Execute, tak to zustane "viset".
Naopak, kdyz napr. pouzijes thread v rezimu FreeOnTerminate=TRUE
a nikde po ceste pri ukoncovani aplikace nebudes volat Thread.Free,
(a tim ani Terminate), tak hlavni thread dobehne do procedury Halt
a tam zavola ExitProcess.
No a OS na to konto zrusi vsechny thready, ovsem uz se nebudou volat
zadne VCL destruktory, ale pouze si OS uklidi tj. uvolni pamet, pozavira
handlery atd. VCL Framework tou dobou uz neexistuje.
HTH, pf
ukoncovani threadu
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 18.9.2005 00:57:37
> AFAIK tak zadny: kdyz spustis thread, tak woknum reknes, aby spustili
> obycejnou proceduru ThreadProc a predas ji pointer na instanci TThread.
> Uvnitr te procedury se spusti tvoje metoda Execute a pokud ji neukoncis,
> tak thread neskonci.
>
> VCL nikde neudrzuje zadny seznam spustenych threadu a ani nikde
> nezajistuje
> (nema jak), aby se ty thready ukoncily.
zajimave ... cili jestlize ja se nepostaram o ukonceni vlaken pred ukoncenim
aplikace samotne pak jsou terminovana na urovni systemu (?)> Podle toho jak to popisujes me napadlo, ze tak by se mohl chovat thread,
> ktery vlastne nebyl nikdy spusten, ale jehoz kod v metode Execute bezi
> v kontextu hlavniho threadu, k cemuz nestastne pojmenovani metod
> u TThread casto svadi.
>
> Nevypada nahodou tvuj kod takhle:
>
> Thread := TxxxxThread.Create(...);
> Thread.Execute;
>
> misto spravneho
>
> Thread := TxxxxThread.Create(...);
> Thread.Resume;
vlakno neni suspendovano ... je vytvoreno s CreateSuspended False, pokusim
se situaci trochu vic prozkoumat - mam tu same chaoticke a zdanlive
bezduvodne vyvolane chyby ktere se navic objevi jen zridka a ne vzdy na
stejnem miste - to se tyka pripadu kdy se pokousim vlakno osobne terminovat
.... pote napisu nejake presnejsi informace abychom nehledali jehlu v kupce
sena
ukoncovani threadu
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 18.9.2005 00:31:35
Vlastimil Burian wrote:
> Je tu nekdo dostatecne zkuseny aby mi mohl situaci objasnit? Tedy
> jaky ma vztah terminace aplikace k terminaci bezicich vlaken.
AFAIK tak zadny: kdyz spustis thread, tak woknum reknes, aby spustili
obycejnou proceduru ThreadProc a predas ji pointer na instanci TThread.
Uvnitr te procedury se spusti tvoje metoda Execute a pokud ji neukoncis,
tak thread neskonci.
VCL nikde neudrzuje zadny seznam spustenych threadu a ani nikde nezajistuje
(nema jak), aby se ty thready ukoncily.
***
Podle toho jak to popisujes me napadlo, ze tak by se mohl chovat thread,
ktery vlastne nebyl nikdy spusten, ale jehoz kod v metode Execute bezi
v kontextu hlavniho threadu, k cemuz nestastne pojmenovani metod
u TThread casto svadi.
Nevypada nahodou tvuj kod takhle:
Thread := TxxxxThread.Create(...);
Thread.Execute;
misto spravneho
Thread := TxxxxThread.Create(...);
Thread.Resume;
HTH, pf
ukoncovani threadu
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 18.9.2005 00:11:33
> vlakna a ma byt nasledne proveden destructor ... ovsem kdyz jsem to zkusil
> tak pri pristupu ve FormClose skoncim na EAccesViolation ... takze vlakno
> dokonce jiz v tuto chvili neni pristupne. Jde mi z toho hlava kolem.
nerad mystifikuji - prave jsem zjistil ze vlakno pristupne je, ale po tom
pristupu se dana EAccesViolation vyhodi v jedne unite ze Synapse ktera se
ale v dane casti kodu vubec nepouzila - co nejdrive se pokusim situaci
objasnit abych neuvadel nepresne informace
ukoncovani threadu
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 17.9.2005 23:59:32
>> nezastavi v destruktoru (ten sam vola jen ten zdedeny, zadne
> Zalezi na tom, jak ma thread nastaveno FreeOnTerminate
samozrejme, FreeOnTerminate mam nastaveno ... pri klasickem ukonceni
provadeni vlakna je pochopitelne destructor volan ... ale kdyz ukoncim
aplikaci pred dokoncenim behu vlakna tak se aplikace okamzite ukonci a bez
jakychkoliv problemu (jak nekdo popisoval zamrznuti - nic podobneho...). V
aplikacich ktere pouzivaji vlakna jsem nikdy nenechal uzivatele ukoncit
aplikaci jen tak pri behu vlaken a vse pred ukoncenim aplikace radne
uklidil - u teto jednoduche aplikace se to ale vylozene hodi ... ovsem
nechapu co se deje pri ukoncovani takove aplikace - [TThread].Terminate
volano automaticky ocividne neni jelikoz prave tato rutina nastavuje prom
Terminated ... predpokladal jsem ze to ciste muzu udelat tak ze do
[TMainForm].[OnClose] dam proste [TThread].StopCounting pricemz tato
metoda ma ve vlakne zpusobit radne ukonceni vypoctu .. tim tedy provadeni
vlakna a ma byt nasledne proveden destructor ... ovsem kdyz jsem to zkusil
tak pri pristupu ve FormClose skoncim na EAccesViolation ... takze vlakno
dokonce jiz v tuto chvili neni pristupne. Jde mi z toho hlava kolem.
Je tu nekdo dostatecne zkuseny aby mi mohl situaci objasnit? Tedy jaky ma
vztah terminace aplikace k terminaci bezicich vlaken. Moc dekuji za odpoved.
ukoncovani threadu
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 17.9.2005 21:55:23
Vlastimil Burian wrote:
> nezastavi v destruktoru (ten sam vola jen ten zdedeny, zadne
Zalezi na tom, jak ma thread nastaveno FreeOnTerminate:
Jestli je TRUE, tak se po ukonceni metody Execute destruktor zavola
automaticky, pokud FALSE, tak je na tobe, abys thread zrusil tj. zavolal
Free/FreeAndNil. A pak se ti destruktor zavola taky.
> ukoncovani app nezabere - tohle uz nechapu ... kdyz je aplikace
> ukoncovana tak neni Terminated threadu true nebo co?
Pokud ho sam nenastavis, tak to nikdo za tebe neudela.
HTH, pf
ukoncovani threadu
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 17.9.2005 19:25:13
no ja to prave krokuju a hledam co se deje pri ukoncovani aplikace - ten
thread je velice jednoduchy - v Execute je prakticky jen repeat cyklus ...
co me zarazi je fakt ze pri ukoncovani aplikace breakpoint nezastavi v
destruktoru (ten sam vola jen ten zdedeny, zadne uvolnovani neni potreba ale
stejne) - zkousel jsem dat do toho cyklu if Terminated then begin ...
ale v nem mi breakpoint taky pri ukoncovani app nezabere - tohle uz nechapu
... kdyz je aplikace ukoncovana tak neni Terminated threadu true nebo co?> No me se stavalo ze progr.zamrzl a neodpovidal dokud thread nedokoncil
> praci a ptoto jsem do vnitrku doplnil na ruzna mista podminku :
> If Terminated Then Exit;
>
> a pri ukoncovani programu felam nasledujici kroky
>
> Thread.Terminate;
> Thread.WaitFor;
> FreeAndNil(Thread);
>
> Zda se mi to ciste a muzu takto ukoncit thread kdykoliv potrebuji
ukoncovani threadu
[*] Milan Kra'ta <krata.milan(zv)seznam(tec)cz> - 17.9.2005 18:35:09
>v aplikaci vytvorim thread, bezi - neco pocita, uzivatel ale behem vypoctu
> muze aplikaci behem normalne zavrit - napada me - nemam se starat o ukonceni
> ci uvolneni beziciho vlakna nebo je korektni to nechat na systemu ??
>
No me se stavalo ze progr.zamrzl a neodpovidal dokud thread nedokoncil praci a ptoto jsem do vnitrku doplnil na ruzna mista podminku :
If Terminated Then Exit;
a pri ukoncovani programu felam nasledujici kroky
Thread.Terminate;
Thread.WaitFor;
FreeAndNil(Thread);
Zda se mi to ciste a muzu takto ukoncit thread kdykoliv potrebuji
Milan
ukoncovani threadu
[*] Bc. Jiri Cincura <diskuze(zv)cincura(tec)net> - 17.9.2005 17:21:01
Vlastimil Burian wrote:
> v aplikaci vytvorim thread, bezi - neco pocita, uzivatel ale behem vypoctu
> muze aplikaci behem normalne zavrit - napada me - nemam se starat o ukonceni
> ci uvolneni beziciho vlakna nebo je korektni to nechat na systemu ??
No thread by mel testovat vlastnost Terminated a kdyztak se hned ukoncit.
--
Bc. Jiri Cincura
http://www.ID3renamer.com/
http://www.x2develop.com/
ICQ: 314711544 | Yahoo!: x2develop
http://photo.cincura.net/
ukoncovani threadu
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 17.9.2005 13:56:47
v aplikaci vytvorim thread, bezi - neco pocita, uzivatel ale behem vypoctu
muze aplikaci behem normalne zavrit - napada me - nemam se starat o ukonceni
ci uvolneni beziciho vlakna nebo je korektni to nechat na systemu ??
Nelze smazat slozku
[*] Jan Naiser <tua(zv)wo(tec)cz> - 17.9.2005 12:12:40
>> Pokud pouziju pouze fci DeleteFile(FName), je vse vporadku a pomoci napr.
>> RmDir(Tmp) slozku smazu.
>> Pokud ale pouziju k vyhledani souboru FindFirst a v cyklu mazu soubory
>> pomoci DeleteFile, tak uz slozku nesmazu i kdyz je prazdna. Zahlasi mi to
>> IOError 32 - sharing violation - "proces nema pristup k souboru, nebot
>> jej
>> prave vyuziva jiny proces." :-( A nesmazu ji, dokud neukoncim aplikaci.
>
>> Samozrejme, ze to obejdu pomoci napr. DeleteDirectory z jcl, ale proc se
>> to
>> tak chova?
>
> Zkus poslat zdrojak. Volas po ukonceni vyhledavani souboru FindClose?
>
Hmm, to bylo ono. Nemel jsem tam FindClose. Na W9X to fungovalo, tak mi ani
nedoslo, ze by tam melo byt.
Diky, Honza.
Nelze smazat slozku
[*] Tomas Juricek <krusty(zv)razdva(tec)cz> - 17.9.2005 08:14:21
> Pokud pouziju pouze fci DeleteFile(FName), je vse vporadku a pomoci napr.
> RmDir(Tmp) slozku smazu.
> Pokud ale pouziju k vyhledani souboru FindFirst a v cyklu mazu soubory
> pomoci DeleteFile, tak uz slozku nesmazu i kdyz je prazdna. Zahlasi mi to
> IOError 32 - sharing violation - "proces nema pristup k souboru, nebot jej
> prave vyuziva jiny proces." :-( A nesmazu ji, dokud neukoncim aplikaci.
> Samozrejme, ze to obejdu pomoci napr. DeleteDirectory z jcl, ale proc se to
> tak chova?
Zkus poslat zdrojak. Volas po ukonceni vyhledavani souboru FindClose?
Tomas Juricek
Jak najit v registrech SMTP Server
[*] delphi(zv)kopr(tec)cz - 17.9.2005 08:16:21
Zdravim,
v registrech potrebuji najit SMTP Server. Outlook Express ma tento udaj v
...Accounts - ConnectionSettingsMigrated = 00000001 an na adrese
Accounts/00000001/SMTP Server najdu co potrebuji.
Ale v Outlook 2003 je tento udaj ulozeny ne jako string ale jako char a dale
nevim kde je ulozeny ten ConnectionSettingsMigrated = 564687321321.
Muze mi nekdo pomoci jak na Outlook 2003 zjistit SMTP Server
Diky Pavel ZIDEK
Nelze smazat slozku
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 17.9.2005 08:14:21
Jan Naiser wrote:
> Pokud ale pouziju k vyhledani souboru FindFirst a v cyklu mazu soubory
Predpokladam, ze tam mas FindClose...
pf
Nelze smazat slozku
[*] Jan Naiser <tua(zv)wo(tec)cz> - 17.9.2005 01:43:54
>> To jsem zkousel jako prvni. Ale i kdyz jsem v jine slozce, tak to system
>> drzi a nepusti. Ani zvenku se to neda smazat. :-(
>
> Myslim, ze i vlakno ma svuj aktualni adresar. Jinde by snad problem
> byt nemel. Pokud je ta slozka skutecne prazdna a neni vyuzivana zadnou
> aplikaci, system ti ji dovoli smazat.
> Pokud slozku zkusis vymazat pomoci WinAPI, ziskas chybovy kod, ktery by ti
> mohl napovedet vice.
Tak jsem to znovu otestoval. Vytvoril jsem si jednoduchy programek na 2
tlacitka Vytvor a Smaz. Vytvorim slozku, vygeneruju do ni soubor, pote
soubor smazu a smazu i vytvorenou slozku.
Pokud pouziju pouze fci DeleteFile(FName), je vse vporadku a pomoci napr.
RmDir(Tmp) slozku smazu.
Pokud ale pouziju k vyhledani souboru FindFirst a v cyklu mazu soubory
pomoci DeleteFile, tak uz slozku nesmazu i kdyz je prazdna. Zahlasi mi to
IOError 32 - sharing violation - "proces nema pristup k souboru, nebot jej
prave vyuziva jiny proces." :-( A nesmazu ji, dokud neukoncim aplikaci.
Samozrejme, ze to obejdu pomoci napr. DeleteDirectory z jcl, ale proc se to
tak chova?
Honza.
zdrojak z TWebBrowser - vyreseno
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 16.9.2005 21:33:35
Byt jsem dalsi komponenty nechtel instalovat, nahodil jsem Synapse, v
archivu jsem dohledal potrebnou rutinu - HttpGetText z unity httpsend.> pachtim se s problemem kdy komunikuju s PHP skripty pomoci komponenty
> TWebBrowser.Navigate ... hezky to sice funguje ale skript mi pri chybe
> vrati
> cisty text (jedno slovo) a ja nemuzu dojit na to jak ho z TWebBrowser
> dostat
> ??? nechapu co prehlizim ale vazne to nevidim
> nebo mi muzete klidne poradit jinou komponentu pokud mate zkusenost s
> necim
> jinym ale aby to bylo standardne v Delphi 7 Enterprise nebo JCL 1.95, nove
> na tohle nechci
sifrovani retezce
[*] lelicek(zv)volny(tec)cz - 16.9.2005 16:35:15
Ahoj,
to je prekvapive moc dobry napad a vetsina systemu je vytvorena
prave takto. Bezpecnost tohoto systemu ulozeni hesla je mnohem
vyssi nez kryptovaneho hesla (zejmena proti obsluze systemu). Pro
dosazeni jeste vyssi urovne se doporucuje do hash vlozit jeste
nejakou dalsi, jedinecnou cast. Duvod je ten, pokud ma nekdo stejny
hash hesla jako ty tak znas jeho heslo. Pouziva se zejmena tam kde
je maly prostor hesel napr. oblibene PIN k platebni karte.
Pavel
Od: "Vlastimil Burian" <vlastax.b(zv)seznam(tec)cz>
> to je jasne ale toto vazne neni dobry napad si myslim ...
> dekuji MaRKovi za
> odkaz na DCPcrypt - prave jsem se s tim seznamil a je to skvele
> - funguje
> presne tak jak potrebuji a obsahuje vlastne vsechna pouzivana
> sifrovani/hashovani takze co si vic prat, doporucuji
>
> > Otazka je, zda skutecne to musi byt vratne. Uzivatel si
> > vymysli heslo, ty
> > muzes ulozit jeho hash.
> > Pri prihlasovani pak uzivatel zadat heslo, spocitas hash,
> > porovnas s tim
> > ulozenym... Je pravda, ze
> > teoreticky se tak da prihlasit i s jinym heslem, ktere ma
> > stejny hash, ale
> > trefit ho...
> > Karel Rys
nacteni resource pro urcitou komponentu
[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 16.9.2005 15:39:10
> Muj problem je asi v tom, ze jsem si na zacatku myslel, ze je
> to jednoducha otazka ;-)
> Proste potrebuji vyresit to, ze kdyz si uzivatel vybere
> nemcinu, tak aby se Label1.Caption zmenil na 'Gutten Tag' a
> vsechno ostatni zustalo jak je. OK?
Lutujem, nenapada ma ziadne jednoduche riesenie.
Okrem toho, ospravedlnujem sa za mylne informacie, natiahnutie resource DLL
nesposobuje zrusenie a znovuvytvorenie komponent.
TOndrej
zdrojak z TWebBrowser
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 16.9.2005 15:17:09
pachtim se s problemem kdy komunikuju s PHP skripty pomoci komponenty
TWebBrowser.Navigate ... hezky to sice funguje ale skript mi pri chybe vrati
cisty text (jedno slovo) a ja nemuzu dojit na to jak ho z TWebBrowser dostat
??? nechapu co prehlizim ale vazne to nevidim
nebo mi muzete klidne poradit jinou komponentu pokud mate zkusenost s necim
jinym ale aby to bylo standardne v Delphi 7 Enterprise nebo JCL 1.95, nove
na tohle nechci
nacteni resource pro urcitou komponentu
[*] David Liska <davidliska.konf(zv)seznam(tec)cz> - 16.9.2005 14:29:03
> Napriek tomu, nie je mi zatial celkom jasne, v com spociva
> Tvoj problem.
>
Muj problem je asi v tom, ze jsem si na zacatku myslel, ze je to jednoducha
otazka ;-)
Proste potrebuji vyresit to, ze kdyz si uzivatel vybere nemcinu, tak aby se
Label1.Caption zmenil na 'Gutten Tag' a vsechno ostatni zustalo jak je. OK?
David Liska
nacteni resource pro urcitou komponentu
[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 16.9.2005 13:41:00
> Neni to uplne jedno. Ta lokalizace se muze zmenit az po vytvoreni a
> zinicializovani formulare. Na tomto formulari mas za runtime vytvoreny
> nejake dalsi prvky atd. Kdyz v tomto momentu uzivatel zmeni
> tu lokalizaci (resource), nemuzu si dovolit recreate celeho formu.
> Zmizely by ty runtime prvky, atd. Pak tady mas datamodul na ktery se
> linkuji vsechny vytvoreneformy. Ten taky nemuzes jen tak zrusit.
> To uz by bylo na restart aplikace a to nechci.
Myslel som, ze sa jedna o standardnu lokalizaciu z resource DLL ako je to
popisane v dokumentacii Delphi, a v tom pripade myslim nastane zrusenie a
znovuvytvorenie vsetkych komponent, tusim okrem rootu.
V kazdom pripade, co sa v aplikacii deje, je pod Tvojou kontrolou, takze
preco by mal byt problem po nacitani nejakeho resource bud priamo z EXE
alebo z externej DLL si hodnoty prave nacitanych vlastnosti niekam ulozit.
Ak tam mas prvky vytvorene neskor v runtime asi nie je az taky problem
vytvorit ich potom v runtime znova?
> Moje myslenka je, ze prolezu vsechny komponenty, ktere neco
> zobrazuji a jen tem nastavim spravny Caption z lokalizacniho
> resource. Nasel jsem TReader.ReadRootComponent. Pomoci tohoto dokazu
> znovu nacist resource, ale jen pro cely form. Neprisel jsem na to,
> jak precist data jen pro urcite komponenty.
To urcite nebude jednoduche - komponenty na formulari/frame atd. mozu byt
rozne prepojene a zavisle medzi sebou navzajom a tiez s prvkami na inych
formularoch, takze je dost problem nacitat to inak nez vsetko v presne
definovanom poradi, ako to robi TReader.
Napriek tomu, nie je mi zatial celkom jasne, v com spociva Tvoj problem.
HTH
TOndrej
nacteni resource pro urcitou komponentu
[*] David Liska <davidliska.konf(zv)seznam(tec)cz> - 16.9.2005 13:02:57
>
> To je jedno, hie? ;-) Hned po nacitani z resource su hodnoty
> rovnake ako v resource.
>
Neni to uplne jedno. Ta lokalizace se muze zmenit az po vytvoreni a
zinicializovani formulare. Na tomto formulari mas za runtime vytvoreny
nejake dalsi prvky atd. Kdyz v tomto momentu uzivatel zmeni tu lokalizaci
(resource), nemuzu si dovolit recreate celeho formu. Zmizely by ty runtime
prvky, atd. Pak tady mas datamodul na ktery se linkuji vsechny vytvorene
formy. Ten taky nemuzes jen tak zrusit. To uz by bylo na restart aplikace a
to nechci.
Moje myslenka je, ze prolezu vsechny komponenty, ktere neco zobrazuji a jen
tem nastavim spravny Caption z lokalizacniho resource. Nasel jsem
TReader.ReadRootComponent. Pomoci tohoto dokazu znovu nacist resource, ale
jen pro cely form. Neprisel jsem na to, jak precist data jen pro urcite
komponenty.
David Liska
nacteni resource pro urcitou komponentu
[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 16.9.2005 11:42:51
> Ano, runtime...
> Potrebuji cist opravdu z resource, protoze ten se muze za
> behu zmenit (ruzne lokalizace).
To je jedno, hie? ;-) Hned po nacitani z resource su hodnoty rovnake ako v
resource.
HTH
TOndrej
nacteni resource pro urcitou komponentu
[*] David Liska <davidliska.konf(zv)seznam(tec)cz> - 16.9.2005 11:34:49
> > formulari? Napriklad mam na formulari nejaky Label a chtel bych
> > zjistit jeho Caption ulozeny v resource.
>
> Predpokladam, ze sa jedna o runtime...
> Precitaj si to hned po vytvoreni formulara (OnCreate), vtedy
> su vsetky komponenty v stave zodpovedajucom tomu, co je
> ulozene v .dfm resource.
>
Ano, runtime...
Potrebuji cist opravdu z resource, protoze ten se muze za behu zmenit (ruzne
lokalizace).
David
nacteni resource pro urcitou komponentu
[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 16.9.2005 10:50:46
> nevedel byste nekdo, jak nacist resource pro urcitou komponentu na
> formulari? Napriklad mam na formulari nejaky Label a chtel
> bych zjistit jeho Caption ulozeny v resource.
Predpokladam, ze sa jedna o runtime...
Precitaj si to hned po vytvoreni formulara (OnCreate), vtedy su vsetky
komponenty v stave zodpovedajucom tomu, co je ulozene v .dfm resource.
HTH
TOndrej
XPManifest - odstraneni
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 16.9.2005 10:42:45
je potreba odstranit unitu XPMan z uses ... komponenta sama nema zadnou
funkci, pokud budes chtit pouzit XP styl staci pridat do programu tuto unitu
(pro prehlednost do hlavniho formulare nejspis)
> Dobry den,
> (Delphi 7; Windows XP profesional)
>
> Zkousel jsem jaky vzhled bude mit moje aplikace v XP stylu polozil jsem
> komponentu XPManifest na formular, vzhled mi nevyhovoval, tak jsem
> komponentu odstranil, jenze XP styl zustaval a nedari se mi ho odstranit.
> (po kompilaci je stale na konci exe souboru manifest :-( )
> Smazal jsem vsechny pomocne soubory ( *.cfg; *.dof; *.dsk; *.res; *.dpp;
> *.dcu) a zustaly jen soubory *.dfm a *.pas a *.dpr. presto styl XP
> nezmizel.....
XPManifest - odstraneni
[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 16.9.2005 10:30:44
nezustal v uses?
Martin
> Zkousel jsem jaky vzhled bude mit moje aplikace v XP stylu polozil jsem
> komponentu XPManifest na formular, vzhled mi nevyhovoval, tak jsem
> komponentu odstranil, jenze XP styl zustaval a nedari se mi ho odstranit.
> (po kompilaci je stale na konci exe souboru manifest :-( )
> Smazal jsem vsechny pomocne soubory ( *.cfg; *.dof; *.dsk; *.res; *.dpp;
> *.dcu) a zustaly jen soubory *.dfm a *.pas a *.dpr. presto styl XP
> nezmizel.....
>
> Nevite, jak je mozne styl XP odstranit?
XPManifest - odstraneni
[*] Ing. Antonin Spurny <spurny(zv)kavlounky(tec)cz> - 16.9.2005 10:26:44
Dobry den,
(Delphi 7; Windows XP profesional)
Zkousel jsem jaky vzhled bude mit moje aplikace v XP stylu polozil jsem
komponentu XPManifest na formular, vzhled mi nevyhovoval, tak jsem
komponentu odstranil, jenze XP styl zustaval a nedari se mi ho odstranit.
(po kompilaci je stale na konci exe souboru manifest :-( )
Smazal jsem vsechny pomocne soubory ( *.cfg; *.dof; *.dsk; *.res; *.dpp;
*.dcu) a zustaly jen soubory *.dfm a *.pas a *.dpr. presto styl XP
nezmizel.....
Nevite, jak je mozne styl XP odstranit?
A. Spurny
Jakou komponentu pro proxy server
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 16.9.2005 10:08:40
> Dobry den, snazim se vytvorit HTTP proxy server a zajimalo by me ktere
> sitove komponenty by byly asi nejvhodnejsi. Nebo jestli nekdo vite o
> jiz existujicim projektu, tak dejte vedet.
V Synapsi dokonce mas HTTP proxy jako demoaplikaci.
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
http://www.ararat(tec)cz/synapse/ - Ararat Synapse - TCP/IP Lib.
nacteni resource pro urcitou komponentu
[*] David Liska <davidliska.konf(zv)seznam(tec)cz> - 16.9.2005 10:02:40
Ahoj,
nevedel byste nekdo, jak nacist resource pro urcitou komponentu na
formulari? Napriklad mam na formulari nejaky Label a chtel bych zjistit jeho
Caption ulozeny v resource.
Diky, David
Nelze smazat slozku
[*] Tomas Juricek <krusty(zv)razdva(tec)cz> - 16.9.2005 07:18:20
> To jsem zkousel jako prvni. Ale i kdyz jsem v jine slozce, tak to system
> drzi a nepusti. Ani zvenku se to neda smazat. :-(
Myslim, ze i vlakno ma svuj aktualni adresar. Jinde by snad problem
byt nemel. Pokud je ta slozka skutecne prazdna a neni vyuzivana zadnou
aplikaci, system ti ji dovoli smazat.
Pokud slozku zkusis vymazat pomoci WinAPI, ziskas chybovy kod, ktery by ti mohl napovedet vice.
Tomas Juricek
Jakou komponentu pro proxy server
[*] Petr Reichl <p.reichl(zv)gmail(tec)com> - 16.9.2005 06:46:16
http://www.indyproject.org/
On 16/09/05, Roman Kubin <r.kubin(zv)jcee(tec)cz> wrote:
> Dobry den, snazim se vytvorit HTTP proxy server a zajimalo by me ktere
> sitove komponenty by byly asi nejvhodnejsi. Nebo jestli nekdo vite o jiz
> existujicim projektu, tak dejte vedet.
>
> Diky
>
> Roman Kubin
>
>
>
>
Jakou komponentu pro proxy server
[*] Roman Kubin <r.kubin(zv)jcee(tec)cz> - 16.9.2005 06:28:13
Dobry den, snazim se vytvorit HTTP proxy server a zajimalo by me ktere
sitove komponenty by byly asi nejvhodnejsi. Nebo jestli nekdo vite o jiz
existujicim projektu, tak dejte vedet.
Diky
Roman Kubin
Nelze smazat slozku
[*] Tomas Juricek <krusty(zv)razdva(tec)cz> - 15.9.2005 19:11:25
> To jsem zkousel jako prvni. Ale i kdyz jsem v jine slozce, tak to system
> drzi a nepusti. Ani zvenku se to neda smazat. :-(
Myslim, ze i vlakno ma svuj aktualni adresar. Jinde by snad problem
byt nemel. Pokud je ta slozka skutecne prazdna a neni vyuzivana zadnou
aplikaci, system ti ji dovoli smazat.
Pokud slozku zkusis vymazat pomoci WinAPI, ziskas chybovy kod, ktery by ti mohl napovedet vice.
Tomas Juricek
Nelze smazat slozku
[*] Jan Naiser <tua(zv)wo(tec)cz> - 15.9.2005 19:01:24
>> v konferenci se to uz probiralo, ale odpoved jsem nenasel.
>> Pokud vytvorim nejakou slozku za behu aplikace a zapisuji a mazu v ni
>> soubory, ktere posleze odstranim, nelze ji smazat. Pod Win98 ano, pod Win
>> NT
>> (W2k, WXP) ne, dokud neni program ukoncen.
>> Existuje nejake reseni?
>
> Problem by mohl byt v nastaveni aktualniho adresare aplikace. Pokud je
> nastaven na tu nove vytvorenou slozku, nemuzes ji smazat.
To jsem zkousel jako prvni. Ale i kdyz jsem v jine slozce, tak to system
drzi a nepusti. Ani zvenku se to neda smazat. :-(
Honza.
Localhost - Prilis mnoho uzivatelu
[*] mkajnar(zv)mikesoft(tec)cz - 15.9.2005 18:57:23
Moznost samozrejme existuje. Jedna se o nejaky Patch v registrech... Bohuzel jsem zapomnel, kde ho najit... pouzij Google...
"Petr Reichl" <p.reichl(zv)gmail.com>napsal:
__________
>Nevim jestli mate IIS na Windows Server nebo to co je soucasi verze
>Profesional. Ta v Profesional je limitovana na urcity pocet spojeni
>(myslim, ze 5) a pokud vim neni moznost jak tohle obejit. Pokud ano,
>rad se poucim.
>
>On 15/09/05, Bc. Jiri Cincura <diskuze(zv)cincura.net> wrote:
>> Stranik Frantisek Ing. wrote:
>> > Zdravim a prosim o radu:
>> > V dotnet aplikaci mi najednou localhost hlasi nasledujici chybu:
>> >
>> >
>> > HTTP 403.9 - Pristup zakazan: Prilis mnoho uzivatelu - Internetova informacni sluzba
>> >
>> > V cem je chyba, co s tim ?
>> >
>> > Diky
>> > F.Stranik
>> >
>> >
>> >
>>
>> IIS ma nastaven limit a ten je prekrocen. Resenim je ho bud zvysit, nebo
>> zjistit proc tam tolik useru je.
>>
>> --
>> Bc. Jiri Cincura
>> http://www.ID3renamer.com/
>> http://www.x2develop.com/
>> ICQ: 314711544 | Yahoo!: x2develop
>> http://photo.cincura.net/
>>
>>
>>
>
Nelze smazat slozku
[*] Tomas Juricek <krusty(zv)razdva(tec)cz> - 15.9.2005 18:51:23
> v konferenci se to uz probiralo, ale odpoved jsem nenasel.
> Pokud vytvorim nejakou slozku za behu aplikace a zapisuji a mazu v ni
> soubory, ktere posleze odstranim, nelze ji smazat. Pod Win98 ano, pod Win NT
> (W2k, WXP) ne, dokud neni program ukoncen.
> Existuje nejake reseni?
Problem by mohl byt v nastaveni aktualniho adresare aplikace. Pokud je
nastaven na tu nove vytvorenou slozku, nemuzes ji smazat.
Tomas Juricek
Btrieve - prace s daty
[*] Antonin Rezac <rezac(zv)apls(tec)cz> - 15.9.2005 16:17:12
Pokud mas jen datove soubory a neznas presnou strukturu zaznamu, jses celkem
nahrany, neb btr datovy soubor nenese informaci o strukture - zaznam jse
ulozen jen jako pole bytu. Zjistis z neho pouze delku zaznamu a definici
klicu (pozice+typ+..)
Vojta
> dostal jsem sw Harpagon Magic, ktery pracuje s DB Btrieve a mam za ukol
> vytahnout z jeho zdrojovych *.btr souboru nejaka data - zbozi, ceny,
> stavy skladu atd.
>
> Ktere komponenty pouzivate na praci s Btrieve?
> Jak se da zorientovat v datech? Docetl jsem se, ze by k tomu mely byt
> DDF (Data Definition File)
> soubory, ale ta instalace Harp. Magicu zadne neobsahuje.
> Dokazu rozlustit strukturu dat i bez nich? Dokaze to nejaka komponenta
> rozpoznat a zobrazit?
Nelze smazat slozku
[*] Jan Naiser <tua(zv)wo(tec)cz> - 15.9.2005 14:43:04
Preji pekny den,
(D6, WXPProf)
v konferenci se to uz probiralo, ale odpoved jsem nenasel.
Pokud vytvorim nejakou slozku za behu aplikace a zapisuji a mazu v ni
soubory, ktere posleze odstranim, nelze ji smazat. Pod Win98 ano, pod Win NT
(W2k, WXP) ne, dokud neni program ukoncen.
Existuje nejake reseni?
Diky, Honza.
Localhost - Prilis mnoho uzivatelu
[*] Petr Reichl <p.reichl(zv)gmail(tec)com> - 15.9.2005 15:15:07
Nevim jestli mate IIS na Windows Server nebo to co je soucasi verze
Profesional. Ta v Profesional je limitovana na urcity pocet spojeni
(myslim, ze 5) a pokud vim neni moznost jak tohle obejit. Pokud ano,
rad se poucim.
On 15/09/05, Bc. Jiri Cincura <diskuze(zv)cincura.net> wrote:
> Stranik Frantisek Ing. wrote:
> > Zdravim a prosim o radu:
> > V dotnet aplikaci mi najednou localhost hlasi nasledujici chybu:
> >
> >
> > HTTP 403.9 - Pristup zakazan: Prilis mnoho uzivatelu - Internetova informacni sluzba
> >
> > V cem je chyba, co s tim ?
> >
> > Diky
> > F.Stranik
> >
> >
> >
>
> IIS ma nastaven limit a ten je prekrocen. Resenim je ho bud zvysit, nebo
> zjistit proc tam tolik useru je.
>
> --
> Bc. Jiri Cincura
> http://www.ID3renamer.com/
> http://www.x2develop.com/
> ICQ: 314711544 | Yahoo!: x2develop
> http://photo.cincura.net/
>
>
>
RELDP, sifrovani, kde delam chybu
[*] Jaromir Cermak <cermak(zv)procom(tec)cz> - 15.9.2005 14:59:05
Prevzal jsem komplet tvuj postup a vysledek stale stejny. Sprava nejde Desifrovat Pro kontrolu pouzivam ladici verzi MRP, ktera mi chodi. Dokonce jsem instaloval certifikaty od MRP a porad totez. Nemuze byt nejaky problem v TXMLDocumentu, nebo ve verzi CAPICOM, MAM TO NA VWINDOWS XP. CAPICOM 2.x.
Jaromir Cermak
-----Original Message-----
From: Milan Tomes [mailto:delphi(zv)haida(tec)cz]
Ja to delam takto a bez problemu mi to PVS prijima:
var
i: Integer;
TmpNode: IXMLNode;
RootElement: IXMLNode;
XML: IXMLDocument;
XMLLength: Cardinal;
Store: IStore;
Certificates: ICertificates2;
Certificate: ICertificate;
Sign: ISignedData;
Signer: ISigner;
SignerAA: IAttribute;
Str: string;
Envelope: IEnvelopedData;
begin
{$IFDEF DEBUG}
FSignerCertificateStoreName := 'My';
FEncryptCertificateStoreName := 'AddressBook';
FSignerCertificateSubject := 'Test Uzivatel';
FEncryptCertificateSubject := 'cssz.dis.gov(tec)cz';
{$ENDIF}
XML := RELDPMessageData; //Vygeneruje vlastni data RELDP
XMLLength := Length(XML.XML.Text);
CoCreateInstance(CLASS_Store, nil, CLSCTX_INPROC_SERVER, IID_IStore,
Store);
try
Store.Open(CAPICOM_CURRENT_USER_STORE, SignerCertificateStoreName,
CAPICOM_STORE_OPEN_READ_ONLY);
Certificates := (Store.Certificates as
ICertificates2).Find(CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME,
SignerCertificateSubject, false);
case Certificates.Count of
0: raise ERELDPError.Create('Nebyl nalezen podepisovaci certifikat s
predmetem ' + SignerCertificateSubject + ' !!!');
1: Certificate := IDispatch(TVarData(Certificates.Item[1]).VDispatch)
as ICertificate;
else
try
Certificates := Certificates.Select('Vyberte certifikat', 'Vyberte
certifikat pro podepsani datove vety RELDP', false);
Certificate := IDispatch(TVarData(Certificates.Item[1]).VDispatch)
as ICertificate;
except
on e: EOleException do
raise ERELDPError.Create('Nebyl vybran podepisovaci certifikat
!!!');
end;
end;
CoCreateInstance(CLASS_SignedData, nil, CLSCTX_INPROC_SERVER,
IID_ISignedData, Sign);
try
CoCreateInstance(CLASS_Signer, nil, CLSCTX_INPROC_SERVER, IID_ISigner,
Signer);
try
CoCreateInstance(CLASS_Attribute, nil, CLSCTX_INPROC_SERVER,
IID_IAttribute, SignerAA);
try
SignerAA.Name := CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME;
SignerAA.Value := Now;
Signer.Certificate := Certificate;
Signer.AuthenticatedAttributes.Add(SignerAA);
if XMLEncoding = xmleUTF8 then
Sign.Content := XMLStringToWideString(XML.XML.Text)
else
Sign.Content := XML.XML.Text;
Str := Sign.Sign(Signer, true, CAPICOM_ENCODE_BASE64);
RootElement.ChildNodes.FindNode('Header').ChildNodes.FindNode('Signature').N
odeValue := Str;
finally
SignerAA := nil;
end;
finally
Signer := nil;
end;
finally
Sign := nil;
end;
Store.Open(CAPICOM_CURRENT_USER_STORE, EncryptCertificateStoreName,
CAPICOM_STORE_OPEN_READ_ONLY);
Certificates := (Store.Certificates as
ICertificates2).Find(CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME,
EncryptCertificateSubject, false);
case Certificates.Count of
0: raise ERELDPError.Create('Nebyl nalezen sifrovaci certifikat s
predmetem ' + EncryptCertificateSubject + ' !!!');
1: Certificate := IDispatch(TVarData(Certificates.Item[1]).VDispatch)
as ICertificate;
else
try
Certificates := Certificates.Select('Vyberte certifikat', 'Vyberte
certifikat pro zasifrovani datove vety RELDP', false);
Certificate := IDispatch(TVarData(Certificates.Item[1]).VDispatch)
as ICertificate;
except
on e: EOleException do
raise ERELDPError.Create('Nebyl vybran sifrovaci certifikat !!!');
end;
end;
CoCreateInstance(CLASS_EnvelopedData, nil, CLSCTX_INPROC_SERVER,
IID_IEnvelopedData, Envelope);
try
if XMLEncoding = xmleUTF8 then
Envelope.Content := XMLStringToWideString(XML.XML.Text)
else
Envelope.Content := XML.XML.Text;
Envelope.Algorithm.Name := CAPICOM_ENCRYPTION_ALGORITHM_3DES;
Envelope.Algorithm.KeyLength := CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM;
Envelope.Recipients.Add(Certificate);
Str := Envelope.Encrypt(CAPICOM_ENCODE_BASE64);
RootElement.ChildNodes.FindNode('Body').NodeValue := Str;
finally
Envelope := nil;
end;
finally
Store := nil;
end;
end;
FB - nutnost pravidelne restartovat server?
[*] Jan Naiser <tua(zv)wo(tec)cz> - 15.9.2005 14:43:03
Preji pekny den,
bezi mi par aplikaci na serveru Firebird 1.5, vetsinou na Linuxu. Stalo se
asi 2x cca 1x za 3-4 mesice, ze nektery FB na serveru vytuhl a bylo treba
jej restartnout. V teto souvislosti jsem se setkal s nazorem nekterych
adminu, kteri veskere bezici SQL servery (sluzby) kazdou noc restartuji.
Nemyslim si (zatim), ze by to bylo az tak casto potreba.
Proto se ptam: jake jsou vase zkusenosti, popr. praxe a je-li opravdu nutne
po nejakem case FB restartnout?
Diky, Honza.
DB master-detail
[*] Jan Sebelik <honza(zv)haes(tec)cz> - 15.9.2005 14:29:02
> 15.9.2005 Pavel Troubil:
> > mam zacatecnicky problem. Obe databaze
> > jsou vytvoreny jako Paradox 7 programem Databaze desktop.
> > ...
Odpoved jsi dostal, takze asi neni co resit.
Pokud si ale chces usetrit "zacatecnicke problemy", neopakuj to martyrium, ktere museli podstoupit "stari psi", kdyz v Delphi nic jineho nez Paradox a BDE nebylo.
VYHNI SE PARADOXU, VYHNI SE BDE.
Duvody tady byly diskutivany mnohokrat - nutnost instalce BDE, nestabilita atd. atd.
Na opravdu malou "evidenci" muzes pouzit TClientDataSet a SaveToFile, pak je tu MS Access (.mdb soubory) a ADO komponenty, pak spousta "malych" SQL databazi.
Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
= tel. 493 792 569, 493 792 931, 776 347 735
====================================
Localhost - Prilis mnoho uzivatelu
[*] Bc. Jiri Cincura <diskuze(zv)cincura(tec)net> - 15.9.2005 13:28:56
Stranik Frantisek Ing. wrote:
> Zdravim a prosim o radu:
> V dotnet aplikaci mi najednou localhost hlasi nasledujici chybu:
>
>
> HTTP 403.9 - Pristup zakazan: Prilis mnoho uzivatelu - Internetova informacni sluzba
>
> V cem je chyba, co s tim ?
>
> Diky
> F.Stranik
>
>
>
IIS ma nastaven limit a ten je prekrocen. Resenim je ho bud zvysit, nebo
zjistit proc tam tolik useru je.
--
Bc. Jiri Cincura
http://www.ID3renamer.com/
http://www.x2develop.com/
ICQ: 314711544 | Yahoo!: x2develop
http://photo.cincura.net/
DB master-detail
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 15.9.2005 13:04:54
15.9.2005 Pavel Troubil:
> Zdravim konferenci,
> mam zacatecnicky problem. Vytvarim malou databazi uvedeneho typu:
> master : klienti, detail: seance. Jsou spojeny pres id klienta (id
> je autoinkrementalni) v seance je polozka I (integer). Obe databaze
> jsou vytvoreny jako Paradox 7 programem Databaze desktop. V obou DB
> jsou polozky Poznamka (je to Memo). Na formulari s tim mam spojeny komponenty TDBMemo.
> Problem:
> V mastr DB mohu memo editovat, ale v detail DB pri opusteni okna
> memo vyskoci vyjimka s hlasenim "index is read only".
Zrejme neni index u tabulky vytvoren jako "MANAGED" - udrzovany
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
Localhost - Prilis mnoho uzivatelu
[*] Stranik Frantisek Ing. <fstranik(zv)cpoj(tec)cz> - 15.9.2005 13:00:54
Zdravim a prosim o radu:
V dotnet aplikaci mi najednou localhost hlasi nasledujici chybu:
HTTP 403.9 - Pristup zakazan: Prilis mnoho uzivatelu - Internetova informacni sluzba
V cem je chyba, co s tim ?
Diky
F.Stranik
RELDP, sifrovani, kde delam chybu
[*] Milan Tomes <delphi(zv)haida(tec)cz> - 15.9.2005 11:12:36
Podivej se do unity XMLDoc. Interne vola funkci UTF8Decode z unity System.
S pozdravem
Milan Tomes
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Jaromir Cermak
> Sent: Thursday, September 15, 2005 11:05 AM
>
> Co presne dela ta funkce XMLStringToWideString
DB master-detail
[*] Pavel Troubil <mechzk(zv)cbeng(tec)cz> - 15.9.2005 11:10:36
Zdravim konferenci,
mam zacatecnicky problem. Vytvarim malou databazi uvedeneho typu: master : klienti, detail: seance. Jsou spojeny pres id klienta (id je autoinkrementalni) v seance je polozka I (integer). Obe databaze jsou vytvoreny jako Paradox 7 programem Databaze desktop. V obou DB jsou polozky Poznamka (je to Memo). Na formulari s tim mam spojeny komponenty TDBMemo.
Problem:
V mastr DB mohu memo editovat, ale v detail DB pri opusteni okna memo vyskoci vyjimka s hlasenim "index is read only".
Nevim co s tim. Prosim poradte.
Pavel
D6, W2000
RELDP, sifrovani, kde delam chybu
[*] Jaromir Cermak <cermak(zv)procom(tec)cz> - 15.9.2005 11:04:35
Co presne dela ta funkce XMLStringToWideString
Jaromir Cermak
-----Original Message-----
From: Milan Tomes [mailto:delphi(zv)haida(tec)cz]
Ja to delam takto a bez problemu mi to PVS prijima:
var
i: Integer;
TmpNode: IXMLNode;
RootElement: IXMLNode;
XML: IXMLDocument;
XMLLength: Cardinal;
Store: IStore;
Certificates: ICertificates2;
Certificate: ICertificate;
Sign: ISignedData;
Signer: ISigner;
SignerAA: IAttribute;
Str: string;
Envelope: IEnvelopedData;
begin
{$IFDEF DEBUG}
FSignerCertificateStoreName := 'My';
FEncryptCertificateStoreName := 'AddressBook';
FSignerCertificateSubject := 'Test Uzivatel';
FEncryptCertificateSubject := 'cssz.dis.gov(tec)cz';
{$ENDIF}
XML := RELDPMessageData; //Vygeneruje vlastni data RELDP
XMLLength := Length(XML.XML.Text);
CoCreateInstance(CLASS_Store, nil, CLSCTX_INPROC_SERVER, IID_IStore,
Store);
try
Store.Open(CAPICOM_CURRENT_USER_STORE, SignerCertificateStoreName,
CAPICOM_STORE_OPEN_READ_ONLY);
Certificates := (Store.Certificates as
ICertificates2).Find(CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME,
SignerCertificateSubject, false);
case Certificates.Count of
0: raise ERELDPError.Create('Nebyl nalezen podepisovaci certifikat s
predmetem ' + SignerCertificateSubject + ' !!!');
1: Certificate := IDispatch(TVarData(Certificates.Item[1]).VDispatch)
as ICertificate;
else
try
Certificates := Certificates.Select('Vyberte certifikat', 'Vyberte
certifikat pro podepsani datove vety RELDP', false);
Certificate := IDispatch(TVarData(Certificates.Item[1]).VDispatch)
as ICertificate;
except
on e: EOleException do
raise ERELDPError.Create('Nebyl vybran podepisovaci certifikat
!!!');
end;
end;
CoCreateInstance(CLASS_SignedData, nil, CLSCTX_INPROC_SERVER,
IID_ISignedData, Sign);
try
CoCreateInstance(CLASS_Signer, nil, CLSCTX_INPROC_SERVER, IID_ISigner,
Signer);
try
CoCreateInstance(CLASS_Attribute, nil, CLSCTX_INPROC_SERVER,
IID_IAttribute, SignerAA);
try
SignerAA.Name := CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME;
SignerAA.Value := Now;
Signer.Certificate := Certificate;
Signer.AuthenticatedAttributes.Add(SignerAA);
if XMLEncoding = xmleUTF8 then
Sign.Content := XMLStringToWideString(XML.XML.Text)
else
Sign.Content := XML.XML.Text;
Str := Sign.Sign(Signer, true, CAPICOM_ENCODE_BASE64);
RootElement.ChildNodes.FindNode('Header').ChildNodes.FindNode('Signature').N
odeValue := Str;
finally
SignerAA := nil;
end;
finally
Signer := nil;
end;
finally
Sign := nil;
end;
Store.Open(CAPICOM_CURRENT_USER_STORE, EncryptCertificateStoreName,
CAPICOM_STORE_OPEN_READ_ONLY);
Certificates := (Store.Certificates as
ICertificates2).Find(CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME,
EncryptCertificateSubject, false);
case Certificates.Count of
0: raise ERELDPError.Create('Nebyl nalezen sifrovaci certifikat s
predmetem ' + EncryptCertificateSubject + ' !!!');
1: Certificate := IDispatch(TVarData(Certificates.Item[1]).VDispatch)
as ICertificate;
else
try
Certificates := Certificates.Select('Vyberte certifikat', 'Vyberte
certifikat pro zasifrovani datove vety RELDP', false);
Certificate := IDispatch(TVarData(Certificates.Item[1]).VDispatch)
as ICertificate;
except
on e: EOleException do
raise ERELDPError.Create('Nebyl vybran sifrovaci certifikat !!!');
end;
end;
CoCreateInstance(CLASS_EnvelopedData, nil, CLSCTX_INPROC_SERVER,
IID_IEnvelopedData, Envelope);
try
if XMLEncoding = xmleUTF8 then
Envelope.Content := XMLStringToWideString(XML.XML.Text)
else
Envelope.Content := XML.XML.Text;
Envelope.Algorithm.Name := CAPICOM_ENCRYPTION_ALGORITHM_3DES;
Envelope.Algorithm.KeyLength := CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM;
Envelope.Recipients.Add(Certificate);
Str := Envelope.Encrypt(CAPICOM_ENCODE_BASE64);
RootElement.ChildNodes.FindNode('Body').NodeValue := Str;
finally
Envelope := nil;
end;
finally
Store := nil;
end;
end;
RELDP, sifrovani, kde delam chybu
[*] Milan Tomes <delphi(zv)haida(tec)cz> - 15.9.2005 10:28:32
Ja to delam takto a bez problemu mi to PVS prijima:
var
i: Integer;
TmpNode: IXMLNode;
RootElement: IXMLNode;
XML: IXMLDocument;
XMLLength: Cardinal;
Store: IStore;
Certificates: ICertificates2;
Certificate: ICertificate;
Sign: ISignedData;
Signer: ISigner;
SignerAA: IAttribute;
Str: string;
Envelope: IEnvelopedData;
begin
{$IFDEF DEBUG}
FSignerCertificateStoreName := 'My';
FEncryptCertificateStoreName := 'AddressBook';
FSignerCertificateSubject := 'Test Uzivatel';
FEncryptCertificateSubject := 'cssz.dis.gov(tec)cz';
{$ENDIF}
XML := RELDPMessageData; //Vygeneruje vlastni data RELDP
XMLLength := Length(XML.XML.Text);
CoCreateInstance(CLASS_Store, nil, CLSCTX_INPROC_SERVER, IID_IStore,
Store);
try
Store.Open(CAPICOM_CURRENT_USER_STORE, SignerCertificateStoreName,
CAPICOM_STORE_OPEN_READ_ONLY);
Certificates := (Store.Certificates as
ICertificates2).Find(CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME,
SignerCertificateSubject, false);
case Certificates.Count of
0: raise ERELDPError.Create('Nebyl nalezen podepisovaci certifikat s
predmetem ' + SignerCertificateSubject + ' !!!');
1: Certificate := IDispatch(TVarData(Certificates.Item[1]).VDispatch)
as ICertificate;
else
try
Certificates := Certificates.Select('Vyberte certifikat', 'Vyberte
certifikat pro podepsani datove vety RELDP', false);
Certificate := IDispatch(TVarData(Certificates.Item[1]).VDispatch)
as ICertificate;
except
on e: EOleException do
raise ERELDPError.Create('Nebyl vybran podepisovaci certifikat
!!!');
end;
end;
CoCreateInstance(CLASS_SignedData, nil, CLSCTX_INPROC_SERVER,
IID_ISignedData, Sign);
try
CoCreateInstance(CLASS_Signer, nil, CLSCTX_INPROC_SERVER, IID_ISigner,
Signer);
try
CoCreateInstance(CLASS_Attribute, nil, CLSCTX_INPROC_SERVER,
IID_IAttribute, SignerAA);
try
SignerAA.Name := CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME;
SignerAA.Value := Now;
Signer.Certificate := Certificate;
Signer.AuthenticatedAttributes.Add(SignerAA);
if XMLEncoding = xmleUTF8 then
Sign.Content := XMLStringToWideString(XML.XML.Text)
else
Sign.Content := XML.XML.Text;
Str := Sign.Sign(Signer, true, CAPICOM_ENCODE_BASE64);
RootElement.ChildNodes.FindNode('Header').ChildNodes.FindNode('Signature').N
odeValue := Str;
finally
SignerAA := nil;
end;
finally
Signer := nil;
end;
finally
Sign := nil;
end;
Store.Open(CAPICOM_CURRENT_USER_STORE, EncryptCertificateStoreName,
CAPICOM_STORE_OPEN_READ_ONLY);
Certificates := (Store.Certificates as
ICertificates2).Find(CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME,
EncryptCertificateSubject, false);
case Certificates.Count of
0: raise ERELDPError.Create('Nebyl nalezen sifrovaci certifikat s
predmetem ' + EncryptCertificateSubject + ' !!!');
1: Certificate := IDispatch(TVarData(Certificates.Item[1]).VDispatch)
as ICertificate;
else
try
Certificates := Certificates.Select('Vyberte certifikat', 'Vyberte
certifikat pro zasifrovani datove vety RELDP', false);
Certificate := IDispatch(TVarData(Certificates.Item[1]).VDispatch)
as ICertificate;
except
on e: EOleException do
raise ERELDPError.Create('Nebyl vybran sifrovaci certifikat !!!');
end;
end;
CoCreateInstance(CLASS_EnvelopedData, nil, CLSCTX_INPROC_SERVER,
IID_IEnvelopedData, Envelope);
try
if XMLEncoding = xmleUTF8 then
Envelope.Content := XMLStringToWideString(XML.XML.Text)
else
Envelope.Content := XML.XML.Text;
Envelope.Algorithm.Name := CAPICOM_ENCRYPTION_ALGORITHM_3DES;
Envelope.Algorithm.KeyLength := CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM;
Envelope.Recipients.Add(Certificate);
Str := Envelope.Encrypt(CAPICOM_ENCODE_BASE64);
RootElement.ChildNodes.FindNode('Body').NodeValue := Str;
finally
Envelope := nil;
end;
finally
Store := nil;
end;
end;
S pozdravem
Milan Tomes
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Jaromir Cermak
>
> Morim se s tim uz hodne dlouho a nic me nenapada. posilam
> data na cssz z programu v D7 ent. Ladici vladni portal data
> prijme a posle mi acknwledgement, v zapeti mi prijde e/mailem
> chyba ze spravu nejde desifrovat. Podle mne je ale sifrovaci
RELDP, sifrovani, kde delam chybu
[*] Jaromir Cermak <cermak(zv)procom(tec)cz> - 15.9.2005 10:14:30
Ahoj vsichni
Morim se s tim uz hodne dlouho a nic me nenapada. posilam data na cssz z programu v D7 ent. Ladici vladni portal data prijme a posle mi acknwledgement, v zapeti mi prijde e/mailem chyba ze spravu nejde desifrovat. Podle mne je ale sifrovaci certifikat spravny, to so poslu v tagu body vznikne nasledujici funkci (bere se to z globalni promenne ZData):
function TFORELDP.Zasifruj:Boolean;
var myStore,myCert,encData:Variant;
i:Integer;
lwsPom:WideString;
begin
//Zasifrovani
Result:=False;
try
myStore:=CreateOleObject('CAPICOM.store');
encData:=CreateOleObject('CAPICOM.EnvelopedData');
//encData:=CreateOleObject('CAPICOM.EncryptedData');
//tady to musis projit a najit ten certifikat kterej ma v nazvu cssz
myStore.Open(2,'AddressBook',0);
for i:=1 to myStore.Certificates.Count do
if (Pos('cssz', myStore.Certificates.Item[I].SubjectName) > 0) then
begin
myCert := myStore.Certificates.Item[I];
end;
encData.Algorithm.KeyLength:=0; //maximum
encData.Algorithm.Name:=3; // 3DES
lwsPom:=xmldRELDP.XML.Text;
while Pos(#13#10,lwsPom)>0 do
Delete(lwsPom,Pos(#13#10,lwsPom),2);
encData.Content:=lwsPom;//vymenaData je string kterej obsahuje XML dat. vetu
encData.Recipients.Clear;
encData.Recipients.Add(myCert);
ZData:=encData.encrypt(0);
Result:=True;
except
end;
// myStore.Close;
end;
Moznost s pridanim mezery a natazenim na sudou delku dopadne stejne a to i kdyz radek encData.Content:=lwsPom;
nahrandim encData.Content:=StringtoWideString(lwsPom);
prosim poradte kde delam chybu
Jaromir Cermak
Problemy s TRichEdit - Snad vyreseno
[*] Ing. Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 15.9.2005 09:12:21
Uz jsem na to nejspis prisel, vypada to jako by ten dany rez pisma
neumel nektere znaky a proto si prepinal do jineho pisma/velikosti ktera
to uz umi. Zajimave ale je ze to nedelaji jen ceske znaky.
Hloupe je ze se to prepne ne na jeden jediny znak ale i pro dalsi, a pak
to vypada dost osklive.
p.s. Pouzivam, zkousel jsem i DefAttributes, ale vysledek byl
pochopitelne stejny
tom
Jan Fiala napsal(a):
> 13.9.2005 Ing. Tomas Krejzek:
>
>>Ahoj, zobrazuju obsah zaznamu pomoci richeditu a ten zaznam se da
>>zobrazit podle vice pravidel a jeden zpusob kvuli prehlednosti vyzaduje
>>neproporcialni pismo. Jakmile vsak v richeditu zacnu menit font tak se
>>nejak rozhodi a zcela samostatne meni font(obvykle velikost)
>>Nevite co s tim??
>>Moc dik Tom
>
>
> A jakym zpusobem menis font ? Pouzivas SelAtttributes ?
>
>
>
>
Btrieve - prace s daty
[*] Marcel Mikel <mikel(zv)janos(tec)cz> - 15.9.2005 08:58:20
Btrieve dela firma Pervasive (www.pervasive.com). Lze tam stahnout
instalacky trial verze a jsou tam i komponenty pro Delphi. Nevim ale, zda
jsou uplne zadarmo nebo jsou je k registrovane verzi.
Marcel Mikel
-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Kalhous
Sent: Thursday, September 15, 2005 7:10 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Btrieve - prace s daty
Uz je to davno co jsem s tim pracoval takze spis namet - zapomel jsem
samozrejme konkretni odkazy. BTrieve dela nejaka firma (ne Novell) na kterou
se ale da dostat hledanim na Internetu (asi pres Novell nebo BTrieve),
dodavaji (bohuzel za penizky) klientsky sw s jehoz podporou lze pak s daty
BTrieve pracovat pres BDE (a asi i ODBC). Krome toho vzpominam, ze se mi
tehdy podarilo (asi zase pres BTrieve) najit free sw prohlizec s jehoz
pomoci lze prohlizet jak data tak strukturu BTrieve databaze. Pokud nic
nenajdete, ozvete se, zkusim doma najit presnejsi informace.
A jelikoz jsem to tehdy pouzival prave na Harpagona tak dobra zprava - az na
drobne a nepodstatne vyjimky (priznaky pojmenovane A1-A16 ap.) lze obsah
sloupcu celkem snadno a spravne odhadnout z jejich nazvu. I to bych mozna
jeste nasel.
Z.Kalhous
ToWare s.r.o.
tel.: 466 614 024
> Ktere komponenty pouzivate na praci s Btrieve?
> Jak se da zorientovat v datech? Docetl jsem se, ze by k tomu mely byt
> DDF (Data Definition File) soubory, ale ta instalace Harp. Magicu
> zadne neobsahuje.
> Dokazu rozlustit strukturu dat i bez nich? Dokaze to nejaka komponenta
> rozpoznat a zobrazit?
> Diky za kazdou radu nebo namet
Btrieve - prace s daty
[*] Kalhous <kalhous(zv)eu(tec)cz> - 15.9.2005 07:10:04
Uz je to davno co jsem s tim pracoval takze spis namet - zapomel jsem
samozrejme konkretni odkazy. BTrieve dela nejaka firma (ne Novell) na kterou
se ale da dostat hledanim na Internetu (asi pres Novell nebo BTrieve),
dodavaji (bohuzel za penizky) klientsky sw s jehoz podporou lze pak s daty
BTrieve pracovat pres BDE (a asi i ODBC). Krome toho vzpominam, ze se mi
tehdy podarilo (asi zase pres BTrieve) najit free sw prohlizec s jehoz
pomoci lze prohlizet jak data tak strukturu BTrieve databaze. Pokud nic
nenajdete, ozvete se, zkusim doma najit presnejsi informace.
A jelikoz jsem to tehdy pouzival prave na Harpagona tak dobra zprava - az na
drobne a nepodstatne vyjimky (priznaky pojmenovane A1-A16 ap.) lze obsah
sloupcu celkem snadno a spravne odhadnout z jejich nazvu. I to bych mozna
jeste nasel.
Z.Kalhous
ToWare s.r.o.
tel.: 466 614 024
> Ktere komponenty pouzivate na praci s Btrieve?
> Jak se da zorientovat v datech? Docetl jsem se, ze by k tomu mely byt
> DDF (Data Definition File)
> soubory, ale ta instalace Harp. Magicu zadne neobsahuje.
> Dokazu rozlustit strukturu dat i bez nich? Dokaze to nejaka komponenta
> rozpoznat a zobrazit?
> Diky za kazdou radu nebo namet
Sweep TClientdataset - XML ukladani
[*] Petr Vones <konference(zv)petrvones(tec)net> - 15.9.2005 02:17:44
From: "Lukas Barton" <lukas(zv)cnawr(tec)cz>
> jak zaridim promazani XML souboru od TClientdataset, od logu mazanych a
> menenych dat?
> Nejak mi ten soubor bobtna.
Viz metoda MergeChangeLog ci vlastnost LogChanges.
Petr Vones
Btrieve - prace s daty
[*] David Klodner <delphikonfer(zv)seznam(tec)cz> - 14.9.2005 23:39:33
Zdravim konferenci,
dostal jsem sw Harpagon Magic, ktery pracuje s DB Btrieve a mam za ukol
vytahnout z jeho zdrojovych *.btr souboru nejaka data - zbozi, ceny,
stavy skladu atd.
Ktere komponenty pouzivate na praci s Btrieve?
Jak se da zorientovat v datech? Docetl jsem se, ze by k tomu mely byt
DDF (Data Definition File)
soubory, ale ta instalace Harp. Magicu zadne neobsahuje.
Dokazu rozlustit strukturu dat i bez nich? Dokaze to nejaka komponenta
rozpoznat a zobrazit?
Diky za kazdou radu nebo namet
David Klodner
D5, FB
Sweep TClientdataset - XML ukladani
[*] Lukas Barton <lukas(zv)cnawr(tec)cz> - 14.9.2005 23:37:32
Ahoj,
jak zaridim promazani XML souboru od TClientdataset, od logu mazanych a
menenych dat?
Nejak mi ten soubor bobtna.
Diky,
Lukas
Barvy ve StringGridu
[*] Ing. Pavel Zilinec <pavel.zilinec(zv)seznam(tec)cz> - 14.9.2005 22:09:26
Napriklad ...
StringGrid.canvas.Font.Style := [fsBold]
StringGrid.Canvas.Brush.Color := clAppWorkSpace;
StringGrid.canvas.Font.Color := clWindow;
Jinak jeste k tomu zarovnavani textu doprava ... asi bude zapotrebi
pred samotnym vykreslenim zrusit puvodni obsah: StringGrid.Canvas.FillRect(Rect);
--
ing. Pavel Zilinec
MailTo:pavel.zilinec(zv)seznam(tec)cz
Prog-Soft s.r.o. Plzen
Informacni system pro vyrobce
a distributory napoju
Wednesday, September 14, 2005, 5:39:01 PM, bylo napsano:
K> Jak lze ve StringGridu menit barvu pozadi a pisma v bunkach?
K> Z.Kalhous
Text ve StringGridu doprava
[*] Ing. Pavel Zilinec <pavel.zilinec(zv)seznam(tec)cz> - 14.9.2005 22:05:26
Udalost OnDrawCell:
var MyValue : string; x : Integer;
MyValue := gridCeny.Cells[ACol, ARow];
x := StringGrid.Canvas.TextWidth(MyValue);
StringGrid.Canvas.TextOut(Rect.Right - 4 - x, Rect.Top + 2, MyValue);
--
ing. Pavel Zilinec
MailTo:pavel.zilinec(zv)seznam(tec)cz
Prog-Soft s.r.o. Plzen
Informacni system pro vyrobce
a distributory napoju
Wednesday, September 14, 2005, 3:12:49 PM, bylo napsano:
K> Muzete mi nekdo poradit jak docilim toho, aby text vkladany do bunky StringGridu
K> StringGrid.Cells[i,j]:='neco';
K> byl zarovnany doprava?
K> Z.Kalhous
OT: C# 3 a LINQ
[*] Erik Salaj <winsoft(zv)netkosice.sk> - 14.9.2005 21:01:16
http://msdn.microsoft.com/netframework/future/linq/
Erik Salaj
frekvence CPU
[*] Bc. Jiri Cincura <diskuze(zv)cincura(tec)net> - 14.9.2005 17:49:02
Vlastimil Burian wrote:
> potrebuji zjistil oznaceni a frekvenci procesoru - v JCL jsem nasel unitu
> JCLSysInfo a v ni proceduru GetCpuInfo ... ta do recordu naplni mnoho udaju
> o CPU ... nemuzu akorat zjistit rozdil mezi RawFreq a NormFreq ?? prosel
Jedno bude asi prima (treba 299,7MHz) a druha "pekna" (treba 300MHz).
> jsem si archiv kde padla minuly rok diskuse o tom ze tato procedura pada na
> rychlych strojich ... P4 > ... mam aktualni JCL ... vi nekdo zdali tento
> problem pretrvava ci je jiz zazehnan ??
Myslim, ze v poslednich JCL je to jiz fixnuto.
--
Bc. Jiri Cincura
http://www.ID3renamer.com/
http://www.x2develop.com/
ICQ: 314711544 | Yahoo!: x2develop
http://photo.cincura.net/
Barvy ve StringGridu
[*] Kalhous <kalhous(zv)eu(tec)cz> - 14.9.2005 17:39:01
Jak lze ve StringGridu menit barvu pozadi a pisma v bunkach?
Z.Kalhous
ToWare s.r.o.
tel.: 466 614 024
frekvence CPU
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 14.9.2005 16:30:56
potrebuji zjistil oznaceni a frekvenci procesoru - v JCL jsem nasel unitu
JCLSysInfo a v ni proceduru GetCpuInfo ... ta do recordu naplni mnoho udaju
o CPU ... nemuzu akorat zjistit rozdil mezi RawFreq a NormFreq ?? prosel
jsem si archiv kde padla minuly rok diskuse o tom ze tato procedura pada na
rychlych strojich ... P4 > ... mam aktualni JCL ... vi nekdo zdali tento
problem pretrvava ci je jiz zazehnan ??
sifrovani retezce
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 14.9.2005 16:02:54
>> Karle, nyni koukam na Torry na tvou unitu KIcon .. nova verze 1.5 ...
>> jsem zvedav
>
> Aby nevznikla mylka, s tou nemam vubec nic spolecneho... Autorem je, pokud
> se nemylim, Tomas Krysl.
>
> Karel Rys
no jej, hezky se vam prolinaji jmena - uz na to taky nevidim jak se mi mlzi
oci :-)
Text ve StringGridu doprava
[*] Kalhous <kalhous(zv)eu(tec)cz> - 14.9.2005 15:12:49
Muzete mi nekdo poradit jak docilim toho, aby text vkladany do bunky StringGridu
StringGrid.Cells[i,j]:='neco';
byl zarovnany doprava?
Z.Kalhous
ToWare s.r.o.
tel.: 466 614 024
sifrovani retezce
[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 14.9.2005 15:08:48
Vlastimil Burian dne 14 Sep 2005 v 14:44:
> Karle, nyni koukam na Torry na tvou unitu KIcon .. nova verze 1.5 ...
> jsem zvedav
Aby nevznikla mylka, s tou nemam vubec nic spolecneho... Autorem je, pokud se nemylim, Tomas Krysl.
Karel Rys
sifrovani retezce
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 14.9.2005 15:00:48
Vlastimil Burian wrote:
> duvodem je ze v jinem projektu potrebuji sifrovat i jine veci - texty
> v souborech a tam mi hashovani nepomuze ... jinak kdyz se nad tim
> zamyslim tak u tech hesel mas pravdu - ulozeni hashe je jiste
> bezpecnejsi
Samozrejme, zejmena proto, ze hesla jsou kratka a v rade pripadu
odhadnutelna slova - existuji slovniky nejcasteji pouzivanych hesel.
A kdyz prihledneme k tomu, ze rada sifer je zalozena v podstate
na ruzne "slozitem" xorovani, tak na pocatku bloku byva ta "slozitost"
nejmensi a da se pri dostatecnem poctu pokusu na znamych datech
dostat ke klici viz treba utok na RC4 tady http://en.wikipedia.org/wiki/Rc4
Ono by asi vubec bylo uzitecne, nez se pro nejakou sifru rozhodnes,
abys nahlidnul treba do te wikipedie, kde jsou ty sifry docela
hezky popsane a konfrontoval jejich vlastnosti s pozadavky, ktere na
bezpecnost mas.
A pridanim dostecne velkeho kusu nahodne vyplne
pred zacatek vlastnich dat urcite nic nezkasis ;-)
pf
sifrovani retezce
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 14.9.2005 14:44:46
viz muj predchozi prispevek - nepotreboval sem to jenom na hesla ... a na
hesla mate pravdu ze je hash lepsi - nepremyslel sem nad tim ... Karle, nyni
koukam na Torry na tvou unitu KIcon .. nova verze 1.5 ... jsem zvedav
>A proc to neni dobry napad? Pri rozumne delce hashe to sotva kdy nekdo
>uhodne...
>> to je jasne ale toto vazne neni dobry napad si myslim ... dekuji
>> MaRKovi za odkaz na DCPcrypt - prave jsem se s tim seznamil a je to
>> skvele - funguje presne tak jak potrebuji a obsahuje vlastne vsechna
>> pouzivana sifrovani/hashovani takze co si vic prat, doporucuji
pouziti ExceptDlg z JCL
[*] L?ikola Petr <developer(zv)efg(tec)cz> - 14.9.2005 14:36:46
Zdravim konferenci,
pouzivam ExceptDlg a ExceptDlgMail. V dpr projektu mam tyto obrazovky az na konci, jinak mi "nechytali" vyjimky z obrazovek pridanych pod ExceptDlg.
Pokud jsem dal ExceptDlg uplne na zacatek do dpr (prvni v uses), tak to nechzta zadne vyjimky.
Delam neco spatne, jake je spravne pouziti ExceptDlg?
V soucasne dobe mam ExceptDlg u uses na poslednim miste, ale alikace obcas zhuci bez tohoto dialogu - proc to nechyti ?
Diky za nakopnuti
Petr Sikola
sifrovani retezce
[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 14.9.2005 14:32:45
A proc to neni dobry napad? Pri rozumne delce hashe to sotva kdy nekdo uhodne...
KR.
Karel Rys
Vlastimil Burian dne 14 Sep 2005 v 13:04:
> to je jasne ale toto vazne neni dobry napad si myslim ... dekuji
> MaRKovi za odkaz na DCPcrypt - prave jsem se s tim seznamil a je to
> skvele - funguje presne tak jak potrebuji a obsahuje vlastne vsechna
> pouzivana sifrovani/hashovani takze co si vic prat, doporucuji
>
>
> > Otazka je, zda skutecne to musi byt vratne. Uzivatel si vymysli
> > heslo, ty muzes ulozit jeho hash. Pri prihlasovani pak uzivatel
> > zadat heslo, spocitas hash, porovnas s tim ulozenym... Je pravda, ze
> > teoreticky se tak da prihlasit i s jinym heslem, ktere ma stejny
> > hash, ale trefit ho... Karel Rys
udf funkcia pre interbase na sposob DECODE z oracl
[*] Karol Chupek <chupek(zv)gmail(tec)com> - 14.9.2005 14:20:44
Ale tento prikay nejde v IB 7.0
ale iba vo fireBirde a ja to musim mat v IB
petr palicka napsal(a):
>Ahoj,
>
>zkus toto:
>
> CASE WHEN (A = B) THEN C ELSE D END
>
>Karol Chupek napsal(a):
>
>
>>ak je A=B tak vrat C Inak vrat D.
>>Karol
>>
>>
>
>Peca
>
>
>
>
sifrovani retezce
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 14.9.2005 14:16:44
duvodem je ze v jinem projektu potrebuji sifrovat i jine veci - texty v
souborech a tam mi hashovani nepomuze ... jinak kdyz se nad tim zamyslim tak
u tech hesel mas pravdu - ulozeni hashe je jiste bezpecnejsi
>> ... tez to musi byt pochopitelne vratne - jde o
>> ukladani hesel
>
> No tohle mi nejak nejde do hlavy: pokud ma system vykazovat
> alespon elementarni bezpecnost, tak se *pochopitelne*
> hesla nikde neukladaji - jen jejich hashe a pokud mozno
> "silnejsi" nez MD5.
udf funkcia pre interbase na sposob DECODE z oracl
[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 14.9.2005 13:52:42
Ahoj,
zkus toto:
CASE WHEN (A = B) THEN C ELSE D END
Karol Chupek napsal(a):
> ak je A=B tak vrat C Inak vrat D.
> Karol
Peca
Listview a Drag&Drop
[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 14.9.2005 13:46:41
Ahoj,
resim problem s Drag&Drop s pomoci TDragObject. Na formulari mam
Listview a listBox a chci mezi nimi prenaset polozky. Pritom ma byt
behem vleceni krome kurzoru videt i text pretahovane polozky. K tomu
se pouziva potomek TDragControlObject. V podstate uz to mam
rozchozene a funkcni, az na jednu vec. Pri presunu z listboxu se
vytvori DragControlObject presne tak, jak pozaduji a funguje to
spravne. Bohuzel pri presunu z listview se sice dragControlObject sice
vytvori, ale pri tazeni neni pouzivan a misto toho se pri tazeni ukazuje
polozka tak, jak ji implicitne vygeneruji windows(?). Problem je v tom,
ze listview ma jiz podporu drag and drop v sobe primo zabudovanou a
zrejme ma prednost pred mym vlastnim resenim. Nevite nekdo, jak pri
tazeni polozky z listview docilit toho, aby se zobrazovalo to, co si
porucim ja?
Diky
David Lebeda
udf funkcia pre interbase na sposob DECODE z oracl
[*] Karol Chupek <chupek(zv)gmail(tec)com> - 14.9.2005 13:34:40
Ahoj. Neviem si rady . Som zaciatocnik v IB a nedari sa mi napisat UDF
funkciu v delphi pre IB server, ktora by pracovala podobne ako DECODE v
oracle.
Mozte ma niekto nakopnut? :)
priklad:
DECODE(A,B,C,D)
kde A,B su retazce na porovnanie ak je A=B tak vrat C Inak vrat D.
alebo prosim link kde to je nejako vysvetlene.
Dik
Karol
Firebird - uvolneni mista na HDD po databazi
[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 14.9.2005 13:32:40
Ahoj,
OndraG napsal(a):
> staci gfix -sweep (ci tak nejak)
nestaci, sweep uklidi smeti v databazi, ale nezmensi jeji velikost.
Proste udela misto na nova data uvnitr databaze.
> Ondra
Peca
sifrovani retezce
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 14.9.2005 12:52:37
Vlastimil Burian wrote:
> ... tez to musi byt pochopitelne vratne - jde o
> ukladani hesel
No tohle mi nejak nejde do hlavy: pokud ma system vykazovat
alespon elementarni bezpecnost, tak se *pochopitelne*
hesla nikde neukladaji - jen jejich hashe a pokud mozno
"silnejsi" nez MD5.
***
V Delphi na sifrovani uz leta pouzivam DEC I (Delphi Encryption Compendium
Part I) od Hagena Reddmanna.
Mam ho vyzkousene i proti HW sifratorum a tak jsem s nim
po vsech strankach spokojen.
Asi se to da stale na stahnout z torry.net.
Sice jsou tam drobne problemy s portaci na novejsi Delphi,
nez D5, ale IMO jsou to prkotiny, ktere lze snadno opravit.
HTH, pf
sifrovani retezce
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 14.9.2005 13:04:37
to je jasne ale toto vazne neni dobry napad si myslim ... dekuji MaRKovi za
odkaz na DCPcrypt - prave jsem se s tim seznamil a je to skvele - funguje
presne tak jak potrebuji a obsahuje vlastne vsechna pouzivana
sifrovani/hashovani takze co si vic prat, doporucuji
> Otazka je, zda skutecne to musi byt vratne. Uzivatel si vymysli heslo, ty
> muzes ulozit jeho hash.
> Pri prihlasovani pak uzivatel zadat heslo, spocitas hash, porovnas s tim
> ulozenym... Je pravda, ze
> teoreticky se tak da prihlasit i s jinym heslem, ktere ma stejny hash, ale
> trefit ho...
> Karel Rys
Firebird - uvolneni mista na HDD po databazi
[*] OndraG <gebakonf(zv)centrum(tec)cz> - 14.9.2005 12:52:36
Pokud to potrebuje delat za provozu, tak staci gfix -sweep (ci tak nejak)
ijnak backupo a restor funguje samozrejme tez, jen to trva o poznani dele
Ondra
----- Original Message -----
From: "petr palicka" <palicka.petr(zv)seznam(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, September 08, 2005 10:53 AM
Subject: Re: Firebird - uvolneni mista na HDD po databazi
> Zdravi,
>
> udelaej backup a restore.
>
> Peca
>
>
>
sifrovani retezce
[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 14.9.2005 12:34:35
Vlastimil Burian dne 14 Sep 2005 v 12:10:
> Hashovani mi bohuzel nepomuze, potrebuji sifrovani (vlastni primitivni
> algoritmus napsat sice muzu ale nechci aby to prave bylo uplne
> 'primitivni') ... tez to musi byt pochopitelne vratne - jde o ukladani
> hesel
>
> Pokud v J(V)CL neco pro sifrovani znate a pouzivate tak mne prosim
> odkazte, v opacnem pripade ktere cizi prostredky na toto vyuzivate ???
Otazka je, zda skutecne to musi byt vratne. Uzivatel si vymysli heslo, ty muzes ulozit jeho hash.
Pri prihlasovani pak uzivatel zadat heslo, spocitas hash, porovnas s tim ulozenym... Je pravda, ze
teoreticky se tak da prihlasit i s jinym heslem, ktere ma stejny hash, ale trefit ho...
Karel Rys
sifrovani retezce
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 14.9.2005 12:10:33
Hashovani mi bohuzel nepomuze, potrebuji sifrovani (vlastni primitivni
algoritmus napsat sice muzu ale nechci aby to prave bylo uplne 'primitivni')
... tez to musi byt pochopitelne vratne - jde o ukladani hesel
Pokud v J(V)CL neco pro sifrovani znate a pouzivate tak mne prosim odkazte,
v opacnem pripade ktere cizi prostredky na toto vyuzivate ???
> THash_MD5.CalcString(s, nil, fmtHEX)
> kde s je sifrovany retec a chce to unity Hash, DecUtil
> Milan Dvorak
Funkce v Sinea
[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 14.9.2005 12:06:32
> From: MaReK Penguin Olsavsky
> Mely zalozku podmineny tisk vsechny verze, nebo je od nejakeho data?
Podmineny tisk je od verze Sinea 2004 (X.50) z brezna 2004.
Ve starsich verzich je jedine reseni samostatne formatovaci funkce pro
kazdy datovy prvek. Pro funkcni prvky lze obvykle resit primo ve funkci.
Vaclav Krmela
Funkce v Sinea
[*] MaReK Penguin Olsavsky <orsm(zv)centrum(tec)cz> - 14.9.2005 09:30:21
Vaclav Krmela napsal(a):
>>Pres "klikadlo" v editoru jsem
>>vytvoril fci, ktera mi do souboru *.pts spadla jako:
>>'F,40,KontrolaNuly,"Vlozi cislo, nebo, je-li nula,
>>mezeru",1,"3",0,"iif(&1>0,&1,'')",0,15,2,2'.
>
>
> Pozadavek asi je v pripade kladne hodnoty tisknout hodnotu, jinak
> netisknout nic.
^^^Presne ta
> Pozadovaneho efektu lze dosahnout i bez definovani uzivatelskych funkci
> pomoci podmineneho tisku. Podminka bude jednoducha, tisknout prvek,
> je-li hodnota kladna. Udela se to takto:
> - dvojklik na prvku v editoru predloh
> - nastaveni vlastnosti prvku / zalozka Podmineny tisk
> - tisknout prvek, je-li splnena podminka
> - do podminky vlozit pozadovany vyraz, napr. #Cena>0
^^^A jsem v trapu, nebo nevidim. Mely zalozku podmineny tisk vsechny
verze, nebo je od nejakeho data? Podle hlavicky ze zdrojoveho kodu mame
siney z roku 2002 a vzhledem k tomu, ze s Delphi pomalu koncime, tak
nove asi vedeni nebude moc ochotne kupovat :-(...
Existuje tedy nejake jine rozseknuti tohoto gordiskeho uzlu? Tedy krome
formatovaci fce pro kazdy prvek?
Dekuji
MaReK
--
- --
MaReK "Penguin" Olsavsky
PHP Voodoo
private mail: orsm(zv)centrum(tec)cz
private web: http://orsm.wz(tec)cz
ICQ#: 160 178 925; MSN: orsm(zv)centrum(tec)cz; Skype: Penguin_007
tel.: +420-603-519-650; +420-775-154-689 (775-1-LINUX)
Ctrl+C pres HotKey
[*] Ludek Finstrle <ludek.finstrle(zv)pzkagis(tec)cz> - 14.9.2005 09:14:20
> > MainForm je cizi okno, muj je jen plugin do teto aplikace, kde si
> > otviram vlastni okna. Dale mam napsanou komponentu, ve ktere
> > v WM_KEYDOWN resim Ctrl+C (kopirovani).
> > Problem je v tom, ze v hlavnim okne aplikace je na Ctrl+C v menu
> > povesene nejake jine kopirovani, ktere se spusti, i kdyz je aktivni
> > me okno a mnou napsana komponenta je Focusnuta. Tzn. nejsem schopen
> > vyvolat pomoci klavesnice kopirovani v ramci me komponenty.
>
> Musis ve sve komponente zpracovat zpravu WM_COPY, ne odchytavat Ctrl+C
> v OnKeyDown
Ta tam zpracovana je, ale nikdy se do ni program nedostane. Jedna se
o potomka VirtualTree.
Luf
sifrovani retezce
[*] MaReK Penguin Olsavsky <orsm(zv)centrum(tec)cz> - 14.9.2005 08:24:16
Vlastimil Burian napsal(a):
> je prosim vas v JCL nejaka funkce ci objekt pro jednoduche sifrovani retezce
> ?? diky
V JCL o nicem nevim, ale dobra knihovna je (IMHO) - dcpcrypt (
http://www.cityinthesky.co.uk/cryptography.html )
S pozdravem
MaReK Olsavsky
--
- --
MaReK "Penguin" Olsavsky
PHP Voodoo
private mail: orsm(zv)centrum(tec)cz
private web: http://orsm.wz(tec)cz
ICQ#: 160 178 925; MSN: orsm(zv)centrum(tec)cz; Skype: Penguin_007
tel.: +420-603-519-650; +420-775-154-689 (775-1-LINUX)
sifrovani retezce
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 14.9.2005 07:34:13
14.9.2005 Milan Dvorak:
> Myslim je tam neco na MD5.
> THash_MD5.CalcString(s, nil, fmtHEX)
> kde s je sifrovany retec a chce to unity Hash, DecUtil
MD5 neni sofrovany retezec. Je to jednosmerny HASH - otisk.
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
sifrovani retezce
[*] Milan Dvorak <dvorak(zv)gymzn(tec)cz> - 14.9.2005 07:10:11
Myslim je tam neco na MD5.
THash_MD5.CalcString(s, nil, fmtHEX)
kde s je sifrovany retec a chce to unity Hash, DecUtil
Milan Dvorak
>>> vlastax.b(zv)seznam(tec)cz 14.9.2005 2:23 >>>
je prosim vas v JCL nejaka funkce ci objekt pro jednoduche sifrovani
retezce
?? diky
sifrovani retezce
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 14.9.2005 02:23:51
je prosim vas v JCL nejaka funkce ci objekt pro jednoduche sifrovani retezce
?? diky
Problemy s TRichEdit
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 13.9.2005 23:03:36
13.9.2005 Ing. Tomas Krejzek:
> Ahoj, zobrazuju obsah zaznamu pomoci richeditu a ten zaznam se da
> zobrazit podle vice pravidel a jeden zpusob kvuli prehlednosti vyzaduje
> neproporcialni pismo. Jakmile vsak v richeditu zacnu menit font tak se
> nejak rozhodi a zcela samostatne meni font(obvykle velikost)
> Nevite co s tim??
> Moc dik Tom
A jakym zpusobem menis font ? Pouzivas SelAtttributes ?
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
Problemy s TRichEdit
[*] Ing. Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 13.9.2005 21:33:30
Ahoj, zobrazuju obsah zaznamu pomoci richeditu a ten zaznam se da
zobrazit podle vice pravidel a jeden zpusob kvuli prehlednosti vyzaduje
neproporcialni pismo. Jakmile vsak v richeditu zacnu menit font tak se
nejak rozhodi a zcela samostatne meni font(obvykle velikost)
Nevite co s tim??
Moc dik Tom
Funkce v Sinea
[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 13.9.2005 21:21:29
> Pres "klikadlo" v editoru jsem vytvoril fci,
> ktera mi do souboru *.pts spadla jako:
> 'F,40,KontrolaNuly,"Vlozi cislo, nebo, je-li nula,
> mezeru",1,"3",0,"IFF(&1>0,&1,'')",0,15,2,2'.
> Pres "klikadlo" v editoru jsem
> vytvoril fci, ktera mi do souboru *.pts spadla jako:
> 'F,40,KontrolaNuly,"Vlozi cislo, nebo, je-li nula,
> mezeru",1,"3",0,"iif(&1>0,&1,'')",0,15,2,2'.
Pozadavek asi je v pripade kladne hodnoty tisknout hodnotu, jinak
netisknout nic.
> Nejsem si jist, jestli mam spravne zapsan prvni parametr, aby nebyl
> tvrde tahan z databaze, ale aby jej bylo mozne pouzit pri volani teto
> funkci na nekolika mistech, samozrejme, ze s ruznymi promennymi.
Oznaceni &1 znamena prvni parametr predany do tiskove sestavy, to asi
nebyl zamer, v tom pripade se muze parametr predat rovnou zformatovany.
> Podstatne je, ze nevime, jak tuto funkci pouzivat v sestave, kdy ji
> potrebuji nekolikrat pouzit s nekolika promennymi
Takovyto zpusob pouziti neni mozny. Uzivatelske funkce vola generator
sestav sam a v poradi, v jakem byly definovany, kazdou funkci vola v
kazdem tele prave jednou.
> Idealni by bylo jimi nahradit stavajici prvky, takze defacto
> nahradit prime zobrazeni filtrovanim pres tuto funkcicku.
Pozadovaneho efektu lze dosahnout i bez definovani uzivatelskych funkci
pomoci podmineneho tisku. Podminka bude jednoducha, tisknout prvek,
je-li hodnota kladna. Udela se to takto:
- dvojklik na prvku v editoru predloh
- nastaveni vlastnosti prvku / zalozka Podmineny tisk
- tisknout prvek, je-li splnena podminka
- do podminky vlozit pozadovany vyraz, napr. #Cena>0
> Opet idealne v prostredi editoru sestavy,
> protoze zakaznici nemuseji "skousnout" primou editaci souboru.
Prima editace PTS souboru neni nutna, vse lze editovat pomoci editoru
predloh.
Tento pozadavek se diskutoval i v konferenci Sinea:
http://www.sinea(tec)cz/default.asp?typ=conference&clanek=1503&bcpage=70
Vaclav Krmela
Memo a azbuka
[*] Ludek <konference(zv)sales(tec)cz> - 13.9.2005 16:09:07
----- Original Message -----
From: "Ing. Dubsky Jan"
> .....Potrebuji je ale
> aktualizovat, tedy nahrazovat texty v jednotlivych tabulkach a to jak v
> cestine, tak v jazykovych mutacich, z nichz jedna je rustina. Musim se
tedy
> prizpusobit stavajicimu stavu - mam text ve Wordu v rustine a potrebuji
jej
> prekodovat na "rozsypany caj" tak, aby se na webu zase zobrazila azbuka -
> viz drive popisovany problem.
>
Ahoj,
Neslo by misto clipboardu a prohlizece pouzit nejake inteligentnejsi reseni,
treba pomoci synapse,
tam uz bys asi tu konverzi nejak vymaknul.
Tohle muze byt hoodne zavisle i na verzi a nastaveni prihlizece, a to pak
panbuh s Tebou:)
Ludek
Synaser, Xonlimit, Xofflimit
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 13.9.2005 15:25:04
> mam tady jedno zarizeni ze ktereho se snazim pres RS231 stahnout data
> - k tomu zarizeni je dodany vzorovy program (exe) ktery to umi a me se
> to z Delphi a SynaSer zaboha nedari. Uz jsem z toho zoufaly - nemuze
> byt problem v Xonlimit a Xofflimit ? Nemuzu prijit na to jak to
> nastavit - nevite nekdo kde se to da nastavovat ?
Synaser standardne nastavuje xon/xofflimit na ctvrtinu velikosti
bufferu - ten ma v Synaseru standarne velikost 4096 bytu. Takze
normalne ma Synaser ty xon/xofflimit hodnoty na 1024. Proto nevim
jakym zpusobem jsi tam dostal hodnotu 1.
Ohledne nastavovani - podivej se jak je implementovana metoda
TBlockSerial.Config
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
http://www.ararat(tec)cz/synapse/ - Ararat Synapse - TCP/IP Lib.
Jak udelat neco jako ShowModal bez blokovani ostat
[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 13.9.2005 15:57:06
Zdravim,
kdesi jsem cetl, ze je mozne udelat okno, ktere je nad ostatnima oknama. Pak by stacilo dat jen hlavnimu formulari enabled:=false. Ale je to takove divne reseni, avsak da se pouzit
< ------------ Puvodni zprava ------------
< Od: Martin Burle <mburle2(zv)volny(tec)cz>
< Predmet: Re: Jak udelat neco jako ShowModal bez blokovani ostatnich oken
< Datum: 13.9.2005 10:46:38
< ----------------------------------------
< > Nevite prosim o jednoduchem zpusobu, jak docilit toho, aby zpracovani kodu
< v okne "A" cekalo na
< > zavreni okna "B" (a uzivatel v tomto okne "A" nemohl pracovat), ale
< ostatni okna aplikace (zejmena
< > ta ostatni okna "A") pritom nebyly blokovana?
<
<
< Ahoj, a co to okno A proste skryt, a zobrazit ho az po uzavreni okna B?
< Resil bych to asi posilanim zprav.
<
< MB
<
<
<
<
<
<
prace s vyrezem jpeg obrazku
[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 13.9.2005 15:45:05
Vlastimil Burian dne 13 Sep 2005 v 13:06:
> aha, ja sem cetl 2 000 a ne 20 000 px :-) ... to uz je potom problem
> teda ...zakaznikovi bych rekl ze na to potrebuje 1GB pameti at si
> dokoupi. podle me neexistuje zpusob jakekoliv manipulace (vcetne
> primeho nacteni) pouze casti obrazu bez predchoziho nacteni celeho.
A nebylo by lepsi namisto jednoho velmi velkeho JPG, ktery stejne malokdo v dohledne dobe dokaze
zobrazit, jich mit nekolik mensich? Podobne jako jsou na atlas(tec)cz udelane mapy? Pri prohlizeni pak
nactes tech obrazku nekolik a z nich poskladas to, co potrebujes zobrazit. Rekl bych, ze to bude o
dost lepsi nez se vrtat ve struktutre JPG, abys za rok zjistil, ze potrebuji pouzit nejaky jiny
JPG (CMYK) a muzes to delat znovu...
Taky se nabizi otazka, zda vubec to nechavat jako JPG - kdyz uz by to mel byt jeden obrazek,
nemohl by to byt nejaky soubor .bmp, nekomprimovany .tif apod., kde se k libovolne casti obrazku
dostanes bleskove?
Karel Rys
prace s vyrezem jpeg obrazku
[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 13.9.2005 15:25:04
Vlastimil Burian napsal(a):
> aha, ja sem cetl 2 000 a ne 20 000 px :-) ... to uz je potom problem teda
> ...zakaznikovi bych rekl ze na to potrebuje 1GB pameti at si dokoupi. podle
> me neexistuje zpusob jakekoliv manipulace (vcetne primeho nacteni) pouze
> casti obrazu bez predchoziho nacteni celeho.
>
hmm, to je fakt hezke (s tim 1GB) :(.
Vzdy existuje zpusob. Zvlaste u jpeg kdy obraz je skladany z malych
oblasti (myslim ze 8x8pixelu), ktere jsou zpracovavany nezavisle
(http://en.wikipedia.org/wiki/Jpeg), kdysi jsem zahledl dabelsky rychlej
prohlizec, ktery toho vyuzival prave pro tvoreni nahledu v odstinech
sedi (z kazde oblasti spocital jeden bod, ktery v podstate aproximoval
jas cele oblasti), ale to je jedno.
Takze podle mne teoreticky to mozne je.
zkus se podivat zde
http://www.david-taylor.pwp.blueyonder.co.uk/software/components.html#JpegIO
popripade zde,
http://www.efg2.com/Lab/Library/Delphi/Graphics/FileFormatsAndConversion.htm
a v sekci JPEG je odkaz na ciste pascalovou implementaci (JPGImg)
kde by se dalo v tom vrtat. Napada mne bud to rozbalit (JPEG) do BMP na
disk a s tim uz by snad slo neco delat, nebo v te uvedene implementace
udelat nejaky hack aby to body mimo zadany interval ignorovalo, resp.
aby se dal zadat vzdy nejaky nasobek toho minimalniho bloku
Muzu se zeptal na co pak je treba 20k x 20k pixelu? a musis mit 24bit
hloubku?
Kazdopadne mnou navrhovana reseni jsou pomerne pracna, tak mne zajima
prave duvod.
Radek
>>Problem je prave v tom, ze tak velikou bitmapu v pameti nevytvoris,
>>protoze
>>pri rozmerech 20000x20000 a 24 bit. hloubce by zabrala cca 1144 MB, coz je
>>pomerne dost. Proto se snazim pracovat pouze s vyrezem zmineneho obrazku,
>>ale nevim jak na to. Zkousel jsem i Bmp.Canvas.Draw(0,0,Jpg), ale tato
>>tato
>>metoda pravdepodobne vytvari docasnou bitmapu o rozmerech Jpg, takze take
>>skonci s chybou nedostatku zdroju.
>>
>>
>>
>>>nechapu problem ... TCanvas.CopyRect() pro docasne vytvoreneho TBitmap by
>>>neslo? ... unitu s funkci pro ulozeni do JPG poslu na vyzadani na tvuj
>>>mail
>>>
>>>
>>>
Memo a azbuka
[*] Ing. Dubsky Jan <dubsky(zv)s-palava(tec)cz> - 13.9.2005 15:11:02
> Pokud chces na webovych strankach pracovat soucasne s vice znakovymi
> sadami, mel bys pouzit nejake UNICODE kodovani - napr. UTF-8.
> Soucasne by mely byt vytvoreny i tabulky a databaze s odpovidajici
> collation.
> Pak nebudes mit problem a budes videt latinku i azbuku a muzes primo
> vkladat text z Wordu.
To vim, ale webove stranky i databaze na kterou jsou napojeny je jiz funkcni
a nejakym zpusobem nastavene. Databaze je v soucasnosti jiz nejak naplnena
prave tim "rozsypanym cajem". To jiz nelze zmenit. Potrebuji je ale
aktualizovat, tedy nahrazovat texty v jednotlivych tabulkach a to jak v
cestine, tak v jazykovych mutacich, z nichz jedna je rustina. Musim se tedy
prizpusobit stavajicimu stavu - mam text ve Wordu v rustine a potrebuji jej
prekodovat na "rozsypany caj" tak, aby se na webu zase zobrazila azbuka -
viz drive popisovany problem.
Honza
Odeslani referreru
[*] JZ <j-z(zv)seznam(tec)cz> - 13.9.2005 13:42:56
Jasne, takhle by to sice slo ale s tim referrerem by mi to prislo cistsi. Ted me napadlo ze proste muzu volat primo stranku rekneme "program.php" kterou presmeruju na "index.php" a do hlavicky pridam referrer.
Honza
> ------------ Puvodni zprava ------------
> Od: Michal Bukacek <michal(zv)bukacek(tec)cz>
> Predmet: Re: Odeslani referreru
> Datum: 13.9.2005 12:59:05
> ----------------------------------------
> Co treba te tvo strance predavat nejaky parametr metodou GET napriklad :
>
> http://example.com/?z_programu=1
> a ve strance si to prebrat napr v PHP
>
> <?
> if($_GET['z_programu']==1){
> //----------- pocitadlo 1
> }else{
> //----------- pocitadlo 2
> }
> ?>
>
>
>
> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
> Behalf Of JZ
> Sent: Tuesday, September 13, 2005 11:05 AM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Odeslani referreru
>
>
> Ahoj
>
> mam v about okenku label s onclick udalosti ktera otevre webovou stranku:
>
> shellexecute(0,'open',pchar('http://example.com/'),pchar(''),'',sw_shownorma
> l)
>
> ale potreboval bych potom ve statistikach rozlisit ktere navstevy jsou primo
> z programu. Nevite nekdo jestli/jak se da odeslat refferer?
>
> Diky
>
> Honza
>
>
>
>
>
>
>
Memo a azbuka
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 13.9.2005 13:10:53
13.9.2005 Ing. Dubsky Jan:
>> Pouzit nejake UNICODE memo, napr. z TNT Unicode Controls
>> Jinak bys musel pouzit TTF font a nastavit Cyrilici. Ale jakmile tam
>> mas otazniky, znamena to, ze ze schranky to slo v UTF-8
> Pouzil jsem, ale jak jsem zjistil, tak to neni uplne to, co potrebuji.
> Popisu cely problem.
> Mam text v rustine we Wordu a potrebuji ho prekonvertovat a pomoci schranky
> vlozit do databaze, ktera ma vazbu na web a zobrazuje se na ceskych
> strankach (jedna polozka vety) a v ruske mutaci (druha polozka vety).
> Problem je v tom, ze kdyz do databaze vlozim azbuku, na webu vidim
> "rozsypany caj", kdyz do databaze vlozim "rozsypany caj" tak na vebu vidim
> azbuku. - Zjisteno experimentalne z jiz hotovych stranek.
> Ja tedy potrebuji obecne jakykoliv text ve wordu v azbuce prevest na jiz
> zmineny "rozsypany caj", abych pak na webu zase videl azbuku.
> Domnival jsem se, ze vezmu azbuku z TntMemo a znak po znaku jej prevedu na
> "rozsypany caj", ale nefunguje to. Prestoze vidim v TntMemo azbuku tak
> vsechna pismena davaji Ord(s) = 63, coz je zase ten zmineny otaznik.
Pokud chces na webovych strankach pracovat soucasne s vice znakovymi
sadami, mel bys pouzit nejake UNICODE kodovani - napr. UTF-8.
Soucasne by mely byt vytvoreny i tabulky a databaze s odpovidajici
collation.
Pak nebudes mit problem a budes videt latinku i azbuku a muzes primo
vkladat text z Wordu.
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
RELDP, CAPICOM, sifrovani
[*] Jaromir Cermak <cermak(zv)procom(tec)cz> - 13.9.2005 13:10:53
Upravil jsem program nasledujicim spusobem, vcetne popisovane funkce a presto se stale mrsi cestina. Do opacne funkce jsem upravu nedelal, ale predpokladam, ze by se to projevilo jen na delce vysledneho widestringu.
Spolecny:=EncryptData(FileToWideString('c:\tmp\reldp\eldp.xml'),StringToWideString('Belohrad'));
TextLog.Lines.Text:=WideStringToString(DecryptData(Spolecny,StringToWideString('Belohrad')));
Jaromir Cermak
-----Original Message-----
From: Petr Zahradnik [mailto:clexpert(zv)clexpert(tec)cz]
function FileToWideString(const FileName: String): WideString;
var
FS: TFileStream;
Ptr: Pointer;
begin
FS := TFileStream.Create(FileName, fmOpenRead);
try
SetLength(Result, (FS.Size + 1) div 2);
FS.Read(Result[1], FS.Size);
Ptr := Pointer(Integer(Pointer(Result)) - 4);
PInteger(Ptr)^ := FS.Size;
finally
FS.Free;
end;
end;
RELDP, CAPICOM, sifrovani
[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 13.9.2005 13:18:54
Puvodni zprava ze dne 13.9.2005:
> Upravil jsem program nasledujicim spusobem, vcetne popisovane funkce
> a presto se stale mrsi cestina. Do opacne funkce jsem upravu
> nedelal, ale predpokladam, ze by se to projevilo jen na delce
> vysledneho widestringu.
S cestinou to samozrejme nema nic spolecneho.
Petr Zahradnik, pocitacovy expert
==========================================================
Petr Zahradnik, Computer Laboratory
web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz
==========================================================
prace s vyrezem jpeg obrazku
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 13.9.2005 13:06:53
aha, ja sem cetl 2 000 a ne 20 000 px :-) ... to uz je potom problem teda
...zakaznikovi bych rekl ze na to potrebuje 1GB pameti at si dokoupi. podle
me neexistuje zpusob jakekoliv manipulace (vcetne primeho nacteni) pouze
casti obrazu bez predchoziho nacteni celeho.
> Problem je prave v tom, ze tak velikou bitmapu v pameti nevytvoris,
> protoze
> pri rozmerech 20000x20000 a 24 bit. hloubce by zabrala cca 1144 MB, coz je
> pomerne dost. Proto se snazim pracovat pouze s vyrezem zmineneho obrazku,
> ale nevim jak na to. Zkousel jsem i Bmp.Canvas.Draw(0,0,Jpg), ale tato
> tato
> metoda pravdepodobne vytvari docasnou bitmapu o rozmerech Jpg, takze take
> skonci s chybou nedostatku zdroju.
>
>> nechapu problem ... TCanvas.CopyRect() pro docasne vytvoreneho TBitmap by
>> neslo? ... unitu s funkci pro ulozeni do JPG poslu na vyzadani na tvuj
>> mail
>>
>>
>>
>>> snazim se pracovat s obrazkem jpeg o rozmerech cca 20000x20000 px,
>>> Bmp.Assign(Jpg) nepripada v uvahu, kvuli nedostaku sys. prostredku,
>>> zajimalo
>>> by me jestli nekdo nezna komponentu ci knihovnu pomoci ktere by slo
>>> prevest
>>> do Bmp pouze vyrez zminovaneho Jpg.
>>> Bylo by vynikajici kdyby dana knihovna umela i opacnou konverzi,
>>> napr.(Bmp(256x256px) zapsat do Jpg(20480x2048px) na pozici 1024,512).
>>
>>
>
>
Memo a azbuka
[*] Ing. Dubsky Jan <dubsky(zv)s-palava(tec)cz> - 13.9.2005 12:56:52
> Pouzit nejake UNICODE memo, napr. z TNT Unicode Controls
> Jinak bys musel pouzit TTF font a nastavit Cyrilici. Ale jakmile tam
> mas otazniky, znamena to, ze ze schranky to slo v UTF-8
Pouzil jsem, ale jak jsem zjistil, tak to neni uplne to, co potrebuji.
Popisu cely problem.
Mam text v rustine we Wordu a potrebuji ho prekonvertovat a pomoci schranky
vlozit do databaze, ktera ma vazbu na web a zobrazuje se na ceskych
strankach (jedna polozka vety) a v ruske mutaci (druha polozka vety).
Problem je v tom, ze kdyz do databaze vlozim azbuku, na webu vidim
"rozsypany caj", kdyz do databaze vlozim "rozsypany caj" tak na vebu vidim
azbuku. - Zjisteno experimentalne z jiz hotovych stranek.
Ja tedy potrebuji obecne jakykoliv text ve wordu v azbuce prevest na jiz
zmineny "rozsypany caj", abych pak na webu zase videl azbuku.
Domnival jsem se, ze vezmu azbuku z TntMemo a znak po znaku jej prevedu na
"rozsypany caj", ale nefunguje to. Prestoze vidim v TntMemo azbuku tak
vsechna pismena davaji Ord(s) = 63, coz je zase ten zmineny otaznik.
Budto je potreba jeste neco nastavit v TntMemo, nebo jdu uplne spatnou
cestou.
Jeste jednou dik za radu
Honza