uses GIFImg;
procedure TForm1.Button1Click(Sender: TObject);
var
MS : TMemoryStream;
GIf: TGIFImage;
begin
MS := TMemoryStream.Create;
GIf := TGIFImage.Create;
try
IdHTTP1.get('http://www.google.com/intl/en_ALL/images/logo.gif', MS);
Ms.Seek(0,soFromBeginning);
Gif.LoadFromStream(MS);
Image1.Picture.Assign(GIF);
finally
FreeAndNil(GIF);
FreeAndNil(MS);
end;
end;
procedure TForm1.RoundRect2Click(Sender: TObject);
begin
MessageDlg('Apakah anda yakin akan mengakhiri kegiatan ?',
System.UITypes.TMsgDlgType.mtInformation,
[
System.UITypes.TMsgDlgBtn.mbNo,
System.UITypes.TMsgDlgBtn.mbYes
], 0,
procedure(const AResult: System.UITypes.TModalResult)
var Key : word;
begin
case AResult of
mrYes: begin
ShowMessage('Jawab Y');
end;
mrNo : begin
ShowMessage('Jawab N');
end;
end;
end);
end;
for i := 0 to ComponentCount-1 do
begin
if( Components[ i ] is TEdit )then
begin
(Components[ i ] as TEdit).clear;
end;
end;
Uses Wininet;
Function TForm3.online : boolean;
begin
result := (InternetGetConnectedState(nil, 0))
end;
Procedure TForm3.Timer1Timer(Sender: TObject);
begin
if online= true then
Label1.Caption := 'Connect' else
Label1.Caption := 'Not Connect';
end;
Cara ini pada umumnya dipakai untuk menanggulangi format regional, berikut koding yang bisa anda gunakan
function komajadititik(txt:string):string;
var i:byte;
str, Tempstr : String;
begin
i :=1;
for i := 1 to length(txt) do
begin
str:= copy(txt,i,1);
if str=',' then
begin
str:='.';
end;
tempstr := tempstr + str;
end;
Result := Tempstr;
end;
Unit ini siap dipakai, simpan dengan nama global.pas
unit Global;
{
Fathon Sugiharta (c) 2022
www.kursusdelphi.com
-----------------------------------
v = variable global
vl = variable lokal dalam procedure
vu = variable lokal dalam unit
}
interface
uses
DB, ADODB, Forms, dialogs, StdCtrls, Grids, Windows, Controls, Registry, shellapi, strutils,
SysUtils, dateutils, Variants, Classes, Graphics, ActnList, ExtCtrls, MyAccess, MemDS;
type
str1 = string[1];
str10 = string[10];
const
OnAppend = 1;
OnEdit = 2;
OnBrowse = 3;
OnIdle = 0;
Versi = '1.1.2';
var
tahun_skr, bulan_skr, tanggal_skr : String;
vYY,vMM,vDD : word;
UserID, UserName: String;
// Profile
badan_usaha, nama_perusahaan, Alamat_perusahaan, Info_perusahaan, alamat, telpon, fax, email, lokasikantor, status_kantor : String;
gudangpenerima, kepalagudang : String;
// Pelanggan
kode_pelanggan : integer;
Function Namahari(tgl : Tdatetime) : String;
Function Namabulan(val : byte) : String;
Function CariQuery(Query: String; Dataset: TADODataset): Boolean;
Function ExecQueryMy(Query: String; Dataset: TMyQuery): Boolean;
function Peringatanku(isi:String):word;
function Pertanyaanku(isi:String):word;
function Pesanku(isi:String):word;
implementation
Function Namahari(tgl : Tdatetime) : String;
Begin
case DayOfTheWeek(tgl) of
0 : Result := 'Minggu';
1 : Result := 'Senin';
2 : Result := 'Selasa';
3 : Result := 'Rabu';
4 : Result := 'Kamis';
5 : Result := 'Jumat';
6 : Result := 'Sabtu';
7 : Result := 'Minggu';
end;
End;
Function Namabulan(val : byte) : String;
Begin
if (val = 1) then
begin
Result := 'JANUARI';
end;
if (val = 2) then
begin
Result := 'FEBRUARI';
end;
if (val = 3) then
begin
Result := 'MARET';
end;
if (val = 4) then
begin
Result := 'APRIL';
end;
if (val = 5) then
begin
Result := 'MEI';
end;
if (val = 6) then
begin
Result := 'JUNI';
end;
if (val = 7) then
begin
Result := 'JULI';
end;
if (val = 8) then
begin
Result := 'AGUSTUS';
end;
if (val = 9) then
begin
Result := 'SEPTEMBER';
end;
if (val = 10) then
begin
Result := 'OKTOBER';
end;
if (val = 11) then
begin
Result := 'NOVEMBER';
end;
if (val = 12) then
begin
Result := 'DESEMBER';
end;
End;
Function CariQuery(Query: String; Dataset: TADODataset): Boolean;
begin
if not Dataset.Prepared then
Dataset.Prepared := True;
Dataset.Close;
Dataset.CommandText := Query;
Dataset.Open;
if Not (Dataset.Eof or Dataset.IsEmpty) Then
Begin
Result:=true;
end else
begin
Result:=False;
end;
end;
Function ExecQueryMy(Query: String; Dataset: TMyQuery): Boolean;
begin
Result := False;
Dataset.Close;
Dataset.SQL.Clear;
Dataset.SQL.Text := Query;
Dataset.Execute;
Result := True;
end;
function Pesanku(isi:String):word;
Begin
Application.RestoreTopMosts;
MessageDlg(isi, mtInformation, [mbOK], 0);
Application.RestoreTopMosts;
end;
function Peringatanku(isi:String):word;
Begin
Application.RestoreTopMosts;
MessageDlg(isi, mtInformation, [mbOk],0);
Application.RestoreTopMosts;
end;
function Pertanyaanku(isi:String):word;
Begin
Application.RestoreTopMosts;
if MessageDlg(isi, mtConfirmation, [mbYes, mbNo],0) = mrYes Then
begin
Result := mryes;
end else
begin
Result := mrNo;
end;
Application.RestoreTopMosts;
end;
Procedure MouseProses;
Begin
Screen.Cursor:= crHourGlass;
end;
Procedure Mousenormal;
Begin
Screen.Cursor:= crDefault;
end;
Function QueryCari(Query: String; Dataset: TADODataset; Namafield:String):String;
Var aktif:boolean;
begin
if not Dataset.Prepared then
Dataset.Prepared := True;
Dataset.Close;
Dataset.CommandText := Query;
Dataset.Open;
if not Dataset.Eof Then
Begin
Result:=Dataset.FieldByName(Namafield).AsString;
end else
Begin
Result:='';
end;
end;
end.
// Akhir file
function GetFileHashMD5(FileName: WideString): String;
var
HashMD5: THashMD5;
Stream: TStream;
Readed: Integer;
Buffer: PByte;
BufLen: Integer;
begin
HashMD5 := THashMD5.Create;
BufLen := 16 * 1024;
Buffer := AllocMem(BufLen);
try
Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
while Stream.Position < Stream.Size do
begin
Readed := Stream.Read(Buffer^, BufLen);
if Readed > 0 then
begin
HashMD5.update(Buffer^, Readed);
end;
end;
finally
Stream.Free;
end;
finally
FreeMem(Buffer)
end;
result := HashMD5.HashAsString;
end;
function GetFileHashSHA1(FileName: WideString): String;
var
HashSHA: THashSHA1;
Stream: TStream;
Readed: Integer;
Buffer: PByte;
BufLen: Integer;
begin
HashSHA := THashSHA1.Create;
BufLen := 16 * 1024;
Buffer := AllocMem(BufLen);
try
Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
while Stream.Position < Stream.Size do
begin
Readed := Stream.Read(Buffer^, BufLen);
if Readed > 0 then
begin
HashSHA.update(Buffer^, Readed);
end;
end;
finally
Stream.Free;
end;
finally
FreeMem(Buffer)
end;
result := HashSHA.HashAsString;
end;
function GetFileHashSHA224(FileName: WideString): String;
var
HashSHA: THashSHA2;
Stream: TStream;
Readed: Integer;
Buffer: PByte;
BufLen: Integer;
begin
HashSHA := THashSHA2.Create(SHA224);
BufLen := 16 * 1024;
Buffer := AllocMem(BufLen);
try
Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
while Stream.Position < Stream.Size do
begin
Readed := Stream.Read(Buffer^, BufLen);
if Readed > 0 then
begin
HashSHA.update(Buffer^, Readed);
end;
end;
finally
Stream.Free;
end;
finally
FreeMem(Buffer)
end;
result := HashSHA.HashAsString;
end;
function GetFileHashSHA256(FileName: WideString): String;
var
HashSHA: THashSHA2;
Stream: TStream;
Readed: Integer;
Buffer: PByte;
BufLen: Integer;
begin
HashSHA := THashSHA2.Create(SHA256);
BufLen := 16 * 1024;
Buffer := AllocMem(BufLen);
try
Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
while Stream.Position < Stream.Size do
begin
Readed := Stream.Read(Buffer^, BufLen);
if Readed > 0 then
begin
HashSHA.update(Buffer^, Readed);
end;
end;
finally
Stream.Free;
end;
finally
FreeMem(Buffer)
end;
result := HashSHA.HashAsString;
end;
function GetFileHashSHA384(FileName: WideString): String;
var
HashSHA: THashSHA2;
Stream: TStream;
Readed: Integer;
Buffer: PByte;
BufLen: Integer;
begin
HashSHA := THashSHA2.Create(SHA384);
BufLen := 16 * 1024;
Buffer := AllocMem(BufLen);
try
Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
while Stream.Position < Stream.Size do
begin
Readed := Stream.Read(Buffer^, BufLen);
if Readed > 0 then
begin
HashSHA.update(Buffer^, Readed);
end;
end;
finally
Stream.Free;
end;
finally
FreeMem(Buffer)
end;
result := HashSHA.HashAsString;
end;
function GetFileHashSHA512(FileName: WideString): String;
var
HashSHA: THashSHA2;
Stream: TStream;
Readed: Integer;
Buffer: PByte;
BufLen: Integer;
begin
HashSHA := THashSHA2.Create(SHA512);
BufLen := 16 * 1024;
Buffer := AllocMem(BufLen);
try
Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
while Stream.Position < Stream.Size do
begin
Readed := Stream.Read(Buffer^, BufLen);
if Readed > 0 then
begin
HashSHA.update(Buffer^, Readed);
end;
end;
finally
Stream.Free;
end;
finally
FreeMem(Buffer)
end;
result := HashSHA.HashAsString;
end;
function GetFileHashSHA512_224(FileName: WideString): String;
var
HashSHA: THashSHA2;
Stream: TStream;
Readed: Integer;
Buffer: PByte;
BufLen: Integer;
begin
HashSHA := THashSHA2.Create(SHA512_224);
BufLen := 16 * 1024;
Buffer := AllocMem(BufLen);
try
Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
while Stream.Position < Stream.Size do
begin
Readed := Stream.Read(Buffer^, BufLen);
if Readed > 0 then
begin
HashSHA.update(Buffer^, Readed);
end;
end;
finally
Stream.Free;
end;
finally
FreeMem(Buffer)
end;
result := HashSHA.HashAsString;
end;
function GetFileHashSHA512_256(FileName: WideString): String;
var
HashSHA: THashSHA2;
Stream: TStream;
Readed: Integer;
Buffer: PByte;
BufLen: Integer;
begin
HashSHA := THashSHA2.Create(SHA512_256);
BufLen := 16 * 1024;
Buffer := AllocMem(BufLen);
try
Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
while Stream.Position < Stream.Size do
begin
Readed := Stream.Read(Buffer^, BufLen);
if Readed > 0 then
begin
HashSHA.update(Buffer^, Readed);
end;
end;
finally
Stream.Free;
end;
finally
FreeMem(Buffer)
end;
result := HashSHA.HashAsString;
end;
function GetFileHashBobJenkins(FileName: WideString): String;
var
Hash: THashBobJenkins;
Stream: TStream;
Readed: Integer;
Buffer: PByte;
BufLen: Integer;
begin
Hash := THashBobJenkins.Create;
BufLen := 16 * 1024;
Buffer := AllocMem(BufLen);
try
Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
while Stream.Position < Stream.Size do
begin
Readed := Stream.Read(Buffer^, BufLen);
if Readed > 0 then
begin
Hash.update(Buffer^, Readed);
end;
end;
finally
Stream.Free;
end;
finally
FreeMem(Buffer)
end;
result := Hash.HashAsString;
end;
// Panggil Unit System.Hash;
Silahkan gunakan function dibawah ini sesuai kesepakatan Anda
Uses System.Hash;
function GetStrHashMD5(Str: String): String;
var
HashMD5: THashMD5;
begin
HashMD5 := THashMD5.Create;
HashMD5.GetHashString(Str);
result := HashMD5.GetHashString(Str);
end;
function GetStrHashSHA1(Str: String): String;
var
HashSHA: THashSHA1;
begin
HashSHA := THashSHA1.Create;
HashSHA.GetHashString(Str);
result := HashSHA.GetHashString(Str);
end;
function GetStrHashSHA224(Str: String): String;
var
HashSHA: THashSHA2;
begin
HashSHA := THashSHA2.Create;
HashSHA.GetHashString(Str);
result := HashSHA.GetHashString(Str,SHA224);
end;
function GetStrHashSHA256(Str: String): String;
var
HashSHA: THashSHA2;
begin
HashSHA := THashSHA2.Create;
HashSHA.GetHashString(Str);
result := HashSHA.GetHashString(Str,SHA256);
end;
function GetStrHashSHA384(Str: String): String;
var
HashSHA: THashSHA2;
begin
HashSHA := THashSHA2.Create;
HashSHA.GetHashString(Str);
result := HashSHA.GetHashString(Str,SHA384);
end;
function GetStrHashSHA512(Str: String): String;
var
HashSHA: THashSHA2;
begin
HashSHA := THashSHA2.Create;
HashSHA.GetHashString(Str);
Result := HashSHA.GetHashString(Str,SHA512);
end;
function GetStrHashSHA512_224(Str: String): String;
var
HashSHA: THashSHA2;
begin
HashSHA := THashSHA2.Create;
HashSHA.GetHashString(Str);
Result := HashSHA.GetHashString(Str,SHA512_224);
end;
function GetStrHashSHA512_256(Str: String): String;
var
HashSHA: THashSHA2;
begin
HashSHA := THashSHA2.Create;
HashSHA.GetHashString(Str);
Result := HashSHA.GetHashString(Str,SHA512_256);
end;
function GetStrHashBobJenkins(Str: String): String;
var
Hash: THashBobJenkins;
begin
Hash := THashBobJenkins.Create;
Hash.GetHashString(Str);
Result := Hash.GetHashString(Str);
end;
// Panggil Unit IdHashMessageDigest;
Uses IdHashMessageDigest;
Function TForm1.Enkripsipassword(isipassword : String): String;
var pMD5: TIdHashMessageDigest5;
hasil : String;
begin
pMD5 := TIdHashMessageDigest5.Create;
Result := '';
try
hasil := LowerCase(pMD5.HashStringAsHex(isipassword));
finally
pMD5.Free;
end;
Result := hasil;
end;
// cara menggunakan
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := Enkripsipassword('1234');
end;
function Pertanyaanku(isi:String):word;
Begin
Application.RestoreTopMosts;
if MessageDlg(isi, mtConfirmation, [mbYes, mbNo],0) = mrYes Then
begin
Result := mryes;
end else
begin
Result := mrNo;
end;
Application.RestoreTopMosts;
end;