Archív konference Delphi

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

SelectDirectory - umiestnenie

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 26.9.2002 16:09:49

No jasne... polovina je opsana odnekud z UDDF a druha ze zdrojaku VCL, neco
je taky z nejakeho Cckoveho programu, ne ze bych to vymyslel kompletne cele,
zase tak dobrej nejsem :-)))

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


Subject: Re: SelectDirectory - umiestnenie

Perfektne ..... mozem ten unit pouzit free .. aj do komercnej
aplikacie ???

Rickie

PS : urobil som si upravu ze ked je init dir sietovy tak ho neberiem
do
uvahy


Neviditelny ActiveX objekt

[*] p.sestak(zv)corag.sk - 26.9.2002 17:10:50

Zdravim,
potrebujem vytvorit Active X prvok, ktory bude neskor niekto pouzivat vo
VisualBasicu.
Je to specialny prvok/komponenta ktora je viditelna len v design time a v
run time je hidden.
Viem to realizovat ako komponentu do delphi, pretoze mam pristup k
designeru ale ak to urobim
ako ActiveX, tuto vyhodu ztratim. Viem ze to je mozne urobit : vid VSSpell
na zalozke ActiveX.
Vie niekto riesenie?

lospalos

Existuje opak onMouseMove?

[*] JiriKrakora(zv)skh(tec)cz - 26.9.2002 17:14:04

This is a multipart message in MIME format.
Dobry den, chtel bych se zeptat, jestli Delphi existuje neco jako
onMouseOut v JavaScriptu? Pouzivam onMouseMove na TImage a vypisuji pri
tom do StatusBaru pozici x, y. Jakmile vsak vyjedu z TImage, chtel bych,
aby to proste zmizelo. Je nejaka moznost?

Dekuji, Jirka.

Debug pro runtime balicky v Delphi6

[*] Petr P�a <drinjones(zv)seznam(tec)cz> - 26.9.2002 17:19:06

> A nevolas tu funkci driv, nez jsou vytvorene ty prvky, na ktere aplikuje ten
> skin? Mas tam neco jako "If OnControl<>nil"?
>
> Roman

Problem neni v tom, ze bych nemel ten TControl udelanej. Tak je divny
prave to, ze kdyz to spustim bez runtime balicku, tak vsechno
funguje, je to OK. Ale jakmile zaskrtnu vytvorit s RT balicky, tak se
to ... Proste balicku se nepreda ta TControl komponenta. V tom je ten
hacek. Jinak ta componenta uz davno je udelana...

Petr

______________________________________________________________________
Reklama:
Seznam Prace - Hledate praci nebo menite zamestnani? http://prace.seznam(tec)cz

TImage a skrolovani obrazku

[*] Peter Surovy <psurovy(zv)uevora.pt> - 26.9.2002 16:31:50

Ahoj

----- Original Message -----
From: JiriKrakora(zv)skh(tec)cz
Sent: Thursday, September 26, 2002 3:07 PM


>>Mohl by mi nekdo poradit, jak prinutit komponentu TImage, aby mi
skrolovala obrazek, ktery do ni nactu? Nikde jsem
--- musis ju vlozit do ScrollBoxu

AW: Access violation at address 0048B44A

[*] Burkovsky Ladislav <Ladislav.Burkovsky(zv)autinform.de> - 26.9.2002 17:53:21

Mozno pristupujes na dealokovanu instanciu.
O1,O2 : TObject
O1 := TObject.Create;
O2 := O1;
....
O1.Free;
....
O2.nieco a tu ti mozno pada.


Ladislav Burkovsky
--------------------------------

Betreff: Access violation at address 0048B44A


Je to rok, co jsem se za�al u�it Delphi. Sou�asn� jsem musel p�evz�t po sv�m
p�edch�dci v�t�� d�lko v Delphi v.5. Nejprve �dr�ba a drobn� �pravy, pak
dost velk� z�sah. Program mi te� v ur�it�m m�st� spadne s hl�kou : Project
Program.exe raised exception class EaccessViolation with message 'Access
violation at address 0048B44A in module Program.exe.Read of address
00000004'. Use Step or Run to continue.
a j� nejsem schopen na z�klad� chybov�ch hl�en� poznat, kde je chyba.
Krokov�n� p�es debuger mne zavede do syst�mu.

Byl by n�kdo ochoten mi pomoci? Pepa

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

Access violation at address 0048B44A

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 26.9.2002 17:57:26

Duvodu muze byt cela rada. Nealokovana pamet, nekorektni pretypovani,
prepsany kus pameti,... To se neda urcit bez blizsiho zkoumani. Mozna by
pomohl kus kodu, zkus poslat.

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
D&COMM s.r.o.
Korunova�n� 6
Praha 7
tel. +420724007234
Subject: Access violation at address 0048B44A

Je to rok, co jsem se za�al u�it Delphi. Sou�asn� jsem musel p�evz�t
po sv�m
p�edch�dci v�t�� d�lko v Delphi v.5. Nejprve �dr�ba a drobn� �pravy,
pak
dost velk� z�sah. Program mi te� v ur�it�m m�st� spadne s hl�kou :
Project
Program.exe raised exception class EaccessViolation with message
'Access
violation at address 0048B44A in module Program.exe.Read of address
00000004'. Use Step or Run to continue.
a j� nejsem schopen na z�klad� chybov�ch hl�en� poznat, kde je
chyba.
Krokov�n� p�es debuger mne zavede do syst�mu.


TImage a skrolovani obrazku

[*] JiriKrakora(zv)skh(tec)cz - 26.9.2002 18:22:26

This is a multipart message in MIME format.
To jsem asi trochu nepochopil. Vlozil jsem TImage do ScrollBoxu, ale nic
neskroluje. A nedokazu ho prinutit, aby alespon zobrazil ScrollBary.
Muzete mi poradit?

Jirka


Ahoj

----- Original Message -----
From: JiriKrakora(zv)skh(tec)cz
Sent: Thursday, September 26, 2002 3:07 PM


>>Mohl by mi nekdo poradit, jak prinutit komponentu TImage, aby mi
skrolovala obrazek, ktery do ni nactu? Nikde jsem
--- musis ju vlozit do ScrollBoxu

IB/FB - jde nejak udelat ENUM()?

[*] Pavel Cisar <pcisar(zv)users.sourceforge(tec)net> - 26.9.2002 18:30:40

Haj hou!

On 26 Sep 2002 at 11:05, Ing. Jiri SOKOL wrote:

> v databazi, jejich tabulkach bych chtel mit sloupce, ktere by mely mit hodnoty
> vymezene vyctem.
> U jinych databazi to jde pomoci ENUM(vycet).
> Jde neco podobneho i u FB/IB? Jak?
> Jestli ne, jak to resite?

Enum primo ne, ale vyctovy typ se da simulovat domenou (nejlepe, jde to
ale i primo na polozce v tabulce) s kontrolou CHECK a frazi IN. Pokud
budes souhlasit ze typ boolean je take vycet, tak tady je priklad
implementace v IB/FB:

create domain boolean
as char(1)
default 'N'
check(VALUE IN ('A','N')) ;

Definice vyctu muze byt samozrejme slozitejsi, mit formu negace apod.
Range se da delat pomoci BETWEEN. Staci zalistovat v dokumentaci k
prikazu CREATE DOMAIN.

Hodne zdaru
Pavel Cisar
Mobil: 0724 281429
http://www.ibphoenix(tec)cz
Vse co potrebujete pro Firebird a InterBase

Serializable xan na IB/FB (was: Neprerusena ciseln

[*] Pavel Cisar <pcisar(zv)users.sourceforge(tec)net> - 26.9.2002 18:30:40

Haj hou!

On 26 Sep 2002 at 9:00, Petr Fejfar wrote:

> From: "Pavel Cisar" <pcisar(zv)users.sourceforge.net>
>
> > Ano, existuje. Nazyva se sice vetsinou u kazdeho systemu jinak, ale
> > existuje. U InterBase/Firebirdu se jmenuje SNAPSHOT TABLE STABULITY,
> > ale stejneho efektu by slo dosahnout i doplnujicim RESERVING u prosteho
> > SNAPSHOT.
>
> Hm, ted jsem z toho uz uplnen gogo ;-) Odkud to pochazi, tenhle nazev?

Dokumentace IB/FB. Tyto nazvy / klicova slova se pouzivaji v ESQL
(embedded SQL), v DSQL (dynamic SqL pouzivane napr. v IBX) jsou parametry
nazvane jinak, a jsou to ty co se ti namixuji v dialogu component editoru
TIBTransaction.

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

Eventy v IB, jak je osetrit

[*] Pavel Cisar <pcisar(zv)users.sourceforge(tec)net> - 26.9.2002 18:55:46

Haj hou!

Reakce na udalost kterou popisujes se dela hned v eventu na komponente
TIBEvent ? Zpracovani / prijem eventu by mel byt co nejkratsi, protoze se
provadi v samostatnem vlaknu. I kdyz si ted nejsem jisty implementaci v
soucasnem IBX (nebo co pouzivas), zda nahodou nesynchronizuje osetreni do
hlavniho vlakna. Tak jako tak bych doporucil (pokud si to muzes dovolit z
casovych duvodu) nastavit pouze priznak zmeny, a skutecne zpracovani
(vyber dat atd.) provadet v OnIdle aplikace.

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

Delphi a DialUp

[*] Roman Newman <r.newman(zv)zmail.sk> - 26.9.2002 19:26:21

Zdravi m vsetkych

Potreboval by som poradit ako sa da z Delphi vyvolat okno "telefonicke
pripojenie" a ako sa
da naopak telefonicke pripojenie zhodit, totiz to potrebujem aby sa moja
aplikacia pripojila
cez Dial Up na net stiahla udaje a potom zavesila.

Vdaka

Roman Newman

TImage a skrolovani obrazku

[*] Peter Surovy <psurovy(zv)uevora.pt> - 26.9.2002 18:33:13

Ahoj
najskor: neposielaj maily v HTML
lebo okrem inych zlych veci Ti asi napise admin.:-)

>----- Original Message -----
>From: JiriKrakora(zv)skh(tec)cz
>Sent: Thursday, September 26, 2002 5:22 PM

>To jsem asi trochu nepochopil. Vlozil jsem TImage do ScrollBoxu, ale nic
neskroluje.
-- tak sprav toto:
ScrollBox1.HorzScrollBar.Range:=Image1.Width;
ScrollBox1.VertScrollBar.Range:=Image1.Height;

potom nastav vo vlastnostiach ScrollBoxu v Object Inspectore
AutoScroll na true // aj ked to nie je nutne

HorzScrollBar a VertScrollbar vlastnosti Visible na true
a ked chces aby sa Ti obrazok posuval spolu
s tym stvorcekom tak aj tracking na true.

S pozdravom
Peter Surovy

TImage a skrolovani obrazku

[*] Roman Newman <r.newman(zv)zmail.sk> - 26.9.2002 19:34:14

>To jsem asi trochu nepochopil. Vlozil jsem TImage do ScrollBoxu, ale nic
neskroluje. A nedokazu ho >prinutit, aby alespon zobrazil ScrollBary. Muzete
mi poradit?

ScrollBox zobrazi ScroolBary len vtedy ak objekt ktory je vnom presahuje
jeho velkost. Takze
ak date na plochu ScrollBox a nastavite Width a Height na 100 a vlozite don
objekt (napriklad TImage)
a Width, alebo Height tohto TImage bude vetsi ako 100 ScroolBary sa sami
zobrazia a bude sa dat posuvat.

Roman Newman


Distribuce & kompilace vice balicku komponent naje

[*] Viliam Mlich <vmlich(zv)mbox.vol(tec)cz> - 26.9.2002 19:35:15

>> apod. to neni optimalni. (i kdyz RX & upgrade ... ;-)

> RXLib ma upgrade od firmy Polaris. Upravy ale byly
> delany asi jen pro Delphi5.

Na disku s Delphi 7 je tiez nejaky RX:

=== cut begin ==
RX Library 2.75 conversion to Delphi 7, v1.0
(based on conversion by SGB Software)
from Project JEDI (http://jvcl.sourceforge.net)
=== cut end ==

TImage a skrolovani obrazku

[*] Luk�s Marek - 26.9.2002 20:09:03

Ahoj

----- Original Message -----
From: JiriKrakora(zv)skh(tec)cz

To jsem asi trochu nepochopil. Vlozil jsem TImage do ScrollBoxu, ale nic
neskroluje. A nedokazu ho prinutit, aby alespon zobrazil ScrollBary. Muzete
mi poradit?

U TImage uprav vlastnost AutoSize na True

Lukas Marek

spusteni SQL skriptu nad FB

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 26.9.2002 20:20:16

Ahoj,
potreboval bych z aplikace spustit skript s nekolika dotazy SQL ulozenymi v
textovem souboru, ktere mohou byt oddeleny podobne jako v IB Consoli, tj.
strednikem nebo necim nastavenym pomoci SET TERM. Prozatim to vypada, ze to
budu muset "sackovat" rucne pomoci nalezeni oddelovace, vystrizeni dotazu,
spusteni, nalezeni dalsiho atd.
Neni to uz nekde hotove? Nebo neda se to nejak jinak jednoduse spoustet?

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

pack v Access-e

[*] Erik Salaj <winsoft(zv)stonline.sk> - 26.9.2002 21:31:27

> zdravim, da sa nejako skomprimovat databaza v Accesse?
> D6->ADO->ODBC->office2000

pomocou JRO, pohladaj v archive, uz to tu bolo

Erik

Delphi a DialUp

[*] MUDr. Patrik VALENTA <valentapat(zv)volny(tec)cz> - 26.9.2002 21:50:30

uses WinInet ....

......
var IResult,i,n: Integer;
Con:string;
Vysledek:boolean;
begin
Memo1.lines.Add('Prob�h� p�ipojen�');
Con:=Econ;
IResult:=InternetDial(GetActiveWindow,Pchar(Con),0,
//INTERNET_DIAL_UNATTENDED
(zv)Fconnection,0);
if IResult<>0 then
Memo1.lines.Add('Spojen� se nezda�ilo')
....................


----- Original Message -----
> Potreboval by som poradit ako sa da z Delphi vyvolat okno "telefonicke
> pripojenie"

Scrollovani v Listboxech podruhe

[*] Tomis <tomis(zv)mail(tec)cz> - 26.9.2002 22:02:02

Zdravim,
na formulari mam 4 listboxy. Naplnim je daty tak aby se u kazdeho obevila
scrollovaci tlacitka(dve sipecky na pravem boku listboxu). A tedka potrebuju
dosahnout toho, aby se po kliknuti
na sipku pro skrolovani dolu(nebo nahoru) u jednoho z listbox� , posunuly
vsechny
listboxy o stejny pocet
zaznamu smerem dolu(nebo nahoru). Doufam ze me nekdo pochopil, a ze mi
pomuze Diky Tomas Sladek

IB a spojovani retezcu

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 27.9.2002 07:21:51

Dobre ranko,

pokousel jsem se, bohuzel marne, v SELECTu a pak i v ulozene procedure o scitani retezcu. Chtel
jsem neco na tento zpusob:

SELECT Jmeno+' '+Prijmeni
FROM Osoby

Interbase 6.0.1 tvrdi, ze tyto vyrazy nepodporuje. Bohuzel scitani retezcu zrejme nepodporuje ani
u promennych v ulozenych procedurach. Delam neco spatne nebo to vazne nejde?

Diky,

Karel Rys

QuickReport: tQRCompositeReport a vlastni nahled

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 27.9.2002 07:24:30

A jeste jednou dobre ranko,

je mozne nejakym zpusobem dostat Composite report do vlastniho nahledu? Ve verzi, co mam v Delphi
5, je CompositeReport potomkem tComponent - jak moudre od jeho tvurcu...

Karel Rys

Existuje opak onMouseMove?

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 27.9.2002 07:34:58

> Dobry den, chtel bych se zeptat, jestli Delphi existuje neco jako
> onMouseOut v JavaScriptu?


Ahoj,

Windows maji udalosti pro vstup a vystup mysi na/z komponent.
Hledej neco ve stylu WM_MOUSEENTER apod. a k tomu nejaky
protikus, ted bez delphi nevim. Ovsem obsluhu do konkretniho
formu si budes muset udelat sam, nastesti je to trivialni a jde to najit
v helpu.

Je to jen obecny nastrel, uznavam, treba nekdo nabidne neco
konkretnejsiho.

David Lebeda

CoMarshalInterface vraci E_INVALIDARG

[*] Richard Kejval <kejval.delphi(zv)centrum(tec)cz> - 27.9.2002 08:01:19

> Abych pravdu rekl, framework okolo ConnectionPoints jsem zavrhl. Duvod:
> univerzalni, ale bohuzel dost nepruhledne => neco na tom odladit chce
pevne
> nervy. Dale pri provozu po siti v tomto modelu naskakuji nezanedbatelne
casy
> pri volani metod jednotlivych callback rozhrani. Nakonec jsem skoncil u
> toho, ze si velmi jednoduchou obsluhu realizuju sam, s tim, ze volani
> kazdeho registrovaneho callback interfacu (Sink) mam delane ze specialniho
> vlakna. Taky to ma samozrejme svoje => nelze pouzit pro vetsi mnozstvi
> klientu (radove max. desitky), ale to mi staci. Vyhodou je, ze to ma
clovek
> docela pod kontrolou a volani callback interfacu mi bezi "paralelne", coz
je
> pro me dost podstatne.

S ConnectionPoints mam take dost spatne zkusenosti, nemohl bys to upresnit
na nejakem kratickem prikladku nebo mi to poslat na soukromy mail
kejvalr(zv)volny(tec)cz

Diky za ochotu

S pozdravem
Richard Kejval

spusteni SQL skriptu nad FB

[*] Richard Kejval <kejval.delphi(zv)centrum(tec)cz> - 27.9.2002 08:12:46

> Ahoj,
> potreboval bych z aplikace spustit skript s nekolika dotazy SQL ulozenymi
v
> textovem souboru, ktere mohou byt oddeleny podobne jako v IB Consoli, tj.
> strednikem nebo necim nastavenym pomoci SET TERM. Prozatim to vypada, ze
to
> budu muset "sackovat" rucne pomoci nalezeni oddelovace, vystrizeni dotazu,
> spusteni, nalezeni dalsiho atd.
> Neni to uz nekde hotove? Nebo neda se to nejak jinak jednoduse spoustet?

V IBX je to komponenta IBSript nebo IBSQLParser

S pozdravem
Richard Kejval

Jak vytvorit novy TEdit na pozici kurzoru?

[*] Zdenek Brejsa <prog(zv)hjsoft(tec)cz> - 27.9.2002 08:57:40

Musis nastavit Edit.Parent := Self nebo nejaky panel, proste musis urcit na
cem se ma ten edit zobrazit

> Mam Form1 a na nem onMouseDown event s nasledujicim kodem:
>
> procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
> Shift: TShiftState; X, Y: Integer);
> var
> Edit: TEdit;
> begin
> Edit := TEdit.Create(self);
> try
> Edit.Visible := True;
> Edit.Color := clRed;
> Edit.Enabled := True;
> Edit.Name := 'TEST';
> Edit.BorderStyle := bsSingle;
> Edit.Width := 20;
> Edit.Height := 5;
> Edit.Left := x;
> Edit.Top := y;
> Edit.Show;
> showmessage('Jsem uvnitr a vytvarim Edit');
> finally
>
> end;
> end;
>
> Predpokladal jsem, ze to bude fungovat, ale nefunguje. Muj TEdit to sice
> vytvori (to poznam podle jmena), ale ja ho nevidim.

