Archív konference Delphi

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

MAINICION

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 26.6.2001 14:50:38



> Jakym zpusobem lze v programu nastavit ikonu aplikace ve vlastnim resource
> souboru.
> Pokud vytvorim vlastni rs soubor a do nej vlozim radek
>
> MAINICON ICON 'aplikace.ico'
>
> Pri kompilaci dostanu WARNING s hlaskou, ze dochazi k duplikaci RESOURCE,
> ale ze zanecha ten muj
>
> Lze nejak rici Delphi, aby nevytvarel defaultni ikonu v projektovem res?
>
> Potrebuji mit podminenou komilaci, kterou budu menit ikony aplikace.
>

jedna z "cest", ktere zabrani IDE vlozit MAINICON do resourcu je vyhodit {$R
*.res} z projektu. Jednou se mi to povedlo a pak jsem dloho hledal proc ta
ikona zmizela :-). Ale tim se samozrejme vyhodi vic veci a pouzitelne je to
asi jen v pripade aplikace bez VCL...


D. Toman

SQL a binary datafield

[*] rjunga(zv)oku-ka(tec)cz - 26.6.2001 14:53:47

Ahoj vsichni,

potrebuji poradit, jak pomoci SQL ulozit do databaze typu Paradox5 jakykoli
soubor. Vim, ze v databazi musim mit polozku typu BINARY, ale jak tam
dostat ty data?

Help me.

Dekuji vsem.

Roman


revoke Update - TIB_GRID

[*] Slavomir Hutyra <svafko(zv)pobox.sk> - 26.6.2001 15:07:11



Pouzivam D5 enterprise, IB6 , Ib_objects
ak nastavim
revoke Update ON PSC FROM JOZO

v TIB_GRID pri zobrazovani PSC nastane chybova hlaska
ze nemam prava na UPDATE ale ja iba zobrazujem GRID
(v monitore sa objavuje :

---------------------------------
SELECT ID_PSC
, NAZOV_MESTA
, PSC
FROM PSC
ORDER BY PSC.NAZOV_MESTA ASC

PLAN SORT ((PSC NATURAL))

FIELDS = [ Version 1 SQLd 3 SQLn 3
PSC.ID_PSC = <NIL>
PSC.NAZOV_MESTA = <NIL>
PSC.PSC = <NIL> ]

SECONDS = 0,020
----*/
/*---
EXECUTE STATEMENT
TR_HANDLE = 15540656
STMT_HANDLE = 15540492
PARAMS = [ ]
----*/
/*---
PREPARE STATEMENT
TR_HANDLE = 15540656
STMT_HANDLE = 15548796

UPDATE PSC SET
NAZOV_MESTA = ? /* NAZOV_MESTA */ ,
PSC = ? /* PSC */
WHERE
ID_PSC= ? /* ID_PSC */

FIELDS = [ Version 1 SQLd 3 SQLn 0 ]

ERRCODE = 335544352
---------------------------
urcite na to nema vpliv ReadOnly pri TIB_Query, TIB_GRID alebo
TIB_Transaction.
Diky za radu

Svafko


svafko(zv)pobox.sk

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

seriova komunikace v Pascalu

[*] Hurricane <hurricane(zv)quick(tec)cz> - 26.6.2001 15:07:27

Zdravim

Jednoduse pomoco Port[adresa+offset] muzes ovladat jednotlive linkz na COMu,
ale neni to zadne vysilani bytu jako packetu. To by bylo IMHO vcelku
slozite. Jestli mas zajem, muzu opsat zdrojaky ze stredoskolske pripravy a
poslat ti to.

Hurricane

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

> potrebuju pro jeden starsi program napsanej v TP7 dodelat to, abych
> jednoduse mohl poslat na seriovy port nejakej byte a naopak z portu cist.
> Mate nekdo zdrojacek, radu, napad, odkaz, knihovnu, ...

Co pozira systemove prostredky?

[*] Hurricane <hurricane(zv)quick(tec)cz> - 26.6.2001 15:18:15

Zdravim

Nedavno jsem resil podobny problem, i kdyz to prostredky nepoziralo. Mam
jednu komponentu A a te muzu priradit urcitou jinou komponentu B (tech je
vice ruznych druhu: Ba, Bb). V jedne procedure jsem potreboval zmenit typ B
komponenty a zase ji na konci vratit zpatky. Udelal jsem to takhle:

var aB: TB;
begin
aB := A.B;
A.B := Bb
......
......
A.B := aB;
end;

Fungovalo to, ale kompilator hlasil Warning, ze aB neni zinicializovana.
Prijde mi zbytecne aB vytvaret (Create) a pak zase rusit (Free), kdyz ji
nepotrebuju. JE to stejne jako pouziti promenne TString, ten taky nemusim
vytvaret. Bylo to v poradku?

-------------
K tvemu dotazu. Pokud nekde volas Create, pak musis na konci pouzit Free.
Pokud nic nevytvoris, nemas co uvolnovat.

Hurricane

----- Original Message -----
> moje aplikace dost krute uzira systemove prostredky. Nedavno jsem vznesl
> dotaz, proc tomu tak je, ale nikdo se nechyt.
>
> Mam tedy konkretni dotaz. Je v poradku, kdyz si vytvorim globalni
promenne
> jako treba nasledujici:
>
> ACombo,BCombo:array[1..4] of TComboBox;
>
> a pak provadim
> ACombo[1]:=NejakyComboBox;
> ACombo[2]:=JinyComboBox;
> ...
>
> tzn. vytvarim si pole komponent z formulare.
>
> Je to v pohode? Nemusim nic uvolnovat?

Registry a restart/vypnuti windows

[*] Hurricane <hurricane(zv)quick(tec)cz> - 26.6.2001 15:30:39

Zdravim

MyInit : TRegistry; mas hned ya implementatiuon? Pak to bude asi tim. Ja mam
pro kazdou proceduru zvlastni promenou Registry : TRegistry; a v kazde
procedure volam Create a na konci Free. Ale fungovalo mi to i bez Free.

Hurricane
----- Original Message -----
From: "Zdenek Janish" <medusa(zv)brajan(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Tuesday, June 26, 2001 11:58 AM
Subject: Registry a restart/vypnuti windows


> Zdravim,
>
> pred casem jsem psal, ze mam alikaci ktera neustale bezi, taktez to ze v
> pripade ukonceni windowsu se aplikace odmitne ukoncit a nasledne i
windowsy.
> Po kratke dobe (asi tak mesici) jsem konecne prisel cim to. V pripade ze
dam
> do TForm.QueryClose nebo sekce finalization uvolneni (MyInit.Free) tak se
> aplikace prestane ukoncovat.
> Proc?
> MyInit je TRegistry a je globalni...
>
> D5 ent, Win2k, ME, W98.
>
> Zdenek
>
>
>

ovladac na zvuk do win

[*] iko <iko(zv)kamarad(tec)cz> - 26.6.2001 15:32:49

Caute...

nevie niekto robit ovladac do windowsu? konkretne by som potreboval na
zvukovu kartu. chcel by som spravit taky ovladac, co bude tlacit to co ma
hrat na disk ako wav. netusim ako sa to robi. ked som si stiahol DDK od
Microsoftu, tak sa v tom nemozem vysomarit.

ak niekto nieco vie...prosim...

--
Vsetky informacie v tomto e-mailu vratane odosielatela a prijemca su
uplne vymyslene a akakolvek podobnost je ciste nahodna


Samolepici etikety

[*] Hurricane <hurricane(zv)quick(tec)cz> - 26.6.2001 15:35:19

Zdravim

V papirnictvi, kde jinde. Koupil jsem tam cisty samolepici papir A4.

Hurricane

----- Original Message -----
> delam aplikaci pro tisk etiket ale na zkouseni potrebuji sehnat samolepici
> etikety pro tisk v laserove tiskarne. Etikety musi byt ve tvaru dvou
> propojenych casti (jedna cast se nalepi a druha zustane nenalepena a je
> urcena k pozdejsimu odtrhnuti). Nevite kde se daji sehnat?

Prosim jaky MB si mam koupit

[*] Milan Schembera <milan(zv)missoftware(tec)cz> - 26.6.2001 15:47:22

Zasadne ASUS. Minimalne CUSL. A zasadne FC-PGA.

end ohekzeh minarp a mevardzop S

arebmehcS naliM .rDCP
ERAWTFOSSIM
444449/8060 .let
zc.erawtfossim.www\\:ptth

> ::QDI nebo
> ::ECS K7AMA, ALI Magic 1645 - socketA, Sound, LAN, mATX
>
> brrrr, jedine ASUS, ABIT, resp. MSI ale rozhodne te odrazuji
> od experimentu
> s nejakyma takovyma hruzama...
> neusetris, leda se s tim budes dozirat a resit "zahadne"
> pady, tuhnuti apod.
>
> J.K.
>

Prosim jaky MB si mam koupit

[*] Milan ��ek <Cizek.Milan(zv)seznam(tec)cz> - 26.6.2001 15:48:10

> ::QDI nebo
> ::ECS K7AMA, ALI Magic 1645 - socketA, Sound, LAN, mATX
>
> brrrr, jedine ASUS, ABIT, resp. MSI ale rozhodne te odrazuji od experimentu
> s nejakyma takovyma hruzama...
> neusetris, leda se s tim budes dozirat a resit "zahadne" pady, tuhnuti apod.
>

Plne souhlasim, na desce by se nemelo setrit - to stejne vzdy skonci koupi nove desky (vlastni zkusenost). Doporucuju Asus/Abit nejlepe nejaky intelacky chipset... (zadna lacina via atp.)
______________________________________________________________________
Denn� nov� Last Moment - objednejte http://na.dovolenou(tec)cz/last.php3
Aktualizovan� nab�dky 1.000 z�jezd� http://na.dovolenou(tec)cz/

AnsiStringy

[*] Jan Grman <janog(zv)pluto.elf.stuba.sk> - 26.6.2001 15:56:30

> procedure test;
> TYPE
> PRec = ^TRec;
> TRec = Record
> a : String;
> end;
> VAR
> P : PRec;
> begin
> GetMem(P,100);
> P^.a := 'a';
> // tady to lehne - protoze P^.A neni korektne inicializovane
> ...
> end;

Mily kolega. Tvoj priklad sice naozaj "lehne", ale to preto, ze neovladas
zaklady prace so strukturou RECORD.
V casoch TP bol STRING dlhy 255 znakov (len string[x] bol kratsi) a
pouzivalo sa NEW(P).
Dnes je to to iste. GetMem(p: POINTER, size) sa pouziva na alokaciu
kontinualneho vnutorne nestrukturovaneho (samozrejme z pohladu struktury
jazyka pascal - nie struktury dat ktore chcem ulozit) priestoru (potrebujem
niekde ulozit 200kB obrazok).

Dnes je situacia so stringom TAKATO (vid HELP):
============= CUT =============
ShortString 255 characters 2 to 256 bytes backward
compatibility
AnsiString ~2^31 characters 4 bytes to 2GB 8-bit (ANSI)
characters
WideString ~2^30 characters 4 bytes to 2GB Unicode
characters; COM servers and interfaces

AnsiString, sometimes called the long string, is the preferred type for most
purposes.
String types can be mixed in assignments and expressions; the compiler
automatically performs required conversions. But strings passed by reference
to a function or procedure (as var and out parameters) must be of the
appropriate type. Strings can be explicitly cast to a different string type
(see Typecasts). The reserved word string functions like a generic type
identifier. For example, var S: string;

creates a variable S that holds a string. In the default {$H+} state, the
compiler interprets string (when it appears without a bracketed number after
it) as AnsiString. Use the {$H-} directive to turn string into ShortString.
============= CUT =============

Teda dnes je to teda standardne ANSISTRING a je to SMERNIK (skus pretypovat
string na PCHAR - v pohode !)
Aj dnes sa pouziva na alokaciu RECORD struktury NEW(P) a potom normalne P^.a
:= 'cokolvek';
A ked uz by som potreboval vyhradit 100bytov, tak potom sekvenciou NEW(P);
SETLENGTH(P^.a, 100);
a potom veselo P^.a[x] := 'z'

No a pokial ide o Vasu diskusiu:
- premenna moze byt globalna, alebo lokalna - v oboch pripadoch je jasne
kedy vznika a kedy zanika
- pri vzniku je inicializovana, pri zaniku uvolnena, pri priradeni je
povodna hodnota uvolnena a alokovana nova hodnota
Mozno sa mylim, ale kde by mal byt akoze problem ?

S pozdravom
JaNo, janog(zv)pluto.elf.stuba.sk

KYLIX - komponenty

[*] BLAU <blau(zv)emdat(tec)cz> - 26.6.2001 15:57:13

Ahoj dikec jak jsem se dival je to za 399 U$ to by slo, jeste
potrebuji tiskove sestavy neco jako Sineu pro KYLIX nevis prosim o necem ?
Pak muzu ten projekt spustit ... ostani se da ozelet a doprogramovat... :)
Petr Blau
software developer
> Puvodni zprava, kterou napsal BLAU dne 26 Jun 2001,:
>
> > Jinak bez podpory seriove komuniakce a kvalitnich tiskovych =
> > vystupu je mi KYLIX i s celou paradou okolo na nic a nezbyde nic jineho
=
> > nez zase pro kazdeho clienta licencovat Wopice od M$. =20
>
> TurboPower nedavno uvedl Async Professional CLX, ktery podporuje
> tedy i Kylix. Ale zadarmo rozhodne neni :)

Prosim jaky MB si mam koupit

[*] Milan Blazek <mbsint(zv)telecom(tec)cz> - 26.6.2001 15:58:57


S deskama QDI mame ty nejlepsi zkusenosti (asi 5let) a neni to zadny srot
!!!
Mnohdy jsou QDI stabilnejsi nez desky ASUS (jinak doporucuji), ktere jsou
rychlejsi
ale citlivejsi na prepeti.

Jinak souhlasim, ze dalsi znacky Abit, GigaByte a MSI jsou srovnatelene - v
testech
jsou mnohdy velice dobre a zalezi na tom, ktery konkretni typ desky se
srovnava s jinou deskou.

Akorat deskam s cipem ALI je nejlepe se vyhnout - maji hodne potizi sami se
sebou a
s kompatibilitou.

S pozdravem
M.Blazek


> From: "Radek KALA" <Kala(zv)Atlas(tec)cz>
> > QDI KinetiZ
> > ECS K7AMA, ALI Magic
>
> Brrr, tak tomuhle srotu se zdaleka vyhni. Jedine: Abit, Asus, GigaByte,
MSI.
> Na MB (a monitoru) se nevyplati setrit.
>
> Petr Vones, amatersky programator
>
>

Prosim jaky MB si mam koupit

[*] Karasek Jaroslav <Jaroslav.Karasek(zv)swh.sk> - 26.6.2001 15:59:55

Skusenosti mam len s QDI. Slusna doska bez problemov. Nejake informacie sa
daju najst na
www.overclocking(tec)cz - (najma vo forach)
http://www.doupe(tec)cz/vaulty/amd/ - sekcia HW Info.

Jaroslav Karasek

> -----Original Message-----
> From: Radek KALA [mailto:Kala(zv)Atlas(tec)cz]
> Sent: Tuesday, June 26, 2001 1:16 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: RE2: Prosim jaky MB si mam koupit
>
>
>
> > ::QDI nebo
> > ::ECS K7AMA, ALI Magic 1645 - socketA, Sound, LAN, mATX
> >
> > brrrr, jedine ASUS, ABIT, resp. MSI ale rozhodne te
> odrazuji od experimentu
> > s nejakyma takovyma hruzama...
> > neusetris, leda se s tim budes dozirat a resit "zahadne"
> pady, tuhnuti apod.
> >
> Tak Vam teda dekuju, potrebuju to koupit dnes a z nabidky techto
> dvou. To ze muze existovat neco lepsiho bych vymyslel taky. Na
> druhou stranu neverim tomu, ze QDI nebude fungovat, uz jsem jich
> videl nekolik a fungovaly.
> Zkuste prosim poradit nekdo kdo zna ty ECS a chipset ALI Magic
> Jeste jednou dekuji
>
> S pozdravem Radek KALA
> BetaControl, s.r.o.
> Cerneho 58/60, 635 00
> tlf. : + 420 5 4622 3491
> fax : + 420 5 4622 3470
> GSM : + 420 603 85 75 15
>

KYLIX - INTERBASE - MYBASE

[*] BLAU <blau(zv)emdat(tec)cz> - 26.6.2001 16:06:25

Jeste dotazek

ktera verze KYLIXU plnohodnotne podporuje pristup na INTERBASE?
vim jak je to s licencovanim verzi v K, ale zajimaji me konkretni zkusenosti ne to co prohlasuji obchodnici. Takze panove mate nekdo aplikaci v KYLIXU napojenou k teto DB o kterem muzete prohlasit ze chodi. Potrebuji napojit query, table a volat sql procedury...

Jak je to s vychvalovanou MyBase - chodi to? zkousel jste to nekdo? Jak velke mohou byt tabulky?

S pozdravem Petr Blau software developer


KYLIX - komponenty

[*] BLAU <blau(zv)emdat(tec)cz> - 26.6.2001 16:10:40


Existuje i neco jako FlashFiler pro KYLIX ... priadne planuje se neco asi do
toho jako distributor vidis vic ze?
Nebo je MyBase tak dokonala ze uz netreba porizovat nic jineho?
Da se s MyBasi delat po internetu pripadne po siti tak jako s FlashFilerem?

Petr Blau
software developer

Variant NULL a klasicke typy

[*] Listuj <listuj(zv)centrum(tec)cz> - 26.6.2001 16:46:23

Zdravim vsechny,

mam dotaz ohledne predavani parametru do ulozenych procedur na
serveru.

V procedure na serveru testuji zda predana promenna je Null
nebo ne a podle toho se zarizuji. Avsak mam jeden problem. V
projektu delphi mam klasicke typy promennych (integer, string
atd) a tyto typy bych potreboval v pripade, ze je nechci mit
naplnene inicializovat prave na hodnotu null. Proto se vas ptam
zda to jde, nebo to lze vyresit nejak jinak?

Pokud prebiram informace od uzivatele tak presne vim zda
vyplnil policko nebo ne. A podle toho naplnim promennou zadanym
textem nebo potrebuji vyplnit _nicim_ NULL hodnotou.

Diky za vase napady a rady


PS> pri prirazeni string := null
mi zahlasi "invalid variant type conversion"
*****************
Jarda Jirava
(zv)
LiStuj
listuj(zv)centrum(tec)cz
^^^^^^^^^^^^^^^^^
SW development
^^^^^^^^^^^^^^^^^
*****************

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

AnsiStringy

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 26.6.2001 16:54:51



> > procedure test;
> > TYPE
> > PRec = ^TRec;
> > TRec = Record
> > a : String;
> > end;
> > VAR
> > P : PRec;
> > begin
> > GetMem(P,100);
> > P^.a := 'a';
> > // tady to lehne - protoze P^.A neni korektne inicializovane
> > ...
> > end;
>
> Mily kolega. Tvoj priklad sice naozaj "lehne", ale to preto, ze neovladas
> zaklady prace so strukturou RECORD.

:-(
mrzi me, ze me povazujes za takoveho pitomce, ale priklad byl
opravdu jen demonstracni. Ale nic se nemeni na tom, ze prave
pri dynamicke alokaci rekordu a spol nedojde k inicializaci
AnsiStringu.

Uvazujici clovek si muze ten priklad zmodifikovat tak aby lepe mu vyhovoval


procedure test;
TYPE
PRec = ^TRec;
TRec = Record
a : String;
end;
VAR
P : PRec;
begin
GetMem(P,SizeOf(TRec));
P^.a := 'a';
// tady to lehne - protoze P^.A neni korektne inicializovane
...
end;

--
podotykam, ze mi je jasne , ze v tomto pripade ma TRec velikost
jen 4 byty a AnsiString je jen pointer na jakousi strukturu (ale posunuty
tak, ze ukazuje az za jeji hlavicku a tedy miri na vlastni retezec), ktera
drzi informace o vlastnim AnsiStringu.
Tim, ze jsem v prvnim examplu alokoval 100 bytu jsem samozrejme
nezamyslel rezervovat misto pro vlastni retezec...

--

>Aj dnes sa pouziva na alokaciu RECORD struktury NEW(P) a potom normalne
P^.a
>:= 'cokolvek';

New() se od GetMemu lisi (krome jineho) tim, ze vola GetMem a pak
inicializuje promenne. Cili pokud v mem prikladu nahradim New() GetMemem pak
k chybe nedojde.

Jenze ja jsem chtel jen upornit na pripady, kdy k inicializaci stringu
nedochazi. Obcas neni mozne pouzit New ale musim sahnout po GetMemu (prave,
kdyz potrebuju alokovat blok jehoz velikost neni shodna s velikosti
definovanou typem) nebo Win API funkci pro alokaci pameti.

D. Toman

KYLIX - komponenty

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 26.6.2001 17:25:11

Puvodni zprava, kterou napsal BLAU dne 26 Jun 2001,:

> Existuje i neco jako FlashFiler pro KYLIX ... priadne planuje se neco asi do
> toho jako distributor vidis vic ze?

:))) To je dobry forek :))) Ja jako distributor toho vim mnohdy mene
nez bezny zakaznik... Nevim, jestli neco planuji, nic nereknou.
Mozna nahledni do jejich newsu, jestli nekdo neco nepise, ja uz tam
nejakou dobu nebyl...

PS: V Kylixu fakt neni zadny nastroj na sestavy?


S pozdravem
Petr Zahradnik, pocitacovy expert

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

