Üye Girişi

Kullanıcı Adı:  Parola:   Kayıp Parola

Başlığı Görüntüle

 Başlığı Yazdır
Delphi İpuçları Ve Kodları - 2
MuhBim
#1 Mesajı Yazdır
Mesaj Tarihi 31-03-2010 18:37
Süper Yönetici

Mesaj Sayısı: 41
Katılım Tarihi: 19.04.07

Bmp dosyasını JPEG'e dönüştürme
uses kısmına jpeg unitini ekleyin.
procedure TForm1.Button1Click(Sender: TObject);
var
MyJPEG : TJPEGImage;
MyBMP : TBitmap;
begin
MyBMP := TBitmap.Create;
with MyBMP do
try
LoadFromFile('c:\winnt\ACD Wallpaper.bmp'Wink;
MyJPEG := TJPEGImage.Create;
with MyJPEG do begin
Assign(MyBMP);
SaveToFile('c:\winnt\ACD Wallpaper.JPEG'Wink;
Free;
end;
finally
Free;
end;
end;

DELPHI -- ASSEMBLY İPUCU
1-Bilgisayarı reboot etmek
asm
cli
@@WaitOutReady:
in al,64h
test al,00000010b
jnz
@@WaitOutReady
mov al,0FEh
out 64h,al
End;

DELPHI – FORM İPUCU
1. Form üzerindeki bileşenleri resolution oranında büyütme.
//640*480 referans olarak alindi
procedure AdjustResolution(oForm:TForm);
var
iPercentage:integer;
begin
if Screen.Width > 640 then
begin
iPercentage:=Round(((Screen.Width-640)/640)*100)+100;
oForm.ScaleBy(iPercentage,100);
end;
end;
AdjustResolution(Self);

2. Formun title Bar'da gözükmesini engellemek.
{ Mutlaka Winprocs & WinTypes unitlerinin çagrilmasi gerekli }
Procedure TSeninFormName.HideTitlebar;
Var
Save : LongInt;
Begin
If BorderStyle=bsNone then Exit;
Save:=GetWindowLong(Handle,gwl_Style);
If (Save and ws_Caption)=ws_Caption then Begin
Case BorderStyle of
bsSingle,
bsSizeable : SetWindowLong(Handle,gwl_Style,Save and
(Not(ws_Caption)) or ws_border);
bsDialog : SetWindowLong(Handle,gwl_Style,Save and
(Not(ws_Caption)) or ds_modalframe or ws_dlgframe);
End;
Height:=Height-getSystemMetrics(sm_cyCaption);
Refresh;
End;
end;
Procedure TSeninFormName.ShowTitlebar;
Var
Save : LongInt;
begin
If BorderStyle=bsNone then Exit;
Save:=GetWindowLong(Handle,gwl_Style);
If (Save and ws_Caption)<>ws_Caption then Begin
Case BorderStyle of
bsSingle,
bsSizeable : SetWindowLong(Handle,gwl_Style,Save or ws_Caption or
ws_border);
bsDialog : SetWindowLong(Handle,gwl_Style,Save or ws_Caption or
ds_modalframe or ws_dlgframe);
End;
Height:=Height+getSystemMetrics(sm_cyCaption);
Refresh;
End;
end;

3. Form'da kendi hotkeyini olusturma...
//Önce formun KeyPreview := true; yapin.
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssCtrl in Shift) and (chr(Key) in ['A', 'a']) then
ShowMessage('Ctrl-A'Wink;
end;

4. MDI Child formun kapatılması...
//Formun onClose olayina asagidaki satiri yazmaniz yeterli.
Action := caFree;
5. Formu ilk açılışta minimize açmak...
//Formun onCreate olayina
ShowWindow(Handle, SW_MINIMIZE);
//yazin...
Delphi -- Miscellaneous İpuçları
1. Programı sleep moduna alma...
Procedure MsSleep(ms : Integer);
Var
tmpTime : Integer;
tmpMs : Integer;
Begin
tmpMs := ms;
tmpTime := GetTickCount + tmpMs;
While tmpTime > GetTickCount Do
Application.ProcessMessages;
End;
{Program kapanışında istediğiniz bir açıklamayı koyup çalıştırın
bu uyuma metodunu engellemenin yolu yok ) }

2. Saat'i parçalayarak yaz...
// Kayıtları oluştur
type TimeParse = record
timeDay : Integer;
timeHour : Integer;
timeMin : Integer;
timeSec : Integer;
timeMilli : Integer;
end;

// function burda başlıyor
function DoTime(MilliSeconds : Integer) : TimeParse;
begin
// Değerleri sıfırla
Result.timeHour := 0;
Result.timeMin := 0;
Result.timeDay := 0;
Result.timeSec := 0;
Result.timeMilli := 0;
// Günü al
While MilliSeconds > 86399999 Do
Begin
Result.timeDay := Result.timeDay + 1;
MilliSeconds := MilliSeconds - 86400000;
End;
// Saati al
While MilliSeconds > 3599999 Do
Begin
Result.timeHour := Result.timeHour + 1;
MilliSeconds := MilliSeconds - 3600000;
End;
// Dakikayı al
While MilliSeconds > 59999 Do
Begin
Result.timeMin := Result.timeMin + 1;
MilliSeconds := MilliSeconds - 60000;
End;
// Saniyeyi al
While MilliSeconds > 999 Do
Begin
Result.timeSec := Result.timeSec + 1;
MilliSeconds := MilliSeconds - 1000;
End;
// Kaç milisaniye geçti
Result.timeMilli := MilliSeconds;
end;
Procedure TFrom1.Button1Click(Sender:TObject)
Var
FTimeParse : TTimeParse;
I : Integer;
begin
I := GetTickCount;
I := GetTickCount - I;
LabelDays.Caption := FTimeParse.timeDay;
LabelHours.Caption := FTimeParse.timeHour;
LabelMinutes.Caption := FTimeParse.timeMin;
LabelSeconds.Caption := FTimeParse.timeSec;
LabelMilliseconds.Caption := FTimeParse.timeMilli;
end;

Delphi -- Sistem İpuçları

1. Registryden kayıt okuma...
procedure TForm1.FormCreate(Sender: TObject);
Var
Registry: TRegistry;
Listan:TStringList;
begin
Listan := TStringList.create;
Registry := TRegistry.Create;
try
Registry.RootKey := HKey_Classes_Root;
Registry.OpenKey(",False);
Registry.GetKeynames(Listan);
ComboBox1.Items := Listan;
finally
Registry.Free;
end;
end;

2. Porttan bilgi oku...
function ReadPortB( wPort : Word ) : Byte;
begin
asm
mov dx, wPort
in al, dx
mov result, al
end;
end;

3. Porta bilgi gönder...
procedure WritePortB( wPort : Word; bValue : Byte );
begin
asm
mov dx, wPort
mov al, bValue
out dx, al
end;
end.

4.Uygulamanız Desktop'ta kısayol oluştursun..
procedure desktopShortcut(ffilename:string; fcaption: widestring);
var
IObject : IUnknown;
ISLink : IShellLink;
IPFile : IPersistFile;
PIDL : PItemIDList;
InFolder : array[0..MAX_PATH] of Char;
TargetName : String;
LinkName : WideString;
FLinkName : String;
begin
TargetName := ffilename;
IObject := CreateComObject(CLSID_ShellLink);
ISLink := IObject as IShellLink;
IPFile := IObject as IPersistFile;
with ISLink do begin
SetPath(pChar(TargetName));
SetWorkingDirectory
(pChar(ExtractFilePath(TargetName)));
end;
SHGetSpecialFolderLocation
(0, CSIDL_DESKTOPDIRECTORY, PIDL);
SHGetPathFromIDList
(PIDL, InFolder);
FlinkName := '\'+ FCaption + '.lnk';
LinkName := InFolder + FlinkName;
IPFile.Save(PWChar(LinkName), false);
end;
Kullanımı:
DesktopShortcut('C:/windows/notepad.exe','Notepad'Wink;

Delphi -- Database İpuçları

1. İstenilen alanları Combobox'a yazdırma...
procedure TForm1.FormCreate(Sender: TObject);
begin
with Table1 do begin
DisableControls;
try
First
while not EOF do begin
with MyCombo.Items do
Objects[Add(FieldByName('Terms'Wink.AsString)] := Pointer((FieldByName('EmpNo'Wink.AsInteger));
Next;
end;
finally
EnableControls;
end;
end;
end;
procedure TForm1.MyComboClick(Sender: TObject);
var EmpNo: Integer;
begin
with MyCombo do
EmpNo:=LongInt(Items.Objects[ ItemIndex ]);
ShowMessage('Emp.No.: ' + IntToStr(EmpNo));
End;

2. Query'de SQL kullanarak arama yapmak...
procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('Select * From Database Where Adi like "'+Edit1.text+'%"'Wink;
Query1.Open;
End;

3. Table'da istenilen alana göre arama yapmak
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.Locate('AlanAdi',Edit1.Text,[]);
end;
4. Table'da her tuşa basışta girilen kadarının uyduğu kayıdı bulma...
procedure TForm1.Edit1Change(Sender: TObject);
begin
Table1.FindNearst([Edit1.Text]);
end;

5. Table'da indexli alana göre arama yapmak...
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.FindKey([Edit1.text]);
end;
 
http://www.programyukle.org
Atlanilacak Forum:

En Çok İndirilenlerYeni Eklenenler

image Outlook Express 6.0 [14961]  
image SPSS 15.0 [13132]  
image Msn Dondurucu ( Msn F... [12859]  
image GTA Mod Installer v2.2... [9643]  
image Cep Okey [9599]  
image Eşli Batak 2.0.0.8 [8543]  
image Cepte Televizyon v1.5 [7142]  
image Nokia N70 İçin Full Pr... [6204]  
image Championship Manager 0... [4347]  
image Ders dağıtım programı ... [4241]  
image CurrPortS 2.12 [18.12.2014]
image PHTML Encoder 6.4 [18.12.2014]
image DzSoft PHP Editor 4.2.7.7 [18.12.2014]
image KoolMoves 9.2.1 [18.12.2014]
image Chicken Invaders 2 2.0 [18.12.2014]
image Natalie Brooks: Kayıp Krallığın ... [18.12.2014]
image Zuma Deluxe 1.0 [18.12.2014]
image Bus Driver 1.5 [18.12.2014]
image Mario Forever 5.8 [18.12.2014]
image Icy Tower 1.5.1 [18.12.2014]
site statistics

Edit by MuhBim
Copyright © 2007 Programyukle.Org
Powered by PHP-Fusion copyright © 2002 - 2018 by Nick Jones.
Released as free software without warranties under GNU Affero GPL v3.
Sayfa oluşturulma süresi: 0.09 saniye | 48,996,980 Tekil Ziyaretçi | jQ Blog