Access violation at address 0048B44A

[*] eNca <delphi(zv)enca(tec)cz> - 27.9.2002 09:03:57



aaa wrote:

>Je to rok, co jsem se za�al u�it Delphi. Sou�asn� jsem musel p�evz�t po sv�m
>p�edch�dci v�t�� d�lko v Delphi v.5. Nejprve �dr�ba a drobn� �pravy, pak
>dost velk� z�sah. Program mi te� v ur�it�m m�st� spadne s hl�kou : Project
>Program.exe raised exception class EaccessViolation with message 'Access
>violation at address 0048B44A in module Program.exe.Read of address
>00000004'. Use Step or Run to continue.
> a j� nejsem schopen na z�klad� chybov�ch hl�en� poznat, kde je chyba.
>Krokov�n� p�es debuger mne zavede do syst�mu.
>
>

Spus� ten program z IDE. Za b�hu programu je v IDE dostupn� polo�ka v
menu Search/Find error. Zadej tam adresu, na kter� do�lo k chyb� (v tv�m
p��pad� tedy

$0048B44A). Kurzor by se m�l nastavit na ��dek ve zdrojov�m k�du, na kter�m k vyvol�n� v�jimky do�lo. Dost pom��e, pokud se alespo� r�mcov� vyzn� v assambleru - v tom p��pad� si otev�i okno CPU a tam uvid� p�esn�, pro� k chyb� do�lo. I bez assambleru se na to ale d� p�ij�t po prostudov�n� paskalsk�ho k�du v t�sn�m okol� m�sta, na kter� uk�zal Find error. Z v��e uveden�ho hl�en� je velmi pravd�podobn� (s�z�m 2:1 :-), �e p�istupuje� k vlastnosti nealokovan�ho objektu, tedy n�co jako:

type
a = class(TObject)
cosi: integer;
end;

var a: TMyObject;
i: integer;
begin
i := a.cosi;

Na posledn�m ��dku dojde k uveden� chyb�, proto�e 'a' je v tuto chv�li nil (tedy nula) a adresa property cosi je (a + 4) = 00000004 - a to je pam�, kter� tv�mu procesu nepat�� a p��stup na n� zp�sob� v��e uveden� chybov� hl�en�.

eNca


prepinace

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 27.9.2002 09:16:23

> Odes�latel: Robert TOTH <toth(zv)lc.vszp.sk>
> Alternativne - Viete mi poradit co v delphi 5.0 mam urobit aby som mohol
> volat api funkcie Firebirdu, kt. su na pridanie uzivatela a obdobne na
> archivaciu a restore?
Komponenty na palete InterBase Admin
IBBackupService, IBRestoreService, IBSecurityService

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

Query - COUNT

[*] LUKES V�clav <lukes(zv)ans(tec)cz> - 27.9.2002 09:17:35

Tohle funguje myslim dobre:
Query.Active := false;
Query.SQL.Clear;
Query.SQL.Add('select count(*) PocetVet from tabulka');
Query.Open;

ShowMessage(IntToStr(Query['PocetVet']));
V.

-----Original Message-----
From: Peter Surovy [mailto:psurovy(zv)uevora.pt]
Sent: Thursday, September 26, 2002 2:41 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Query - COUNT


Ahoj

----- Original Message -----
From: "Roman" <sw.maurice(zv)seznam(tec)cz>
Sent: Saturday, October 26, 2002 6:50 AM
>
> Pouzil bych radeji count(prvek) as jmenoprvku. Polozku COUNT_OF_P mas
> vytvorenou asi ve Fields...

--no mal si pravdu nebolo to sice vo Fields
ale v Chart- e ktory bol naviazany na to Query
ale tak ci on je mi divne ze na jednom compe
to islo a na druhom nie.

IB/FB - jde nejak udelat ENUM()?

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 27.9.2002 09:19:27

> Odes�latel: Ing. Jiri SOKOL <JS-delphi(zv)seznam(tec)cz>
> v databazi, jejich tabulkach bych chtel mit sloupce, ktere by mely mit hodnoty
> vymezene vyctem.
> U jinych databazi to jde pomoci ENUM(vycet).
> Jde neco podobneho i u FB/IB? Jak?

Nejlepe
(jde to i u definice jednotliveho pole, ale domena je lepsi)

create domain dph decimal(8,2) check (value in (0, 0.05, 0.22));

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

CustomDocumentProperties

[*] Tomas Folprecht <tomas(zv)apkfolprecht(tec)cz> - 27.9.2002 09:32:09

Kdepak:

Undeclared identifier: 'TDocumentProperties'.

Jdu badat dal.

Tomas Folprecht

PS: K te unite: kdyz jsem si dal na form komponentu TWordDocument, myslel jsem, ze se tam doplni potrebne unity
automaticky. Zmylil jsem se. Ma chyba.

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of ing. Jan Fiala
> Sent: Thursday, September 26, 2002 2:07 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Re: CustomDocumentProperties
>
>
> Zkus si tam doplnit "T" pred to DocumentProperties, cili
> DocProps:= WDoc.CustomDocumentProperties as TDocumentProperties;
>
> K tem svym predchozim radam, skutecne jsem nemohl tusit, ze nemas v
> USES unitu knihovny :-(
>
> --
> ing. Jan Fiala
> mailto:jan.fiala(zv)iol(tec)cz
>
> 26.9.2002 Tomas Folprecht:
> > Aha, ten typ je v unite Office97.pas, takze stacilo ji pridat do uses.
> > Uz to lze zkompilovat, vypada to smysluplne, ale na radce:
> > DocProps:= WDoc.CustomDocumentProperties as DocumentProperties;
> > to vyhodi chybu EIntfCastError "Interface not supported".
>
>

Neviditelny ActiveX objekt

[*] Alexandr Stefek <alex(zv)scova.vabo(tec)cz> - 27.9.2002 09:41:30

> Zdravim,
> potrebujem vytvorit Active X prvok, ktory bude neskor niekto pouzivat vo
> VisualBasicu.
> Je to specialny prvok/komponenta ktora je viditelna len v design time a v
> run time je hidden.
> Viem to realizovat ako komponentu do delphi, pretoze mam pristup k
> designeru ale ak to urobim
> ako ActiveX, tuto vyhodu ztratim. Viem ze to je mozne urobit : vid VSSpell
> na zalozke ActiveX.
> Vie niekto riesenie?
>
> lospalos
>
v ClassFactory pridej OLEMISC_INVISIBLEATRUNTIME
OLEMISC_SIMPLEFRAME or OLEMISC_ACTSLIKELABEL or
OLEMISC_INVISIBLEATRUNTIME,
melo by to fungovat

Alexandr STEFEK

Existuje opak onMouseMove?

[*] Alexandr Stefek <alex(zv)scova.vabo(tec)cz> - 27.9.2002 09:45:26

> > Dobry den, chtel bych se zeptat, jestli Delphi existuje neco jako
> > onMouseOut v JavaScriptu?
>
> Ahoj,
>
> Windows maji udalosti pro vstup a vystup mysi na/z komponent.
> Hledej neco ve stylu WM_MOUSEENTER apod. a k tomu nejaky
> protikus, ted bez delphi nevim. Ovsem obsluhu do konkretniho
> formu si budes muset udelat sam, nastesti je to trivialni a jde to najit
> v helpu.
>
> Je to jen obecny nastrel, uznavam, treba nekdo nabidne neco
> konkretnejsiho.
>
> David Lebeda
The WM_MOUSELEAVE message is posted to a window when the cursor leaves the
client area of the window specified in a prior call to TrackMouseEvent.

A window receives this message through its WindowProc function.
Alexandr STEFEK

Jak vytvorit novy TEdit na pozici kurzoru?

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 27.9.2002 09:48:26

> Odes�latel: Jir� G�th <jiri_goth(zv)gordic(tec)cz>
> Na tom formu zavolej metodu InsertControl( Edit). Tato metoda by mela vlozit
> editacni policko na formular.

Panel.InsertControl(Edit)
je totez jako
Edit.Parent:=Panel

Co je l�pe citelne?

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

IB versus MSSQL

[*] bardon <bardon(zv)akord-soft(tec)cz> - 27.9.2002 10:18:19

Proc? Ja prece v okamziku volani klasickeho MS SQL triggeru mam k dispozici
jak stav pred zmenou, tak i stav po zmene a tudiz mohu delat historii v
pohode na jednom miste. Pripoustim ze s jednim nemalym omezenim . Od vezre 7
vyse nemam k dispozici BLOB polozky pred zmenou (jen po zmene). Do verze 6.5
k dispozici byly. Ale delat historii BLOBu je casto pakarna a kdyz to
potrebuji, vystacim si v pohode se stavem po zmene.

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Behalf Of Kalus Jozef Ing.
Sent: Thursday, September 26, 2002 1:35 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: RE: IB versus MSSQL


AFTER a BEFORE sa daju vynikajuco pouzit na zaznamenavanie historie :o)

IB versus MSSQL

[*] Kr�l Jirka <admin(zv)printo(tec)cz> - 27.9.2002 10:29:40

Pro uplnost pripominam, ze MS SQL 2000 umi take INSTEAD OF triggers coz moznosti rozviji jeste dale

J.

-----Original Message-----
From: bardon [mailto:bardon(zv)akord-soft(tec)cz]
Sent: Friday, September 27, 2002 10:18 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: RE: IB versus MSSQL


Proc? Ja prece v okamziku volani klasickeho MS SQL triggeru mam k dispozici jak stav pred zmenou, tak i stav po zmene a tudiz mohu delat historii v pohode na jednom miste. Pripoustim ze s jednim nemalym omezenim . Od vezre 7 vyse nemam k dispozici BLOB polozky pred zmenou (jen po zmene). Do verze 6.5 k dispozici byly. Ale delat historii BLOBu je casto pakarna a kdyz to potrebuji, vystacim si v pohode se stavem po zmene.

QuickReport a Acces Violation

[*] <tomasand(zv)quick(tec)cz> - 27.9.2002 10:50:30

Dobry den,

uz par dni zapasim s jednim problemem.
Delam sestavy v QR (verze 3.0, D5). Po nekolika
(nekdy 2, nekdy 50) spustenich bud te stejne,
nebo i ruznych sestav mi pri zavirani Preview
zahlasi chybu "Access violation ..." a pri dalsim
pokusu o Preview hlasi chybu "Komponenta o nazvu
QRPreviev jiz existuje" a po odklikani mnoha
erroru se nakonec tesne pred ukoncenim exace
objeni hlaska "runtime error 217".
Vsechny sestavy mam zdedene z jednoho predka
(templu), na nem je komponenta TQuickRep a nejake
QRLabely. Muze toto mit vliv na nekorektni
chovani QR ??
Ma nekdo podobne zkusenosti, ci snad nekdo vi,
jak tuhle vec odstranit.

Diky za kazdou dobrou zpravu

Tomas Andrasko
programator
A.S.E.I. spol. s r.o.
Ostrava
+420 597450291
CZ

prepinace

[*] Milan Tome� <milan.tomes(zv)haida(tec)cz> - 27.9.2002 11:10:57

Jen bych dodal, ze u verze CS tyto komponenty (resp. overenu mam pouze
TIBSecurityService) NEFUNGUJI a musi se to udelat pres API (deprecated).
Narazili jsme na nejake problemy (konkretne se jedna o ukladani uzivatelu s
ceskymi znaky), takze jsme to udelali tak, ze zalozime uzivatele s heslem,
ale jmeno a prijmeni ukladame klasickym Update Users.....

S pozdravem

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

> > Odes�latel: Robert TOTH <toth(zv)lc.vszp.sk>
> > Alternativne - Viete mi poradit co v delphi 5.0 mam urobit aby som mohol
> > volat api funkcie Firebirdu, kt. su na pridanie uzivatela a obdobne na
> > archivaciu a restore?
> Komponenty na palete InterBase Admin
> IBBackupService, IBRestoreService, IBSecurityService
> Honza

Instalace RX

[*] LUKES V�clav <lukes(zv)ans(tec)cz> - 27.9.2002 11:10:02

Ahoj,

prosim Vas o radu. Mam D6 Ent. a rad bych si nainstaloval RX komponenty.
Ztahnul jsem si RXLib verzi 2.75, release 1.1
Udelal jsem par kroku dle popisu v TXT souboru (zkompiloval jsem tri baliky), ale dal jsem out.

Diky za radu

V.

Pritomnost tabulky v databaze

[*] Ludo Fulop <kexo(zv)ynet.sk> - 27.9.2002 11:12:54

Zdravim, ako sa da cez ADO zistit, ci sa v databaze nachadza nejaka
konkretna tabulka?
TTable ma vlatnost Exists, ale v TADOTable nic take nie je...

D6 + Access 2000

Ludo Fulop

OLE

[*] David Li�ka <david(zv)thsoft(tec)cz> - 27.9.2002 11:22:18

Ahoj,
uz delsi dobu nemuzu prijit na jednu vec v technologii OLE. Muj problem spociva v tom, ze kdyz ve svem projektu otevru objekt (treba Word) v kontejneru OLE, Wordu chybi v menu polozka Soubor a tlacitka jako Novy, Otevrit nebo Ulozit jsou disable. Nevim jak toto uvest do normalniho stavu. Predem dekuji za jakoukoli odpoved

David Liska

Access violation at address 0048B44A

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 27.9.2002 11:24:09

> Odes�latel: eNca <delphi(zv)enca(tec)cz>
> Spus� ten program z IDE. Za b�hu programu je v IDE dostupn� polo�ka v
> menu Search/Find error. Zadej tam adresu, na kter� do�lo k chyb� (v tv�m
> p��pad� tedy
Napadu na toto tema uz tu bylo hodne, asi vsechny byly rozumne.
Problem je, ze zadny z nich nevede k stoprocentnimu nalezeni chyby (ani FindError).

Pridam tedy jeste jeden:
Spust ten program z IDE, na vhodnych mistech si nastav breakpointy.
Pokud k tomu "Access Violation" dojde mezi breakpointem xx a xx+1, analyzuj (krokuj) kod mezi temito breakpointy. Dojdes k volani procedury PPP, ktera chybu zpusobi.
Pokracuj rekurzivne uvnitr procedury PPP.
Nakonec naleznes na konkretnim radku nektery z problemu, ktere byly v paralelnich odpovedich popsany (nejcasteni neinicializovany objekt, neinicializovana pamet).

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

Bug tracker

[*] Tomas Bihary <delphi(zv)wige-mic(tec)cz> - 27.9.2002 11:25:23

Preji dobry den!

Ve firme zvazujeme pouziti nejakeho systemu na spravu
chyb v applikacich a pozadavku od uzivatelu.

Pozadujeme centralni spravu dat, tistene i souborove reporty
(nejlepe XML, HTML).
Dale bychom ocenili pristup z webu, eventuelne prostrednictvim
exportu/importu dat.

Rad bych se zeptal zda nema nekdo s podobnymi systemy zkusenost.

Take by me zajimala vase zkusenost s produkty:
Advanced Bughound - http://www.scp-solutions.com/
BugCollector - http://www.bugcollector.com/

Dekuji za vase odpovedi

Tomas Bihary


QuickReport a Acces Violation

[*] Benes Jaroslav <JBenes(zv)cpoj(tec)cz> - 27.9.2002 11:38:48

Ahoj,
Volej spis PreviewModal.
Jaro B.

-----Original Message-----
> uz par dni zapasim s jednim problemem.
> Delam sestavy v QR (verze 3.0, D5). Po nekolika
> (nekdy 2, nekdy 50) spustenich bud te stejne,
> nebo i ruznych sestav mi pri zavirani Preview
> zahlasi chybu "Access violation ..." a pri dalsim
> pokusu o Preview hlasi chybu "Komponenta o nazvu
> QRPreviev jiz existuje" a po odklikani mnoha
Ahoj,
mam podobne zkusenosti s QR v D4. Ty zpravy nezobrazuju, ale zapisuju do

IB a spojovani retezcu

[*] Petr Palicka <palicka.petr(zv)seznam(tec)cz> - 27.9.2002 11:41:57

> SELECT Jmeno+' '+Prijmeni
> FROM Osoby

tak zkus neco jako:

SELECT Jmeno || ' ' || Prijmeni
FROM Osoby

kde || jsou dve trubky (pipe)

peca

QuickReport a Acces Violation

[*] Rumcajs - konference <konrum(zv)seznam(tec)cz> - 27.9.2002 11:42:25

Zkuste si stahnout novou verzi 3.5 - ja mam po problemech
> > Dobry den,
> >
> > uz par dni zapasim s jednim problemem.
> > Delam sestavy v QR (verze 3.0, D5). Po nekolika
> > (nekdy 2, nekdy 50) spustenich bud te stejne,
> > nebo i ruznych sestav mi pri zavirani Preview
> > zahlasi chybu "Access violation ..." a pri dalsim
> > pokusu o Preview hlasi chybu "Komponenta o nazvu
> > QRPreviev jiz existuje" a po odklikani mnoha
> > erroru se nakonec tesne pred ukoncenim exace
> > objeni hlaska "runtime error 217".
> > Vsechny sestavy mam zdedene z jednoho predka
> > (templu), na nem je komponenta TQuickRep a nejake
> > QRLabely. Muze toto mit vliv na nekorektni
> > chovani QR ??
> > Ma nekdo podobne zkusenosti, ci snad nekdo vi,
> > jak tuhle vec odstranit.
>
> Ahoj,
> mam podobne zkusenosti s QR v D4. Ty zpravy nezobrazuju, ale zapisuju do
> logu. Neprisel jsem na to cim to je (fixloval jsem vsechno mozne), dela to
i
> u uplne jednoduchy sestav hlavne na W9x (dle konstalace hvez). Na W2k to
> byla snad ok... nevim, QR uz moc nepouzivam...
>
> Roman



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

IB versus MSSQL

[*] Blazek Jaroslav <Jaroslav.Blazek(zv)access-it(tec)cz> - 27.9.2002 12:12:23

Ahoj,

> jozef.kalus(zv)spordat.sk 26.9.02 13:35 >>>
>AFTER a BEFORE sa daju vynikajuco pouzit na zaznamenavanie historie :o)

No je videt, ze s MSSQL nedelas
Hodnoty zmenene mam k dispozici v triggeru a to v tabulkach Inserted a Deleted a
ty jsou k pouziti prave jen v triggeru a historie jde timto zpusobem krasne delat


S pozdravem

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

CoMarshalInterface vraci E_INVALIDARG

[*] Malecek Ondrej <ondrej.malecek(zv)radom-cz(tec)cz> - 27.9.2002 12:14:53