Excel na tisic zpusobu :o(

[*] Tom� Janta����##��{�#��Y��̿ - 26.6.2001 17:34:21

DD,

Je mi jasne ze kolem Excelu tu jiz bylo mnoho prizpevku, ale nedostatecna
dokumentace a priklady me nuti ptat se znovu a znovu. :o(

Potrebuji napsat aplikaci se zivou tabulkou v Excelu. Jde o zapis do excelu
asi 100 bunek, kazdych 10 minut.
Momentalne se snazim naucit se s Excelem komunikovat. Zkousel jsem
komponenty Automation Servers (TExcelApplication,atd..) i klasicky zpusob
OLE Automation. (Var Excel:Variant; ...
FExcel:=CreateOleObject('Excel.Application');) U obou zpusobu jsem narazil
na problemy.

1) Poradte co je lepsi pouzivat.
2) Poradte jak vytvorit novy SESIT (Workbook) s urcitym nazvem (resp. novy
soubor), umim vytvorit zadany SESIT, ale nedari se me jej pojmenovat ci
ulozit.
3) Kdyz vytvarim novy LIST (Worksheet) tak se mi radi jako prvni v rade, ale
ja bych ho potreboval vyvorit nakonci rady. Koukal jsem se do helpu VB ale
neumim pouzit parametr After, Before atd...

Diky za kazdy prikladek ci odkaz

W2000/W98, D5 Pro

Tomas Jantac

PaPouch elektronika
www.papouch.com

KYLIX - komponenty

[*] Gebauer Lukas <gebylist(zv)mlp(tec)cz> - 26.6.2001 17:50:09

> > TurboPower nedavno uvedl Async Professional CLX, ktery podporuje
> > tedy i Kylix. Ale zadarmo rozhodne neni :)

Osobne planuji behem cervence vyrobi a uvest novou knihovny
SynaSer, ktera bude kompatibilni s Kylixem. Takze ona seriova
komunikace se pak da resit timhle... zadarmo!


Louci se Lukas Gebauer.

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


Registry a restart/vypnuti windows

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 26.6.2001 17:52:06

Zdenek Janish dne 26 Jun 2001, v 11:58:
> pred casem jsem psal, ze mam alikaci ktera neustale bezi, taktez to ze
> v pripade ukonceni windowsu se aplikace odmitne ukoncit a nasledne i
> windowsy. Po kratke dobe (asi tak mesici) jsem konecne prisel cim to.
> V pripade ze dam do TForm.QueryClose nebo sekce finalization uvolneni
> (MyInit.Free) tak se aplikace prestane ukoncovat. Proc? MyInit je
> TRegistry a je globalni...

Ahoj,

nemuze to byt prave tim, ze je to tRegistry? Zkousel jsi uvolnovat i
nejaky jiny objekt? Napada me, ze kdo vi (nekdo z vas urcite ano, ale
ja tedy ne...), co Windows delaji s registry pri ukoncovani Windows,
a je mozne, ze komponenta tRegistry pri zavolani .Free jeste zkousi s
registrem nejakou operaci, kterou uz Windows nepovoli, a tim se to
"nejak zvrtne". Mozna, je to jen napad.

Karel Rys


Interbase po siti

[*] Miroslav Evj�k <evjak(zv)atlas(tec)cz> - 26.6.2001 18:14:35

Ahoj,

prosim o nakopnuti aneb co delam blbe ?

Situace:
PC1 W2000 s bezicim InterBase serverem
PC2 W98 Interbase klient

sitovy protokol TCP/IP, sit beha OK.

Na PC2 se v IBconsole snazim hrabnout po siti na databazi na PC1 pomoci
Server->Diagnose connection. Vzhledem tomu ze vzdy skoncim na nize uvedenych
problemech, tak asi zadavam ve spatnem tvaru cestu k databazi.

Test TCP/IP je OK:
------------------
Attempting connection to pc1.
Socket for connection obtained.

Found service 'GDS_DB' at port '3050'
Connection established to host 'pc1',
on port 3050.

TCP/IP Communication Test Passed!
DB connection nezafunguje:
--------------------------

database \\pc1\ibtest\employee.gdb

An InterBase error has occurred while attaching.
Error - I/O error for file "\ibtest\employee.gdb"
Error while trying to open file
Syst�m nem��e nal�zt uvedenou cestu.

InterBase Communication Test Failed!


anebo database pc1:/ibtest/employee.gdb

An InterBase error has occurred while attaching.
Error - I/O error for file "/ibtest/employee.gdb"
Error while trying to open file
Syst�m nem��e nal�zt uvedenou cestu.

InterBase Communication Test Failed!

"ibtest" je sdileny nazev adresare na "PC1", kde je fyzicky soubor
"employee.gdb", pristupova prava jsou OK.


Stejne jsem dopadl, kdyz jsem mu namapoval NET USE E: \\pc1\ibtest
a cestu jsem zadal E:\employee.gdb.


Je problem ve tvaru cesty nebo delam neco jineho uplne blbe ? Diky za radu,
prvni pokusy jsou vzdy nejhorsi ;-).


Mirecek
mailto:evjak(zv)atlas(tec)cz


Interbase po siti

[*] Zdenek Moravec <zmo(zv)volny(tec)cz> - 26.6.2001 18:22:26

Ahoj


>
> database \\pc1\ibtest\employee.gdb
>

toto je zapis pro protokol netbeui

>
> anebo database pc1:/ibtest/employee.gdb
>

toto by melo byt nejak takto:
pc1:c:/ibtest/employee.gdb - tedy vcetne pismene (pokud nemas linux :-)

Pres "sitove pismeno" se pripojit nejde. Musi to byt vzdy s cestou platnou
na PC (lokalni), na kterem je spusteny IB server.

Snad to je jasne.

S pozdravem (Regards)
Zdenek Moravec zmo(zv)volny(tec)cz


Interbase po siti

[*] Gebauer Lukas <gebylist(zv)mlp(tec)cz> - 26.6.2001 18:39:27

> anebo database pc1:/ibtest/employee.gdb
> "ibtest" je sdileny nazev adresare na "PC1", kde je fyzicky soubor
> "employee.gdb", pristupova prava jsou OK.

Nene, zadne sdileni sem nemotej!

To je prave vlastnost SQL databazi, ze veskera komunikace s nima
probiha jejich vlastnim protokolem, v pripade interbaze pomoci TCP
na portu 3050. Jakakoliv jina ci dalsi konektivita NENI TREBA!
Tedy nepotrebujes na to vubec zadne sdileni.

Tim, ze v tve konfiguraci napises "pc1:/ibtest/employee.gdb", tim
rikas dve veci:

1. Klientu interbaze rikas, ze se ma spojit svym protokolem s
pocitacem "pc1", coz je jeho internetove jmeno. Klidne misto toho
muze byt IP adresa. Tim padem by bylo lepsi, kdybys uvedl plne
internetove jmeno toho pocitace (tedy o co mas v DNS), takze
lepsi je trebas "pc1.kdosi(tec)cz", protoze se vyhnes pripadnym
problemum s nastaveni defaultni internetove domeny v konfiguraci
windows.

2. Klient se tedy spoji s timto serverem, a rika mu: "otevri databzi,
kterou mas na disku tady... v "/ibtest/employee.gdb".

Uvedom si, ze po te ceste co ji uvadis se shani ten interbazovy
server, ne tvuj pocitac! Existuje z pohledu toho serveru na jeho
lokalnim disku nejaka takovahle cesta?

Neznaje interbazi na W2000, zeptam se mozna blbe... ale nechybi
v te ceste nejake pismenko disku? Ibdata je nazev sdileni, nebo
skutecneho adresare?

tak snad ti to pomuze dopatrat se spravneho tvaru. ;-)

Louci se Lukas Gebauer.

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


Prosim jaky MB si mam koupit

[*] Lauko tefan <laukosw(zv)naex.sk> - 26.6.2001 18:44:51


From: Radek KALA <Kala(zv)Atlas(tec)cz>
> > ::QDI nebo
> > ::ECS K7AMA, ALI Magic 1645 - socketA, Sound, LAN, mATX
> >
> > brrrr, jedine ASUS, ABIT, resp. MSI ale rozhodne te odrazuji od
experimentu
> > s nejakyma takovyma hruzama...
> > neusetris, leda se s tim budes dozirat a resit "zahadne" pady, tuhnuti
apod.
> >
> Tak Vam teda dekuju, potrebuju to koupit dnes a z nabidky techto
> dvou. To ze muze existovat neco lepsiho bych vymyslel taky. Na
> druhou stranu neverim tomu, ze QDI nebude fungovat, uz jsem jich
> videl nekolik a fungovaly.
> Zkuste prosim poradit nekdo kdo zna ty ECS a chipset ALI Magic
> Jeste jednou dekuji

Ja mam QDI KinetiZ som spokojny a ani som este nezazil ze by mi to padalo.
Pouzivam multi boot W98/2000/Linux a slape to bez problemu. Vyberal som ho
podla roznych clankov na Internete v tom case to bola slusna doska (pol
roka?). Ale urcite su uz lepsie.
Ale uz je asi neskoro...
Lauko.

Interbase po siti

[*] Jiri Binder <j.binder(zv)albacon(tec)cz> - 26.6.2001 19:11:47

From: "Gebauer Lukas" <gebylist(zv)mlp(tec)cz>
> To je prave vlastnost SQL databazi, ze veskera komunikace s nima
> probiha jejich vlastnim protokolem, v pripade interbaze pomoci TCP na
> portu 3050. Jakakoliv jina ci dalsi konektivita NENI TREBA! Tedy
> nepotrebujes na to vubec zadne sdileni.

Pripojil bych se poznamkou:
Dokonce je takove sdileni nezadouci, protoze vlastni soubor s daty
by mel byt uzivateli nedostupny a je to jedna z dulezitych
vlastnosti SQL databazi, ze to umoznuji.
Jiri Binder


OT: RE: Mrznouci pocitac a Delphi 5 enterprice a k

[*] David Mensik <mensikd(zv)seznam(tec)cz> - 26.6.2001 20:45:38

> Ahoj
> Pri spusteni nasledujiciho ucebnicoveho prikladu mi vzdycky vytuhne
> pocitac.
> (On mi zmrzne casto a pri ruznych vecech (vzdy v Delphi), ale tady by to

Zdar,
je to OT, nepatri to do konfery, ale myslim, ze tato informace se bude hodit
vice programatorum:
pokud mrzne pocitac a dela to casteji, zkuste si otestovat pamet. Pokud to
chcete provest poradne, pouzijte memtestx86 - je dostupny treba na ftp
severech, kde je distribuce Madrake Linux v images myslim. Ja jsem jel pul
roku na vadne pameti a verte tomu, ze to byl porod ( rikal jsem si: Ja jsem
king, ja nemuzu mit vadnou pamet ;)).

Ozon

P.S. adresa primo na memtest: http://www.teresaudio.com/memtest86/ -
potrebujete jen volnou disketu, na kterou nahrajete podle pokynu image, pak
s ni nabootujete a memtest se spusti. Program je docela citlivy, pokud mate
silne ruseni v siti (myslim napajeci, ne Inetu ;) tak muze taky vyhazovat
chyby... Pokud vam vypadne nejaka chyba, tak pustte memtest znova, jestli
bude chyba na stejnem miste - tak mate vadnou pamet. 90% problemu s pocitaci
(tuhne, BSOD apod.) je v vadnych pametich...

Prosim jaky MB si mam koupit

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

From: "Milan Blazek" <mbsint(zv)telecom(tec)cz>
> Jinak souhlasim, ze dalsi znacky Abit, GigaByte a MSI jsou srovnatelene - v
> testech

Ahoj,

treba tady:
http://svethardware(tec)cz/sh/sh1.nsf/0/0B694DA966A2E3AE80256A7600781B3F

Petr Vones, amatersky programator

AnsiStringy

[*] Erik Salaj <winsoft(zv)stonline.sk> - 26.6.2001 23:15:55

> > Aj u dynamicky alokovanych/uvolnovanych (t.j. pomocou new/dispose)
> > premennych/strukturach/poliach su stringy korektne inicializovane a
> > uvolnovane

> begin
> GetMem(P,100);
> P^.a := 'a';
> // tady to lehne - protoze P^.A neni korektne inicializovane

Lenze Ty si nealokoval record ale kus pameti, co nie je to iste. Treba
pouzit new/dispose (ako som to napisal) a nie GetMem a pod.

> > Moze to byt kludne i volana procedura.
>
> nepodarilo se mi prijit na to kdy. Je-li parametr predan jako VAR - nesmi

> Napis kdy procedura uvolni stringo deklarovane mimo ni.

Napr. ked sa predava dynamicky alokovany zaznam so stringom a volana
procedura ho zrusi pomocou dispose.

> grr! Samozrejme, ze se reference zvysuje, kdykoliv se vyrobi dalsi kopie
> stringa. Ja se bavil ale o vlivu typu predavani stringa procedure na citac
> referenci. Pokud jsi presvedcen, ze :

> Procedure XY(VAR S : String);
> begin
> S := 'a';
> end;

> zvysuje reference ci vytvari automaticky dealokacni kod tak si to zkus
> zkompilovat a podivej se do vysledneho kodu.

Ci to nebude nahodou tym, ze sa procedure nepredava adresa stringu
ale adresa referencie na string? A kedze adresa referencie na string
nie je referenciou na string, tak manipulovat s pocitadlom referencii
na string by asi nebolo korektne, vsak?

Okrem toho moze kompilator v urcitych pripadoch z dovodu
optimalizacie kodu vynechat manipulaciu s pocitadlom referencii
(napr. ked parameter sa nepouzije, alebo sa deklaruje ako const),
co vsak nic nemeni na jej funkcnosti.

> > Nie je ani tak dolezite, ci to tobi 'legalne' ale ci to robi 'spravne'
;-)
>
> Opet me utvrzujes ve svych demagogickych schopnostech

Dobry priklad 'legalnej' somariny. ;-)

Erik


KYLIX - komponenty

[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 26.6.2001 23:36:40

From: BLAU
> Dotaz: existuje nejaka alternativa ke komponentam .....
> ... generatoru tiskovych sestav Sinea pro KYLIX 1.0 ?

Na strankach www.sinea(tec)cz je umistena nulta verze
generatoru tiskovych sestav SINEA pro Kylix.
Na urovni public a published metod a property
to je kompatibilni s komponentami pro Delphi
verze X.39, takze nic nebrani prevodu aplikaci
z Delphi pod Kylix.

Zatim nejsou dodelany implementace vsech metod,
zejmena chybi editor predloh. Pokud ale jsou
hotove predlohy z Delphi, neni problem.

Ma to jeste nejake mouchy, napriklad vsechny
texty jsou pri tisku zmenseny v pomeru 72:96,
ale to snad daji autori behem dovolene do poradku.

S pozdravem
Vaclav Krmela

Shortcuts v aplikaci s komponentou WebBrowser

[*] L.Svoboda <konference(zv)fdsystem(tec)cz> - 27.6.2001 00:35:11

Zdravim

Narazil jsem na nasledujici problem...
Podminky:
- Delphi 5, MS-IE 5.5
- aplikace typu SDI
- hlavni formular
- na nem komponenta ToolBar jako MainMenu a komponenta WebBrowser
Nastane:
- pokud neni v WebBrowser nacten zadny obsah, nic se nedeje
- pokud je, pri stisku klaves se tyto zpracuji, jako by byla stisknuta
klavesa ALT, tedy napriklad, obsahuje-li menu polozku "File",
staci stisknou samotnou klavesu "F" a dostanete se do menu.
To se mi samozrejme vubec nelibi, je to docela problem,
chcete-li vyplnit treba formular :-)

Vi nekdo jak tuto nezbednost odstranit??? Moc bych to potreboval.

Preji vsem hezky den
L.Svoboda

Registry a restart/vypnuti windows

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 27.6.2001 01:06:16

Puvodni zprava, kterou napsal Hurricane dne 26 Jun 2001,:

> MyInit : TRegistry; mas hned ya implementatiuon? Pak to bude asi tim. Ja mam
> pro kazdou proceduru zvlastni promenou Registry : TRegistry; a v kazde
> procedure volam Create a na konci Free. Ale fungovalo mi to i bez Free.

Hurricane, Hurricane, tve programy, kde neuvolnujes objekty, bych chtel
fakt pouzivat. Prosimte, nepis uz nic o Free, vypada to spis pokazde jako
vyslovena provokace...


S pozdravem
Petr Zahradnik, pocitacovy expert

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

Samolepici etikety

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 27.6.2001 01:08:18

Puvodni zprava, kterou napsal Hurricane dne 26 Jun 2001,:

> V papirnictvi, kde jinde. Koupil jsem tam cisty samolepici papir A4.
>
> Hurricane
>
> ----- Original Message -----
> > delam aplikaci pro tisk etiket ale na zkouseni potrebuji sehnat samolepici
> > etikety pro tisk v laserove tiskarne. Etikety musi byt ve tvaru dvou
> > propojenych casti (jedna cast se nalepi a druha zustane nenalepena a je
> > urcena k pozdejsimu odtrhnuti). Nevite kde se daji sehnat?

No a v jakem papirnictvi jsi koupil prave ten typ samolep, co je tady
pozadovan?


S pozdravem
Petr Zahradnik, pocitacovy expert

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

Shortcuts v aplikaci s komponentou WebBrowser

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 27.6.2001 02:12:12

From: "L.Svoboda" <konference(zv)fdsystem(tec)cz>
> klavesa ALT, tedy napriklad, obsahuje-li menu polozku "File",
> staci stisknou samotnou klavesu "F" a dostanete se do menu.
> To se mi samozrejme vubec nelibi, je to docela problem,

Ahoj,

do formulare pridej obslugu zpravy CM_DIALOGCHAR:

procedure TForm1.CMDialogChar(var Message: TCMDialogChar);
begin
with Message do
if KeyData and $20000000 = 0 then
Result := 1
else
inherited;
end;

Petr Vones, amatersky programator


Excel na tisic zpusobu :o(

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 27.6.2001 07:47:38


3) Kdyz vytvarim novy LIST (Worksheet) tak se mi
> radi jako prvni v rade, ale ja bych ho potreboval vyvorit nakonci
> rady. Koukal jsem se do helpu VB ale neumim pouzit parametr After,
> Before atd...

Ahoj,

pouzivani nepovinnych parametru procedur je popsano napr. v
Mistrovstvi v D3 a celkem bych se divil, kdyby to nebylo v zakladni
dokumentaci k Delphi v kapitole o OLE Automation. Nemam to ted
u sebe, ale mam pocit, ze se musi pri volani procedury zapsat
jmeno parametru s dvojteckou a pak teprve hodnota, ale to jsou jen
mlhave vzpominky, mozna se pletu.

David Lebeda


Variant NULL a klasicke typy

[*] ing. Pavel Zilinec <zilinec(zv)email(tec)cz> - 27.6.2001 06:29:22

