Archív konference Delphi
Zpět na výběr roku archívu nebo přejít na fulltextové vyhledávání v konferenci.
zaloha MySQL DB
[*] likeapear <likeapear(zv)centrum(tec)cz> - 10.10.2005 10:08:44
Tohle mi snad bude stacit. Dekuji.
{likeapear}
Jiri Matejka napsal(a):
> Ja na to pouzivam mysqldump, neni to sice buhvijak komfortni, ale umi to
> zalohovat DB na jiny stroj (kde bezi MySQL), nebo do textaku v podobe SQL
> insertu, pro moje potreby celkem dostacujici. Pracuju s MySQL 4.0.x, ted uz
> je snad i 5.0, treba je tam neco lepsiho.
>
> Jirka Matejka
zaloha MySQL DB
[*] Cizek.Milan <cizek.milan(zv)seznam(tec)cz> - 10.10.2005 09:16:39
> Ja na to pouzivam mysqldump, neni to sice buhvijak komfortni, ale umi to
> zalohovat DB na jiny stroj (kde bezi MySQL), nebo do textaku v podobe SQL
> insertu, pro moje potreby celkem dostacujici. Pracuju s MySQL 4.0.x, ted uz
> je snad i 5.0, treba je tam neco lepsiho.
Tak se omlouvam za ten predesly email, popletl jsem si konferenci. :)
Milan
zaloha MySQL DB
[*] Cizek.Milan <cizek.milan(zv)seznam(tec)cz> - 10.10.2005 09:14:38
> Ja na to pouzivam mysqldump, neni to sice buhvijak komfortni, ale umi to
> zalohovat DB na jiny stroj (kde bezi MySQL), nebo do textaku v podobe SQL
> insertu, pro moje potreby celkem dostacujici. Pracuju s MySQL 4.0.x, ted uz
> je snad i 5.0, treba je tam neco lepsiho.
Ahoj, pokud vam to pomuze kdysi jsem si napsal tento skript. Vyhodou je uchovani x poslednich zaloh a take fakt, ze pokud se zaloha z nejakeho duvodu nezdari, starsi se neprepisi. Muzete se si tam jeste dodelat treba poslani vysledku na email.
Milan
#!/usr/bin/perl
my $path = "c:\\";
my $filename = $path.&getbackupname(time());
# uchovavat starsich starsich zaloh
my $oldercnt = 2;
sub getbackupname()
{
my($timestamp) = (zv)_;
my($day,$month,$year) = (localtime($timestamp))[3,4,5];
return sprintf "backup-%02d.%02d.%d.sql",$day,$month,1900+$year;
}
sub mysqldump()
{
my($host,$db,$user,$pass) = (zv)_;
my $params = "-v --opt --databases $db --host=$host --user $user";
if ($pass ne undef) { $params .= " --password=$pass"; }
my($command) = "c:\\phpdev\\mysql\\bin\\mysqldump $params > $filename";
return system($command);
}
if (&mysqldump("localhost","databaze","user","pass") == 0)
{
print "Export sucessfull.\n";
foreach $soubor (glob($path."backup-??.??.????.sql"))
{
(zv)fileinfo = stat($soubor);
$soubory{$soubor} = $fileinfo[9];
}
print "Delete older backups...\n";
my $count = 0;
foreach $soubor (sort {$soubory{$a}<=>$soubory{$b}} keys %soubory)
{
if ($count < $oldercnt)
{
unlink($soubor);
print "-- $soubor => $soubory{$soubor}\n";
}
$count++;
}
}
else
{
print "Export error (unfinished file deleted).\n";
unlink($filename);
}
DLL a record
[*] Milan Tomes <delphi(zv)haida(tec)cz> - 10.10.2005 08:54:36
Ah tak... Omlouvam se za mateni - zil jsem v klamne predstave a pod vlivem
WinAPI, kde se to resi prave takto... No nic... Pouceni pro priste...
S pozdravem
Milan Tomes
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Petr Fejfar
> Sent: Sunday, October 09, 2005 8:17 PM
>
> Milan Tomes wrote:
>
> > Osobne si myslim, ze tohle je spatne pouziti - kdo bude
> alokovat pamet
> > na navratovou hodnotu a kdo ji bude dealokovat ???
>
> Co by kdo kde alokoval? Navratova hodnota typu record se
> predava jako skryty VAR argument, takze volani
>
> var Rec:TRec;
> ...
> Rec := FunctionXY(.....);
>
> prekladac prelozi v podstate jako
>
> FunctionXY(...., Rec);
>
> A nikde se nemusi nic alokovat ani uvolnovat. viz take help
> Object Pascal Reference | Program Control | Parameters and
> function results | Function results
zaloha MySQL DB
[*] Jiri Matejka <matejka(zv)stemmark(tec)cz> - 10.10.2005 08:50:36
Ja na to pouzivam mysqldump, neni to sice buhvijak komfortni, ale umi to
zalohovat DB na jiny stroj (kde bezi MySQL), nebo do textaku v podobe SQL
insertu, pro moje potreby celkem dostacujici. Pracuju s MySQL 4.0.x, ted uz
je snad i 5.0, treba je tam neco lepsiho.
Jirka Matejka
----- Original Message -----
From: "Jiri Baudys" <konference(zv)baudys.name>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Saturday, October 08, 2005 11:51 PM
Subject: zaloha MySQL DB
> Krasny den,
> chtel jsem se optat, jaky je "nejlepsi" zpusob zalohovani mysql DB ?
>
> diky za radu
>
> jirka
>
>
>
duplikace (synchronizace) databaze v MySQL
[*] likeapear <likeapear(zv)centrum(tec)cz> - 10.10.2005 08:34:30
Ahoj,
mam aplikaci pracujici s MySQL (pouzivam komponenty Zeos 6.5.1-alpha).
Aplikace si zalozi databazi, tabulky (obsahuji autoinkrementalni
polozky) a pracuje (hezky a pekne). Ted bych potreboval na zaklade uziv.
akce zkopirovat celou databazi nekam na vzaleny server (nekde na
internetu). Jak to udelat? Je na to nejaky prikaz specialni pro MySQL?
Nebo je nutne vzdalenou databazi rucne zalozit a data tam postupne
nahrnout? Jak zajistim aby se mi zachovaly hodnoty autoinkrementalnich
polozek?
Dekuji, chapu, ze je to trochu stupidni dotaz, takze sorry.
{likeapear}
float to integer
[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 9.10.2005 22:29:46
Vlastimil Burian wrote:
> var
> X: Integer;
> Y: Extended;
>
> begin
> // Y := 5;
> X := StrToInt(FloatToStr(Y));
// cela cast floatu
X := Int(Y);
// "bankerske" zaokrouhleni
X := Round(Y);
// aritmeticke zaokrouhleni, kopie z JCL
function CommercialRound(const X: Float): Int64;
begin
Result := Trunc(X);
if Frac(Abs(X)) >= 0.5 then
Result := Result + Sgn(X);
end;
Martin Schayna
float to integer
[*] Jan Novak <delfin4(zv)volny(tec)cz> - 9.10.2005 22:21:44
> X := StrToInt(FloatToStr(Y));
Ja pouzivam Trunc
float to integer
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 9.10.2005 22:15:37
9.10.2005 Vlastimil Burian:
> %subj% - ne ze by byl problem napsat to nasledujicim zpusobem ale prijde mi
> to jako znasilnovani konverznich funkci, lepsi zpusob neni ?
> var
> X: Integer;
> Y: Extended;
> begin
> // Y := 5;
> X := StrToInt(FloatToStr(Y));
> end;
A co funkce jako Round(), Trunc(), Floor(), Ceil()...
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
float to integer
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 9.10.2005 20:55:32
%subj% - ne ze by byl problem napsat to nasledujicim zpusobem ale prijde mi
to jako znasilnovani konverznich funkci, lepsi zpusob neni ?
var
X: Integer;
Y: Extended;
begin
// Y := 5;
X := StrToInt(FloatToStr(Y));
end;
DLL a record
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 9.10.2005 20:17:29
Milan Tomes wrote:
> Osobne si myslim, ze tohle je spatne pouziti - kdo bude alokovat
> pamet na navratovou hodnotu a kdo ji bude dealokovat ???
Co by kdo kde alokoval? Navratova hodnota typu record se predava
jako skryty VAR argument, takze volani
var Rec:TRec;
...
Rec := FunctionXY(.....);
prekladac prelozi v podstate jako
FunctionXY(...., Rec);
A nikde se nemusi nic alokovat ani uvolnovat. viz take help Object Pascal
Reference | Program Control | Parameters and function results | Function
results
pf
DLL a record
[*] Milan Tomes <delphi(zv)haida(tec)cz> - 9.10.2005 18:25:19
Osobne si myslim, ze tohle je spatne pouziti - kdo bude alokovat pamet na
navratovou hodnotu a kdo ji bude dealokovat ???
Standardni pouziti je takove, ze funkce dostane pointer na strukturu, kterou
naplni tedy takto:
function aaa(Aresult: PRec): BOOL
A ve funkci se to provede takto:
Aresult^.int1 := 1;
Aresult^.int2 := 2;
Aresult^.int3 := 3;
Result := true;
S pozdravem
Milan Tomes
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Lebeda David
> Sent: Friday, October 07, 2005 8:43 AM
>
> mam DLL, ve ktere je funkce, u ktere bych chtel, aby vracela
> record slozeny ze tri smallintu. Tj. neco takoveho:
>
> TRec = packed record
> int1, int2, int3: smallint;
> end;
>
> Deklarace TRec je v unite, kterou pouziva DLL i volajici
> aplikace. V DLL je pak tato funkce (uvadim jen principialni model):
>
> function aaa: TRec;
> begin
> result.int1 := 1;
> result.int2 := 2;
> result.int3 := 3;
> end;
>
> Nez se pustim do predelavky DLL, se chci radsi predem zeptat,
> jestli tady bude nejaky problem, nebo je to korektni pouziti?
zaloha MySQL DB
[*] Jiri Baudys <konference(zv)baudys.name> - 8.10.2005 23:51:56
Krasny den,
chtel jsem se optat, jaky je "nejlepsi" zpusob zalohovani mysql DB ?
diky za radu
jirka
Monitoring vlaken
[*] milan kr�'ta <krata.milan(zv)seznam(tec)cz> - 8.10.2005 20:13:40
> ahoj potrebuji monitorovat vlakna tj, start a ukonceni jak to resite?
> Respektive jake je nejcistejsi reseni?
>
No ja to resim vetsinou tim ze hlavni form ma v sobe nejake logovaci okno
nebo memo do ktereho si posilam logy pres WMessage.
Posledni dobou uvazuji ze bych si spis napsal nejaky thread ktery by logy
obcas zapsal na disk abych mohl hledat chyby v komunikaci nebo v obsluze.
Milan
Problem s kopirovanim obsahu plochy do TBitmap
[*] Peter Svetlik <peternal(zv)seznam(tec)cz> - 7.10.2005 16:01:35
Roman Kubin napsal(a):
> Zdravim,
> pouzivam tuto funkci pro zkopirovani obsahu obrazovky do TBitmap, muj
> problem spociva v tom, ze pri mnohonasobnem volani teto funkce (cca 5000) mi
> vyskoci hlaska "Canvas doesn't allow drawing", nevite kde delam chybu, nebo
> neznate jiny lepsi zpusob?
> Diky, Roman Kubin
> D5, WinXP
>
> procedure ScreenToBitmap(Bitmap: TBitmap);
> var
> ScreenCanvas: TCanvas;
> ScR : TRect;
> begin
> ScR := Rect(0, 0, Screen.Width, Screen.Height);
> Bitmap.Weight := ScR.Bottom;
> Bitmap.Width := ScR.Right;
> ScreenCanvas := TCanvas.Create;
> try
> ScreenCanvas.Handle := GetWindowDC(GetDesktopWindow);
> Bitmap.Canvas.CopyRect(ScR, ScreenCanvas, ScR);
> ReleaseDC(ScreenCanvas.Handle,GetDesktopWindow);
> finally
> ScreenCanvas.Free;
> end;
> end;
Pravdepodobne sa jedna o problem neuvolnovania zdrojov.
Tipol by som si, ze v ScreenToBitmap by si nemal volat ReleaseDC.
Peter Svetlik.
DLL a record
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 7.10.2005 12:43:21
Dalibor Toman wrote:
> jedine snad - doplnit definici zaznamu magickym sluvkem packed -
To tam ma:
> TRec = packed record
> int1, int2, int3: smallint;
> end;
pf
DLL a record
[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 7.10.2005 12:03:18
DD,
On Friday, October 07, 2005 9:21 AM ,
Petr Fejfar <development(zv)callnet(tec)cz> wrote:
> Lebeda David wrote:
>
>> Nez se pustim do predelavky DLL, se chci radsi predem zeptat,
>> jestli
>> tady bude nejaky problem, nebo je to korektni pouziti?
>
> Help:
>
> For static-array, record, and set results, if the value occupies one
> byte it is returned in AL; if the value occupies two bytes it is
> returned in AX; and if the value occupies four bytes it is returned
> in EAX. Otherwise, the result is returned in an additional var
> parameter that is passed to the function after the declared
> parameters.
>
> Takze volajici preda do funkce pointer na promennou typu TRec a ta
> funkce se na ni bude odkazovat pres ten pointer a tudiz zadny
> problem
> nehrozi.
jedine snad - doplnit definici zaznamu magickym sluvkem packed -
proste si zajistit, ze i pristi verze kompilatoru ten record prelozi
stejne a pripadne usnadnit moznost pouziti DLL i z jinych jazyku nez
Borlad Pascalu
D. Toman
Problem s kopirovanim obsahu plochy do TBitmap
[*] Roman Kubin <r.kubin(zv)jcee(tec)cz> - 7.10.2005 12:01:18
Zdravim,
pouzivam tuto funkci pro zkopirovani obsahu obrazovky do TBitmap, muj
problem spociva v tom, ze pri mnohonasobnem volani teto funkce (cca 5000) mi
vyskoci hlaska "Canvas doesn't allow drawing", nevite kde delam chybu, nebo
neznate jiny lepsi zpusob?
Diky, Roman Kubin
D5, WinXP
procedure ScreenToBitmap(Bitmap: TBitmap);
var
ScreenCanvas: TCanvas;
ScR : TRect;
begin
ScR := Rect(0, 0, Screen.Width, Screen.Height);
Bitmap.Weight := ScR.Bottom;
Bitmap.Width := ScR.Right;
ScreenCanvas := TCanvas.Create;
try
ScreenCanvas.Handle := GetWindowDC(GetDesktopWindow);
Bitmap.Canvas.CopyRect(ScR, ScreenCanvas, ScR);
ReleaseDC(ScreenCanvas.Handle,GetDesktopWindow);
finally
ScreenCanvas.Free;
end;
end;
DLL a record
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 7.10.2005 09:21:07
Lebeda David wrote:
> Nez se pustim do predelavky DLL, se chci radsi predem zeptat, jestli
> tady bude nejaky problem, nebo je to korektni pouziti?
Help:
For static-array, record, and set results, if the value occupies one byte it
is returned in AL; if the value occupies two bytes it is returned in AX; and
if the value occupies four bytes it is returned in EAX. Otherwise, the
result is returned in an additional var parameter that is passed to the
function after the declared parameters.
Takze volajici preda do funkce pointer na promennou typu TRec a ta funkce se
na ni bude odkazovat pres ten pointer a tudiz zadny problem nehrozi.
pf
DLL a record
[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 7.10.2005 08:43:04
Ahoj,
mam DLL, ve ktere je funkce, u ktere bych chtel, aby vracela record
slozeny ze tri smallintu. Tj. neco takoveho:
TRec = packed record
int1, int2, int3: smallint;
end;
Deklarace TRec je v unite, kterou pouziva DLL i volajici aplikace. V DLL
je pak tato funkce (uvadim jen principialni model):
function aaa: TRec;
begin
result.int1 := 1;
result.int2 := 2;
result.int3 := 3;
end;
Nez se pustim do predelavky DLL, se chci radsi predem zeptat, jestli
tady bude nejaky problem, nebo je to korektni pouziti? DLL je prelozena
bez balicku, muze byt pouzivana i z aplikaci nepsanych v Delphi.
Neresim ted volaci konvenci apod., ale ciste jen navratovou hodnotu.
Diky
David Lebeda
DLL a objekty formulare
[*] Bc. Jiri Cincura <diskuze(zv)cincura(tec)net> - 6.10.2005 21:02:14
Petr Berek wrote:
> Zdravim,
> zdarne jsem se naucil programovat DLL knihovny, ale narazil jsem na
> takovy problem. A sice, nevite nekdo, jestli je mozne pomoci DLL
> knihovny a jeji funkce menit treba velikost formulare, nebo jeho barvu.
> Diky Petr
>
>
>
>
Ahoj,
nejsem si ted jist, jestli to u formulare projde, ale kdyz udelas fci,
ktera ma jako param. nejaky formular, tak prece muzes lehce zmenit jeho
velikost, ne?. Stejne tak jako jakokaoli jina fce.
PS: Nezkousel jsem, varim z vody.
--
Bc. Jiri Cincura
http://www.ID3renamer.com/
http://www.x2develop.com/
ICQ: 314711544 | Yahoo!: x2develop
http://photo.cincura.net/
Poradi tlacitek na dialogu/formu
[*] Bc. Jiri Cincura <diskuze(zv)cincura(tec)net> - 6.10.2005 21:00:13
Lebeda David wrote:
> Mne osobne aplikce, ktere maji Storno vlevo a OK vpravo, pripadaji uz
> na prvni pohled nezvykle a pusobi to na me rusive. I kdyz nikomu
Jo to ja taky. Jedine kde to ocenuji, jsou dialogy, kde si chce byt
autor jist, ze jsem to precetl a vim co delam (a treba je jeste
"default" tlacitko prohozene).
--
Bc. Jiri Cincura
http://www.ID3renamer.com/
http://www.x2develop.com/
ICQ: 314711544 | Yahoo!: x2develop
http://photo.cincura.net/
DLL a objekty formulare
[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 6.10.2005 15:45:51
Zdravim,
zdarne jsem se naucil programovat DLL knihovny, ale narazil jsem na
takovy problem. A sice, nevite nekdo, jestli je mozne pomoci DLL
knihovny a jeji funkce menit treba velikost formulare, nebo jeho barvu.
Diky Petr
TXMLDocument a XERCES
[*] Jaromir Cermak <cermak(zv)procom(tec)cz> - 6.10.2005 14:55:48
Ahoj vsichni
Nevite nekdo jak dostat na pocitac, kde neni delphi podporu pro pouziti TXMLDocument.DOMVendor Xerces XML. Chtel bych vzit exac, prelozeny s timto parserem a spustit ho na pocitaci bez Delphi. Mam D7 Ent.
Diky
Jaromir Cermak
Zjisteni domovskeho adresare aktualniho uzivatele
[*] David Liska <davidliska.konf(zv)seznam(tec)cz> - 6.10.2005 13:47:42
> Dobry den,
> mam dotazek, jak v Delphi (6 Pro) zjistim domovsky adresar
> aktualniho uzivatele v 'Documents and Settings' (radsi i s
tohle by melo fungovat i pri problemech s lokalizacema (napr. zapnuti
hebrejskeho prostredi na ceskych woknech)
uses
ShlObj;
function GetWorkingDir: String;
var
W: array [0..2048] of WideChar;
IDL: PItemIDList;
function GetShortPathW(LongPath: WideString): WideString;
var
ShortPath: array [0..2048] of WideChar;
PLong, PShort: PWideChar;
begin
PLong := PWideChar(LongPath);
PShort := (zv)ShortPath;
Windows.GetShortPathNameW(PLong, PShort, 2048);
Result := ShortPath;
end;
begin
Result := '';
if Succeeded(SHGetSpecialFolderLocation(0, CSIDL_APPDATA, IDL)) then begin
SHGetPathFromIDListW(IDL, (zv)W);
Result := GetShortPathW(W);
end;
end;
David
Zjisteni domovskeho adresare aktualniho uzivatele
[*] MaReK Penguin Olsavsky <orsm(zv)centrum(tec)cz> - 6.10.2005 13:29:41
Dobry den,
mam dotazek, jak v Delphi (6 Pro) zjistim domovsky adresar aktualniho
uzivatele v 'Documents and Settings' (radsi i s tim, protoze jsem videl
i tak polokalizovany Win, ze tuto std. slozku meli prelozenu). Nevim,
jestli jsem se vyjadril presne, pro uzivatele Marek potrebuji vratit
retezec 'c:\Documents and Settings\Marek\' (za predpokladu, ze je na
disku C:, na mym pocitaci mam WinXP na disku d:, takze potrebny retezec
by vypadal 'd:\Documents and Settings\Marek\').
Tusim, ze je to ulozene v nejake systemove promenne, ale nevim v jake a
jak z ni tato data vycist.
Dekuji a s pozdravem
MaReK Olsavsky
Poradi tlacitek na dialogu/formu
[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 6.10.2005 12:33:37
> > resim jeden spise filozoficky problem a sice
> > jake je podle vas spravne poradi tlacitek v dialogu.
>
> Takovy problem mam take ;) . Mne pripada nelogicke poradi OK-Storno, protoze
> tato tlacitka jsou obvykle ekvivalentni klavesam Enter-Esc, ktere jsou na
> klavesnici presne naopak.
Napisu svuj nazor. Podle meho nazoru clovek hleda zleva doprava a
shora dolu. Proto bych vlevo, resp. nahoru (u buttonu nad sebou) daval
tlacitko s reakci, ke ktere vyzva v dialogu nabada. Coz u nastavovacich
dialogu bude obvykle OK, Ano apod., protoze kdyz se dialog jmenuje
treba Potvrzeni, tak si pod operaci "potvrzeni" predstavuji neco jako
"Ano, souhlasim s tim, co se mi predklada".
Mne osobne aplikce, ktere maji Storno vlevo a OK vpravo, pripadaji uz
na prvni pohled nezvykle a pusobi to na me rusive. I kdyz nikomu
neberu, ze to je ciste subjektivni.
David Lebeda
kontrolny kod
[*] Tomas Bihary <delphi(zv)wige-mic(tec)cz> - 6.10.2005 12:29:37
v tom pripade, treba takto
function crc16_ccitt(buf: Pointer; len: Integer): word;
var
i: integer;
work: PByte;
begin
result := 0;
work := buf;
for i := 0 to len - 1 do
begin
result := (result shl 8) xor crc16tab[((result shr 8) xor work^) and
$FF];
Inc(work);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := 'hello world';
crc16_ccitt(PChar(s), Length(s));
end;
-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Behalf Of mato
Sent: Thursday, October 06, 2005 12:00 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: kontrolny kod
dobre a vstupny retazec na ktory chcem vypocitat kontrolny kod je buf ?
> uvedeny kod bych si dovolil prepsat takto
> ^ je xor
> & je and
> char* je PByte
> void* odpovida Pointer ale pouzil jsem taky PByte
> << je shl
> >> je shr
> jeste musis pridat pole crc16tab
>
> function crc16_ccitt(buf: PByte; len: Integer): word;
> var
> counter: integer;
> crc: word;
> begin
> crc := 0;
> for counter := 0 to len - 1 do
> begin
> crc := (crc shl 8) xor crc16tab[((crc shr 8) xor buf^) and $00FF];
> Inc(buf);
> end;
> result := crc;
> end;
>
kontrolny kod
[*] mato <mato.tino(zv)inmail.sk> - 6.10.2005 11:59:34
dobre a vstupny retazec na ktory chcem vypocitat kontrolny kod je buf ?
> uvedeny kod bych si dovolil prepsat takto
> ^ je xor
> & je and
> char* je PByte
> void* odpovida Pointer ale pouzil jsem taky PByte
> << je shl
> >> je shr
> jeste musis pridat pole crc16tab
>
> function crc16_ccitt(buf: PByte; len: Integer): word;
> var
> counter: integer;
> crc: word;
> begin
> crc := 0;
> for counter := 0 to len - 1 do
> begin
> crc := (crc shl 8) xor crc16tab[((crc shr 8) xor buf^) and $00FF];
> Inc(buf);
> end;
> result := crc;
> end;
>
Monitoring vlaken
[*] ales pavel <aldik(zv)quick(tec)cz> - 6.10.2005 11:51:34
ahoj potrebuji monitorovat vlakna tj, start a ukonceni jak to resite?
Respektive jake je nejcistejsi reseni?
Ales
kontrolny kod
[*] Tomas Bihary <delphi(zv)wige-mic(tec)cz> - 6.10.2005 11:19:31
uvedeny kod bych si dovolil prepsat takto
^ je xor
& je and
char* je PByte
void* odpovida Pointer ale pouzil jsem taky PByte
<< je shl
>> je shr
jeste musis pridat pole crc16tab
function crc16_ccitt(buf: PByte; len: Integer): word;
var
counter: integer;
crc: word;
begin
crc := 0;
for counter := 0 to len - 1 do
begin
crc := (crc shl 8) xor crc16tab[((crc shr 8) xor buf^) and $00FF];
Inc(buf);
end;
result := crc;
end;
Tomas Bihary
-----Original Message-----
nasiel som nieco ale pre C a neviem to preloyit dod delphi, najlepsia bz
bola nejaka kniznica pre D7 kde by som dal retazec a vratilo by mi kod, ale
nic podobne som nenasiel, mozno som zle hladal, neviete o niecom konkretnom
unsigned short crc16_ccitt(const void *buf, int len)
{
register int counter;
register unsigned short crc = 0;
for( counter = 0; counter < len; counter++)
crc = (crc<<8) ^ crc16tab[((crc>>8) ^ *(char
*)buf++)&0x00FF];
return crc;
}
Poradi tlacitek na dialogu/formu
[*] Martin Burle <mburle2(zv)volny(tec)cz> - 6.10.2005 11:03:30
> resim jeden spise filozoficky problem a sice
> jake je podle vas spravne poradi tlacitek v dialogu.
Takovy problem mam take ;) . Mne pripada nelogicke poradi OK-Storno, protoze
tato tlacitka jsou obvykle ekvivalentni klavesam Enter-Esc, ktere jsou na
klavesnici presne naopak. Podobne u dotazu s tlacitky Ano-Ne mi pripada
logicke poradi stejne, jako jsou pismena A a N na klavesnici...
takze to zvesela davam na formulare opacne, nez je uzus ;)
MB
DLL a Memproof
[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 6.10.2005 10:23:18
Ahoj,
jelikoz na predchozi tema nebyla zadna reakce, zeptam se jinak.
Podarilo se nekomu z vas napsat jakoukoli DLL (nejlepe v D5, ale neni
podminkou), i pomerne trivialni, u ktere, kdyz ji strcite do Memproofu,
nebude Memproof protestovat, Attempt to free an unexisting resource?
Mne to dela i u DLL, ktera skoro nic nedela. Exportovana funkce
prevezme par parametru typu PChar, ty preda jine funkci, ktera nedela
nic jineho, nez nastavir result na nulu. Neboli mam DLL, ktera nedela
prakticky nic. Tuto DLL dynamicky nactu, zavolam z ni funkci a DLL
uvolnim. No a Memproof tvrdi, ze tam jsou dva pokusy o uvolneni
neexistujiciho resource. Kdyz do te funkce krome naplneni result dam
showMessage, ktery zobrazi parametry predane do funkce, tech chyb
je nahle 216! Pritom DLL z pohledu uzivatele pracuje spravne,
showmessage zobrazi spravna data... Neresil jste nekdo neco
takoveho?
Diky
David Lebeda
interbase X firebild
[*] Dalibor <dalibor(zv)torola(tec)cz> - 6.10.2005 10:53:27
Muzou bezet oba naraz, ale kazdej musi vyuzivat jiny port pro naslouchani.
Standartne oba poslouchaji na portu 3050. Zmena tohoto portu u Firebirdu se
dela v souboru Firebird.conf nastavenim polozky RemoteServicePort=XXX kde
XXX je cislo portu treba 3051
Potom se musi pripojeni presmerovat i z aplikace, ze ktere se na Firebird
pripojujes a to treba takhle
DB="127.0.0.1/3051:cesta k db"
U Interbase by asi stacilo vyhledat v souboru services (v systemu win)
polozku gds_db a u ni nastavit jiny port. Pro aplikace by se uz nic menit
nemuselo. Ale tady si nejsem jisty. Pracuji spise s Firebirdem.
Mozna me nekdo doplni nebo poopravi.
Dalibor
> Na jednom PC bezi jeden program, ktery vyuziva InterBase a druhy s
FireBild. Ten program s firebidl nefunguje.
> Muze byt problem mit na jednom PC interbase i Firebidl?
>
> Dik Radek
kontrolny kod
[*] Jaroslav Pivonka <jpivonka(zv)centrum(tec)cz> - 6.10.2005 10:49:26
From: "mato" <mato.tino(zv)inmail.sk>
> neviete nahodou ako sa pocita 16-bitovy redundantny kod zalozeny na
> polynome
> x16+x12+x5+1 s radenim od najvyznemnejsieho po najmenej vyznamny bit ?
>
> pouziva sa pri generovani FUVI co je textovy subor z katastra je to ako
> kontrolna polozka na konci riadku pocita sa z udajov riadku
>
> ;721/2;2280;2280;2291;;2;281;;2;;1;;33063;
>
Zkus tohle:
function CRC_Z (P:Pointer; n:Integer):word;
type pBytes=^Bytes;
Bytes=array[1..32768]of Byte;
var i:Integer; a:word;
begin
result:=0;
for i:=1 to n do begin
a := Pbytes(P)^[i] xor ( result shr 8 );
result := (result shl 8) xor a;
result := result xor ( a shl 12 );
result := result xor ( a shl 5 );
a := a shr 4;
result := result xor a;
a := a shl 5;
result := result xor a;
result := result xor ( a shl 7 );
// Form1.log('result:=%.4x',[result]);
end
end;
Pokud to je ono a trapila by te rychlost, je k dispozici ekvivalentni kod
kde je primy vypocet nahrazen vyhledavanim hodnot z tabulky:
function CRC16(P:Pointer; n:Integer):word;
type pBytes=^Bytes;
Bytes=array[1..32768]of Byte;
const T:array[0..255] of word = (
$0000, $1021, $2042, $3063, $4084, $50a5, $60c6, $70e7,
$8108, $9129, $a14a, $b16b, $c18c, $d1ad, $e1ce, $f1ef,
$1231, $0210, $3273, $2252, $52b5, $4294, $72f7, $62d6,
$9339, $8318, $b37b, $a35a, $d3bd, $c39c, $f3ff, $e3de,
$2462, $3443, $0420, $1401, $64e6, $74c7, $44a4, $5485,
$a56a, $b54b, $8528, $9509, $e5ee, $f5cf, $c5ac, $d58d,
$3653, $2672, $1611, $0630, $76d7, $66f6, $5695, $46b4,
$b75b, $a77a, $9719, $8738, $f7df, $e7fe, $d79d, $c7bc,
$48c4, $58e5, $6886, $78a7, $0840, $1861, $2802, $3823,
$c9cc, $d9ed, $e98e, $f9af, $8948, $9969, $a90a, $b92b,
$5af5, $4ad4, $7ab7, $6a96, $1a71, $0a50, $3a33, $2a12,
$dbfd, $cbdc, $fbbf, $eb9e, $9b79, $8b58, $bb3b, $ab1a,
$6ca6, $7c87, $4ce4, $5cc5, $2c22, $3c03, $0c60, $1c41,
$edae, $fd8f, $cdec, $ddcd, $ad2a, $bd0b, $8d68, $9d49,
$7e97, $6eb6, $5ed5, $4ef4, $3e13, $2e32, $1e51, $0e70,
$ff9f, $efbe, $dfdd, $cffc, $bf1b, $af3a, $9f59, $8f78,
$9188, $81a9, $b1ca, $a1eb, $d10c, $c12d, $f14e, $e16f,
$1080, $00a1, $30c2, $20e3, $5004, $4025, $7046, $6067,
$83b9, $9398, $a3fb, $b3da, $c33d, $d31c, $e37f, $f35e,
$02b1, $1290, $22f3, $32d2, $4235, $5214, $6277, $7256,
$b5ea, $a5cb, $95a8, $8589, $f56e, $e54f, $d52c, $c50d,
$34e2, $24c3, $14a0, $0481, $7466, $6447, $5424, $4405,
$a7db, $b7fa, $8799, $97b8, $e75f, $f77e, $c71d, $d73c,
$26d3, $36f2, $0691, $16b0, $6657, $7676, $4615, $5634,
$d94c, $c96d, $f90e, $e92f, $99c8, $89e9, $b98a, $a9ab,
$5844, $4865, $7806, $6827, $18c0, $08e1, $3882, $28a3,
$cb7d, $db5c, $eb3f, $fb1e, $8bf9, $9bd8, $abbb, $bb9a,
$4a75, $5a54, $6a37, $7a16, $0af1, $1ad0, $2ab3, $3a92,
$fd2e, $ed0f, $dd6c, $cd4d, $bdaa, $ad8b, $9de8, $8dc9,
$7c26, $6c07, $5c64, $4c45, $3ca2, $2c83, $1ce0, $0cc1,
$ef1f, $ff3e, $cf5d, $df7c, $af9b, $bfba, $8fd9, $9ff8,
$6e17, $7e36, $4e55, $5e74, $2e93, $3eb2, $0ed1, $1ef0);
var i:Integer;
begin
result:=0;
for i:=1 to n do result:=T[((result shr 8) xor pBytes(P)^[i]) and $ff] xor
((result shl 8) and $FFFF);
// Form1.log('result:=%.4x',[result]);
end;
Vysledek je v obou pripadech stejny, CRC16 (12,5,1) podle CCITT
Jarda
kontrolny kod
[*] mato <mato.tino(zv)inmail.sk> - 6.10.2005 10:41:26
nasiel som nieco ale pre C a neviem to preloyit dod delphi, najlepsia bz
bola nejaka kniznica pre D7 kde by som dal retazec a vratilo by mi kod, ale
nic podobne som nenasiel, mozno som zle hladal, neviete o niecom konkretnom
unsigned short crc16_ccitt(const void *buf, int len)
{
register int counter;
register unsigned short crc = 0;
for( counter = 0; counter < len; counter++)
crc = (crc<<8) ^ crc16tab[((crc>>8) ^ *(char
*)buf++)&0x00FF];
return crc;
}
> mato wrote:
> > neviete nahodou ako sa pocita 16-bitovy redundantny kod zalozeny na
> > polynome x16+x12+x5+1 s radenim od najvyznemnejsieho po najmenej
> > vyznamny bit ?
>
> To je tzv. CRC16-CCITT. Google ti urcite najde hafo implementaci pro
Delphi.
>
interbase X firebild
[*] Marek Dostal <konf(zv)agnis(tec)cz> - 6.10.2005 10:39:20
> Na jednom PC bezi jeden program, ktery vyuziva InterBase a druhy s
> FireBild. Ten program s firebidl nefunguje.
> Muze byt problem mit na jednom PC interbase i Firebidl?
Ano muze, ale FB musi byt ve verzi 1.5. a vyssi. V FB 1.5. je misto
gds32.dll knihovna fbclient.dll, takze program vyuzivajici FireBird musi s
timto pocitat, dale je bude asi potreba provozovat FB na jinem portu, nez je
standardni 3050. Nemam s tim praktickou zkusenost, ale v knize Pavla Cisare
InterBase/Firebird je to vse popsano. Pokud pracujete s IB nebo FB, tuto
knihu mohu jen doporucit!
Marek Dostal
D7Prof, WinXP, FireBird 1.0, 1.5
Poradi tlacitek na dialogu/formu
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 6.10.2005 10:33:19
6.10.2005 Vaclav Halik:
> Zdravim,
> resim jeden spise filozoficky problem a sice
> jake je podle vas spravne poradi tlacitek v dialogu.
> Jde mi o to, ze se tu uz nejakou dobu s kolegou
> preme co je spravne. Ve vetsine SW je v dialogu
> poradi asi takoveto:
> OK | Storno | Pouzit | Napoveda
> a je to zarovnano na pravou stranu. Bohuzel ne
> ve vsech SW to tak je. Kolega asi spravne
> poznamenava, ze sou lidi na to nauceni a je lepe
> jim to takto predhodit. Ovsem v mem SW mam
> vetsinu dialogu/formu jenom s OK. Pak mi ale
> prijde blby dat u dvou dialogu tlacitko Storno
> tam kde je u ostatnich OK (Prave proto ze
> ty ostatni tam maj jenom to OK).
> Jak toto resite vy ? Neni definovan nejaky
> standardni postup jak designovat takoveto
> dialogy ?
Pokud je to dialog, kde muzu neco nastavovat, melo by tam byt
minimalne OK-Storno
Pokud je to slozitejsi dialog, kde chci umoznit uzivateli okamzite
videt zmeny a pokracovat v nastavovani, budou tam tlacitka
OK-Storno-Pouzit
Pokud je to dialog, kde uzivatel nemuze nic ovlivnit a jen dostane
informaci, bude tam pouze tlacitko OK
Pokud je to dialog, ktery se zobrazi pri nejake dele trvajici akci a
napr. zobrazuje prubeh, bude tam jen tlacitko Storno (preruseni akce)
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
kontrolny kod
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 6.10.2005 10:23:18
mato wrote:
> neviete nahodou ako sa pocita 16-bitovy redundantny kod zalozeny na
> polynome x16+x12+x5+1 s radenim od najvyznemnejsieho po najmenej
> vyznamny bit ?
To je tzv. CRC16-CCITT. Google ti urcite najde hafo implementaci pro Delphi.
pf
Poradi tlacitek na dialogu/formu
[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 6.10.2005 10:17:17
Zdravim,
resim jeden spise filozoficky problem a sice
jake je podle vas spravne poradi tlacitek v dialogu.
Jde mi o to, ze se tu uz nejakou dobu s kolegou
preme co je spravne. Ve vetsine SW je v dialogu
poradi asi takoveto:
OK | Storno | Pouzit | Napoveda
a je to zarovnano na pravou stranu. Bohuzel ne
ve vsech SW to tak je. Kolega asi spravne
poznamenava, ze sou lidi na to nauceni a je lepe
jim to takto predhodit. Ovsem v mem SW mam
vetsinu dialogu/formu jenom s OK. Pak mi ale
prijde blby dat u dvou dialogu tlacitko Storno
tam kde je u ostatnich OK (Prave proto ze
ty ostatni tam maj jenom to OK).
Jak toto resite vy ? Neni definovan nejaky
standardni postup jak designovat takoveto
dialogy ?
Vaclav Halik
interbase X firebild
[*] Kacka software <kackasw(zv)kackasw(tec)cz> - 6.10.2005 10:13:17
Na jednom PC bezi jeden program, ktery vyuziva InterBase a druhy s FireBild. Ten program s firebidl nefunguje.
Muze byt problem mit na jednom PC interbase i Firebidl?
Dik Radek
kontrolny kod
[*] mato <mato.tino(zv)inmail.sk> - 6.10.2005 09:59:15
neviete nahodou ako sa pocita 16-bitovy redundantny kod zalozeny na polynome
x16+x12+x5+1 s radenim od najvyznemnejsieho po najmenej vyznamny bit ?
pouziva sa pri generovani FUVI co je textovy subor z katastra je to ako
kontrolna polozka na konci riadku pocita sa z udajov riadku
;721/2;2280;2280;2291;;2;281;;2;;1;;33063;
Vlakno a zatizeni CPU
[*] Jan Novak <delfin4(zv)volny(tec)cz> - 5.10.2005 18:40:12
> while not Terminated do
> if ComPort.CharReady
> then
> begin
> Znak:= Ord(ComPort.GetChar);
> PrijataPolozka.ZapisDoBufferu(Znak);
> PostMessage(dlgHlavniAplikace.Handle, WM_DATA, 0, 0);
> Sleep(0);
> end
> else Sleep(10);
> data chodi porad a v ohromnych mnozstvich
> a prijmovy automat se k Sleep(10) vubec nedostane.
Chyba je v tom, ze ty znaky vytahujes po jednom. Protoze pre
defaultnim nastaveni FIFO hlasi UART, ze mu neco prislo, az kdyz ma v
bufferu 8 (nebo 12?) znaku, resp. kdyz po prijmu prvniho znaku
uplynula doba potrebna na prijem 8 znaku. Takze namisto cteni znaku
pomoci GetChar nacti nejakym ReadStringem (a odevzdej hlavnimu vlaknu)
vsech 8 znaku najednou.
Mimochodem, vubec nemusis delat extra vlakno, ta komponenta urcite ma
udalost OnDataReceived, kde muzes prijate znaky zpracovavat v hlavnim
vlaknu. Kdyz ji nema, pouzij jinou komponentu, napr. AsyncFree.
Pri rychlosti portu 9600 Bd se tvuj program o tom, ze prisel 1 byte,
dozvi asi s 1/100 s zpozdenim. Zkratit se to da zmensenim FiFo v
nastaveni vlastnosti portu. Zmena se projevi az po restartu windows.
Nevim ani, jak fifo nastavit programove, natoz bez restartu windows.
TVirtualStringTree a inkrementalni hledani
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 5.10.2005 17:32:07
Zdenek Brejsa wrote:
> pouzivam TVirtualStringTree s cca 1000 zakladnich vetvi (pod root) a
> kazda se deli na dalsi - cca 20 nodu. Pri inkrementalnim hledani,
> pokud se uzivatel uklepne a musi se tedy prohledat cely strom, to
> dost vadi - musi dlouho cekat. Da se nejak prerusit probihajici
> hledani ?
Jeste me pri ryti zahonu napadla jedna vec: jak plnis ten strom daty?
Mas v dobe spusteni inkrementalniho hledani potrebna data v pameti
a nebo uzly postupne inicializujes a data si odnekud dotahujes?
Me totiz neprijde 20000 uzlu zase tak moc, aby to trvalo neunosne dlouho:
Ja jsem si tady zkousel v nasi aplikaci hledani pres 10000 polozek
a pomalu nestacim ani zastavit vcas stopky, tj. ten cas je nekde kolem
3/4 sekundy, jsou-li data ve stromu.
Takze IMHO bezny BFU u desktopu by se nemel stavet na hlavu ani pri
dvojnasobnem mnozstvi polozek.
Takze mozna by pomohla optimalizace cteni dat do stromu.
pf
Vlakno a zatizeni CPU
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 5.10.2005 16:50:04
Pepa D. wrote:
> Tvoje hypotezy jsou spravne ale muj problem je v tom, ze data chodi
> porad a v ohromnych mnozstvich a prijmovy automat se k Sleep(10)
> vubec nedostane. Proto jsem potreboval napad jak snizit tu 100% zatez.
No prijimat po znaku je ponekud nestastne reseni - dneska snad uz v zadnem
PC neexistuje UART, ktery by nemel buffer alespon na 16 znaku.
Neznam ty komponenty, ale jestli neumoznuji nejaky normalni zpusob
obsluhy prijimace, tak bych je zahodil.
***
Jeste nez tak ucinis, tak bys mohl treba zkusit te smycce snizit overhead
(je-li to z pohledu logiky aplikace mozne - ja myslim, ze jo):
while not Terminated do
begin
BufPtr := Buffer;
while ComPort.CharReady do
begin
BufPtr^ := ComPort.GetChar;
inc(BufPtr);
end;
Lng := Buf-Buffer;
if Lng>0 then
begin
PrijataPolozka.ZapisDoBufferu(Buffert,Lng);
PostMessage(dlgHlavniAplikace.Handle, WM_DATA, 0, 0);
end;
if not ComPort.CharRead then
sleep(...);
...
etc...
Jinak bych se samozrejme podival bud po komponentach, ktere umoznuji
prijimat data po blocich a cekaji na ne pomoci WaitForMultipleObjects()
a nebo, je-li komunikace hlavni funkci aplikace, tak bych preferoval napsat
to cele pomoci overlapped I/O primo pres API, aby zmizely takove ty
prasarny se sleep.
HPH, pf
Vlakno a zatizeni CPU
[*] Pepa D. <slozka2005(zv)volny(tec)cz> - 5.10.2005 16:06:01
Tvoje hypotezy jsou spravne ale muj problem je v tom, ze data chodi porad a
v ohromnych mnozstvich a prijmovy automat se k Sleep(10) vubec nedostane.
Proto jsem potreboval napad jak snizit tu 100% zatez.
Pepa
----- Original Message -----
From: "Slavomir Skopalik" <skopalik(zv)elektlabs(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, October 05, 2005 2:11 PM
Subject: Re: Vlakno a zatizeni CPU
> > Pro cteni pouzivam komponentu TApdComPort z knihovny AsyncPro
> > a pro ukladani dat pouzivam vlastni datovy typ TPrijataData.
> > Proces prijmu a typ TPrijataData je v uvedenem kodu oproti
>
> Komponentu neznam, takze neporadim, ale z kodu je zrejme toto:
>
> 1. Pokud nechodi data, tak CPU je temer na 0%, je to tak ?
> 2. Na 100% je pouze pokud chodi data, je to tak ?
> 3. Pokud jsou moje hypotezy spravne (1 a 2), hledej chybu jinde, viz muj
prvni
> mail.
>
> Slavek
>
> > procedure TReadAutomat.Execute;
> > var Znak: byte;
> > begin
> > ComPort.FlushInBuffer;
> > PrijataPolozka.VymazBuffer;
> >
> > while not Terminated do
> > if ComPort.CharReady
> > then
> > begin
> > Znak:= Ord(ComPort.GetChar);
> > PrijataPolozka.ZapisDoBufferu(Znak);
> > PostMessage(dlgHlavniAplikace.Handle, WM_DATA, 0, 0);
> > Sleep(0);
> > end
> > else Sleep(10);
> > end;
>
>
>
>
Multipart email pres Indy
[*] Marek Dostal <konf(zv)agnis(tec)cz> - 5.10.2005 16:02:00
Prosim, Potrebuji poradit jak se pomoci TIdMessage posila mulitipart email, konkretne chci email ve formatu html, kde budou nejake male obrazky (logo apod.) primo soucasti toho emailu, ne jako priloha. V Outlooku takovy email udelam tak ze dam format html a vlozim do nej obrazek a je to presne ono. Do TIdMessage zalozim vice MessageParts, ale vzdy je vysledek takovy, ze jsou to samostatne prilohy.
Marek Dostal
D7Prof, WinXP, FireBird 1.0, 1.5
WinSock.recv
[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.10.2005 16:00:00
On Wednesday, October 05, 2005 12:15 PM ,
Cizek.Milan <cizek.milan(zv)seznam(tec)cz> wrote:
>> pokud RC po recv() obsahuje neco vetsiho nez 0 pak na ten socket
>> stale chodi data.
>> Aby Ti to z ty smycky vyskocilo musi druha strana ukoncit spojeni
>> pomoci CloseSocket (pak recv() vrati 0).
>
> Ahoj,
> zapomel jsem napsat ze jde o UDP protokol.
:-) to ponekud meni situaci...
>Recv mi nikdy nevraci 0.
samozrejme - leda by prisel datagram s nulovou delkou
> Na protejsi strane closesocket je.
ale to samozrejme prijimajici stranu v nicem neovlivni
> Vzhledem k tomu ze vim, kolik dat
> muzu maximalne dostat, udelal jsem si o neco vetsi buffer a hned po
> obdrzeni "neceho" delam vyhodnoceni.
>
> repeat
> ReceivedData:='';
> FillChar(Buffer,SizeOf(Buffer),0);
>
> RC:=recv(Sock,Buffer,SizeOf(Buffer),0);
> if RC<READ_BUFFER_SIZE then
> begin
> ReceivedData:=StrPas(Buffer);
> Synchronize(RecFinalize);
> end;
>
> until Terminated or (RC=SOCKET_ERROR);
K tomu poznamenam - UDP protokol nezarucuje doruceni dat, cili je
nutne pocitat s tim, ze nejaky ten datagram se muze ztratit (zvlaste
pokud se prenosu neucastni jen lokalni sit). A ukoncit cteci smycku je
treba nejakym 'externim; signalem - napriklad specialnim obsahem
datagramu, vedlejsim TCP spojenim atd. Do UDP prenosu ale asi bude
potreba (zalezi na typu prenasenych dat) nejake potvrzovani doruceni
(pak je zase dobre zvazit jestli by to TCP nebylo preci jen lepsi)
Zdravi
Dalibor Toman
Vlakno a zatizeni CPU
[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 5.10.2005 15:11:55
> Pro cteni pouzivam komponentu TApdComPort z knihovny AsyncPro
> a pro ukladani dat pouzivam vlastni datovy typ TPrijataData.
> Proces prijmu a typ TPrijataData je v uvedenem kodu oproti
Komponentu neznam, takze neporadim, ale z kodu je zrejme toto:
1. Pokud nechodi data, tak CPU je temer na 0%, je to tak ?
2. Na 100% je pouze pokud chodi data, je to tak ?
3. Pokud jsou moje hypotezy spravne (1 a 2), hledej chybu jinde, viz muj prvni
mail.
Slavek
> procedure TReadAutomat.Execute;
> var Znak: byte;
> begin
> ComPort.FlushInBuffer;
> PrijataPolozka.VymazBuffer;
>
> while not Terminated do
> if ComPort.CharReady
> then
> begin
> Znak:= Ord(ComPort.GetChar);
> PrijataPolozka.ZapisDoBufferu(Znak);
> PostMessage(dlgHlavniAplikace.Handle, WM_DATA, 0, 0);
> Sleep(0);
> end
> else Sleep(10);
> end;
Vlakno a zatizeni CPU
[*] Pepa D. <slozka2005(zv)volny(tec)cz> - 5.10.2005 14:59:54
Pro cteni pouzivam komponentu TApdComPort z knihovny AsyncPro a pro ukladani
dat pouzivam vlastni datovy typ TPrijataData. Proces prijmu a typ
TPrijataData je v uvedenem kodu oproti skutecnosti zjednodusen.
Pepa
unit ReadThr;
interface
uses
Windows, Classes, AdWnPort;
type
TReadAutomat = class(TThread)
protected
procedure Execute; override;
public
ComPort: TApdComPort;
PrijataPolozka: TPrijataData;
constructor Create(const AComPort: TApdComPort; APrijataPolozka:
TPrijataData);
end;
implementation
uses HlavniAplikace;
constructor TReadAutomat.Create(const AComPort: TApdComPort;
APrijataPolozka: TPrijataData);
begin
inherited Create(true);
FreeOnTerminate:= false;
Priority:= tpNormal;
ComPort:= AComPort;
PrijataPolozka:= APrijataPolozka;
end;
procedure TReadAutomat.Execute;
var Znak: byte;
begin
ComPort.FlushInBuffer;
PrijataPolozka.VymazBuffer;
while not Terminated do
if ComPort.CharReady
then
begin
Znak:= Ord(ComPort.GetChar);
PrijataPolozka.ZapisDoBufferu(Znak);
PostMessage(dlgHlavniAplikace.Handle, WM_DATA, 0, 0);
Sleep(0);
end
else Sleep(10);
end;
end.
----- Original Message -----
From: "Slavomir Skopalik" <skopalik(zv)elektlabs(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, October 05, 2005 1:07 PM
Subject: Re: Vlakno a zatizeni CPU
> Dost tezko, to by jsi musel napsat, jak pristupujes k tem com portum,
> jestli overlapped, nebo blokujicim zpusobem, jestli si nez ctes, tak
zjistujes
> pocet znaku v bufferu, nebo ne a tak dale.
> Zakladem je dobre polozeny dotaz, takze zkus vzit kod, ktery pouzivas
> pro otevreni a pro cteni, prilozit ho k dotazu a napsat, co jsi jiz
zkousel.
> Doporucuji prohledat archiv, probiralo se to tady mnohokrat.
>
> Slavek
>
> PS: Sleep(100) po kazdem cteni pomuze zarucene :)))))
> Tedy, ne ze te napadne to pouzivat, to byl jen for, tim by jsi
> cely program (komunikaci) znacne zpomalil.
>
> > Mohl bys to ponekud rozvest? Nejlepe v souvislosti s moji
> > aplikaci. Pepa
> >
> > ----- Original Message -----
> > From: "Slavomir Skopalik" <skopalik(zv)elektlabs(tec)cz>
> > To: <delphi-l(zv)clexpert(tec)cz>
> > Sent: Monday, October 03, 2005 3:39 PM
> > Subject: Re: Vlakno a zatizeni CPU
> >
> >
> > > Aha, tohle me nenapadlo, tak nejak cekam, ze kdo pouzije
> > vlakno, tak
> > > pouzije blokujici pristup :((
> > >
> > > Slavek
>
>
>
>
problem pri prechode z fb 1.0 na 1.5
[*] hlas <hlas(zv)inmail.sk> - 5.10.2005 14:51:53
bola tam chyba a spravne ma byt
mkform1.t71.Filter:='ltrim(rtrim(v7196))='+quotedstr(roks);
ale je zaujimave ze sa ta chyba na fb 1.0 neprejavila
problem pri prechode z fb 1.0 na 1.5
[*] hlas <hlas(zv)inmail.sk> - 5.10.2005 14:21:51
potreboval som prejst na fb 1.5 z dovodu vetvenia selectu prikazom case.
avsak po prechode nastal tento problem.
takyto kod:
mkform1.t71.Filter:='ltrim(rtrim(v7196))='+roks;
ktory doteraz fungoval, uz na novej verzi hlasi chybu:
conversion error from string''''
ako keby ten retazec co sa vklada do filtra bol prazdny ale nie je.
mkform1 je formular
t71 je TIBTable (pouzivam komponenty IBX)
roks je stringova premennna obsahujuca napr. hodnotu '2004'
konkretne bezim na verzii FB instalovanej z Firebird-1.5.2.4731-Win32.exe
na 1.0 to v pohode chodilo
Vlakno a zatizeni CPU
[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 5.10.2005 14:07:49
Dost tezko, to by jsi musel napsat, jak pristupujes k tem com portum,
jestli overlapped, nebo blokujicim zpusobem, jestli si nez ctes, tak zjistujes
pocet znaku v bufferu, nebo ne a tak dale.
Zakladem je dobre polozeny dotaz, takze zkus vzit kod, ktery pouzivas
pro otevreni a pro cteni, prilozit ho k dotazu a napsat, co jsi jiz zkousel.
Doporucuji prohledat archiv, probiralo se to tady mnohokrat.
Slavek
PS: Sleep(100) po kazdem cteni pomuze zarucene :)))))
Tedy, ne ze te napadne to pouzivat, to byl jen for, tim by jsi
cely program (komunikaci) znacne zpomalil.> Mohl bys to ponekud rozvest? Nejlepe v souvislosti s moji
> aplikaci. Pepa
>
> ----- Original Message -----
> From: "Slavomir Skopalik" <skopalik(zv)elektlabs(tec)cz>
> To: <delphi-l(zv)clexpert(tec)cz>
> Sent: Monday, October 03, 2005 3:39 PM
> Subject: Re: Vlakno a zatizeni CPU
>
>
> > Aha, tohle me nenapadlo, tak nejak cekam, ze kdo pouzije
> vlakno, tak
> > pouzije blokujici pristup :((
> >
> > Slavek
TVirtualStringTree a inkrementalni hledani
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 5.10.2005 13:43:47
Zdenek Brejsa wrote:
> hmm ... ja chtel vyuzit to co je primo v te komponente ... to extra
> okno mam, ale zakaznikovy se vic libi, kdyz muze rovnou psat.
> Takze jedine to vlakno, ale to nevim jak na to ... nema to nekdo uz
> vyreseno?
Podruzne vlakno je hloupost -> musel bys zajistit sdileni dat ve stromu
mezi hlavnim threadem a tim podruznym co by hledal, jinak nemas
obecne nemas zaruceno, ze se ti nezmeni struktura/obsah stromu
a nezhavaruje to. A slusne zajistit to nejde, jedine pres Synchronize
a to je IMHO nepouzitelne: predstav si, ze bys mel pristup ke kazdemu uzlu
pres PostMessage - to by se user uz vubec nedockal.
***
Jakmile z WM_CHAR spustis jeden vyhledavaci cyklus repeat-until pres uzly,
tak se to bude prerusovat dost tezko, protoze v tom cyklu Lischke nevola
message loop a tim nedostanes od uzivatele informaci, ze stisknul
treba ESC. A on se tudiz ani o nejake preruseni nestara.
Resenim by mohlo byt napsat si vlastni OnIncrementalSearch handler
ktery se v tom cyklu vola a v nem:
a) udelat vlastni porovnani textu, protoze default z VTV se nebude volat
b) zajistit obsluhu message loop a ziskat tak od uzivatele treba ESC
c) v pripade abort vratit nenulovou hodnotu, jako kdys text nasel
- tim se hledani ukonci.
***
A nebo si to hledani napsat cele znovu sam jak ti radi JF, ale proboha
*ne* v zadnem podruznem threadu !!! ale normalne v hlavnim
a osetrit si preruseni ze strany uzivatele. A protoze napsat srovnatelnou
funkci
neni zalezitost na 1/2 hodiny, tak eventualne vzit Lischkeho zdrojovku
a upravit si jeho kod.
pf
WinSock.recv
[*] Jaroslav Pivonka <jpivonka(zv)centrum(tec)cz> - 5.10.2005 13:41:47
From: "Dalibor Toman" <dtoman(zv)fortech(tec)cz>
> pokud uz nastane udalost FD_READ tak se stejne musi zavolat vzdy
> recv(), takze je nesmysl nejak pokoutne zjistovat zda jsou nebo nejsou
> nejaka data k precteni.
> A puvodni tazatel nepouziva non-blocking sockety... Ani bych mu to
> nedporucoval dokud si nebude jist, ze umi zachazet s defaultnim
> blokovacim modem...
Po ranu jsou ptaci rozespali a zblbli, ruce jsou rychlejsi nez hlava a
nasinec si vsimne az potom, co to odpalil..
Jinak - praxe (roky pomerne husteho UDP provozu, WinNT/2000/XP) mi veli, ze
MA smysl obcas nakouknout (kdyz nic dlouho neprislo, obvykle datagramy jen
prsi) a while AnyData do ..., protoze FD_READ zmizi nekde v propadlisti
dejin nebo stoji frontu na brambory, proste datagram bez notifikace je tam
(by woko jeden za par hodin, vyjimecne i nekolik pohromade) a vcil mudruj.
Hlavne se nicemu nedivit... JPi
DLL a MemProof
[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 5.10.2005 13:23:45
Ahoj,
napsal jsem DLL, ktera exportuje dve funkce. Ty funkce dostanou jako
parametry hodnoty typu integer nebo PChar a vraci jeden integer.
Knihovna v poradku funguje a dela to, co ma.
Zkusil jsem ji ale cvicne spustit v Memproofu a nestacim se divit. Po
jejim uvolneni pomoci FreeLibrary zustane v Memproofu pres 300
erroru. Vesmes typu "Pokus o uvolneni neexistujiciho resource",
SysAllocStrLen apod.
Ze by DLL vadilo pouzivani ansistringu, i kdyz se zadny ansistring
nepredava mimo DLL? Dle Memproofu rovnez zbyde par set
neuvolnenych SysStringu.
Netusite nekdo, kde by mohl byt problem? Je snad uvnitr DLL
zakazano pouzivat ansistringy?
David Lebeda
TVirtualStringTree a inkrementalni hledani
[*] Zdenek Brejsa <prog(zv)hjsoft(tec)cz> - 5.10.2005 13:19:44
> > pouzivam TVirtualStringTree s cca 1000 zakladnich vetvi (pod root) a
kazda
> > se deli na dalsi - cca 20 nodu. Pri inkrementalnim hledani, pokud se
> > uzivatel uklepne a musi se tedy prohledat cely strom, to dost vadi -
musi
> > dlouho cekat. Da se nejak prerusit probihajici hledani ?
>
> Udelat hledani v dalsim vlakne s moznosti je presusit - napr. dalsi
> okno s tlacitkem, reakce na klavesu ESC apod.
hmm ... ja chtel vyuzit to co je primo v te komponente ... to extra okno
mam, ale zakaznikovy se vic libi, kdyz muze rovnou psat.
Takze jedine to vlakno, ale to nevim jak na to ... nema to nekdo uz
vyreseno?
Prosim, poslete alespon podrobnejsi nastin, jak bych to mel udelat ...
moc diky predem
Brejsa
Vlakno a zatizeni CPU
[*] Pepa D. <slozka2005(zv)volny(tec)cz> - 5.10.2005 12:25:39
Mohl bys to ponekud rozvest? Nejlepe v souvislosti s moji aplikaci.
Pepa
----- Original Message -----
From: "Slavomir Skopalik" <skopalik(zv)elektlabs(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Monday, October 03, 2005 3:39 PM
Subject: Re: Vlakno a zatizeni CPU
> Aha, tohle me nenapadlo, tak nejak cekam, ze kdo pouzije vlakno,
> tak pouzije blokujici pristup :((
>
> Slavek
>
>
> > smycka while not Terminated do vytizi CPU na 100%. Lze tomu zabranit
> > tak, ze se do smycky vlozi sleep (x). Lepe vsak je pouzit funkci
> > WaitCommEvent, i kdyz je to slozitejsi.
> >
> > Vaclav Sazima
> >
> >
> > programuji aplikaci pro prijem dat na seriovem portu. Aplikace ma
> > zvlastni vlakno pro prijem dat ze serioveho portu, kde tato
> > data precte
> > a ulozi do fronty prijatych znaku. Data z fronty jsou nasledne
> > zpracovana v hlavni aplikaci. Prijem ve vlakne probiha v
> > metode Execute
> > pomoci smycky while not Terminated do ...., priorita je tpNormal.
>
>
>
>
>
TVirtualStringTree a inkrementalni hledani
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 5.10.2005 12:25:39
5.10.2005 Zdenek Brejsa:
> Ahoj vsem,
> pouzivam TVirtualStringTree s cca 1000 zakladnich vetvi (pod root) a kazda
> se deli na dalsi - cca 20 nodu. Pri inkrementalnim hledani, pokud se
> uzivatel uklepne a musi se tedy prohledat cely strom, to dost vadi - musi
> dlouho cekat. Da se nejak prerusit probihajici hledani ?
Udelat hledani v dalsim vlakne s moznosti je presusit - napr. dalsi
okno s tlacitkem, reakce na klavesu ESC apod.
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
WinSock.recv
[*] Cizek.Milan <cizek.milan(zv)seznam(tec)cz> - 5.10.2005 12:15:38
> pokud RC po recv() obsahuje neco vetsiho nez 0 pak na ten socket stale
> chodi data.
> Aby Ti to z ty smycky vyskocilo musi druha strana ukoncit spojeni
> pomoci CloseSocket (pak recv() vrati 0).
Ahoj,
zapomel jsem napsat ze jde o UDP protokol. Recv mi nikdy nevraci 0. Na protejsi strane closesocket je. Vzhledem k tomu ze vim, kolik dat muzu maximalne dostat, udelal jsem si o neco vetsi buffer a hned po obdrzeni "neceho" delam vyhodnoceni.
repeat
ReceivedData:='';
FillChar(Buffer,SizeOf(Buffer),0);
RC:=recv(Sock,Buffer,SizeOf(Buffer),0);
if RC<READ_BUFFER_SIZE then
begin
ReceivedData:=StrPas(Buffer);
Synchronize(RecFinalize);
end;
until Terminated or (RC=SOCKET_ERROR);
Milan
TVirtualStringTree a inkrementalni hledani
[*] Zdenek Brejsa <prog(zv)hjsoft(tec)cz> - 5.10.2005 12:13:38
Ahoj vsem,
pouzivam TVirtualStringTree s cca 1000 zakladnich vetvi (pod root) a kazda
se deli na dalsi - cca 20 nodu. Pri inkrementalnim hledani, pokud se
uzivatel uklepne a musi se tedy prohledat cely strom, to dost vadi - musi
dlouho cekat. Da se nejak prerusit probihajici hledani ?
predem dekuji za radu
Zdenek Brejsa - programator HJ-SOFT
465325097, 465321096, 465322889, 603833124, 724185948
primy: 469813131
ICQ: 47636291
Skype: brejsaz
ADMIN: Provize za prodej software
[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 5.10.2005 11:57:37
Puvodni zprava ze dne 5.10.2005:
> P.S: Jestli jsi platce DPH, tak je to jeste slozitejsi... Jestli
> navic budes prodavat do zahranici tak jeste slozitejsi. Radeji si
> najmi ucetni.
To jsou vazne super rady tohleto.
PS ADMIN: Ze jsi prihlasen v teto konferenci, to vubec neznamena, ze
musis reagovat i na prispevky, ktere jsou pro tebe slozite, timto
zpusobem. To vazne nemusis.
Petr Zahradnik, pocitacovy expert
==========================================================
Petr Zahradnik, Computer Laboratory
web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz
==========================================================
Provize za prodej software
[*] Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> - 5.10.2005 11:51:31
>
> Dobry den,
> vyvijim vlastni software, s tim ze mi bylo nabidnuto od dalsiho
> cloveka, ze by mi na tento SW delal zprostredkovatele. On mi da
> objednavku od zakaznika, ja?poslu zakaynikovi tento software a
> vystavim fakturu, kde budu ja jako dodavatel, prijemce platby
> budu take ja. A pak jednou za mesic zaplatim tomu
> zprostredkovateli procento z prodaneho objemu.
> A nyni dotaz:
> Kdo komu vystavi doklad ?
On tobe vystavi fakturu/doklad. On je dodavatel sluzby (zprostredkovani) a
ty jsi jeho zakaznik. On je prijemce platby a bude ji danit.> Mohu si tuto castku zaplacenou jako provizi dat do nakladu ?
Pokud je tato castka vydajem prokazatelne nezbytnym k dosazeni zdanitelneho
prijmu (coz asi je), pak ano.
P.S: Jestli jsi platce DPH, tak je to jeste slozitejsi... Jestli navic
budes prodavat do zahranici tak jeste slozitejsi. Radeji si najmi ucetni.
OT: Provize za prodej software
[*] Petr Seda <seda.petr(zv)centrum(tec)cz> - 5.10.2005 11:37:30
Dobry den,
vyvijim vlastni software, s tim ze mi bylo nabidnuto od dalsiho cloveka, ze by mi na tento SW delal zprostredkovatele. On mi da objednavku od zakaznika, ja?poslu zakaynikovi tento software a vystavim fakturu, kde budu ja jako dodavatel, prijemce platby budu take ja. A pak jednou za mesic zaplatim tomu zprostredkovateli procento z prodaneho objemu.
A nyni dotaz:
Kdo komu vystavi doklad ?
Mohu si tuto castku zaplacenou jako provizi dat do nakladu ?
Dekuji vsem a omlouvam se za OT
Petr Seda
WinSock.recv
[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.10.2005 09:51:22
On Wednesday, October 05, 2005 9:01 AM ,
Jaroslav Pivonka <jpivonka(zv)centrum(tec)cz> wrote:
> From: "Cizek Milan" <cizek.milan(zv)seznam(tec)cz>
>> Ahoj,
>> ve smycce prijimam data... Data dorazi ok, ulozi se do bufferu, ale
>> RC obsahuje porad dokola pocet prave prijatych bajtu a smycka se
>> neukonci. Nejak nevim kde je chyba. Co jsem prosel ruzne prikladky,
>> nevidim tam nic navic. Diky
>
> imho bys to mel podminit nejakym AnyData (ze je neco na vstupu) ve
> stylu
>
> function tJPiTcpSocket.AnyData(TCP:tSocket):bool;
> begin
> result := (TCP<>INVALID_SOCKET)
> and (ioCtlSocket(TCP,FIONREAD,u_long(len))=0) // len je
> integer
> and (len>0);
> end;
>
> a to cely spoustet jen na notifikaci FD_READ co se nastavi ve
> WSAAsyncSelect
>
> viz SDK WSAAsyncSelect, ioCtlSocket
>
Poznamka:
pokud uz nastane udalost FD_READ tak se stejne musi zavolat vzdy
recv(), takze je nesmysl nejak pokoutne zjistovat zda jsou nebo nejsou
nejaka data k precteni.
A puvodni tazatel nepouziva non-blocking sockety... Ani bych mu to
nedporucoval dokud si nebude jist, ze umi zachazet s defaultnim
blokovacim modem...
Zdravi
Dalibor Toman
Fortech s.r.o.
WinSock.recv
[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 5.10.2005 09:49:21
On Tuesday, October 04, 2005 9:20 PM ,
Cizek Milan <cizek.milan(zv)seznam(tec)cz> wrote:
> Ahoj,
> ve smycce prijimam data... Data dorazi ok, ulozi se do bufferu, ale
> RC
> obsahuje porad dokola pocet prave prijatych bajtu a smycka se
> neukonci. Nejak nevim kde je chyba. Co jsem prosel ruzne prikladky,
> nevidim tam nic navic. Diky
>
> procedure TBindThread.Execute;
> const READ_BUFFER_SIZE = 64;
> var RC: integer; buf: array[1..READ_BUFFER_SIZE] of byte;
> begin
> repeat
> RC:=recv(Sock,buf,SizeOf(buf),0);
> Sleep(0);
> until Terminated or (RC=0) or (RC=SOCKET_ERROR);
>
> ShowMessage('Prijato '+IntToStr(RC));
> end;
pokud RC po recv() obsahuje neco vetsiho nez 0 pak na ten socket stale
chodi data.
Aby Ti to z ty smycky vyskocilo musi druha strana ukoncit spojeni
pomoci CloseSocket (pak recv() vrati 0).
Zdravi
Dalibor Toman
Editacia v TListView
[*] Stanislav ADAMCIK <konferencia(zv)stadas.sk> - 5.10.2005 09:39:13
Nevie niekto ako sa da editovat TListView ?
Stano
WinSock.recv
[*] Jaroslav Pivonka <jpivonka(zv)centrum(tec)cz> - 5.10.2005 09:01:07
From: "Cizek Milan" <cizek.milan(zv)seznam(tec)cz>
> Ahoj,
> ve smycce prijimam data... Data dorazi ok, ulozi se do bufferu, ale RC
> obsahuje porad dokola pocet prave prijatych bajtu a smycka se neukonci.
> Nejak nevim kde je chyba. Co jsem prosel ruzne prikladky, nevidim tam nic
> navic. Diky
imho bys to mel podminit nejakym AnyData (ze je neco na vstupu) ve stylu
function tJPiTcpSocket.AnyData(TCP:tSocket):bool;
begin
result := (TCP<>INVALID_SOCKET)
and (ioCtlSocket(TCP,FIONREAD,u_long(len))=0) // len je integer
and (len>0);
end;
a to cely spoustet jen na notifikaci FD_READ co se nastavi ve WSAAsyncSelect
viz SDK WSAAsyncSelect, ioCtlSocket
Jarda
ADO RefreshCache
[*] Ing. Keder Vladimir <vkeder(zv)iol.sk> - 4.10.2005 21:58:22
Ahoj
Este stale riesim citanie z tabulky po inserte. Na internete som nasiel
uses
{...}
ADODB,
JRO_TLB;
var
JE: JetEngine;
Connection: TADOConnection;
begin
JE = JetEngine.Create;
{ ... }
end;
procedure ReadFromDatabase;
begin
JE.RefreshCache(Connection.ConnectionObject);
{ ... }
end;
V Delphi 2005 mi uvedeny kod nefunguje. Skusil som aj toto
JE:= CoJetEngine.Create();
JE.RefreshCache(ADOConnection);
[Error] Main.pas(1026): E2010 Incompatible types: '_Connection' and
'TADOConnection'
alebo
JE:= CoJetEngine.Create();
JE.RefreshCache(ADOConnection.ConnectionObject);
[Error] Main.pas(1026): E2010 Incompatible types: 'ADODB_TLB._Connection'
and 'ADOInt._Connection'
Kde robim chybu ? Dakujem za pomoc. Delphi 2005 SP3 Architect, Win XP SP2,
ADO (dbGo)
Ing Keder Vladimir
WinSock.recv
[*] Cizek Milan <cizek.milan(zv)seznam(tec)cz> - 4.10.2005 21:20:18
Ahoj,
ve smycce prijimam data... Data dorazi ok, ulozi se do bufferu, ale RC
obsahuje porad dokola pocet prave prijatych bajtu a smycka se neukonci.
Nejak nevim kde je chyba. Co jsem prosel ruzne prikladky, nevidim tam nic
navic. Diky
procedure TBindThread.Execute;
const READ_BUFFER_SIZE = 64;
var RC: integer; buf: array[1..READ_BUFFER_SIZE] of byte;
begin
repeat
RC:=recv(Sock,buf,SizeOf(buf),0);
Sleep(0);
until Terminated or (RC=0) or (RC=SOCKET_ERROR);
ShowMessage('Prijato '+IntToStr(RC));
end;
S pozdravem Milan Cizek, amatersky programator, D7 Ent
Win2k (SP4) a WinXP, cizek.milan(zv)seznam(tec)cz, ICQ: 59826637
OT: BDN News - October 2005 - DeXter and the Deve
[*] Bc. Jiri Cincura <diskuze(zv)cincura(tec)net> - 4.10.2005 19:08:05
Mozna by to mohlo nekoho zajimat:
BDN News - October 2005 - DeXter and the Developer Conference(s) 2005
----------
Borland Developer Network (BDN) News is an email newsletter for members
of the Borland Developer Network - http://bdn.borland.com/
Only members who have expressed an interest in getting email updates
receive this message. If you would like to cancel your subscription,
click on the hyperlink at the end of this message.
35 days until USA Borland Developer Conference 2005!
----------
San Francisco Hilton Hotel
San Francisco California
November 8-10, 2005
http://www.borland.com/devcon
USA Developer Conference 2005 is the first place where you will get
technical training on DeXter and the only public place where you
can actually test drive the product in the computer lab.
There are lots of DexTer technical sessions at this years developer.
Sessions are included for both Win32 and .NET. You will also be
able to meet the members of the team building DeXter, which is the
code name for the next version of Delphi, C++Builder, and C#Builder.
DeXter technical and tutorial sessions at the 2005 Developer Conference
----------
Listed below are just some of the many sessions devoted to new capabilities
in Borland Delphi.
1102 - What's New in Delphi - Allen Bauer, Borland
2016 - Delphi Overview - Anders Ohlsson, Borland
2018 - Application Lifecycle Management for Delphi - John Kaster, Borland
2020 - Introduction to ECO - Malcolm Groves, Borland
2146 - ADO.NET: BDP 2.5 - Ramesh Theivendran, Borland
2158 - Building Distributed Database Applications in .NET - Ramesh
Theivendran, Borland
2160 - Using Together in Delphi - John Kaster, Borland
2166 - ECO: Basic Concepts - Malcolm Groves, Borland
3016 - Reading Tea Leaves: The Fine Art of Debugging - Danny Thorpe, Borland
3018 - Applying ECO to ASP.NET - Malcolm Groves, Borland
3104 - What's New in the Delphi Compiler - Danny Thorpe, Borland
3132 - Delphi Productivity Features for ASP.NET Developers, Jim Tierney
and Steve Trefethen, Borland
3180 - What's New in ECO III - Malcolm Groves, Borland
4104 - WinForm User Interface and the Delphi ECO Framework - Fredrik
Haglund, Borland
4112 - Building Scalable ECO Applications - Fredrik Haglund, Borland
9100 - Integrating Help with Borland Products - Stuart Norton, Borland
The current list of Delphi technical, tutorial, and birds-of-a-feather
can be found at
http://info.borland.com/conf2005/tracks/product/borlanddelphi.html
Recent DeXter BDN articles and events
----------
Borland Delphi Update - September 2005
http://bdn.borland.com/article/0,1410,33303,00.html
BDNradio: DeXter and the Delphi Roadmap
http://bdn.borland.com/article/0,1410,33346,00.html
QualityCentral reports fixed in DeXter
http://bdn.borland.com/article/0,1410,33338,00.html
CNET News.com: Interview with Scott Arnold
http://bdn.borland.com/article/0,1410,33342,00.html
Recent DeXter blog posts
----------
Delphi Roadmap 2005 - 2006 - blog entry by Danny Thorpe
http://blogs.borland.com/dcc/archive/2005/09/27/21361.aspx
DeXter - VCL components are now "recreate tolerant" - blog entry by
Allen Bauer
http://blogs.borland.com/abauer/archive/2005/09/30/21517.aspx
The rumors are true...FastMM - blog entry by Allen Bauer
http://blogs.borland.com/abauer/archive/2005/09/28/21433.aspx
ASP.NET features in Dexter (the next release of Delphi) - blog entry by
Steve Trefethen
http://blogs.borland.com/stevet/archive/2005/09/27/21343.aspx
EKON 9 Opening Keynote - DeXter preview and roadmap - blog entry by David I
http://blogs.borland.com/davidi/archive/2005/09/27/21339.aspx
Passionate producers = passionate consumers - blog entry by Allen Bauer
http://blogs.borland.com/abauer/archive/2005/09/29/21481.aspx
Delphi Quality: Where are we now? - blog entry by Steve Trefethen
http://blogs.borland.com/stevet/archive/2005/09/29/21488.aspx
Borland Conferences around the world
----------
Software is the core technology transforming the world in which we live. At
upcoming Borland conferences around the world, you will learn technical
tips,
tricks, techniques, API(s) and more needed to maximize the way you develo
software and shape the world.
Borland Developer Conference US
November 8-10
San Francisco, California
http://www.borland.com/devcon
Borland Conference Brazil
November 17-19
Sao Paolo, Brazil
http://info.borland.com.br/borcon/
Borland Developer Conference Europe
November 29-30
Amsterdam, The Netherlands
http://www.borconeurope.com/
Borland Developer Conference France
December 14-15
Paris, France
http://www.borland.fr/news/events/index.html
LEGAL NOTICES
----------
Legal notices covering this email message, software documents, files and
information are available at
http://www.borland.com/company/legal_notices.html
Borland Privacy Policy (effective date: August 31, 2004)
http://www.borland.com/company/privacy.html
--
Bc. Jiri Cincura
http://www.ID3renamer.com/
http://www.x2develop.com/
ICQ: 314711544 | Yahoo!: x2develop
http://photo.cincura.net/
Jak odchytit click nebo doubleclick v dobe navrhu?
[*] Jiri Bouchala <bouchala(zv)starmon(tec)cz> - 4.10.2005 14:43:46
Nevi nekdo alespon kde zacit? Odkaz na nejaky web ci priklad?
Firebird a cteni BLOB
[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 4.10.2005 13:27:40
Josef SIP dne 4 Oct 2005 v 13:21:
> Ahoj, poli je tam vice tohle byl jen priklad,
> bohuzel to AsString s Firebirdem nefunguje, v accesu mi to tak
> fungovalo. Uz jsem pouzil .SaveToFile
Hm, 100% si jisty nejsem, ale rekl bych, ze pri pouzitiu tIbQuery nebo tIbDataSet funguje to
AsString i tady; mam IBX, tu posledni verzi, ktera chodila pod Delphi 5.
KR.
Firebird a cteni BLOB
[*] Josef SIP <conf(zv)sipj(tec)net> - 4.10.2005 13:21:40
Ahoj, poli je tam vice tohle byl jen priklad,
bohuzel to AsString s Firebirdem nefunguje, v accesu mi to tak fungovalo.
Uz jsem pouzil .SaveToFile
diky Vsem Jozka
|
|ve vetsine pripadu krom BLOB pole bude uzitecne mit na te tabulce i nejake
|klicove pole.
|
|> ulozit se ulozi ale jak ho prectu?
|> Normalne pouzivam IBSQL.fieldByName().As...
|
|Lze AsString nebo FieldByName().SaveToStream...
|
|Karel Rys
FB a vetvenie selectu
[*] horky(zv)cominn(tec)cz - 4.10.2005 12:33:36
> From: hlas [mailto:hlas(zv)inmail.sk]
>
> stale mi to nejde, nemoze byt problem ze je potrebne mat fb 1.5?
Mas pravdu, CASE je az ve FB v 1.5.
V nizsi verzi ti pomuze jen ulozenka.
--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP2
[mailto:horky(zv)cominn(tec)cz]
Jak nacist cookies?
[*] Petr Podany <podany(zv)students.zcu(tec)cz> - 4.10.2005 12:29:36
Tohle by melo stacit.
Potrebuju pri spusteni aplikace zjistit, jestli urcity server tam ma
zapsano v cookies. Je to jenom pro kontrolu, aby mohl pripadne program
upozornit uzivatele
Vecer se na podivam. Diky
Radek Cervinka napsal(a):
> Petr Podany napsal(a):
>
>
>>Potrebuju to nacist z Firefoxu, ale IE by taky neskodilo
>>
>
>
> a potrebujes to jednorazove, nebo opakovane, tj.
> jestli to bude program na opakovane zpracovani, nebo ti to staci prave
> ted zjistit?
>
> http://www.techspot.com/vb/all/windows/t-16312-Firefox-Cookies-etc.html
>
> \Documents and Settings\<profile name>\Application
> Data\Mozilla\Profiles\<profile name>\<something>.slt\cookies.txt
>
> resp. u mne na mozille to tak je, firefox nemam
>
>
> spousta rozsitreni (napr. WebDeveloper to umi zobrazit, myslim ze i
> samotny firefox taky).
>
> staci? resp. na co to potrebujes?
>
> Radek
>
>
>
>
FB a vetvenie selectu
[*] hlas <hlas(zv)inmail.sk> - 4.10.2005 12:23:35
stale mi to nejde, nemoze byt problem ze je potrebne mat fb 1.5?
nie je ten case mozny iba v ramci selectu v ulozenej procedure?
FB a vetvenie selectu
[*] delphinpp(zv)atlas(tec)cz - 4.10.2005 12:09:34
hlas wrote:
>v jednom sql e-booku co pouzivam je priklad na select case:
>
>select case rank
> when 'general' then 'gen'
> when 'major' then 'maj'
> else 'x'
>end.
>last_name
>from officers
>
>
>
toto by nemalo robit problem :
select case
when rank = 'general' then 'gen'
when rank = 'major' then 'maj'
else 'x'
end as last_name
from officers
M.
Firebird 1.5 - uzivatel s pravy na spravu uctu
[*] Pavel Malinsky <malinsky(zv)pmcom(tec)cz> - 4.10.2005 11:53:33
Ahoj,
existuje nejaka finta/zpusob, jak vytvorit
uzivatelsky ucet, ktery bude mit prava
na pridavani/modifikaci/mazani uzivatelskych uctu
na serveru ?
Potreboval bych se vyhnout tomu, abych se musel
prihlasovat jako SYSDBA, abych mohl spravovat uzivatele.
Neco jako vyrobit si vlastniho SYSDBA, ale pokud mozno
bez zasahu do security.fdb. (Protoze pokud dobre patram
tak do teto FB 2.0 jiz nebude umoznovat zasahovat.)
Tzn. jen jednou se prihlasit jako SYSDBA, vyrobit
si sveho "superuzivatele" a pak si spravu uctu delat s nim.
Jedna se o FB 1.5. S pozdravem a dikem
=====================================
> Pavel Malinsky; malinsky(zv)pmcom(tec)cz <
=====================================
> GSM: 602 652 203 | ICQ: 322015967 <
=====================================
FB a vetvenie selectu
[*] hlas <hlas(zv)inmail.sk> - 4.10.2005 11:21:31
potreboval by som nad FB napisat taky select ktory by mi vracal 0 alebo pocet dni za urcitych podmienok.
a teda by som potreboval ten select nejako vetvit. snazim sa pouzivat prikaz CASE ale moc sa mi nedari.
asi mam zlu syntax. nemozte niekto sem hodit priklad selectu nad FB s pouzitim case prikazu?
pripadne je mozne este nejako inak vetvit select?
konkretne mam tento problem:
potrebujem dostat nasledovny vypis:
jozo 0
fero 14
jano 15
milan 0
teda vypis ludi a za tym hodnotu. ta hodnota sa ziska z datumoveho pola, ktore sa nachadza v tabulke tiez.
ak mesiac a rok v poli datum sa rovnaju napr. 06.2005 tak tam bude ta hodnota a je to den z toho datumoveho pola.
ak datum v poli sa nerovna 06.2005 ta tam bude 0.
v jednom sql e-booku co pouzivam je priklad na select case:
select case rank
when 'general' then 'gen'
when 'major' then 'maj'
else 'x'
end.
last_name
from officers
ale ak sa snazim spravit anlogicky pripad u mna tak mi to nad ibexpertom hlasi chybu uz pri klucovom slove when...
dik za kazdy napad
problematicke chovani TabStop u TRadioGroup - VYRE
[*] Frantisek Mlcoch <frantisek.mlcoch(zv)vsb(tec)cz> - 4.10.2005 09:57:25
Tak to funguje, diky MM:
TRadiobutton(rgrStitky.controls[0]).TabStop := false;
rgsStitky je ta komponenta TRadioGroup a index je od nuly pro jednotlive
RadioButony.
F.
> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Vlastimil Burian
> Sent: Monday, October 03, 2005 10:59 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Re: problematicke chovani TabStop u TRadioGroup
>
> > TRadiobutton(kodstrana.controls[2]).enabled := false;
> >
> > kde "kodstrana" je TRadioGroup
> > mozna to pujde pouzit i na TabStop
>
>
> no vida - problem je vyresen - novy poznatek: TabStop se musi
> nastavovat na
> False u RadioButtonu pri kazdem clicku na RadioGroup nebo
> jeden z vice
> RadioButtonu (tohle teda nechapu jaky ma opodstatneni ale
> spokojme se s
> faktem)
> u RadioGroupu tedy staci jako OnClick hodit tuto obsluhu:
>
>
> procedure TForm1.RadioGroupClick(Sender: TObject);
>
> var
> I: Integer;
>
> begin
> for I := 0 to RadioGroup.Items.Count - 1 do
> TRadioButton(RadioGroup.Controls[I]).TabStop := False;
> end;
>
>
>
>
Firebird a cteni BLOB
[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 4.10.2005 08:43:17
Josef SIP dne 3 Oct 2005 v 22:06:
> Ahoj, asi hloupy dotaz ale nemuzu na to prijit.
> Mam tabulku ktera obsahuje Blob pole, Firebid 1.5 D6
> Jak ho zapsat jsem uz v archivu nasel:
>
> IBQueryTmp.SQL.Clear;
> IBQueryTmp.SQL.Add('INSERT INTO TABULKA');
> IBQueryTmp.SQL.Add('(OBR) VALUES (:OBR)');
Ahoj,
ve vetsine pripadu krom BLOB pole bude uzitecne mit na te tabulce i nejake klicove pole.
> ulozit se ulozi ale jak ho prectu?
> Normalne pouzivam IBSQL.fieldByName().As...
Lze AsString nebo FieldByName().SaveToStream...
Karel Rys
Firebird a cteni BLOB
[*] Martin Burle <mburle2(zv)volny(tec)cz> - 4.10.2005 06:25:06
> ulozit se ulozi ale jak ho prectu?
> Normalne pouzivam IBSQL.fieldByName().As...
Zkus tedy IBSQL.fieldByName().SaveToFile, nebo
IBSQL.fieldByName().SaveToStream.
MB
problematicke chovani TabStop u TRadioGroup
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 3.10.2005 22:58:32
> TRadiobutton(kodstrana.controls[2]).enabled := false;
>
> kde "kodstrana" je TRadioGroup
> mozna to pujde pouzit i na TabStop
no vida - problem je vyresen - novy poznatek: TabStop se musi nastavovat na
False u RadioButtonu pri kazdem clicku na RadioGroup nebo jeden z vice
RadioButtonu (tohle teda nechapu jaky ma opodstatneni ale spokojme se s
faktem)
u RadioGroupu tedy staci jako OnClick hodit tuto obsluhu:
procedure TForm1.RadioGroupClick(Sender: TObject);
var
I: Integer;
begin
for I := 0 to RadioGroup.Items.Count - 1 do
TRadioButton(RadioGroup.Controls[I]).TabStop := False;
end;
problematicke chovani TabStop u TRadioGroup
[*] Macko Martin <martin.macko(zv)m-pro(tec)cz> - 3.10.2005 22:42:31
mam konferenci o delphi jenom na cteni, proto odpovidam bokem
resil jsem podobny problem - potreboval jsem jednotlive TRadioButtony
disejblovat
s uspechem jsem pouzil nasledujici konstrukci:
TRadiobutton(kodstrana.controls[2]).enabled := false;
kde "kodstrana" je TRadioGroup
mozna to pujde pouzit i na TabStop
M.M.> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Frantisek Mlcoch
> Sent: Monday, October 03, 2005 7:58 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Re: problematicke chovani TabStop u TRadioGroup
>
> U komponenty TRadioGroup nemuzu nastavovat vlastnosti
> jednotlivych TRadioButonu.
>
> F.
>
> PS: pouzivam D6 prof.
>
> > -----Original Message-----
> > From: delphi-l-owner(zv)clexpert(tec)cz
> > [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Bc. Jiri Cincura
> > Sent: Monday, October 03, 2005 6:58 PM
> > To: delphi-l(zv)clexpert(tec)cz
> > Subject: Re: problematicke chovani TabStop u TRadioGroup
> >
> > Frantisek Mlcoch wrote:
> > > Pouzil jsem ve svem programu komponentu TRadioGroup a
> > protoze jsem nechtel,
> > > aby se nani dalo dosta pres klavesu Tab, tak jsem ji
> > nastavil vlastnost
> > > TabStop na false. Jenze na RadioButony, ktere jsou uvnitr
> > se zmena tohoto
> > > parametru neuplatni a klavesa Tab na nich porad funguje.
> > >
> > > Ma nekdo napad co s tim?
> >
> > A ty RadioButtony maji taky TabStop na false?
> >
> >
> > --
> > Bc. Jiri Cincura
> > http://www.ID3renamer.com/
> > http://www.x2develop.com/
> > ICQ: 314711544 | Yahoo!: x2develop
> > http://photo.cincura.net/
> >
> >
> >
>
>
>
>
>
Firebird a cteni BLOB
[*] Josef SIP <conf(zv)sipj(tec)net> - 3.10.2005 22:06:28
Ahoj, asi hloupy dotaz ale nemuzu na to prijit.
Mam tabulku ktera obsahuje Blob pole, Firebid 1.5 D6
Jak ho zapsat jsem uz v archivu nasel:
IBQueryTmp.SQL.Clear;
IBQueryTmp.SQL.Add('INSERT INTO TABULKA');
IBQueryTmp.SQL.Add('(OBR) VALUES (:OBR)');
IBQueryTmp.Params[0].DataType := ftBLOB;
IBQueryTmp.Params[0].Value := Null;
IBQueryTmp.Params[0].LoadFromFile(TvojeCestaKobrazku,ftBlob);
if not(IBQueryTmp.Prepared) then IBQueryTmp.Prepare;
IBQueryTmp.ExecSQL;
ulozit se ulozi ale jak ho prectu?
Normalne pouzivam IBSQL.fieldByName().As...
Dik Josef
problematicke chovani TabStop u TRadioGroup
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 3.10.2005 21:00:23
> s odstupem sem si s tim ted zacal hrat a zjistil jsem ze na Tab se na
> radiobuttony ci radiogroupy dostaneme pri TabStop=False pouze pokud je
> nejaky radiobutton Checked, u RG nastaven ItemIndex > -1 ... pokud zadny
> neni oznacen tak je vse v poradku
mozne dalsi reseni - stale nic moc pritazlive ale uz se alespon neustale
neprochazi zpravy
...
private
LastEditExit: Boolean;
RBMouseOn: Boolean;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
RBMouseOn := False;
LastEditExit := False;
end;
procedure TForm1.RadioButton1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
RBMouseOn := True;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y:
Integer);
begin
RBMouseOn := False;
end;
procedure TForm1.Edit2Exit(Sender: TObject);
begin
LastEditExit := True;
end;
procedure TForm1.RadioButton1Enter(Sender: TObject);
begin
if LastEditExit and not RBMouseOn then begin
FirstEdit.SetFocus;
LastEditExit := False;
RBMouseOn := False;
end;
end;
problematicke chovani TabStop u TRadioGroup
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 3.10.2005 20:18:20
>> Tak tohle mi mluvi primo z duse. V jednom projektu jsem pred rokem resil
>> co
>> s neposlusnymi RadioButtony - chovani je prakticky stejne - mam tam
>> nejake
>
> jenom bych dodal ze tenhle problem se mi v Delphi 7 Enterprise (update na
> 7.1) jiz neobjevil ale i pri novem zkompilovani toho starsiho projektu to
> proste porad dela popsanou neplechu, takze to reseni tam porad mam jak sem
> popsal ... ale je to betalne nesikovne kdyz program ladim (to centralni
> prochazeni zprav kvuli te pitomosti)
s odstupem sem si s tim ted zacal hrat a zjistil jsem ze na Tab se na
radiobuttony ci radiogroupy dostaneme pri TabStop=False pouze pokud je
nejaky radiobutton Checked, u RG nastaven ItemIndex > -1 ... pokud zadny
neni oznacen tak je vse v poradku
problematicke chovani TabStop u TRadioGroup
[*] Frantisek Mlcoch <frantisek.mlcoch(zv)vsb(tec)cz> - 3.10.2005 19:58:18
U komponenty TRadioGroup nemuzu nastavovat vlastnosti jednotlivych
TRadioButonu.
F.
PS: pouzivam D6 prof.
> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Bc. Jiri Cincura
> Sent: Monday, October 03, 2005 6:58 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Re: problematicke chovani TabStop u TRadioGroup
>
> Frantisek Mlcoch wrote:
> > Pouzil jsem ve svem programu komponentu TRadioGroup a
> protoze jsem nechtel,
> > aby se nani dalo dosta pres klavesu Tab, tak jsem ji
> nastavil vlastnost
> > TabStop na false. Jenze na RadioButony, ktere jsou uvnitr
> se zmena tohoto
> > parametru neuplatni a klavesa Tab na nich porad funguje.
> >
> > Ma nekdo napad co s tim?
>
> A ty RadioButtony maji taky TabStop na false?
>
>
> --
> Bc. Jiri Cincura
> http://www.ID3renamer.com/
> http://www.x2develop.com/
> ICQ: 314711544 | Yahoo!: x2develop
> http://photo.cincura.net/
>
>
>
problematicke chovani TabStop u TRadioGroup
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 3.10.2005 19:36:11
> Tak tohle mi mluvi primo z duse. V jednom projektu jsem pred rokem resil
> co
> s neposlusnymi RadioButtony - chovani je prakticky stejne - mam tam nejake
jenom bych dodal ze tenhle problem se mi v Delphi 7 Enterprise (update na
7.1) jiz neobjevil ale i pri novem zkompilovani toho starsiho projektu to
proste porad dela popsanou neplechu, takze to reseni tam porad mam jak sem
popsal ... ale je to betalne nesikovne kdyz program ladim (to centralni
prochazeni zprav kvuli te pitomosti)
problematicke chovani TabStop u TRadioGroup
[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 3.10.2005 19:18:09
> Pouzil jsem ve svem programu komponentu TRadioGroup a protoze jsem
> nechtel,
> aby se nani dalo dosta pres klavesu Tab, tak jsem ji nastavil vlastnost
> TabStop na false. Jenze na RadioButony, ktere jsou uvnitr se zmena tohoto
> parametru neuplatni a klavesa Tab na nich porad funguje.
Tak tohle mi mluvi primo z duse. V jednom projektu jsem pred rokem resil co
s neposlusnymi RadioButtony - chovani je prakticky stejne - mam tam nejake
dva radiobuttony a par editacnich poli ... u obou RB mam nastaveno TabStop
na False ale kdyz v poslednim Editu hodim Tab tak se stejne nastavi kurzor
na prvni RadioButton coz je samozrejme nejaka chyba VCL nikoli "nase". Jak
to resit? Ja jsem v zoufalstvi kdy jiz vazne padly vse me napady jak to
obejit pouzil nasledujici... funguje to - byt se mi to absolutne nelibi.
Uvitam jine reseni pokud se s tim nekdo popral lepe nez ja.
komponenta TAppEvents (nemusis ji pouzit, muzes nastavit obsluznou proceduru
rucne..)
procedure TFormVypocty.AppEventsMessage(var Msg: tagMSG; var Handled:
Boolean);
// odchytava vsechny zpravy -> kontrolujeme tu "pravou"
begin
if (Msg.message = WM_KEYDOWN) and
(Msg.wParam = 9){Tab} and EditX.Focused
then SelectNext(ActiveControl, True, True); // nastavime se na dalsi
prvek (prizpusobis dle sveho)
end;
problematicke chovani TabStop u TRadioGroup
[*] Bc. Jiri Cincura <diskuze(zv)cincura(tec)net> - 3.10.2005 18:58:07
Frantisek Mlcoch wrote:
> Pouzil jsem ve svem programu komponentu TRadioGroup a protoze jsem nechtel,
> aby se nani dalo dosta pres klavesu Tab, tak jsem ji nastavil vlastnost
> TabStop na false. Jenze na RadioButony, ktere jsou uvnitr se zmena tohoto
> parametru neuplatni a klavesa Tab na nich porad funguje.
>
> Ma nekdo napad co s tim?
A ty RadioButtony maji taky TabStop na false?
--
Bc. Jiri Cincura
http://www.ID3renamer.com/
http://www.x2develop.com/
ICQ: 314711544 | Yahoo!: x2develop
http://photo.cincura.net/
Vlakno a zatizeni CPU
[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 3.10.2005 16:39:57
Aha, tohle me nenapadlo, tak nejak cekam, ze kdo pouzije vlakno,
tak pouzije blokujici pristup :((
Slavek
> smycka while not Terminated do vytizi CPU na 100%. Lze tomu zabranit
> tak, ze se do smycky vlozi sleep (x). Lepe vsak je pouzit funkci
> WaitCommEvent, i kdyz je to slozitejsi.
>
> Vaclav Sazima
>
>
> programuji aplikaci pro prijem dat na seriovem portu. Aplikace ma
> zvlastni vlakno pro prijem dat ze serioveho portu, kde tato
> data precte
> a ulozi do fronty prijatych znaku. Data z fronty jsou nasledne
> zpracovana v hlavni aplikaci. Prijem ve vlakne probiha v
> metode Execute
> pomoci smycky while not Terminated do ...., priorita je tpNormal.
Vlakno a zatizeni CPU
[*] Vaclav Sazima <vaclav.sazima(zv)utilia(tec)cz> - 3.10.2005 16:33:57
Ahoj,
smycka while not Terminated do vytizi CPU na 100%. Lze tomu zabranit
tak, ze se do smycky vlozi sleep (x). Lepe vsak je pouzit funkci
WaitCommEvent, i kdyz je to slozitejsi.
Vaclav Sazima
smycka
Pepa D. wrote:
programuji aplikaci pro prijem dat na seriovem portu. Aplikace ma
zvlastni vlakno pro prijem dat ze serioveho portu, kde tato data precte
a ulozi do fronty prijatych znaku. Data z fronty jsou nasledne
zpracovana v hlavni aplikaci. Prijem ve vlakne probiha v metode Execute
pomoci smycky while not Terminated do ...., priorita je tpNormal.
>
> Muj problem je v tom, ze pokud vlakno zacne prijimat znaky, dojde k vytizeni procesoru na 100% (mereno spravcem uloh ve W2k).
>
> Pepa
problematicke chovani TabStop u TRadioGroup
[*] Frantisek Mlcoch <frantisek.mlcoch(zv)vsb(tec)cz> - 3.10.2005 15:15:51
Pouzil jsem ve svem programu komponentu TRadioGroup a protoze jsem nechtel,
aby se nani dalo dosta pres klavesu Tab, tak jsem ji nastavil vlastnost
TabStop na false. Jenze na RadioButony, ktere jsou uvnitr se zmena tohoto
parametru neuplatni a klavesa Tab na nich porad funguje.
Ma nekdo napad co s tim?
F.
Vlakno a zatizeni CPU
[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 3.10.2005 14:33:47
1. Lepsi design programu (je mnoc narocny)
2. rychlejsi CPU
3. Pomalejsi komunikace
Obvykle je problem s tim, ze funkce jsou navrzeny na prijem mnoha znaku
a prace s jednim znakem je znacne neefektivni.
Slavek
> Ahoj,
> nejsem prilis zbehly v programovani vlaken a programuji
> aplikaci pro prijem dat na seriovem portu. Aplikace ma
> zvlastni vlakno pro prijem dat ze serioveho portu, kde tato
> data precte a ulozi do fronty prijatych znaku. Data z fronty
> jsou nasledne zpracovana v hlavni aplikaci. Prijem ve vlakne
> probiha v metode Execute pomoci smycky while not Terminated
> do ...., priorita je tpNormal.
>
> Muj problem je v tom, ze pokud vlakno zacne prijimat znaky,
> dojde k vytizeni procesoru na 100% (mereno spravcem uloh ve
> W2k). Jakym zpusobem lze docilit snizeni tohoto zatizeni?
>
> Pepa
>
>
>
Vlakno a zatizeni CPU
[*] Jirka <jw-delphi(zv)seznam(tec)cz> - 3.10.2005 14:01:45
Ahoj,
je dobry do tej smycky dat Sleep(0).
Jirka
Pepa D. napsal(a):
> Ahoj,
> nejsem prilis zbehly v programovani vlaken a programuji aplikaci pro prijem dat na seriovem portu. Aplikace ma zvlastni vlakno pro prijem dat ze serioveho portu, kde tato data precte a ulozi do fronty prijatych znaku. Data z fronty jsou nasledne zpracovana v hlavni aplikaci. Prijem ve vlakne probiha v metode Execute pomoci smycky while not Terminated do ...., priorita je tpNormal.
>
> Muj problem je v tom, ze pokud vlakno zacne prijimat znaky, dojde k vytizeni procesoru na 100% (mereno spravcem uloh ve W2k). Jakym zpusobem lze docilit snizeni tohoto zatizeni?
>
> Pepa
>
>
>
Jak odchytit click nebo doubleclick v dobe navrhu?
[*] Jiri Bouchala <bouchala(zv)starmon(tec)cz> - 3.10.2005 11:19:34
Jak odchytit click nebo doubleclick v dobe navrhu na komponentach odvozenych TCustomTreeView a TCustomPanel nebo obecne i na jinych komponentach? Tj. jakmile zmacknu prave tlacitko na komponente otevre se mi kontextove menu, ale ja bych potreboval treba na doubleclick neco provest. Odkud zacit? Myslel jsem, ze od WndProc, ale ta se mi provadi napr. kdyz davam komponentu na formular, ale ne kdyz na ni zmacknu tlacitko.
Delete v snapshot transakci
[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 9.10.2005 12:38:25
Ahoj,
rad bych se zeptal na jednu vec ohledne FB 1.0.
Je tabulka, do ktere se skoro nepretrzite insertuji nova data.
V programu je cyklus, ktery jednou za cca 3 minuty selectem precte
veskera data z te tabulky, zpracuje je a smaze. Neboli dela select a
pak delete v jedna transakci snapshot.
Moje otazka zni - kdyz udelam delete from tabulka bez jakychkoli
podminek, smazou se opravdu jen zaznamy, ktere byly viditelne pri
zahajeni transakce, nebo se smazou i data, ktera byla insertovana az v
prubehu te transakce (a ktera tudiz transakce v zadenm selectu
nemohla videt)?
Diky.
David Lebeda
Plan vyvoje Delphi do roku 2007
[*] Martin Nedopil <martin.nedopil(zv)hon(tec)cz> - 9.10.2005 12:19:59
Ja spis uvazuju o jine veci. D2007 jdou do prodeje a zaroven s tim
vrha Microsoft do placu NET 2.0. Tak se ptam, jestli neni lepsi si
cekani zpestrit Microsoft Visual Developer Express (ci jak se to
presne obchodne jmenuje)... a proc u toho
rovnou nezustat? Me osobne docela zklamalo, ze D2007 nebude
podporovat NET 2.0, protoze jsem se tesil na ASP.NET 2.0
a ted jsem nucen premyslet nad jinou alternativou.
Proc Borland porad vymysli kockopsa? Jako jsem nechtel spojit
D1 s D3, jako jsem nepotreboval kompatibilitu Kylix - Delphi,
obavam se, ze tech co potrebuji takovou vec je IMHO pomalu a mam pocit,
ze to s sebou nese problem nabalujici se snehove koule.
Martin
----- Original Message -----
From: "Jan Sebelik" <honza(zv)haes(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, November 09, 2005 11:25 AM
Subject: Re: Plan vyvoje Delphi do roku 2007
>> Novy clanek od Davida Intersimone: jak se bude vyvijet
>> Delphi; vyhled do roku 2007
>> http://bdn.borland.com/article/0,1410,33383,00.html
>
> Koukam na to, vypada to velmi ambiciozne.
> Ale furt tam ctu "VCL.NET", ktera se vine jako nit pres vsechny budouci
> verze.
> A pokud jde o VCL.NET, nemam sebemensi pochybnosti, ze Petr Vones vi, co
> mluvi.
>
> David Intersimone, ktereho si jinak velmi vazim, zase podtrhuje "help
> reduce migration issues" (= jakasi zpetna kompatibilita).
> Ale jaka zpetna kompatibilita, kdyz "drastic changes for Windows
> developers"?
>
> Tak budto do tech "drastic changes", ktere predstavuji celkovou zmenu
> mysleni, jdu (uz .NET 1.1 je podle mne drasticka zmena), a pak se na
> nejakou zpetnou kompatibilitu vykaslu, nebo nejdu a v klidku zustanu u
> Win32 mysleni a Delphi 7.
>
> Myslim totiz, ze pokud se nesmirim se zmenou mysleni, celkovou zmenou
> architektury meho software, nema cenu do prechodu na .NET vubec investovat
> cas, namahu, penize.
>
> Tedy takhle premyslim ja, pokud se mylim, opravte me.
>
> (O moznosti postupneho prechodu se tady uz mluvilo: Interop + COM. To je
> ale taky zmena architektury.)
>
> Honza
Plan vyvoje Delphi do roku 2007
[*] Jan Sebelik <honza(zv)haes(tec)cz> - 9.10.2005 11:25:30
> Novy clanek od Davida Intersimone: jak se bude vyvijet
> Delphi; vyhled do roku 2007
> http://bdn.borland.com/article/0,1410,33383,00.html
Koukam na to, vypada to velmi ambiciozne.
Ale furt tam ctu "VCL.NET", ktera se vine jako nit pres vsechny budouci verze.
A pokud jde o VCL.NET, nemam sebemensi pochybnosti, ze Petr Vones vi, co mluvi.
David Intersimone, ktereho si jinak velmi vazim, zase podtrhuje "help reduce migration issues" (= jakasi zpetna kompatibilita).
Ale jaka zpetna kompatibilita, kdyz "drastic changes for Windows developers"?
Tak budto do tech "drastic changes", ktere predstavuji celkovou zmenu mysleni, jdu (uz .NET 1.1 je podle mne drasticka zmena), a pak se na nejakou zpetnou kompatibilitu vykaslu, nebo nejdu a v klidku zustanu u Win32 mysleni a Delphi 7.
Myslim totiz, ze pokud se nesmirim se zmenou mysleni, celkovou zmenou architektury meho software, nema cenu do prechodu na .NET vubec investovat cas, namahu, penize.
Tedy takhle premyslim ja, pokud se mylim, opravte me.
(O moznosti postupneho prechodu se tady uz mluvilo: Interop + COM. To je ale taky zmena architektury.)
Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
= tel. 493 792 931, 776 347 735, 493 792 569
====================================
Plan vyvoje Delphi do roku 2007
[*] rkubat(zv)email(tec)cz - 9.10.2005 10:27:00
Novy clanek od Davida Intersimone: jak se bude vyvijet
Delphi; vyhled do roku 2007
http://bdn.borland.com/article/0,1410,33383,00.html
Zdravi, -- Richard Kubat
Export do Excelu Delphi7/Interbase7.1
[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 9.10.2005 09:56:32
Vaclav Krmela dne 8 Nov 2005 v 16:41:
> > Problemom je, ze po urcitom pocte vynesenych riadkov hlasi
> > program Out of memory.
>
> Problem take muze byt v pouzitych databazovych komponentach.
> Myslim, ze toto delaji IBX a FIBPlus.
A v takovem pripade by melo pomoci, kdyz se u tIbQuery / tIbDataSet nastavi vlastnost
Unidirectional na true (nazev vlastnosti +-, nesedim u Delphi).
Karel Rys
Sinea a memo
[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 9.10.2005 09:42:06
From: "MaReK Penguin Olsavsky"
> nedari se mi vyladit prenos dat z polozky, ktera je memo (je z jvcl) do
> Sinea komponenty. Komponenty jsou bez databaze a plnene z metod
> onSetData a onGetData. Sinea mame verze 5 (I,1,6,40,20 ... Toto je je v
> pts souboru, jako verze). Potrebuji jeden prvek naplnit polozkou z memo,
> aby si sam zalamal radky, ale jeho velikost at je pevna.
Obsahy datovych polozek se plni pomoci property ObsahyPolozek, treba takto:
Sestava.ObsahyPolozek[18-1] := memo1.Lines.Text;
Verze X.40.20 (leto 2002) a starsi verze neumoznovaly viceradkovy text a
promennou vysku u vsech prvku, ale pouze u datovych prvku napojenych na
databazove polozky typu memo. V pripade programoveho plneni dat bylo nutne
definovat take udalost OnGetDataType a tam urcit, ze tato polozka je memo:
case Index of
18-1: DataType := ftsMemo;
else
DataType := ftsString;
end;
U novejsich verzi X.41.0 (Sinea 2003 a dale) jiz toto omezeni neni a
promenne vysky mohou nabyvat vsechny typy prvku.
> V pts souboru
> mam toto: T,4,18,530,106,330,59,Arial,8,0,0,32,0,1,"",0,0,0 (vic jsem
> toho z dokumentace nevycetl) a ted nevim, kaj do toho dostat data
> Sest1.Parametry.Add(memo1.Lines.Text); //parametr 18
> nefunguje. Vidim jen prvni radek.
Toto neni datovy prvek, ale parametr sestavy. Tento prvek se neobsluhuje
udalostmi OnGetData a OnStepData. Predpoklada se, ze parametr sestavy je
konstantni pro celou sestavu, ze se nemeni na kazdem radku sestavy.
Za urcitych okolnosti je mozne menit obsah parametru i behem generovani
sestavy, ale rozhodne to nedoporucuji jeko standardni reseni.
V kazdem pripade ale plati vyse uvedene omezeni. Parametry viceradkove s
promennou vyskou lze pouzit az od verze X.41, tedy Sinea 2003.
> Je nejaky zpusob, ktery toto dela a ktery proste, pro same oci, nevidim?
Ano, i pro stare verze generatoru sestav Sinea existuje reseni:
- pro promenne datove prvky pouzivat v sestave k tomu urcene objekty, tedy
datove prvky
- oznacit, ze vybrane datove prvky jsou typu memo
Vaclav Krmela
Kylix 3 - OpenSSL
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 9.10.2005 09:07:38
> V jednom projekte, ktory som dostal sa pouziva:
>
> Kylix 3 Pro
> Indy 9.10
> OpenSSL
>
> Problem je, ze pokial zakaznici pouzivali OpenSSL 0.9.6 tak vsetko
> bolo uplne v pohode, ale od cias ako zacali update serveri poskytovat
> update OpenSSL na verziu 0.9.7, tak zacali zakaznici vyvolavat, ze
> napojenie na server funguje az na druhy pokus. Uz potom az do
> ukoncenia programu komunikacia funguje uplne v pohode.
Pozor, v Indy se NEPOUZIVA OpenSSL! Oni totiz pouzivaji jimi
modifikovanou verzi OpenSSL, ktera se dost nestatne jmenuje uplne
stejne jako standardni OpenSSL knihovna. Takze se dost spatne
rozlisuje standardni OpenSSl od IndyOpenSSL. Slusne receno, jsou to
cunata! (Zvlast kdyz si uvedomime, ze vsechny ty jejich modifikace
jsou zcela zbytecne... to co tema modifikacema resi, jde resit i se
standardni OpenSSL knihovnou.)
Ta modifikace se projevuje tak, ze si tam pridali nektere dalsi
funkce. Tyto pridane funkce jsou u Win32 verze zakompilovane primo do
OpenSSL knihoven. V pripade Linuxu ty pridane funkce resi dalsi
knihovna s nazvem libindy_ssl.so.
A tady bude schovan patrne tvuj problem. Ta knihovna libindy_ssl.so
musi odpovidat potrebne OpenSSL verzi. Takze kdyz upgradujes OpenSSL,
musis take upgradovat libindy_ssl.so na verzi, ktera byla vytvorena
pro tebou pouzitou verzi OpenSSL. Je dost mozne, ze ta knihovna bude
trosku jina pro OpenSSL verzi 0.9.6 a 0.9.7...
A pochopitelne si neodpustim rejpnuti... kdybys misto Indy pouzival
Synapsi, ktera pouziva standardni OpenSSL, mohl bys uz dneska vesele
pouzivat i OpenSSL 0.9.8 bez sebemensich problemu. ;-)
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
http://www.ararat(tec)cz/synapse/ - Ararat Synapse - TCP/IP Lib.
Sinea a memo
[*] MaReK Penguin Olsavsky <orsm(zv)centrum(tec)cz> - 9.10.2005 08:17:10
Dobry den,
nedari se mi vyladit prenos dat z polozky, ktera je memo (je z jvcl) do
Sinea komponenty. Komponenty jsou bez databaze a plnene z metod
onSetData a onGetData. Sinea mame verze 5 (I,1,6,40,20 ... Toto je je v
pts souboru, jako verze). Potrebuji jeden prvek naplnit polozkou z memo,
aby si sam zalamal radky, ale jeho velikost at je pevna. V pts souboru
mam toto: T,4,18,530,106,330,59,Arial,8,0,0,32,0,1,"",0,0,0 (vic jsem
toho z dokumentace nevycetl) a ted nevim, kaj do toho dostat data
Sest1.Parametry.Add(memo1.Lines.Text); //parametr 18
nefunguje. Vidim jen prvni radek.
Je nejaky zpusob, ktery toto dela a ktery proste, pro same oci, nevidim?
Dekuji za pomoc...
MaReK Olsavsky
--
- --
MaReK "Penguin" Olsavsky
PHP Voodoo
private mail: orsm(zv)centrum(tec)cz
private web: http://orsm.wz(tec)cz
ICQ#: 160 178 925; MSN: orsm(zv)centrum(tec)cz; Skype: Penguin_007
tel.: +420-603-519-650; +420-775-154-689 (775-1-LINUX)
Jak zpracovat soubor mdb
[*] Jan Sebelik <honza(zv)haes(tec)cz> - 9.10.2005 07:06:39
Otazka
> Jakym zpusobem lze v delphi cist a pracovat s souborem z MS
> Access (pripona mdb).
>
Odpoved
> Ja kdysi kdesi sehnal komponenty KADAO, po nainstalovani jsou k
> dispozici nove databazove komponenty (v podstate stejne jako
> zakladni ale pro mdb),
Omlouvam se, ale asi nerozumim ani otazce, ani odpovedi, ktera na tuto otazku prisla.
Preci v Delphi jsou uz davno ADO komponenty.
Pro MS Access se v nastaveni ADOConnection pouzije Microsoft Jet 4.0 OLE DB Provider a vsechno funguje krasne pekne.
Spolehlivost a vykonnost ADO komponent se odviji od spolehlivosti a vykonnosti OleDb Provideru, ktery pro danou databazi pouzijeme. V pripade Microsoftu (Access MSSQL) je to zcela v pohode, jine komponenty bych nepouzil. Pro Oracle jsem zaslechl problemy s rychlosti, ale nevim, jestli to neni minulost. Vim o problemech s OleDb providerem pro InterBase, ale nevim, jestli to neni minulost.
Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
= tel. 493 792 931, 776 347 735, 493 792 569
====================================
Jak zpracovat soubor mdb
[*] John Bricklayer <bricklayer(zv)seznam(tec)cz> - 8.10.2005 22:41:40
>Jakym zpusobem lze v delphi cist a pracovat s souborem z MS Access (pripona
>mdb).
>
>Diky za radu
>
Ja kdysi kdesi sehnal komponenty KADAO, po nainstalovani jsou k dispozici nove databazove komponenty (v podstate stejne jako zakladni ale pro mdb), ktere jsou propojeny se zakladnimi. Nebo jinak, s mdb potom pracujes uplne stejne jako s ostatnimi databazemi, akorat se nastavi jen cesta k souboru s mdb. A mam pocit ze byly free :-).
ha dokonce je jeste mam, ale odkud :-( .... ale jsou free ;-)
neco z readme
DESCRIPTTION
------------
KADao is a native DAO component for Delphi/CBuilder
It is the first freeware component to completly access all databases
supported by Microsoft DAO (Data Access Objects) including mdb, xls, dbf etc..
BDE is not required. Microsoft(r) DAO(tm) must be Installed in order component to run.
Support for Microsoft(r) Access'xx-Access'97 and Microsoft(r) Access'2000-2002
Features:
1. Create, Repair, Compact, Encrypt Access'97 and Access'2000 MDB files
2. Create tables, add indexes, and fields to existing tables and so on.
3. Work as a Table an Query Component supporting both Queries and QueryDefs
4. Compatible with all data aware controls
5. Master/Detail support
6. Locate, Lookup support
7. Find_First, Find_Next, Find_Last, Find_Prior
8. Seek_Nearest, Seek_NearestEx
KADao is a set of components to use with Microsoft(r) DAO(tm) Engine
KADao is FREE for commercial and non-commercial use i.e it is absolutely free!
It is tested with Delphi 3,4,5,6.
LONG LIVE THE FREE SOURCE!
Kylix 3 - OpenSSL
[*] Roland Turcan <konf(zv)rotursoft.sk> - 8.10.2005 22:39:14
Hello All!
V jednom projekte, ktory som dostal sa pouziva:
Kylix 3 Pro
Indy 9.10
OpenSSL
Problem je, ze pokial zakaznici pouzivali OpenSSL 0.9.6 tak vsetko
bolo uplne v pohode, ale od cias ako zacali update serveri poskytovat
update OpenSSL na verziu 0.9.7, tak zacali zakaznici vyvolavat, ze
napojenie na server funguje az na druhy pokus. Uz potom az do
ukoncenia programu komunikacia funguje uplne v pohode.
Zatial to riesime tak, ze sme umiestnili kniznice OpenSSLky verzie
0.9.6m do adresara programu, ale uz niektori zvedavci sa pytali, ze
preco program pouziva stare kniznice.
Nemate niekto skusenost s tymto hlupym problemom?
Dakujem.
--
Best regards, TRoland
http://exekutor.rotursoft.sk
Export do Excelu Delphi7/Interbase7.1
[*] Kilchevskyy Anton <anton.kilchevskyy(zv)arbes(tec)com> - 8.10.2005 18:28:32
Zdravim.
No pri cpani dat do excelu se mi podarilo vyloudit chybu OLE error
800A03EC.
Potiz byla v tom, ze do bunky jsem se snazil nacpat retezec zacinajici
znaky "=<". Excel rovnitko na prvnim miste chape jako zacatek formule,
pro korektni zobrazovani znaku "=" a "-" se pred ne musi vlozit
apostrof: "'=", "'-".
Jestli to s tim nema neco spolecnyho...
-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Vaclav Krmela
Sent: Tuesday, November 08, 2005 4:42 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Export do Excelu Delphi7/Interbase7.1
> From: Ivan Kozak
>
> Exportujem data z Delphi7/Interbase7.1 do Excelu.
> ...
> Problemom je, ze po urcitom pocte vynesenych riadkov hlasi program Out
> of memory.
Problem take muze byt v pouzitych databazovych komponentach.
Myslim, ze toto delaji IBX a FIBPlus.
Vaclav Krmela
Export do Excelu Delphi7/Interbase7.1
[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 8.10.2005 16:41:57
> From: Ivan Kozak
>
> Exportujem data z Delphi7/Interbase7.1 do Excelu.
> ...
> Problemom je, ze po urcitom pocte vynesenych riadkov hlasi
> program Out of memory.
Problem take muze byt v pouzitych databazovych komponentach.
Myslim, ze toto delaji IBX a FIBPlus.
Vaclav Krmela
Export do Excelu Delphi7/Interbase7.1
[*] Rostislav Lekes <rlekes(zv)atlas(tec)cz> - 8.10.2005 16:41:32
Na to se nespolehej, starsi verze Excelu maji max 9999 radku ... tady si
neodpustim poucku, kterou jsem nekde pochytil: Co ma vic nez 100 radku,
nepatri do Excelu :).
Martin Pisarik wrote:
>Max pocet radku je 65535
>Max pocet sloupcu je 255
>
>
>>No problem je ze excel ma urcity limitovany pocet radku na
>>strance..presnou hodnotu ti nereknu ale kdysi jsem to nekde vystrachal v
>>nejakem popisu formatu xls:-D ci komponentach.
>>
>>
>
>
>
>
>
>
>
>
Export do Excelu Delphi7/Interbase7.1
[*] Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> - 8.10.2005 16:27:06
Max pocet radku je 65535
Max pocet sloupcu je 255
>
> No problem je ze excel ma urcity limitovany pocet radku na
> strance..presnou hodnotu ti nereknu ale kdysi jsem to nekde vystrachal v
> nejakem popisu formatu xls:-D ci komponentach.
Export do Excelu Delphi7/Interbase7.1
[*] Karel Kral <kralkonf(zv)purusmeda(tec)cz> - 8.10.2005 16:18:39
To ano, ale to prekroceni limitu radku rozhodne neskonci chybou Out of
memory.
ales pavel napsal(a):
> No problem je ze excel ma urcity limitovany pocet radku na
> strance..presnou hodnotu ti nereknu ale kdysi jsem to nekde vystrachal v
> nejakem popisu formatu xls:-D ci komponentach.
> Takze dost pochybuji ze je tu nekdo kdo dela "nekonecne" excelovske
> reporty:-D
> mozna by se to dalo resit dalsi zalozkou...
>
> Ales Pavel
>
>
>>>Problemom je, ze po urcitom pocte vynesenych riadkov hlasi program Out of
>>>memory.
>>>
--
______________________________________________________
Karel Kral, reditel IT / IT manager
PURUS-MEDA, s.r.o., Palackeho 174, 621 00 Brno, CZ
E-Mail: kral(zv)purusmeda(tec)cz
______________________________________________________
Export do Excelu Delphi7/Interbase7.1
[*] ales pavel <aldik(zv)quick(tec)cz> - 8.10.2005 16:04:11
No problem je ze excel ma urcity limitovany pocet radku na
strance..presnou hodnotu ti nereknu ale kdysi jsem to nekde vystrachal v
nejakem popisu formatu xls:-D ci komponentach.
Takze dost pochybuji ze je tu nekdo kdo dela "nekonecne" excelovske
reporty:-D
mozna by se to dalo resit dalsi zalozkou...
Ales Pavel
>>Problemom je, ze po urcitom pocte vynesenych riadkov hlasi program Out of
>>memory.
>>
>>
>>
Jak pouzit jen nektere defaultni hodnoty f-ce/proc
[*] Pavel Malinsky <malinsky(zv)pmcom(tec)cz> - 8.10.2005 14:29:37
> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
Ahoj,
> Pr.:
> procedure XY(const A: Word = 8; const B: Char = 'C'; const C:
> boolean = false);
> begin
> end;
>
> potom nekde v kodu volam proceduru XY a chci zmenit hodnotu
> parametru B te procedury a ostatni necht zustanou defaultni...
> XY(??, 'X');
Obavam se ze ani omylem. Kdyby tak slo zadat aspon XY(cWord,'X'),
proste abych si nemusel pamatovat ani tu osmicku, ale dotahnout
si tu hodnotu z definice proc. :)
Ale to bysme chteli asi moc :)
S pozdravem a dikem
=====================================
> Pavel Malinsky; malinsky(zv)pmcom(tec)cz <
=====================================
> GSM: 602 652 203 | ICQ: 322015967 <
=====================================
Jak pouzit jen nektere defaultni hodnoty f-ce/proc
[*] Jaroslav Pivonka <jpivonka(zv)centrum(tec)cz> - 8.10.2005 14:21:11
Existuji jazyky, kde to jde (namatkou T-SQL, dve carky vedle sebe), ale
Packal mezi ne nepatri.
Chce to myslet pri navrhu tak, aby se parametry menily zleva doprava od
velmi promenlivych po vicemene konstantni a pokud se zrovna ten prvni trefi
do defaultu, nezbyva nez ho napsat.
Zdar. Jarda
----- Original Message -----
From: "Ing. Jiri SOKOL" <js-delphi(zv)seznam(tec)cz>> Ahoj vsem!
> Mam jeden teoreticky dotaz. Resil jsem situaci, kdy jsem mel proceduru,
> ktera obsahovala x paramteru, ktere byly konstantni a ktere mely
> definovanu defaultni hodnotu.
> Ted jsem se dostal do situace, kdy jsem potreboval menit jen urcitou
> hodnotu, ale to znamenalo vsechny predchozi hodnoty opsat...
> Lze to nejakym operatorem vyresit, aby byla pouzita defaultni hodnota aniz
> bych ji musel zadavat?
>
> Pr.:
> procedure XY(const A: Word = 8; const B: Char = 'C'; const C: boolean =
> false);
> begin
> end;
>
> potom nekde v kodu volam proceduru XY a chci zmenit hodnotu parametru B te
> procedury a ostatni necht zustanou defaultni...
> XY(??, 'X');
Jak pouzit jen nektere defaultni hodnoty f-ce/proc
[*] Karel Kral <kralkonf(zv)purusmeda(tec)cz> - 8.10.2005 13:50:42
Urcite to nejde.
Ing. Jiri SOKOL napsal(a):
> Ahoj vsem!
> Mam jeden teoreticky dotaz. Resil jsem situaci, kdy jsem mel proceduru, ktera obsahovala x paramteru, ktere byly konstantni a ktere mely definovanu defaultni hodnotu.
> Ted jsem se dostal do situace, kdy jsem potreboval menit jen urcitou hodnotu, ale to znamenalo vsechny predchozi hodnoty opsat...
> Lze to nejakym operatorem vyresit, aby byla pouzita defaultni hodnota aniz bych ji musel zadavat?
--
______________________________________________________
Karel Kral, reditel IT / IT manager
PURUS-MEDA, s.r.o., Palackeho 174, 621 00 Brno, CZ
E-Mail: kral(zv)purusmeda(tec)cz
______________________________________________________
QuickReport - tlac riadkov v inej farbe
[*] Vakonic Pavol <vakonic(zv)tyory.sk> - 8.10.2005 13:42:14
Dakujem, to je ono.
procedure TZakazkyPrint.QRBand2BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
If PolQuery.FieldByName('CISLO_POLOZKY').AsInteger<0 Then
QRDBText6.Font.Color:=clRed
Else
QRDBText6.Font.Color:=clBlack;
end;
Palo Vakonic
----- Original Message -----
From: "Ing. Jiri SOKOL" <js-delphi(zv)seznam(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Tuesday, November 08, 2005 1:29 PM
Subject: Re: QuickReport - tlac riadkov v inej farbe
> From: "Vakonic Pavol" <vakonic(zv)tyory.sk>
> Sent: Tuesday, November 08, 2005 12:25 PM
> > Potrebujem v QuickReporte tlacit riadky (v detaile) roznou farbou podla
obsahu konkretneho pola
>
> Ahoj.
> Vubec netusim jak vypada novy QReport, ale v tom v D6 je mozne se povesit
na band - DETAIL a jeho event BeforePrint - tam si zjistis hodotu a nastavis
color podle libosti
> Jirka
> --------------------------------------------------------------
> Ing. Jiri Sokol, jiri.sokol(zv)seznam(tec)cz, 724 144 097
> D6Prof+SP3; WinXP+SP2; Firebird 1.5.2
> programator amater
>
>
>
QuickReport - tlac riadkov v inej farbe
[*] Ing. Jiri SOKOL <js-delphi(zv)seznam(tec)cz> - 8.10.2005 13:29:47
From: "Vakonic Pavol" <vakonic(zv)tyory.sk>
Sent: Tuesday, November 08, 2005 12:25 PM
> Potrebujem v QuickReporte tlacit riadky (v detaile) roznou farbou podla obsahu konkretneho pola
Ahoj.
Vubec netusim jak vypada novy QReport, ale v tom v D6 je mozne se povesit na band - DETAIL a jeho event BeforePrint - tam si zjistis hodotu a nastavis color podle libosti
Jirka
--------------------------------------------------------------
Ing. Jiri Sokol, jiri.sokol(zv)seznam(tec)cz, 724 144 097
D6Prof+SP3; WinXP+SP2; Firebird 1.5.2
programator amater
QuickReport - tlac riadkov v inej farbe
[*] Vakonic Pavol <vakonic(zv)tyory.sk> - 8.10.2005 12:25:18
Ahoj.
Vie ma niekto nasmerovat ? Potrebujem v QuickReporte tlacit riadky (v detaile) roznou farbou podla obsahu konkretneho pola. Napr. minusove polozky musia byt cervenou farbou, plusove ciernou.
Dakujem
Palo Vakonic
Win2000 US Pro, Delphi 7.0 Enterprise
Jak pouzit jen nektere defaultni hodnoty f-ce/proc
[*] Ing. Jiri SOKOL <js-delphi(zv)seznam(tec)cz> - 8.10.2005 12:00:51
Ahoj vsem!
Mam jeden teoreticky dotaz. Resil jsem situaci, kdy jsem mel proceduru, ktera obsahovala x paramteru, ktere byly konstantni a ktere mely definovanu defaultni hodnotu.
Ted jsem se dostal do situace, kdy jsem potreboval menit jen urcitou hodnotu, ale to znamenalo vsechny predchozi hodnoty opsat...
Lze to nejakym operatorem vyresit, aby byla pouzita defaultni hodnota aniz bych ji musel zadavat?
Pr.:
procedure XY(const A: Word = 8; const B: Char = 'C'; const C: boolean = false);
begin
end;
potom nekde v kodu volam proceduru XY a chci zmenit hodnotu parametru B te procedury a ostatni necht zustanou defaultni...
XY(??, 'X');
lze "??" nahradit nejakym operatorem, aby byla pouzita def. hodnota procedury? Nebo tam musim napsat tu "8"
Prosim, pretezovanou procedurou by to jiste resit slo (v pripade, ze je kazdy parametr jiny datovy typ, ale co kdyz by byly vsechny datove typy stejne???) - ale me zajima odpoved na tento dotaz.
Diky za napad.
Jirka
--------------------------------------------------------------
Ing. Jiri Sokol, jiri.sokol(zv)seznam(tec)cz, 724 144 097
D6Prof+SP3; WinXP+SP2; Firebird 1.5.2
programator amater
JEDI SetupAPI
[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 8.10.2005 10:02:17
> chci pouzit Windows API z JEDI, konkretne knihovnu SetupAPI v
> aplikaci, ale koncim na 'acess violation 0x00000000000000'
>
> hDevInf := SetupDiGetClassDevs(nil,nil,0,DIGCF_PRESENT);
Pre istotu: zavolal si LoadSetupApi?
SetupApi.dll sa totiz natahuje dynamicky, az ked zavolas tu funkciu; dovtedy
su tie premenne (SetupDiGetClassDevs atd.) nil.
To by snad ale malo byt jasne pri prvom pokuse o krokovanie... ak toto nie
je Tvoj pripad, potom netusim, v com je problem.
HTH
TOndrej