No, abych byl presny, puvodne se tu mluvilo o ConnectionPoints pri pouziti
pres DCOM. V takovem tom "klasickem" pojeti (napr. event system, ktery ti
generuje wizard Delphi pro ActiveX komponentu) asi ConnectionPoints vyhovi.
Tu drive zminovanou obdobu pouzivam tedy v pripadech, kdy se mi
ConnectionPoints zdaji "ne uplne vhodne".

Napr:
TClientCallbackItem = class( TThread)
m_Callback : IClientCallback;
procedure MakeCallbackCall;
Procedure Execute;
end;

TServer = classs( ..., IServer)
private
procedure NotifyCallbacks;
m_CallbackList : TList;
public
procedure RegisterCallback( IClientCallback);
end;

procedure TServer.RegisterCallback( extCallback);
var m_Callback : TClientCallbackItem;
begin
m_Callback := TClientCallbackItem.Create( extCallback);
end;

procedure TServer.NotifyCallbacks;
var intI;
begin
for intI := 0 to ( m_CallbackList.Items.Count - 1) do
begin
TClientCallbackItem( m_CallbackList.Items[i]).MakeCallbackCall;
end;
end;

procedure TClientCallbackItem.MakeCallbackCall;
begin
PostThreadMessage( ThreadID, MSG_MAKE_CALLBACK_CALL, 0, 0);
end;

procedure TClientCallbackItem.Execute
begin
while GetMessage( msg) do
begin
case msg.message of
MSG_MAKE_CALLBACK_CALL:
begin
m_Callback.Notify;
end;
end;
end;
end;

Vyse uvedene nutno brat pouze jako prikladek (urcite to nepujde prelozit
:-))). Pri volani
IServer.RegisterCallback se preda rozhrani, ktere ma server volat pri vzniku
udalosti (samozrejme je potreba uvnitr volat QueryInterface a takove ty
opicarny) Vytvori se instance TThread (TClientCallbackItem), ktera bude
obsluhovat volani (pozor na marshalling mezi apartmentem, kde se instance
vytvari a apartmentem toho threadu, ktery pak bude obsluhovat volani) a
zaradi se do seznamu registrovanych callbacku. Jak se provadi volani
callbacku pri vzniku udalosti je uz asi zrejme. Vlastni volani metod
IClientCallback je pak provadeno vzdy v k tomu ucelu vytvorenemu threadu =>
zejmena na siti se jednotliva volani mezi sebou neovlivnuji.

O :-))

> -----P�vodn� zpr�va-----
> S ConnectionPoints mam take dost spatne zkusenosti, nemohl bys to upresnit
> na nejakem kratickem prikladku


QuickReport & Access violation pri ukonceni sestav

[*] <tomasand(zv)quick(tec)cz> - 27.9.2002 12:19:04

Dobry den,

uz par dni zapasim s jednim problemem.
Delam sestavy v QR (verze 3.0, D5). Po nekolika
(nekdy 2, nekdy 50) spustenich bud te stejne,
nebo i ruznych sestav mi pri zavirani Preview
zahlasi chybu "Access violation ..." a pri dalsim
pokusu o Preview hlasi chybu "Komponenta o nazvu
QRPreviev jiz existuje" a po odklikani mnoha
erroru se nakonec tesne pred ukoncenim exace
objeni hlaska "runtime error 217".
Vsechny sestavy mam zdedene z jednoho predka
(templu), na nem je komponenta TQuickRep a nejake
QRLabely. Muze toto mit vliv na nekorektni
chovani QR ??
Ma nekdo podobne zkusenosti, ci snad nekdo vi,
jak tuhle vec odstranit.

Diky za kazdou dobrou zpravu

Tomas Andrasko
programator
A.S.E.I. spol. s r.o.
Ostrava
+420 597450291
CZ


paging file?

[*] Peter Surovy <psurovy(zv)uevora.pt> - 27.9.2002 12:09:18

Ahoj
dostavam takuto hlasku:
Unable to create process. The paging file is to small
for this operation to complete.

Viem co to sposobuje : mam
record ktoreho jedna polozka je
typu pole - array[1..200] of TPnts;

TPnts je dalsi record ktory sa ale sklada iba z dvoch zloziek
typu double.

Problem vznika ked do tohoto pola potrebujem nacitat
cca 20 000 prvkov. Teda dva problemy:
1.Program mi neoznami chybu ked nacitavam do 200
prvkoveho pola 20 000 prvkov zrejme ich tam prepisuje stale dokola.

Pada mi to ale logicky ked chcem nacitat prvok vacsi ako 200

2. Tak ma napadlo zvysit hodnotu rozsahu toho pola na 20 000
co mi ale zarve tu hlasku na zaciatku.

Ako by ste to riesili vy?
Resp. neda sa nejako zmenit hodnota paging file?
Dik Peter

IB versus MSSQL

[*] Lstiburek Pavel <Lstiburek(zv)ceb(tec)cz> - 27.9.2002 13:09:18

Pouze si dovolim podotknout, ze INSTEAD OF triggers je mozno vytvaret i pro
view a to umoznuje jeste vetsi kouzla.

Pavel

> Od: Kr�l Jirka [mailto:admin(zv)printo(tec)cz]
> Pro uplnost pripominam, ze MS SQL 2000 umi take INSTEAD OF
> triggers coz moznosti rozviji jeste dale
>
> J.
>
> From: bardon [mailto:bardon(zv)akord-soft(tec)cz]
> Proc? Ja prece v okamziku volani klasickeho MS SQL triggeru
> mam k dispozici jak stav pred zmenou, tak i stav po zmene a
> tudiz mohu delat historii v pohode na jednom miste.
> Pripoustim ze s jednim nemalym omezenim . Od vezre 7 vyse
> nemam k dispozici BLOB polozky pred zmenou (jen po zmene). Do
> verze 6.5 k dispozici byly. Ale delat historii BLOBu je casto
> pakarna a kdyz to potrebuji, vystacim si v pohode se stavem po zmene.
>
>

Neviditelny ActiveX objekt

[*] p.sestak(zv)corag.sk - 27.9.2002 13:39:11

Please respond to delphi-l(zv)clexpert(tec)cz
Sent by: delphi-l-owner(zv)clexpert(tec)cz
To: <delphi-l(zv)clexpert(tec)cz>
cc:

Subject: Re: Neviditelny ActiveX objekt


>> Zdravim,
>> potrebujem vytvorit Active X prvok, ktory bude neskor niekto pouzivat
vo
>> VisualBasicu.
>> Je to specialny prvok/komponenta ktora je viditelna len v design time a
v
>> run time je hidden.
>> Viem to realizovat ako komponentu do delphi, pretoze mam pristup k
>> designeru ale ak to urobim
>> ako ActiveX, tuto vyhodu ztratim. Viem ze to je mozne urobit : vid
VSSpell
>> na zalozke ActiveX.
>> Vie niekto riesenie?
>>
>> lospalos
>>

>v ClassFactory pridej OLEMISC_INVISIBLEATRUNTIME
>OLEMISC_SIMPLEFRAME or OLEMISC_ACTSLIKELABEL or
>OLEMISC_INVISIBLEATRUNTIME,
>melo by to fungovat

>Alexandr STEFEK

To je presne to co som potreboval. Taketo info v helpe jeden nenajde.

dakujem

palo sestak

ziskani hadle ikony

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 27.9.2002 13:53:45

Zdravim

delam si takovej malickej filebrowser a potrebuji pro novy item v
listview priradit ikonu souboru

vim ze se to dela pomoci funkce shgetfileinfo

le me to nejak nefunguje

Jo a listview1 ma vlastnost ViewStyle vsReports

item:=Listview1.items.add;
item.caption:='';

SHGetFileInfo(PChar(findfile3.files[i]), 0, SFI, SizeOf(SFI), SHGFI_ICON+SHGFI_SHELLICONSIZE+SHGFI_SMALLICON);
item.imageindex:=SFI.hIcon;

ziskani hadle ikony

[*] Kalus Jozef Ing. <jozef.kalus(zv)spordat.sk> - 27.9.2002 14:00:36

ListDokument
ListVybPriecinok
su TListView

a robim to takto (mozno ze niekto ma iny kus zdrojaku, odniekial som ho
vytrhol uz si nepamatam odkial):

var
LargeSysIcons, SmallSysIcons: TImageList;
....
....
....
procedure TFormMain.LoadSysImages;
var
SysIL: uint;
SFI: TSHFileInfo;
begin
LargeSysIcons := TImageList.Create(FormMain.Owner);
SysIL := SHGetFileInfo('',0,SFI,SizeOf(SFI),SHGFI_SYSICONINDEX or
SHGFI_LARGEICON);
if SysIL <> 0 then
begin
LargeSysIcons.Handle := SysIL;
LargeSysIcons.ShareImages := TRUE;
end;
ListDokument.LargeImages := LargeSysIcons;
ListVybPriecinok.LargeImages := LargeSysIcons;

SmallSysIcons := TImageList.Create(FormMain.Owner);
SysIL := SHGetFileInfo('',0,SFI,SizeOf(SFI),SHGFI_SYSICONINDEX or
SHGFI_SMALLICON);
if SysIL <> 0 then
begin
SmallSysIcons.Handle := SysIL;
SmallSysIcons.ShareImages := TRUE;
end;
ListDokument.SmallImages := SmallSysIcons;
ListVybPriecinok.SmallImages := SmallSysIcons;
end;


joka


-----Original Message-----
From: Vymazal Milan [mailto:vymazal.milan(zv)seznam(tec)cz]
Sent: Friday, September 27, 2002 1:54 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: ziskani hadle ikony


Zdravim

delam si takovej malickej filebrowser a potrebuji pro novy item v
listview priradit ikonu souboru

sequencer (generator) IB/FB

[*] Kalus Jozef Ing. <jozef.kalus(zv)spordat.sk> - 27.9.2002 14:06:41

nazdar,

potrebujem vytvorit v IB/FB sequencer pre id (myslim ze sa to tam nazyva
Generator), teda vytvorit ho viem ale akosi ho neviem priradit k danemu
fieldu, t.j. ked dam insert aby sa mi automaticky inkrementovalo id v db
(moze byt aj s medzerami v ciselnej rade :o)) )

takze priklad:

tabulka:
CREATE TABLE "users" (
"id" INTEGER NOT NULL, -- tu niekde mi to chyba :o)
"login" VARCHAR(50) CHARACTER SET NONE NOT NULL,
"password" VARCHAR(50) CHARACTER SET NONE NOT NULL,
);

generator:
CREATE GENERATOR "user_id";
SET GENERATOR "user_id" TO 0;

nuz a co teraz ????

skusam to v IBExperte, tam je moznost vo vlastnostiach pola priradit
generator, ale ignoruje mi to a nic nepriradi :o(((

v Oracle sa musi zavoal generator rucne a potom sa vratena hodnota vklada do
id, ale tu by som privital keby sa to dalo stylom MS Access

help my

joka

sequencer (generator) IB/FB

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 27.9.2002 14:24:05

> potrebujem vytvorit v IB/FB sequencer pre id (myslim ze sa to
> tam nazyva Generator), teda vytvorit ho viem ale akosi ho
> neviem priradit k danemu fieldu, t.j. ked dam insert aby sa mi
> automaticky inkrementovalo id v db (moze byt aj s medzerami
> v ciselnej rade :o)) )
>
> takze priklad:
>
> tabulka:
> CREATE TABLE "users" (
> "id" INTEGER NOT NULL, -- tu niekde mi to chyba :o)
> "login" VARCHAR(50) CHARACTER SET NONE NOT NULL,
> "password" VARCHAR(50) CHARACTER SET NONE NOT NULL,
> );

Vytvor si trigger, ktorym zavolas funkciu GEN_ID (vygenerujes nove cislo) a
vysledok vlozis do zaznamu, napriklad takto:

CREATE GENERATOR GEN_USERS;

SET TERM !!;

CREATE TRIGGER NEW_USERS FOR USERS
BEFORE INSERT POSITION 0
AS
BEGIN
IF ((NEW.ID IS NULL) OR (NEW.ID = 0)) THEN
NEW.ID = GEN_ID(GEN_USERS, 1);
END!!

SET TERM ;!!

Je to popisane v dokumentacii k InterBase, napr. v Data Definition Guide.

HTH
TOndrej

Version info for console application

[*] Roland Turcan <rolo(zv)sedas.sk> - 27.9.2002 14:40:42

Hello Delphi CZ konferencia!

Preco nie je mozne pridat v D5 %subj% aj ked sa ho snazim oklamat, cez
editovanie DOF file tak si to on opravi naspat.

Ako ?

--
Best regards, TRoland

QuickReport a Acces Violation podruhe

[*] <tomasand(zv)quick(tec)cz> - 27.9.2002 14:50:57

Ahoj,

a) dela mi to i na W2000PCZ.

b) Volam PreviewModal, dokonce jsem si
pomoci "RegisterPreviewClass" zaregistroval
vlasni prohlizecku, ale dela to i s puvodni od
QR, i tou mou.

Asi by to chtelo zasahnout nekam do QR zdroju,
jak jsem se dival, pouzivani try finally (except)
jim nejak moc nevonelo ....

Tomas Andrasko

----- P�vodn� zpr�va -----
Od: Benes Jaroslav <JBenes(zv)cpoj(tec)cz>
Datum: p�tek, 27. z��� 2002 v 11:38 dop.
P�edm�t: RE: QuickReport a Acces Violation

> Ahoj,
> Volej spis PreviewModal.
> Jaro B.
>

Existuje opak onMouseMove?

[*] JiriKrakora(zv)skh(tec)cz - 27.9.2002 14:52:11

This is a multipart message in MIME format.
>The WM_MOUSELEAVE message is posted to a window when the cursor leaves
the
>client area of the window specified in a prior call to TrackMouseEvent.

>A window receives this message through its WindowProc function.
>Alexandr STEFEK


Bohuzel jsem nic jako WM_MOUSELEAVE v helpu nenasel. Nasel jsem jenom
WM_MOUSEMOVE, WM_MOUSEFIRST, WM_MOUSELAST.

sequencer (generator) IB/FB

[*] <tomasand(zv)quick(tec)cz> - 27.9.2002 14:55:13

Ja to delam takto:

set term /;
create procedure mojeprocedure
returns (NEW_ID_K numeric(12,0))
as
begin
new_id_k = GEN_ID(GEN_ID_KONTAKT, 1);
EXIT;
end;/
set term ;/

Ve Tvem pripade bych to napsal do before insert
triggeru


Tomas Andrasko


----- P�vodn� zpr�va -----
Od: "Kalus Jozef Ing." <jozef.kalus(zv)spordat.sk>
Datum: p�tek, 27. z��� 2002 v 2:06 odp.
P�edm�t: sequencer (generator) IB/FB