Jsou celkem dve moznosti, jak to udelat. Pokud vytvaris volani
procedury rucne v programu, staci dany parametr vynechat a server si
tam automaticky doda hodnotu, ktera je tam zapsana u parametru(pokud
to tam nemas, tak ten parametr vzdy vyzaduje, tj. muzes mit napsano
NejakyParametr TinyInt = null a pak je to OK).
Druha moznost spociva v tom, ze v Delphi uvedes
ParamByName('aa').Value := null; Ovsem to pouze v pripade, ze Delphi
uz znaji typ tohoto parametru (pri vizualnim navrhu ho znaji, ale zase
pri rucnim vytvareni dotazu ne, takze potom se musi definovat pomoci
ParamByName('aa').DataType := ftString, ftSmallInt, .....

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

> V procedure na serveru testuji zda predana promenna je Null
> nebo ne a podle toho se zarizuji. Avsak mam jeden problem. V
> projektu delphi mam klasicke typy promennych (integer, string
> atd) a tyto typy bych potreboval v pripade, ze je nechci mit
> naplnene inicializovat prave na hodnotu null. Proto se vas ptam
> zda to jde, nebo to lze vyresit nejak jinak?

> Pokud prebiram informace od uzivatele tak presne vim zda
> vyplnil policko nebo ne. A podle toho naplnim promennou zadanym
> textem nebo potrebuji vyplnit _nicim_ NULL hodnotou.

PS>> pri prirazeni string := null
> mi zahlasi "invalid variant type conversion"

OT: Email s prazdnou hlavickou To:

[*] Karel Klimes <klimes(zv)metra(tec)cz> - 27.6.2001 06:55:00

Ahoj,
jak je mozne, ze mne dosel e-mail s prazdnou hlavickou To:? Konkretne se
jedna o reakci na prispevek ve foru na http://Ikarie(tec)cz. Pri psani
prispevku jsem vyplnil polozku: Vas e-mail, ale jak jsem jiz psal, reakce
na prispevek prisla bez vyplnene hlavicky To:. Nerozumin tomu, jak to mohlo
vubec dojit :-(.

Dik za odpovedi


Popis prikazu RTF

[*] mbartone(zv)synthesia(tec)cz - 27.6.2001 07:43:09

Ahoj,

nevite od kud by se dal stahnout popis RTF ?

Milan

OT: Email s prazdnou hlavickou To:

[*] Gebauer Lukas <gebylist(zv)mlp(tec)cz> - 27.6.2001 07:58:18

Protoze tak to funguje. :-)

Predstav si dopis na listu papiru. Ten dopis strcis do obalky a na obalku
napises adresu. Az ten dopis dojde, tak tam nekdo se podiva na obalku,
podle toho urci pro koho ten dopis je, dopis rozbali a ten list papiru da
dotycnemu. (obalku hodi do kose...)

Vidis, ze ten dopis tomu dotycnemu dosel, ANIZ by na listu papiru byla
napsana jeho adresa. A tak to funguje i s e-mailama... Ty napises nejaky
dopis, tvuj postovni server jej opatri SMTP 'obalkou', pomoci ktere je
dopis doruceny, a cilovy postovni server podle te obalky pozna, pro koho
je. Urcuje to z te obalky, ne z textu toho dopisu!

Tedy to co je napsane v tele toho dopisu je pro dorucovani zcela
irelevantni. Je to spise 'stabni kultura', ze se do textu e-mailu pise od
koho a po koho je.

Je to jako kdyz na obchodni papirovy dopis taky pises od koho a pro
koho je, protoze jej rozbali v podiku v podatelne a dal jde bez obalky...
tak aby se v tom paknekdo jeste vyznal.

> jak je mozne, ze mne dosel e-mail s prazdnou hlavickou To:? Konkretne
> se jedna o reakci na prispevek ve foru na http://Ikarie(tec)cz. Pri psani
> prispevku jsem vyplnil polozku: Vas e-mail, ale jak jsem jiz psal,
> reakce na prispevek prisla bez vyplnene hlavicky To:. Nerozumin tomu,
> jak to mohlo vubec dojit :-(.


Louci se Lukas Gebauer.

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


Prenos souboru po modemu

[*] Richard Kejval <kejval.delphi(zv)atlas(tec)cz> - 27.6.2001 08:25:44

Ahoj,
potreboval bych prenest soubor z jednoho pocitace na druhy po modemu. V
komunikacich se moc neorientuji, ale predpokladam, ze by to chtelo nejaky
vysilaci a prijmaci program. Mohl by me nekdo nasmerovat, jak na to.

Diky za nakopnuti.

AnsiStringy

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 27.6.2001 08:30:17



> > > Aj u dynamicky alokovanych/uvolnovanych (t.j. pomocou new/dispose)
> > > premennych/strukturach/poliach su stringy korektne inicializovane a
> > > uvolnovane
>
> > begin
> > GetMem(P,100);
> > P^.a := 'a';
> > // tady to lehne - protoze P^.A neni korektne inicializovane
>
> Lenze Ty si nealokoval record ale kus pameti, co nie je to iste. Treba
> pouzit new/dispose (ako som to napisal) a nie GetMem a pod.

jenze existuji pripady, kdy New() pouzit nelze (potrebuju alokovat blok,
ktery sice na zacatku obsahuje pevne danou strukturu recordu, ale na konci
je prostor pro nejaky buffer,ktery ema pevnou delku)

>
> > > Moze to byt kludne i volana procedura.
> >
> > nepodarilo se mi prijit na to kdy. Je-li parametr predan jako VAR -
nesmi
>
> > Napis kdy procedura uvolni stringo deklarovane mimo ni.
>
> Napr. ked sa predava dynamicky alokovany zaznam so stringom a volana
> procedura ho zrusi pomocou dispose.

OK, to je jasne. Ja mel ale na mysli stringa predavana primo jako proste
promenne - ne zabalena do dalsich struktur

> > grr! Samozrejme, ze se reference zvysuje, kdykoliv se vyrobi dalsi kopie
> > stringa. Ja se bavil ale o vlivu typu predavani stringa procedure na
citac
> > referenci. Pokud jsi presvedcen, ze :
>
> > Procedure XY(VAR S : String);
> > begin
> > S := 'a';
> > end;
>
> > zvysuje reference ci vytvari automaticky dealokacni kod tak si to zkus
> > zkompilovat a podivej se do vysledneho kodu.
>
> Ci to nebude nahodou tym, ze sa procedure nepredava adresa stringu
> ale adresa referencie na string?

samozrejme, ze je to tim. Ale slo "jen" o to demonstrovat, ze automaticky
dealokacni kod se generuje v procedurach/funkcich jen pro stringa predavana
hodnotou (tedy kdyz se vytvari kopie stringa).

>A kedze adresa referencie na string
> nie je referenciou na string, tak manipulovat s pocitadlom referencii
> na string by asi nebolo korektne, vsak?

samozrejme

> Okrem toho moze kompilator v urcitych pripadoch z dovodu
> optimalizacie kodu vynechat manipulaciu s pocitadlom referencii
> (napr. ked parameter sa nepouzije, alebo sa deklaruje ako const),
> co vsak nic nemeni na jej funkcnosti.

to je logicke


D. Toman

Email s prazdnou hlavickou To:

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 27.6.2001 08:35:24

> Ahoj,
> jak je mozne, ze mne dosel e-mail s prazdnou hlavickou To:? Konkretne se
> jedna o reakci na prispevek ve foru na http://Ikarie(tec)cz. Pri psani
> prispevku jsem vyplnil polozku: Vas e-mail, ale jak jsem jiz psal, reakce
> na prispevek prisla bez vyplnene hlavicky To:. Nerozumin tomu, jak to
mohlo
> vubec dojit :-(.
>

posta ja v Internetu dorucovana pomoci protokolu SMTP. A tomu je uplne
jedno, zda ma email nejakou hlavicku nebo ne. Hlavicka neslouzi k ziskani
informaci o prijemci/odesilateli - tj nepouziva se (krome nejakych
specialnich pripadu) pri dorucovani zpravy. Veskere informace o odesilateli
(hola emailova adresa) a prijemcich (zase jen email adresy) ziska SMTP
server od postovniho klienta pomoci SMTP povelu (MAIL FROM: a RCPT TO: -
rika se jim SMTP obalka) a adresay takto predane se mohou v hlavicce
vyskytovat (spravne chovajici se postovni klient je uvede ve From: a To: ci
CC:, atd) ale take nemusi.

Cili je legalni, ze Ti prisel mail bez hlavicky (res. s prazdnou hlavickou)
a je legalni (z hlediska SMTP) kdyz prijde email, ktery ma v hlavicce uplne
nesmysly.

Neni problem se telnetem pripojit na SMTP server a rucne pomoci nekolika
malo povelu vyrobit zpravu z jakkoliv sfalsovanou hlavickou a presto ta
zprava dojde tam kam potrebuju.


D. Toman

FF2 a DELPHI 6

[*] Pavel ZIDEK <delphi(zv)kopr(tec)cz> - 27.6.2001 08:36:04

Zdravim,
kdo vi, kdy bude FF2 pro DELPHI 6. TURBOPOWER taktne mlci.
Predem diky za prijemnou odpoved
Pavel

Pekny den (rano, vecer i noc) preje
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
KOPR software Pavel ZIDEK mailto:kopr(zv)kopr(tec)cz
http://www.kopr(tec)cz/w-delphi.htm http://www.kopr(tec)cz
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Popis prikazu RTF

[*] Adam Hauner <hauner(zv)iinfo(tec)cz> - 27.6.2001 08:36:52

At 07:43 27.6.2001 +0200, you wrote:
>nevite od kud by se dal stahnout popis RTF ?

Na Slunecnici --> Vyvojarske nastroje --> Specifikace
http://www.slunecnice(tec)cz/index.php3?x=ga3dcdweezga3wcww33wt3t3wwe3ezedwefd8e2egazdwe3ezdneezgac3a3zw83w3awnwqw7w3wezwa8a8aqadaqaqaqaqaqaqaqagaweaereweadez3awaqadagadwawnw3373ezwewdzd3dgate7e8e3dwe3e


--
Adam Hauner
Internet Info, s.r.o., Na Strzi 5, 140 00 Praha 4
Web: http://www.iinfo(tec)cz/ | tel: 02/4144 1695 | fax: 02/4144 1697
Lupa(tec)cz * Mesec(tec)cz * Palmserver(tec)cz * Slunecnice(tec)cz * Burza(tec)cz * Hokejka(tec)cz


TEDIT

[*] Martin Bab�k <M.Babik(zv)mus(tec)cz> - 27.6.2001 08:44:42

Zdravim vsechny!
Mam problem s TEdit, kdyz v nem stisknu ENTER zavre se mi formular (ShowModal) na formulari jsou 2 TBitBtn "OK" "Cancel" nevite jak z toho ven? Dik
M&B


Horizontalni rolovani v komponente TListBox v D5

[*] Jan P��ek <JAN PECEK(zv)CONEL.CZ> - 27.6.2001 08:44:19

Ahoj,
prosim o radu, jake opatreni udelat v DELPHI5 v komonente TListBox, aby umoznovala horizontalni rolovani, kdyz text jednotlivych radku presahuje sirku okna.
Dekuji
Jan Pecek


mozna OT bylo (stale je): Mrznouci pocitac a Delph

[*] Tomas Pocarovsky <tomas.pocarovsky(zv)brno.siemens(tec)cz> - 27.6.2001 09:25:06


>asi blby dotaz : mas nainstalovany ten excel ?
>TH

Mhh.. bohuzel jo. Office 2000.

*************************

>P.S. adresa primo na memtest: http://www.teresaudio.com/memtest86/ -

Jo diky za typ, test probehl v poradku.****************************

>Zdar,
>je to OT, nepatri to do konfery, ale myslim, ze tato informace se bude
hodit
>vice programatorum:
>
>Ozon

Prave jsem si znovu precetl pravidla konference a ne zcela jsem pochopil,
proc je dotaz na mrznouci Delphi v Delphi konferenci OT.
Kde jinde je tolik ruznych pocitacu a konfiguraci, aby se dala funkcnost
Delphu vyzkouset. Nehlede na to, ze se tady vcera jeden clovek ptal, jestli
si ma k Delphum koupit MSI desku s Athalonem. (stejna konfigurace, jako mam
ja).

Dekuji, ze ses mi pokusil pomoct presto, ze (podle Tveho nazoru) posilam OT.


Tomas Pocarovsky


> Ahoj
> Pri spusteni nasledujiciho ucebnicoveho prikladu mi vzdycky vytuhne
> pocitac.
> (On mi zmrzne casto a pri ruznych vecech (vzdy v Delphi), ale tady by to
> (velmi pravdepodobne) nemela byt moje chyba. :-) )
> http://www.djpate.freeserve.co.uk/D5Excel.zip (ma to asi 3 kByte)
> Je to o pouziti komponent SERVER s excelem.
>
> Tuhne to tak, ze prvne vytuhne aplikace, ale jeste jdou prepinat okna, pak
> nejdou prepnout ani okna nakonec vytuhne mys. Na trojhmat to vetsinou
> nereaguje, nebo zmodra obrazovka. to vse behem nekolika vterin.
>
> Moje konfigurace:
>
> D5 ent + SP1 +SP2
> Win 2000 PRO + SP2
> AMD Athalon 750
> Cipset VIA kt 133 + patch 4in1
> deska MSI k7T PRO 2-A (Bios z kvetna letosniho roku)
>
> Test na FPU od Petra Vonese probehl bez problemu.
>
> Prosim, prosim, smutne koukam zkuste to spustit a napiste mi na jake
> konfiguraci to jelo/nejelo.
> Predem dekuji za Vas cas (melo by to zabrat jen chvilku).
> POZOR. Pred zkousemim vsechno ostatni zavrit a ulozit. HROZBA zamrznuti
> pocitace.
>
> Diky Tomas Pocarovsky
>
> P.S.: Mam mesic stary pocitac, tak potrebuju do ruky nejaky argumenty, nez
> pujdu za sefem, ze chcu novej. :-) :-(.
>
> P.S.2: Cimz bych castecne nasmeroval toho cloveka co dneska kupuje
zakladni
> desku. :-)
>

TEDIT

[*] Miroslav Barica <miroslav.barica(zv)matador.sk> - 27.6.2001 09:41:19

butonik OK mas zrejme nastaveny ako default

-----Original Message-----
From: Martin Bab�k [mailto:M.Babik(zv)mus(tec)cz]
Sent: Wednesday, June 27, 2001 8:45 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: TEDIT


Zdravim vsechny!
Mam problem s TEdit, kdyz v nem stisknu ENTER zavre se mi formular
(ShowModal) na formulari jsou 2 TBitBtn "OK" "Cancel" nevite jak z toho
ven? Dik
M&B


TEDIT

[*] Martin Bab�k <M.Babik(zv)mus(tec)cz> - 27.6.2001 10:00:17

Dik nevsiml jsem si toho pridaval jsem je pozdeji a na jinem miste TSrinGrid mi to na rnter nezaviralo.Ted jen problem, ze to na pipa. :-( Jak se toho zbavit?Diky
M&B

>>> "Miroslav Barica" <miroslav.barica(zv)matador.sk> 06/27 9:41 >>>
butonik OK mas zrejme nastaveny ako default

-----Original Message-----
From: Martin Bab�k [mailto:M.Babik(zv)mus(tec)cz]
Sent: Wednesday, June 27, 2001 8:45 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: TEDIT


Zdravim vsechny!
Mam problem s TEdit, kdyz v nem stisknu ENTER zavre se mi formular
(ShowModal) na formulari jsou 2 TBitBtn "OK" "Cancel" nevite jak z toho
ven? Dik
M&B

TEDIT

[*] brant(zv)dcomm(tec)cz - 27.6.2001 10:00:35

Patrne mas nejaky z tech zaviracich buttonu nastaveny jako default.

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

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

Mam problem s TEdit, kdyz v nem stisknu ENTER zavre se mi formular
(ShowModal) na formulari jsou 2 TBitBtn "OK" "Cancel" nevite jak z toho ven?
Dik


Variant NULL a klasicke typy

[*] Jon� Mari�n <Jonas(zv)komercpoj(tec)cz> - 27.6.2001 09:11:01

Listuj napsal:

> mam dotaz ohledne predavani parametru do ulozenych procedur na
>serveru.
>
> V procedure na serveru testuji zda predana promenna je Null
>nebo ne a podle toho se zarizuji. Avsak mam jeden problem. V
>projektu delphi mam klasicke typy promennych (integer, string
>atd) a tyto typy bych potreboval v pripade, ze je nechci mit
>naplnene inicializovat prave na hodnotu null. Proto se vas ptam
>zda to jde, nebo to lze vyresit nejak jinak?
>
> Pokud prebiram informace od uzivatele tak presne vim zda
>vyplnil policko nebo ne. A podle toho naplnim promennou zadanym
>textem nebo potrebuji vyplnit _nicim_ NULL hodnotou.

muzes zkusit tohle :

with StoredProc1 do
begin
if Edit1.Text='' then
ParamByName('Jmeno').Clear {* nastavi NULL hodnotu do parametru *}
else
ParamByName('Jmeno').AsString:=Edit1.Text;
...
ExecProc;
end;

Marian Jonas


Zobrazeni Deleted zaznamu v Table

[*] Pe�inka Bohdan <b pecinka(zv)upzr(tec)cz> - 27.6.2001 10:18:30

Chci pou��t komponentu Table pro zobrazen� DBF souboru.
Nevid�m v#ak z�znamy, kter� byly vymaz�ny (v datab�zi jsou ozna�eny jako
DELETED).
Pou��v�m Delphi 4.
D� se s t�m n�co d�lat?
Dan

IBReplikator

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 27.6.2001 12:26:24

Ahoj,

kolega me poprosil, abych se zeptal na nasledujici:

Snazi se rozchodit IBReplikator na linuxu. S IB serverem na
Windows to v poradku rozchodil a slape to. Mel za to, ze staci tu
replikacni databazi vzit, soupnout na linuxi server, stahnout ty dva
spustitelne programy. Jenze to akorat vypise dve chybove hlasky.

1. nemuze otevrit default log file, ackoli ten na platne ceste existuje
(ma nulovou delku).

2. Pry nejsou instalovany zadne licence - ackoliv v tabulce licenci
nejaky zaznam je.

Ja o replikacich nic nevim, tak jsem to mozna nepopsal moc
dobre, ale snad to aspon trochu bude stacit. Otazka je - proc to
nejde, resp. jestli nekde existuje popis, jak na ty replikace na
linuxu.

Diky.

David Lebeda


Delphi 6

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 27.6.2001 10:38:09

On 26 Jun 2001, at 13:07, BLAU wrote:

> upgrade... navic nez vychytaji chyby z D6 tak to tipuji nejmene na 3
> SP... :) a tak si rdeji pockam na lichou verzi D7 a ty si koupim
> primo od amiku vychazi to o asi 20% levneji.

Kdyz jsem naposledy srovnaval ceniky k D6 na webech
borland.com a borland(tec)cz, prisly mi ceske ceny srovnatelne s
americkymi.


S pozdravem

Zbysek Hlinka

http://www.hlinka(tec)cz http://www.slhaters(tec)cz
Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


AnsiStringy

[*] Jan Grman <janog(zv)pluto.elf.stuba.sk> - 27.6.2001 10:51:21

> mrzi me, ze me povazujes za takoveho pitomce, ale priklad byl
> opravdu jen demonstracni. Ale nic se nemeni na tom, ze prave
> pri dynamicke alokaci rekordu a spol nedojde k inicializaci
> AnsiStringu.

OK. Mna mrzi ze som sa vyjadril tak nestastne, prepac.
Chcel som len naznacit ze uvedeny priklad je prudko spekulativny a urcite sa
zhodneme na tom, ze alokovat strukturu RECORD pomocou GetMem je mierne
nekorektne riesenie, ktore nic neprinasa.
Ak islo o to dokazat ze su situacie kedy sa AnsiString automaticky
neinicializuje, tak potom hej, ale pokial programator pouziva prikazy na to
na co boli urcene, stat sa mu to nemoze.
Predpokladam ze tuto konferenciu citaju aj zaciatocnici v PASCALe a je
potrebne upozornovat na taketo "drobnosti" ako su rozdiely v implementacii a
pouziti GetMem a New. Zly navyk je horsi ako nevedomost !

S pozdravom
JaNo, janog(zv)pluto.elf.stuba.sk

komponenta z Outlooku

[*] <vaclav.sykora(zv)accidis(tec)cz> - 27.6.2001 10:57:26

dobry den,

nevite nekdo o komponente pro D5 ve stylu kalendare v Outlooku.

dekuji, v. sykora


AnsiStringy

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 27.6.2001 11:14:26

> Chcel som len naznacit ze uvedeny priklad je prudko spekulativny a urcite
sa
> zhodneme na tom, ze alokovat strukturu RECORD pomocou GetMem je mierne
> nekorektne riesenie, ktore nic neprinasa.

Jak jsem jiz psal, jsou pripady kdy New() nelze pouzit.

D. Toman

TFont

[*] Danny <delphiforum(zv)atlas(tec)cz> - 27.6.2001 11:15:57

Ahoj,

napsal jsem si vlastni komponentu, kde jednim z property je:

property Font:TFont read FFont write SetFont;

Vsechno je OK, v ObjectInspectorovi se mi nabizi klasicky vyber Fontu, ale
...

v pripade, ze Font v Obj.Insp. rozbalim (pres to plusko) a neco zmenim, tak
to vubec neskoci do ty my procedury SetFont, takze se s fontem nic nestane.
Kdyz ale kliknu na ty tri tecky u Fontu v Obj.Insp. a z toho dialogu pro
vyber fontu neco vyberu, tak to do SetFont skoci.
Co je spatne? Proc ten prvni zpusob nefunguje?

Diky za radu.

Danny


AnsiStringy

[*] Jan Grman <janog(zv)pluto.elf.stuba.sk> - 27.6.2001 11:37:12

> > Chcel som len naznacit ze uvedeny priklad je prudko spekulativny a
urcite
> sa
> > zhodneme na tom, ze alokovat strukturu RECORD pomocou GetMem je mierne
> > nekorektne riesenie, ktore nic neprinasa.
>
> Jak jsem jiz psal, jsou pripady kdy New() nelze pouzit.

Nehnevaj sa ale to je hlupost. V zivote som nemusel a nebudem musiet pouzit
na alokaciu RECORDu GetMem.
Co na tom ze potrebujes alokovat pevnu strukturu a potom lubovolne dlhy
buffer, ved to predesa nebudes robit tak ze pouzijes GetMem a potom budes
inicializovat premenne.
Normalny programator predsa nie je masochista.
Mam predsa milion moznosti ako to urobit elegantne a hlavne cisto:
povedzme ze mam: (meno, cislo) - pevne, (buffer) - lubovolne velky

1) RECORDom:
a) ak bufer je pointer - New(p), GetMem(P^.Buffer, size)
b) ak buffer je string - New(p), setLength(P^.Buffer, size) a potom veselo
P^.Buffer[1], ...
c) ine - podla typu...

2) CLASSOM
a) v metode Create() pouzijem alokaciu GetMem(P^.Buffer, size)
b) v metode Destroy() uvolnim - FreeMem(P^.Buffer, size)
- lepsie riesenie - pretoze destructor sa stara o uvolnenie vnutorne
alokovanych prostriedkov
cize miesto New a Dispose potom pouzivam P := TypOfP.Create, P.Free;

3) kombinaciou oboch
... a nasli by sa v zavisloti od struktury dat dalsie moznosti
Vzdy sa to da urobit tak ze pevnu strukturu bud alokujem ja cez New, alebo
mi ju alokuje nadradeny objekt v ktorom ju pouzivam.
Preco si pod zamienkou pseudooptimalizacie zneprijemnovat zivot a
pripravovat pasce v ktorych uviazne v prvom rade PAMAT a potom aj AUTOR.

Verim ze sme sa pochopili a myslim ze na tuto temu uz stacilo (jedine
sukromne).

JaNo, janog(zv)pluto.elf.stuba.sk


Mrznouci pocitac a Delphi 5 enterprice a komponent

