۱۲ مطلب با موضوع «دلفی» ثبت شده است

بررسی جدول که در حالت ویرایش هست یا خیر

بررسی جدول که در حالت ویرایش هست یا خیر

if users.State =dsEdit then

 

۱۹ ارديبهشت ۰۲ ، ۱۷:۵۲ ۰ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو

قطعه کد های دلفی

get memo line
Memo1.Lines.Strings[i]

دریافت یک خط خاص از یک memo در دلفی


get listbox item text
ListBox1.ItemIndex:=1;
tt:= ListBox1.Items.Strings[ListBox1.ItemIndex];

دریافت یک خط خاص از لیست باکس در دلفی


if datamodule3.users.State =dsEdit then

آیا یک adoquery در حالت ویرایش هست یا خیر

تشخیص در حالت ویرایش بودن

۱۶ آبان ۰۱ ، ۲۲:۱۸ ۰ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو

دریافت ساعت و تاریخ از سرور

host: time.windows.com

Label1.Caption := DateToStr(IdSNTP1.DateTime)
   + ' - ' + TimeToStr(IdSNTP1.DateTime);
Label2.Caption := IdSNTP1.Host;

 

get server time date delphi

۲۹ تیر ۹۹ ، ۱۳:۳۷ ۰ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو

جدا کردن سه رقم در edit دلفی

باید در uses از StrUtils,math استفاده شود



function Bet(S: string; Thousands: Boolean;Sender: TObject): string;
var
I, MaxSym, MinSym, Group: Integer;
IsSign: Boolean;
begin
for I :=1 to Trunc(Length(S)/3) do
Delete(S,Pos(ThousandSeparator,S),1);
Result := '';
MaxSym := Length(S);
IsSign := (MaxSym > 0) and (AnsiChar(S[1]) in ['-', '+']);
if IsSign then MinSym := 2
else MinSym := 1;
I := Pos(DecimalSeparator, S);
if I > 0 then MaxSym := I - 1;
I := Pos('E', UpperCase(S));
if I > 0 then MaxSym := Min(I - 1, MaxSym);
Result := Copy(S, MaxSym + 1, MaxInt);
Group := 0;
for I := MaxSym downto MinSym do
begin
Result := S[i] + Result;
Inc(Group);
if (Group = 3) and Thousands and (I > MinSym) then
begin
Group := 0;
Result := ThousandSeparator + Result;
end;
end;
if IsSign then Result := S[1] + Result;
if (Sender is TEdit) then
TEdit(sender).Perform(WM_KeyDown,VK_End,0)
end;
///////////////////
procedure TForm1.Edit1Change(Sender: TObject);
begin
Edit1.Text:=bet(Edit1.Text,true,Sender);
end;

۰۳ ارديبهشت ۹۸ ، ۱۸:۵۸ ۰ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو

تشخیص عدد بودن inputbox در دلفی

function IsNumber(N : String) : Boolean;

var

I : Integer;

begin

   Result := True;

   if Trim(N) = '' then

   Exit(False);


   if (Length(Trim(N)) > 1) and (Trim(N)[1] = '0') then

   Exit(False);


   for I := 1 to Length(N) do

     begin

       if not (N[I] in ['0'..'9']) then

          begin

             Result := False;

             Break;

          end;

     end;




var  avalue:string;

isn:boolean;

begin

  avalue:=inputbox ('test1','test2','');

  isn:=isnumber(avalue);

 if isn=true then

   showmessage('yes')

   else

   showmessage('no');

  end;

۲۶ بهمن ۹۷ ، ۰۱:۳۸ ۰ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو

سورت dbgrid در دلفی با کلیک بر روی تایتل

سلام

با این کد می تونید با کلیک بر روی تایتل دی بی گرید ، همون فیلد رو سورت کنید.

procedure TForm1.DBGrid1TitleClick(Column: TColumn);

var cFieldName:string;

begin

      cFieldName:= DBGrid1.Columns[Column.Index].FieldName;

      Adoquery1.Sort:=cFieldName;

end;


راه دوم

var KindSotr1:Boolean;