> nazdar,
>
> potrebujem vytvorit v IB/FB sequencer pre id
> (myslim ze sa to tam nazyva
> Generator), teda vytvorit ho viem ale akosi
> ho neviem priradit k danemu
> fieldu, t.j. ked dam insert aby sa mi
> automaticky inkrementovalo id v db
> (moze byt aj s medzerami v ciselnej rade
> :o)) )
>
> takze priklad:
>
> tabulka:
> CREATE TABLE "users" (
> "id" INTEGER NOT NULL, -- tu
> niekde mi to chyba :o)
> "login" VARCHAR(50) CHARACTER SET
> NONE NOT NULL,
> "password" VARCHAR(50) CHARACTER SET
> NONE NOT NULL,
> );
>
> generator:
> CREATE GENERATOR "user_id";
> SET GENERATOR "user_id" TO 0;
>
> nuz a co teraz ????
>
> skusam to v IBExperte, tam je moznost vo
> vlastnostiach pola priradit
> generator, ale ignoruje mi to a nic
> nepriradi :o(((
>
> v Oracle sa musi zavoal generator rucne a
> potom sa vratena hodnota vklada do
> id, ale tu by som privital keby sa to dalo
> stylom MS Access
>
> help my
>
> joka
>

Existuje opak onMouseMove?

[*] Cejka Pavel <cejka(zv)proteco(tec)cz> - 27.9.2002 15:20:08

> Bohuzel jsem nic jako WM_MOUSELEAVE v helpu nenasel. Nasel jsem jenom
> WM_MOUSEMOVE, WM_MOUSEFIRST, WM_MOUSELAST.

Mam dojem, ze je to CM_MOUSELEAVE.

Cau Pavel

Version info for console application

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

From: "Roland Turcan" <rolo(zv)sedas.sk>
> Preco nie je mozne pridat v D5 %subj% aj ked sa ho snazim oklamat, cez
> editovanie DOF file tak si to on opravi naspat.

Version info neni nic jineho nez resouce. Ten Console Applicaion wizard
zapomina do projektu pridat ten resource, takze tam pridej {$R *.res}

Petr Vones

CustomDocumentProperties - problem vyresen

[*] Tomas Folprecht <tomas(zv)apkfolprecht(tec)cz> - 27.9.2002 15:30:11

Tak koho to zajima, prisel jsem na to.

nasel jsem to na http://www.djpate.freeserve.co.uk/AutoWord.htm

Musi to byt takhle:

var
Doc: OleVariant; // v tom je cely figl, pristupovat k tomu jen a jen jako k OleVariantu a nijak jinak
...
Doc := WordApplication.ActiveDocument;
// je zajimave, ze nefunguje primo Doc:=WordDocument

Doc.CustomDocumentProperties.Add('Cislo_dokumentu',false,msoPropertyTypeString,'123456/2002');
Label1.Caption := Doc.CustomDocumentProperties['Cislo_dokumentu'].Value;
Label2.Caption := Doc.BuiltInDocumentProperties['Title'].Value;
Doc.BuiltInDocumentDocumentProperties[wdPropertyAuthor].Value:='Tomas'
atd atd atd jak proste, mily Watsone

Zadna jina kombinace alfanumerickych znaku mi nefungovala. A verte, ze jsem jich vyzkousel vetsinu.

Rozhodopadne dekuji vsem, kteri se na reseni podileli. Moc jste mi pomohli vse pochopit.

Tomas


> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Tomas Folprecht
> Sent: Friday, September 27, 2002 9:32 AM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: RE: CustomDocumentProperties
>
>
> Kdepak:
>
> Undeclared identifier: 'TDocumentProperties'.
>
> Jdu badat dal.
>
> Tomas Folprecht
>
> PS: K te unite: kdyz jsem si dal na form komponentu TWordDocument, myslel jsem, ze se tam doplni potrebne unity
> automaticky. Zmylil jsem se. Ma chyba.
>
> > -----Original Message-----
> > From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of ing. Jan Fiala
> > Sent: Thursday, September 26, 2002 2:07 PM
> > To: delphi-l(zv)clexpert(tec)cz
> > Subject: Re: CustomDocumentProperties
> >
> >
> > Zkus si tam doplnit "T" pred to DocumentProperties, cili
> > DocProps:= WDoc.CustomDocumentProperties as TDocumentProperties;
> >
> > K tem svym predchozim radam, skutecne jsem nemohl tusit, ze nemas v
> > USES unitu knihovny :-(
> >
> > --
> > ing. Jan Fiala
> > mailto:jan.fiala(zv)iol(tec)cz
> >
> > 26.9.2002 Tomas Folprecht:
> > > Aha, ten typ je v unite Office97.pas, takze stacilo ji pridat do uses.
> > > Uz to lze zkompilovat, vypada to smysluplne, ale na radce:
> > > DocProps:= WDoc.CustomDocumentProperties as DocumentProperties;
> > > to vyhodi chybu EIntfCastError "Interface not supported".
> >
> >
> >
>
>

Fce z C - DLL

[*] Blazek Jaroslav <Jaroslav.Blazek(zv)access-it(tec)cz> - 27.9.2002 15:30:38

Ahoj,

mam fci v Cckovskem DLL

extern "C" __declspec(dllexport) bool __fastcall MojeFce(const char *AStringIN, char *AStringOUT);

" MojeDLL.dll >> MojeDLL.def "

LIBRARY MOJEDLL.DLL

EXPORTS
(zv)MojeFce (zv)1 ; MojeFce

a potrebuju ji volat v Delphi
zkousel jsem toto, ale nejak to nechodi, stale mi to hlasi ze dana fce v DLL neni

A. function MojeFce(const AStringINr:PChar; AStringOUT:PChar):boolean; cdecl; external 'MojeDLL.dll';
nebo
B. function MojeFce(const AStringINr:PChar; AStringOUT:array of char):boolean; cdecl; external 'MojeDLL.dll';
nebo i druhy parametr jako " var "

nevim co mam pouzit za typ druheho parametru, jak pri deklaraci, tak pro volani

zkousel jsem pro volani

1. Buffer:array of char;
SetLength(Buffer, DELKA);
2. Buffer:array [0..DELKA] of char;
3. Buffer:string;
PChar(Buffer)

vzdy pro prislusne deklarace fce, vzdycky to proslo, ale po spusteni to nahlasilo, ze fce v dynamicke knihovne neni, pritom toto v BCB mi funguje bez problemu

ty retezce v pascalu s venkovni komunikaci me jednou zabijou :-(

chtel jsem si prepsat tento svuj kod do Delphi, ale zasek jsem se na deklaraci na typu < ukazatel na fci >, to mi nejak uchazi....

< C++ >
typedef bool __fastcall (* TMojeFce)(const char *, char *);

HINSTANCE hInst = LoadLibrary("MojeDLL.dll");
if (hInst)
{
TMojeFce MojeFce;
MojeFce = (TMojeFce)GetProcAddress(hInst,"(zv)MojeFce");
if (MojeFce)
{
char *Buffer = new char[DELKA + 1];
try
{
if (MojeFce("Nejaky text", Buffer))
ShowMessage(Buffer);
}
__finally
{
delete []Buffer;
}
}
FreeLibrary(hInst);
}
</ C++ >


S pozdravem

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

Jak poslat CTRL+pismeno

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 27.9.2002 15:44:40

Ahoj,

jak poslat cizi aplikaci kombinaci klaves CTRL+Z, resp. neco
podobneho?

Zkousel jsem jednu radu z archivu, ale marne. Jako pokusne
prostredi jsem spustil Notepad, neco do nej napsal, pomazal apod.
Nyni bych chtel ze sve aplikace Notepadu poslat CTRL+Z, tj.
provedeni undo. Vite nekdo o fungujicim reseni?

Nejde mi zde pritom o to, jak presvedcit notepad k provedeni undo,
to je jen modelova situace, ale jak mu poslat CTRL+neco tak, aby
na to spravne zareagoval.

Dik

David Lebeda

Jak poslat CTRL+pismeno

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 27.9.2002 15:48:31

> jak poslat cizi aplikaci kombinaci klaves CTRL+Z, resp. neco
> podobneho?

V adresari Extras na Delphi CD najdes unitu sndkey32.pas a v nej funkciu
SendKeys.

HTH
TOndrej

IB versus MSSQL

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 27.9.2002 16:07:52

> Odes�latel: Lstiburek Pavel <Lstiburek(zv)ceb(tec)cz>
> Pouze si dovolim podotknout, ze INSTEAD OF triggers je mozno vytvaret i pro
> view a to umoznuje jeste vetsi kouzla.
Jeste bych dodal, ze IB/FB umi take triggery pro view.
Pokud je view z vice tabulek, nelze ho standardne updatovat.
Pokud pod nej napiseme triggery, ktery rozhodi data do prislusnych tabulek, lze takove view updatovat.

Neni to hezci, nez nejake UpdateObjecty v Delphi?

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

Bug tracker

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 27.9.2002 16:09:30

From: "Tomas Bihary" <delphi(zv)wige-mic(tec)cz>
> Rad bych se zeptal zda nema nekdo s podobnymi systemy zkusenost.

http://mantisbt.sourceforge.net/

Petr Vones

Bug tracker

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

> Ve firme zvazujeme pouziti nejakeho systemu na spravu
> chyb v applikacich a pozadavku od uzivatelu.
>
> Pozadujeme centralni spravu dat, tistene i souborove reporty
> (nejlepe XML, HTML).
> Dale bychom ocenili pristup z webu, eventuelne prostrednictvim
> exportu/importu dat.

Skus si pozriet FogBUGZ: http://www.fogcreek.com/FogBUGZ/
Autor Joel Spolsky, pise velmi dobre clanky o programovani:
http://www.joelonsoftware.com/
Konkretne o bug tracking: "Painless Bug Tracking"
http://www.joelonsoftware.com/articles/fog0000000029.html

HTH
TOndrej

OLE

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 27.9.2002 16:28:27

> uz delsi dobu nemuzu prijit na jednu vec v
> technologii OLE. Muj problem spociva v tom,
> ze kdyz ve svem projektu otevru objekt (treba
> Word) v kontejneru OLE, Wordu chybi v menu
> polozka Soubor a tlacitka jako Novy, Otevrit
> nebo Ulozit jsou disable. Nevim jak toto uvest
> do normalniho stavu.

Myslim, ze to je normalny stav.
Word asi v kontexte vlozeneho (embedded) OLE objektu tieto akcie
nepodporuje.

HTH
TOndrej

Bug tracker

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 27.9.2002 16:33:48

From: "Ondrej Kelle" <O.Kelle(zv)digitalpublishing.de>
> Skus si pozriet FogBUGZ: http://www.fogcreek.com/FogBUGZ/

A jeste dalsi: http://bugdb.elitedev.com/

Petr Vones

Fce z C - DLL

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 27.9.2002 16:58:12

>mam fci v Cckovskem DLL
>
>extern "C" __declspec(dllexport) bool __fastcall MojeFce(const char
*AStringIN, char *AStringOUT);
>" MojeDLL.dll >> MojeDLL.def "

>EXPORTS
> (zv)MojeFce (zv)1 ; MojeFce

>a potrebuju ji volat v Delphi
>zkousel jsem toto, ale nejak to nechodi, stale mi to hlasi ze dana
fce v DLL neni

bodejt kdyz ta funkce podle vseho neni exportovana pod jmenem ale pod
cislem (1). Bud predelat CCko aby se takova cunarna nekonala nebo v
Delphi v deklaraci pripsat prislusnou direktivu (ted nevim jetli to je
'index' nebo neco jineho.

pokud se v CC exportuje jmeno je jeste nutne zjistit jak je to s
dekoraci - ruzne kompilatory pridavaji ruzne veci kolem jmena
(podtrzitka zleva specifikace parametru za '(zv)' zprava). Vliv na to ma
spousta veci (at ten __declspec ci *.DEF file). Je docela sranda
napsat kod ktery M$ a Borland C vyexportuje stejne (pouzitelne pro
Pascal)

>A. function MojeFce(const AStringINr:PChar;
AStringOUT:PChar):boolean; cdecl; external 'MojeDLL.dll';
>nebo
>B. function MojeFce(const AStringINr:PChar; AStringOUT:array of
char):boolean; cdecl; external 'MojeDLL.dll';
>nebo i druhy parametr jako " var "

zalezi na tom jak s tim druhym parametrem budes zachazet. Muzes
vyrobit primo nejaky typ (TBuff = Array[0..100] of Char) nebo nechat
bez typu atd

Function MojeFce(const AStringINr:Pointer : PChar; VAR AStringOUT ) :
BOOL; cdecl; external 'MojeDLL.dll index 1';

Boolean bych asi nahradil windowsim BOOL (pokud ta funkce opravdu neni
deklarovana tak aby vracela byte). Nevim si rady s __fastcall - je
treba se podivat do helpu k tomu CCku co to vlastne dela

PS: v helpu jsem nejak zminku o 'index' pri importu nenasel - taze to
mozna nepujde prelozit :-)>problem je zrejme v tom
>vzdy pro prislusne deklarace fce, vzdycky to proslo, ale po spusteni
to nahlasilo,
>ze fce v dynamicke knihovne neni, pritom toto v BCB mi funguje bez
problemu

viz vyse - je treba zarucit , ze export i import pouivaji stejne
jmeno/index funkce

>ty retezce v pascalu s venkovni komunikaci me jednou zabijou :-(

u Z-termitaed stringu jde jen o buffer. Pokud se me povede
usporadat si v hlave ty ceckovsky pointry na pointry pak
to uz vetsinou neni problem :-)

>chtel jsem si prepsat tento svuj kod do Delphi, ale zasek
>jsem se na deklaraci na typu < ukazatel na fci >, to mi nejak
uchazi....

pokus o prepis do Pascalu (bez kontroly kompilatorem)

TYPE
TMojeFunkce = Function(In : PChar; Out : Pointer) : BOOL;

Procedure UseTheFunction;
VAR
F : TMojeFunkce;
H : THandle;
buffer : array[0...1000] of Char;
begin
H := LoadLibrary('mojedll.dll');
if H = INVALID_HANDLE_VALUE then
Exit;
(zv)F := GetProcAddress('skjutecne_jmeno_funkce');
if (zv)F <> NIL then
begin
F('nejaky text',(zv)buffer);
end
end;

--

pokud chces 'buffer' dynamicky alokovat pak (a bude to tedy pinter na
neco) pak volas
F('nejaky text',buffer);

Zdravi
D. Toman

cas na SQL serveru

[*] Vladim�r Zavadil <ZavadilV(zv)seznam(tec)cz> - 27.9.2002 17:04:45

Zdravim,
zacal jsem pouzivat 602SQL server a narazil jsem na problem, kdyz
jsem chtel zjistit pomoci SQL dotazu aktualni cas na serveru.
Muze mi nekdo poradit jak ho zjistit, pripadne napsat jak vypada ten
SQL dotaz co to zajisti?

predem dik Vlada
Zavadil

______________________________________________________________________
Reklama:
Nenechte si ujit novy film Woodyho Allena "Hollywood Ending" - blaznivou
komedii o tom, jak se ve tme strefit do cerneho. V konech od 3.9.2002.
Sledujte http://www.hce(tec)cz

Fce z C - DLL

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 27.9.2002 17:06:09

> extern "C" __declspec(dllexport) bool __fastcall
> MojeFce(const char *AStringIN, char *AStringOUT);

> a potrebuju ji volat v Delphi
> zkousel jsem toto, ale nejak to nechodi, stale mi to hlasi ze
> dana fce v DLL neni

To znamena, ze funkcia s menom 'MojeFce' nebola v tej DLL exportovana.
C++ kompilatory maju niekedy vo zvyku menit vysledne mena funkcii (tzv. name
mangling). Skutocne mena v DLL si mozes zistit napr. pomocou tdump alebo
Dependency Walker.
V tom C++ priklade to mas dokonca uvedene v kode: '(zv)MojeFce' ;-)

Takze:

function MojeFce(AStringIn, AStringOut: PChar): BOOL; external 'MojeDLL.dll'
name '(zv)MojeFce';

pripadne mozes linkovat pomocou indexu:

function MojeFce(AStringIn, AStringOut: PChar): BOOL; external 'MojeDLL.dll'
index 0;

Dalej, "cdecl" nie je myslim ta spravna calling convention; ekvivalentom pre
Borland "__fastcall" je v Delphi tusim "register" (co je default).

> typedef bool __fastcall (* TMojeFce)(const char *, char *);
>
> HINSTANCE hInst = LoadLibrary("MojeDLL.dll");
> if (hInst)
> {
> TMojeFce MojeFce;
> MojeFce = (TMojeFce)GetProcAddress(hInst,"(zv)MojeFce");
> if (MojeFce)
> {
> char *Buffer = new char[DELKA + 1];
> try
> {
> if (MojeFce("Nejaky text", Buffer))
> ShowMessage(Buffer);
> }
> __finally
> {
> delete []Buffer;
> }
> }
> FreeLibrary(hInst);
> }

type
TMojeFce = function(AStringIn, AStringOut: PChar): BOOL;

var
hInst: HINSTANCE;
MojeFce: TMojeFce;
Buffer: array[0..DELKA + 1] of Char;
begin
hInst := LoadLibrary('MojeDLL.dll');
if hInst <> 0 then
try
(zv)MojeFce := GetProcAddress(hInst, '(zv)MojeFce');
if (zv)MojeFce <> nil then
if MojeFce('Nejaky text', Buffer) then
ShowMessage(Buffer);
finally
FreeLibrary(hInst);
end;
end;

HTH
TOndrej

Fce z C - DLL

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 27.9.2002 17:10:46

> function MojeFce(AStringIn, AStringOut: PChar): BOOL;
> external 'MojeDLL.dll' name '(zv)MojeFce';
>
> pripadne mozes linkovat pomocou indexu:
>
> function MojeFce(AStringIn, AStringOut: PChar): BOOL;
> external 'MojeDLL.dll' index 0;

Este som zabudol dopisat, nema zmysel linkovat tu DLL staticky, ked ju potom
natahujes dynamicky.
Takze tieto external deklaracie vymaz a pouzi len ten kod s
LoadLibrary/GetProcAddress.

TOndrej

Fce z C - DLL

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 27.9.2002 17:11:44

From: "Dalibor Toman" <dtoman(zv)fortech(tec)cz>
> >EXPORTS
> > (zv)MojeFce (zv)1 ; MojeFce
>
> bodejt kdyz ta funkce podle vseho neni exportovana pod jmenem ale pod
> cislem (1). Bud predelat CCko aby se takova cunarna nekonala nebo v

Neni to 1 spise hint ? Jinak funkce by ve Win32 mely byt exportovany zasadne
jen jmenem.

Petr Vones

IB versus MSSQL

[*] Pavel Cisar <pcisar(zv)users.sourceforge(tec)net> - 27.9.2002 18:12:27

Haj hou!

On 27 Sep 2002 at 10:18, bardon wrote:

> Proc? Ja prece v okamziku volani klasickeho MS SQL triggeru mam k dispozici
> jak stav pred zmenou, tak i stav po zmene a tudiz mohu delat historii v
> pohode na jednom miste.

Historie byla naprosto spatny priklad. Uplatneni triggeru je nasledujici:

BEFORE jsou dobre na zmeny dat na serveru (defaulty, vypocty, apod.) pred
ulozenim a pro dalsi (komplexnejsi) kontroly a eventualni zablokovani
operace vyvolanim vyjimky. BEFORE triggery typicky pracuji s tabulkou, na
kterou jsou napojeny.

AFTER triggery jsou dobre na zapisy do jinych tabulek, napriklad
logovacich, odesilani mailu, notifikaci o zmene a jinych blaznivin, ktere
je treba delat az kdyz je prace udelana.

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

Bug tracker

[*] Pavel Cisar <pcisar(zv)users.sourceforge(tec)net> - 27.9.2002 18:12:27

Haj hou!

On 27 Sep 2002 at 11:25, Tomas Bihary wrote:

> Ve firme zvazujeme pouziti nejakeho systemu na spravu
> chyb v applikacich a pozadavku od uzivatelu.
>
> Pozadujeme centralni spravu dat, tistene i souborove reporty
> (nejlepe XML, HTML).
> Dale bychom ocenili pristup z webu, eventuelne prostrednictvim
> exportu/importu dat.

Na SourceForge lze najit par zajimavych projektu v PHP a Jave.

> Rad bych se zeptal zda nema nekdo s podobnymi systemy zkusenost.

Mame, s bugtraq projektu na SourceForge :) Docela to ujde, jen jim nejak
nefunguje export dat v XML. Jinak neni spatny.

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

cas na SQL serveru

[*] Leos Urban <Leos.Urban(zv)iol(tec)cz> - 27.9.2002 18:41:50

> zacal jsem pouzivat 602SQL server a narazil jsem na problem, kdyz
> jsem chtel zjistit pomoci SQL dotazu aktualni cas na serveru.
> Muze mi nekdo poradit jak ho zjistit, pripadne napsat jak vypada ten
> SQL dotaz co to zajisti?

Podle
http://www.software602(tec)cz/winbase/wb80/napoveda/html/sql20z3g.htm
jsou to:
funkce CURRENT_DATE, CURRENT_TIME a CURRENT_TIMESTAMP.

Leos

Bug tracker

[*] "K�ss, Pavel" <Pavel.Kaess(zv)trimondo(tec)com> - 27.9.2002 18:49:55

A dalsi http://www.mozilla.org/projects/bugzilla/

> -----Original Message-----
> > Skus si pozriet FogBUGZ: http://www.fogcreek.com/FogBUGZ/
>
> A jeste dalsi: http://bugdb.elitedev.com/
>

Pritomnost tabulky v databaze

[*] Ludo Fulop <kexo(zv)ynet.sk> - 27.9.2002 18:55:10

napriklad takto:

ADOCommand1.CommandText:='SELECT * FROM tabulka WHERE 1=2';
try
ADOCommand1.Execute;
except
tablexists:=false;
end;

Ludo Fulop
:-)

----- Original Message -----
From: "Ludo Fulop" <kexo(zv)ynet.sk>
To: "Delphi Konfera" <delphi-l(zv)clexpert(tec)cz>
Sent: Friday, September 27, 2002 11:12 AM
Subject: Pritomnost tabulky v databaze


> Zdravim, ako sa da cez ADO zistit, ci sa v databaze nachadza nejaka
> konkretna tabulka?
> TTable ma vlatnost Exists, ale v TADOTable nic take nie je...
>
> D6 + Access 2000
>
> Ludo Fulop
>

Fce z C - DLL

[*] Blazek Jaroslav <Jaroslav.Blazek(zv)access-it(tec)cz> - 27.9.2002 20:12:41

Ahoj,

> dtoman(zv)fortech(tec)cz 27.9.02 16:58 >>>
>extern "C" __declspec(dllexport) bool __fastcall MojeFce(const char
*AStringIN, char *AStringOUT);
>" MojeDLL.dll >> MojeDLL.def "

>EXPORTS
> (zv)MojeFce (zv)1 ; MojeFce

>bodejt kdyz ta funkce podle vseho neni exportovana pod jmenem ale pod
>cislem (1). Bud predelat CCko aby se takova cunarna nekonala nebo v
>Delphi v deklaraci pripsat prislusnou direktivu (ted nevim jetli to je
>'index' nebo neco jineho.

tak to asi ne.....ta fce tam je a jmenuje se MojeFce, v BCB ji normalne nactu
toto je vypis z utilitky impdef.exe, ktera je soucasti Borlandu

impdef.exe MojeDLL.def MojeDLL.dll

>pokud se v CC exportuje jmeno je jeste nutne zjistit jak je to s
>dekoraci - ruzne kompilatory pridavaji ruzne veci kolem jmena
>(podtrzitka zleva specifikace parametru za '(zv)' zprava). Vliv na to ma
>spousta veci (at ten __declspec ci *.DEF file). Je docela sranda
>napsat kod ktery M$ a Borland C vyexportuje stejne (pouzitelne pro
>Pascal)

od toho tam mam < extern "C" ... > tak aby se tak nedelo
pokud bych tam mel < _export > nebo < extern "C++" >, tak ano fci budu mit ulozenou treba takto

EXPORTS
(zv)MojeFce$qqrpxct1pc (zv)1 ; __fastcall MojeFce(const char *, char *)

>Nevim si rady s __fastcall - je treba se podivat do helpu k tomu CCku co to vlastne dela

je to vlastne konverze volani fci v BCB, tudiz i rychlejsi pristup k temto fcim, rika kompilatoru jak ma zachazet se zasobnikem

>chtel jsem si prepsat tento svuj kod do Delphi, ale zasek
>jsem se na deklaraci na typu < ukazatel na fci >, to mi nejak
uchazi....

>TYPE
> TMojeFunkce = Function(In : PChar; Out : Pointer) : BOOL;

tohle jsem nedovedl napsat, proste jako Cckari mi chybi zaklady paskalu

jen jsem to prepsal na

type
TMojeFce = function (const AStringIN : PChar; AStringOUT : PChar);

> F('nejaky text',(zv)buffer);

jen toto bych poopravil na

var Buffer : array [0..DELKA + 1] of Char;

F(PChar('nejaky text'), Buffer);


S pozdravem

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

Fce z C - DLL

[*] Blazek Jaroslav <Jaroslav.Blazek(zv)access-it(tec)cz> - 27.9.2002 20:22:04

Ahoj,

> O.Kelle(zv)digitalpublishing.de 27.9.02 17:06 >>>
>To znamena, ze funkcia s menom 'MojeFce' nebola v tej DLL exportovana.
>C++ kompilatory maju niekedy vo zvyku menit vysledne mena funkcii (tzv. name
>mangling). Skutocne mena v DLL si mozes zistit napr. pomocou tdump alebo
>Dependency Walker.
>V tom C++ priklade to mas dokonca uvedene v kode: '(zv)MojeFce' ;-)

to same co jsem psal < D. Tomanovi > s < extern "C++" > a < _export >

>type
> TMojeFce = function(AStringIn, AStringOut: PChar): BOOL;

>var
> hInst: HINSTANCE;

na tohle mi nejak D5 rvalo, ze < HINSTANCE > nezna a nenalezl jsem k tomu nejaky hlavickovy soubor, tak jsem to nahradil < LongWord >

> if MojeFce('Nejaky text', Buffer) then

take bych mozna trochu poopravil, jinak to nebere

if MojeFce(PChar('Nejaky tex'), Buffer) then

ale jinak diky vsem, uz mi to chodi pomoci dynamickeho natahnuti DLLka

S pozdravem

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

Fce z C - DLL

[*] Blazek Jaroslav <Jaroslav.Blazek(zv)access-it(tec)cz> - 27.9.2002 20:24:20

Ahoj,

> O.Kelle(zv)digitalpublishing.de 27.9.02 17:10 >>>
>Este som zabudol dopisat, nema zmysel linkovat tu DLL staticky, ked ju potom
>natahujes dynamicky.
>Takze tieto external deklaracie vymaz a pouzi len ten kod s
>LoadLibrary/GetProcAddress.

to samozrejme ne.....ja jsem si chtel vyzkouset obe varianty, jak dynamicky, tak staticky


S pozdravem

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

FreeReport & presna tlac 2

[*] Votava <votava(zv)cmail(tec)cz> - 27.9.2002 23:04:56

procedure TfrmMain.actPrintExecute(Sender: TObject);
var b:TfrBandView;
begin
frReport1.LoadFromFile('c:\stitek.frf');
b:= TfrBandView(frReport1.FindObject(memo1));
b.SetBounds(0, 150, 0, 150);
frReport1.showReport;
end;

s pozdravem Votava Kamil

> Zdravim,
> kedze na povodnu otazku nikto nereagoval, pokusim sa ju
> preformulovat. Vo FreeReport 2.32 vytvorim nejaku zostavu pomocou
> designera. Ako mozem v takto navrhnutej zostave programovo zmenit
> suradnice x,y prvku typu memo? Nedari sa mi na to prist.
> P.Svorc
>
>

QuickReport a Acces Violation podruhe

[*] Tomas Grepl <delphi(zv)kapsw(tec)cz> - 27.9.2002 23:51:40

> a) dela mi to i na W2000PCZ.
> b) Volam PreviewModal, dokonce jsem si
> pomoci "RegisterPreviewClass" zaregistroval
> vlasni prohlizecku, ale dela to i s puvodni od
> QR, i tou mou.