[*] Tomas Pocarovsky <tomas.pocarovsky(zv)brno.siemens(tec)cz> - 27.6.2001 11:42:24



>asi blby dotaz : mas nainstalovany ten excel ?

>TH


Mozna ne az tak blby, jak se prvne zdalo :-)). Mam totiz office 2000. A ty
komponenty (Server) pri prekompilovani priradi

USES ..., Excel97;

v adresari imports mam po nainstalovani SP excel97 i excel2000, ale jak ho
donutit, aby ty komponenty pouzivali unit excel2000, nebo kde sehnat jine
komponenty. :-)

Diky za nasmerovani.


Tomas Pocarovsky


Problem s TListview ?? Jak na nej.

[*] Hazuka Filip <filip.hazuka(zv)multivac(tec)cz> - 27.6.2001 11:45:07

Ahoj potreboval bych poradit s nasledujicim problemem:
Mam dva listview a potrebuji zkopirovat vybranou polozku do druheho. Mam
nasledujici kod:

procedure TfrmObSestava.Seznam1KeyPress(Sender: TObject; var Key: Char);
var i : integer;
begin
if Key = #13 then
if Seznam1.Selected <> nil then
begin
for i:=0 to Seznam2.Items.Count-1 do
begin
if Seznam2.Items[i].Caption = Seznam1.Items[i].Caption then
Exit;
end;
with Seznam2.Items.Add do
begin
Caption:= Seznam1.Selected.Caption;
SubItems.Add(Seznam1.Selected.SubItems.Text);
end;
end
else
begin
frmHlavni.MsgDlg('Mus� b�t vybr�na polozka v seznamu firem.',
'Informace',mtInformation,[mbYes]);
end;
end;

Problem je v tom, ze kdyz priradim prvni polozku a pak chci dalsi, tak uz se
mi zadna neprida, jinak, kdyz priradim treba druhou a pak dalsi, tak to
funguje bez problemu. Dalsi a to nejvetsi problem je v tom, ze se prirazuji,
jednu polozku a k ni subitem jako dalsi polozku. Stane se mi to, ze se to
vlozi, ale za tu subitem polozku se priradi nakonec jeste toto II, kdyz si
tam dam breakpoint a podivam se na to, co se tam prirazuje, je tam toto
'Nejaky text'#$D#$A . Nevite nekdo, jak se toho mam zbavit ?

Vsem diky za pomoc.
Filip


Delphi 6

[*] Petr Palicka <petr.palicka(zv)atlas(tec)cz> - 27.6.2001 11:46:11

> > upgrade... navic nez vychytaji chyby z D6 tak to tipuji nejmene na 3
> > SP... :) a tak si rdeji pockam na lichou verzi D7 a ty si koupim
> > primo od amiku vychazi to o asi 20% levneji.
> Kdyz jsem naposledy srovnaval ceniky k D6 na webech
> borland.com a borland(tec)cz, prisly mi ceske ceny srovnatelne s
> americkymi.
rozdil muze cinit nezapalcene clo a/nebo dph.
ovsem pokud to potrebujes prohnat uctem, clit i danit musis.

dekuji PeC(zv)

CU onTheFutureOfMatrix
MatriX.CyberSpace.Cz

/~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
|[smtp:petr.palicka(zv)atlas(tec)cz]|
|[smtp:peca(zv)email(tec)cz] |
\~~~~~~~~~~~~~~~~~~~~~~~~~~~~/

Mrznouci pocitac a Delphi 5 enterprice a komponent

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 27.6.2001 11:53:19

From: "Tomas Pocarovsky" <tomas.pocarovsky(zv)brno.siemens(tec)cz>
> Mozna ne az tak blby, jak se prvne zdalo :-)). Mam totiz office 2000. A ty
> komponenty (Server) pri prekompilovani priradi
>
> USES ..., Excel97;

Ahoj,

pri instalaci Delphi si muzes zvolit jestli chces komponenty pro Office 97
nebo 2000. Jinak to muzes zmenit za behu instalaci designtime balicku
dclaxserver50.bpl (97) nebo dcloffice2k50.bpl (2000)

Petr Vones, amatersky programator


Excel na tisic zpusobu :o(

[*] Peter Surovy <psurovy(zv)uevora.pt> - 27.6.2001 11:22:00


>
> Potrebuji napsat aplikaci se zivou tabulkou v Excelu. Jde o zapis do
excelu
> asi 100 bunek, kazdych 10 minut.
> 2) Poradte jak vytvorit novy SESIT (Workbook) s urcitym nazvem (resp. novy
> soubor), umim vytvorit zadany SESIT, ale nedari se me jej pojmenovat ci
> ulozit.

>
> Diky za kazdy prikladek ci odkaz
>
Ja pouzivam zapis do txt filu ktoremu iba priradim xls priponu a funguje mi
to.(aj ked je to asi mimoriadne amatersky sposob)
Ale zapisujem iba pole, ktoreho prvky su oddelene chr(9).
A vytvori sa subor iba s jednym listom. a nazov toho listu je taky isty ako
nazov suboru.

komponenta z Outlooku

[*] <vaclav.sykora(zv)accidis(tec)cz> - 27.6.2001 12:27:10

dobry den,

nevite nekdo o komponente pro D5 ve stylu kalendare v Outlooku?

dekuji, v. sykora


AnsiStringy

[*] Jan Krizek <krizek(zv)vitasw(tec)cz> - 27.6.2001 12:40:58

> 1) RECORDom:
> a) ak bufer je pointer - New(p), GetMem(P^.Buffer, size)
> b) ak buffer je string - New(p), setLength(P^.Buffer, size) a
> potom veselo
> P^.Buffer[1], ...
> c) ine - podla typu...
>
> 2) CLASSOM
> a) v metode Create() pouzijem alokaciu GetMem(P^.Buffer, size)
> b) v metode Destroy() uvolnim - FreeMem(P^.Buffer, size)
> - lepsie riesenie - pretoze destructor sa stara o uvolnenie vnutorne
> alokovanych prostriedkov
> cize miesto New a Dispose potom pouzivam P := TypOfP.Create, P.Free;
>
> 3) kombinaciou oboch
> ... a nasli by sa v zavisloti od struktury dat dalsie moznosti
> Vzdy sa to da urobit tak ze pevnu strukturu bud alokujem ja
> cez New, alebo
> mi ju alokuje nadradeny objekt v ktorom ju pouzivam.
> Preco si pod zamienkou pseudooptimalizacie zneprijemnovat zivot a
> pripravovat pasce v ktorych uviazne v prvom rade PAMAT a
> potom aj AUTOR.
>

A co kdyz ty data chces zapisovat do souboru pomoci fci blockread a
blockwrite, pak musi ty tvoje data ( a zadne pointery ) byt hezky v pameti
za sebou. Napr. nacitani, resp. zapisovani ruznych hlavicek u grafickych ci
jinych binarnich souboru.

Nebo druhy pripad, posilani dat pres sit, to jsem delal nedavno (sice v
C++), tam taky musis predat blok pameti a jeho velikost. A dost casto takove
veci maji hlavicku (pevne velikosti) a pak buffer na data (promenlive
velikosti).

Samozrejme, v takovych pripadech clovek k tomu bufferu vzadu pristupuje po
bytech a AnsiString se mu tezko v definici takoveho recordu objevi. No a
inicializaci apod. si automaticky dela sam.

Honza +

BTW: typu programu a urovni na kterych se programuje je mnoho, proto myslim,
ze jen opravdu hodne dobrej programator muze tvrdit - neco jsem zatim
nepotreboval => (implikuje) to nikdo nikdy nebude potrebovat. Kdyz nekdo
pise, ze to potrebuje, tak je lepsi se optat proc, nez rovnou tvrdit, ze
nepotrebuje.

Variant NULL a klasicke typy

[*] Listuj <listuj(zv)centrum(tec)cz> - 27.6.2001 12:49:29


No takhle by to samozrejme bylo dobre a fungujici, ale jelikoz
jsem to mozna neudelal dobre, nebo udelal dobre (ted nevim) tak
si vsechny udaje ulozim do objektu a teprve tento objekt ma za
ukol ty data ulozit (dotazat se atd). A prave bych potreboval ty
promenne objektu (vlastnosti) definovat jako Null (nebo vychozi).

Kazdopadne diky za snahu.


______________________________________________________________
> Od: Jon�# Mari�n <Jonas(zv)komercpoj(tec)cz>
> >
> > Pokud prebiram informace od uzivatele tak presne vim zda
> >vyplnil policko nebo ne. A podle toho naplnim promennou
zadanym
> >textem nebo potrebuji vyplnit _nicim_ NULL hodnotou.
>
> muzes zkusit tohle :
>
> with StoredProc1 do
> begin
> if Edit1.Text='' then
> ParamByName('Jmeno').Clear {* nastavi NULL hodnotu do
parametru *}
> else
> ParamByName('Jmeno').AsString:=Edit1.Text;
> ...
> ExecProc;
> end;
>
> Marian Jonas
>

*****************
Jarda Jirava
(zv)
LiStuj
listuj(zv)centrum(tec)cz
^^^^^^^^^^^^^^^^^
SW development
^^^^^^^^^^^^^^^^^
*****************

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

AnsiStringy

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 27.6.2001 12:56:46

> > Jak jsem jiz psal, jsou pripady kdy New() nelze pouzit.
>
> Nehnevaj sa ale to je hlupost. V zivote som nemusel a nebudem musiet
pouzit
> na alokaciu RECORDu GetMem.
> Co na tom ze potrebujes alokovat pevnu strukturu a potom lubovolne dlhy
> buffer, ved to predesa nebudes robit tak ze pouzijes GetMem a potom budes
> inicializovat premenne.
> Normalny programator predsa nie je masochista.

Ja netvrdim, ze to pouzivam. Ansi stringa do recordu, ktery je dynamicky
alokovany necpu. Tomu se vzdy snazim vyhnout (protoze to vede k nadbytecnym
alokacim - pamet pro record + dalsi blok pro ansistringo. Navic je
AnsiStringo v reciordu neprakticke v pripadech kdy je treba strukturu
napriklad ukladat na disk (obsah stringa je treba ukladat extra)

> Mam predsa milion moznosti ako to urobit elegantne a hlavne cisto:
> povedzme ze mam: (meno, cislo) - pevne, (buffer) - lubovolne velky
>
> 1) RECORDom:
> a) ak bufer je pointer - New(p), GetMem(P^.Buffer, size)
takze ze 1 bloku pameti (record) vyrobis dva (record+buffer). To nemusi byt
za nekterych situaci optimalni (zvlaste jsou-li oba pametove prostory
male -> horsi vyuziti pameti, ...)

> b) ak buffer je string - New(p), setLength(P^.Buffer, size) a potom veselo
> P^.Buffer[1], ...
> c) ine - podla typu...

TYPE
TRec = Record
BuffSize : Integer;
s : String;
Buffer : Array[0..0] of char;
end;

; kde Buffer je cosi co ma promennou delku, kterou se dozvim tesne pred
alokovanim promenne. Pak musim pouzit GetMem() na alokovani recordu.

D. Toman

Delphi 6

[*] JIM Design <jim.design(zv)iol(tec)cz> - 27.6.2001 13:07:56

>-----Original Message-----
>From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
>Behalf Of Petr Palicka
>
>> > upgrade... navic nez vychytaji chyby z D6 tak to tipuji nejmene na 3
>> > SP... :) a tak si rdeji pockam na lichou verzi D7 a ty si koupim
>> > primo od amiku vychazi to o asi 20% levneji.
>> Kdyz jsem naposledy srovnaval ceniky k D6 na webech
>> borland.com a borland(tec)cz, prisly mi ceske ceny srovnatelne s
>> americkymi.
>rozdil muze cinit nezapalcene clo a/nebo dph.
>ovsem pokud to potrebujes prohnat uctem, clit i danit musis.

A co treba pratelska prirazka od BORLAND CZ, pochybuju ze to prodavaji za tu
cenu za kterou to nakupuji + CLO

M.Jirman


Delphi 6

[*] Ota Maly <ota.maly(zv)volny(tec)cz> - 27.6.2001 13:09:54

>
> Kdyz jsem naposledy srovnaval ceniky k D6 na webech
> borland.com a borland(tec)cz, prisly mi ceske ceny srovnatelne s
> americkymi.
>

Ahoj,
problem vidim hlavne v tom, ze drive Borland CZ nektere produkty vubec
neprodaval, takze tezko nakupovat u CZ, kdyz to proste nedovazi. Mluvim
hlavne o upgradu z libovolneho nastroje Borland na Delphi 5.
Jak je to ted, nevim, toto je situace stara cca rok.

Ota Maly

AnsiStringy

[*] Jan Grman <janog(zv)pluto.elf.stuba.sk> - 27.6.2001 13:21:39

> A co kdyz ty data chces zapisovat do souboru pomoci fci blockread a
> blockwrite, pak musi ty tvoje data ( a zadne pointery ) byt hezky v pameti
> za sebou. Napr. nacitani, resp. zapisovani ruznych hlavicek u grafickych
ci
> jinych binarnich souboru.

1) Tak to chcem vidiet ako budem na tieto veci pouzivat strukturu RECORD a v
nej navyse STRING bez udania velkosti (teda nie STRING[x]).
2) Pri zapisovani do suboru nemusim pevne a dynamicke struktury miesat a ak
nahodou, tak potom si ich predspracujem (napriklad tak ze ich zapisem do
nejakeho pevneho buffera a az ten pustim von do suboru)

> Nebo druhy pripad, posilani dat pres sit, to jsem delal nedavno (sice v
> C++), tam taky musis predat blok pameti a jeho velikost. A dost casto
takove
> veci maji hlavicku (pevne velikosti) a pak buffer na data (promenlive
> velikosti).
OK. Fajn. A predpokladam ze si to robil cez strukturu RECORD alokovanu
pomocou GetMem. Moze byt. Ked je clovek opatrny dokonca to moze aj fungovat.
Ja sa nebavim akademicky o tom ci sa to da alebo neda pouzit...

> Samozrejme, v takovych pripadech clovek k tomu bufferu vzadu pristupuje po
> bytech a AnsiString se mu tezko v definici takoveho recordu objevi. No a
> inicializaci apod. si automaticky dela sam.
No a sme mimo AnsiStringov o ktorych tu bola rec.
Nakoniec sa dostavame k monolitnej a len vnutorne strukturovanej informacii
ktoru alokujem cez GetMem... a sme na zaciatku diskusie pretoze ja hovorim
cisto s stukture RECORD a NEW versus GETMEM a nic viac.

> BTW: typu programu a urovni na kterych se programuje je mnoho, proto
myslim,
> ze jen opravdu hodne dobrej programator muze tvrdit - neco jsem zatim
> nepotreboval => (implikuje) to nikdo nikdy nebude potrebovat.
GetMem v spojeni so strukturou RECORD nikto nepotrebuje a ked ano, nech to
pouziva, zakazovat sa to neda.... samozrejme.
Je treba upozornit na mozne problemy a elegantnejsie riesenia.
Kazda datova struktura a manipulacia s nou vyzaduje svoje, ale TRVAM na tom
ze alokovat strukturu RECORD cez GetMem znamena robit z jazyka PASCAL viac
assembler ako vyssi programovaci jazyk.

JaNo,

TEDIT

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 27.6.2001 13:47:47

Zrejme tam nekde odchytavas v OnKeyPress Enter. Je treba po provedeni
akce priradit Key := #0;

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

27.6.2001 Martin Bab�k:
> Dik nevsiml jsem si toho pridaval jsem je pozdeji a na jinem miste TSrinGrid mi to na rnter nezaviralo.Ted jen problem, ze to na pipa. :-( Jak se toho zbavit?Diky
> M&B

>>>> "Miroslav Barica" <miroslav.barica(zv)matador.sk> 06/27 9:41 >>>
> butonik OK mas zrejme nastaveny ako default

> -----Original Message-----
> From: Martin Bab�k [mailto:M.Babik(zv)mus(tec)cz]
> Sent: Wednesday, June 27, 2001 8:45 AM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: TEDIT


> Zdravim vsechny!
> Mam problem s TEdit, kdyz v nem stisknu ENTER zavre se mi formular
> (ShowModal) na formulari jsou 2 TBitBtn "OK" "Cancel" nevite jak z toho
> ven? Dik
> M&B

Delphi 6

[*] BLAU <blau(zv)emdat(tec)cz> - 27.6.2001 14:56:27

Presne tak

po 'jistych zkusenostech' s borland(tec)cz jsem se rozhodl jako zakaznik
nadale nakupovat produkty BORLAND primo z americke pobocky.
Napriklad CDecka s trial verzemi, ktere prokazatelne dostali z US zadarmo
aby je rozdali lidem na veletrhu, resp. se v US zadarmo posilaji na
dobirku - prodavaji 'obchodnici' borland(tec)cz za 200-300,- kc.
Maze obchodniku ceske pobocky mi po zaplaceni DPH a dane vychazi na
nejakych 20% a to mi vzhledem k podpore=0 prijde za software trosku dost.

S pozdraem Petr Blau
software developer

PS: jinak do ucetnictvi to davam /resp. i si to odepisuji/ a dane platim...
:)
PS II: doufam ze se to trosku rozjede s komponentami pro kylix a vypadnu uz
konecne z toho zacarovaneho kolecka M$ - Woknousy - Oppice.
jinak licencovani Enterprise - Professional - ... okopiroval Borland od M$ a
je to typicky priklad na tahani penez od lidi... a to se jim to pak vyklada
na veletrhu ze maji 200 mil $ cash na uctu... pevne verim ze se to jeste
trosku vic rozjede pres KYLIX jako open source ted myslim cele vyvojove
prostredi.
Fakt nevim proc bych mel jako uzivatel platiti za sprsene komponenty od
INPRISE ing. pripadne od tretich stran a pak si jeste jednou kupovat od
jinych tretich stran komponenty ktere funguji pripadne si je psat sam a
vymenovat s kamosema a pritom porad platit 110 kKc za Enterprise verzi -
dekuji nechci jak jsem napsal uz poprve cena do 10 kKc mi prijde jako
absolutne umerna tomu co produkt nabizi a doufam ze ted jeste chvilku s D5
Pro resp Kylixem 1.0 vydrzim Howgh.

> A co treba pratelska prirazka od BORLAND CZ, pochybuju ze to prodavaji za
tu
> cenu za kterou to nakupuji + CLO
>
> M.Jirman
>
>

komponenta z Outlooku

[*] Milan ��ek <Cizek.Milan(zv)seznam(tec)cz> - 27.6.2001 15:38:58

> dobry den,
>
> nevite nekdo o komponente pro D5 ve stylu kalendare v Outlooku?
>
> dekuji, v. sykora

ahoj, co treba Planner (www.tmssoftware.com).

S pozdravem Milan Cizek
______________________________________________________________________
Casty pohyb s mysi z Vas udela kocku! http://0g(tec)cz/0104/ladies_worldonline


RXLib for D6

[*] Mephisto <mephisto(zv)akvila(tec)cz> - 27.6.2001 15:55:20

http://202.102.249.218/control/rx275d6.zip


---
Odchozi zprava neobsahuje viry.
Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.262 / Virov� b�ze: 132 - datum vyd�n�: 12.06.2001

Vypis souboru z disku - kompletni

[*] Heinisch Jiri <deis(zv)deis(tec)cz> - 27.6.2001 16:03:50

Ahoj

Potreboval bych poradit s nastavenim atributu pri FindFiles (FindFirst,
FindNext) ....

At zkousim jak zkousim nikdy jsem se nedostal nas ten samy pocet co Windows
Commander 4.52. Budto se dostanu pres tento pocet files nebo zas malo.

Zkousel jsem i podobne postupy od third party ale vysledek ten samy. Tak
nevim kde je pravda -")

Zjisteni existujicich protokolu

[*] Zden�k Brej�a <prog(zv)hjsoft(tec)cz> - 27.6.2001 16:20:10

Zdar vsem,

vypada to, ze tento dotaz nejak zapadl a proto se osmeluji jeste jednou:

existuje v Delphi nejaka funkce, ktera zjisti zda je nainstalovan protokol
NETBUI, TCP/IP ... ?

predem diky za pomoc


Zjisteni existujicich protokolu

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 27.6.2001 16:39:41



> Zdar vsem,
>
> vypada to, ze tento dotaz nejak zapadl a proto se osmeluji jeste jednou:
>
> existuje v Delphi nejaka funkce, ktera zjisti zda je nainstalovan
protokol
> NETBUI, TCP/IP ... ?
>


Nikdy jsem to nezkousel ale to hle by melo vest k cili

WSAEnumProtocols (zrejme jen ve WinSock 2) vraci jmeno (szProtocol) nebo
address family (iAddressFamily)

pripadne se pokusit otevrit socket s pozadovanou adrss family (AD_INET,
AF_IPX, AF_NETBIOS,...)


D. Toman

TListView, jak na nej - stale nevyreseno ???

[*] Hazuka Filip <filip.hazuka(zv)multivac(tec)cz> - 27.6.2001 17:04:20

Ahoj, nevim zda muj dotaz nezapadl, tak ho pokladam znovu, jelikoz jsem to
jeste nevyresil. Potreboval bych poradit s nasledujicim problemem:
Mam dva listview a potrebuji zkopirovat vybranou polozku do druheho. Mam
nasledujici kod:

procedure TfrmObSestava.Seznam1KeyPress(Sender: TObject; var Key: Char);
var i : integer;
begin
if Key = #13 then
if Seznam1.Selected <> nil then
begin
for i:=0 to Seznam2.Items.Count-1 do
begin
if Seznam2.Items[i].Caption = Seznam1.Items[i].Caption then
Exit;
end;
with Seznam2.Items.Add do
begin
Caption:= Seznam1.Selected.Caption;
SubItems.Add(Seznam1.Selected.SubItems.Text);
end;
end
else
begin
frmHlavni.MsgDlg('Mus� b�t vybr�na polozka v seznamu firem.',
'Informace',mtInformation,[mbYes]);
end;
end;

Problem je v tom, ze kdyz priradim prvni polozku a pak chci dalsi, tak uz se
mi zadna neprida, jinak, kdyz priradim treba druhou a pak dalsi, tak to
funguje bez problemu. Dalsi a to nejvetsi problem je v tom, ze se prirazuji,
jednu polozku a k ni subitem jako dalsi polozku. Stane se mi to, ze se to
vlozi, ale za tu subitem polozku se priradi nakonec jeste toto II, kdyz si
tam dam breakpoint a podivam se na to, co se tam prirazuje, je tam toto
'Nejaky text'#$D#$A . Nevite nekdo, jak se toho mam zbavit ?

Vsem diky za pomoc.
Filip


Vylepseny Richedit

[*] Josef #i�ka - 27.6.2001 18:38:15

Prijemny den!
Nevite o kompomente na bazi Richeditu, ktera by umela take do textu
vkladat obrazky. Diky
Josef


komponenta z Outlooku

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 27.6.2001 19:15:59

From: <vaclav.sykora(zv)accidis(tec)cz>
> nevite nekdo o komponente pro D5 ve stylu kalendare v Outlooku.

Ahoj,

treba tohle: (http://www.jazminecomponents.com)

Petr Vones, amatersky programator


Vylepseny Richedit

[*] Martin Kube�ka <martin.kubecka(zv)amenit(tec)cz> - 27.6.2001 20:18:23

Neco je napr. v RxLibrary. Vyuziva riched20.dll

Mac

> -----Original Message-----
> From: Josef �i�ka [mailto:JosefZizka(zv)seznam(tec)cz]

> Nevite o kompomente na bazi Richeditu, ktera by umela take
> do textu vkladat obrazky. Diky


adresar office potreti

[*] Hurricane <hurricane(zv)quick(tec)cz> - 27.6.2001 21:12:49

Zdravim

Na zaklade rad z konference jsem vyresil ziskavani cesty k Wordu a Excelu a
to k poslednim verzim. Pri instalaci noveho IExploreru jsem ale narazil na
problem. Dejme tomu, ze uzivatel ma nainstalovany Office97 (8.0). Po
instalaci IExploreru do registru pribude jeste klic 9.0 (=Office2000) a v
nem jeste nekolik podklicu. V nich ale ty udaje ktere potrebuju samozrejme
nejsou, jelikoz uzivatel zadne Office2000 nema. Potrebuju tedy otevrit
nejnovejsi klic (9.0), zjistit, jestli je v nem to co potrebuju (konkretne
prohledavam cestu
\Software\Microsoft\Office\'+StrList.Strings[StrList.Count-1]+'Word\InstallR
oot\) a pokud ne, tak snizit Index do StrListu. Potom by to bylo
StrList.Strings[StrList.Count-c]. A nakonec to chci mit osetreny tak, ze
kdyby smycka prosla vsechny verze napsane a StrListu a nenasla nic (a to i v
pripade neexistence Office na danem stroji), tak aby se provedl urcity kod,
ktery by misto excelu zvolil nejakou jinou aplikaci. (neco jako ELSE ....)
Snad jsem to popsal dostatecne.

Problem mam v tom, ze nevim, jak napsat smycku, kterou bych tohle osetril.
Predstavu mam asi takovou:

Nejdriv se promenna c nastavi na 1 a otestuje se
Registry.KeyExists('\Software\Microsoft\Office\'+StrList.Strings[StrList.Cou
nt-c]+'Word\InstallRoot\'). Pokud klic existuje jde se dal, pokud ne,
provede se c:=c+1 a klic se otestuje znova az do doby, kdy klic existuje.
Pokud smycka projede cely StrList a zadny klic neexistuje, provede se
WrdPath := 'neco'; a smycka skonci. V pripade existence klice se provede
Registry.OpenKey('\Software\Microsoft\Office\'+StrList.Strings[StrList.Count
-c]+'Word\InstallRoot\', false); a WrdPath := Registry.ReadString('Path');.
Existuji dve mozna vyusteni smycky. Jedni pri existenci klice a druhe pri
neexistenci.

Mate nekdo nejaky napad, jak to vyresit?

Diky
Hurricane.

Prenos souboru po modemu

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

Zdravim

Na volanem kompu nainstaluj server telef. pripojeni site a na volajicim
vytvor telef. pripojeni s cislem toho druheho kompu. Chodi to bez problemu,
rychlost je pochopitelne jen 33.6.

Hurricane

----- Original Message -----
> potreboval bych prenest soubor z jednoho pocitace na druhy po modemu. V
> komunikacich se moc neorientuji, ale predpokladam, ze by to chtelo nejaky
> vysilaci a prijmaci program. Mohl by me nekdo nasmerovat, jak na to.

Samolepici etikety

[*] Hurricane <hurricane(zv)quick(tec)cz> - 27.6.2001 22:09:14

Zdravim

Co se tyce velikosti, tak to zajistil ramecek z Callista a nuzky. Pri vetsim
poctu kusu ti to v lepsim papirnictvi urcite narezou. Ale nevim, jak bys to
pak nacpal do tiskarny.

Hurricane

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

> > V papirnictvi, kde jinde. Koupil jsem tam cisty samolepici papir A4.

> > ----- Original Message -----

> > > delam aplikaci pro tisk etiket ale na zkouseni potrebuji sehnat
> > > samolepici etikety pro tisk v laserove tiskarne. Etikety musi
> > > byt ve tvaru dvou propojenych casti (jedna cast se nalepi a
> > > druha zustane nenalepena a je urcena k pozdejsimu odtrhnuti).
> > > Nevite kde se daji sehnat?

> No a v jakem papirnictvi jsi koupil prave ten typ samolep, co je tady
> pozadovan?

Metoda POST

[*] Centrum <E_DDT(zv)centrum(tec)cz> - 27.6.2001 22:34:34

Zdravim vsechny.
Mam nasledujici problem. Mam nainstalovany PSW server a na nem jednoduchy
ASP script do ktereho posilam dve promenne a on je pouze vypise. Kdyz je tam
posilam klasicky pres Html stranku je to OK. Ale ja bych to chtel posilat v
Delphi pres metodu NMHTTP1.Post.

Konkretne to vypada takto:

Mam ASP script, ktery vypise:

Byly zaslany data:
Martin
55

V Delphi mam:

NMHTTP1.Post('http://pfeilerm/webpub/obsluha.asp','jmeno=Martin&vek=55');
.
.
.
procedure TForm1.NMHTTP1Success(Cmd: CmdType);
begin
if NMHTTP1.CookieIn <> '' then
Memo4.Text := NMHTTP1.CookieIn;
Case Cmd of
CmdPOST:
begin
Memo1.Text := NMHTTP1.Header;
Memo2.Text := NMHTTP1.Body;
Memo3.Lines.Add('HTTP POST Successful');
end;
.
.
.

Jenze v Memo2.Text ty promenne nejsou. Je tam pouze "Byly zaslany data:" a
nic vic. Jako kdybych tam poslal pradna data.
Pokud pouziju metodu NMHTTP1.Get (a prislusne upravim ASP script), tak to je
OK. NMHTTP1.Body vraci i ty promenne.

Muzete mi rict kde delam chybu? Proc mi NMHTTP1.Post nefunguje?

Diky DDT.

Zjisteni kurzoru na vizualni komponente

[*] Petr Vasicek <pvasicek(zv)operamail(tec)com> - 27.6.2001 16:42:34 -0400

Tak to prave mam a hazi mi to tu chybu. Tu dalsi podminku jsem tam pridal,
bohuzel vsak bezvysledne.

Budu rad, kdyz me vyvedes z omylu, ale nejsem si jist, zda ony eventy
mouseenter a mouse leave maji stalou kontrolu. Co kdyz treba na tlacitko
zmacknu a naskoci nova forma, tu pak zavru, ale jsem z kurzorem nekde jinde, v
takovem pripade pak kurzor z obejktu neodjel, ne? Nebo kdyz se treba otevre
nova forma a kurzor se objevi primo na objektu, pak do neho taky nevjel. Asi
je to mozna jinak.

Kazdopadne se mi nepodarilo najit ty dve Eventy, abych to mohl vyzkouset, v
helpu nic o OnMouseEnter ani CM_MOUSEENTER ani o tom druhem neni. Jak je teda
mam pouzit?

Pokud mas komponentu, ktera je vyuziva, moc prosim o jeji zaslani.

Diky moc

Petr Vasicek


>Zkus treba
>>> "if (FindDragTarget(Mouse.CursorPos,False)<>nil) then begin
>>> if ((FindDragTarget(Mouse.CursorPos,False) as TControl).parent=parent)
>>and
>>> ((FindDragTarget(Mouse.CursorPos,False) as TControl).name=name) then
>>begin"
>
>popr. zkus pridat podminku
> if (FindDragTarget(Mouse.CursorPos,False) is TControl) then.......
>
>BTW proc nechces pouzit CM_MOUSEENTER a CM_MOUSELEAVE ???
>
>Tam preci stalou kontrolu mas - i kdyz spustit aplikaci a kurzor mas potom na
>konkretnim prvku tak k teto udalosti dojde. Mohu ti zaslat komponentu (take
>potomek TImage), ktera ma tyhle udalosti odchycene.
>
>> To prave pouzit nechci, chci mit stalou kontrolu, jak to mam, jen potrebuju
>> osetrit tu chybu, kdyz se prepnu nekam jinam.
>> Petr
>
>
>S pozdravem
>
>Milan Tome�
>Vedouc� v�vojov�ho t�mu Windows
>Softwarehouse HAiDA s.r.o.
>Nov� Bor
>tel: 0424/722291, 0424/222284
>email: Milan.Tomes(zv)haida(tec)cz

-------------------------------------------
The Fastest Browser on Earth now for FREE!!
Download Opera 5 for Windows now! Get it at
http://www.opera.com/download/
-------------------------------------------


TPicture jako Result funkce

[*] Petr Vasicek <pvasicek(zv)operamail(tec)com> - 27.6.2001 16:53:35 -0400

Zdravim,
chtel bych se zeptat, jak je to s funkci, ktera ma vracet nejaky obrazek.
Dela mi to dost problemy, protoze to ubira dost pameti, kdyz to pouzivam na
velkej obrazek(projevuje se to zvetsenim swapfilu). Napriklad jsem volani te
funkce zkousel dat do loopu, aby se to vykonalo stokrat, pak se swapfile
zvetsil o 12MB. Nejspise se tam neuvolnuje ten result, ale to dost dobre nevim
jak udelat. Napisu to trochu zjednodusene:

function nacti(path:string):TPicture;
begin
Result:=TPicture.Create;
Result.LoadFromFile(path);
end;

Pak nejakej prikaz Image1.picture.assign(nacti('o.jpg')); ale staci plne jen
bez prirazovani do obrazku - nacti('o.jpg'); vykonat vickrat a hned je videt,
ze to bere strasne moc pameti. Mohl by mi nekdo prosim poradit, jak predam z
funkce obrazek, aniz by to delalo ty kiksy s pameti?

Dekuji moc

Petr Vasicek

-------------------------------------------
The Fastest Browser on Earth now for FREE!!
Download Opera 5 for Windows now! Get it at
http://www.opera.com/download/
-------------------------------------------


TEDIT

[*] Viliam Mlich <vmlich(zv)mbox.vol(tec)cz> - 28.6.2001 00:27:12

Hello Martin!

> Mam problem s TEdit, kdyz v nem stisknu ENTER
> zavre se mi formular (ShowModal) na formulari jsou
> 2 TBitBtn "OK" "Cancel" nevite jak z toho ven? Dik

Co je na tom zle? Vsetko je spravne. Z coho chces ist von?

Predsa 'Enter' odjakziva znamena, ze sa stlacil button s vlastnostou
'Default=true' (zobrazuje sa s tucnejsim obrysom). A ked mas v 'OnClick'
toho buttonu predpisane, ze sa ma vratit mrOK, tak sa dialog spravne zavrie
s resultom mrOK.

Nic ti nebrani v tom OnClick skontrolovat obsahy Editov a ked niektory z
nich nie je spravny, nastavit ModalResult na mrNone (tym zabranis zavretiu
dialogu) a dat kurzor na ten chybajuci udaj (t.j. nastavit ActiveControl
dialogu na prislusny Edit). Pripadne este zapipat a do Hint dat vysvetlenie,
preco je ten udaj zly.

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

Odchyt stisku klavesy

[*] MaJunD <majund(zv)atlas(tec)cz> - 28.6.2001 00:27:49

Zdravim,
Lze nejak odchytit stisk libovolne klavesy (pismena, cisla, sipky atd...)
pri jejim stisku (jeji ASCII kod), kdyz je aplikace spustena na pozadi?

Win 98, D5E

Predem dekuji za odpoved
Martin


TPicture jako Result funkce

[*] Lauko tefan <laukosw(zv)naex.sk> - 28.6.2001 00:44:33

From: Petr Vasicek <pvasicek(zv)operamail.com>
> Zdravim,
> chtel bych se zeptat, jak je to s funkci, ktera ma vracet nejaky obrazek.
> Dela mi to dost problemy, protoze to ubira dost pameti, kdyz to pouzivam
na
> velkej obrazek(projevuje se to zvetsenim swapfilu). Napriklad jsem volani
te
> funkce zkousel dat do loopu, aby se to vykonalo stokrat, pak se swapfile
> zvetsil o 12MB. Nejspise se tam neuvolnuje ten result, ale to dost dobre
nevim
> jak udelat. Napisu to trochu zjednodusene:
>
> function nacti(path:string):TPicture;
> begin
> Result:=TPicture.Create;
> Result.LoadFromFile(path);
> end;
>
> Pak nejakej prikaz Image1.picture.assign(nacti('o.jpg')); ale staci plne
jen
> bez prirazovani do obrazku - nacti('o.jpg'); vykonat vickrat a hned je
videt,
> ze to bere strasne moc pameti. Mohl by mi nekdo prosim poradit, jak predam
z
> funkce obrazek, aniz by to delalo ty kiksy s pameti?

Ahoj,
nepochopil som zmysel tejto konstrukcie.
Image1.picture.assign(nacti('o.jpg')); je lepsie nahradit
Image1.picture.LoadFromFile('o.jpg');
Inak musis zrusit object vytvoreny v nacti.
asi takto:
var
obr:TPicture;
begin
obr:= nacti('o.jpg');
Image1.picture.assign(obr);
obr.free;
end;
Zda sa mi to uplne zbytocne pisanie kodu...

Lauko.

TPicture jako Result funkce

[*] Jan Skopov� <jsdelphi(zv)atlas(tec)cz> - 28.6.2001 00:57:29

Pote co udelas Image1.Picture.Assign..., musis provest Result.Free.

Jan Skopovy

----- Original Message -----
From: "Petr Vasicek" <pvasicek(zv)operamail.com>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, June 27, 2001 10:53 PM
Subject: TPicture jako Result funkce


> Zdravim,
> chtel bych se zeptat, jak je to s funkci, ktera ma vracet nejaky obrazek.
> Dela mi to dost problemy, protoze to ubira dost pameti, kdyz to pouzivam
na
> velkej obrazek(projevuje se to zvetsenim swapfilu). Napriklad jsem volani
te
> funkce zkousel dat do loopu, aby se to vykonalo stokrat, pak se swapfile
> zvetsil o 12MB. Nejspise se tam neuvolnuje ten result, ale to dost dobre
nevim
> jak udelat. Napisu to trochu zjednodusene:
>
> function nacti(path:string):TPicture;
> begin
> Result:=TPicture.Create;
> Result.LoadFromFile(path);
> end;
>
> Pak nejakej prikaz Image1.picture.assign(nacti('o.jpg')); ale staci plne
jen
> bez prirazovani do obrazku - nacti('o.jpg'); vykonat vickrat a hned je
videt,
> ze to bere strasne moc pameti. Mohl by mi nekdo prosim poradit, jak predam
z
> funkce obrazek, aniz by to delalo ty kiksy s pameti?
>
> Dekuji moc
>
> Petr Vasicek
>
> -------------------------------------------
> The Fastest Browser on Earth now for FREE!!
> Download Opera 5 for Windows now! Get it at
> http://www.opera.com/download/
> -------------------------------------------
>
>

FF2 a DELPHI 6

[*] Miroslav Ondrisek <ondrisek(zv)atlas(tec)cz> - 28.6.2001 07:18:04

TurboPower NIKDY nesdeluje jakekoliv terminy cehokoliv, ani horizonty ci
vyhledy. Je to jejich firemni filozofie (otazka je, zda dobra). Podle
komentaru v jejich konferenci je situace takova, ze na implementaci do D6 se
pracuje, ale teprve chvili, od oficialniho vydani D6 (a pak jeste (udajne)
cekali nejaky cas na dodavku od Inprise).
Shrnuto: Bude a nevi se kdy (ale mozna uz ve verzi 2.03).

Cau Mira Ondrisek

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
> Behalf Of Pavel ZIDEK
> Subject: FF2 a DELPHI 6
>
>
> Zdravim,
> kdo vi, kdy bude FF2 pro DELPHI 6. TURBOPOWER taktne mlci.

Komponenta na export

[*] Martin O�en� - 28.6.2001 08:47:31

Nevie niekto o komponente, ktora vie urobit export vsetkych recordov z
datasetu do roznych formatov (zaujima ma hlavne Excel a DBase) ?

Vopred dakujem.

Martin


MAINICION

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 28.6.2001 08:54:56

V *.RES (tedy Project1.RES treba) je ulozena:

* ikonka MAINICON
* defaultni ikonky na tlacitka (takovy hnusny zeleny hacek a cerveny
krizek)
* informace o verzi

Dopoprucuji program ResourceHacker (mohu zaslat), ktery dokaze vykuchat
jakykoliv resource a jakykoliv zase opravit ci zmenit (i v EXE souboru !!).
A hlavne generuje treba z EXE resourcu .RC skripty (vhodne pro upravu a
zpetne vlozeni).>jedna z "cest", ktere zabrani IDE vlozit MAINICON do resourcu je vyhodit {$R
>*.res} z projektu. Jednou se mi to povedlo a pak jsem dloho hledal proc ta
>ikona zmizela :-). Ale tim se samozrejme vyhodi vic veci a pouzitelne je to
>asi jen v pripade aplikace bez VCL...

S pozdravem
Tomas Rosa

------------------------=[ pinknet on every screen ]=----------------------
Tomas Rosa
Tomas.Rosa(zv)PinkNet(tec)cz
Contact me via EFFATA.NET, my EID: trosa(zv)effata.net
PinkNet Web Server for Win32 - FREEWARE http://pnws.pinknet(tec)cz/
---------------------------------------------------------------------------


Excel na tisic zpusobu :o(

[*] Tom� Janta����##��{�#��Y��̿ - 28.6.2001 09:12:13

> Ja pouzivam zapis do txt filu ktoremu iba priradim xls priponu a
> funguje mi
> to.(aj ked je to asi mimoriadne amatersky sposob)

OK, to znam, resp. obdobu toho co pises, ja udelam klasicky txt soubor a pak
ho nechavam importovat, jenze ted potrebuju udelat "ZIVOU" tabulku do
excelu, tj. behem dne do ni neustale pripisovat nova a nova data.

Debug a packages.

[*] Bohdan Voska <bohdan(zv)softok(tec)cz> - 28.6.2001 09:38:12

Ahoj,

dost casto potrebuji pouzit trasovani uloh, ktere jsou v balickach od
Borlandu (napr VCLDB50 a DB.PAS). Kdyz jedu bez balicku, tak si mohu
nastavit breakpoint kam chci do db.pas a funguje trasovani OK. Jakmile zapnu
balicky, tak nejde trasovat db.pas a ostatni pasy, ktere jsou v balickach od
borlandu a nekdy se dost spatne potom hledaji chyby. Kde mohu mit chybu v
nastaveni a nebo to nejde?

Diky za kazdou odpoved.


Bohdan Voska
bohdan(zv)softok(tec)cz
Delphi 5 Ent.

AnsiStringy

[*] Slavomir Skopalik <skopalik(zv)hlubocky.del(tec)cz> - 28.6.2001 09:40:02

Odpurci GetMem zapominaji na dynamicka pole alokovana GetMem (jsou
efektivnejsi pro lokalni praci, nez automaticka dynamicka pole),
dale zapominaji, ze mnoho knihoven ze strarsich verzi Delphi a Pascalu
pouziva tento postup (ano lze je prepsat a pokud maji odpurci naladu
a cas, tak jim poslu na prepsani par desitek tisic radku kodu)
a posledni vec, kde je nutny GetMem je situace, kdy mam datovy
list (obdoba TList, ale skladuje primo cele struktury), kdo
zna Frendli Pascal a objekt TSort vi o cem mluvim, nic
tak pohodlneho se v Delphi nevyskytuje.

Slavek

PS: Dalsim problematickym prikazem je move, nezvedne pocet referenci !!!

> > > Chcel som len naznacit ze uvedeny priklad je prudko spekulativny a
> urcite
> > sa
> > > zhodneme na tom, ze alokovat strukturu RECORD pomocou GetMem je mierne
> > > nekorektne riesenie, ktore nic neprinasa.
> >
> > Jak jsem jiz psal, jsou pripady kdy New() nelze pouzit.
>
> Nehnevaj sa ale to je hlupost. V zivote som nemusel a nebudem musiet pouzit
> na alokaciu RECORDu GetMem.
> Co na tom ze potrebujes alokovat pevnu strukturu a potom lubovolne dlhy
> buffer, ved to predesa nebudes robit tak ze pouzijes GetMem a potom budes
> inicializovat premenne.
> Normalny programator predsa nie je masochista.
> Mam predsa milion moznosti ako to urobit elegantne a hlavne cisto:
> povedzme ze mam: (meno, cislo) - pevne, (buffer) - lubovolne velky
>

Nevsedni tabulka

[*] Danny <delphiforum(zv)atlas(tec)cz> - 28.6.2001 09:40:51

Ahoj lidickove,

potrebuju udelat takovou zvlastni tabulku, kde by v jednotlivych radcich
nebyly bunky stejne siroke, tzn. v jednom radku jsou bunky shodne, ale v
dalsim radku muzou byt polovicni, tretinove, apod.

Existuje na to nejaka (free) komponenta nebo to dokonce lze nejakym zpusobem
vykouzlit z obycejneho gridu?

Diky za nasmerovani.

Danny


KYLIX - komponenty - seriova komunikace

[*] Radek Cervinka <radek.cervinka(zv)centrum(tec)cz> - 28.6.2001 09:41:45

Ahoj,
seriova komunikace je po linuxem docela jednoducha, v podstate
jenom otevres soubor, ktery specifikuje seriovou linku a ctes
z nej data jako ze souboru.
na www.freepascal.org je unit serial, ktery to umi. A mas to
zadarmo.

Radek


> Ahoj dikec jak jsem se dival je to za 399 U$ to by slo,
jeste
> potrebuji tiskove sestavy neco jako Sineu pro KYLIX nevis
prosim o necem ?
> Pak muzu ten projekt spustit ... ostani se da ozelet a
doprogramovat... :)


-----
Profesion�lov� sv�tov�ho skateboardingu
na http://0g(tec)cz/0107/mystic_sk8_cup

Excel na tisic zpusobu 2

[*] Tom� Janta����##��{�#��Y��̿ - 28.6.2001 09:54:40

Ahoj,

mozna trosku OT dotaz, ale tohle resim v D5 s Excelem

U bunek v excelu je ve formatu bunek parametr ktery udava zda ma byt bunka
uzamcena (needitovatelna) pokud je cely list uzamcen pod heslem. Ja
potrebuji kazdych 10 minut pridat novy radek s dvema udaji, ktere maji byt
uzamceny (ktere uzivatel nesmi editovat). Samozrejme do uzamcenych bunek
nelze zapisovat ani makrem. Pokud tedy vytvorim list a nastavim bunky podle
potreby na uzamcene/neuzamcene, musim pak pri kazdem zapisu ze sve ho
programu do zamcenych bunek odemknout cely list, zapsat data a list opet
zavrit. Toto reseni mi neprijde prilis korektni protoze list by mohl zustat
odemcen delsi dobu a uzamcene bunky by nebyly chranene. Myslite ze je tento
zpusob korektni, nebo mate lepsi reseni?

Tomas Jantac

PaPouch elektronika
www.papouch.com

TListView, jak na nej - stale nevyreseno ???

[*] Skala Tomas <alcatraz(zv)atlas(tec)cz> - 28.6.2001 11:05:51

ad1)
problem je v prohledavani for cyklem. Je zazrak, ze to nepada na Index out of bounds
spravne to patri takto. Ale lze to prepsat primo funkci.
{ for i:=0 to Seznam2.Items.Count-1 do
begin
if Seznam2.Items[i].Caption = Seznam1.Selected.Caption then
Exit;
end;}

ad2) TStrings.Add (subitems:TStrings) prida na konec znak Enteru. Ten se zobrazuje jako ||

tohle by mohlo fungovat (netestovano):

procedure TfrmObSestava.Seznam1KeyPress(Sender: TObject; var Key: Char);
var i : integer;
begin
if Key = #13 then
if Seznam1.Selected <> nil then
begin
if Seznam2.FindCaption(0, Seznam1.Selected.Caption,false,true,true)<>nil then exit;
with Seznam2.Items.Add do Assign(Seznam1.Selected);
end
else
begin
frmHlavni.MsgDlg('Musi byt vybrana polozka v seznamu firem.',
'Informace',mtInformation,[mbYes]);
end;
end;> -----Puvodni zprava-----
> Od: Hazuka Filip [SMTP:filip.hazuka(zv)multivac(tec)cz]
> Odeslano: 27. eervna 2001 17:04
> Komu: 'delphi-l(zv)clexpert(tec)cz'
> Poedmit: TListView, jak na nej - stale nevyreseno ???
>
> Ahoj, nevim zda muj dotaz nezapadl, tak ho pokladam znovu, jelikoz jsem to
> jeste nevyresil. Potreboval bych poradit s nasledujicim problemem:
> Mam dva listview a potrebuji zkopirovat vybranou polozku do druheho. Mam
> nasledujici kod:
>
> procedure TfrmObSestava.Seznam1KeyPress(Sender: TObject; var Key: Char);
> var i : integer;
> begin
> if Key = #13 then
> if Seznam1.Selected <> nil then
> begin
> for i:=0 to Seznam2.Items.Count-1 do
> begin
> if Seznam2.Items[i].Caption = Seznam1.Items[i].Caption then
> Exit;
> end;
> with Seznam2.Items.Add do
> begin
> Caption:= Seznam1.Selected.Caption;
> SubItems.Add(Seznam1.Selected.SubItems.Text);
> end;
> end
> else
> begin
> frmHlavni.MsgDlg('Musi byt vybrana polozka v seznamu firem.',
> 'Informace',mtInformation,[mbYes]);
> end;
> end;
>
> Problem je v tom, ze kdyz priradim prvni polozku a pak chci dalsi, tak uz se
> mi zadna neprida, jinak, kdyz priradim treba druhou a pak dalsi, tak to
> funguje bez problemu. Dalsi a to nejvetsi problem je v tom, ze se prirazuji,
> jednu polozku a k ni subitem jako dalsi polozku. Stane se mi to, ze se to
> vlozi, ale za tu subitem polozku se priradi nakonec jeste toto II, kdyz si
> tam dam breakpoint a podivam se na to, co se tam prirazuje, je tam toto
> 'Nejaky text'#$D#$A . Nevite nekdo, jak se toho mam zbavit ?
>
> Vsem diky za pomoc.
> Filip


Excel na tisic zpusobu :o(

[*] Jan Krizek <krizek(zv)vitasw(tec)cz> - 28.6.2001 11:06:38

> Je mi jasne ze kolem Excelu tu jiz bylo mnoho prizpevku, ale
> nedostatecna
> dokumentace a priklady me nuti ptat se znovu a znovu. :o(
>
> Potrebuji napsat aplikaci se zivou tabulkou v Excelu. Jde o
> zapis do excelu
> asi 100 bunek, kazdych 10 minut.
> Momentalne se snazim naucit se s Excelem komunikovat. Zkousel jsem
> komponenty Automation Servers (TExcelApplication,atd..) i
> klasicky zpusob
> OLE Automation. (Var Excel:Variant; ...
> FExcel:=CreateOleObject('Excel.Application');) U obou zpusobu
> jsem narazil
> na problemy.
>
> 1) Poradte co je lepsi pouzivat.

Oboji pouziva totez, pouze pokud pouzijes TExcelApplication, pak mas
naimportovanou Type Library, tedy vidis v Delphi metody a property objektu.

> 2) Poradte jak vytvorit novy SESIT (Workbook) s urcitym
> nazvem (resp. novy
> soubor), umim vytvorit zadany SESIT, ale nedari se me jej
> pojmenovat ci
> ulozit.

ExcelApplication by mela mit kolekci Workbooks. Tam je metoda Add, ktera
vraci objekt Workbook. A u toho je metoda SaveAs.

> 3) Kdyz vytvarim novy LIST (Worksheet) tak se mi radi jako
> prvni v rade, ale
> ja bych ho potreboval vyvorit nakonci rady. Koukal jsem se do
> helpu VB ale
> neumim pouzit parametr After, Before atd...
>

Mas-li promenne Worksheet1 a Worksheet2, pak by melo fungovat

Worksheet1.Move( After := Worksheet2 );

Honza +

Excel na tisic zpusobu :o(

[*] Peter Surovy <psurovy(zv)uevora.pt> - 28.6.2001 10:26:30

No existuje na to Unit JClExcel.pas v kniznici JediCodeLibrary , ktoru
najdes na http://www.delphi-jedi.org/
pripadne Ti to mozem poslat tam je vytvaranie stranok zapis buniek labely
... ale je to dost zlozite aspon pre mna a nie je k tomu help.

jenze ted potrebuju udelat "ZIVOU" tabulku do
> excelu, tj. behem dne do ni neustale pripisovat nova a nova data.
>
>
----------------------------------
Ing. Peter Surovy
psurovy(zv)uevora.pt
ICQ #119605423

Delphi a MAC podruhe

[*] Milan Ri�i <milanrisi(zv)volny(tec)cz> - 28.6.2001 12:31:19

Zdravim,
vznasim svuj dotaz jeste jednou a upresnuji. Lze napsat aplikaci v Delphi, aby makala na MACu ? Problem je v tom, ze by se vyuzil emulator PC (virtual PC). To funguje a mam to odzkousene, ale nevim, co mi udela instalace BDE !!! Viteli nekdo, nebo mate nejake zkusenosti, prosim poradte.
Diky


Prevod aplikace na jiny OS language

[*] borkovec(zv)email(tec)cz - 28.6.2001 13:25:19

Ahoj,
mam existujici, funkcni aplikaci s BDE. Problem je, ze ji nejsem schopen rozchodit na US Win. Zkousel jsem ruzne drivery, ale nic...Nevite nekdo, jestli to ma reseni? Diky


---
Email(tec)cz - Vase posta zdarma!
http://www.email(tec)cz


Prevod aplikace na jiny OS language

[*] Tomas Vladik <tom.vladik(zv)swadvice(tec)cz> - 28.6.2001 14:13:26

> mam existujici, funkcni aplikaci s BDE. Problem je, ze ji
> nejsem schopen rozchodit na US Win. Zkousel jsem ruzne drivery,
> ale nic...Nevite nekdo, jestli to ma reseni? Diky
>

Zkus to upresnit, tvoje definice prostredi (US Win) je velice vagni. Jaka
verze WIndows, verze BDE atd. atd. ...


T.

TStringList

[*] Hazuka Filip <filip.hazuka(zv)multivac(tec)cz> - 28.6.2001 14:18:51

Ahoj vsem, mrknete prosim nekdo na tuto funkci, jestli mi tam nechybi
uvolneni Stringlistu z pameti, neco jako R.Free ? Mam to dat na konec ?

function TForm1.CutString(P: String; const Symbol: Char): TStringList;
var I: Integer;
R: TStringList;
begin
R:=TStringList.Create;
while Pos(Symbol, P)> 0 do
begin
I:=Pos(Symbol, P);
if Copy(P, 1, I-1)<> '' then R.Add(Copy(P, 1, I-1));
Delete(P, 1, I);
end;
if P<> '' then R.Add(P);
Result:=R;
end;

Diky
Fila


TStringList

[*] Radim Kunz <privat(zv)casestudio(tec)com> - 28.6.2001 14:28:52



> Ahoj vsem, mrknete prosim nekdo na tuto funkci, jestli mi tam nechybi
> uvolneni Stringlistu z pameti, neco jako R.Free ? Mam to dat na konec ?
>
> function TForm1.CutString(P: String; const Symbol: Char): TStringList;
> var I: Integer;
> R: TStringList;
> begin
> R:=TStringList.Create;
> while Pos(Symbol, P)> 0 do
> begin
> I:=Pos(Symbol, P);
> if Copy(P, 1, I-1)<> '' then R.Add(Copy(P, 1, I-1));
> Delete(P, 1, I);
> end;
> if P<> '' then R.Add(P);
> Result:=R;
> end;
>
> Diky
> Fila
>

V tomhle pripade rozhodne ne, protoze ten Stringlist vracis
jako vysledek funkce. Kdybys na konci funkce uvolnil,
tak by ti to samozrejme spadlo.
Ale nesmis zapomenout ten Stringlist nekde uvolnit, nekde
mimo tuhle funkci.

Cele mi to pripada nestastne neprehledne vyresene, lepsi by bylo
ten StringList vytvorit nekde mimo tuhle funkci, a do funkce ho
predat jako parametr. Pak bys ho ani nemusel vracet v resultu
funkce.

Radim

seriova komunikace v Pascalu

[*] Hurricane <hurricane(zv)quick(tec)cz> - 28.6.2001 14:42:43

Zdravim

Snad se to bude hodit i nekomu jinemu, tak to posilam do konference.
Stredoskolska priprava zklamala a tak to pisu zcasti z vlastnich zkusenosti,
zcasti ze skolniho sesitu, snad se na to nevztahuji autorska prava.

COM port ma tri 8bitove registry, ktere muzes jednotlive ovladat. Port ma
dva vystupy (DTR, RTS) a ctyri vstupy (CTS, DSR, RI, DCD). Jako vystup se
uvadi i BREAK, ale jeho funkce muze byt nejak specificka, takze pokud nebude
potreba, radsi bych ho nepouzival.

Port se adresuje jako BA+offset
BA = bazova adresa (COM1 - 3f8, COM2 - 2f8)
ridici registr linek (BREAK) - offset 3
ridici registr modemu (DTR, RTS) - offset 4
stavovy registr modemu (CTS, DSR, RI, DCD) - offset 6



ridici registr linek (BREAK) - offset 3
--------------------------------------
BREAK - bit6
ostatni bity jsou nepouzite

| 7 | 6 | 5 | 4 | 3 | 2 | 1 |
|__________________ BREAK

Port[BA+3] := 0; {BREAK OFF}
Port[BA+3] := 64; {BREAK ON}
ridici registr modemu (DTR, RTS) - offset 4
--------------------------------------------
DTR - bit0
RTS - bit1
ostatni bity jsou nepouzite

| 7 | 6 | 5 | 4 | 3 | 2 | 1 |
| |____ DTR
|______ RTS

Port[BA+4] := 0; {DTR OFF, RTS OFF}
Port[BA+4] := 1; {DTR ON, RTS OFF}
Port[BA+4] := 2; {DTR OFF, RTS ON}
Port[BA+4] := 3; {DTR ON, RTS ON}
stavovy registr modemu (CTS, DSR, RI, DCD) - offset 6
----------------------------------------------------------
CTS - bit4
DSR - bit5
RI - bit6
DCD - bit7
ostatni bity jsou nepouzite

| 7 | 6 | 5 | 4 | 3 | 2 | 1 |
| | | |___________ CTS
| | |_____________ DSR
| |________________ RI
|__________________ DCD

if Port[BA+6] = 0 then ...; {CTS OFF, DSR OFF, RI OFF, DCD OFF}
if Port[BA+6] = 16 then ...; {CTS ON, DSR OFF, RI OFF, DCD OFF}
if Port[BA+6] = 32 then ...; {CTS OFF, DSR ON, RI OFF, DCD OFF}
if Port[BA+6] = 64 then ...; {CTS OFF, DSR OFF, RI ON, DCD OFF}
if Port[BA+6] = 128 then ...; {CTS OFF, DSR OFF, RI OFF, DCD ON}
if Port[BA+6] = 48 then ...; {CTS ON, DSR ON, RI OFF, DCD OFF}
analogicky to pokracuje az na 240 {vsechny zapnute}

| CTS | DSR | RI | DCD |
----|------|-------|----|------|
16 | X | | | |
----|------|-------|----|------|
32 | | X | | |
----|------|-------|----|------|
64 | | | X | |
----|------|-------|----|------|
128| | | | X |
----|------|-------|----|------|
48 | X | X | | |
----|------|-------|----|------|
| | | | |
| | | | |
----|------|-------|----|------|
240| X | X | X | X |
----|------|-------|----|------|


Pri cteni portu se casto stava, ze potrebujes zjistovat stav jen jedne linky
(jednoho bitu). Pak pouzijes takovouhle konstrukci:

if (Port[BA+6] and 16)=16 then ... else ... ;

Cislo 16 si nahradis jinym podle vzse uvedene tabulky. Uvedenz priklad
testuje linku CTS.

Na zaver jeste maly priklad.

Blikac na DTR:
repeat
Port[BA+4] := 0; {OFF}
Delay(500);
Port[BA+4] := 1; {ON}
Delay(500);
until keypressed;

Jestli mas jeste dalsi otazky, staci napsat. (napr. mam navod, jak ovladat
4civkovy krokac (z velky disketarny)).

Hurricane

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

> potrebuju pro jeden starsi program napsanej v TP7 dodelat to, abych
> jednoduse mohl poslat na seriovy port nejakej byte a naopak z
> portu cist. Mate nekdo zdrojacek, radu, napad, odkaz, knihovnu, ...

Instalator pro Delphi

[*] Dusan Fojtik <fojtikd(zv)aix.upol(tec)cz> - 28.6.2001 15:07:29

Nazdar
Ktery instalator je nejlepsi na delani instalacek produktu, ktere byly
naprogramovany v Delphi 5.0 ? V instalacce Delphi 5 EE, je sice
instalator Installshield Express Limited Edition. Je sice dobry, ale je
moc funkcne orezany. Rad bych pouzival instalator ve stylu Installshield
Expressu, ale potrebuji aby mel i moznost skriptovani.
Nevite o nejakem, pokud mozno freewarovem ?
S pozdravem
Dusan Fojtik


TStringList

[*] brant(zv)dcomm(tec)cz - 28.6.2001 15:23:31

Nevim jak kdo, ale ja bych to takhle nepsal, protoze minimalne z duvodu
prehlednosti je dobre vytvorit a uvolnit objekt v jedne urovni. Takze bych
to udelal takto:

var R: TStringList;

R:= TStringList.Create;
CutString(P, Symbol, R);
..zpracovani obsahu R..
R.Free;

procedure TForm1.CutString(P: String; const Symbol: Char; R: TStringList);
var I: Integer;
begin
R.Clear; //aby to odpovidalo drivejsimu kodu
while Pos(Symbol, P)> 0 do
begin
I:=Pos(Symbol, P);
if Copy(P, 1, I-1)<> '' then R.Add(Copy(P, 1, I-1));
Delete(P, 1, I);
end;
if P<> '' then R.Add(P);
end;

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

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


Ahoj vsem, mrknete prosim nekdo na tuto funkci, jestli mi tam nechybi
uvolneni Stringlistu z pameti, neco jako R.Free ? Mam to dat na konec ?

function TForm1.CutString(P: String; const Symbol: Char): TStringList;
var I: Integer;
R: TStringList;
begin
R:=TStringList.Create;
while Pos(Symbol, P)> 0 do
begin
I:=Pos(Symbol, P);
if Copy(P, 1, I-1)<> '' then R.Add(Copy(P, 1, I-1));
Delete(P, 1, I);
end;
if P<> '' then R.Add(P);
Result:=R;
end;

FileStream + nacitani stringu

[*] jd.software(zv)basoft.ch - 28.6.2001 15:24:03


This is a multi-part message in MIME format.
Mam textovy soubor, ktery je asi tohoto tvaru:

HLAVICKA SOUBORU (x znaku )-- nepotrebuju
1.HLAVICKA ZAZNAMU (Typ a cislo)+ telo zaznamu (delka tela je ruzna podle typu
zaznamu)
..
n.HLAVICKA ZAZNAMU + telo zaznamu
KONEC SOUBORU (x znaku) -- nepotrebuju

A ted bych chtel nacist vsechny zaznamy. Delam to takto a chtel bych vedet zda
je to spravne:

****** chtel jsem puvodne pouzit record se stringami (String[5], String[10]),
****** ale po nacteni nemeli spravny obsah (byli delsi nez definovana delka) -
proc ???????
TRecord = packed record
Type: array [1..5] of char;
Nr: array [1..10] of char;
end;

procedure TECBCImportFile.ImportFile(const FileName: String);
//------------------------------------------------------------------------------
var
ImportFile : TFileStream;
Rec: TRecord;
Len, OkLength: Integer;
BodyContent: String;
begin
// open file in exclusive mode
ImportFile := TFileStream.Create(FDirName + FileName, fmOpenRead or
fmShareExclusive);
try
ImportFile.Seek(0, soFromBeginning);
// skip file header
SetLength(BodyContent, SKIP_FILE_LENGTH);
Len := ImportFile.Read(BodyContent[1], SKIP_FILE_LENGTH)

*** tady chci nastavit delku na skutecne nacteny pocet, ale kdyz to tu necham,
tak mi to pri ukoncovani
*** programu sekne na Access violation ... Je to spravne nebo to tu nepatri? A
musim nejak tuto promenou
*** na konci uvolnovat?
SetLength(BodyContent, SKIP_FILE_LENGTH);

// read all content of file
while ImportFile.Position < ImportFile.Size do begin
// read body header
Len := ImportFile.Read(Body, SizeOf(Rec));
if Len < SizeOf(Rec) then raise Exception.Create('wrong structure');

// record type => read OkLength chars
OkLength := GetRecordLength(Rec.Type);
SetLength(BodyContent, OkLength);
Len := ImportFile.Read(BodyContent[1], OkLength);
*** musim pouzit znovu SetLength(BodyContent, Len) ????

finally
FreeAndNil(ImportFile);
end;
end;


Petr
"

This e-mail may contain confidential material. It is intended only for
the person or entity which it is addressed to. Any review,
retransmission, dissemination or other use of this information by
persons or entities other than the intended recipient is prohibited. If
you received this e-mail in error, please immediately notify the sender
or The Swiss Raiffeisen Group and delete the material from any and all
computers it may be stored on.
Any views or opinions expressed in this e-mail are those of the sender
and do not necessarily coincide with those of The Swiss Raiffeisen
Group. Therefore this e-mail does not represent a binding agreement nor
an offer to deal.
E-mail transmission cannot be guaranteed to be secure or error-free.
Information could be intercepted, corrupted, lost, destroyed,
incomplete or may contain viruses. Neither The Swiss Raiffeisen Group
nor the sender can accept any liability for any kind of damage as the
result of viruses or transmission errors.

"

Delphi a MAC podruhe

[*] Tomas Vida <vida(zv)uniware(tec)cz> - 28.6.2001 15:27:08

Toto je zprava ve formatu MIME obsahujmcm vmce hastm.
Ahoj,
pokud mam zkusenosti s Macama a provozem VirtualPC, tak jsem zatim videl jen
jednu aplikaci, ktera pod touto emulaci nefungovala. Bylo to ucetnictvi,
napsane v DOSu, a jedine vec, ktera delal problemy, byla cestina.
Z toho usuzuji, ze by to melo fachat bez problemu.
Pokud chces, muzu ti pomoci s nejakym testem. Macu tady mam dost a VirtualPC
by se take nasel.

Zdravi
tomas

---
Tomas Vida
Uniware s.r.o., Purkynova 6, Ostrava 1
Tel.: 069 - 612 51 47, 611 54 51 ICQ: 14587695
Zdravim,
vznasim svuj dotaz jeste jednou a upresnuji. Lze napsat aplikaci v Delphi,
aby makala na MACu ? Problem je v tom, ze by se vyuzil emulator PC (virtual
PC). To funguje a mam to odzkousene, ale nevim, co mi udela instalace BDE
!!! Viteli nekdo, nebo mate nejake zkusenosti, prosim poradte.
Diky


Drag and Drop mezi formulari

[*] ing.Pavel Cabalka <pavel_cabalka(zv)vcshk(tec)cz> - 28.6.2001 15:47:24

ahoj vespolek
potreboval bych nakopnout smerem kterak realizovat pretahovani drag and drop
mezi dvema formulari teze aplikace.
diky
PavelC


Instalator pro Delphi

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 28.6.2001 15:57:09

Dusan Fojtik dne 28 Jun 2001, v 15:07:

> Ktery instalator je nejlepsi na delani instalacek produktu, ktere byly
> naprogramovany v Delphi 5.0 ? V instalacce Delphi 5 EE, je sice
> instalator Installshield Express Limited Edition. Je sice dobry, ale
> je moc funkcne orezany. Rad bych pouzival instalator ve stylu
> Installshield Expressu, ale potrebuji aby mel i moznost skriptovani.
> Nevite o nejakem, pokud mozno freewarovem ? S pozdravem

Velice dobrou zkusenost jsem udelal s programem Inno Setup:

http://www.jrsoftware.org/

Instalator pro Delphi

[*] Ota Maly <ota.maly(zv)volny(tec)cz> - 28.6.2001 16:10:01

Ahoj,
treba InnoSetup (www.innosetup.com).
Umi cestinu, skripty, novy vzhled a je zadarmo se zdrojakama..
Ja jsem s nim vcelku spokojen.

S pozdravem
Ota Maly

PaPouch elektronika
http://www.papouch.com


> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Dusan Fojtik
> Sent: Thursday, June 28, 2001 3:07 PM
> To: Konference o Delphi
> Subject: Instalator pro Delphi
>
>
> Nazdar
> Ktery instalator je nejlepsi na delani instalacek produktu, ktere byly
> naprogramovany v Delphi 5.0 ? V instalacce Delphi 5 EE, je sice
> instalator Installshield Express Limited Edition. Je sice dobry, ale je
> moc funkcne orezany. Rad bych pouzival instalator ve stylu Installshield
> Expressu, ale potrebuji aby mel i moznost skriptovani.
> Nevite o nejakem, pokud mozno freewarovem ?
> S pozdravem
> Dusan Fojtik
>
>
>

AnsiStringy

[*] Erik Salaj <winsoft(zv)stonline.sk> - 28.6.2001 16:27:55

> Odpurci GetMem zapominaji na dynamicka pole alokovana GetMem (jsou
> efektivnejsi pro lokalni praci, nez automaticka dynamicka pole),

Mozes uviest priklad, v com je GetMem efektivnejsi?

> dale zapominaji, ze mnoho knihoven ze strarsich verzi Delphi a Pascalu
> pouziva tento postup (ano lze je prepsat a pokud maji odpurci naladu
> a cas, tak jim poslu na prepsani par desitek tisic radku kodu)

Takze z tohto dovodu treba zrejme GetMem chvalit a preferovat?
To, ze sa nieco pouzivalo (hoci aj uspesne) zrejme znamena, ze ho
uz nemozno kritizovat a lepsie riesenie uz nemoze byt.

> a posledni vec, kde je nutny GetMem je situace, kdy mam datovy
> list (obdoba TList, ale skladuje primo cele struktury), kdo
> zna Frendli Pascal a objekt TSort vi o cem mluvim, nic
> tak pohodlneho se v Delphi nevyskytuje.

Ak myslis to klasicke C-ckovske pole bez udania velkosti alebo jeho
obdobu, tak velmi lahko prides na to, ze to teda nie je super zazrak.
Kompilator nema sancu kontrolovat pristup k nemu a tak zalezi
na programatorovi aby neurobil chybu. Su tam aj dalsie obmedzenia
a je to aj taka zvlastna kontrukcia, ktoru si netrufnem spameti ani
deklarovat, napriek tomu, ze C-cko celkom dobre poznam.
A nemozem si pomoct, z takychto zvlastnych konstrukcii vznikaju
potom aj "zvlastne fungujuce", presnejsie "nefungujuce" programy.

> Slavek
>
> PS: Dalsim problematickym prikazem je move, nezvedne pocet referenci !!!

Zase dosledok low-level pristupu. V poriadnych jazykoch ako je napr.
Eiffel sa nieco takeho nikdy nemoze stat (ani keby si sa vyslovene o to
snazil). Jednoducho tam funguje silna typova kontrola, ktora nedovoli
lubovolne prepisovat pamet. To je ten zasadny rozdiel a prinos. Tam
z principu nemoze nastat problem s nekorektnym prepisovanim pameti,
co je tak minimalne 90% pricinou problemov programov v C-cku
(v posledom case snad menej, co je zrejme dosledkom pouzivania
roznych programov, ktore kontroluju pouzivanie pameti a snazia sa
objavit problemy sposobene chybajucou typovou kontrolou, ci
nespravne robenou alokaciou).

Erik


TStringList

[*] Tomas Kminek <tomas.kminek(zv)atlas(tec)cz> - 28.6.2001 16:47:11

> V tomhle pripade rozhodne ne, protoze ten Stringlist vracis
> jako vysledek funkce. Kdybys na konci funkce uvolnil,
> tak by ti to samozrejme spadlo.
> Ale nesmis zapomenout ten Stringlist nekde uvolnit, nekde
> mimo tuhle funkci.
>


V pripade vyjimky ve funkci ho naopak musi uvolnit ta funkce, protoze kdyz vylitne vyjimka z funkce, tak uz objekt v ni vytvoreny neuvolnis.

r := TStringList.Create;
try
....
except
r.Free;
Raise;
end;


Tom

TPicture jako Result funkce

[*] Petr Vasicek <pvasicek(zv)operamail(tec)com> - 28.6.2001 10:56:55 -0400

A kam to Result.free mam napsat? Dote funkce to napsat nemuzu, protoze, by pak
Result byl nulovy, cili obrazek by se nenacetl, a za picture.assing, tedy po
zavolani funkce to asi taky nepujde, protoze uz to Result nebude znat. Neslo
by treba udelat, ze by funkce vratila Result driv nez skonci a pak teprve by
ve funkci bylo to uvolneni resultu, treba:
function...
begin
result-create
result-nacteni
*vrati result
teprve result-free
end;

Diky
Petr Vasicek

>Pote co udelas Image1.Picture.Assign..., musis provest Result.Free.
>
>Jan Skopovy
>
>----- Original Message -----
>From: "Petr Vasicek" <pvasicek(zv)operamail.com>
>To: <delphi-l(zv)clexpert(tec)cz>
>Sent: Wednesday, June 27, 2001 10:53 PM
>Subject: TPicture jako Result funkce
>
>
>> Zdravim,
>> chtel bych se zeptat, jak je to s funkci, ktera ma vracet nejaky obrazek.
>> Dela mi to dost problemy, protoze to ubira dost pameti, kdyz to pouzivam
>na
>> velkej obrazek(projevuje se to zvetsenim swapfilu). Napriklad jsem volani
>te
>> funkce zkousel dat do loopu, aby se to vykonalo stokrat, pak se swapfile
>> zvetsil o 12MB. Nejspise se tam neuvolnuje ten result, ale to dost dobre
>nevim
>> jak udelat. Napisu to trochu zjednodusene:
>>
>> function nacti(path:string):TPicture;
>> begin
>> Result:=TPicture.Create;
>> Result.LoadFromFile(path);
>> end;
>>
>> Pak nejakej prikaz Image1.picture.assign(nacti('o.jpg')); ale staci plne
>jen
>> bez prirazovani do obrazku - nacti('o.jpg'); vykonat vickrat a hned je
>videt,
>> ze to bere strasne moc pameti. Mohl by mi nekdo prosim poradit, jak predam
>z
>> funkce obrazek, aniz by to delalo ty kiksy s pameti?
>>
>> Dekuji moc
>>
>> Petr Vasicek
>>
>> -------------------------------------------
>> The Fastest Browser on Earth now for FREE!!
>> Download Opera 5 for Windows now! Get it at
>> http://www.opera.com/download/
>> -------------------------------------------
>>
>>

-------------------------------------------
The Fastest Browser on Earth now for FREE!!
Download Opera 5 for Windows now! Get it at
http://www.opera.com/download/
-------------------------------------------


Zobrazeni Deleted zaznamu v Table

[*] Pe�inka Bohdan <b pecinka(zv)upzr(tec)cz> - 28.6.2001 17:50:20

znovu...
Chci pou��t komponentu Table pro zobrazen� DBF souboru.
Nevid�m v#ak z�znamy, kter� byly vymaz�ny (v datab�zi jsou ozna�eny jako
DELETED).
Pou��v�m Delphi 4.
D� se s t�m n�co d�lat?
Dan

Drag and Drop mezi formulari

[*] ing.Pavel Cabalka <pavel_cabalka(zv)vcshk(tec)cz> - 28.6.2001 18:17:08

diky
uz jsem se diky konferenci nakop sam, staci si jen projit archiv
PavelC

----- Original Message -----
From: ing.Pavel Cabalka <pavel_cabalka(zv)vcshk(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, June 28, 2001 3:47 PM
Subject: Drag and Drop mezi formulari


> ahoj vespolek
> potreboval bych nakopnout smerem kterak realizovat pretahovani drag and
drop
> mezi dvema formulari teze aplikace.
> diky
> PavelC


Komponenta na export

[*] Vlastimil Zden�k <gestore(zv)wo(tec)cz> - 28.6.2001 18:23:26

Zkus QuickExport od EMS z Uralu

www.ems-hitech.com

My jsme spokojeni.

Vasek Novak
----- Original Message -----
From: Martin O�en�#
To: Konferencia Deplhi
Sent: Thursday, June 28, 2001 7:47 AM
Subject: Komponenta na export


Nevie niekto o komponente, ktora vie urobit export vsetkych recordov z
datasetu do roznych formatov (zaujima ma hlavne Excel a DBase) ?

Vopred dakujem.

Martin

Prevod aplikace na jiny OS language

[*] borkovec(zv)email(tec)cz - 28.6.2001 19:32:56

Takze, nechodi to na Win95Eng, Win98Wng, Win2000Eng, je uzit langdriver pdox ANSICzech.
Bohuzel si nemyslim, ze problem je mozno resit trivialne - ale presto bych se rad obesel bez konverze.


--- P�vodn� zpr�va ---
Od: "Tomas Vladik" <tom.vladik(zv)swadvice(tec)cz>
Datum: 28.06.2001 14:14:26

> mam existujici, funkcni aplikaci s BDE. Problem je, ze ji
> nejsem schopen rozchodit na US Win. Zkousel jsem ruzne drivery,
> ale nic...Nevite nekdo, jestli to ma reseni? Diky
>

Zkus to upresnit, tvoje definice prostredi (US Win) je velice vagni. Jaka
verze WIndows, verze BDE atd. atd. ...


T.

---
Email(tec)cz - Vase posta zdarma!
http://www.email(tec)cz


Vypis Soub. ze vsech adr.

[*] David Majda <david.majda(zv)seznam(tec)cz> - 28.6.2001 19:34:24

> Jak udelat vypis vsch souboru z adresaru celeho disku ?

Napsal jsem na to unitu, je na http://dmajda.hyperlink(tec)cz/zip/findx.zip

--
--------------------------------------------------
E-mail: david.majda(zv)seznam(tec)cz
WWW: http://dmajda.hyperlink(tec)cz

Live long and prosper!
--------------------------------------------------

SynEdit a D6

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 28.6.2001 20:45:14

D6 Win SynEdit

Nemate uz nekdo upraveny SynEdit pro D6 ? Neni ani tak problem jej
do D6 nainstalovat, ale problem je ten, ze nespolupracuje se
standardnimi akcemi Copy, Cut, Paste atd.

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


TPicture jako Result funkce

[*] brant(zv)dcomm(tec)cz - 28.6.2001 21:26:47

Nevim, jak vypadal zacatek debaty, doufam, ze nebudu zcela mimo. Pokud jde o
to uvolnovani, resil bych to z trochu jine strany:


P:= TPicture.Create;
nacti(P, 'c:\obr.jpg');
zpracuj(P);
P.Free;

procedure nacti(P: TPicture, path: string);
begin
P.LoadFromFile(Path);
...

end;

Neboli povazuji za vhodnejsi, aby se objekt vytvarel a rusil na stejne
urovni, pokud je to mozne.

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

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


A kam to Result.free mam napsat? Dote funkce to napsat nemuzu, protoze, by
pak
Result byl nulovy, cili obrazek by se nenacetl, a za picture.assing, tedy po

zavolani funkce to asi taky nepujde, protoze uz to Result nebude znat. Neslo

by treba udelat, ze by funkce vratila Result driv nez skonci a pak teprve by

ve funkci bylo to uvolneni resultu, treba:
function...
begin
result-create
result-nacteni
*vrati result
teprve result-free
end;

Diky
Petr Vasicek

>Pote co udelas Image1.Picture.Assign..., musis provest Result.Free.
>
>Jan Skopovy
>
>
>
>> Zdravim,
>> chtel bych se zeptat, jak je to s funkci, ktera ma vracet nejaky
obrazek.
>> Dela mi to dost problemy, protoze to ubira dost pameti, kdyz to pouzivam
>na
>> velkej obrazek(projevuje se to zvetsenim swapfilu). Napriklad jsem volani
>te
>> funkce zkousel dat do loopu, aby se to vykonalo stokrat, pak se swapfile
>> zvetsil o 12MB. Nejspise se tam neuvolnuje ten result, ale to dost dobre
>nevim
>> jak udelat. Napisu to trochu zjednodusene:
>>
>> function nacti(path:string):TPicture;
>> begin
>> Result:=TPicture.Create;
>> Result.LoadFromFile(path);
>> end;
>>
>> Pak nejakej prikaz Image1.picture.assign(nacti('o.jpg')); ale staci plne
>jen
>> bez prirazovani do obrazku - nacti('o.jpg'); vykonat vickrat a hned je
>videt,
>> ze to bere strasne moc pameti. Mohl by mi nekdo prosim poradit, jak
predam
>z
>> funkce obrazek, aniz by to delalo ty kiksy s pameti?
>>
>> Dekuji moc
>>
>> Petr Vasicek
>>

Vypis souboru z disku - kompletni

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 28.6.2001 21:28:47

Urcite AnyFile. Ale je treba vynechavat jmena '.' a '..' s atributem
directory. Pak vlastni adresare scitat zvlast od souboru.
Zkus poslat kod, ktery provadis.
A souhlasi pocty, ktere ukazuje WC s pocty, ktere ukazuje Windows ?

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

27.6.2001 Heinisch Jiri:
> Potreboval bych poradit s nastavenim atributu pri FindFiles (FindFirst,
> FindNext) ....
> At zkousim jak zkousim nikdy jsem se nedostal nas ten samy pocet co Windows
> Commander 4.52. Budto se dostanu pres tento pocet files nebo zas malo.

Zobrazeni Deleted zaznamu v Table

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 28.6.2001 21:30:33

Pokud pristupujes pres BDE, moc s tim nenadelas. To proste smazane
zaznamy neukazuje.

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

28.6.2001 Pe�inka Bohdan:
> znovu...
> Chci pou��t komponentu Table pro zobrazen� DBF souboru.
> Nevid�m v#ak z�znamy, kter� byly vymaz�ny (v datab�zi jsou ozna�eny jako
> DELETED).
> Pou��v�m Delphi 4.
> D� se s t�m n�co d�lat?
> Dan


TPicture jako Result funkce

[*] Jan Skopov� <jsdelphi(zv)atlas(tec)cz> - 28.6.2001 22:56:29

Napriklad:

function GetImage: TPicture;
begin
Result := TPicture.Create;
...
end;

procedure NacitejObrazky;
var im: TPicture;
begin
repeat
...
im := GetImage;
Image1.Picture.Assign(im);
im.Free;
...
until ...;
end;

Jan Skopovy

> A kam to Result.free mam napsat? Dote funkce to napsat nemuzu, protoze, by
pak
> Result byl nulovy, cili obrazek by se nenacetl, a za picture.assing, tedy
po
> zavolani funkce to asi taky nepujde, protoze uz to Result nebude znat.
Neslo
> by treba udelat, ze by funkce vratila Result driv nez skonci a pak teprve
by
> ve funkci bylo to uvolneni resultu, treba:

Zobrazeni Deleted zaznamu v Table

[*] Tomas Vladik <tom.vladik(zv)swadvice(tec)cz> - 29.6.2001 06:41:01

Q. "How can I view dBASE records marked for deletion?"

A. Call the following function on the AfterOpen event of the table. You
Must
include DBITYPES, DBIERRS, DBIPROCS in the uses clause. To call,
send as
arguments name of TTable and TRUE/FALSE depending to show/not show
deleted
records. Ex:

procedure TForm1.Table1AfterOpen(DataSet: TDataset);
begin
SetDelete(Table1, TRUE);
end;

procedure SetDelete(oTable:TTable; Value: Boolean);
var
rslt: DBIResult;
szErrMsg: DBIMSG;
begin
try
oTable.DisableControls;
try
rslt := DbiSetProp(hDBIObj(oTable.Handle), curSOFTDELETEON,
LongInt(Value));
if rslt <> DBIERR_NONE then
begin
DbiGetErrorString(rslt, szErrMsg);
raise Exception.Create(StrPas(szErrMsg));
end;
except
on E: EDBEngineError do ShowMessage(E.Message);
on E: Exception do ShowMessage(E.Message);
end;
finally
oTable.Refresh;
oTable.EnableControls;
end;
end;

Prevod aplikace na jiny OS language

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 29.6.2001 07:18:37

> Takze, nechodi to na Win95Eng, Win98Wng, Win2000Eng, je uzit
> langdriver pdox ANSICzech.
>
> > mam existujici, funkcni aplikaci s BDE. Problem je, ze ji
> > nejsem schopen rozchodit na US Win. Zkousel jsem ruzne drivery, ale

> Zkus to upresnit, tvoje definice prostredi (US Win) je velice vagni.
> Jaka
> verze WIndows, verze BDE atd. atd. ...
>

Ahoj,

no ja nevim, jestli je tohle nejake upresneni. Copak se da neco
poradit, kdyz vubec nenapises, v cem je problem? Ze to nechodi,
podle me je zcela nicnerikajici.

David Lebeda


Prevod aplikace na jiny OS language

[*] Tomas Vladik <tom.vladik(zv)swadvice(tec)cz> - 29.6.2001 07:27:29

> Takze, nechodi to na Win95Eng, Win98Wng, Win2000Eng, je uzit
> langdriver pdox ANSICzech.
> Bohuzel si nemyslim, ze problem je mozno resit trivialne - ale
> presto bych se rad obesel bez konverze.
>

Nechodi? Aplikace se jako zasekne, nebo nahlasi nejakou chybu? Jakou??
Nebo tam mas spatne cestinu? Chlape, to z tebe mame ty informace pacit?
Myslim, ze tady zrovna moc jasnovidcu neni.

Osobne mam zkusenosti, ze nenastava absolunte zadny problem na Win2K En SP2
(rozvnez SP0, SP1)- (Delphi 5 SP1, BDE 5.11) ...


T.

Samolepici etikety

[*] Milan ��ek <Cizek.Milan(zv)seznam(tec)cz> - 29.6.2001 08:19:05

ahoj,
www.rayfilm(tec)cz - beru od nich samolepici kolecka na CD. Myslim, ze to delaji i na miru podle sablony...

Milan

