http://www.osp.ru. HБ ЬФПН УБКФЕ чЩ НПЦЕФЕ ОБКФЙ БpИЙЧЩ ЦХpОБМПЧ
"ухвд". ч ЬФЙИ ЦХpОБМБИ НОПЦЕУФЧП ЙОФЕpЕУОЕКЫЙИ УФБФЕК.
http://hoganbooks.com/freebook/weball.html
ФyФ МЕЦЙФ 674 ЛОЙЗЙ Ч ЬМЕЛФpПООПН ЧЙДЕ. Й РП Oracle 8. Й РП SQL. Й РП BDE. Й
ДБЦЕ РП Delphi.
http://www.chat.ru/~schehuta/cdbf
ЙМЙ, ЮФП ФПЦЕ УБНПЕ, ОП ОБВЙpБФШ НЕОШЫЕ
www.cdbf.da.ru
МЕЦЙФ DBF-ЧШАЕp ЧБЫЕК НЕЮФЩ. HБЪЩЧБЕФУС CDBF. Version 2.00
ЛПНРПОЕОФЩ ДМС ЧЕТФЙЛБМШОЩИ ЫТЙЖФПЧ Ч QreportЕ.
1. HБ УЧПЕК УФpБОЙГЕ (http://www.caravan.ru/~alexch) ЧЩМПЦЙМ ОПЧyА ЧЕpУЙА
ВЙВМЙПФЕЛЙ ДМС pБВПФЩ У ЗpБЖБНЙ (Delphi).
2. рpЙВМЙЪЙФЕМШОП ФБН ЦЕ (http://www.caravan.ru/~alexch/books/christofides/)
МЕЦЙФ ЛyЮБ TIFF-ПЧ, РpЕДУФБЧМСАЭБС Ч УПЧПЛyРОПУФЙ ЛОЙЗy
"лpЙУФПЖЙДЕУ H. фЕПpЙС ЗpБЖПЧ. бМЗПpЙФНЙЮЕУЛЙК РПДИПД. - н., нЙp, 1978".
пВЯЕН ~15.5 Mb. пЗМБЧМЕОЙЕ - Ч ЖБКМБИ Chrs0214.tif Й Chrs0215.tif.
дМС РpПУНПФpБ РПД Win95/98/NT НПЦОП ЙУРПМШЪПЧБФШ РpПЗpБННЛy
http://www.caravan.ru/~alexch/download/showtiff.zip
(Ч Windows ДПМЦОБ ВЩФШ yУФБОПЧМЕОБ РПДУЙУФЕНБ РpПУНПФpБ ЙЪПВpБЦЕОЙК).
WWW-ЙОФЕpЖЕКУБ Л ЬФПНy РПЛБ ОЕФ.
FAQ РП Delphi.
лБЛ НОЕ РПМХЮЙФШ РХФШ Л ЪБРХЭЕООПК РТПЗТБННЕ ЙЪ ОЕЕ УБНПК?
Application.EXEName;
------------------------------------------------------------------------------
> лБЛ Ч Delphi ПРТЕДЕМЙФШ, ЗДЕ ХУФБОПЧМЕОБ Windows?
GetWindowsDirectory
рТЙНЕТ:
var Windir : String;
WindirP : PChar;
................................................
WinDirP := StrAlloc(MAX_PATH);
Res := GetWindowsDirectory(WinDirP, MAX_PATH);
if Res > 0 then WinDir := StrPas(WinDirP);
................................................
------------------------------------------------------------------------------
> лБЛЙН ПВТБЪПН НПЦОП ХВТБФШ РТЙМПЦЕОЙЕ ЙЪ Task Bar?
ShowWindow(Application.Handle,SW_HIDE);
------------------------------------------------------------------------------
> лБЛЙН ПВТБЪПН НПЦОП ХВТБФШ РТЙМПЦЕОЙЕ ЙЪ Task List? (фПМШЛП ДМС Win'9x)
рТЙНЕТ:
unit hideprg;
interface
procedure TryToHide;
implementation
procedure RegisterServiceProcess; external 'kernel32.dll' name
'RegisterServiceProcess';
procedure TryToHide;assembler;
asm
push 1
push 0
call RegisterServiceProcess;
end;
------------------------------------------------------------------------------
> лБЛЙН ПВТБЪПН НПЦОП УРТСФБФШ РТЙМПЦЕОЙЕ ПФ РПЛБЪБ РТЙ ОБЦБФЙЙ Alt+Tab?
рТЙНЕТ (ТБВПФБЕФ ФПМШЛП Ч Win'95):
var WnHnd : Integer;
........................................................
WnHnd := GetWindowLong(Application.Handle, GWL_EXSTYLE);
WnHnd := WnHnd or WS_EX_TOOLWINDOW;
SetWindowLong(Application.Handle, GWL_EXSTYLE, WnHnd);
........................................................
------------------------------------------------------------------------------
> лБЛ НПЦОП УДЕМБФШ ЖПТНХ РТПЪТБЮОПК?
дМС ЬФПЗП ОЕПВИПДЙНП РЕpЕПРpЕДЕМЙФШ ПВpБВПФЮЙЛ УПВЩФЙС OnCreate:
procedure TForm1.FormCreate(Sender: TObject);
begin
Brush.Style:=bsClear;
end;
------------------------------------------------------------------------------
> лБЛ УДЕМБФШ РТПЙЪЧПМШОХА (ОЕРТСНПХЗПМШОХА) ЖПТНХ?
Win32 (Windows'95 or Windows NT 4.0 or above).
дПУФБФПЮОП УПЪДБФШ ТЕЗЙПО ОХЦОПК ЖПТНЩ Й ЧЩЪЧБФШ SetWindowRgn -
HRGN rgn := CreateEllipticRgn( 10,10,100,100 );
SetWindowRgn( hMyWnd,rgn ); // чПФ Й ВХДЕФ ЛТХЗМПЕ ПЛОП
рТЙ ЬФПН ТЕЗЙПО ЬФПФ ФЕРЕТШ ЙУРПМШЪХЕФУС Windows Й ВХДЕФ ХОЙЮФПЦЕО РТЙ
ЪБЛТЩФЙЙ ПЛОБ.
чПФ, ОБРТЙНЕТ:
........................................................
procedure TForm1.FormCreate(Sender: TObject);
const W=36*pi/180;
var R,R1,R2: HRgn; X,Y,i:integer;
function S(a:integer;R:integer):integer;
begin
Result:=round(R*sin(W*a));
end;
function C(a:integer;R:integer):integer;
begin
Result:=round(R*cos(W*a));
end;
function GetStarReg(X,Y,R:integer):HRGN;
var P : array [0..4] of TPoint;
begin
P[0] := Point(X, Y-R);
P[1] := Point(X-S(4,R), Y-C(4,R));
P[2] := Point(X-S(8,R), Y-C(8,R));
P[3] := Point(X-S(2,R), Y-C(2,R));
P[4] := Point(X-S(6,R), Y-C(6,R));
Result := CreatePolygonRgn(P, 5, WINDING);
end;
begin
X:=Width div 2;
Y:=Height div 2;
R:=GetStarReg(X,Y,100);
i:=1;
repeat
R1:=GetStarReg(X-S(i,120),Y-C(i,110),40);
CombineRgn(R,R,R1,RGN_OR);
inc(i,2);
until i>9;
R1:=GetStarReg(X,Y,30);
CombineRgn(R,R,R1,RGN_DIFF);
R1:=CreateEllipticRgn(3,3,Width-6,Height-6);
R2:=CreateEllipticRgn(20,10,Width-20,Height-10);
CombineRgn(R1,R1,R2,RGN_DIFF);
CombineRgn(R,R,R1,RGN_OR);
SetWindowRgn(Handle, R, True);
end;
........................................................
------------------------------------------------------------------------------
> лБЛ УПЪДБФШ ЖБКМЩ У ХОЙЛБМШОЩНЙ ЙНЕОБНЙ?
ъДЕУШ ХДПВОЕЕ ЧУЕЗП ЙУРПМШЪПЧБФШ ЙНС, УПУФПСЭЕЕ ЙЪ ДБФЩ Й ЧТЕНЕОЙ, ОБРТЙ-
НЕТ: 2310566160798 ДМС 23:10:56 16-07-98. еУМЙ РЕТЕЧЕУФЙ ЬФП ЮЙУМП Ч 32-ЮОХА
УЙУФЕНХ УЮЙУМЕОЙС, РПМХЮЙН ЙУЛПНЩЕ ЧПУЕНШ УЙНЧПМПЧ ЙНЕОЙ ЖБКМБ. ьФП ИПТПЫП
ЙУРПМШЪПЧБФШ, ЕУМЙ РТПЗТБННБ УПЪДБЕФ НОПЗП ЖБКМПЧ, ЛПФПТЩЕ РПФПН ВХДХФ ЙУ-
РПМШЪПЧБФШУС. еУМЙ ЦЕ ОХЦОП УПЪДБФШ ОЕУЛПМШЛП ЧТЕНЕООЩИ ЖБКМПЧ, ФП МХЮЫЕ
ЧПУРПМШЪПЧБФШУС ЖyОЛГЙЕК GetTempFileName.
------------------------------------------------------------------------------
> лБЛ РТПЗТБННОП РЕТЕЛМАЮБФШ ТБУЛМБДЛХ ЛМБЧЙБФХТЩ?
LoadKeyboardLayout('00000409', KLF_ACTIVATE); // БОЗМЙКУЛЙК
LoadKeyboardLayout('00000419', KLF_ACTIVATE); // ТХУУЛЙК
------------------------------------------------------------------------------
> лБЛ УДЕМБФШ ОЕЧЙДЙНПК ЗМБЧОХА ЖПТНХ?
HБРЙУБФШ Application.ShowMainForm:=false Ч ЖБКМЕ РpПЕЛФБ.
> лБЛ ЪБРХУФЙФШ УПЪДБОЙЕ РЙУШНБ РП ХЛБЪБООПНХ БДТЕУХ?
> лБЛ ЪБРХУФЙФШ ВТБХЪЕТ РП http-БДТЕУХ?
уОБЮБМБ ОЕПВИПДЙНП ОБРЙУБФШ Ч ТБЪДЕМЕ uses ShellAPI.
E-mail:
ShellExecute(Application.Handle,'open','mailto:towho@mysite.com',nil,nil,0);
уФТБОЙЮЛХ:
ShellExecute(Application.Handle,'open','http://mysite.com,nil,nil,0);
------------------------------------------------------------------------------
> лБЛ ТЙУПЧБФШ РТСНП ОБ ЬЛТБОЕ?
........................................................
Procedure DrawOnScreen;
Var DC:HDC;
DesktopCanvas:TCanvas;
begin
DC:=GetDC(0); // РПМХЮЙМЙ DC ЬЛТБОБ
try
DesktopCanvas:=TCanvas.Create;
DesktopCanvas.Handle:=DC;
..................
// ЪДЕУШ ТЙУХЕН ОБ Canvas ЬЛТБОБ
..................
finally
ReleaseDC(0,DC);
DesktopCanvas.Free;
end;
end;
........................................................
------------------------------------------------------------------------------
> лБЛ ХЧЕМЙЮЙФШ Ч RichEdit ТБЪНЕТ ТЕДБЛФЙТХЕНПЗП ЖБКМБ?
RichEdit1.Perform(EM_LIMITTEXT, ОХЦОЩК ТБЪНЕТ , 0);
рЕТЕД ЛБЦДЩН ПФЛТЩФЙЕН ЖБКМБ ЬФП ДЕКУФЧЙЕ ОЕПВИПДЙНП РПЧФПТСФШ.
------------------------------------------------------------------------------
> ч ЛБЛПН РПТСДЛЕ РТПЙУИПДСФ УПВЩФЙС РТЙ УПЪДБОЙЙ Й РПЛБЪЕ ПЛОБ?
OnCreate, OnShow, OnPaint, OnActivate, OnResize Й УОПЧБ OnPaint.
------------------------------------------------------------------------------
> еУМЙ РТЙМПЦЕОЙЕ ДПМЗП ЧЩРПМОСЕФ ЛБЛПК-ФП ГЙЛМ, ЛБЛ УДЕМБФШ ФБЛ, ЮФПВЩ
> ПУФБМШОЩЕ РТЙМПЦЕОЙС ОЕ РПДЧЙУБМЙ?
1. чУФБЧЙФШ Ч ФЕМП ГЙЛМБ: Application.ProcessMessages
2. ъБРХУФЙФШ ЬФПФ ГЙЛМ ЛБЛ ПФДЕМШОЩК РТПГЕУУ, ЙУРПМШЪХС ЛМБУУ TThread.
------------------------------------------------------------------------------
> лБЛ РЕТЕЛПДЙТПЧБФШ УФТПЛЙ ЙЪ Win(1251) ЛПДПЧПК УФТБОЙГЩ Ч Dos(866) ЛПДПЧХА
> УФТБОЙГХ Й ПВТБФОП?
CharToOEM/OEMToChar Й CharToOEMBuff/OEMToCharBuff.
------------------------------------------------------------------------------
> лБЛ ЙУРПМШЪПЧБФШ БОЙНЙТПЧБООЩЕ ЛХТУПТЩ Ч РТПЗТБННЕ?
рТЙНЕТ ЖПТНЩ, ЙУРПМШЪХАЭЕК БОЙНЙТПЧБООЩК ЛХТУПТ:
........................................................
procedure TForm1.Button1Click(Sender: TObject);
var
h : THandle;
begin
h := LoadImage(0,'C:\TheWall\Magic.ani',
IMAGE_CURSOR, 0, 0,
LR_DEFAULTSIZE or LR_LOADFROMFILE);
if h = 0 then ShowMessage('Cursor not loaded')
else
begin
Screen.Cursors[1] := h;
Form1.Cursor := 1;
end;
end;
........................................................
------------------------------------------------------------------------------
> лБЛ УДЕМБФШ ФБЛ, ЮФПВЩ РП Alt-F4 ЖПТНБ ОЕ ЪБЛТЩЧБМБУШ, Б ЧЩДБЧБМБ ЪБРТПУ
> ОБ УПИТБОЕОЙЕ?
пВТБВБФЩЧБФШ УПВЩФЙЕ OnCloseQuery
------------------------------------------------------------------------------
> лБЛ ЧЩЛМАЮЙФШ/ЧЛМАЮЙФШ PC Speaker?
чЩЛМАЮЙФШ:
SyStemParametersInfo(SPI_SETBEEP,0,nil,SPIF_UPDATEINIFILE);
чЛМАЮЙФШ:
SyStemParametersInfo(SPI_SETBEEP,1,nil,SPIF_UPDATEINIFILE);
------------------------------------------------------------------------------
> лБЛ УЛПРЙТПЧБФШ ЖБКМ?
ьФБ РТПГЕДХТБ РПЪЧПМСЕФ УЛПРЙpПЧБФШ ЛБЛ ЧЕУШ ЖБКМ РpЙ From Й Count = 0,
ФБЛ Й РpПЙЪЧПМШОЩК ЕЗП ЛХУПЛ.
........................................................
function CopyFile( InFile,OutFile: String; From,Count: Longint ): Longint;
var
InFS,OutFS: TFileStream;
begin
InFS := TFileStream.Create( InFile, fmOpenRead );
OutFS := TFileStream.Create( OutFile, fmCreate );
InFS.Seek( From, soFromBeginning );
Result := OutFS.CopyFrom( InFS, Count );
InFS.Free;
OutFS.Free;
end;
........................................................
------------------------------------------------------------------------------
> лБЛ ЙОУФБММЙТПЧБФШ ОБ ЧТЕНС ТБВПФЩ РТПЗТБННЩ УЧПЙ ЫТЙЖФЩ?
дПВБЧЙФШ ЖПОФ (.fon, .fot, .fnt, .ttf) Ч УЙУФЕНХ НПЦОП УМЕД. ПВТБЪПН:
........................................................
{$IFDEF WIN32}
AddFontResource( PChar( my_font_PathName { AnsiString } ) );
{$ELSE}
var
ss : array [ 0..255 ] of Char;
AddFontResource ( StrPCopy ( ss, my_font_PathName ));
{$ENDIF}
SendMessage ( HWND_BROADCAST, WM_FONTCHANGE, 0, 0 );
........................................................
хВТБФШ ЕЗП РП ПЛПОЮБОЙЙ ТБВПФЩ:
........................................................
{$IFDEF WIN32}
RemoveFontResource ( PChar(my_font_PathName) );
{$ELSE}
RemoveFontResource ( StrPCopy ( ss, my_font_PathName ));
{$ENDIF}
SendMessage ( HWND_BROADCAST, WM_FONTCHANGE, 0, 0 );
........................................................
зДЕ my_font_PathName - РПМОЩК РХФШ Л ЖБКМХ УП ЫТЙЖФПН.
------------------------------------------------------------------------------
> лБЛ ХЪОБФШ ФЕЛХЭЕЕ ТБЪТЕЫЕОЙЕ ЬЛТБОБ?
Screen.Width Й Screen.Height
------------------------------------------------------------------------------
> лБЛ Ч TMemo ПРТЕДЕМЙФШ ОПНЕТ УФТПЛЙ, Ч ЛПФПТПК ОБИПДЙФУС ЛХТУПТ Й ЕЗП
> НЕУФПРПМПЦЕОЙЕ Ч УФТПЛЕ?
........................................................
var X,Y: LongInt;
Y:=Memo1.Perform(EM_LINEFROMCHAR, Memo1.SelStart, 0);
X:=Memo1.Parform(EM_LINEINDEX, Y, 0);
inc(Y);
X:=Memo1.SelStart-X+1;
........................................................
------------------------------------------------------------------------------
> еУФШ РТПЗТБННБ ОБ Delphi, ЛПФПpБС ПФПВТБЦБЕФ ЛБЛПК-ФП html. ч html ЙУРПМШ-
> ЪХЕФУС gif-ЖБКМ. лБЛ Ч Delphi-РpПЕЛФЕ ХЛБЪБФШ, ЮФПВЩ ЬФПФ gif ОБИПДЙМУС
> Ч exe ЛБЛ ОЕЛЙК ЛХУПЛ ЛПДБ. б ЛПЗДБ ОБДП ВХДЕФ, ЪБРЙУБФШ ЕЗП ПВТБФОП Ч
> gif-ЖБКМ ВЕЪ ЙЪНЕОЕОЙК, ЧЩЛПЧЩТОХЧ ЙЪ exe?
нПЦОП, ЙУРПМШЪХС RxLib. рПУМЕ ЕЗП ХУФБОПЧЛЙ Ч НЕОА View РПСЧЙФУС РХОЛФЙЛ
Project Resources. HХЦОП ЧЩВТБФШ Project Resources->New->User Data Й ДПВБЧЙФШ
ОХЦОЩК ЖБКМ. ч ДБООПН УМХЮБЕ ТЕУХТУ ВЩМ ОБЪЧБО "RCDATA_1".
еУМЙ RxLib ОЕФ, ФП ОХЦОП УПЪДБФШ ЖБКМ ПРЙУБОЙС ТЕУХТУПЧ:
=== Begin gifs.rc ===
mygif rcdata "ЙНС_gif-ЖБКМБ.gif"
mygif1 rcdata "RCDATA_1"
=== End dots.rc ===
рПФПН УЛПНРЙМЙТПЧБФШ ЕЗП ЛПНБОДПК brcc32 gifs.rc Й РПМХЮЙФШ gifs.res
ч ОБЮБМП НПДХМС ДПВБЧШ УФТПЮЛХ {$R gifs.res}
ч УЧПЕК РТПЗТБННЕ ОЕПВИПДЙНП ОБРЙУБФШ:
var
rs : TResourceStream;
a : Pointer;
begin
rs:=TResourceStream.Create(hinstance,'RCDATA_1',RT_RCDATA);
try
GetMem(a,rs.size);
rs.Read(a^,rs.size); {фЕРЕТШ a - ДЙОБНЙЮЕУЛЙК ХЛБЪБФЕМШ ОБ ЛПД}
{ ъДЕУШ ДЕМБЕФУС ЧУЕ, ЮФП ОЕПВИПДЙНП У ЛПДПН, ЙУРПМШЪХС ХЛБЪБФЕМШ a }
FreeMem(a);
finally
rs.Free;
end;
end;
б НПЦОП Й ФБЛ, ЕУМЙ ОЕПВИПДЙНП ЪБРЙУБФШ ТЕУХТУ Ч ЖБКМ:
var
rs : TResourceStream;
fs : TFileStream;
begin
rs:=TResourceStream.Create(hInstance, 'mygif', RT_RCDATA);
fs:=TFileStream.Create('ЙНС_gif-ЖБКМБ.gif', fmCreate);
try
fs.CopyFrom(rs, rs.Size);
finally
fs.Free;
rs.Free;
end;
end;
------------------------------------------------------------------------------
* Origin: The truth is out there... (C) X-Files (2:5064/12)
- New (2:5064/6.29) ------------------------------------------- $CRACK$.TALKS -
Msg : 72 of 72
From : Nick Slepchenko 2:5064/12 Wed 31 Mar 99 20:54
To : All Thu 01 Apr 99 16:08
Subj : [03/03] дБКДЦЕУФ РП ЛПОЖЕТЕОГЙЙ RU.DELPHI
-------------------------------------------------------------------------------
------------------------------------------------------------------------------
> лБЛ ВЩУФТП ЧЩЧПДЙФШ ЗТБЖЙЛХ? (б ФП Canvas ПЮЕОШ НЕДМЕООП ТБВПФБЕФ).
чПФ РТЙНЕТ ЪБРПМОЕОЙС ЖПТНБНЙ ФПЮЛБНЙ УМХЮБКОПЗП ГЧЕФБ.
........................................................
type
TRGB=record
b,g,r:byte;
end;
ARGB=array [0..1] of TRGB;
PARGB=^ARGB;
var
b:TBitMap;
procedure TForm1.FormCreate(sender:TObject);
begin
b:=TBitMap.Create;
b.pixelformat:=pf24bit;
b.width:=Clientwidth;
b.height:=Clientheight;
end;
procedure TForm1.Tim1OnTimer(sender:TObject);
Var
p:PARGB;
x,y:integer;
begin
for y:=0 to b.height-1 do
begin
p:=b.scanline[y];
for x:=0 to b.width-1 do
begin
p[x].r:=random(256);
p[x].g:=random(256);
p[x].b:=random(256);
end;
end;
canvas.draw(0,0,b);
end;
procedure TForm1.FormDestroy(sender:TObject);
begin
b.free;
end;
........................................................
------------------------------------------------------------------------------
> лБЛ РТПЗТБННОП УПЪДБФШ СТМЩЛ?
........................................................
uses ShlObj, ComObj, ActiveX;
procedure CreateLink(const PathObj, PathLink, Desc, Param: string);
var
IObject: IUnknown;
SLink: IShellLink;
PFile: IPersistFile;
begin
IObject := CreateComObject(CLSID_ShellLink);
SLink := IObject as IShellLink;
PFile := IObject as IPersistFile;
with SLink do begin
SetArguments(PChar(Param));
SetDescription(PChar(Desc));
SetPath(PChar(PathObj));
end;
PFile.Save(PWChar(WideString(PathLink)), FALSE);
end;
........................................................
------------------------------------------------------------------------------
> лБЛ РЕТЕФБУЛЙЧБФШ ЖПТНХ ОЕ ФПМШЛП ЪБ Caption, ОП Й ЪБ МАВПЕ ДТХЗПЕ НЕУФП?
........................................................
TForm1 = class(TForm)
...
private
...
procedure WMNCHitTest(var M: TWMNCHitTest); message wm_NCHitTest;
...
end;
...
procedure TForm1.WMNCHitTest(var M: TWMNCHitTest);
begin
inherited; { ЧЩЪПЧ ХОБУМЕДПЧБООПЗП ПВpБВПФЮЙЛБ }
if M.Result = htClient then { нЩЫШ УЙДЙФ ОБ ПЛОЕ? }
M.Result := htCaption; { еУМЙ ДБ - ФП РХУФШ Windows ДХНБЕФ, ЮФП }
{ НЩЫШ ОБ caption bar }
end;