if KindSotr1 then

    datamodule3.customers.Sort:=Column.FieldName+' DESC'

  else

    datamodule3.customers.Sort:=Column.FieldName;

  KindSotr1:=not(KindSotr1);

۲۳ بهمن ۹۷ ، ۰۰:۳۰ ۰ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو

ذخیره عکس در دیتابیس

ذخیره عکس در دیتابیس

این روش تست شده و صد در صد جواب می دهد


var
  Field: TBlobField;
  Stream: TStream;
begin
  if ADOQuery.Active and (Image.Picture.Graphic <> nil) then
  begin
    ADOQuery.Insert;
    Field := TBlobField(ADOQuery.FieldByName('ImageData')); // ensure it ís a blob
    Stream := ADOQuery.CreateBlobStream(Field, bmWrite);
    try
      Image1.Picture.Graphic.SaveToStream(Stream);
    finally
      Stream.Free;
      ADOQuery.Post;
    end;
  end;
end;    
۱۶ مرداد ۹۶ ، ۲۱:۵۰ ۰ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو

خواندن عکس از دیتابیس


در دلفی اگر بخواهیم از دیتابیس ، عکس را خوانده و نمایش دهیم از قطعه کد ذیل استفاده می کنیم.

این قطعه کد تست شده است.

delphi image load from file

var
  Field: TBlobField;
  Stream: TStream;
  Jpg: TJPEGImage;
begin
  if ADOQuery.Active then
  begin
    Field := TBlobField(ADOQuery.FieldByName('ImageData'));
    Stream := ADOQuery.CreateBlobStream(Field, bmRead);
    Jpg := TJPEGImage.Create;
    try
      Jpg.LoadFromStream(Stream);
      Image1.Picture.Graphic := Jpg;
    finally
      Jpg.Free;
      Stream.Free;
    end;
  end;
end;
۱۶ مرداد ۹۶ ، ۲۱:۳۰ ۱ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو

کامپوننت Kylix_SMS_v5.5.0.4_Fulll

کامپوننت Kylix_SMS_v5.5.0.4_Fulll


دانلود

۲۰ ارديبهشت ۹۶ ، ۰۷:۵۷ ۰ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو

تست اینکه آیا یک سرویس وجود دارد یا خیر


function TForm1.ServiceIsPresent(sMachine, sService: PChar): Boolean;
var
SCManHandle, SvcHandle: SC_Handle;
begin
SCManHandle := OpenSCManager(sMachine, nil, SC_MANAGER_CONNECT);
if (SCManHandle > 0) then
begin
SvcHandle := OpenService(SCManHandle, sService, SERVICE_QUERY_STATUS);
if (SvcHandle > 0) then
begin
Result := True;
CloseServiceHandle(SvcHandle);
end
else
Result := False;
CloseServiceHandle(SCManHandle);
end;
end;

روش استفاده :
if ServiceIsPresent(nil,pchar('sqlserver')) then
// some code
end;

در صورتیکه نام سرویس را میدانیم و میخواهیم فولدری که از آنجا اجرا شده را بیابیم :

function TForm1.GetServiceExecutablePath(strMachine: string; strServiceName: string): String;
var
hSCManager,hSCService: SC_Handle;
lpServiceConfig: PQueryServiceConfigA;
nSize, nBytesNeeded: DWord;
begin
Result := '';
hSCManager := OpenSCManager(PChar(strMachine), nil, SC_MANAGER_CONNECT);
if (hSCManager > 0) then
begin
hSCService := OpenService(hSCManager, PChar(strServiceName), SERVICE_QUERY_CONFIG);
if (hSCService > 0) then
begin
QueryServiceConfig(hSCService, nil, 0, nSize);
lpServiceConfig := AllocMem(nSize);
try
if not QueryServiceConfig(
hSCService, lpServiceConfig, nSize, nBytesNeeded) Then Exit;
Result := lpServiceConfig^.lpBinaryPathName;
finally
Dispose(lpServiceConfig);
end;
CloseServiceHandle(hSCService);
end;
end;
end;

روش استفاده :

mysql_dir := GetServiceExecutablePath('','mysql');

۱۹ ارديبهشت ۹۶ ، ۱۲:۴۷ ۰ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو