Archív konference Delphi
Zpět na výběr roku archívu nebo přejít na fulltextové vyhledávání v konferenci.
Zistenie clenstva v skupine Administrators
[*] Barica Miroslav <miroslav.barica(zv)matador.sk> - 25.7.2005 11:45:38
Dobry den,
Vedel by mi niekto poradit, nasmerovat ma, ako zistim clenstvo v skupine
(napr. Administrators)? Popripade, odkaz na free komponentu by ma tiez
potesil ;-)
Dakujem, M.
TStringgrid
[*] Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 25.7.2005 11:39:37
musis pres RowCount a ColCount, ale pokud neodebiras z koncu, tak budes
muset presouvat textiky v property Cell[][]
Tom
TStringgrid
[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 25.7.2005 10:57:34
Zdravim,
resim takovej problem, jak pridavat, nebo odebirat sloupce ci radky. Zkousim to pres stringgrid1.rows[index].delete[index];
Tato syntaxe mi vyhodi vyjimku.
A prosim jeste o jednu vec, jak celou tabulku ulozit do nejakeho souboru.
Dekuji
Petr
Prevod textu s diakritikou na text bez diakritiky
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 25.7.2005 10:43:33
> existuje nejaka funkcia, ktora mi prevedie text s diakritikou na text
> bez diakritiky?..
Treba pomoci Synapse (unita SynaChar):
s := CharsetConversionEx(s, CP1250, CP1250, replace_czech);
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
http://www.ararat(tec)cz/synapse/ - Ararat Synapse - TCP/IP Lib.
Prevod textu s diakritikou na text bez diakritiky
[*] delphinpp(zv)atlas(tec)cz - 25.7.2005 10:33:32
Zdar,
existuje nejaka funkcia, ktora mi prevedie text s diakritikou na text
bez diakritiky?..
Dik,
M.
Drop mailu z Outlook Expressu
[*] Radoslav Jalc <develop(zv)jalc.sk> - 24.7.2005 22:58:41
Povodna sprava zo dna : 24.07.2005, od <dssoft(zv)centrum(tec)cz> :
> Potreboval bych metodou drag & drop pretahovat maily z Outlook Expressu do
> me aplikace.
> Nejlepe podobne jako to dela treba Total Commander. UIozi mail ve formatu
> .eml do adresare.
> Predem diky za jakekoli nasmerovani jak na to.
> David
Ahoj,
riesil som podobnu situaciu, ale nejde o drag-and-drop.
Funguje to tak, ze mam tlacitko "Prevezmi z Outlooku"
a po stlaceni sa ulozi "prave oznaceny zaznam v Outlooku" priamo na disk do suboru.
Priklad :
uses ... ,comobj;
procedure OutlookDoSuboru;
var
outlook,outact: OLEVariant;
cesta_k_suboru:string;
begin
outlook := CreateOleObject('Outlook.Application');
outact := outlook.ActiveExplorer.Selection.item(1);
outact.saveas(cesta_k_suboru);
outlook := UnAssigned;
end;
--
Radoslav Jalc | iTEQ.sk
Drop mailu z Outlook Expressu
[*] dssoft(zv)centrum(tec)cz - 24.7.2005 14:36:06
Potreboval bych metodou drag & drop pretahovat maily z Outlook Expressu do
me aplikace.
Nejlepe podobne jako to dela treba Total Commander. UIozi mail ve formatu
.eml do adresare.
Predem diky za jakekoli nasmerovani jak na to.
David
FB:Hodnota GENERATORU do vysledneho selectu
[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 24.7.2005 00:09:03
Ahoj,
martin napsal(a):
> SELECT ID,GENERATOR_NAZOV,GEN_ID(GENERATOR_NAZOV,0) FROM POKUS
> ^^^^^^^^^^^^^^^^^^^^^^^^^^
> samozrejme to nefunguje ale
a co takhle ulozena procedura, ve ktere by bylo neco jako:
....
for
select
ID, GEN_NAZEV
from
POKUS
into
:oID, :oNazev
do
begin
execute statement
'select
gen_id('|| oNazev ||', 0)
from
rdb$database
into
:oHodnota';
suspend;
end
.....
Peca
SDK recv
[*] joe joe <waking(zv)centrum(tec)cz> - 23.7.2005 21:28:52
Dekuji facha v pohode.
JOe
SDK - recv
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 23.7.2005 21:04:49
> Treba v Synapsi je to takhle:
>
> function TBlockSocket.WaitingData: Integer;
jeste doplnim.. toto ti vrati kolik dat ceka ve fronte.. pokud chces
cekat dokud nejaka data neprijdou (a pokud uz prisla, tak hned
pokracovat), podivej se na funkci Select. (v Synapsi metoda CanRead).
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
WEB: http://www.ararat(tec)cz/synapse - Synapse Delphi and Kylix TCP/IP
Library
SDK - recv
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 23.7.2005 20:54:49
> Dobry den, potrebuji jenom zjistit jestli mam ve fronte nove data , ale
> pokud zavolam funkci recv (po otevreni soketu) tak ta ceka dokud neprijme
> data. dekuji za odpoved. joe
Kdyz uz vymyslis stokrat vymyslene a nechces pouzit nejake hotove kody na
socketovou komunikaci, tak od nich alespon opisuj! Tedy proc si nestahnes
treba Indy ci Synapsi a nepodivas se, jak je to tam vyresene?
Treba v Synapsi je to takhle:
function TBlockSocket.WaitingData: Integer;
var
x: Integer;
begin
Result := 0;
if synsock.IoctlSocket(FSocket, FIONREAD, u_long(x)) = 0 then
Result := x;
end;
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
WEB: http://www.ararat(tec)cz/synapse - Synapse Delphi and Kylix TCP/IP
Library
SDK - recv
[*] joe joe <waking(zv)centrum(tec)cz> - 23.7.2005 20:24:46
Dobry den, potrebuji jenom zjistit jestli mam ve fronte nove data , ale pokud zavolam funkci recv (po otevreni soketu) tak ta ceka dokud neprijme data. dekuji za odpoved.
joe
pro spojeni pouzivam toto:
begin
temp:='ahoj japko';
port:=StrToInt(edit2.text);
adresa:=edit1.text+#0;
if WSAStartup (MAKEWORD(1,1), wsa_data) <> 0 then
begin
label2.caption:='WSAStartup failed. Error : ' + IntToStr(WSAGetLastError());
exit;
end;
hostInfo := getHostByName((zv)adresa[1]);
if hostInfo = nil then
begin
label2.caption:='Unable to get the host name. Error : ' + intToStr(WSAGetLastError());
closeSocket(serverSocket);
exit;
end;
serverSocket := socket(AF_INET, SOCK_STREAM, 0);
if serverSocket = INVALID_SOCKET then
begin
label2.caption:='Alocation socket failed. Error : ' + IntToStr(WSAGetLastError());
exit;
end;
DestinationSin.sin_family := AF_INET;
DestinationSin.sin_addr.S_addr:=inet_addr(PChar(Adresa));
DestinationSin.sin_port:=htons(port);
if connect(serverSocket,DestinationSin,sizeof(DestinationSin)) = SOCKET_ERROR then
begin
label2.caption:='Connecting to server failed. Error : ' + intToStr(WSAGetLastError());
closeSocket(serverSocket);
exit;
end;
recv(serverSocket,Pdata^,sizeOf(TData),0);
memo2.Lines.Add('Server : '+Pdata^.text);
end;
FB a Stromova struktura z Storedproc - VYRIESENE
[*] Robert Fujak <robof(zv)inmail.sk> - 23.7.2005 01:13:56
uz to mam.
S pozdravom
Robert Fujak
> Zdravim Vas,
> viete mi prosim poradit ako napisat rekurzivnu "stored procedure", ktora
> mi
> vrati stromovu strukturu z DB,lebo ja si uz neviem rady.
>
FB a Stromova struktura z Storedproc
[*] Robert Fujak <robof(zv)inmail.sk> - 22.7.2005 22:23:45
Zdravim Vas,
viete mi prosim poradit ako napisat rekurzivnu "stored procedure", ktora mi
vrati stromovu strukturu z DB,lebo ja si uz neviem rady.
Mam tabulku ID,IDPARENT,NAZOV
Dakujem.
D7,FB,WXPProf
S pozdravom
Robert Fujak
Cannot transliterate character between sets.
[*] horky(zv)cominn(tec)cz - 22.7.2005 13:47:09
> From: Jan Sebelik [mailto:honza(zv)haes(tec)cz]
>
> Firebird: Cannot transliterate character between sets.
>
> Je jasne, o co jde.
> Uzivatel se do ceske sady WIN1250 pokousi vlozit nemecky
> Munchen s prehlasovanym "u". Lze pouzit nejakou jinou sadu?
Chyba bude nekde jinde, bez problemu ukladame "Fugnerovo nabrezi" ("u" se dvema teckami) do DB, ktera ma nastaveno CP WIN1250 a v domene k fieldu je take WIN1250.
--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP2
[mailto:horky(zv)cominn(tec)cz]
Udalost k dynamicky vytvarene komponente
[*] Roman Bradac <roman.bradac(zv)fotoinfo(tec)cz> - 22.7.2005 13:43:09
Tak tohle zabralo! Dik
> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Radek Cervinka
> Sent: Friday, July 22, 2005 1:17 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Re: Udalost k dynamicky vytvarene komponente
>
> Roman Bradac wrote:
> > Dik, asi by to stacilo, jen potrebuji vedet ktery TEdit to poslal
> > nejlepe promenou I.
> >
>
> jen mne tak napadlo:
>
> _edit[I,J].Tag := I;
> _edit[I,J].OnChange := MnouNapsanaProcedura;
>
>
> R.
>
>
>
>
>
Cannot transliterate character between sets.
[*] Jan Sebelik <honza(zv)haes(tec)cz> - 22.7.2005 13:31:08
Firebird: Cannot transliterate character between sets.
Je jasne, o co jde.
Uzivatel se do ceske sady WIN1250 pokousi vlozit nemecky Munchen s prehlasovanym "u". Lze pouzit nejakou jinou sadu?
Zatim jsem to nepotreboval, jak jsem po tom nepatral.
Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
= tel. 493 792 569, 493 792 931, 776 347 735
====================================
Udalost k dynamicky vytvarene komponente
[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 22.7.2005 13:17:06
Roman Bradac wrote:
> Dik, asi by to stacilo, jen potrebuji vedet ktery TEdit to poslal nejlepe
> promenou I.
>
jen mne tak napadlo:
_edit[I,J].Tag := I;
_edit[I,J].OnChange := MnouNapsanaProcedura;
R.
Udalost k dynamicky vytvarene komponente
[*] horky(zv)cominn(tec)cz - 22.7.2005 13:11:06
> From: Roman Bradac [mailto:roman.bradac(zv)fotoinfo(tec)cz]
>
> Dik, asi by to stacilo, jen potrebuji vedet ktery TEdit to
> poslal nejlepe
> promenou I.
Muzes pouzit Tag, pri vytvareni to naplnis:
_edit[I,J].Tag := I;
a v procedure to prectes:
NejakyI := (Sender as TEdit).Tag;
--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP2
[mailto:horky(zv)cominn(tec)cz]
Udalost k dynamicky vytvarene komponente
[*] Roman Bradac <roman.bradac(zv)fotoinfo(tec)cz> - 22.7.2005 12:59:05
Dik, asi by to stacilo, jen potrebuji vedet ktery TEdit to poslal nejlepe
promenou I.
> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Kratochvil Milan
> Sent: Friday, July 22, 2005 10:49 AM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Re: Udalost k dynamicky vytvarene komponente
>
>
> A nestacilo by doplnit
>
> _edit[I,J].OnChange := MnouNapsanaProcedura;
>
> a v procedure pracovat s tou co poslala udalost
>
> (Sender as TEdit).Text
>
> atd...
>
>
> Milan
>
> > Zdravim,
> > Nejak mne nenapada jak napsat udalost k dynamicky vytvarene
> > komponente.
> > Mno a potrebuji napsat k _edit[I,J] {TEdit} odalost
> OnChange viz nize
> > kus Zdrojaku. Problem je v tom, ze neznam dopredu hodnotu
> promene I a
> > J pricemz Hodnota I muze dosahovat I pomerne dost vysokych
> hodnot (do
> > 100). Poradi nekdo jak na to?
> >
> >
>
>
>
>
D5 Ent. - Access violation pri navratu z DLL
[*] Petr Langer <langer(zv)xdom(tec)cz> - 22.7.2005 11:28:58
Ahojte,
delam DLL-ku, ktera ma jednu proceduru, ma ctyri parametry typu PChar, typ
volani je stdcall.
Ta procedura pouziva ActiveX (MSXML). Na zacatku procedury mam
CoInitialize(nil); a na konci CoUninitialize();
Udelal jsem si testovaci konzolovou .exe aplikaci a pri navratu z te DLL
procedury dostavam access vilolation a to v systemove procedure
"_IntfClear(var Dest: IUnknown);".
Zjistil jsem, ze uvedeny problem nevznika, pokud i v tom .exe volam
CoInitialize(nil); coz ale nevim, jestli bude volat i ten, kdo tu moji
DLL-ku bude pouzivat. Vsechny interfacove promenne pred navratem nastavuju
na nil a nad objekty typu TXMLHTTP a TDOMDocument30 volam FreeAndNil.
Nevim, kde mam co hledat, google na "Delphi Access Violation _IntfClear" nic
kloudneho neporadil.
Diky,
Petr Langer
OT: Nabidka zamestnani
[*] Jan Sebelik <honza(zv)haes(tec)cz> - 22.7.2005 11:20:56
Libor Makrlik (APRO) me pozadal o zverejneni nabidky zamestnani.
Honza Sebelik
====================================
BSP Group hleda pracovniky pro oblast Datawarehouse.
Prace v ramci Prahy.
Pozadavky:
- Znalost SQL
- 1-3 roky praxe
- Modelovani databaze, navrhy reportu
- Zakladni analyticke zkusenosti, tvorba specifikaci
- Alespon zakladni znalost anglictiny
- Zkusenosti s vetsimi db: SQL serverem nebo Oracle apod.
Kontakt:
Magda Makrlikova, [Magda.Makrlikova(zv)bsp(tec)cz]
Interface a uvolneni objektu
[*] Radim Kunz <rkunz(zv)casestudio(tec)com> - 22.7.2005 11:10:55
Petr Nehez napsal(a):
>Ahoj,
>
>mam Access Violation problem s interfacy implementovanymi v objektech. Mam
>nasledujici deklaraci:
>
>type
> INeco = interface
> ...
> procedure delej;
> end;
>
> TNecoJineho = class
> ...
> property iitem: INeco ...;
> end;
>
>Nasledne pouzivam objekt nekde v kodu, vytvorim ho, zavolam neco z toho
>interfacu, a objekt uvolnim. A s tim je prave problem, ukazka:
>
>procedure XX;
>var
> O: TNecoJineho;
>begin
> ...
> case ... of
> xxxx: ...
>
> yyyy:
> begin
> O := TNecoJineho.create;
> O.iitem.delej;
> O.free;
> end;
> end;
> ...
>end; <<<< zde to spadne na Access Violation
>
>
Mas to sice nepekne napsane, ale chyba v tom neni, chybu hledej
nekde jinde. zkousel jsem to v Delphi5 i Delphi 7.
....
>
>Petr
>
>
>
>
A co takhle dat do tridy TNecoJineho metodu Delej, ve ktere bys volal
iitem.Delej?
Udalost k dynamicky vytvarene komponente
[*] Kratochvil Milan <mkratochvil(zv)farmtec(tec)cz> - 22.7.2005 10:48:54
A nestacilo by doplnit
_edit[I,J].OnChange := MnouNapsanaProcedura;
a v procedure pracovat s tou co poslala udalost
(Sender as TEdit).Text
atd...
Milan
> Zdravim,
> Nejak mne nenapada jak napsat udalost k dynamicky vytvarene
> komponente.
> Mno a potrebuji napsat k _edit[I,J] {TEdit} odalost OnChange
> viz nize kus
> Zdrojaku. Problem je v tom, ze neznam dopredu hodnotu promene
> I a J pricemz
> Hodnota I muze dosahovat I pomerne dost vysokych hodnot (do
> 100). Poradi
> nekdo jak na to?
>
>
Udalost k dynamicky vytvarene komponente
[*] Roman Bradac <roman.bradac(zv)fotoinfo(tec)cz> - 22.7.2005 10:38:53
Zdravim,
Nejak mne nenapada jak napsat udalost k dynamicky vytvarene komponente.
Mno a potrebuji napsat k _edit[I,J] {TEdit} odalost OnChange viz nize kus
Zdrojaku. Problem je v tom, ze neznam dopredu hodnotu promene I a J pricemz
Hodnota I muze dosahovat I pomerne dost vysokych hodnot (do 100). Poradi
nekdo jak na to?...
public
{ Public declarations }
s: string;
cull, typ, name: string;
_porovn: array[0..30] of TComboBox;
_Label: array[0..30] of TLabel;
_Edit: array[0..30,0..1] of TEdit;
_Curr: array[0..30,0..1] of TCurrencyEdit;
_DateEdit: array[0..30,0..1] of TDateEdit;
end;
...
procedure TFormFiltr.FormCreate(Sender: TObject);
var
I,J , _3, _4 : Integer;
begin
_3:=80;
_4:=130;
for I:=0 to MainDHMForm.Memo1.Lines.Count-1 do
begin
s:=MainDHMForm.Memo1.Lines[I];
cull:=Copy(s, 1, Pos(';', s)-1);
s:=Copy(s, Pos(';', s)+1,Length(s));
typ:=Copy(s, 1, Pos(';', s)-1);
name:=Copy(s, Pos(';', s)+1,Length(s));
if typ='STR' then
begin
j:=0;
_Edit[I,J]:=TEdit.Create(Self);
_Edit[I,J].Top:=I*30+100;
_Edit[I,J].Left:=_porovn[I].Left+_3;
_Edit[I,J].Visible:=true;
_Edit[I,J].Parent:=self;
j:=1;
_Edit[I,J]:=TEdit.Create(Self);
_Edit[I,J].Top:=I*30+100;
_Edit[I,J].Left:=_Edit[I,0].Left+_4;
_Edit[I,J].Visible:=False;
_Edit[I,J].Parent:=self;
end; end;
end;
Kopie DB - Firebird
[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 22.7.2005 09:58:50
Zastavit sluzbu, zkopirovat soubor s databazi, spustit sluzbu.
Slavek
> Ahoj,
> potreboval bych udelat kopii DB, ale tak at to nemusim delat
> pres zalohu, obnovu. Jde to nejak korektne?
>
> D7Pro, FB1.5.2
>
Kopie DB - Firebird
[*] Dalibor <dalibor(zv)torola(tec)cz> - 22.7.2005 09:12:46
Ahoj,
potreboval bych udelat kopii DB, ale tak at to nemusim delat pres zalohu, obnovu. Jde to nejak korektne?
D7Pro, FB1.5.2
Interface a uvolneni objektu
[*] Petr Nehez <dpn(zv)atlas(tec)cz> - 22.7.2005 07:20:39
Ahoj,
mam Access Violation problem s interfacy implementovanymi v objektech. Mam
nasledujici deklaraci:
type
INeco = interface
...
procedure delej;
end;
TNecoJineho = class
...
property iitem: INeco ...;
end;
Nasledne pouzivam objekt nekde v kodu, vytvorim ho, zavolam neco z toho
interfacu, a objekt uvolnim. A s tim je prave problem, ukazka:
procedure XX;
var
O: TNecoJineho;
begin
...
case ... of
xxxx: ...
yyyy:
begin
O := TNecoJineho.create;
O.iitem.delej;
O.free;
end;
end;
...
end; <<<< zde to spadne na Access Violation
Je mi jasne, ze Delphi (mam D6 Prof) za me automaticky zavolaji _release z
IInterface, ale proc to delaji az na konci procedury, proc ne na konci kodu,
kde se ten interface pouziva. Reseni jsem nasel, ale je to psani navic:
procedure XX;
var
O: TNecoJineho;
I: INeco;
begin
...
case ... of
xxxx: ...
yyyy:
begin
O := TNecoJineho.create;
I := O.iitem;
I.delej;
I := nil;
O.free;
end;
end;
...
end;
Tahle konstrukce je v poradku. Nevite nahodou nekdo, jak to zpracovavaji
D2005?
Diky.
Petr
EOutOfMemory
[*] Milan Tomes <delphi(zv)haida(tec)cz> - 22.7.2005 06:26:34
Poradim Ti jen s chybou EIBInterbaseError - kazdy objekt v DB ma urcen
maximalni pocet modifikaci, ktery lze pro nej provest. Jedna se o hodnotu
Byte, takze pocet verzi struktury tabulky je omezen na 255. Pokud dojde k
takovemuto poctu zmen pomuze jedine backup-restore, ktery databazi procisti
od starych verzi struktury tabulky a zaroven vynuluje onu hodnotu.
S pozdravem
Milan Tomes
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of ing. Petr Borkovec
> Sent: Thursday, July 21, 2005 8:54 PM
>
> Firebird 1.02, Delphi 7, Windows XP Professional
>
> Mam aplikaci, kde si uzivatel za behu programu pridava
> sloupce do taulky.
> Pri asi 240 sloupcich se objevi chyba EIBInterbaseError: too
> many versions... - s tim by se dalo neco delat?
Nulovy znak v retezci fieldu
[*] m.mrazik <m.mrazik(zv)stonline.sk> - 21.7.2005 22:56:01
Nemam moznost to odskusat. Ale ak skusis pretypovat polozku ako AsVariant -
tiez to ukonci na tom znaku #0 ?
Miro
Nulovy znak v retezci fieldu
[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 21.7.2005 22:52:00
Puvodni zprava ze dne 21.7.2005:
> Jak jsem psal: TDbf neznam, ale co jsem videl ruzne implementace
> potomku datasetu, tak buffer record zpravidla vypadal tak, ze seznam
> poli v nem byl implementovan jako pole pointeru na jeho zacatku,
> takze vlastni data pole byla na adrese, kam ukazoval pointer
> dereferovany pomoci FieldNo-1 tj. neco takoveho
> Buf^[Field.FieldNo-1]^.
Tak v tom TDbf neni na zacatku nic nez nejakych 9 bajtu navic a pak
proste cely radek z DBF souboru. Vyuzil jsem toho, ze to pitome pole
je posledni a snad se to brzo nezmeni (to ja neovlivnim). To by pak
moc nefungovalo :-( Udelal jsem to pres ten ActiveBuffer primo v
nacitani dat. Diky za pomoc.
Petr Zahradnik, pocitacovy expert
==========================================================
Petr Zahradnik, Computer Laboratory
web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz
==========================================================
Nulovy znak v retezci fieldu
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 21.7.2005 21:53:52
Petr Zahradnik wrote:
> Diky, to GetFieldData nepomuze. Ale v ActiveBufferu to vazne je. Jenze
> zaboha nemuzu prijit na to, jak najdu tu spravnou pozici daneho
> fieldu. Snad to nebudu muset pocitat postupne, ja tu spravnou polozku
> proste nevidim. Jsem slepy?
Jak jsem psal: TDbf neznam, ale co jsem videl ruzne implementace potomku
datasetu, tak buffer record zpravidla vypadal tak, ze seznam poli
v nem byl implementovan jako pole pointeru na jeho zacatku, takze
vlastni data pole byla na adrese, kam ukazoval pointer dereferovany pomoci
FieldNo-1 tj. neco takoveho Buf^[Field.FieldNo-1]^.
HTH, pf
Nulovy znak v retezci fieldu
[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 21.7.2005 21:27:50
Puvodni zprava ze dne 21.7.2005:
> Souhlasi, take jsme na to narazili, kolega to resil tak pred rokem
> takze uz si nepamatuji zda postaci pouze tato uprava (to jsme jeste
> nemeli Subversion):
Ahoj, diky, ale asi tam je vic uprav, toto napr. neni:
> mFieldDef := fDbfFile.GetFieldInfo(AFieldName);
^^^^^^^^
Petr Zahradnik, pocitacovy expert
==========================================================
Petr Zahradnik, Computer Laboratory
web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz
==========================================================
Nulovy znak v retezci fieldu
[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 21.7.2005 21:17:49
Puvodni zprava ze dne 21.7.2005:
> Neznam TDbf, ale jestli to nejde pomoci GetFieldData(TField,pointer)
> s nejakym vhodnym typem pole a nechces si upravovat implementaci
> TDbf, tak by to mozna mohlo jit tak, ze bys nadefinoval pocitane pole,
> odchytil event OnCalcField, sahnul si pro ta data do ActiveBufferu
> a vratil je jako hodnotu calc field.
Diky, to GetFieldData nepomuze. Ale v ActiveBufferu to vazne je. Jenze
zaboha nemuzu prijit na to, jak najdu tu spravnou pozici daneho
fieldu. Snad to nebudu muset pocitat postupne, ja tu spravnou polozku
proste nevidim. Jsem slepy?
Petr Zahradnik, pocitacovy expert
==========================================================
Petr Zahradnik, Computer Laboratory
web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz
==========================================================
EOutOfMemory
[*] ing. Petr Borkovec <petrborkovec(zv)volny(tec)cz> - 21.7.2005 20:53:47
Firebird 1.02, Delphi 7, Windows XP Professional
Mam aplikaci, kde si uzivatel za behu programu pridava sloupce do taulky.
Ted jeden uzivatel potrebuje tech sloupcu cca 250. Po asi necele stovce se
objevi chyba EOutOfMemory. Aplikace se musi zavrit a znovu spustit a pak je
mozno pridavat dalsi sloupce - dalo by se tomu nejak zabranit?
Pri asi 240 sloupcich se objevi chyba EIBInterbaseError: too many
versions... - s tim by se dalo neco delat?
Predem dekuji za kazdou radu. Petr Borkovec
Nulovy znak v retezci fieldu
[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 21.7.2005 20:53:47
Jedinne, co me napada, tak zjistit, kdo (ktera hezka funkce) to orizne.
Pripadne si sahnout do TDBF a tam to bud opravit, nebo hacknout (obejit
TDataSet).
Slavek
> Kdyz dam Tabulka.FieldByName(..).AsString, tak mi to
> samozrejme vrati retezec jen po ten #0 a ne dal. Zkousel jsem
> vsechno mozne vcetne GetData, ale nemuzu se dal dostat. Size
> je spravny a dlouhy, ale na data nedosahnu. Nevite nekdo, jak
> to vydolovat?
Nulovy znak v retezci fieldu
[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 21.7.2005 20:51:46
Petr Zahradnik wrote:
> mam tabulku DBF, lezu na ni pres nejakou komponentu TDbf. To neni
> dulezite, je to nad TDataset, takze se normalne pracuje s TField. V te
> tabulce je jedno pole typu string a v nem je zakodovany retezec. Ja to
> nevymyslel, je to silena prasarna, ale proste je to tak. Problem je v
> tom, ze tam je #0, coz odpovida nejakemu pismenu v te kodove tabulce.
>
> Kdyz dam Tabulka.FieldByName(..).AsString, tak mi to samozrejme vrati
> retezec jen po ten #0 a ne dal. Zkousel jsem vsechno mozne vcetne
> GetData, ale nemuzu se dal dostat. Size je spravny a dlouhy, ale na
> data nedosahnu. Nevite nekdo, jak to vydolovat?
Souhlasi, take jsme na to narazili, kolega to resil tak pred rokem
takze uz si nepamatuji zda postaci pouze tato uprava (to jsme jeste
nemeli Subversion):
// tato nova metoda vraci obsah pole jako hex-string, resi se tim
// problem se znakem #0 ve fieldech
function TDbf.GetFieldAsHex(AFieldName: string): string;
var
mFieldDef: TDbfFieldDef;
i : integer;
mChar : Byte;
function iDigit(ADigit : integer): string;
begin
if ADigit > 9 then
Result := char(ADigit - 10 + ord('A'))
else
Result := char(ADigit + ord('0'));
end;
begin
Result := '';
mFieldDef := fDbfFile.GetFieldInfo(AFieldName);
if mFieldDef.FieldType = ftString then begin
if assigned(mFieldDef) then begin
for i := 1 to mFieldDef.Size do begin
mChar := PByteArray(GetCurrentBuffer)[mFieldDef.Offset
+ i - 1];
Result := Result + iDigit(mChar div 16);
Result := Result + iDigit(mChar mod 16);
end;
end;
end;
end;
Martin Schayna
Nulovy znak v retezci fieldu
[*] Milan Kajnar <mkajnar(zv)mikesoft(tec)cz> - 21.7.2005 20:43:46
Neco podobneho jsem kdysi musel resit i ja...
Redefinuj si primo field, pokud to pujde, jeho potomkovi upravis metody pro
cteni tech fieldu jako string
a tam si uz pohlidas co bude potreba...
Nulovy znak v retezci fieldu
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 21.7.2005 18:41:37
Petr Zahradnik wrote:
> Kdyz dam Tabulka.FieldByName(..).AsString, tak mi to samozrejme vrati
> retezec jen po ten #0 a ne dal. Zkousel jsem vsechno mozne vcetne
> GetData, ale nemuzu se dal dostat. Size je spravny a dlouhy, ale na
> data nedosahnu. Nevite nekdo, jak to vydolovat?
Neznam TDbf, ale jestli to nejde pomoci GetFieldData(TField,pointer)
s nejakym vhodnym typem pole a nechces si upravovat implementaci
TDbf, tak by to mozna mohlo jit tak, ze bys nadefinoval pocitane pole,
odchytil event OnCalcField, sahnul si pro ta data do ActiveBufferu
a vratil je jako hodnotu calc field.
HTH, pf
Hodnota GENERATORU do vysledneho selectu
[*] martin <matrix(zv)inmail(tec)cz> - 21.7.2005 18:13:29
Povodna sprava zo dna : 21.07.2005, od <matrix(zv)inmail(tec)cz> :
> Povodna sprava zo dna : 21.07.2005, od <diskuze(zv)cincura.net> :
>>> Dobry den,
>>> mam tabulku 'POKUS' so stlpcami 'ID','GENERATOR_NAZOV', cize napr
>>>
>>> ID GENERATOR_NAZOV
>>> 1 GEN_POKUS32
>>> 2 GEN_POKUS55
>>> 3 GEN_POKUS42
>>> 4 GEN_POKUS82
>>>
>>> takze su vytvorene aj 4 generatory vid. 'GENERATOR_NAZOV'
>>>
>>> Mno a trapim sa s tym, ako naformulovat SELECT, aby som dostal
>>> zoznam generatorov spolu s ich konkretnymi HODNOTAMI.
>>> Nieco ako:
>>>
>>> SELECT ID,GENERATOR_NAZOV,GEN_ID(GENERATOR_NAZOV,0) FROM POKUS
>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^
>>> samozrejme to nefunguje ale
>>> ako by mal vyzerat taky select, aby v tretom stlpci bola hodnota
>>> daneho generatora zo stlpca 'GENERATOR_NAZOV'
>>>
>>> Vdaka.
BJC>> A co si pomoci select * from rdb$generators; vybrat generatory, pomoci
BJC>> systemflag zjistis, ktere jsou user a potom uz jen sestavis selecty.
Tak predsa ma napadla lahsia formulacia otazky.
Prosim Vas, ako by mal vyzerat select, ktory v jednom stlpci vrati
zoznam vsetkych GENERATOROV v databaze a v druhom stlpci ich aktualnu
hodnotu.....???
DAKUJEM. Martin
Firebird 1.5.2
Hodnota GENERATORU do vysledneho selectu
[*] martin <matrix(zv)inmail(tec)cz> - 21.7.2005 18:09:29
Povodna sprava zo dna : 21.07.2005, od <diskuze(zv)cincura.net> :
>> Dobry den,
>> mam tabulku 'POKUS' so stlpcami 'ID','GENERATOR_NAZOV', cize napr
>>
>> ID GENERATOR_NAZOV
>> 1 GEN_POKUS32
>> 2 GEN_POKUS55
>> 3 GEN_POKUS42
>> 4 GEN_POKUS82
>>
>> takze su vytvorene aj 4 generatory vid. 'GENERATOR_NAZOV'
>>
>> Mno a trapim sa s tym, ako naformulovat SELECT, aby som dostal
>> zoznam generatorov spolu s ich konkretnymi HODNOTAMI.
>> Nieco ako:
>>
>> SELECT ID,GENERATOR_NAZOV,GEN_ID(GENERATOR_NAZOV,0) FROM POKUS
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^
>> samozrejme to nefunguje ale
>> ako by mal vyzerat taky select, aby v tretom stlpci bola hodnota
>> daneho generatora zo stlpca 'GENERATOR_NAZOV'
>>
>> Vdaka.
BJC> A co si pomoci select * from rdb$generators; vybrat generatory, pomoci
BJC> systemflag zjistis, ktere jsou user a potom uz jen sestavis selecty.
OK, inak polozim otazku,
ako NAFORMULOVAT SELECT, ak NAZOV GENERATORU mam ulozeny v
tablke/stlpci GENERATOR_NAZOV a vysledkom tohto selectu by mal byt
zoznam TYCH GENERATOROV Z TABULKY POKUS spolu s ich HODNOTAMI
Chapem ze budem musiet preliezat aj rdb$ ...
ale neviem ako --- GEN_ID(dostat_sem_generator,0) v selecte
SELECT p.ID,p.GENERATOR_NAZOV,r.GEN_ID(p.GENERATOR_NAZOV,0) FROM POKUS p, RDB$GENERATORS r;
^^^^^^^^^^^^^^^^^^^^^^^^^^ -- tu je chyba
Dik vopred ...
--
Martin
D7Pro,FB1.5,FibPlus
Nulovy znak v retezci fieldu
[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 21.7.2005 18:01:28
Ahoj,
mam tabulku DBF, lezu na ni pres nejakou komponentu TDbf. To neni
dulezite, je to nad TDataset, takze se normalne pracuje s TField. V te
tabulce je jedno pole typu string a v nem je zakodovany retezec. Ja to
nevymyslel, je to silena prasarna, ale proste je to tak. Problem je v
tom, ze tam je #0, coz odpovida nejakemu pismenu v te kodove tabulce.
Kdyz dam Tabulka.FieldByName(..).AsString, tak mi to samozrejme vrati
retezec jen po ten #0 a ne dal. Zkousel jsem vsechno mozne vcetne
GetData, ale nemuzu se dal dostat. Size je spravny a dlouhy, ale na
data nedosahnu. Nevite nekdo, jak to vydolovat?
Dekuji,
Petr Zahradnik, pocitacovy expert
==========================================================
Petr Zahradnik, Computer Laboratory
web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz
==========================================================
Hodnota GENERATORU do vysledneho selectu
[*] Bc. Jiri Cincura <diskuze(zv)cincura(tec)net> - 21.7.2005 17:59:28
martin wrote (on Thursday, July 21, 2005 5:49 PM):
> Dobry den,
> mam tabulku 'POKUS' so stlpcami 'ID','GENERATOR_NAZOV', cize napr
>
> ID GENERATOR_NAZOV
> 1 GEN_POKUS32
> 2 GEN_POKUS55
> 3 GEN_POKUS42
> 4 GEN_POKUS82
>
> takze su vytvorene aj 4 generatory vid. 'GENERATOR_NAZOV'
>
> Mno a trapim sa s tym, ako naformulovat SELECT, aby som dostal
> zoznam generatorov spolu s ich konkretnymi HODNOTAMI.
> Nieco ako:
>
> SELECT ID,GENERATOR_NAZOV,GEN_ID(GENERATOR_NAZOV,0) FROM POKUS
> ^^^^^^^^^^^^^^^^^^^^^^^^^^
> samozrejme to nefunguje ale
> ako by mal vyzerat taky select, aby v tretom stlpci bola hodnota
> daneho generatora zo stlpca 'GENERATOR_NAZOV'
>
> Vdaka.
A co si pomoci select * from rdb$generators; vybrat generatory, pomoci
systemflag zjistis, ktere jsou user a potom uz jen sestavis selecty.
--
Bc. Jiri Cincura
http://www.ID3renamer.com/
ICQ: 314711544; Yahoo!: x2develop
http://photo.cincura.net/
FB:Hodnota GENERATORU do vysledneho selectu
[*] martin <matrix(zv)inmail(tec)cz> - 21.7.2005 17:49:27
Dobry den,
mam tabulku 'POKUS' so stlpcami 'ID','GENERATOR_NAZOV', cize napr
ID GENERATOR_NAZOV
1 GEN_POKUS32
2 GEN_POKUS55
3 GEN_POKUS42
4 GEN_POKUS82
takze su vytvorene aj 4 generatory vid. 'GENERATOR_NAZOV'
Mno a trapim sa s tym, ako naformulovat SELECT, aby som dostal
zoznam generatorov spolu s ich konkretnymi HODNOTAMI.
Nieco ako:
SELECT ID,GENERATOR_NAZOV,GEN_ID(GENERATOR_NAZOV,0) FROM POKUS
^^^^^^^^^^^^^^^^^^^^^^^^^^
samozrejme to nefunguje ale
ako by mal vyzerat taky select, aby v tretom stlpci bola hodnota
daneho generatora zo stlpca 'GENERATOR_NAZOV'
Vdaka.
--
Martin
Firebird 1.5.2
SOAP a klientske certifikaty
[*] Jan Netrval <jnetrval(zv)pilscom(tec)cz> - 21.7.2005 16:29:21
Lze prosim v Delphi 2005 Professional, napsat aplikaci, ktera bude ziskavat data pres SOAP ze sluzby, ktera vyzaduje overeni pres klientsky certifikat. Strasne by mi to pomohlo. Bez certifikatu to neni problem.
Diky
Ing. Jan Netrval
PilsCom, s.r.o. www.pilscom(tec)cz
Slovanska alej 30
326 00 Plzen (Pilsen) Czech Republic
Tel.: +420 377 441 306
GSM: +420 603 851 391
E-mail: jnetrval(zv)pilscom(tec)cz
Restart servletu na web serveru
[*] Radek Bernatek <rbernatek(zv)seznam(tec)cz> - 21.7.2005 14:34:21
Ahoj,
mam takovy problem,
mam na webu servlety napsane v Delphi, ktere zapisuji do Oraclu data predane s HTML stranky, s HTML stranky je mozne zadavat data i pres textovy soubor. Ten soubor neni nijak omezen a ukladani dat do Oracle muze trvat i dele nez hodinu, a v tom je problem, po hodine mi neco, nevim co, spusti znovu ten servlet a on mi tam ty data ulozi jeste jednou.
Nevite nekdo, jak je mozne, ze se mi ten servlet spusti znovu? Kdo ho muze spustit?
Delphi3
Windows 2000 Server SP4
MSJVM 5.00.3810
Oracle Client 8.1.7.4.1
Netscape Directory Server (LDAP) V5.1 SP2
Sun ONE Web Server V6.1 SP4
jakarta-tomcat-3.3a
Diky
Radek Bernatek
Odchyceni zkopirovani do schranky (Ctrl-C)
[*] Marek <marek.rakowski(zv)trz(tec)cz> - 21.7.2005 13:28:05
Ahoj,
V uses Clipbrd,
v RX je ClipboardViewer1
procedure TForm1.ClipboardViewer1Change(Sender: TObject);
begin
Table1.Insert;
dbEdit1.Text:=Clipboard.AsText;
DBRichEdit1.Text:= Clipboard.AsText;
Table1.Post;
end;
Marek
-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Roman Palarcik
Sent: Thursday, July 21, 2005 10:10 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Odchyceni zkopirovani do schranky (Ctrl-C)
Zdravim a preji hezky den,
potreboval bych ve svem programu odchytit udalost, pri ktere dojde v nejake
jine aplikaci ke zkopirovani nejakych dat do schranky, tzn. pri stisknuti
Ctrl-C nebo pri vybrani prikazu "Copy" v menu. Podivat se na zkopirovana
data uz pak neni problem.
Funguje takto napr. program "Lingea Lexicon", ktery se pri vlozeni
jakehokoliv slova z nejake aplikace do schranky prepne do popredi a dany
vyraz prelozi.
Nevite jak odchytit tuto udalost?
Moc diky
ROman Palarcik
Odchyceni zkopirovani do schranky (Ctrl-C)
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 21.7.2005 11:33:56
21.7.2005 Roman Palarcik:
> Zdravim a preji hezky den,
> potreboval bych ve svem programu odchytit udalost, pri ktere dojde
> v nejake jine aplikaci ke zkopirovani nejakych dat do schranky, tzn.
> pri stisknuti Ctrl-C nebo pri vybrani prikazu "Copy" v menu. Podivatse na zkopirovana data uz pak neni problem.
> Funguje takto napr. program "Lingea Lexicon", ktery se pri vlozeni
> jakehokoliv slova z nejake aplikace do schranky prepne do popredi a
> dany vyraz prelozi.
> Nevite jak odchytit tuto udalost?
Podivej se po komponente PBClipboard.
Pokud nechces komponentu, pouzij to jako studijni material
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
Odchyceni zkopirovani do schranky (Ctrl-C)
[*] Roman Palarcik <palarcik(zv)centrum(tec)cz> - 21.7.2005 10:09:50
Zdravim a preji hezky den,
potreboval bych ve svem programu odchytit udalost, pri ktere dojde v nejake jine aplikaci ke zkopirovani nejakych dat do schranky, tzn. pri stisknuti Ctrl-C nebo pri vybrani prikazu "Copy" v menu. Podivat se na zkopirovana data uz pak neni problem.
Funguje takto napr. program "Lingea Lexicon", ktery se pri vlozeni jakehokoliv slova z nejake aplikace do schranky prepne do popredi a dany vyraz prelozi.
Nevite jak odchytit tuto udalost?
Moc diky
ROman Palarcik
PasDoc - vynechani nekterych procedur z dokumentac
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 21.7.2005 09:13:43
> Ahoj.
> Predstavoval bych si treba neco jako parovy tag ...
>
> /// (zv)exclude_start
> ...
> Tady je treba 50 komponent ...
> ...
> /// (zv)exclude_end
No, to je rozumny pozadavek, vlez k pasdocu na wiki a pripis to k
pozadovanym funkcim.
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
WEB: http://www.ararat(tec)cz/synapse - Synapse Delphi and Kylix TCP/IP
Library
PasDoc - vynechani nekterych procedur z dokumentac
[*] delphak(zv)centrum(tec)cz - 21.7.2005 08:59:42
Ahoj.
Predstavoval bych si treba neco jako parovy tag ...
/// (zv)exclude_start
...
Tady je treba 50 komponent ...
...
/// (zv)exclude_end
Rikal jsem si, jestli jsem treba neco takoveho neprehledl, ale zrejme ne.
Protoze dokumentaci generuju i k predkum nekterych formularu a opravu nemam zajem dokumentovat kazdy Label apod. na tomto objektu ...
V.
> A co by sis predstavoval jako reseni?
>
> Pokud chces delat vyjimky a jen nektere veci negenerovat, pak je proste
> musis oznacit, jak bys to chtel delat jinak? Ze by PasDoc intuitivne
> odhalil, ze zrovna tohle generovat nema? Jak by to poznal?
>
> Muzes dat (zv)exclude pred urcitou metodu, muzes jej dat treba pro cely
> objekt ci pro celou unitu. Pokud ale chce vynechat jen par metod z mnoha,
> musis to proste dat pred kazdou co chces vynechat.
>
PasDoc - vynechani nekterych procedur z dokumentac
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 21.7.2005 08:53:41
> Ahoj, muzete mi nekdo poradit, kterak vynechat nektere metody z
> dokumentace?
A co by sis predstavoval jako reseni?
Pokud chces delat vyjimky a jen nektere veci negenerovat, pak je proste
musis oznacit, jak bys to chtel delat jinak? Ze by PasDoc intuitivne
odhalil, ze zrovna tohle generovat nema? Jak by to poznal?
Muzes dat (zv)exclude pred urcitou metodu, muzes jej dat treba pro cely
objekt ci pro celou unitu. Pokud ale chce vynechat jen par metod z mnoha,
musis to proste dat pred kazdou co chces vynechat.
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
WEB: http://www.ararat(tec)cz/synapse - Synapse Delphi and Kylix TCP/IP
Library
PasDoc - vynechani nekterych procedur z dokumentac
[*] delphak(zv)centrum(tec)cz - 21.7.2005 08:43:41
Ahoj, muzete mi nekdo poradit, kterak vynechat nektere metody z dokumentace?
Priklad - mam tridu:
TfrmBaseAboutBox = class (TForm)
/// (zv)exclude
Panel1 : TPanel;
/// (zv)exclude
Version : TLabel;
/// (zv)exclude
procedure FormCreate(Sender : TObject);
public
class procedure AboutBox;
end;
Jediny zpusob na ktery jsem prisel je dat pred kazdy prvek EXCLUDE. Coz je bohuzel u formulare s vetsim poctem komponent dosti neprehledne a nepohodlne ...
ZKOUSEL jsem i dat hned na zacatek PROTECTED nebo PRIVATE, protoze pro ty mam nastaveno negenerovat. Bohuzel potom prestane formular fungovat (a zpusobi runtime error Invalid property value - asi mu pak vadi, ze je to oznaceno private (protected)
Dik za radu.
ADMIN: Predavani StringListu
[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 20.7.2005 19:34:15
Puvodni zprava ze dne 20.7.2005:
> Tedy je mi jedno ze TY jsi nikdy takovou chybu nespozoroval, je mi
> jedno ze TY si vzdy dokazes dat pozor a takovehle parametry si nikdy
> nicim neprepatlas... Jsi patrne genialni a neomylny programator,
> budiz ti to ke cti!
Ukoncete tento thread, nez preroste ve flame.
Petr Zahradnik, pocitacovy expert
==========================================================
Petr Zahradnik, Computer Laboratory
web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz
==========================================================
Predavani StringListu
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 20.7.2005 19:26:14
> Programujem uz nejaky ten rok ale na ziadnu zahadnu chybu
> som v tychto pripadoch este nenarazil, tak to skus pripadne
> vysvetlit, kde tam aka chyba moze vzniknut.
Poslys, kdybych z drivejsich dob nevedel, ze se s tebou diskutovat neda,
rad bych si o tom s tebou popovidal. Protoze to ale vim, hazu na to
bobek. ;-)
Tedy je mi jedno ze TY jsi nikdy takovou chybu nespozoroval, je mi jedno
ze TY si vzdy dokazes dat pozor a takovehle parametry si nikdy nicim
neprepatlas... Jsi patrne genialni a neomylny programator, budiz ti to ke
cti!
Ja ale hovoril o tom, ze oboje funguje, jen ze kdyz tam das ten 'const',
bude vysledek vice odolny vuci programatorovym chybam, proto mi to tak
prijde spravnejsi. Nesouhlasis-li s timto, je to tvuj problem, ja te o
tom opravdu presvedcovat nehodlam. Smir se s tim.
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
WEB: http://www.ararat(tec)cz/synapse - Synapse Delphi and Kylix TCP/IP
Library
Predavani StringListu
[*] Vlko II. <vlko(zv)zilina(tec)net> - 20.7.2005 19:10:13
On Wed, 20 Jul 2005 18:12:07 +0200, Erik Salaj <winsoft(zv)netkosice.sk>
wrote:
> mozes byt konkretnejsi a uviest tie zahadne chyby, ktore vznikaju
> bez "const" parametrov? Co som doteraz videl Delphi zdrojove
> kody, tak nikdy nikto tam zbytocne const parametre nepouzival.
> A zatial ani neviem o ziadnych zakernych (ani nezakernych)
> problemov v tejto oblasti. Const sa zvykne davat len pre specialne
> typy, ktore pouzivaju pocitanie referencii (stringy, dyn. polia,
> COM objekty) a aj to nie koli nejakej "spravnosti" ci chybam
> ale koli efektivite vysledneho kodu. Podla mna zbytocne const
> parametre (a su to vlastne takmer vsetky parametre az na zopar
> vynimiek) akurat znizuju citatelnost kodu. Pripadne posli na ukazku
> zopar Tvojich suborov, ako to tam vsetko s const parametrami vyzera.
>
> Erik
Hmm, ked sme uz pri tom const toto som akurat skusal, lebo som chcel prist
na to ako to funguje v c# a velmi zaujimavy vysledok.
delphi:
procedure funkcia(aButton: TButton);
begin
aButton.Caption := 'test';
aButton := nil;
aButton.Caption := aButton.Caption + 'test2';
end;
procedure TForm1.Button1Click(Sender: TObject);
var temp: TButton;
begin
temp := Button1;
funkcia(temp);
temp.Caption := Button1.Caption + 'ahoj';
end;
vysledok testahoj
C#:
private void funkcia(Button aForm)
{
aForm.Text = "test";
aForm = null;
aForm.Text += "test2";
}
private void button1_Click(object sender, System.EventArgs e)
{
Button temp = button1;
funkcia(temp);
temp.Text = "ahoj";
}
vysledok padne na aForm.Text += "test2";
Po vymazani riadku, kde sa pridava test2, oba priklady davaju rovnaky
vysledok,
z toho logicky vyplyva, ze const v podstate chrani objekt len v ramci
funkcie,
vobec neovplyvni predavany objekt.
zaver dva: to uz ani nil clovek nemoze doverovat? som myslel, ze je to
prazdny
pointer. no nic, mozno som to zle pochopil:)
--
--------------
mail: vlko(zv)zilina.net
web: http://vlko.zilina.net
Predavani StringListu
[*] Erik Salaj <winsoft(zv)netkosice.sk> - 20.7.2005 18:58:11
> > mozes byt konkretnejsi a uviest tie zahadne chyby, ktore vznikaju
> > bez "const" parametrov? Co som doteraz videl Delphi zdrojove
>
> Eriku, tak si laskave precti tuto diskuzi celou, uz jsem to tu dneska
> jednou dost podrobne popisoval.
tak som si to este raz priesiel a snad este jednu poznamku k tomu,
co si napisal, lebo zda sa, ze Ti vobec nie je jasne, ako const funguje:
> > Procedure TMainForm.PomocnaProcedura(const SL: TStringlist );
>
>Proto se ma pouzit 'const', coz je jako 'var' (tedy predava se
>puvodni ukazatel bez delani kopie...), nicmene uz kompilator ti
>ohlida, ze se uvnitr te procedury NEMUZE ten ukazatel nijak zmenit!
>Takze nemuzes v procedure ani nahodou omylem nechat nejaky kod, ktery
>by hodnotu v SL modifikoval.
>
>Tedy at je to bez niceho, s 'var' ci s 'const', bude to fungovat
>pokazde stejne. Jen varianta s 'const' je maximalne odolna vuci
>vyrobeni pripadne chyby a je zaroven nejrychlejsi.
"const" nie je ako "var", v pripade objektu sa predava kopia
smernika, nie jeho adresa. Const a nie-const je teda v pripade
objektov aj rovnako rychle. Vyskusaj si to napr. na to priklade,
co som posielal v minulom maile.
Erik
Predavani StringListu
[*] Erik Salaj <winsoft(zv)netkosice.sk> - 20.7.2005 18:48:10
> > mozes byt konkretnejsi a uviest tie zahadne chyby, ktore vznikaju
> > bez "const" parametrov? Co som doteraz videl Delphi zdrojove
>
> Eriku, tak si laskave precti tuto diskuzi celou, uz jsem to tu dneska
> jednou dost podrobne popisoval.
ja som ju priebezne cital (aj ked nieco mi samozrejme mohlo uniknut)
ale to, co si pisal, bol akysi vseobecny obkec o nicom (rovnako
ako tato Tvoja odpoved na moju otazku). Takze skusim sa opytat
este "konkretnejsie": aku zahadnu chybu dostanem (mozem dostat),
ked pouzijem:
1. procedure Test(Object: TObject);
namiesto:
2. procedure Test(const Object: TObject);
Ja tam vidim jeden nedpostatny rozdiel: ze do premennej Object
v druhom pripade nemozem zapisovat.
Ale ja ani nikdy do parametrov nezapisujem (pokial nie su vystupne,
teda var) a myslim si, ze keby s tym bol problem, tak by uz davno
Borland priamo v kompilatore taketo priradenia zakazal. A tych par
zriedkavych pripadov ked sa to nahodou zide (koli strucnejsiemu kodu,
pre nic ine) sa da lahko vyriesit pomocnou premennou:
1. procedure Test(Object: TObject);
begin
// nieco robim s Object
...
// zmenim Object
Object := NejakyObjekt;
end;
2. procedure Test(const Object: TObject);
var Object1: TObject;
begin
// nieco robim s Object
...
// Object nemozem zmenit, tak pouzijem lokalnu premennu
Object1 := NejakyObjekt;
end;
Programujem uz nejaky ten rok ale na ziadnu zahadnu chybu
som v tychto pripadoch este nenarazil, tak to skus pripadne
vysvetlit, kde tam aka chyba moze vzniknut.
Rovnako tak nepouzivam const pre hodnotove typy, napr. Integer.
Kedze tam je situacia podobna (tiez mozem, resp. nemoze priradit
hodnotu do takeho parametra), mozu aj tam vzniknut zahadne chyby
a ake?
Erik
OT: nabidka prace pro Delphi programatory
[*] Petr Skondrojannis <skondr(zv)asearch(tec)cz> - 20.7.2005 18:40:10
Dobry den,
Nase spolecnost momentalne obsazuje pozici Delphi/acces programatora
(specifikaci naleznete na nasich strankach www.asearch(tec)cz
<http://www.asearch(tec)cz/> nazev: delphi / MS Acces programator) a moc se nam
to nedari. Pozice je pro jednu mezinardoni spolecnost a platove podminky
jsou dohodou. Pokud byste nekdo mel o tuto pozici zajem, nebo jste vedel o
nekom kdo by rad nalezl ci zmenil zamestnani, prosim kontaktujte mne.
Omlouvam se za tento komercni email a dekuji za pochopeni.
S pratelskym pozdravem
Petr Skondrojannis
Petr Skondrojannis
Advanced SEARCH, s.r.o.
Pod Hajkem 1/2204, 180 00
Praha 8 - Liben
+420 266 311 817
+420 777 774 550
www.advancedsearch(tec)cz
Predavani StringListu
[*] Radim Kunz <rkunz(zv)casestudio(tec)com> - 20.7.2005 17:56:06
Karel Kral napsal(a):
>Lukasi,
>nic ve zlym, ale podivej se do zdrojaku Borlandu a dalsich. Pouzivat
>const u promennych typu ukazatel rozhodne neni zvykem. Naopak se
>predavaji vsude hodnotou. Jako const se predavaji stringy a vicebajtove
>promenne nez 4 byte, kde se opravdu usetri na kopirovani na zasobnik.
>
>Urcite mas ale pravdu v tom, ze takovy ukazatel si v procedure neprepises.
>
>
>
Myslim ze moznost psat const parametry neni moc stara. Aspon v Delphi 2
to jeste nebylo. :-)
Takze to zas tak velka chyba neni, pokud to je vubec chyba. Chyba by
byla pouzit var.
Radim
StringList v jine procedure
[*] Radim Kunz <rkunz(zv)casestudio(tec)com> - 20.7.2005 17:56:06
Lukas Gebauer napsal(a):
>>>Pochopitelne jsou situace, kde to 'const' pouzivat nemas, nicmene v
>>>citovane situaci by tam byt mel.
>>>
>>>
>>Striktne vzato pro jazykovou cistotu bys mel psat const u kazdeho parametru,
>>ktery neni var a jehoz nehodlas pouzivat jako docasnou pracovni promennou s
>>predanou pocatecni hodnotou, coz taky neni zrovna moc koser, takze vlastne
>>furt. A kdyz wono je to pak hrozne dlouhy, kdyz tech parametru je vic. Uz
>>koncim. JPi
>>
>>
>
>Ne u kazdeho parametru, ale melo by se to psat u kazdeho parametru,
>ktery je sam o sobe odkazovym typem. ;-) To rozhodne nejsou vsechny!
>
>
>
Neni duvod. Pokud delas prasarny s parametrem ve volane procedure,
volajici proceduru to
nezajima a neovlivni.
Radim
Predavani StringListu
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 20.7.2005 18:26:08
> mozes byt konkretnejsi a uviest tie zahadne chyby, ktore vznikaju
> bez "const" parametrov? Co som doteraz videl Delphi zdrojove
Eriku, tak si laskave precti tuto diskuzi celou, uz jsem to tu dneska
jednou dost podrobne popisoval.
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
WEB: http://www.ararat(tec)cz/synapse - Synapse Delphi and Kylix TCP/IP
Library
Predavani StringListu
[*] Erik Salaj <winsoft(zv)netkosice.sk> - 20.7.2005 18:12:07
> Protoze puvodni dotaz vznesl ocividny zacatecnik, pripadlo mi dobre na
> tuto vec upozornit. Vim, ze zvyk je zelezna kosile a stare psy to
> nenaucis. Mej ale na pameti, ze novackovi, kteremu se jiste podari v
> programech nasekat mnoho chyb, muze takovahle 'zbytecna' pitomost usetrit
> mnoho casu lovenim zahadne chyby. proto mi prijde dobre, kdyz si na tohle
> clovek zvykne uz v samotnych zacatcich, pak mu to nebude pripadat jako
> 'silena prace navic'. ;-)
mozes byt konkretnejsi a uviest tie zahadne chyby, ktore vznikaju
bez "const" parametrov? Co som doteraz videl Delphi zdrojove
kody, tak nikdy nikto tam zbytocne const parametre nepouzival.
A zatial ani neviem o ziadnych zakernych (ani nezakernych)
problemov v tejto oblasti. Const sa zvykne davat len pre specialne
typy, ktore pouzivaju pocitanie referencii (stringy, dyn. polia,
COM objekty) a aj to nie koli nejakej "spravnosti" ci chybam
ale koli efektivite vysledneho kodu. Podla mna zbytocne const
parametre (a su to vlastne takmer vsetky parametre az na zopar
vynimiek) akurat znizuju citatelnost kodu. Pripadne posli na ukazku
zopar Tvojich suborov, ako to tam vsetko s const parametrami vyzera.
Erik
Kontextovy help v D2005
[*] lelicek(zv)volny(tec)cz - 20.7.2005 18:06:07
Ahoj,
mam problem se zobratenim kontextoveho helpu v IDE. Pri startu
zobrazi IDE tato hlaseni:
Access violation at address 06A677BE in module htmlhelp290.bpl.
Read of address 00000018
Exception EpackageRegistrationException in modul coreide90.bpl at
000BC8F2. Registration procedure, Htmlhelp2viewer.IDERegister in
package d:\program files\borland\bds\3.0\Bin\htmphelp290.bpl raised
exception class EhelpSystemException: The Microsoft Document
Explorer is not instaled.
Pokud ale spustim "Dokumentaci", tak se "nenaistalovany" Microsoft
Document Explorer spusti a help se zobrazi bez problemu, ale F1 z
IDE vede opet k hlasen, ze neni topic-help instalovan. Nemate
predstavu co s tim ?
Pavel
Predavani StringListu
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 20.7.2005 17:52:05
> Lukasi,
> nic ve zlym, ale podivej se do zdrojaku Borlandu a dalsich. Pouzivat const
> u promennych typu ukazatel rozhodne neni zvykem. Naopak se predavaji vsude
> hodnotou. Jako const se predavaji stringy a vicebajtove promenne nez 4
> byte, kde se opravdu usetri na kopirovani na zasobnik.
>
> Urcite mas ale pravdu v tom, ze takovy ukazatel si v procedure neprepises.
No, nic ve zlym, ale odvolavat se na zdrojaky Borlandu, ktere jsou plne
neuveritelne pitomych a vylozene amaterskych chyb (!), to neni moc silny
argument! A mnoho tech chyb existuji v tech zdrojacich po dlouhe roky,
ackoliv byly Borlandum reportovany.
Jak jsem ale rekl, bez toho Const to funguje, nicmene pokud chces
programovat takovym stylem, abys pokud mozno co nejvice chybam
predchazel, bylo by dobre nebyt liny a to Const tam v techto pripadech
psat.
Protoze puvodni dotaz vznesl ocividny zacatecnik, pripadlo mi dobre na
tuto vec upozornit. Vim, ze zvyk je zelezna kosile a stare psy to
nenaucis. Mej ale na pameti, ze novackovi, kteremu se jiste podari v
programech nasekat mnoho chyb, muze takovahle 'zbytecna' pitomost usetrit
mnoho casu lovenim zahadne chyby. proto mi prijde dobre, kdyz si na tohle
clovek zvykne uz v samotnych zacatcich, pak mu to nebude pripadat jako
'silena prace navic'. ;-)
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
WEB: http://www.ararat(tec)cz/synapse - Synapse Delphi and Kylix TCP/IP
Library
Predavani StringListu
[*] Karel Kral <kralkonf(zv)purusmeda(tec)cz> - 20.7.2005 17:28:03
Lukasi,
nic ve zlym, ale podivej se do zdrojaku Borlandu a dalsich. Pouzivat
const u promennych typu ukazatel rozhodne neni zvykem. Naopak se
predavaji vsude hodnotou. Jako const se predavaji stringy a vicebajtove
promenne nez 4 byte, kde se opravdu usetri na kopirovani na zasobnik.
Urcite mas ale pravdu v tom, ze takovy ukazatel si v procedure neprepises.
Lukas Gebauer napsal(a):
>>>Procedure TMainForm.PomocnaProcedura(const SL: TStringlist );
>>
>>Toto me zaujalo. Procpak to musi byt takto, aby to bylo spravne?
>>Mel jsem za to, ze je to jen o zpusobu predani parametru.
>
>
> No prave! Je potreba si uvedomit, co ta promenna SL vlastne je...
> neni to nic jineho, nez ukazatel nekam do pameti, kde sidli nstance
> objektu TStringList. Tedy SL neni ten TStringList, ale jen ukazatel
> na nej.
>
--
______________________________________________________
Karel Kral, reditel IT / IT manager
PURUS-MEDA, s.r.o., Palackeho 174, 621 00 Brno, CZ
E-Mail: kral(zv)purusmeda(tec)cz
______________________________________________________
StringList v jine procedure
[*] Daniel Rott <roxton(zv)seznam(tec)cz> - 20.7.2005 16:35:54
----- Original Message -----
> From: "Jaroslav Pivonka" <jpivonka(zv)centrum(tec)cz>
> Striktne vzato pro jazykovou cistotu bys mel psat const u kazdeho
> parametru, ktery neni var a jehoz nehodlas pouzivat jako docasnou
> pracovni promennou s predanou pocatecni hodnotou, coz taky neni
> zrovna moc koser, takze vlastne furt.
Proc moc koser ? Pouzivam pomerne casto, napriklad pro prepsani
default hodnoty (napr. hodnota 0 znamena aktualni thread). Imho je
spravne deklarovat const vzdy kdyz nechci hodnotu menit.
> takze je to cele spis vec vkusu, na vysledny kod to nema vliv, je to
> jen vec syntax checkeru
Neni pravda, ze kod je stejny. Zalezi na typu parametru.
> A kdyz wono je to pak hrozne dlouhy, kdyz tech parametru je vic.
Pokud je programator linej, tak at nepise v pascalu.
A radeji at nepise vubec nic, s cim bude muset pracovat i nekdo jiny.
Daniel
---------------------------------------------------------------
Some minor bugs/features fixed/added
Activex vytvorene v Delphi a Mozilla Firefox?
[*] likeapear <likeapear(zv)centrum(tec)cz> - 20.7.2005 15:13:49
Mno ja jsem tenhle plugin do Firefoxu ani nedostal... Prozradis mi jak na to? Mam FF 1.0.4, i kdyz mozna brzy prijdu na 1.0.6, ktery ted vychazi.
{likeapear}
----- Original Message -----
From: "Milan Kajnar" <mkajnar(zv)mikesoft(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, July 20, 2005 11:55 AM
Subject: Activex vytvorene v Delphi a Mozilla Firefox?| Pracuji na ActiveX, vytvorenem v Delphi, ktere ma pomoci specialniho pluginu
| http://www.iol.ie/~locka/mozilla/plugin.htm pro Firefox byt mozne v nem
| provozovat.
StringList v jine procedure
[*] Bc. Jiri Cincura <diskuze(zv)cincura(tec)net> - 20.7.2005 15:09:48
Lukas Gebauer wrote (on Wednesday, July 20, 2005 12:56 PM):
>>> No protoze to neni promenna, ale ukazatel na objekt a vy nechcete
>>> menit ten ukazatel, ale obsah objektu. Kdyz date const, tak se Vam
>>> nahlasi pokus o zmenu toho ukazatele. Zmeny v objektu samozrejme muzete
>>> provadet.
>>
>> No, ale co kdyz tam budu chtit dat jiny TStringList, co potom???
>
> No, pokud si nekde vytvoris stringlist, pak ho po sobe uklizis, tak nekde
> mezitim tam prirazovat jiny stringlist by bylo hrubou chybou zpusobujici
> memoryleak.
No nechci tu vyvolat flame, ale ukazu ti kod, kde tohle provedu a zadny
memoryleak nebude - ovsem moc "cisty" kod to taky nebude. ;)
Chtel jsem jen ukazat i druhou stranu mince.
> Pochopitelne jsou situace, kde to 'const' pouzivat nemas, nicmene v
> citovane situaci by tam byt mel.
Ano, v citovane ano.
--
Bc. Jiri Cincura
http://www.ID3renamer.com/
ICQ: 314711544; Yahoo!: x2develop
http://photo.cincura.net/
ZipMaster?&?DLL - vyriesene
[*] Milan <fabtech(zv)fabtech.sk> - 20.7.2005 14:37:45
Vyriesenie problemu bolo v tom, ze okrem dll-liek, ktore
som tam samozrejme mal nakopirovane aj predtym, musi tam
byt este subor dszfxus.bin. Teraz to beha ako ma.
----------------------------------------------
Pouzil som ZipMaster komponenty. Na OS W-XP OK.
Chcel som to nasadit na server W-2000server a problem.
Pri pokuse o zipovanie vypisuje toto:
"ZipMsgXX.res is probably not linked to the executable
Missing String ID is : 10704 unloaded"
Zakazat kolecko mysi na komponente
[*] Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> - 20.7.2005 14:11:43
No jo, ale kde hledat, kdyz prispevky po urcite dobe mazu...
Dalibor Faltynek
Orgrez, a. s.
tel: +420 541 613 312
fax: +420 541 613 299
> Dne 23.5.2005 se podobny problem uz tady resil, viz sub. "Neposlusny
> ComboBox". Hledej.
StringList v jine procedure
[*] Erik Salaj <winsoft(zv)netkosice.sk> - 20.7.2005 14:05:43
> > > Pochopitelne jsou situace, kde to 'const' pouzivat nemas, nicmene v
> > > citovane situaci by tam byt mel.
> >
> > Striktne vzato pro jazykovou cistotu bys mel psat const u kazdeho
parametru,
> > ktery neni var a jehoz nehodlas pouzivat jako docasnou pracovni
promennou s
> > predanou pocatecni hodnotou, coz taky neni zrovna moc koser, takze
vlastne
> > furt. A kdyz wono je to pak hrozne dlouhy, kdyz tech parametru je vic.
Uz
> > koncim. JPi
>
> Ne u kazdeho parametru, ale melo by se to psat u kazdeho parametru,
> ktery je sam o sobe odkazovym typem. ;-) To rozhodne nejsou vsechny!
lenze pripadov, ked sa predava ako parameter objekt a tato referencia
sa v procedure nemeni je takmer 100% a pisat vsade "const" je IMHO
nezmysel. Ani vo VCL ani inde som sa s pouzivanim "const" v takomto
pripade nestretol. Dovod na "const" parameter je IMHO hlavne koli
stringom, kde kompilator moze generovat lepsi kod. A takisto by to
malo platit aj v pripade niektorych poli a COM objektov.
Erik
StringList v jine procedure
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 20.7.2005 13:51:41
> > Pochopitelne jsou situace, kde to 'const' pouzivat nemas, nicmene v
> > citovane situaci by tam byt mel.
>
> Striktne vzato pro jazykovou cistotu bys mel psat const u kazdeho parametru,
> ktery neni var a jehoz nehodlas pouzivat jako docasnou pracovni promennou s
> predanou pocatecni hodnotou, coz taky neni zrovna moc koser, takze vlastne
> furt. A kdyz wono je to pak hrozne dlouhy, kdyz tech parametru je vic. Uz
> koncim. JPi
Ne u kazdeho parametru, ale melo by se to psat u kazdeho parametru,
ktery je sam o sobe odkazovym typem. ;-) To rozhodne nejsou vsechny!
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
http://www.ararat(tec)cz/synapse/ - Ararat Synapse - TCP/IP Lib.
Predavani StringListu
[*] Ludek Finstrle <ludek.finstrle(zv)pzkagis(tec)cz> - 20.7.2005 13:43:41
> Pokud se to v te procedure pouzije bez niceho, pak se pri volani te
> procedury vyrobi kopie toho ukazatele se stejnym obsahem, tedy kopie
> toho ukazatele ukazuje na stejny objekt. Co tou kopii ukazatele
> ziskate? NIC! Je to zcela zbytecna operace, protoze staci predat
> primo puvodni ukazatel, ne?
Jen mezi reci. Jak se parametr preda primo? Ze by kopii ukazatele :-)
> Navic pokud by se ti povedlo omylem uvnitr te procedury prepsat ten
> ukazatel v promenne SL, tak by ti zbytek kodu v te procedure delal
> pekne divy! (Rozumnej sahal do pameti kam nema, apliakce zahadne
> zacne padat, atd.)
Zmeny to je pravda. S tim souhlasim.
> Tedy at je to bez niceho, s 'var' ci s 'const', bude to fungovat
> pokazde stejne. Jen varianta s 'const' je maximalne odolna vuci
> vyrobeni pripadne chyby a je zaroven nejrychlejsi.
Ja to sice nemeril, ale u pointeru rozdil v rychlosti asi moc nebude.
Luf
StringList v jine procedure
[*] Jaroslav Pivonka <jpivonka(zv)centrum(tec)cz> - 20.7.2005 13:33:40
----- Original Message -----
From: "Lukas Gebauer" <gebylist(zv)mlp(tec)cz>
>
> Pochopitelne jsou situace, kde to 'const' pouzivat nemas, nicmene v
> citovane situaci by tam byt mel.
Striktne vzato pro jazykovou cistotu bys mel psat const u kazdeho parametru,
ktery neni var a jehoz nehodlas pouzivat jako docasnou pracovni promennou s
predanou pocatecni hodnotou, coz taky neni zrovna moc koser, takze vlastne
furt. A kdyz wono je to pak hrozne dlouhy, kdyz tech parametru je vic. Uz
koncim. JPi
StringList v jine procedure
[*] Jaroslav Pivonka <jpivonka(zv)centrum(tec)cz> - 20.7.2005 13:17:39
----- Original Message -----
From: "Lukas Gebauer" <gebylist(zv)mlp(tec)cz>
>> Procedure TMainForm.PomocnaProcedura( SL: TStringlist );
>> Begin
>> SL.Add('....');
>> end;
>
> Takto je to ale spatne. :-) Ano, funguje to, ale neni to spravne.
> Bohuzel to dost casto v cizich zdrojacich vidam. Spravne by to melo
> byt:
>
> Procedure TMainForm.PomocnaProcedura(const SL: TStringlist );
Nebudme puristi
const pouze zabrani aby nekdo napsal ten ukazatel nalevo od prirazeni, ale
prekladac neprotestuje (jak by ostatne mohl)
proti libovolnym jinym manipulacim s objektem, ani blbostem typu
procedure Blah(const My:tStringList);
begin
My.Free // jedine s var bych mohl napsat My:=nil
end;
coz vede na to, ze nikdo venku nevi ze ukazatel je neplatny
takze je to cele spis vec vkusu, na vysledny kod to nema vliv, je to jen vec
syntax checkeru
a koneckoncu i sami borlandi (ve vcl) predavaji objekty bez const.
prekladac generuje v obou pripadech tentyz kod
Jarda
Predavani StringListu
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 20.7.2005 12:57:37
> > Procedure TMainForm.PomocnaProcedura(const SL: TStringlist );
>
> Toto me zaujalo. Procpak to musi byt takto, aby to bylo spravne?
> Mel jsem za to, ze je to jen o zpusobu predani parametru.
No prave! Je potreba si uvedomit, co ta promenna SL vlastne je...
neni to nic jineho, nez ukazatel nekam do pameti, kde sidli nstance
objektu TStringList. Tedy SL neni ten TStringList, ale jen ukazatel
na nej.
Pokud se to v te procedure pouzije bez niceho, pak se pri volani te
procedury vyrobi kopie toho ukazatele se stejnym obsahem, tedy kopie
toho ukazatele ukazuje na stejny objekt. Co tou kopii ukazatele
ziskate? NIC! Je to zcela zbytecna operace, protoze staci predat
primo puvodni ukazatel, ne?
Navic pokud by se ti povedlo omylem uvnitr te procedury prepsat ten
ukazatel v promenne SL, tak by ti zbytek kodu v te procedure delal
pekne divy! (Rozumnej sahal do pameti kam nema, apliakce zahadne
zacne padat, atd.)
Pokud by se ta promenna SL predavala jako 'var' parametr, tak se sice
nedela ta zbytecna kopie ukazatele, nicmene pokud by se ti omylem
podarilo v procedure modifikovat obsah ukazatele v promenne SL, delal
by ti divy cely zbytek programu.
Proto se ma pouzit 'const', coz je jako 'var' (tedy predava se
puvodni ukazatel bez delani kopie...), nicmene uz kompilator ti
ohlida, ze se uvnitr te procedury NEMUZE ten ukazatel nijak zmenit!
Takze nemuzes v procedure ani nahodou omylem nechat nejaky kod, ktery
by hodnotu v SL modifikoval.
Tedy at je to bez niceho, s 'var' ci s 'const', bude to fungovat
pokazde stejne. Jen varianta s 'const' je maximalne odolna vuci
vyrobeni pripadne chyby a je zaroven nejrychlejsi.
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
http://www.ararat(tec)cz/synapse/ - Ararat Synapse - TCP/IP Lib.
StringList v jine procedure
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 20.7.2005 12:55:37
> > No protoze to neni promenna, ale ukazatel na objekt a vy nechcete menit
> > ten ukazatel, ale obsah objektu. Kdyz date const, tak se Vam nahlasi
> > pokus o zmenu toho ukazatele. Zmeny v objektu samozrejme muzete provadet.
>
> No, ale co kdyz tam budu chtit dat jiny TStringList, co potom???
No, pokud si nekde vytvoris stringlist, pak ho po sobe uklizis, tak
nekde mezitim tam prirazovat jiny stringlist by bylo hrubou chybou
zpusobujici memoryleak.
Pochopitelne jsou situace, kde to 'const' pouzivat nemas, nicmene v
citovane situaci by tam byt mel.
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
http://www.ararat(tec)cz/synapse/ - Ararat Synapse - TCP/IP Lib.
StringList v jine procedure
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 20.7.2005 12:45:36
> Proc const? Pokud vim, tak tim oznacim danou promennou ze ji nebudu
> modifikovat. Nemelo by byt spis var?
No to by uz nebyla chyba, to by byla hrubka! ;-) Kdyz predavas nejaky
objekt, tak prave chces, aby se ukazatel na ten objekt ani nahodou
ani omylem nezmodifikoval! Takze proto const.
To ale neznamena, ze nemuzes menit obsah toho objektu! To 'const' se
tyka jen a jen ukazatele na ten objekt,ne objektu samotneho.
Ostatne pred momentem jsem to podrobne vysvetlil.
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
http://www.ararat(tec)cz/synapse/ - Ararat Synapse - TCP/IP Lib.
ZipMaster & DLL
[*] Milan <fabtech(zv)fabtech.sk> - 20.7.2005 12:41:35
Dobry den,
nam programik, ktory robi toto:
1. Spracuje data.
2. Zozipuje ich.
3. Zavesi ich na ftp server.
Pouzil som ZipMaster komponenty. Na OS W-XP OK.
Chcel som to nasadit na server W-2000server a problem.
Pri pokuse o zipovanie vypisuje toto:
"ZipMsgXX.res is probably not linked to the executable
Missing String ID is : 10704 unloaded"
Pokusil som sa to spustit na OS W-98se a rovnaky vysledok.
Poradite mi, ako na to ?
Dik FM
StringList v jine procedure
[*] Bc. Jiri Cincura <diskuze(zv)cincura(tec)net> - 20.7.2005 12:39:35
Martin Radvansky wrote (on Wednesday, July 20, 2005 12:14 PM):
> Dobry den,
>
>>>> Procedure TMainForm.PomocnaProcedura( SL: TStringlist ); Begin
>>>> SL.Add('....'); end;
>>>
>>> Takto je to ale spatne. :-) Ano, funguje to, ale neni to spravne.
>>> Bohuzel to dost casto v cizich zdrojacich vidam. Spravne by to melo byt:
>>>
>>> Procedure TMainForm.PomocnaProcedura(const SL: TStringlist );
>
>> Proc const? Pokud vim, tak tim oznacim danou promennou ze ji nebudu
>> modifikovat. Nemelo by byt spis var?
>
> No protoze to neni promenna, ale ukazatel na objekt a vy nechcete menit
> ten ukazatel, ale obsah objektu. Kdyz date const, tak se Vam nahlasi
> pokus o zmenu toho ukazatele. Zmeny v objektu samozrejme muzete provadet.
No, ale co kdyz tam budu chtit dat jiny TStringList, co potom???
--
Bc. Jiri Cincura
http://www.ID3renamer.com/
ICQ: 314711544; Yahoo!: x2develop
http://photo.cincura.net/
Zakazat kolecko mysi na komponente
[*] Ing. Igor Vodicka <vodicka(zv)sagit(tec)cz> - 20.7.2005 12:29:34
Ahoj!
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Dalibor Faltynek
>
> Ahoj,
> potreboval bych nejak zakazat reakci na kolecko mysi v komponente
> TComboBox,
> nebo TDBLookupcombo.
Dne 23.5.2005 se podobny problem uz tady resil, viz sub. "Neposlusny
ComboBox". Hledej.
Ing. Igor Vodicka
informacni systemy
Nakladatelstvi Sagit
Tel.: 59 6786 001
HTTP://www.sagit(tec)cz/
StringList v jine procedure
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 20.7.2005 12:01:32
20.7.2005 Lukas Gebauer:
>> Procedure TMainForm.PomocnaProcedura( SL: TStringlist );
> Takto je to ale spatne. :-) Ano, funguje to, ale neni to spravne.
> Bohuzel to dost casto v cizich zdrojacich vidam. Spravne by to melo
> byt:
> Procedure TMainForm.PomocnaProcedura(const SL: TStringlist );
Proc const, kdyz nejde o promennou, ale o ukazatel ?
const ti zabrani zmene, takze tam nepriradis jiny stringlist, ale
zadny dalsi prinos v tom nevidim.
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
Predavani StringListu
[*] Ludek Finstrle <ludek.finstrle(zv)pzkagis(tec)cz> - 20.7.2005 12:01:32
> > Procedure TMainForm.PomocnaProcedura( SL: TStringlist );
> > Begin
> > SL.Add('....');
> > end;
>
> Takto je to ale spatne. :-) Ano, funguje to, ale neni to spravne.
> Bohuzel to dost casto v cizich zdrojacich vidam. Spravne by to melo
> byt:
>
> Procedure TMainForm.PomocnaProcedura(const SL: TStringlist );
Toto me zaujalo. Procpak to musi byt takto, aby to bylo spravne?
Mel jsem za to, ze je to jen o zpusobu predani parametru.
Luf
StringList v jine procedure
[*] Martin Radvansky <delphiconf(zv)radvansky(tec)net> - 20.7.2005 12:13:33
Dobry den,
>>> Procedure TMainForm.PomocnaProcedura( SL: TStringlist ); Begin
>>> SL.Add('....'); end;
>>
>> Takto je to ale spatne. :-) Ano, funguje to, ale neni to spravne.
>> Bohuzel to dost casto v cizich zdrojacich vidam. Spravne by to melo
>> byt:
>>
>> Procedure TMainForm.PomocnaProcedura(const SL: TStringlist );
BJC> Proc const? Pokud vim, tak tim oznacim danou promennou ze ji nebudu
BJC> modifikovat. Nemelo by byt spis var?
No protoze to neni promenna, ale ukazatel na objekt a vy nechcete menit
ten ukazatel, ale obsah objektu. Kdyz date const, tak se Vam nahlasi
pokus o zmenu toho ukazatele. Zmeny v objektu samozrejme muzete
provadet.
S pozdravem
Martin Radvansky
StringList v jine procedure
[*] Bc. Jiri Cincura <diskuze(zv)cincura(tec)net> - 20.7.2005 12:03:32
Lukas Gebauer wrote (on Wednesday, July 20, 2005 11:48 AM):
>>> Potrebuji pouzit StringList v jine procedure nez v jake je
>>> deklarovany. Je to mozne?
>>
>> Procedure TMainForm.PomocnaProcedura( SL: TStringlist ); Begin
>> SL.Add('....'); end;
>
> Takto je to ale spatne. :-) Ano, funguje to, ale neni to spravne.
> Bohuzel to dost casto v cizich zdrojacich vidam. Spravne by to melo
> byt:
>
> Procedure TMainForm.PomocnaProcedura(const SL: TStringlist );
Proc const? Pokud vim, tak tim oznacim danou promennou ze ji nebudu
modifikovat. Nemelo by byt spis var?
--
Bc. Jiri Cincura
http://www.ID3renamer.com/
ICQ: 314711544; Yahoo!: x2develop
http://photo.cincura.net/
Activex vytvorene v Delphi a Mozilla Firefox?
[*] Milan Kajnar <mkajnar(zv)mikesoft(tec)cz> - 20.7.2005 11:55:31
Ahoj...
Pracuji na ActiveX, vytvorenem v Delphi, ktere ma pomoci specialniho pluginu
http://www.iol.ie/~locka/mozilla/plugin.htm pro Firefox byt mozne v nem
provozovat.
At delam co delam, nedari se mi to. Me ActiveX chodi dobre v IE, ve Firefoxu
ani nahodou...
Ptam zde prosim, jestli tu je nekdo, kdo se jiz pokousel o to same uspesne a
pripadne jaky postup
bych mel pak dodrzet aby to fungovalo.
Diky Milan
StringList v jine procedure
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 20.7.2005 11:47:30
> > Potrebuji pouzit StringList v jine procedure nez v jake je deklarovany. Je
> > to mozne?
>
> Procedure TMainForm.PomocnaProcedura( SL: TStringlist );
> Begin
> SL.Add('....');
> end;
Takto je to ale spatne. :-) Ano, funguje to, ale neni to spravne.
Bohuzel to dost casto v cizich zdrojacich vidam. Spravne by to melo
byt:
Procedure TMainForm.PomocnaProcedura(const SL: TStringlist );
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
http://www.ararat(tec)cz/synapse/ - Ararat Synapse - TCP/IP Lib.
StringList v jine procedure
[*] Martin Burle <mburle2(zv)volny(tec)cz> - 20.7.2005 11:13:27
> Potrebuji pouzit StringList v jine procedure nez v jake je deklarovany. Je
> to mozne?
Procedure TMainForm.PomocnaProcedura( SL: TStringlist );
Begin
SL.Add('....');
end;
Procedure TMainForm.HlavniProcedura;
var StrList: TStringList;
Begin
StrList := TStringList.Create
try
PomocnaProcedura(StrList);
.....
......
finally
StrList.Free;
end;
end;
Treba takto nejak....
MB
Preruseni cinnosti
[*] Milos J. Hrach <delphi_konf(zv)post(tec)cz> - 20.7.2005 11:41:30
Zkus v jednoduche if podmionce pouzit starou dobrou
TurboPascalackou funkci KeyPressed
> Zdravim
> potrebuji ve smycce for := .... na stisk klavesy
> prerusit danou smycku.
--
Milos J. Hrach, D6 profi, WinXP Home
StringList v jine procedure
[*] Ing. Slavomir Timko <timko(zv)novisoft.sk> - 20.7.2005 11:31:29
> Zdravim,
>
>
> Potrebuji pouzit StringList v jine procedure nez v jake je deklarovany. Je
> to mozne?
>
>
> Muj navrh
>
>
> Procedure TMainForm.PomocnaProcedura( xxxx );
>
> Begin
>
> //Netusim jak se odkazovat
>
> //Pridavam, edituji a mazu radky v MujList
>
> //Napada me pointer, ale nevim jak
>
> End;
>
>
>
> Procedure TMainForm.HlavniProcedura;
>
> Var MujList : TStringList;
>
> Begin
>
> MujList := TStringList.Create;
>
> PomocnaProcedura( xxxx ); Tady volat proceduru s nejakym parametrem
> odkazujicim se na MujList
>
>
> // po navratu mohu normalne MujList pouzivat
>
>
> MujList.Free;
>
> End;
>
> Muzete mi nekdo poradit.
procedure TMainForm.HlavnaProcedura;
var
MyList: TStringList;
begin
MyList := TStringList.Create;
try
...
PomocnaProcedura(MyList);
...
finally
MyList.Free;
end;
end;
procedure TMainForm.PomocnaProcedura(aList: TStringList);
begin
//aList.Add('nieco');
//aList.Delete(1);
end;
>
>
> Predem vsem dekuji Novacek
>
>
>
>
StringList v jine procedure
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 20.7.2005 11:17:27
20.7.2005 delphi(zv)spst(tec)cz:
> Zdravim,
> Potrebuji pouzit StringList v jine procedure nez v jake je
> deklarovany. Je
> to mozne?
> Muj navrh
> Procedure TMainForm.PomocnaProcedura( xxxx );
> Begin
> //Netusim jak se odkazovat
> //Pridavam, edituji a mazu radky v MujList
> //Napada me pointer, ale nevim jak
> End;
> Procedure TMainForm.HlavniProcedura;
> Var MujList : TStringList;
> Begin
> MujList := TStringList.Create;
> PomocnaProcedura( xxxx ); Tady volat proceduru s nejakym parametrem
> odkazujicim se na MujList
> // po navratu mohu normalne MujList pouzivat
Pokud StringList deklarujes jako lokalni promennou nejake procedury,
nemuzes to takto pouzit.
Nadefinuj si promennou MujList : TStringList; v private sekci
formulare a z HlavniProcedura deklaraci vyhod
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
StringList v jine procedure
[*] Eva =?ISO-8859-1?Q?L=7FisicovA=3F?= <eva(zv)foresta(tec)cz> - 20.7.2005 11:13:26
napr.
Procedure TMainForm.PomocnaProcedura(aStringList: TStringList);
begin
aStringlist.Delete...
end;
Procedure TMainForm.HlavniProcedura;
Var MujList : TStringList;
Begin
MujList := TStringList.Create;
PomocnaProcedura( MujList );
end;
>Procedure TMainForm.PomocnaProcedura( xxxx );
>
>Begin
>
> //Netusim jak se odkazovat
>
> //Pridavam, edituji a mazu radky v MujList
>
> //Napada me pointer, ale nevim jak
>
>End;
>
>
--
Odchoz+AO0- zpr+AOE-va neobsahuje vir
Zkontrolov+AOE-no Antivirov+AP0-m syst+AOk-mem AVG.
Verze: 7.0.336 / Virov+AOE- b+AOE-ze: 267.9.2/52 - datum vyd+AOE-n+AO0-: 19
Preruseni cinnosti
[*] Martin Burle <mburle2(zv)volny(tec)cz> - 20.7.2005 11:05:26
> Zdravim
> potrebuji ve smycce for := .... na stisk klavesy prerusit danou smycku.
> Prubeh cinnsoti je monitorovan pomoci Gauge nebo ProgressBar
> Na jakou udalost je mozne odchytit stisk klavesy
Kdyz zobrazujes progress, tak by mohlo stacit obslouzit onKeyDown toho
formulare, ve smycce musis pak ale volat processmessages, staci treba pri
kazdem n-tem pruchodu. Pokud na tom formulari nejsou dalsi ovladaci prvky,
ktere nechces povolit, mohlo by to byt ono. Navic muzes ten formular opatrit
tlacitkem "Storno", dnesni uzivatele uz na klavesnici nepisou, klikaji ;)
MB
StringList v jine procedure
[*] delphi(zv)spst(tec)cz - 20.7.2005 11:01:25
Zdravim,
Potrebuji pouzit StringList v jine procedure nez v jake je deklarovany. Je
to mozne?
Muj navrh
Procedure TMainForm.PomocnaProcedura( xxxx );
Begin
//Netusim jak se odkazovat
//Pridavam, edituji a mazu radky v MujList
//Napada me pointer, ale nevim jak
End;
Procedure TMainForm.HlavniProcedura;
Var MujList : TStringList;
Begin
MujList := TStringList.Create;
PomocnaProcedura( xxxx ); Tady volat proceduru s nejakym parametrem
odkazujicim se na MujList
// po navratu mohu normalne MujList pouzivat
MujList.Free;
End;
Muzete mi nekdo poradit.
Predem vsem dekuji Novacek
Preruseni cinnosti
[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 20.7.2005 10:49:24
delphi(zv)kopr(tec)cz wrote:
> Zdravim
> potrebuji ve smycce for := .... na stisk klavesy prerusit danou smycku.
> Prubeh cinnsoti je monitorovan pomoci Gauge nebo ProgressBar
> Na jakou udalost je mozne odchytit stisk klavesy
>
function bKeyPressed(iKey: Integer): Boolean;
begin
Result := (GetAsyncKeyState(iKey) and (1 shl 31)) <> 0;
end;
kde iKey je virtual key klavesy
Preruseni cinnosti
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 20.7.2005 10:45:24
20.7.2005 delphi(zv)kopr(tec)cz:
> Zdravim
> potrebuji ve smycce for := .... na stisk klavesy prerusit danou
> smycku.
> Prubeh cinnsoti je monitorovan pomoci Gauge nebo ProgressBar
> Na jakou udalost je mozne odchytit stisk klavesy
Treba na OnKeyPress formulare. Ale znamena to vynuceni zpracovani
zprav v tom cyklu pomoci Apllication.ProcessMessages.
Ale neni to moc spravny postup - zdrzuje to zpracovani dat apod.
Spravny postup je vutvorit pro ten dlouho trvajici cyklus zvlastni
vlakno, tim nebude ovlivneno chovani aplikace a ty muzes klidne po
stisku klavesy nebo tlacitka nastavit to vlakno do stavu Terminate
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
Preruseni cinnosti
[*] delphi(zv)kopr(tec)cz - 20.7.2005 10:19:22
Zdravim
potrebuji ve smycce for := .... na stisk klavesy prerusit danou smycku.
Prubeh cinnsoti je monitorovan pomoci Gauge nebo ProgressBar
Na jakou udalost je mozne odchytit stisk klavesy
Diky za pomoc
Pavel
TJvZlibMultiple - Stream read error
[*] Dalibor <dalibor(zv)torola(tec)cz> - 20.7.2005 09:29:17
Ahoj,
pouzivam objekt TJvZlibMultiple na kompresi databeze firebird, tak aby se nasledne dala odeslat emailem.
Stava se mi, ze kdyz se tenhle soubor snazim dekompresovat, napise mi to Stream read error.
Jakoby soubor nebyl cely.
Nevite, jak k tomu muze dojit? Nestava se vam to taky?
D7Prof, FB.1.5.2
var
z : TJvZlibMultiple;
begin
z := TJvZlibMultiple.Create(nil);
files:=TStringList.Create;
Screen.Cursor := crHourGlass;
files.Add(edFileNameRestore.text);
try
z.OnProgress := DoProgress;
z.CompressFiles(Files,ChangeFileExt(edFileNameRestore.text,'.FBC'));
finally
z.Free;
files.free;
Screen.Cursor := crDefault;
end;
end;
Vyreseno: Synaser v C++ Builderu
[*] Ing. Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 19.7.2005 23:24:34
Nakopiroval jsem pasy, obj i hpp-cka do adresare projektu a uz to beha,
tak snad uz to nejak pujde, dekuji moc za nakopnuti, Tom
Synaser v C++ Builderu
[*] Ing. Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 19.7.2005 23:08:33
Zkousim to, ale mam asi trosku delsi vedeni, do adresare include\synaser
jsem si nakopiroval vsechny tri zdrojaky a pres dcc jsem vygeneroval ta
hpp-cka, nastavil cesty do projektu i prostredi.
Ale kdyz se to pokusim prelozit tak mi to pise 'Unresolved external'
TBlockSerial::~TBlockSerial(), TBlockSerial:: a TBlockSerial::TBlockSerial()
Netusim v cem jsem to zblbnul :-(
Tom
Synaser v C++ Builderu
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 19.7.2005 21:20:26
> Ahoj potreboval bych udelat jen jednoduchou aplikaci ktera posila a
> prijima data pres seriovy port, stahnul jsem si ze synapse balicek
> synaser, ale tam jsou pouze *.pas zdrojaky, nevite jestli by sli pouzit i
> v ceckovem builderu (ver. 6, ale muzu i ver.5) a v pripade ze ano jak? Moc
Pro inspiraci:
http://synapse.ararat(tec)cz/wiki/index.php?page=Article001
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
WEB: http://www.ararat(tec)cz/synapse - Synapse Delphi and Kylix TCP/IP
Library
Synaser v C++ Builderu
[*] Ing. Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 19.7.2005 20:58:24
Ahoj potreboval bych udelat jen jednoduchou aplikaci ktera posila a
prijima data pres seriovy port, stahnul jsem si ze synapse balicek
synaser, ale tam jsou pouze *.pas zdrojaky, nevite jestli by sli pouzit
i v ceckovem builderu (ver. 6, ale muzu i ver.5) a v pripade ze ano jak?
Moc dik.
Tom Krejzek
EOutOfMemory
[*] ing. Petr Borkovec <petrborkovec(zv)volny(tec)cz> - 19.7.2005 20:40:22
Firebird 1.02, Delphi 7, Windows XP Professional
Mam aplikaci, kde si uzivatel za behu programu pridava sloupce do taulky.
Ted jeden uzivatel potrebuje tech sloupcu cca 250. Po asi necele stovce se
objevi chyba EOutOfMemory. Aplikace se musi zavrit a znovu spustit a pak je
mozno pridavat dalsi sloupce - dalo by se tomu nejak zabranit?
Pri asi 240 sloupcich se objevi chyba EIBInterbaseError: too many
versions... - s tim by se dalo neco delat?
Predem dekuji za kazdou radu. Petr Borkovec
Sinea a traktor
[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 19.7.2005 18:44:14
> From: MaReK Olsavsky
>
> resime tisk sestav pomoci Sinea komponent (v Delphi 6 Professional).
> Protoze zakaznik ted meni vyplnovane formulare z volnych listu na
> traktor, potrebuji se zeptat, jestli na nas ciha pri pouziti Sinea
> komponent nejaka zaludnost (treba vytisteni prvniho listu a zbytek jen
> tak projede traktorem/tiskarnou), ci staci pouze nastavit rozmery
papiru
> a pak na tiskarnu posilat jednu sestavu za druhou.
Staci zmenit rozmer papiru, pripadne upravit rozvrzeni formulare.
Vaclav Krmela
ADMIN: OT: Zdravime Velkeho Bratra
[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 19.7.2005 16:28:02
Puvodni zprava ze dne 19.7.2005:
> neco pro pobaveni nebo zastraseni. Tato poptavka mi dnes prisla...
To sis asi Zbysku popletl konference, tohle neni konference HYDEPARK,
ale DELPHI. Ber to jako durazne napomenuti a vic tu nechci videt.
Petr Zahradnik, pocitacovy expert
==========================================================
Petr Zahradnik, Computer Laboratory
web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz
==========================================================
OT: Zdravime Velkeho Bratra
[*] Zbysek Hlinka <konference(zv)hlinka(tec)cz> - 19.7.2005 16:14:01
Zdravim,
neco pro pobaveni nebo zastraseni. Tato poptavka mi dnes prisla...
S pozdravem
Zbysek Hlinka
E-mail: hlinka zavin. hlinka(tec)cz
-----Original Message-----
Dobry den,
sme Slovenska obchodna spolocnost, s centralou v Bratislave a niekolkymi
predajnami po Slovensku. Hladame software na kontrolu aktivit zamestnancov
na nasich firemnych pocitacoch. Pozadujeme nasledovne funkcie:
- Presny zoznam navstivenych stranok a objem prenesenych dat z danej stranky
(podpora IE a Firefox)
- Zoznam a obsahy e-mailov odoslanych aj prijatych z daneho pocitaca
(podpora Outlook a Thunderbird, postacuje POP3)
- Zoznam spustenych programov a dokumentov
- Popripade aj moznost zaznamenavania stlacenych klaves v jednotlivych
oknach windowsu, alebo aj zaznamenavanie screenshotov
- Najdolezitejsie: Mechanizmus, ktorym by tieto informacie bolo mozne
centralizovat z pocitacov po celom Slovensku na jeden pocitac. Moznosti
su: - automaticke odosielanie tychto dat v urcitych intervaloch na e-mail
alebo FTP ako samostatnych suborov, ktore sa potom nacitaju do centralnej
aplikacie kde budu vyhodnotene
- Alebo aplikacia typu Klient-server. Jednotlive klientske aplikacie v
pravidelnom case oslovia urcitu IP, kde bude serverovska aplikacia a tej
odovdzaju data.
- Aplikacia musi vykonavat cinnost v uplnom utajeni bez moznosti odhalenia
alebo vypnutia
- Pre Windows XP a windows 98SE
- Cca 25-30 licencii (v pripade serveroveho riesenia + 1 serverova lic.)
V pripade, ze nam budete vediet ponuknut vhodne riesenie, prosim kontaktujte
ma na ...
Parametr programu
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 19.7.2005 15:19:57
> Omlouvam se za uplne pitomy dotaz ale dnes jsem nejak mimo.
> Jak do programu Delphi dostanu parametr z prikazu kterym se spustil?
Najdi si v helpu funkci ParamStr.
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
http://www.ararat(tec)cz/synapse/ - Ararat Synapse - TCP/IP Lib.
Parametr programu
[*] Skalsky Milan <skalsky(zv)komercpoj(tec)cz> - 19.7.2005 15:25:58
var Par1:string;
....
if ParamCount > 0 then
Par1 := ParamStr(1) ;
....
M.
-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Jan Fiala
> Omlouvam se za uplne pitomy dotaz ale dnes jsem nejak mimo.
> Jak do programu Delphi dostanu parametr z prikazu kterym se spustil?
Parametr programu
[*] horky(zv)cominn(tec)cz - 19.7.2005 15:19:57
> From: Kalhous [mailto:kalhous(zv)eu(tec)cz]
> Sent: Tuesday, July 19, 2005 3:12 PM
> Jak do programu Delphi dostanu parametr z prikazu kterym se spustil?
function ParamStr(Index: Integer): string;
V helpu je i priklad ...
--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP2
[mailto:horky(zv)cominn(tec)cz]
Parametr programu
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 19.7.2005 15:17:57
19.7.2005 Kalhous:
> Omlouvam se za uplne pitomy dotaz ale dnes jsem nejak mimo.
> Jak do programu Delphi dostanu parametr z prikazu kterym se spustil?
funkce ParamStr(), ParamCount()
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
Chm napoveda na W2k a WXP
[*] horky(zv)cominn(tec)cz - 19.7.2005 15:13:56
> From: Martin Schayna [mailto:mschayna(zv)aktis(tec)cz]
> Sent: Tuesday, July 19, 2005 2:08 PM
> horky(zv)cominn(tec)cz wrote:
> > Mame napovedu vytvorenou v chm formatu, pro vyvolani kontextove
> > napovedy pouzivame EHS komponenty. Na W98 se napoveda vyvolava OK
> > a drive na W2k a WXP take. Od jiste (nezname) doby vsak na W2k
> > a WXP prestalo fungovat zobrazeni prislusneho topicu, objevi se
> > jen hlaska:
> >
> > Akce byla zrusena.
> > Aplikace Internet Explorer se nemuze pripojit k pozadovane
> > webove strance. Stranka pravdepodobne neni docasne k dispozici.
>
> Tento problem je zpusoben instalaci aktualizace Windows KB896358
>
> Podrobny popis problemu a mozna reseni naleznete na tomto miste:
> http://support.microsoft.com/?scid=kb%3Bcs%3B896054
Diky, je to ono. Po povoleni prislusne zony zabezpeceni v registrech se stranky v HTMLHelpu opet zobrazuji v plne krase.
--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP2
[mailto:horky(zv)cominn(tec)cz]
Parametr programu
[*] Kalhous <kalhous(zv)eu(tec)cz> - 19.7.2005 15:11:56
Omlouvam se za uplne pitomy dotaz ale dnes jsem nejak mimo.
Jak do programu Delphi dostanu parametr z prikazu kterym se spustil?
Z.Kalhous
ToWare s.r.o.
tel.: 466 614 024
Chm napoveda na W2k a WXP
[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 19.7.2005 14:07:51
horky(zv)cominn(tec)cz wrote:
> Mame napovedu vytvorenou v chm formatu, pro vyvolani kontextove
> napovedy pouzivame EHS komponenty. Na W98 se napoveda vyvolava OK
> a drive na W2k a WXP take. Od jiste (nezname) doby vsak na W2k
> a WXP prestalo fungovat zobrazeni prislusneho topicu, objevi se
> jen hlaska:
>
> Akce byla zrusena.
> Aplikace Internet Explorer se nemuze pripojit k pozadovane
> webove strance. Stranka pravdepodobne neni docasne k dispozici.
Tento problem je zpusoben instalaci aktualizace Windows KB896358 ze
14.6.2005 na klientske stanici, napr. pri zapnute funkci
automatickych aktualizaci.
Podrobny popis problemu a mozna reseni naleznete na tomto miste:
http://support.microsoft.com/?scid=kb%3Bcs%3B896054
Martin Schayna
Komponenta pro zadavani casu
[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 19.7.2005 13:55:48
Zdravim,
nemate nekdo nejakou peknou komponentu pro zadavani casu.
Zkousel jsem TJvDBDateTimePickerEdit ale nemohu se
s tim nejak domluvit. Pokud uzivatel zada nejake data shazuje to aplikaci.
Potrebuju proste nejakou DBTime komponentu ktera funguje korektne,
a nejak rozumne. Hledam uz cca 2 hodiny pres Google a porad nic.
Moc bych byl vdecen za nejake nakopnuti.
S pozdravem Vaclav Halik
Sinea a traktor
[*] MaReK Olsavsky <orsm(zv)centrum(tec)cz> - 19.7.2005 13:37:46
Dobry den,
resime tisk sestav pomoci Sinea komponent (v Delphi 6 Professional).
Protoze zakaznik ted meni vyplnovane formulare z volnych listu na
traktor, potrebuji se zeptat, jestli na nas ciha pri pouziti Sinea
komponent nejaka zaludnost (treba vytisteni prvniho listu a zbytek jen
tak projede traktorem/tiskarnou), ci staci pouze nastavit rozmery papiru
a pak na tiskarnu posilat jednu sestavu za druhou.
Dekuji
MaReK Olsavsky
- --
MaReK "Penguin" Olsavsky
PHP Voodoo
private mail: orsm(zv)centrum(tec)cz
private web: http://orsm.wz(tec)cz
ICQ#: 160 178 925; MSN: orsm(zv)centrum(tec)cz; Skype: Penguin_007
tel.: +420-603-519-650; +420-775-154-689 (775-1-LINUX)
Na strance bylo napsano: "Optimalizovano pro Explorer 5, nebo lepsi".
Tak jsem presel na Mozilla Firefox --> http://firefox(tec)czilla(tec)cz/
Zaokrouhleni SQL
[*] lelicek(zv)volny(tec)cz - 19.7.2005 13:15:45
> Pri pouziti typu FLOAT nebo REAL mi SQL nevraci 0.3 ale
> 0.299999999 nebo
> 0.300000001.
> Mate nekdo podobnou zkusenost ?
>
Ahoj
to je v poradku, takove cislo (0.3) typu float s konecnym dvojkovym
rozvojem neexistuje. Pouzivej numeric na strane SQL, na strane
Delphi s tim stejne nic neudelas (BCD tam neni k smysluplnemu
pouzit=pouze 3 desetina mista) a bude provedena konverze do float.
Pavel
vytacene spojeni na win95
[*] Roman Bradac <roman.bradac(zv)fotoinfo(tec)cz> - 19.7.2005 12:45:42
Tady jsou dve funkce ktere pouzivam (je to opsane z knihy 1001 tipu pro
delphi nebo tak nejak), funguje to tak, ze jestli-ze existuje vytacene
pripojeni k internetu a pocitac neni k internetu pripojen (po siti, po
modemu, ...)pouzije se defaultni pripojeni k vytaceni, a to tak ze
automaticky bez zasahu uzivatele.
// v USES je zapotrebi uvest nekterou z techto casti, je to delsi doba co
jsem to delal tak ze si to nepamatuji.
{uses Windows, Classes, Graphics, Forms, Controls, Menus,
Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls, ImgList, StdActns,
ActnList, ToolWin, Registry, DIMime, IniFiles, SysUtils, WinInet,
IdFTP ;
}
function pripojit(): boolean;
var
LastError: DWORD;
begin
_hlaseni(0, TimeToStr(Time)+ ' Pripojovani k internetu.');
if not InternetAutoDial(2, 0) and
(GetLastError <> ERROR_USER_DISCONNECTION) then
begin
RaiseLastWin32Error;
_hlaseni(2, TimeToStr(Time)+ ' Chyba pri pripojeni k internetu.');
Result := false;
end
else
begin
_hlaseni(0, TimeToStr(Time)+ ' Pripojen k internetu.');
Result := true;
end;
end;
function Odpojit(): boolean;
begin
// ShowMessage('odpojit');
If InternetAutodialHangup(0) then
begin
_hlaseni(0, TimeToStr(Time)+ ' Odpojeno od internetu.');
Result := true;
end
else
begin
_hlaseni(2, TimeToStr(Time)+ ' Nezdarilo se odpojit od internetu!');
Result := false ;
end;
end;
procedure _hlaseni(ico: Integer = 0; text: string = '');
var
ListItem: TListItem;
begin
// tady neco pro zobrazeni nejake informace ...
end;
> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Ales Pavel
> Sent: Tuesday, July 19, 2005 10:11 AM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Re: vytacene spojeni na win95
>
> ahoj tak kluci vazne nevite jak na vytacene spojeni v
> 95tkach? Nejak mi to tu nechce pracovat, poradte mi prosim
> nutne to potrebuji
>
> Ales Pavel napsal(a):
>
> >Nevite nekdo jak vytacet a take ukoncovat spojeni modemem na win95?
> >Hlavne aby se neobjevoval zadny dialog a aby se to ukoncovalo po
> >vykonani akce.
> >Stale se mi najak nedari, vytocit s dialogem jeste tak, ale napr.
> >ukoncit nejde. Poradte prosim jsem uz z toho zoufalej...
> >
> >talpa
> >
> >
> >
> >
> >
>
>
>
Jak nejlepe z Delphi na Informix
[*] Jaromir Solar <solar(zv)magion(tec)cz> - 19.7.2005 12:11:40
> S Informixem jsme nikdy nepracovali.
> Ted asi budeme muset.
>
> Vim, ze na Informix je BDE native link - jenze jenom v Delphi Enterprise.
> Jak to nejlepe vyresit z Delphi Proffesional?
Pouzivame komponenty SqlDirect http://www.sqldirect-soft.com (a nejen
pro Informix).
Jarek
Zakazat kolecko mysi na komponente
[*] Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> - 19.7.2005 11:35:36
Ahoj,
potreboval bych nejak zakazat reakci na kolecko mysi v komponente TComboBox,
nebo TDBLookupcombo.
Poradi nekdo?
Dekuji
Dalibor Faltynek
Orgrez, a. s.
tel: +420 541 613 312
fax: +420 541 613 299
e-mail: dalibor.faltynek(zv)orgrez(tec)cz
Zaokrouhleni SQL
[*] Svoboda Jiri <jsvoboda(zv)lekis(tec)cz> - 19.7.2005 11:17:35
>Zdravim vsechny!
>Prosim o radu:
>potreboval bych nad SQL provest zaokrouhleni nasledne:
>const=8,24
>zaokr pozadovany vysledek
>0,3 8,1 (27*0,3)
>0,5 8 (16*0,5)
>1 8 (8*1)
>10 10 (10*1)
>100 100 (100*1)>Resil jste toto nekdo? Poradte prosim.
>Diky moc
>Vlasta
>D5,MSSQL2000
Snad Ti trochu pomohu,ale soucasne jsem narazil na jeden problem.
Nastin reseni:
declare (zv)zaokr decimal(38,8),
(zv)const float
select (zv)zaokr = 0.3 ,
(zv)const = 8.24
select ISNULL(NULLIF((zv)zaokr * Cast(((zv)const/(zv)zaokr) as integer),0),(zv)zaokr)
Je treba to mozna trosku upravit,nebot neznam pozadovane vysledky pro
zaokrouhleni >1 a < 10.Pro treba 5 ma vyjit co?
A ted problem.
Mam tuto definici
declare (zv)zaokr float
set (zv)zaokr = 0.3
select (zv)zaokr
Pri pouziti typu FLOAT nebo REAL mi SQL nevraci 0.3 ale 0.299999999 nebo
0.300000001.
Mate nekdo podobnou zkusenost ?
Jiri
MSSQL 2000,SP3
Jak nejlepe z Delphi na Informix
[*] Jiri Virt <virt(zv)volny(tec)cz> - 19.7.2005 11:07:34
Ja to v D5 Profi resim pomoci ODBC od INTERSOLV. je pravda, ze to neni free,
ale funguje to k plne spokojenosti.
Jirka Virt
Jak nejlepe z Delphi na Informix
[*] Jan Sebelik <honza(zv)haes(tec)cz> - 19.7.2005 11:03:33
S Informixem jsme nikdy nepracovali.
Ted asi budeme muset.
Vim, ze na Informix je BDE native link - jenze jenom v Delphi Enterprise.
Jak to nejlepe vyresit z Delphi Proffesional?
Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
= tel. 493 792 569, 493 792 931, 776 347 735
====================================
Chm napoveda na W2k a WXP
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 19.7.2005 11:01:33
19.7.2005 horky(zv)cominn(tec)cz:
> Zdravim vsechny !
> Mame napovedu vytvorenou v chm formatu, pro vyvolani kontextove
> napovedy pouzivame EHS komponenty. Na W98 se napoveda vyvolava OK a
> drive na W2k a WXP take. Od jiste (nezname) doby vsak na W2k a WXPprestalo fungovat zobrazeni prislusneho topicu, objevi se jen hlaska:
> Akce byla zrusena.
> Aplikace Internet Explorer se nemuze pripojit k pozadovane webovestrance. Stranka pravdepodobne neni docasne k dispozici.
> Je zajimave, ze kdyz chm soubor presunu na lokalni disk, ukaze se
> napoveda v plne krase. Chm soubor tedy neni narusen. Stejne se tochova na vice pocitacich, co mame ve firme.
> Vite nekdo, co s tim ?
Bude to nejaka "ochrana" M$ pred uzivatelem neschvalenym stajovanim
souboru. Typoval bych na nainstalovani nejake zaplaty do Windows.
CHM je v podstate HTML a je zobrazovano pomoci jadra IE (SHDocVW.DLL),
takze bych hledal nekde v nastaveni zabezpeceni IE
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
OT: Chm napoveda na W2k a WXP
[*] horky(zv)cominn(tec)cz - 19.7.2005 10:45:32
Zdravim vsechny !
Mame napovedu vytvorenou v chm formatu, pro vyvolani kontextove napovedy pouzivame EHS komponenty. Na W98 se napoveda vyvolava OK a drive na W2k a WXP take. Od jiste (nezname) doby vsak na W2k a WXP prestalo fungovat zobrazeni prislusneho topicu, objevi se jen hlaska:
Akce byla zrusena.
Aplikace Internet Explorer se nemuze pripojit k pozadovane webove strance. Stranka pravdepodobne neni docasne k dispozici.
Je zajimave, ze kdyz chm soubor presunu na lokalni disk, ukaze se napoveda v plne krase. Chm soubor tedy neni narusen. Stejne se to chova na vice pocitacich, co mame ve firme.
Vite nekdo, co s tim ?
--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP2
[mailto:horky(zv)cominn(tec)cz]
Zaokrouhleni SQL
[*] Vlastimil Zdenek <vlastimil.zdenek(zv)seznam(tec)cz> - 19.7.2005 10:35:31
Zdravim vsechny!
Prosim o radu:
potreboval bych nad SQL provest zaokrouhleni nasledne:
const=8,24
zaokr pozadovany vysledek
0,3 8,1 (27*0,3)
0,5 8 (16*0,5)
1 8 (8*1)
10 10 (10*1)
100 100 (100*1)
Resil jste toto nekdo? Poradte prosim.
Diky moc
Vlasta
D5,MSSQL2000
Firebird a skript modifikujici databazi
[*] Martin Burle <mburle2(zv)volny(tec)cz> - 19.7.2005 10:29:31
> Resil jsem to tak, ze jsem si zavolal dotaz na sloupec, ktery ve stare
> databazi jeste neni a ma byt doplnen. Odchytil jsem chybu pri OnCreate
> datoveho modulu (kdyz sloupec neni, vrati se chyba) a pokud se vyskytla
> chyba, tak jsem spustil SQL prikaz na doplneni sloupce.
To se da myslim vyresit elegantneji dotazem z rdb$relation_fields, nejak
takto:
-----------------------------------
function ColumnExists(const Table, Column: string): boolean;
.....
with Q do begin
SQL.clear;
SQL.Add('select RDB$FIELD_NAME from rdb$relation_fields where
RDB$FIELD_NAME='''+Column+''' and
RDB$RELATION_NAME='''+Table+'''');
Open;
Result:= RecordCount>0;
end;
end;
----------------------------------
MB
vytacene spojeni na win95
[*] Ales Pavel <aldik(zv)quick(tec)cz> - 19.7.2005 10:11:29
ahoj tak kluci vazne nevite jak na vytacene spojeni v 95tkach? Nejak mi
to tu nechce pracovat, poradte mi prosim nutne to potrebuji
Ales Pavel napsal(a):
>Nevite nekdo jak vytacet a take ukoncovat spojeni modemem na win95?
>Hlavne aby se neobjevoval zadny dialog a aby se to ukoncovalo po
>vykonani akce.
>Stale se mi najak nedari, vytocit s dialogem jeste tak, ale napr.
>ukoncit nejde. Poradte prosim jsem uz z toho zoufalej...
>
>talpa
>
>
>
>
Firebird a skript modifikujici databazi
[*] Ing. Miroslav Vopalecky <m.vopalecky(zv)tiscali(tec)cz> - 19.7.2005 07:53:15
Resil jsem to tak, ze jsem si zavolal dotaz na sloupec, ktery ve stare
databazi jeste neni a ma byt doplnen. Odchytil jsem chybu pri OnCreate
datoveho modulu (kdyz sloupec neni, vrati se chyba) a pokud se vyskytla
chyba, tak jsem spustil SQL prikaz na doplneni sloupce.
Viz
begin
try
IBQPRHpom.active:=false;
IBQPRHpom.Close;
IBQPRHpom.SQL.Text:='select MISTO from PROTOKOLH';
IBQPRHpom.Active:=true;
IBQPRHpom.Open;
except
//showmessage('chyba');
IBQPRHpom.active:=false;
IBQPRHpom.Close;
IBQPRHpom.SQL.Text:='ALTER TABLE PROTOKOLH ADD "MISTO" CHAR(50) CHARACTER
SET WIN1250 COLLATE PXW_CSY, ADD "DODATEK" BLOB SUB_TYPE 0';
IBQPRHpom.Active:=true;
IBQPRHpom.Open;
IBQPRHpom.Close;
end;
end;
|chci si udelat pri kazde modifikaci databaze skript, ktery mi
|u vsech zakazniku provede update struktury. Je mozne napr.
|ALTER TABLE ADD COL24 INTEGER nejak podminit, aby se
|neprovadel, kdyz ten sloupecek jiz v databazi existuje ?
|Klasicky if (not exists(select * from RDB$RELATION_FIELDS ...
|mi nefunguje. Nevite nekdo jestli se to neda udelat nejak
|jinak v ramci jednoho skriptu?
jak zjistit informace o mistnim nastaveni
[*] horky(zv)cominn(tec)cz - 19.7.2005 07:47:14
> From: likeapear [mailto:likeapear(zv)centrum(tec)cz]
>
> nevite o nejake funkci, ktera zjisti nastaveny jazyk
> operacniho systemu. Potrebuju tyto udaje:
>
> 1. Nazev jazyka, napr. "Cestina" nebo "Anglictina (Spojene staty)"
> 2. Oznaceni jazyka, napr. "cs_CZ" nebo "en_US"
> 3. Kodovou stranku, napr. 1250 nebo 1252
Podivej se na JCL: TJclLocaleInfo, tam je to vsechno, jen si to projit.
--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP2
[mailto:horky(zv)cominn(tec)cz]
Ukonceni zapisu dat do soketu
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 18.7.2005 17:52:15
> Jedine co vim jak to je udelany v Perlu, kde je na to je prikaz Shutdown.
> http://perldoc.perl.org/functions/shutdown.html
No, prekvapive se to dela take funkci Shutdown:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/shutdown_2.asp
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
WEB: http://www.ararat(tec)cz/synapse - Synapse Delphi and Kylix TCP/IP
Library
jak zjistit informace o mistnim nastaveni
[*] likeapear <likeapear(zv)centrum(tec)cz> - 18.7.2005 17:22:11
Skvele. Dekuji.
{likeapear}
----- Original Message -----
From: "Jan Fiala" <jan.fiala(zv)wo(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Monday, July 18, 2005 5:16 PM
Subject: Re: jak zjistit informace o mistnim nastaveni
| 18.7.2005 likeapear:
| > Ahoj,
|
| > nevite o nejake funkci, ktera zjisti nastaveny jazyk operacniho
| > systemu. Potrebuju tyto udaje:
|
| > 1. Nazev jazyka, napr. "Cestina" nebo "Anglictina (Spojene staty)"
| > 2. Oznaceni jazyka, napr. "cs_CZ" nebo "en_US"
| > 3. Kodovou stranku, napr. 1250 nebo 1252
|
| Podivej se na:
| http://vbnet.mvps.org/index.html?code/locale/localecountry.htm
| Prestoze je zdrojak ve VB, najdes tam seznam API funkci, ze kterych
| dostanes potrebne informace.
|
|
|
| --
| Jan Fiala
| mailto:jan.fiala(zv)wo(tec)cz
|
|
|
|
jak zjistit informace o mistnim nastaveni
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 18.7.2005 17:16:10
18.7.2005 likeapear:
> Ahoj,
> nevite o nejake funkci, ktera zjisti nastaveny jazyk operacniho
> systemu. Potrebuju tyto udaje:
> 1. Nazev jazyka, napr. "Cestina" nebo "Anglictina (Spojene staty)"
> 2. Oznaceni jazyka, napr. "cs_CZ" nebo "en_US"
> 3. Kodovou stranku, napr. 1250 nebo 1252
Podivej se na:
http://vbnet.mvps.org/index.html?code/locale/localecountry.htm
Prestoze je zdrojak ve VB, najdes tam seznam API funkci, ze kterych
dostanes potrebne informace.
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
chyba pri standardnim prirazeni
[*] Jitka Pizurova <jitka.pizurova(zv)nwt(tec)cz> - 18.7.2005 16:58:09
> Z toho popisu se neprosto neda rict kde je problem. Chce to videt presnou
> deklaraci te funkce v DLL a i priklad kodu jak se vola.
Tady je presny popis, co s tim stringem delam:
1. nactu si procedury a funkce z DLL knihovny
2. spustim nejake funkce
3. DLL zavola moji funkci - vse je poprve OK
4. DLL zavola moji funkci z teto funkce volam jednu proceduru a v te
procedure je ten deklarovany string a na nem to pada. Kdyz odstranim radek
BAText := 'neco'; tak to probehne uplne v pohode.
Kod z DLL bohuzel poslat nemuzu, protoze je psanej v C++ a ja nemam
zdrojaky. Navic pokud si mezi DLL a programem posilame nejaka data, typu
string, pak string prevadime do Unicodu.
Jitka
Ukonceni zapisu dat do soketu
[*] Frantisek Mlcoch <frantisek.mlcoch(zv)vsb(tec)cz> - 18.7.2005 16:44:08
Vyreseno,
stacilo na konec retezce prihodit nulovy znak.
F.
> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Frantisek Mlcoch
> Sent: Monday, July 18, 2005 4:30 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Ukonceni zapisu dat do soketu
>
> Dobry den,
>
> narazil jsem na problem s TCP. Mam TCP server (neni muj,
> nekdo ho napsal a
> ja ho musim pouzit), ktery ocekava na definovanem socketu
> prijem dat. Potud
> by to bylo docela v pohode. Jenze po odeslani dat (retezce) ceka na
> informaci o ukonceni odesilani dat a to je problem nevim jak
> mu takovou
> informaci v Delphi poslat.
>
> Jedine co vim jak to je udelany v Perlu, kde je na to je
> prikaz Shutdown.
> http://perldoc.perl.org/functions/shutdown.html
>
>
> Nevite nekdo co s tim???
>
>
> Diky, F.
>
>
>
>
>
vytacene spojeni na win95
[*] Ales Pavel <aldik(zv)quick(tec)cz> - 18.7.2005 16:32:05
Nevite nekdo jak vytacet a take ukoncovat spojeni modemem na win95?
Hlavne aby se neobjevoval zadny dialog a aby se to ukoncovalo po
vykonani akce.
Stale se mi najak nedari, vytocit s dialogem jeste tak, ale napr.
ukoncit nejde. Poradte prosim jsem uz z toho zoufalej...
talpa
Ukonceni zapisu dat do soketu
[*] Frantisek Mlcoch <frantisek.mlcoch(zv)vsb(tec)cz> - 18.7.2005 16:30:04
Dobry den,
narazil jsem na problem s TCP. Mam TCP server (neni muj, nekdo ho napsal a
ja ho musim pouzit), ktery ocekava na definovanem socketu prijem dat. Potud
by to bylo docela v pohode. Jenze po odeslani dat (retezce) ceka na
informaci o ukonceni odesilani dat a to je problem nevim jak mu takovou
informaci v Delphi poslat.
Jedine co vim jak to je udelany v Perlu, kde je na to je prikaz Shutdown.
http://perldoc.perl.org/functions/shutdown.html
Nevite nekdo co s tim???
Diky, F.
jak zjistit informace o mistnim nastaveni
[*] likeapear <likeapear(zv)centrum(tec)cz> - 18.7.2005 16:28:04
Ahoj,
nevite o nejake funkci, ktera zjisti nastaveny jazyk operacniho systemu. Potrebuju tyto udaje:
1. Nazev jazyka, napr. "Cestina" nebo "Anglictina (Spojene staty)"
2. Oznaceni jazyka, napr. "cs_CZ" nebo "en_US"
3. Kodovou stranku, napr. 1250 nebo 1252
Poradi nekdo?
Dekuji
{likeapear}
chyba pri standardnim prirazeni
[*] Daniel Rott <roxton(zv)seznam(tec)cz> - 18.7.2005 15:50:01
> BAText je string a je deklarovany ve volane procedure.
Skutecna chyba mohla nastat uz drive, nekde jinde,
a na prirazeni to zbuchne az v jejim dusledku. Tohle
lovit je dost problem, je potreba od pocatku psani
interfacu mezi aplikaci a dll pamatovat na pravidlo,
ze co je alokovano aplikaci nesmi dll menit a naopak.
Take je dulezite pamatovat na platnost ukazatelu
pri jejich vymene mezi aplikaci a dll, ukazatele na data
alokovana na halde jsou platne jen v dobe volani,
pokud si chci obsah uchovat, musim si udelat kopii.
To samozrejme plati i pro typ String (AnsiString).
Daniel
---------------------------------------------------------------
Some minor bugs/features fixed/added
chyba pri standardnim prirazeni
[*] Petr Vones <konference(zv)petrvones(tec)net> - 18.7.2005 15:42:01
From: "Jitka Pizurova" <jitka.pizurova(zv)nwt(tec)cz>
> rada bych se zeptala, jestli ma nekdo z vas zkusenost s tim, ze kdyz
> pracujete s nejakou DLL knihovnou, pada vam program na jednoduchem prirazeni
> typu:
>
> BAText := 'Sousedovy slepice zanasi na nasi zahradu ';
>
> nebo
>
> BAText := BAText + 'Sousedovy slepice zanasi na nasi zahradu ';
>
> nevite, co se s tim da delat? Diky
Z toho popisu se neprosto neda rict kde je problem. Chce to videt presnou
deklaraci te funkce v DLL a i priklad kodu jak se vola.
Petr Vones
chyba pri standardnim prirazeni
[*] Jitka Pizurova <jitka.pizurova(zv)nwt(tec)cz> - 18.7.2005 15:36:00
>> pracujete s nejakou DLL knihovnou, pada vam program na
>> jednoduchem prirazeni
>> typu:
>>
>> BAText := 'Sousedovy slepice zanasi na nasi zahradu ';
>>
> Mozna jeste kousek toho prikladu, jak je BAText deklarovany,...,
> neni to pchar ? jak je alokovany ?
BAText je string a je deklarovany ve volane procedure.
Jitka
chyba pri standardnim prirazeni
[*] lelicek(zv)volny(tec)cz - 18.7.2005 15:17:59
Od: "Jitka Pizurova" <jitka.pizurova(zv)nwt(tec)cz>
> pracujete s nejakou DLL knihovnou, pada vam program na
> jednoduchem prirazeni
> typu:
>
> BAText := 'Sousedovy slepice zanasi na nasi zahradu ';
>
Mozna jeste kousek toho prikladu, jak je BAText deklarovany,...,
neni to pchar ? jak je alokovany ?
Pavel
chyba pri standardnim prirazeni
[*] Jaroslav Pivonka <jpivonka(zv)centrum(tec)cz> - 18.7.2005 15:09:57
Pokud nevim, jak je to s memory managementem, pchary a dlouhymi stringy, pak
pada skoro vsechno. Jarda
----- Original Message -----
From: "Jitka Pizurova" <jitka.pizurova(zv)nwt(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Monday, July 18, 2005 2:05 PM
Subject: chyba pri standardnim prirazeni
> Zdravim vsechny,
>
> rada bych se zeptala, jestli ma nekdo z vas zkusenost s tim, ze kdyz
> pracujete s nejakou DLL knihovnou, pada vam program na jednoduchem
> prirazeni
> typu:
>
> BAText := 'Sousedovy slepice zanasi na nasi zahradu ';
>
> nebo
>
> BAText := BAText + 'Sousedovy slepice zanasi na nasi zahradu ';
>
> nevite, co se s tim da delat? Diky
>
> Jitka
>
>
>
>
chyba pri standardnim prirazeni
[*] Ludek <konference(zv)sales(tec)cz> - 18.7.2005 15:05:56
----- Original Message -----
From: "Jitka Pizurova" <jitka.pizurova(zv)nwt(tec)cz>
> rada bych se zeptala, jestli ma nekdo z vas zkusenost s tim, ze kdyz
> pracujete s nejakou DLL knihovnou, pada vam program na jednoduchem
prirazeni
> typu:
>
> BAText := 'Sousedovy slepice zanasi na nasi zahradu ';
>
> nebo
>
> BAText := BAText + 'Sousedovy slepice zanasi na nasi zahradu ';
>
Ahoj,
Problem muze byt v tom, ze DLL pouziva typ PChar.
Stringy v DLL <> stringy v Delphi
Ludek
chyba pri standardnim prirazeni
[*] Jan Sebelik <honza(zv)haes(tec)cz> - 18.7.2005 14:59:56
> rada bych se zeptala, jestli ma nekdo z vas zkusenost s tim, ze kdyz
> pracujete s nejakou DLL knihovnou, pada vam program na
> jednoduchem prirazeni
> nevite, co se s tim da delat?
Nevim.
Ale pozor na upozorneni na praci s typem string.
{ Important note about DLL memory management: ShareMem must be the
first unit in your library's USES clause AND your project's (select
Project-View Source) USES clause if your DLL exports any procedures or
functions that pass strings as parameters or function results. This
applies to all strings passed to and from your DLL--even those that
are nested in records and classes. ShareMem is the interface unit to
the BORLNDMM.DLL shared memory manager, which must be deployed along
with your DLL. To avoid using BORLNDMM.DLL, pass string information
using PChar or ShortString parameters. }
Podle meho soudu neni dobre s typem string vubec pracovat (jako s parametrem). Je to z pohledu Windows (jazyk C) nestandardni typ. A pokud pisu DLL, ktera by mela byt vyuzitelna z jinych prostredi, nez je Pascal, pak ho stejne pouzit nemohu. Takze PChar.
Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
= tel. 493 792 569, 493 792 931, 776 347 735
====================================
chyba pri standardnim prirazeni
[*] Jitka Pizurova <jitka.pizurova(zv)nwt(tec)cz> - 18.7.2005 14:05:52
Zdravim vsechny,
rada bych se zeptala, jestli ma nekdo z vas zkusenost s tim, ze kdyz
pracujete s nejakou DLL knihovnou, pada vam program na jednoduchem prirazeni
typu:
BAText := 'Sousedovy slepice zanasi na nasi zahradu ';
nebo
BAText := BAText + 'Sousedovy slepice zanasi na nasi zahradu ';
nevite, co se s tim da delat? Diky
Jitka
print sluzba
[*] Jan Novak <delfin4(zv)volny(tec)cz> - 18.7.2005 13:43:50
> predavany soubory pro tisk ve formatu HTML, RTF a obycejny
> TEXT ma to byt neco jako tiskarna k pokladne... ale hodne simple..
Simple neni nic.
Podivej se na napovedu k TPrinter - ve windowsu se tiskne tak, ze si
obrazek vyteckujes bod po bodu do canvasu.
Ale jsou komponenty tretich stran, tzv. generatory sestav (s Delphi se
dodava QReport, dale zkus googlit sinea, fastreport atd.) kde si
vzhled stranky naskladas pri tvorbe aplikace a za behu jen do
jednotlivych polozek dodas skutecna data.
No a kdyz na celou stranku das jen jednu html nebo rtf polozku (bacha,
nemusi to umet uplne kazdy 'generator'), muzes ji naplnit klidne i ze
souboru, mas svuj problem vyresen, dneska holt potrebujes kanon na
kazdeho vrabce.
Emacs IDE
[*] Benda Lukas <bendal(zv)volny(tec)cz> - 18.7.2005 13:25:48
Chtel bych se zeptat, jak poradne nastavit v Delphi IDE rozlozeni klaves
jako v Emacsu? Sice tam je mozno vybrat New IDE Emacs, ale uz
napr.CTRL+B mi vyvola Buffer list, Ctrl + L chce neco vyhledavat a
oznaceni zacatku bloku Ctrl + SPC, nebo Ctrl + (zv) nefunguji vubec, takze
nevim jak oznacit blok pro kopirovani.
Muze mi nekdo poradit co s tim?
print sluzba
[*] Martin Burle <mburle2(zv)volny(tec)cz> - 18.7.2005 10:47:36
> Budou mu predavany soubory pro tisk ve formatu HTML, RTF a obycejny
> TEXT ma to byt neco jako tiskarna k pokladne ... ale hodne simple..
Pro tisk txt hledej (treba na torry) TRawPrint, mozna najdes i neco free pro
tisk html atd. Mozna by ale bylo nejrozumejsi pouzit nejaky sikovny
generator sestav - napr. Fastreport umi html a tusim ze i rtf.
MB
print sluzba
[*] david.kopecek(zv)hacktrack(tec)com - 18.7.2005 10:29:35
Cau
sorry ze jsem to neupresnil
Budou mu predavany soubory pro tisk ve formatu HTML, RTF a obycejny
TEXT ma to byt neco jako tiskarna k pokladne ... ale hodne simple..
Tisknout se bude na lokalni tiskarnu pravdepodobne USB..
>> objekt kteremu predam soubor a on mi ho vytiskne ..
JN> V tom souboru je co? Primo retezec povelu pro nejakou konkretni
JN> (Epson?) tiskarnu? Nebo JPG obrazek? Nebo formatovany dokument, treba
JN> .RTF? Od toho se pak odviji dalsi dotazy: Tiskarna se ma vybirat z
JN> lokalnich (LPT COM, USB) nebo sitovych? Jak se maji urcit dalsi
JN> parametry tisku: orientace stojato/lezato, pocet kopii atd.
JN> Jinak soubor staci proste nakopirovat. Treba tak, ze nechas vykonat
JN> ShellExecute prikaz 'copy SOUBOR LPT1:'. Ale obavam se, ze tvuj
JN> problem to nevyresi.
Thanks David