Me taky pomohla aktualizace QuickReportu. Navic tusim, ze na D6 se uz tento
problem nevyskytuje.
S PreviewModal mam ale negativni zkusenosti. Na D6 mi to na W2000 vyvolavalo
obcasne vyjimky Windows. Pomohlo zruseni pouzivani PreviewModal.

Tomas

cyklus While a Application.ProcessMessages, Strin

[*] Lumir Karas <lumirkaras(zv)seznam(tec)cz> - 27.9.2002 19:20:17 -0400

Ahoj,
mimo jine Application.ProcessMessages volane z rychle se opakujici smycky,
take pekne zatezuje CPU protoze si myslim (nevim to 100%), ze vlastne
nasilne donuti windows aby zpracovaly veskere zpravy cekajici na zpracovani.

Lomikar.

paging file?

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 28.9.2002 06:29:00

RHluYW1pY2vpIHBvbGUuDQpwb2xlOiBBcnJheSBvZiBhcnJheSBvZiBUUG50czsNCm5hc3RhdmVu
aSB2ZWxpc2tvdGkgcGFrDQpTZXRMZW5ndGgocG9sZSwgMjAwMDApOw0KcHJpIHp2ZXRzb3Zhbmkg
enVzdGF2YSBvYnNhaCB6YWNob3ZhbiwgdGFremUgamVqIG11emVzIHBydWJlem5lDQp6dmV0c292
YXQuDQoNCi0tIA0KaW5nLiBKYW4gRmlhbGENCm1haWx0bzpqYW4uZmlhbGFAaW9sLmN6DQoNCjI3
LjkuMjAwMiBQZXRlciBTdXJvdnk6DQo+IEFob2ogDQo+IGRvc3RhdmFtIHRha3V0byBobGFza3U6
DQo+IFVuYWJsZSB0byBjcmVhdGUgcHJvY2Vzcy4gVGhlIHBhZ2luZyBmaWxlIGlzIHRvIHNtYWxs
DQo+IGZvciB0aGlzIG9wZXJhdGlvbiB0byBjb21wbGV0ZS4NCg0KPiBWaWVtIGNvIHRvIHNwb3Nv
YnVqZSA6IG1hbSANCj4gcmVjb3JkIGt0b3JlaG8gamVkbmEgcG9sb3prYSBqZSANCj4gdHlwdSBw
b2xlIC0gYXJyYXlbMS4uMjAwXSBvZiBUUG50czsNCg0KPiBUUG50cyBqZSBkYWxzaSByZWNvcmQg
a3Rvcnkgc2EgYWxlIHNrbGFkYSBpYmEgeiBkdm9jaCB6bG96aWVrDQo+IHR5cHUgZG91YmxlLg0K
DQo+IFByb2JsZW0gdnpuaWthIGtlZCBkbyB0b2hvdG8gcG9sYSBwb3RyZWJ1amVtIG5hY2l0YXQN
Cj4gY2NhIDIwIDAwMCBwcnZrb3YuIFRlZGEgZHZhIHByb2JsZW15Og0KPiAxLlByb2dyYW0gbWkg
bmVvem5hbWkgY2h5YnUga2VkIG5hY2l0YXZhbSBkbyAyMDANCj4gcHJ2a292ZWhvIHBvbGEgMjAg
MDAwIHBydmtvdiB6cmVqbWUgaWNoIHRhbSBwcmVwaXN1amUgc3RhbGUgZG9rb2xhLg0KDQo+IFBh
ZGEgbWkgdG8gYWxlIGxvZ2lja3kga2VkIGNoY2VtIG5hY2l0YXQgcHJ2b2sgdmFjc2kgYWtvIDIw
MA0KDQo+IDIuIFRhayBtYSBuYXBhZGxvIHp2eXNpdCBob2Rub3R1IHJvenNhaHUgdG9obyBwb2xh
IG5hIDIwIDAwMA0KPiBjbyBtaSBhbGUgemFydmUgdHUgaGxhc2t1IG5hIHphY2lhdGt1Lg==

paging file?

[*] Roman Newman <r.newman(zv)zmail.sk> - 28.9.2002 09:10:33

Ahoj
> record ktoreho jedna polozka je
> typu pole - array[1..200] of TPnts;

preco nealokujem to pole dinamicky:
- pole:array of TPnts; -
a potom prikazom:
- SetLength(pole,20000); -
mu priradis velkost aku potrebujes;
ja to tak robym a bez problemov mi nacita do pameti 150 000 viet
ktorej kazda ma 40 bytov.

Roman Newman

Ps: este jedna malickost vo M$Windosv sa da nastavit maximalna
hodnota PageFilu, v 95a98 je to vo vlastnostiach PC ak ma
PageFagefile na disku maximalnu velkost tak ho Windows nevie zvetsit.

Priorita aplikace

[*] Petr K. <xdelphi(zv)seznam(tec)cz> - 28.9.2002 12:23:46

Zdravim uz jsem prolezl i archiv konference a hledal jsem jak
nastavit prioritu aplikace v delphi, ale vsechno je hrozne vytrzene z
kontextu. Muzete prosim nekdo mi poslat kod HOTOVE aplikace, ktera
pouze zmeni svoji prioritu.

Diky
Petr

______________________________________________________________________
Reklama:
Jak si stoji kurz koruny? http://kurzy.seznam(tec)cz

Priorita aplikace

[*] Obermaier Petr Ing. <Obermaier(zv)mail.sdas(tec)cz> - 28.9.2002 13:24:16

> Od: Petr K. [SMTP:xdelphi(zv)seznam(tec)cz]
> nastavit prioritu aplikace v delphi, ale vsechno je hrozne vytrzene z
>
Tipy a triky v Delphi, dil 1.
http://www.zive(tec)cz/H/Developerdaily/Ar.asp?ARI=100985&CAI=2091
mj. Nastaveni priority aplikace.

Ober

ShowModal a ModalResult vzdy roven 2

[*] Rumcajs - konference <konrum(zv)seznam(tec)cz> - 28.9.2002 17:23:14

Servus ve spolek,
resim problem, a to:
mam formular a na nem dve tlacitka typu BitBtn. Jedno je nastaveno jako
ModalResult = mrCancel a druhe jako MiodalResult = mrYes. Ale i kdyz to tak
nastavim, tak navrat z ShowModal mam vzdy 2 (mrCancel), a to i kdyz tem
tlacitkam nastavim mrNone.
Nemate nekdo tuseni v cem je zrada?
Rumcajs D6 Prof., WinMeeee


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

Smazani sama sebe

[*] Petr Voborn�k <vobornik(zv)ssakhk(tec)cz> - 28.9.2002 17:30:27

Jak smazat docilit toho, aby program (soubor.exe) smazal sam sebe
(soubor.exe)?

Petr Voborn�k
vobornik(zv)mikmik(tec)cz
ICQ#: 23132120
http://www.mikmik(tec)cz

Smazani sama sebe

[*] "K�ss, Pavel" <Pavel.Kaess(zv)trimondo(tec)com> - 28.9.2002 18:18:52

V programu A spustit program B, ktery pocka, az skonci A a smaze jej. :)
Ale mozna zna nekdo elegantnejsi reseni...

> -----Original Message-----
> From: Petr Voborn�k [SMTP:vobornik(zv)ssakhk(tec)cz]
> Jak smazat docilit toho, aby program (soubor.exe) smazal sam sebe
> (soubor.exe)?
>

Priorita aplikace

[*] novos(zv)email(tec)cz - 28.9.2002 19:15:23


SetPriorityClass( GetCurrentProcess, IDLE_PRIORITY_CLASS );

> Zdravim uz jsem prolezl i archiv konference a hledal jsem jak
> nastavit prioritu aplikace v delphi, ale vsechno je hrozne vytrzene z
> kontextu. Muzete prosim nekdo mi poslat kod HOTOVE aplikace, ktera
> pouze zmeni svoji prioritu.

Prace s registry

[*] Petr Vareka <pvareka(zv)mujmejl(tec)cz> - 28.9.2002 19:54:36

Zdravim konferu.
Nemohl by mne nekdo poradit, jak se vlastne v Delphi pracuje se
WINDOWS-registry? Tridu TREGISTRY, o ktere se mluvi v helpu jsem
nenasel v zadne palete a ani v prehledu komponent.

Predem dekuji. Petr Vareka

Prace s registry

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

From: "Petr Vareka" <pvareka(zv)mujmejl(tec)cz>
> Nemohl by mne nekdo poradit, jak se vlastne v Delphi pracuje se
> WINDOWS-registry? Tridu TREGISTRY, o ktere se mluvi v helpu jsem
> nenasel v zadne palete a ani v prehledu komponent.

Mozna je to tim, ze Delphi IDE ma krome designeru i textovy editor. Jinak
receno, neni treba aby vse byla zrovna komponenta, existuji i tridy. Vice
najdes prave v helpu pod 'Using TRegistry'

Petr Vones

Prace s registry

[*] Zdenek Stepanek <webmaster(zv)rokaglass(tec)com> - 28.9.2002 21:14:36

Zdravim

Pro me nic sloziteho, ale kazdy jednou zacinal a ja ted mam trochu casu.

Do uses pridej unitu registry.

V kazde procedure, kde chces s registry pracovat vytvor promennou tridy
TRegistry a Creatni ji. Na konci procedury zavolej free. Nedoporucuju to
delat globalne, i kdyz by to taky melo fungovat.

procedure TForm1.....
var
Registry: TRegistry;
begin
Registry := TRegistry.Create; //vytvorit
Registry.RootKey:=HKEY_CURRENT_USER; //viz help
Registry.OpenKey('\Software\Pokec\',true); //a uz muzes otvirat klice
localname := registry.ReadString('localname'); //cist hodnoty
Registry.WriteBool('topmost',topmost1.topmost); //a zapisovat
registry.free; //a uvolnit
end;

Mas k dispouzici cteni a zapisovani spousty typu, ale staci jen Registry. a
pridrzet shift, uz to uvidis sam.

Zdenek

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

> Nemohl by mne nekdo poradit, jak se vlastne v Delphi pracuje se
> WINDOWS-registry? Tridu TREGISTRY, o ktere se mluvi v helpu jsem
> nenasel v zadne palete a ani v prehledu komponent.

Smazani sama sebe

[*] <bukaj(zv)iol(tec)cz> - 28.9.2002 22:13:59

Jo a jak potom smazes i ten program B? Co treba kdyz odinstaluju a nechci
nechat zadny zbytky? Ani odinstalacni program?


Kuba

----- Original Message -----
From: "K�ss, Pavel" <Pavel.Kaess(zv)trimondo.com>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Saturday, September 28, 2002 6:18 PM
Subject: RE: Smazani sama sebe


V programu A spustit program B, ktery pocka, az skonci A a smaze jej. :)
Ale mozna zna nekdo elegantnejsi reseni...

> -----Original Message-----
> From: Petr Voborn�k [SMTP:vobornik(zv)ssakhk(tec)cz]
> Jak smazat docilit toho, aby program (soubor.exe) smazal sam sebe
> (soubor.exe)?
>

Smazani sama sebe

[*] Radim Kunz <privat(zv)casestudio(tec)com> - 28.9.2002 22:17:38


----- Original Message -----
From: <bukaj(zv)iol(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Saturday, September 28, 2002 10:13 PM
Subject: Re: Smazani sama sebe


> Jo a jak potom smazes i ten program B? Co treba kdyz odinstaluju a nechci
> nechat zadny zbytky? Ani odinstalacni program?
>
>
> Kuba

A co takhle strcit to do registru do RunOnce ?

Radim

Smazani sama sebe

[*] Petr Voborn�k <vobornik(zv)ssakhk(tec)cz> - 29.9.2002 03:41:28

Ja to teda zatim resil tak, ze sem vytvoril soubor Smaz.bat, nastavil Currentdir na ten s programem, minimalizovane spustil ten bat a hned potom vypnul progrma. Bat soubor mel tento obsah:

:start
del Program.exe
cls
if exist Program.exe goto start
del Smaz.bat


Ovsem toto reseni se mi zda nevhodne a pochybuji, ze jej uninstalatory pouzivaji. Urcite existuje neco elegantnejsiho. Znate nekdo neco?
Petr Voborn�k
vobornik(zv)mikmik(tec)cz
ICQ#: 23132120
http://www.mikmik(tec)cz

Smazani sama sebe

[*] Rainbow Dark <rainbof(zv)seznam(tec)cz> - 29.9.2002 05:47:50

moje reseni bylo v tomto pripade jiz mnohokrat v tom, ze jsem smazal to co
bylo mozno smazat a do .ini + do user run once jsem napsal casti ktere
smazali samy sebe + odkaz. (=jednou to proste vyjit musi :))
popripade odinstalator je mozno zapsat do %temp% a tim jiste zajistit brzky
zanik i odinstralatoru. (= obcas tento adresar nekdo nebo "neco" smaze).
atd. ale konkretni reseni existuje podle mne pouze na nizsich urovnich ktere
bohuzel nejsou moc universalni.

------------------------------



nt: Sunday, September 29, 2002 3:41 AM
Subject: Re: Smazani sama sebe


Ja to teda zatim resil tak, ze sem vytvoril soubor Smaz.bat, nastavil
Currentdir na ten s programem, minimalizovane spustil ten bat a hned potom
vypnul progrma. Bat soubor mel tento obsah:

:start
del Program.exe
cls
if exist Program.exe goto start
del Smaz.bat


Ovsem toto reseni se mi zda nevhodne a pochybuji, ze jej uninstalatory
pouzivaji. Urcite existuje neco elegantnejsiho. Znate nekdo neco?
Petr Voborn�k
vobornik(zv)mikmik(tec)cz
ICQ#: 23132120
http://www.mikmik(tec)cz

QuickReport a Acces Violation podruhe

[*] Viliam Mlich <vmlich(zv)mbox.vol(tec)cz> - 29.9.2002 08:55:09

> S PreviewModal mam ale negativni zkusenosti.

Ja nepouzivam PreviewModal, ale sekvenciu:

Form1.Hide;
Qreport.Preview;
Form1.Show;

a niekedy to robim i pri ukazani modalneho okna, lebo ma rozculuje, ked
okno aplikacie pod nim zakryva zvysok obrazovky a neda sa odsunut. Ked
ale treba vidiet obsah okna, tak ho nechavam, ten modalny dialog si moze
user odsunut, aby videl, co mu treba.

bye
vmlich http://www.rar(tec)cz

Smazani sama sebe

[*] miro mrazik <preas_w(zv)stonline.sk> - 29.9.2002 10:20:18

Ahoj,
vo win95 bol na toto urceny subor WININIT.INI
sluzi mimo ine na to ze pomocou neho sa daju v systeme nahradzovat dll
kniznice, ktore su zavedene v pameti a nedaju sa prepisat.
ak sa subor v tomto ini subore uvedie formou:

[rename]
NUL=zdrojove_meno_suboru

tak po restarte ho system zmaze.
miro
----- Original Message -----
From: "Rainbow Dark" <rainbof(zv)seznam(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Sunday, September 29, 2002 5:47 AM
Subject: Re: Smazani sama sebe


> moje reseni bylo v tomto pripade jiz mnohokrat v tom, ze jsem smazal to co
> bylo mozno smazat a do .ini + do user run once jsem napsal casti ktere
> smazali samy sebe + odkaz. (=jednou to proste vyjit musi :))
> popripade odinstalator je mozno zapsat do %temp% a tim jiste zajistit
brzky
> zanik i odinstralatoru. (= obcas tento adresar nekdo nebo "neco" smaze).
> atd. ale konkretni reseni existuje podle mne pouze na nizsich urovnich
ktere
> bohuzel nejsou moc universalni.
>
> ------------------------------
>
>
> nt: Sunday, September 29, 2002 3:41 AM
> Subject: Re: Smazani sama sebe
>
>
> Ja to teda zatim resil tak, ze sem vytvoril soubor Smaz.bat, nastavil
> Currentdir na ten s programem, minimalizovane spustil ten bat a hned potom
> vypnul progrma. Bat soubor mel tento obsah:
>
> :start
> del Program.exe
> cls
> if exist Program.exe goto start
> del Smaz.bat
>
>
> Ovsem toto reseni se mi zda nevhodne a pochybuji, ze jej uninstalatory
> pouzivaji. Urcite existuje neco elegantnejsiho. Znate nekdo neco?
>
>
> Petr Voborn�k
> vobornik(zv)mikmik(tec)cz
> ICQ#: 23132120
> http://www.mikmik(tec)cz
>

Problem s filtrovanim v IB

[*] <falconsoft(zv)centrum(tec)cz> - 29.9.2002 11:11:07

Zdravim vsechny


Mam dotaz ohledne filtrovani v IB.
Pri pouziti komponenty Query vse chodi OK (Query1.Filtered:=True;
Query1.Filter:=neco), ale
kdyz pouziji IBQuery nebo radeji IBDataSet tak to nechce chodit.

Poradte mi prosim co stim, nebo nejaky jiny zpusob jak filtrovani
provadet.



Jan Falt�nek

--------------------
ZDARMA a RYCHL� zas�l�n� SMS z www.posliSMS(tec)cz

Autoincrement + ADO

[*] Ing. Keder Vladimir <vkeder(zv)iol.sk> - 29.9.2002 12:22:52

Ahoj

Mam MS Access databazu a v nej vytvorenu tabulku s polom ID typu
autoinkrement. Z delphi 7 pomocou ADO MS Jet 4 chcem vlozit novy zaznam.
Ibaze neviem ako zadat hodnotu pre pole ID. V DAO ktore som pouzival stacilo
dat miesto toho hodnotu null a databaza si to priradila sama. V ADO mi to
stale hlasi chybu. Nechcem zistovat MAX(ID) ale vyuzit prave vlastnost
autoincrement kde si to ma sama urobit databaza. Skusam to aj cez Access
Query ale neviem co tam zadat. Ak zadam unikatnu hodnotu tak sa zaznam
priradi. Ak mam chybu v cislovani a priradim prave chybajucu hodnotu tak sa
zaznam vlozi s touto hodnotou co je podla mna chyba pretoze by sa mala
priradit najvacsia hodnota tohoto pola v tabulke. Pre vlozenie pouzivam
nasledovnu konstrukciu

ADOCommand1.CommandText:= 'INSERT INTO message '+
'VALUES ([_ID], [_FromID], [_ToID], [_Datum], [_Priorita],
[_Subject], [_Sprava]);';

param:= ADOCommand1.Parameters.CreateParameter('_ID', ftAutoInc, pdInput,
0, ???????); //<--- aka hodnota ???
param.Index:= 0;
param:= ADOCommand1.Parameters.CreateParameter('_FromID', ftInteger,
pdInput, 0, UserSession.UserID);
param.Index:= 1;
param:= ADOCommand1.Parameters.CreateParameter('_ToID', ftInteger,
pdInput, 0, komu);
param.Index:= 2;
param:= ADOCommand1.Parameters.CreateParameter('_Datum', ftDate, pdInput,
0, Date);
param.Index:= 3;
param:= ADOCommand1.Parameters.CreateParameter('_Priorita', ftInteger,
pdInput, 0, 0);
param.Index:= 4;
param:= ADOCommand1.Parameters.CreateParameter('_Subject', ftString,
pdInput, 255, eSubjekt.Text);
param.Index:= 5;
param:= ADOCommand1.Parameters.CreateParameter('_Sprava', ftMemo, pdInput,
255, eText.Text);
param.Index:= 6;
ADOCommand1.Execute;

Dakujem za radu

Vlado

Array in component

[*] <prichy(zv)volny(tec)cz> - 29.9.2002 12:56:36

Zdravim a opet zadam o radu :)

Napsal jsem komponentu v niz pouzivam Array

implementation

var Pole: array of boolean;
........
Dale nastavuji d�lku pole a pracuji s jendl. hodnotymi - nepouzivam zadne copy f-ce a nevytvarim vice ukazatelu.

Problem je v tom, ze kdyz vlozim na form vice komponent tohoto typu, vsechny pracuji pouze s jedinym polem. Cili ovlivnuji
navzajem svoje chovani.
Nevite prosim jek z toho ven? Prichy(W98SE,D6) Amater

PS: Nema byt nedeklarovano jako vsechny ostatni private promene do casti private?

Cas na SQL serveru po druhe

[*] Vladim�r Zavadil <ZavadilV(zv)seznam(tec)cz> - 29.9.2002 13:29:40

Zdravim,
v patek jsem se tady ptal na to jak zjistit cas na SQL serveru
602SQL.
Pristupuji na nej pres DBexpress.
Nekdo mi tady poradil pouzit funkci CURRENT_TIMESTAMP.
Ja jsem to zkousel a narazil jsem.
Nejsem zbehlej v SQL a tak nevim jak pouzit tu funkci v SQL DOTAZU,
tak aby ten dotaz vratil prave jen ten cas.
Kdyz pouziju prikaz SELECT CURRENT_TIMESTAMP, tak to po me chce abych
pokracoval s FROM a nejakou tabulkou. Kdyz to udelam, tak mi to vrati
tabulku o jednom sloupci, ale s poctem radku rovnemu poctu radku te
tabulky a vsude je ten cas. Co delam spatne? Jde to takhle vubec
udelat? Jak jinak?

predem dik Vlada Zavadil

______________________________________________________________________
Reklama:
Nenechte si ujit novy film Woodyho Allena "Hollywood Ending" - blaznivou
komedii o tom, jak se ve tme strefit do cerneho. V konech od 3.9.2002.
Sledujte http://www.hce(tec)cz

Clipboard

[*] Jiri Sedivec <jsedivec(zv)mail(tec)cz> - 29.9.2002 15:27:39

Nemate priklad jak se resi zkopirovani souboru do schranky tak aby se nede v
Exploreru dalo CTRL+V a soubor se tam zkopiroval

Jiri

cyklus While a Application.ProcessMessages, Strin

[*] Robert Suska <delphi(zv)korak.sk> - 29.9.2002 16:08:39

Ahoj!

Pouzi v cykle while do aj Sleep(0);

cize

while do
begin
Sleep(0);
Application.ProcessMessage;
end;

a toto by Ti malo fungovat ok.

S pozdravo Robert Suska
> Ahoj,
> mimo jine Application.ProcessMessages volane z rychle se opakujici
smycky,
> take pekne zatezuje CPU protoze si myslim (nevim to 100%), ze vlastne
> nasilne donuti windows aby zpracovaly veskere zpravy cekajici na
zpracovani.
>
> Lomikar.

cgi

[*] Tom� �ejka - 29.9.2002 18:44:43

Nemel by prosim vas nekdo z vas nejakej help, nebo priklad s popisem
(nejlip v cestine) na cgi skript? (Potreboval bych udelat webove
pocitadlo, ale nevim jak na to. Hlavne se to musi rychle nacitat.)
Diky Tomas

cgi

[*] Martin <martin(zv)aprog(tec)cz> - 29.9.2002 19:15:46

Dobr� den,
29. z��� 2002, 18:44:43, napsal jste:

T�> Nemel by prosim vas nekdo z vas nejakej help, nebo priklad s popisem
T�> (nejlip v cestine) na cgi skript? (Potreboval bych udelat webove
T�> pocitadlo, ale nevim jak na to. Hlavne se to musi rychle nacitat.)
T�> Diky Tomas

Tak si ho napis v PHP nebo se podivej tady http://www.hotscripts.com/

--
S pozdravem,
Martin
martin(zv)aprog(tec)cz

Array in component

[*] <bukaj(zv)iol(tec)cz> - 29.9.2002 19:27:10

> PS: Nema byt nedeklarovano jako vsechny ostatni private promene do casti
private?

Jo presne tak.


Kuba

Autoincrement + ADO

[*] <bukaj(zv)iol(tec)cz> - 29.9.2002 19:29:02

Myslim, ze by melo stacit tu hodnotu vubec nezadavat, proste ji vynechat.
Jestli se mylim, tak se omlouvam.


Kuba

----- Original Message -----
From: "Ing. Keder Vladimir" <vkeder(zv)iol.sk>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Sunday, September 29, 2002 12:22 PM
Subject: Autoincrement + ADO


Ahoj

Mam MS Access databazu a v nej vytvorenu tabulku s polom ID typu
autoinkrement. Z delphi 7 pomocou ADO MS Jet 4 chcem vlozit novy zaznam.
Ibaze neviem ako zadat hodnotu pre pole ID. V DAO ktore som pouzival stacilo
dat miesto toho hodnotu null a databaza si to priradila sama. V ADO mi to
stale hlasi chybu. Nechcem zistovat MAX(ID) ale vyuzit prave vlastnost
autoincrement kde si to ma sama urobit databaza. Skusam to aj cez Access
Query ale neviem co tam zadat. Ak zadam unikatnu hodnotu tak sa zaznam
priradi. Ak mam chybu v cislovani a priradim prave chybajucu hodnotu tak sa
zaznam vlozi s touto hodnotou co je podla mna chyba pretoze by sa mala
priradit najvacsia hodnota tohoto pola v tabulke. Pre vlozenie pouzivam
nasledovnu konstrukciu

ADOCommand1.CommandText:= 'INSERT INTO message '+
'VALUES ([_ID], [_FromID], [_ToID], [_Datum], [_Priorita],
[_Subject], [_Sprava]);';

param:= ADOCommand1.Parameters.CreateParameter('_ID', ftAutoInc, pdInput,
0, ???????); //<--- aka hodnota ???
param.Index:= 0;
param:= ADOCommand1.Parameters.CreateParameter('_FromID', ftInteger,
pdInput, 0, UserSession.UserID);
param.Index:= 1;
param:= ADOCommand1.Parameters.CreateParameter('_ToID', ftInteger,
pdInput, 0, komu);
param.Index:= 2;
param:= ADOCommand1.Parameters.CreateParameter('_Datum', ftDate, pdInput,
0, Date);
param.Index:= 3;
param:= ADOCommand1.Parameters.CreateParameter('_Priorita', ftInteger,
pdInput, 0, 0);
param.Index:= 4;
param:= ADOCommand1.Parameters.CreateParameter('_Subject', ftString,
pdInput, 255, eSubjekt.Text);
param.Index:= 5;
param:= ADOCommand1.Parameters.CreateParameter('_Sprava', ftMemo, pdInput,
255, eText.Text);
param.Index:= 6;
ADOCommand1.Execute;

Dakujem za radu

Vlado

cgi

[*] Tom� �ejka - 29.9.2002 19:54:20

Bohuzel s php neumim.

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Martin
Sent: Sunday, September 29, 2002 7:16 PM
To: Tom� �ejka
Subject: Re: cgi


Dobr� den,
29. z��� 2002, 18:44:43, napsal jste:

T�> Nemel by prosim vas nekdo z vas nejakej help, nebo priklad s popisem

T�> (nejlip v cestine) na cgi skript? (Potreboval bych udelat webove
T�> pocitadlo, ale nevim jak na to. Hlavne se to musi rychle nacitat.)
T�> Diky Tomas

Tak si ho napis v PHP nebo se podivej tady http://www.hotscripts.com/

--
S pozdravem,
Martin
martin(zv)aprog(tec)cz

Priorita aplikace

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

From: "Obermaier Petr Ing." <Obermaier(zv)mail.sdas(tec)cz>
> http://www.zive(tec)cz/H/Developerdaily/Ar.asp?ARI=100985&CAI=2091
> mj. Nastaveni priority aplikace.

Mozna by nebylo spatne take kontrolovat navratovou hodnotu te funkce.

Petr Vones

Autoincrement + ADO

[*] Ing. Keder Vladimir <vkeder(zv)iol.sk> - 29.9.2002 21:37:10

Ak by som to tam nedal, hodi to hlasku 'Number of query values and
destination fields are not the same'
Vlado

----- Original Message -----
From: <bukaj(zv)iol(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Sunday, September 29, 2002 7:29 PM
Subject: Re: Autoincrement + ADO


> Myslim, ze by melo stacit tu hodnotu vubec nezadavat, proste ji vynechat.
> Jestli se mylim, tak se omlouvam.
>
> Kuba
>
> ----- Original Message -----
> From: "Ing. Keder Vladimir" <vkeder(zv)iol.sk>
> To: <delphi-l(zv)clexpert(tec)cz>
> Sent: Sunday, September 29, 2002 12:22 PM
> Subject: Autoincrement + ADO
>
>
> Ahoj
>
> Mam MS Access databazu a v nej vytvorenu tabulku s polom ID typu
> autoinkrement. Z delphi 7 pomocou ADO MS Jet 4 chcem vlozit novy zaznam.
> Ibaze neviem ako zadat hodnotu pre pole ID. V DAO ktore som pouzival
stacilo
> dat miesto toho hodnotu null a databaza si to priradila sama. V ADO mi to
> stale hlasi chybu. Nechcem zistovat MAX(ID) ale vyuzit prave vlastnost
> autoincrement kde si to ma sama urobit databaza. Skusam to aj cez Access
> Query ale neviem co tam zadat. Ak zadam unikatnu hodnotu tak sa zaznam
> priradi. Ak mam chybu v cislovani a priradim prave chybajucu hodnotu tak
sa
> zaznam vlozi s touto hodnotou co je podla mna chyba pretoze by sa mala
> priradit najvacsia hodnota tohoto pola v tabulke. Pre vlozenie pouzivam
> nasledovnu konstrukciu
>
> ADOCommand1.CommandText:= 'INSERT INTO message '+
> 'VALUES ([_ID], [_FromID], [_ToID], [_Datum], [_Priorita],
> [_Subject], [_Sprava]);';
>
> param:= ADOCommand1.Parameters.CreateParameter('_ID', ftAutoInc,
pdInput,
> 0, ???????); //<--- aka hodnota ???
> param.Index:= 0;
> param:= ADOCommand1.Parameters.CreateParameter('_FromID', ftInteger,
> pdInput, 0, UserSession.UserID);
> param.Index:= 1;
> param:= ADOCommand1.Parameters.CreateParameter('_ToID', ftInteger,
> pdInput, 0, komu);
> param.Index:= 2;
> param:= ADOCommand1.Parameters.CreateParameter('_Datum', ftDate,
pdInput,
> 0, Date);
> param.Index:= 3;
> param:= ADOCommand1.Parameters.CreateParameter('_Priorita', ftInteger,
> pdInput, 0, 0);
> param.Index:= 4;
> param:= ADOCommand1.Parameters.CreateParameter('_Subject', ftString,
> pdInput, 255, eSubjekt.Text);
> param.Index:= 5;
> param:= ADOCommand1.Parameters.CreateParameter('_Sprava', ftMemo,
pdInput,
> 255, eText.Text);
> param.Index:= 6;
> ADOCommand1.Execute;
>
> Dakujem za radu
>
> Vlado
>
>

Re[2]: cgi

[*] Martin <martin(zv)aprog(tec)cz> - 29.9.2002 21:41:59

Tak si to pocitadlo stahni. Napr.
http://www.ekstreme.com/phplabs/phpcounter.zip

Kdyz se podivas na www.hotscripts.com tak tam najdes spoustu skriptu
nejen v PHP, ale i v Perlu.

T�> Bohuzel s php neumim.

--
S pozdravem,
Martin
martin(zv)aprog(tec)cz

Autoincrement + ADO

[*] Ludo Fulop <kexo(zv)ynet.sk> - 29.9.2002 21:43:32

co tak skusit

INSERT INTO message (fromID, ToID, Datum, Priorita, Subject, Sprava) VALUES
([_FromID], [_ToID], [_Datum], [_Priorita], [_Subject], [_Sprava])

Ludo Fulop

----- Original Message -----
From: "Ing. Keder Vladimir" <vkeder(zv)iol.sk>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Sunday, September 29, 2002 9:37 PM
Subject: Re: Autoincrement + ADO