> Zdravim
>
> Co se tyce velikosti, tak to zajistil ramecek z Callista a nuzky. Pri vetsim
> poctu kusu ti to v lepsim papirnictvi urcite narezou. Ale nevim, jak bys to
> pak nacpal do tiskarny.
>
> Hurricane
______________________________________________________________________
Take se nezeptali na Vas nazor? Stante se clenem OnlinePanelu
a Vase nazory budou slyset. http://www.onlinepanel(tec)cz


TFont

[*] "FAIT Ji��, ml." <fait(zv)jakl(tec)cz> - 29.6.2001 08:23:40

> napsal jsem si vlastni komponentu, kde jednim z property je:
>
> property Font:TFont read FFont write SetFont;
>
> Vsechno je OK, v ObjectInspectorovi se mi nabizi klasicky
> vyber Fontu, ale
> ...
>
> v pripade, ze Font v Obj.Insp. rozbalim (pres to plusko) a
> neco zmenim, tak
> to vubec neskoci do ty my procedury SetFont, takze se s
> fontem nic nestane.
> Kdyz ale kliknu na ty tri tecky u Fontu v Obj.Insp. a z toho
> dialogu pro
> vyber fontu neco vyberu, tak to do SetFont skoci.
> Co je spatne? Proc ten prvni zpusob nefunguje?
>

Mas v FFont vytvorenej

constructor TMojeKomp.Create(AOwner:TComponent);
begin
inherited Create(AOwner);
FFont :=TFont.Create;
...
end;

nezapomenout v destructoru uvolnit.

BP na Win2k

[*] Michal Kus <kus(zv)tangosw(tec)cz> - 29.6.2001 08:33:03

Ahoj,
pred casem tu probehla diskuse o padani programu v BP na W2K.
Programy padaji samy od sebe na RE 216.

Protoze jsme na to u jednoho zakaznika narazili taky, patral jsem
na internetu a nasel tohle:

----------------------------------------------------------------------------
-----
> The problem lies in RTM.EXE where far callbacks from mouse driver has
> interferention with any int21h (DOS services) interrupt.
>
> Temporary solution ( may be persistent - is Borland still support
DPMI16? )
> is to modify 2 procedures in drivers.pas.
>
> here is final text:
>
> ---
> Procedure GetMouseState; near; assembler;
> asm
> {
> Quick-n-dirty patch for WNT2000 & RTM.EXE with mouse. (RunErr 216)
> for any questions pls mail to syon(zv)ol405.paco.net
> }
> MOV AX,3
> INT 33H
> MOV SI,CX
> MOV CL,3
> SHR SI,CL
> SHR DX,CL
> MOV MouseButtons,BL
> MOV MouseWhere.X,SI
> MOV MouseWhere.Y,DX
> { /Endpatch #1 (#2 in InitEvents)}
> CLI
> CMP EventCount,0
> JNE (zv)(zv)1
> MOV BL,MouseButtons
> MOV CX,MouseWhere.Word[0]
> MOV DX,MouseWhere.Word[2]
> MOV ES,Seg0040
> MOV DI,ES:Ticks
> JMP (zv)(zv)3
> (zv)(zv)1: MOV SI,EventQHead
> CLD
> LODSW
> XCHG AX,DI
> LODSW
> XCHG AX,BX
> LODSW
> XCHG AX,CX
> LODSW
> XCHG AX,DX
> CMP SI,OFFSET EventQLast
> JNE (zv)(zv)2
> MOV SI,OFFSET EventQueue
> (zv)(zv)2: MOV EventQHead,SI
> DEC EventCount
> (zv)(zv)3: STI
> CMP MouseReverse,0
> JE (zv)(zv)4
> MOV BH,BL
> AND BH,3
> JE (zv)(zv)4
> CMP BH,3
> JE (zv)(zv)4
> XOR BL,3
> (zv)(zv)4:
> end;
> .......
>
> procedure InitEvents; assembler;
> asm
> XOR AX,AX
> CMP AL,ButtonCount
> JE (zv)(zv)1
> MOV DownButtons,AL
> MOV LastDouble,AL
> MOV EventCount,AX
> MOV AX,OFFSET DS:EventQueue
> MOV EventQHead,AX
> MOV EventQTail,AX
> MOV AX,3
> INT 33H
> XCHG AX,CX
> MOV CL,3
> SHR AX,CL
> SHR DX,CL
> MOV MouseButtons,BL
> MOV MouseWhere.X,AX
> MOV MouseWhere.Y,DX
> MOV LastButtons,BL
> MOV LastWhere.X,AX
> MOV LastWhere.Y,DX
> { #2 point of quick-n-dirty patch.
> MOV AX,12
> MOV CX,07FH
> MOV DX,OFFSET CS:MouseInt
> PUSH CS
> POP ES
> INT 33H
> }
> MOV AX,1
> INT 33H
> MOV MouseEvents,1
> (zv)(zv)1:
> end;
> ---
>
> Realmode applications may use same code. This only changes type of mouse
> handling from
> interrupt-driven to Poll method.
>
> BRGDS.
> Syon.
>
----------------------------------------------------------------------------
----

Po mesici intenzivn�ho provozu u zakaznika to ani jednou nepadlo, takze
vrele
doporucuji vsem milovnikum starych programatorskych nastroju.

Ahoj,
Michal


AnsiStringy

[*] Lubo Fule <fule(zv)ekosoft.sk> - 29.6.2001 08:40:35

> Zase dosledok low-level pristupu. V poriadnych jazykoch ako je napr.
> Eiffel sa nieco takeho nikdy nemoze stat (ani keby si sa vyslovene o to
> snazil). Jednoducho tam funguje silna typova kontrola, ktora nedovoli
> lubovolne prepisovat pamet. To je ten zasadny rozdiel a prinos. Tam
> z principu nemoze nastat problem s nekorektnym prepisovanim pameti,
> co je tak minimalne 90% pricinou problemov programov v C-cku
> (v posledom case snad menej, co je zrejme dosledkom pouzivania
> roznych programov, ktore kontroluju pouzivanie pameti a snazia sa
> objavit problemy sposobene chybajucou typovou kontrolou, ci
> nespravne robenou alokaciou).

...len mi je potom zahadou, preco vacsina robustnych aplikacii je pisana
prave v C-cku, ked podla Teba je C nanic. Zeby boli vsetci hlupi?

L.

KYLIX - komponenty - seriova komunikace

[*] Gebauer Lukas <gebylist(zv)mlp(tec)cz> - 29.6.2001 08:41:37

> seriova komunikace je po linuxem docela jednoducha, v podstate
> jenom otevres soubor, ktery specifikuje seriovou linku a ctes
> z nej data jako ze souboru.

Tak takto se to da rict i pod Windows... ;-)))

prblem nastava ve chvili, kdy potrebujes nastavovat komunikacni
parametry seriove linky... jak pod windows, tak pod linuxem musis volat
'specielni' funkce... a o ty v teto problematice jde. Cist a psat do souboru
umi kazdy... ;-)
Louci se Lukas Gebauer.

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


Prosim o radu ohledne horizontalniho rolovani v TL

[*] Jan P��ek <JAN PECEK(zv)CONEL.CZ> - 29.6.2001 08:54:31

Prosim, jestli by mi mohl nekdo poradit, jake opatreni udelat v DELPHI5 v komonente TListBox, aby umoznovala horizontalni rolovani, kdyz text jednotlivych radku presahuje sirku okna.
Dekuji
Jan Pecek


Prosim o radu ohledne horizontalniho rolovani v TL

[*] Pavel Krehula <pavel.krehula(zv)nlm(tec)cz> - 29.6.2001 09:53:08

Zdar,

MaxW := Canvas.TextWidth( 'siroky text' );
SendMessage( ListBox.Handle, LB_SETHORIZONTALEXTENT, MaxW+10, 0 );

Pavel
>Prosim, jestli by mi mohl nekdo poradit, jake opatreni udelat v DELPHI5 v komonente TListBox, aby umoznovala horizontalni rolovani, kdyz text jednotlivych radku presahuje sirku okna.
> Dekuji
>Jan Pecek

Vyjimky a vlakno

[*] L. Filip <lfilip(zv)lekis(tec)cz> - 29.6.2001 09:55:28

Zdrav�m.
M��ete mi n�kdo poradit jak odchyt�vat vyj�mky ve vl�knu?
Jde mi o toto:
Ve vl�knu otev�r�m n�jak� dataset nebo spou#t�m ulo�enou proceduru. V hlavn� ��sti �ek�m na dokon�en� vl�kna a pot�ebuji v�d�t jestli do#lo ve vl�knu k chyb�. Zat�m jsem to �e#il tak, �e jsem napl�oval ukazatel n�jakou hodnotou informuj�c� o spr�vn�m proveden�, ale moc se mi to nel�b�.

D�ky za ka�dou radu.

AnsiStringy

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 29.6.2001 09:59:22



> > Odpurci GetMem zapominaji na dynamicka pole alokovana GetMem (jsou
> > efektivnejsi pro lokalni praci, nez automaticka dynamicka pole),
>
> Mozes uviest priklad, v com je GetMem efektivnejsi?

napriklad je rychlejsi protoze neinicializuje alokovanou promennou :-)

>
> > dale zapominaji, ze mnoho knihoven ze strarsich verzi Delphi a Pascalu
> > pouziva tento postup (ano lze je prepsat a pokud maji odpurci naladu
> > a cas, tak jim poslu na prepsani par desitek tisic radku kodu)
>
> Takze z tohto dovodu treba zrejme GetMem chvalit a preferovat?
> To, ze sa nieco pouzivalo (hoci aj uspesne) zrejme znamena, ze ho
> uz nemozno kritizovat a lepsie riesenie uz nemoze byt.
>
> > a posledni vec, kde je nutny GetMem je situace, kdy mam datovy
> > list (obdoba TList, ale skladuje primo cele struktury), kdo
> > zna Frendli Pascal a objekt TSort vi o cem mluvim, nic
> > tak pohodlneho se v Delphi nevyskytuje.
>
> Ak myslis to klasicke C-ckovske pole bez udania velkosti alebo jeho
> obdobu, tak velmi lahko prides na to, ze to teda nie je super zazrak.
> Kompilator nema sancu kontrolovat pristup k nemu a tak zalezi
> na programatorovi aby neurobil chybu.

i v Delphi bezne pouzivam "dynamicky alokovane" pole, kdy natypuju napriklad

Array [0..0] of Char

a pak pole alokuju prez pointer (pomoci GetMem) v pozadovane delce (ktera
samozrejme neni znama behem kompilace). Nevidim na tom nic spatneho. Je to
metoda, ktera funguje, vim jak funguje a na co si dat pozor - tak proc to
nepouzivat?

> > PS: Dalsim problematickym prikazem je move, nezvedne pocet referenci !!!

proc by melo zvedat? Move je proste funkce, ktera presune kus pameti na jine
misto. Nic vic.> Zase dosledok low-level pristupu. V poriadnych jazykoch ako je napr.
> Eiffel sa nieco takeho nikdy nemoze stat (ani keby si sa vyslovene o to
> snazil). Jednoducho tam funguje silna typova kontrola, ktora nedovoli
> lubovolne prepisovat pamet. To je ten zasadny rozdiel a prinos.

To je otazka. Ja bych napriklad o move() nerad prisel. Je fajn, ze me
kompilator hlida (proti Cku ma Pascal take daleko silnejsi typovou kontrolu)
ale nemel by me omezovat.

Predpokladam, ze i v Eiffelu muzu pouzit Windows API funkce ke kopirovani
pameti ??

D. Toman

Vypis souboru z disku - kompletni

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 29.6.2001 10:00:07



> Urcite AnyFile. Ale je treba vynechavat jmena '.' a '..' s atributem
> directory.

taky je dobre vynechat VolumeID

D. Toman

AnsiStringy

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 29.6.2001 10:06:54



> > Zase dosledok low-level pristupu. V poriadnych jazykoch ako je napr.
> > Eiffel sa nieco takeho nikdy nemoze stat (ani keby si sa vyslovene o to
> > snazil). Jednoducho tam funguje silna typova kontrola, ktora nedovoli
> > lubovolne prepisovat pamet. To je ten zasadny rozdiel a prinos. Tam
> > z principu nemoze nastat problem s nekorektnym prepisovanim pameti,
> > co je tak minimalne 90% pricinou problemov programov v C-cku
> > (v posledom case snad menej, co je zrejme dosledkom pouzivania
> > roznych programov, ktore kontroluju pouzivanie pameti a snazia sa
> > objavit problemy sposobene chybajucou typovou kontrolou, ci
> > nespravne robenou alokaciou).
>
> ....len mi je potom zahadou, preco vacsina robustnych aplikacii je pisana
> prave v C-cku, ked podla Teba je C nanic. Zeby boli vsetci hlupi?
>

nemam pocit, ze Erik trvdi, ze Ccko je nanic. Pouze konstatoval pravdu, ze
Ccko je jazyk, ktery nema typovou kontrolu.
Proc vetsina lidi pouziva Ccko? Netusim. Mozna, ze vetsine programatoru vice
vyhovuje, kdyz jim kompilator neklepe prez prsty :-). Mozna je to z
historickych duvodu.

PS: kdyby misto Cka vyvojari pouzivali Pascal bylo by podle me daleko mene
bezpecnostnich chyb v internetovych aplikacich, zpusobenych pretecenim
nedostatecne dimenzovanych (nebo kontrolovanych) bufferu.

D. Toman

Metoda POST

[*] JIM Design <jim.design(zv)iol(tec)cz> - 29.6.2001 10:16:43

ahoj,

to pouzivas stejne ASP na GET i POST?
Bud v nem totiz ty data ctes pomoci Request.QueryString("jmeno") - dostava
je metodou GET (za adresou)
nebo pomoci Request.Form("jmeno") - dostava je metodou POST

M.Jirman

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Behalf Of Centrum
Sent: Wednesday, June 27, 2001 10:35 PM
To: Konference DELPHI
Subject: Metoda POST


Zdravim vsechny.
Mam nasledujici problem. Mam nainstalovany PSW server a na nem jednoduchy
ASP script do ktereho posilam dve promenne a on je pouze vypise. Kdyz je tam
posilam klasicky pres Html stranku je to OK. Ale ja bych to chtel posilat v
Delphi pres metodu NMHTTP1.Post.

Konkretne to vypada takto:

Mam ASP script, ktery vypise:

Byly zaslany data:
Martin
55

V Delphi mam:

NMHTTP1.Post('http://pfeilerm/webpub/obsluha.asp','jmeno=Martin&vek=55');
.
.
.
procedure TForm1.NMHTTP1Success(Cmd: CmdType);
begin
if NMHTTP1.CookieIn <> '' then
Memo4.Text := NMHTTP1.CookieIn;
Case Cmd of
CmdPOST:
begin
Memo1.Text := NMHTTP1.Header;
Memo2.Text := NMHTTP1.Body;
Memo3.Lines.Add('HTTP POST Successful');
end;
.
.
.

Jenze v Memo2.Text ty promenne nejsou. Je tam pouze "Byly zaslany data:" a
nic vic. Jako kdybych tam poslal pradna data.
Pokud pouziju metodu NMHTTP1.Get (a prislusne upravim ASP script), tak to je
OK. NMHTTP1.Body vraci i ty promenne.

Muzete mi rict kde delam chybu? Proc mi NMHTTP1.Post nefunguje?

Diky DDT.

AnsiStringy

[*] Jir� Foldyna <jiri.f(zv)avizo(tec)cz> - 29.6.2001 10:25:25

> Ak myslis to klasicke C-ckovske pole bez udania velkosti alebo jeho
> obdobu, tak velmi lahko prides na to, ze to teda nie je super zazrak.
> Kompilator nema sancu kontrolovat pristup k nemu a tak zalezi
> na programatorovi aby neurobil chybu. Su tam aj dalsie obmedzenia
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jen na okraj, na kom jinem by to tak asi melo zalezet, aby neudelal chybu ?
Prece od toho je programator, ne ? Pokud ma paru o tom, jak funguje pocitac
a co dela kompilator, tak typovou kontrolu a podobne veci potrebuje jen na
usnadneni rutiny. Pokud o tom paru nema, tak co se do toho sere ? Denne se
potykam s nasledky uvazovani typu "vezme se par komponent, ulozenych
procedur a je to". Z IT branze se vytratila profesionalita, tahne se sem
spousta lidi, kteri by bez RAD nenapsali ani radku, protoze proste nemaji
ani sajnu o tom, jak to v bednach chodi. Chci videt vsechny ty Eifelisty a
Visualisty, jak pachaji SW treba pro pracku nebo ridici jednotku auta.
Nejhorsi na tom je, ze to v podstate k nicemu neni. Opravdu dulezity SW se
neprodava v krabicich, to je jen marketingova a modni zalezitost.

> Zase dosledok low-level pristupu. V poriadnych jazykoch ako je napr.
> Eiffel sa nieco takeho nikdy nemoze stat (ani keby si sa
> vyslovene o to
> snazil). Jednoducho tam funguje silna typova kontrola, ktora nedovoli
> lubovolne prepisovat pamet. To je ten zasadny rozdiel a prinos. Tam
> z principu nemoze nastat problem s nekorektnym prepisovanim pameti,
> co je tak minimalne 90% pricinou problemov programov v C-cku
> (v posledom case snad menej, co je zrejme dosledkom pouzivania
> roznych programov, ktore kontroluju pouzivanie pameti a snazia sa
> objavit problemy sposobene chybajucou typovou kontrolou, ci
> nespravne robenou alokaciou).
>
> Erik

To je presne to, o cem pisu. Kdyz potrebovali Americani odklonit drahu tusim
Voyageru, tak udelali zaplatu o delce 2 kB, poslali ji na vzdalenost pul
miliardy kilometru a ono to fungovalo i bez silne typove kontroly. Proste to
jen psali lidi, kteri vedi, co a jak.

Sorry ze jsem se tak rozvasnil :-)))

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

AnsiStringy

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 29.6.2001 10:29:46

On 29 Jun 2001, at 8:40, Lubo Fule wrote:

> > Zase dosledok low-level pristupu. V poriadnych jazykoch ako je napr.
> > Eiffel sa nieco takeho nikdy nemoze stat (ani keby si sa vyslovene o
> > to snazil). Jednoducho tam funguje silna typova kontrola, ktora
> > nedovoli lubovolne prepisovat pamet. To je ten zasadny rozdiel a
> > prinos. Tam z principu nemoze nastat problem s nekorektnym
> > prepisovanim pameti, co je tak minimalne 90% pricinou problemov
> > programov v C-cku (v posledom case snad menej, co je zrejme
> > dosledkom pouzivania roznych programov, ktore kontroluju pouzivanie
> > pameti a snazia sa objavit problemy sposobene chybajucou typovou
> > kontrolou, ci nespravne robenou alokaciou).
>
> ...len mi je potom zahadou, preco vacsina robustnych aplikacii je
> pisana prave v C-cku, ked podla Teba je C nanic. Zeby boli vsetci
> hlupi?

Jsou, protoze nedokazi naprogramovat kriticke konstrukce bez low-
level pristupu. :-)))

BTW - slysel jsem radu stiznosti napriklad na VB, prave kvuli
nemoznosti naprogramovat v nem nektere kriticke konstrukce,
ktere by budto vubec nejak fungovaly, nebo fungovaly v rozumnem
case. V podstate lze rict, ze temer kazdy robustnejsi program
potrebuje nektere casti vyresit na nizke urovni, takze takovy VB se
v podstate bez VC neobejde.


S pozdravem

Zbysek Hlinka

http://www.hlinka(tec)cz http://www.slhaters(tec)cz
Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


AnsiStringy

[*] Slavomir Skopalik <skopalik(zv)hlubocky.del(tec)cz> - 29.6.2001 10:40:50

> > Odpurci GetMem zapominaji na dynamicka pole alokovana GetMem (jsou
> > efektivnejsi pro lokalni praci, nez automaticka dynamicka pole),
>
> Mozes uviest priklad, v com je GetMem efektivnejsi?

Neni tam zadny kod okolo Ref. counting, dale mam nad chovanim takoveho pole
primou kontrolu (delete prvku uprostred pole mohu resit prem move).
No a pokud tu strukturu predavas do DLL (treba C), tak na pascalova
pole a pascalove stringy bys mel zapomenout -> neni vhodne do recodru
davat string, ale je rozumejsi tam dat PCHAR.> > a posledni vec, kde je nutny GetMem je situace, kdy mam datovy
> > list (obdoba TList, ale skladuje primo cele struktury), kdo
> > zna Frendli Pascal a objekt TSort vi o cem mluvim, nic
> > tak pohodlneho se v Delphi nevyskytuje.
> Ak myslis to klasicke C-ckovske pole bez udania velkosti alebo jeho
> obdobu, tak velmi lahko prides na to, ze to teda nie je super zazrak.

NE.

Myslim, ze zde jiz padla vetsina argumentu pro a proti a kazdy necht
se rozhodne podle vlastniho uvazeni co bude pouzivat.
Ja pouzivam obe techniky podle toho co potrebuji udelat, ani jedna
neni lepsi, nebo horsi, jsou to jine techniky pro jine ucely.

Slavek


BDE instalace

[*] Ivan Balharek <balharek(zv)teska(tec)cz> - 29.6.2001 10:49:31

Zdravim vsechny.

prosim o Vase zkusenosti

1. instalace pomoci InstallShield lehce zmrsi cestinu.
2. instalace pomoci Bdeinst.dll nainstaluje pouze zakladni nativni drivery
mimo napr. Interbase
3. instalace pomoci InnoSetUp - nevim jak ho donutim k k registraci

Diky za rady

balharek(zv)teska(tec)cz

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