> Ak by som to tam nedal, hodi to hlasku 'Number of query values and
> destination fields are not the same'
> Vlado
>
> ----- Original Message -----
> From: <bukaj(zv)iol(tec)cz>
> To: <delphi-l(zv)clexpert(tec)cz>
> Sent: Sunday, September 29, 2002 7:29 PM
> Subject: Re: Autoincrement + ADO
>
>
> > Myslim, ze by melo stacit tu hodnotu vubec nezadavat, proste ji
vynechat.
> > Jestli se mylim, tak se omlouvam.
> >
> >
> > Kuba
> >
> > ----- Original Message -----
> > From: "Ing. Keder Vladimir" <vkeder(zv)iol.sk>
> > To: <delphi-l(zv)clexpert(tec)cz>
> > Sent: Sunday, September 29, 2002 12:22 PM
> > Subject: Autoincrement + ADO
> >
> >
> > Ahoj
> >
> > Mam MS Access databazu a v nej vytvorenu tabulku s polom ID typu
> > autoinkrement. Z delphi 7 pomocou ADO MS Jet 4 chcem vlozit novy zaznam.
> > Ibaze neviem ako zadat hodnotu pre pole ID. V DAO ktore som pouzival
> stacilo
> > dat miesto toho hodnotu null a databaza si to priradila sama. V ADO mi
to
> > stale hlasi chybu. Nechcem zistovat MAX(ID) ale vyuzit prave vlastnost
> > autoincrement kde si to ma sama urobit databaza. Skusam to aj cez Access
> > Query ale neviem co tam zadat. Ak zadam unikatnu hodnotu tak sa zaznam
> > priradi. Ak mam chybu v cislovani a priradim prave chybajucu hodnotu tak
> sa
> > zaznam vlozi s touto hodnotou co je podla mna chyba pretoze by sa mala
> > priradit najvacsia hodnota tohoto pola v tabulke. Pre vlozenie pouzivam
> > nasledovnu konstrukciu
> >
> > ADOCommand1.CommandText:= 'INSERT INTO message '+
> > 'VALUES ([_ID], [_FromID], [_ToID], [_Datum],
[_Priorita],
> > [_Subject], [_Sprava]);';
> >
> > param:= ADOCommand1.Parameters.CreateParameter('_ID', ftAutoInc,
> pdInput,
> > 0, ???????); //<--- aka hodnota ???
> > param.Index:= 0;
> > param:= ADOCommand1.Parameters.CreateParameter('_FromID', ftInteger,
> > pdInput, 0, UserSession.UserID);
> > param.Index:= 1;
> > param:= ADOCommand1.Parameters.CreateParameter('_ToID', ftInteger,
> > pdInput, 0, komu);
> > param.Index:= 2;
> > param:= ADOCommand1.Parameters.CreateParameter('_Datum', ftDate,
> pdInput,
> > 0, Date);
> > param.Index:= 3;
> > param:= ADOCommand1.Parameters.CreateParameter('_Priorita', ftInteger,
> > pdInput, 0, 0);
> > param.Index:= 4;
> > param:= ADOCommand1.Parameters.CreateParameter('_Subject', ftString,
> > pdInput, 255, eSubjekt.Text);
> > param.Index:= 5;
> > param:= ADOCommand1.Parameters.CreateParameter('_Sprava', ftMemo,
> pdInput,
> > 255, eText.Text);
> > param.Index:= 6;
> > ADOCommand1.Execute;
> >
> > Dakujem za radu
> >
> > Vlado
> >
> >

Pros�m o pomoc

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 29.9.2002 22:46:19

Ahoj Petre,
clipboard jsem kdysi zkousel, ale jenom textovy obsah.
Zkusim to poslat do konference Delphi.

Honza
----------
Odes�latel: Petr Palas <Petr(zv)jepaz(tec)cz>
Komu: Honza �ebel�k <honza(zv)haes(tec)cz>
P�edm�t: Pros�m o pomoc
Datum: 28. z��� 2001 20:00

P�eji dobr� den,
pros�m V�s m�m jeden probl�m u nev�m koho bych se u� zeptal.
Nemohu p�ij�t na to, jak zkop�rovat data do syst�mov� schr�nky.
Zkou�el jsem n�vod z knihy 1001 tip� a trik� pro Delphi ale nefungoval.
P�edem d�kuji.
Petr Palas


Tento p��klad je zde:

Uses
Clipbrd;

Const
ClipFormat = 'CF_DAT';

Type
TClipData = packed record
data : String[255];
End;

procedure TForm1.CopyExecute(Sender: TObject);
Var
Rec : TClipData;
Dat : THandle;
Ptr : Pointer;
begin
Dat := GlobalAlloc(GMEM_MOVEABLE,SizeOf(TclipData));
Try
Ptr := GlobalLock(dat);
Try
Move(rec,Ptr^,SizeOf(TclipData));
ClipBoard.Open;
// Clipboard.SetAsHandle(ClipFormat,dat); - Tento p��kaz byl v knize ale p�eklada� ho nevzal

Clipboard.SetAsHandle(ord(ClipFormat[6]),dat);
ClipBoard.Close;
Finally
GlobalUnlock(Dat);
End;
Except
GlobalFree(dat);
End;
end;

Array in component

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 29.9.2002 22:58:48

Pokud ti rozumim, Pole je globalni promenna v prislusne unite.
Pak je jasne, ze vsechny objekty pracuji s touto jedinou promennou.
Pole by skutecne melo byt (asi nejlepe private nebo protected) polozkou prislusne tridy.
Samozrejme o nastaveni jeho velikosti se trida musi sama postarat.
A taky ho nekde v destructoru zrusit.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================
----------
Odes�latel: prichy(zv)volny(tec)cz
Komu: delphi-l(zv)clexpert(tec)cz
P�edm�t: Array in component
Datum: 29. z��� 2002 12:56

Zdravim a opet zadam o radu :)

Napsal jsem komponentu v niz pouzivam Array

implementation

var Pole: array of boolean;
........
Dale nastavuji d�lku pole a pracuji s jendl. hodnotymi - nepouzivam zadne copy f-ce a nevytvarim vice ukazatelu.

Problem je v tom, ze kdyz vlozim na form vice komponent tohoto typu, vsechny pracuji pouze s jedinym polem. Cili ovlivnuji
navzajem svoje chovani.
Nevite prosim jek z toho ven? Prichy(W98SE,D6) Amater

PS: Nema byt nedeklarovano jako vsechny ostatni private promene do casti private?

Cas na SQL serveru po druhe

[*] Ing. Pavel �ilinec����)b���zf���3 - 30.9.2002 05:50:20

Kdyz uz nnic jineho, muzes zkusit select top 1 CURRENT_TIMESTAMP from ...,
abys dostal jen jeden radek - ale nevim, jestli top je i na 602SQL
--------
ing. Pavel Zilinec
MailTo:zilinec(zv)email(tec)cz

Prog-Soft s.r.o. Plzen
Informacni system pro vyrobce
a distributory napoju

VZ> Zdravim,
VZ> v patek jsem se tady ptal na to jak zjistit cas na SQL serveru
VZ> 602SQL.
VZ> Pristupuji na nej pres DBexpress.
VZ> Nekdo mi tady poradil pouzit funkci CURRENT_TIMESTAMP.
VZ> Ja jsem to zkousel a narazil jsem.
VZ> Nejsem zbehlej v SQL a tak nevim jak pouzit tu funkci v SQL DOTAZU,
VZ> tak aby ten dotaz vratil prave jen ten cas.
VZ> Kdyz pouziju prikaz SELECT CURRENT_TIMESTAMP, tak to po me chce abych
VZ> pokracoval s FROM a nejakou tabulkou. Kdyz to udelam, tak mi to vrati
VZ> tabulku o jednom sloupci, ale s poctem radku rovnemu poctu radku te
VZ> tabulky a vsude je ten cas. Co delam spatne? Jde to takhle vubec
VZ> udelat? Jak jinak?

Autoincrement + ADO

[*] Robert Fujak <robof(zv)inmail.sk> - 30.9.2002 05:55:55

ADOCommand1.CommandText:= 'INSERT INTO message '+ // sem vypis polia z
tabulky bez ID
'VALUES ([_ID], [_FromID], [_ToID], [_Datum], [_Priorita],
[_Subject], [_Sprava]);';

NAPR.:
ADOCommand1.CommandText:= 'INSERT INTO message (_FromID, _ToID, _Datum,
_Priorita, _Subject, _Sprava)'+
'VALUES ([_FromID], [_ToID], [_Datum], [_Priorita],
[_Subject], [_Sprava]);';

Robo.

----- Original Message -----
From: "Ing. Keder Vladimir" <vkeder(zv)iol.sk>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Sunday, September 29, 2002 12:22 PM
Subject: Autoincrement + ADO


> Ahoj
>
> Mam MS Access databazu a v nej vytvorenu tabulku s polom ID typu
> autoinkrement. Z delphi 7 pomocou ADO MS Jet 4 chcem vlozit novy zaznam.
> Ibaze neviem ako zadat hodnotu pre pole ID. V DAO ktore som pouzival
stacilo
> dat miesto toho hodnotu null a databaza si to priradila sama. V ADO mi to
> stale hlasi chybu. Nechcem zistovat MAX(ID) ale vyuzit prave vlastnost
> autoincrement kde si to ma sama urobit databaza. Skusam to aj cez Access
> Query ale neviem co tam zadat. Ak zadam unikatnu hodnotu tak sa zaznam
> priradi. Ak mam chybu v cislovani a priradim prave chybajucu hodnotu tak
sa
> zaznam vlozi s touto hodnotou co je podla mna chyba pretoze by sa mala
> priradit najvacsia hodnota tohoto pola v tabulke. Pre vlozenie pouzivam
> nasledovnu konstrukciu
>
> ADOCommand1.CommandText:= 'INSERT INTO message '+
> 'VALUES ([_ID], [_FromID], [_ToID], [_Datum], [_Priorita],
> [_Subject], [_Sprava]);';
>
> param:= ADOCommand1.Parameters.CreateParameter('_ID', ftAutoInc,
pdInput,
> 0, ???????); file://<--- aka hodnota ???
> param.Index:= 0;
> param:= ADOCommand1.Parameters.CreateParameter('_FromID', ftInteger,
> pdInput, 0, UserSession.UserID);
> param.Index:= 1;
> param:= ADOCommand1.Parameters.CreateParameter('_ToID', ftInteger,
> pdInput, 0, komu);
> param.Index:= 2;
> param:= ADOCommand1.Parameters.CreateParameter('_Datum', ftDate,
pdInput,
> 0, Date);
> param.Index:= 3;
> param:= ADOCommand1.Parameters.CreateParameter('_Priorita', ftInteger,
> pdInput, 0, 0);
> param.Index:= 4;
> param:= ADOCommand1.Parameters.CreateParameter('_Subject', ftString,
> pdInput, 255, eSubjekt.Text);
> param.Index:= 5;
> param:= ADOCommand1.Parameters.CreateParameter('_Sprava', ftMemo,
pdInput,
> 255, eText.Text);
> param.Index:= 6;
> ADOCommand1.Execute;
>
> Dakujem za radu
>
> Vlado
>
>


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

Problem s filtrovanim v IB

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 30.9.2002 07:40:55

> Mam dotaz ohledne filtrovani v IB.
> Pri pouziti komponenty Query vse chodi OK (Query1.Filtered:=True;
> Query1.Filter:=neco), ale kdyz pouziji IBQuery nebo radeji IBDataSet
> tak to nechce chodit.

Mozna by nebylo od veci uvest, co je konkretne za problem. Protoze
na takhle obecny popis problemu muze odpovedet pouze nekdo,
kdo podobnou vec nedavno delal a jeste si to presne pamatuje.

Takze napada me toto:

1) Je mozne, ze property Filter je nepristupna (z hlavy nevim). Pak
by stalo za to, uvazovat o pouziti OnFilterRecord. IMHO je to ve
vysledku totez, ale ma to vetsi moznosti (diky moznosti pouzit
Delphi kod).

2) Nemuze byt vyhodnejsi namisto filteru upravit where podminku
dotazu? Uznavam, ze jsou situace, kdy je filter lepsi, takze to je jen
namet k promysleni.

David Lebeda

temp. tabulka

[*] Robert TOTH <toth(zv)lc.vszp.sk> - 30.9.2002 08:14:49

Je nejaka moznost vytvorenia temporalnej tabulky v Firebirde ?
Potrebujem spustit query (filter), nasledne spustat dalsie rozne
query(analyzy), kt. vybera hodnoty len pre zaznamy z query predosleho,
sposob master-detail mi nevyhovuje, lebo hlada len pre aktualny zaznam.
Moznost spojenia cez cyklovanie pomocou SELECT * ... IN () sa mi zda
tazkopadne. Pozeral som DSQL prikazy ale nemam s nimi vela skusenosti. Dalsi
problem je v tom, ze tato tabulka (temporalna), alebo "cursor" by mala byt
zrusena serverom pri odpojeni.

Ing. Robert TOTH
Lucenec

ShowModal a ModalResult vzdy roven 2

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 30.9.2002 08:20:20

> mam formular a na nem dve tlacitka typu BitBtn. Jedno je nastaveno
> jako ModalResult = mrCancel a druhe jako MiodalResult = mrYes. Ale i
> kdyz to tak nastavim, tak navrat z ShowModal mam vzdy 2 (mrCancel), a
> to i kdyz tem tlacitkam nastavim mrNone. Nemate nekdo tuseni v cem je
> zrada? Rumcajs D6 Prof., WinMeeee

Ahoj,

nemas nastavenou property Cancel na True? Podobne viz prop.
Default.

David Lebeda

kopirovani image z jednoho TImage do druheho

[*] Sula Milos <milos.sula(zv)oku-su(tec)cz> - 30.9.2002 08:28:24

Chci v me aplikaci prekopirovat obrazek (ne pres canvas) z jednoho
TImage do druheho. Nasledovne to nejde

originalimage:=TImage.Create(nil);
originalimage.Width:=Image1.Picture.Graphic.Width;
originalimage.Height:=Image1.Picture.Graphic.Height;
originalimage.Picture.Graphic.Assign(Image1.picture);


Nevite jak to udelat ?


Milos

ShowModal a ModalResult vzdy roven 2

[*] Rumcajs - konference <konrum(zv)seznam(tec)cz> - 30.9.2002 08:29:39

Pouze u tlacitka s ModalResult = mrCancel jinak ne ....
Rumcajs
> > mam formular a na nem dve tlacitka typu BitBtn. Jedno je nastaveno
> > jako ModalResult = mrCancel a druhe jako MiodalResult = mrYes. Ale i
> > kdyz to tak nastavim, tak navrat z ShowModal mam vzdy 2 (mrCancel), a
> > to i kdyz tem tlacitkam nastavim mrNone. Nemate nekdo tuseni v cem je
> > zrada? Rumcajs D6 Prof., WinMeeee
>
> Ahoj,
>
> nemas nastavenou property Cancel na True? Podobne viz prop.
> Default.
>
> David Lebeda
>


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

ShowModal a ModalResult vzdy roven 2

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 30.9.2002 08:56:13

Ahoj,

to je divny. Zkusil bych zalozit novy formular, na nej jen dva buttony a zkusit to
takhle, bez dopisovani kodu, co to udela. Jinak nevim.

Jeste me napada, jestli nezaviras okno pomoci Close (aniz by predtim doslo k
nastaveni ModalResult), to by mozna mohlo tez vest k podobnemu efektu.

David Lebeda
> Pouze u tlacitka s ModalResult = mrCancel jinak ne ....
> Rumcajs
> > > mam formular a na nem dve tlacitka typu BitBtn. Jedno je nastaveno
> > > jako ModalResult = mrCancel a druhe jako MiodalResult = mrYes. Ale
> > > i kdyz to tak nastavim, tak navrat z ShowModal mam vzdy 2
> > > (mrCancel), a to i kdyz tem tlacitkam nastavim mrNone. Nemate
> > > nekdo tuseni v cem je zrada? Rumcajs D6 Prof., WinMeeee

> > nemas nastavenou property Cancel na True? Podobne viz prop.
> > Default.
> >

ShowModal a ModalResult vzdy roven 2

[*] Rumcajs - konference <konrum(zv)seznam(tec)cz> - 30.9.2002 09:17:01

> Ahoj,
>
> to je divny. Zkusil bych zalozit novy formular, na nej jen dva buttony a
zkusit to
> takhle, bez dopisovani kodu, co to udela. Jinak nevim.

Takhle jsem to taky zkousel a fungovalo to jak kdy ....

>
> Jeste me napada, jestli nezaviras okno pomoci Close (aniz by predtim doslo
k
> nastaveni ModalResult), to by mozna mohlo tez vest k podobnemu efektu.

ModalResult jsem nastavoval budto primo v Delphi a nebo jsem to zadal do
OnCreate toho formulare

>
> David Lebeda
>
>
> > Pouze u tlacitka s ModalResult = mrCancel jinak ne ....
> > Rumcajs
> > > > mam formular a na nem dve tlacitka typu BitBtn. Jedno je nastaveno
> > > > jako ModalResult = mrCancel a druhe jako MiodalResult = mrYes. Ale
> > > > i kdyz to tak nastavim, tak navrat z ShowModal mam vzdy 2
> > > > (mrCancel), a to i kdyz tem tlacitkam nastavim mrNone. Nemate
> > > > nekdo tuseni v cem je zrada? Rumcajs D6 Prof., WinMeeee
>
> > > nemas nastavenou property Cancel na True? Podobne viz prop.
> > > Default.
> > >
>
>


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

Existuje opak onMouseMove?

[*] Alexandr Stefek <alex(zv)scova.vabo(tec)cz> - 30.9.2002 09:19:32



>The WM_MOUSELEAVE message is posted to a window when the cursor leaves the
>client area of the window specified in a prior call to TrackMouseEvent.

>A window receives this message through its WindowProc function.
>Alexandr STEFEK


Bohuzel jsem nic jako WM_MOUSELEAVE v helpu nenasel. Nasel jsem jenom
WM_MOUSEMOVE, WM_MOUSEFIRST, WM_MOUSELAST.

Ale ano, viz MS SDK 9/2002

Minimum DLL Version None
Header Declared in Winuser.h, include Windows.h
Minimum operating systems Included in Windows 98, Windows NT 4.0

ShowModal a ModalResult vzdy roven 2

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 30.9.2002 09:37:54

> > to je divny. Zkusil bych zalozit novy formular, na nej jen dva
> > buttony a
> zkusit to
> > takhle, bez dopisovani kodu, co to udela. Jinak nevim.
>
> Takhle jsem to taky zkousel a fungovalo to jak kdy ....

S timhle jsem nikdy nemel problemy, nekde musi byt nejaka chyba. Ale poznat ji
takhle na dalku neumim.

> > Jeste me napada, jestli nezaviras okno pomoci Close (aniz by predtim
> > doslo
> k
> > nastaveni ModalResult), to by mozna mohlo tez vest k podobnemu
> > efektu.
>
> ModalResult jsem nastavoval budto primo v Delphi a nebo jsem to zadal
> do OnCreate toho formulare

ModalResult na buttonu jsem ted nemel na mysli, dulezita je ModalResult property
formu.

Kdyz kliknes na tlacitko, ktere ma ModalResult <> mrNone, tak to vede k zavreni
formu a do ModalResult formu se zapise ModalResult z tlacitka. Pokud ale nekde
zavolas Close primo, ma to zrejme podobny efekt jako zavreni krizkem, tj. pouzije
mrCancel. O nastaveni ModalResult formu by ses v takovem pripade musel postarat
sam.

Jestli Ti tohle nejak nepomuze, tak uz me nic dalsiho nenapada.

David Lebeda

Kopirovani z jednoho TImage do druheho

[*] Sula Milos <milos.sula(zv)oku-su(tec)cz> - 30.9.2002 10:28:49

Potrebuji poradit , jak zkopiruji obrazek (jpg,bmp,atd.) z jednoho
TImage do druheho. Nechci kopirovvat pres TImage.canvas, nebot canvas
obsahuje pouze "viditelna" data. Ja chci prekopirovat cely obrazek.
Zkousel jsem take Image.Picture.Graphic.SaveToSTream a pak
LoadFromStream, ale to mi hlasi chybu pri nacitani ze streamu. Muzete
nekdo poradit jak na to ?


Milos

Existuje opak onMouseMove?

[*] JiriKrakora(zv)skh(tec)cz - 30.9.2002 11:07:35

This is a multipart message in MIME format.
Alexandr Stefek" <alex(zv)scova.vabo(tec)cz> wrote:
---------------------------------------------

>Ale ano, viz MS SDK 9/2002

>Minimum DLL Version None
>Header Declared in Winuser.h, include Windows.h
>Minimum operating systems Included in Windows 98, Windows NT 4.0
--------------------------------------------------------------------------------

Nasel jsem si to na MSDN, ale neumim to obslouzit. Jsem zacatecnik a v
Delphi helpu to neni. Mohl bys mi, prosim nacrtnout navod, jak obslouzit
tuhle udalost v Delphi? Mam tam tohle na MouseMove:


procedure TMainForm.ImageMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
StatusBar.Panels[0].Text := 'x = ' + IntToStr(x) + ' y = ' +
IntToStr(y);
end;


Jak k tomu mam pridat WM_MOUSELEAVE a jak to mam napsat?

Fce z C - DLL

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 30.9.2002 11:08:22

>> if MojeFce('Nejaky text', Buffer) then
>take bych mozna trochu poopravil, jinak to nebere
>
> if MojeFce(PChar('Nejaky tex'), Buffer) then

to by nemelo hrat roli. Kompilator vi jak s konstantnim textem
zachazet

D. Toman

mdb(access) a pristup po internetu

[*] kevin33(zv)post(tec)cz - 30.9.2002 11:19:32

zdravim,

rad bych se zeptal na moznosti pripojeni na *.mdb po internetu. mam
aplikaci ktera vyuziva access databazi lokalne na jednom pocitaci. a
uzivatele se ted chteji k teto databazi pripojovat vzdalene.
aplikace vyuziva ado-tquery, delphi5, system w2k nebo w98

dekuji

ps: napadlo me mdb nasdilet a pak se k nemu pripojit pomoci
connection stringu ve kterem by cesta byla zadana jako
\\server\cesta\*.mdb ale nevim jestli to je nejlepsi reseni

Jak priradit event pri vytvareni komponent za behu

[*] JiriKrakora(zv)skh(tec)cz - 30.9.2002 12:16:13

This is a multipart message in MIME format.
Zdravim.

Kliknutim na Image vytvarim TEdit. Nemuzu mu dat jmeno, protoze ho
vytvarim vicekrat. Potrebuji mu dat event OnKeyPress, ktery by vyvolal
proceduru MakeLabel. Ta by mela v miste TEditu, z ktereho byla volana,
vytvorit TLabel s textem, prevzatym z TEditu a pak by mela ten TEdit
smazat. Problem je, ze presne nevim, jak to vytvorit a co te procedure
predat a jak.
procedure MakeLabel(... Jak na to? ...)
begin
case Key of
Chr(13) : ...NECO...;
end;

procedure TMainForm.ImageMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
with TEdit.Create(self) do
begin
Parent := self;
OnKeyPress := MakeLabel(... Tady nevim co mam vsechno predat. Asi ten
TEdit, x,,y souradnice a Key. Ale nevim jak to mam predat...)
end;
end;
Muze mi nekdo poradit? Dekuji.
Jiri Krakora


paging file?

[*] Peter Surovy <psurovy(zv)uevora.pt> - 30.9.2002 11:17:50

Ahoj

> Dynamick� pole.
> nastaveni veliskoti pak
> SetLength(pole, 20000);

--dik vsetkym za rady rozchodil som to
ale za velmi zvlastnych okolnosti a preto by som mal hned niekolko otazok.
1.Kde by som nasiel ako presne funguje SetLength lebo Help o tom
moc nepojednava.

2.Niekde som cital ze pouzivanie dynamickych poli nie je zrovna stastne
riesenie je to pravda?

3. Definujem dlzku pola Setlength(pole, hodnota) takymito hodnotami:
10,15,11,10, 13 pri poslednom dostanem AccesViolation zeby povercivost?
Nastavim Setlength(pole, hodnota+1) ide vsetko ok.
{aj ked mozno toto nie je chyba SetLength ale niekde inde v kode.}

!!! 4. !!!
Vsetko ide ok az kym hodnota dlzky pola nenadobudne
velkost 33084... obdrzim niekolko acces violation + runtime error
pritom hodnota NewLength je typ integer takze tam by problem nemal byt.

Dik Peter


Spousteni Delphi 6 ze site

[*] Petr Dlabal <petr(zv)dlabal(tec)net> - 30.9.2002 12:29:26

Dobry den
mame tu takovy problem: potrebujeme spoustet Delphi 6 ze site, ale nemame
moznost nastavit prava zapisu k adresari bin. Delphi se spousti s hlaskou ze
nelze vytvorit soubor delphi32.$$$ v adresari bin. Udajne na to existuje
nejaky zaznam v registru, zkouseli jsme ale vsechno mozne a nic se nam
nedari. Poradte co s tim.
Diky
PD

Fce z C - DLL

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 30.9.2002 12:33:21


>>EXPORTS
>> (zv)MojeFce (zv)1 ; MojeFce

>>bodejt kdyz ta funkce podle vseho neni exportovana pod jmenem ale
pod
>>cislem (1). Bud predelat CCko aby se takova cunarna nekonala nebo v
>>Delphi v deklaraci pripsat prislusnou direktivu (ted nevim jetli to
je
>>'index' nebo neco jineho.
>
>tak to asi ne.....ta fce tam je a jmenuje se MojeFce, v BCB ji
normalne nactu
>toto je vypis z utilitky impdef.exe, ktera je soucasti Borlandu
>
>impdef.exe MojeDLL.def MojeDLL.dll

s tim indexem jsem asi nemel pravdu. Ale stejne bych se alespon text
viewerem podival na DLLko a hledal text 'MojeFce'. POkud tam nebude je
to problem. Pokud tam je nemeli by kolem nej byt podtrzitka a
zavinace. Nejjistejsi je vzit nejaky PE viewer a podivat se na jmena
exportovanych funkci. Tak zjistis presne jak to CCko exportuje. Pred
par mesicema jsem se s tim dost nazlobil (nenasel jsem zapis deklarace
exportovanych funkci pouzitelny jak pro MS C++ tak pro BC++. Nakonec
jsem, pouzil neco jako:

#ifdef __BCPLUSPLUS__
#define PPAPIENTRY _export _stdcall
#else
#define PPAPIENTRY __declspec( dllexport ) __stdcall
#endif

vlastni pouziti pak:

extern "C" HRESULT APIENTRY PPP_POP3_Scan(DWORD MessageHandle);

*.DEF file jsem nepouzil (byly s tim taky problemy, udrzba atd)

mozna to slo vyresit lip. Ale ja pro zmenu zase nejsem Cckar a
spokojil jsem se s prvnim vyhovujicim resenim..


D. Toman


Jak priradit event pri vytvareni komponent za behu

[*] tomsir1.edu(zv)mail.cez(tec)cz - 30.9.2002 12:43:34


ja bych tam dal Sender : TObject ...

procedure MakeLabel(Sender:TObject)
begin
� case Key of
Chr(13) : ...NECO...;
end;


a potom v TEdit.Create ... se pak prirazuje takto :

procedure TMainForm.ImageMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
� with TEdit.Create(self) do
� begin
� � Parent := self;
� � OnKeyPress := MakeLabel;
� end;
end;


JiriKrakora(zv)skh(tec)cz(zv)clexpert(tec)cz on 30.09.2002 12:16:13

Odpov�zte pros�m - delphi-l(zv)clexpert(tec)cz

Odesl�no k�m: delphi-l-owner(zv)clexpert(tec)cz


Komu: delphi-l(zv)clexpert(tec)cz
Kopie:
P�edm�t: Jak priradit event pri vytvareni komponent za behu
programu?
Zdravim.

Kliknutim na Image vytvarim TEdit. Nemuzu mu dat jmeno, protoze ho vytvarim
vicekrat. Potrebuji mu dat event OnKeyPress, ktery by vyvolal proceduru
MakeLabel. Ta by mela v miste TEditu, z ktereho byla volana, vytvorit
TLabel s textem, prevzatym z TEditu a pak by mela ten TEdit smazat. Problem
je, ze presne nevim, jak to vytvorit a co te procedure predat a jak.
procedure MakeLabel(... Jak na to? ...)
begin
� case Key of
Chr(13) : ...NECO...;
end;

procedure TMainForm.ImageMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
� with TEdit.Create(self) do
� begin
� � Parent := self;
� � OnKeyPress := MakeLabel(... Tady nevim co mam vsechno predat. Asi ten
TEdit, x,,y souradnice a Key. Ale nevim jak to mam predat...)
� end;
end;
Muze mi nekdo poradit? Dekuji.
Jiri Krakora

Fce z C - DLL

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 30.9.2002 12:47:31

>function Fce(const AParam:string,...
>...
> MojeFce(AParam,...)
>
>tak to hazi chybu < Incompatible types : 'String' and 'PChar' >

jasne - tam je to pretypovani nutne uvest (ale opet ne v pripade, ze
te funkci predavas textovy literal)


D. Toman


SQL parser

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 30.9.2002 12:50:45

Ahoj,

hledam SQL parser, ktery mi z SQL dotazu (s joiny) dokaze sestavit seznam dvojic
tabulka-jmeno. Jinou funkcnost nepotrebuji.

Napr.

select a.id, a.nazev, b.cena, c.* from tabulka1 a
left join tabulka2 b on bla bla
left join tabulka3 c on bla bla


Vysledek:

tabulka1 id
tabulka1 nazev
tabulka2 cena
tabulka3 id
tabulka3 nazev
tabulka3 kategorie
tabulka3 atd.

Vim, ze k rozlozeni hvezdicky na seznam sloupcu je treba spoluprace SQL serveru,
to je OK. Vite nekdo o necem, co by aspon castecne resilo popsany problem? Ja
jsem sice neco stahl z internetu, ale na druhou stranu bych nerad stravil nekolik dni
hledanim a zkousenim vsech nalezenych produktu.

D5E, FB1.0, IBX 4.52

Diky

David Lebeda

Master-detail v hlavicce skupiny

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 30.9.2002 13:16:31

Ahoj,

mam slozitejsi sestavu s master-detail podsestavami v Sinee. Pokud
je sestava detailu v tele sestavy, je vse OK. Nyni bych ji potreboval
strcit do hlavicky skupiny. Tam se ovsem sestava detailu nespocita,
ac to v danem pripade je mozne. Neexistuje nejaky jednoduchy
zpusob, jak Sineu presvedcit, aby i takto umisteny detail fungoval?

Sinea 2002.

Dik

David Lebeda

Fce z C - DLL

[*] Blazek Jaroslav <Jaroslav.Blazek(zv)access-it(tec)cz> - 30.9.2002 12:37:07

Ahoj,

> dtoman(zv)fortech(tec)cz 30.9.02 10:08 >>>
>> if MojeFce('Nejaky text', Buffer) then
>take bych mozna trochu poopravil, jinak to nebere
>
> if MojeFce(PChar('Nejaky tex'), Buffer) then

>to by nemelo hrat roli. Kompilator vi jak s konstantnim textem
>zachazet

Aha....no takhle to opravdu jde, ale jakmile mam

function Fce(const AParam:string,...
...
MojeFce(AParam,...)

tak to hazi chybu < Incompatible types : 'String' and 'PChar' >


S pozdravem

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

Parametr v ORDER BY

[*] Petr Jendrejovsky <jermen-delphi(zv)atlas(tec)cz> - 30.9.2002 13:41:54

Uctive pozdraveni!
Vim, ze uz se tu o tom diskutovalo a vyreseno to bylo pomoci fce FORMAT, ale
ja bych prece jenom potreboval reseni bez pouziti FORMATu, tj. s pouzitim
TQuery.Params.

Pokud pouziji nasledujci SQL:

Data.MainQuery.SQL.Clear;
Data.MainQuery.SQL.Add('SELECT * FROM Music ORDER BY :Order ASC');

a posleze dodam:

Data.MainQuery.ParamByName('Order').AsString:='Artist';
Data.MainQuery.Open;

Tak mi to vrati "Invalid use of keyword. Token: ?, Line Number:1".

Existuje nejake reseni nebo to lze jedine pomoci toho FORMATu?

Dik.

Jermen (jermen-delphi(zv)atlas(tec)cz)

paging file?

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 30.9.2002 13:44:40

> ale za velmi zvlastnych okolnosti a preto by som mal hned niekolko
otazok.
> 1.Kde by som nasiel ako presne funguje SetLength lebo Help o tom
> moc nepojednava.

na jeho fujkci neni nic magickeho. Pokud chces znat detaily tak se
koukni CPU oknem jak je to prelozeno a nasledne se podivej do
system.pas a spol na prislusne zdrojaky. (de v podstate jen o alokaci
ci realokaci pameti pro objekt)> 2.Niekde som cital ze pouzivanie dynamickych poli nie je zrovna
stastne
> riesenie je to pravda?

problematicke to neni ale mohlo by byt. Jediny problemem je tzv
fragmentace heapu. Ten vznika ve chvili kdy se casto alokuji a
uvolnuji mensi bloky pameti. Casem muze nastat problem, ze v celkovem
souctu volnych bloku je spousta volneho mista ale presto nebude mozne
pozadavano pamet alokovat (nejvetsi volny blok je mensi nez pozadovana
velikost pameti).
Tento problem vznika casto prave pri praci s dlouhymi poli a to kdyz
je toto pole prodluzovano (to znamena pomoci SetLength se zvysi delka
pole).

Casto je efektivnejsi prejit na spojovy seznam....

> 3. Definujem dlzku pola Setlength(pole, hodnota) takymito hodnotami:
> 10,15,11,10, 13 pri poslednom dostanem AccesViolation zeby
povercivost?
> Nastavim Setlength(pole, hodnota+1) ide vsetko ok.
> {aj ked mozno toto nie je chyba SetLength ale niekde inde v kode.}
>
> !!! 4. !!!
> Vsetko ide ok az kym hodnota dlzky pola nenadobudne
> velkost 33084... obdrzim niekolko acces violation + runtime error
> pritom hodnota NewLength je typ integer takze tam by problem nemal
byt.

je taky treba uvazovat skutecnou velikost pameti polem obsazenou
(nasobit pocet prvku pole velikosti prvku) - je mozne, ze proste uz
tolik pameti v PC nemas...

Zdravi
D. Toman

cgi

[*] Viliam Mlich <vmlich(zv)mbox.vol(tec)cz> - 30.9.2002 12:49:36

> Nemel by prosim vas nekdo z vas nejakej help, nebo priklad s popisem
> (nejlip v cestine) na cgi skript?

Na to ziaden help nepotrebujes. CGI-skript je program ako kazdy iny,
akurat v STDIN (nacitas pomocou read) dostane parametre a do STDOUT
vratis vystup (pomocou 'writeln').

Takto nejak vypada zaciatok:

=== cut begin TESTCGI.DPR ===

program testcgi;
{$APPTYPE CONSOLE}
uses
SysUtils, windows, ShellAPI;
var
input : string;

... atd ...

begin
Writeln('Content-type: text/html',#13,#10); //rika ze vystup je HTML

if (Pos('GET',GetEnvVar('REQUEST_METHOD')) > 0)
then input:=GetEnvVar('QUERY_STRING')
else if (Pos('POST',GetEnvVar('REQUEST_METHOD')) > 0)
then read(input)
else begin
read(input);
input:=input+'&'+GetEnvVar('QUERY_STRING');
end;
... atd ...

Este je problem povyberat z toho vstupneho streamu parametre, ja to
robim takto:

function hodnota_parametru (const jmeno: string):string;
var
zacatek, konec : integer;
begin
zacatek:=Pos((jmeno+'='),input);
if zacatek = 0 //ked neni vobec parameter
then begin
Result:='';
Exit;
end;
zacatek:=zacatek+Length(jmeno)+1; // "+1" je "="
Result:=copy(input,zacatek,Length(input)-zacatek+1); //keby nebol "&"
konec:=pos('&',Result)-1;
if konec>0
then Result := copy(Result,1,konec) // ked je "&" 2.
else if konec = 0 then result:=''; // ked je "&" hned
Result:=DecodeURL(Result);
end;

V pokrocilejsich verziach delphi je na to aj nejaka komponenta, ale
nejak som sa s nou neskamaratil, nerad pouzivam veci, do ktorych nevidim
a na moj vkus to bolo prilis zlozite. To 'DecodeURL' prevadza znaky,
ktore su vo vstupnom stringu ako '%9F' na normalny znak:

function DecodeURL(const Value: string): string;
var
x: Integer;
c: Char;
s: string;
begin
Result := '';
x := 1;
while x <= Length(Value) do
begin
c := Value[x];
Inc(x);
if c <> '%' then
if c = '+'
then Result:=Result+' '
else Result := Result + c
else
if x < Length(Value) then
begin
s := Copy(Value, x, 2);
Inc(x, 2);
if pos(#13, s) + pos(#10, s) = 0 then
Result := Result + Char(StrToIntDef('$' + s, 32));
end;
end;
end;

bye
vmlich

Parametr v ORDER BY

[*] Ing. Pavel �ilinec����)b���zf���3 - 30.9.2002 13:59:06

Nefunguje to proto, ze
Data.MainQuery.ParamByName('Order').AsString:='Artist' vlozi ten text
i s apostrofy a v te chvili je z toho nesmysl.
Krome pouziti formatu muzes text rovnou poskladat, ale tim vznikne
stejne to same:
MyOrder := 'Artist';
Data.MainQuery.SQL.Add('SELECT * FROM Music ORDER BY ' + MyOrder + ' ASC');
Samozrejme dle Tveho prikladu mohu napsat rovnou
Data.MainQuery.SQL.Add('SELECT * FROM Music ORDER BY Artist ASC'); :)
--------
ing. Pavel Zilinec
MailTo:zilinec(zv)email(tec)cz

Prog-Soft s.r.o. Plzen
Informacni system pro vyrobce
a distributory napoju

PJ> Uctive pozdraveni!
PJ> Vim, ze uz se tu o tom diskutovalo a vyreseno to bylo pomoci fce FORMAT, ale
PJ> ja bych prece jenom potreboval reseni bez pouziti FORMATu, tj. s pouzitim
PJ> TQuery.Params.

PJ> Pokud pouziji nasledujci SQL:

PJ> Data.MainQuery.SQL.Clear;
PJ> Data.MainQuery.SQL.Add('SELECT * FROM Music ORDER BY :Order ASC');

PJ> a posleze dodam:

PJ> Data.MainQuery.ParamByName('Order').AsString:='Artist';
PJ> Data.MainQuery.Open;

PJ> Tak mi to vrati "Invalid use of keyword. Token: ?, Line Number:1".

PJ> Existuje nejake reseni nebo to lze jedine pomoci toho FORMATu?

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