Jump to content
pouyafar

A comprehensive guide to Delphi programming language functions and procedures

Recommended Posts

FPDelphi software includes the default functions and procedures of the Delphi programming language, and other functions and procedures have also been added to it, and users can add their own from the "Add New" menu.

 

Download Links:

 

Share this post


Link to post
1 hour ago, pouyafar said:

FPDelphi software

I get this error when the setup launches FPDelphi after installation:

 

image.png.735d83b2ea8aa652ad24cfb45a56fb3b.png

Edited by Dave Nottage

Share this post


Link to post

The same with me. Before that, a golden Norton

2023 01 08 13 52 33 Program_Manager.png

Share this post


Link to post

A profile in GitHub created 11, forum account 10 hours ago (1 post, no rating). Only a RAR file is uploaded, based on the screenshots containing binaries. Contact info is a free Yahoo E-mail address, installations are blocked by AV and there's no real description of what FPDelphi is. Online searches show fuel pump related stuff.

 

I really mean no offence and it can be me living under the rocks, but for someone who has no prior knowledge this is way too suspicious to check out.

  • Like 6

Share this post


Link to post

Do not insult! (Irony) It's simply curiosity.

Share this post


Link to post
11 minutes ago, David Heffernan said:

In the face of malware, curiosity needs be tempered somewhat. 

I do that. But this was Delphi and the description looked interesting. I couldn't resist :classic_biggrin:

Share this post


Link to post

I can't work with ChatGPT. Too hard for me. 

Share this post


Link to post

In the absence of experience, ask for an indulgence!
I see that there are people who are so "certain of what they do" and "show themselves as owners of the truth", still fall for false promises for measly cents.

"nothing yet right, now" :)

Share this post


Link to post
31 minutes ago, aehimself said:

Isn't that something what a ChatGPT malware would say...? 🙂

I am enough for nonsense and stupidity. At 100% :classic_cheerleader:

Share this post


Link to post
15 minutes ago, programmerdelphi2k said:

In the absence of experience, ask for an indulgence!
I see that there are people who are so "certain of what they do" and "show themselves as owners of the truth", still fall for false promises for measly cents.

"nothing yet right, now" 🙂

What are you talking about? How about some plain speaking rather than writing cryptic messages. 

  • Like 2
  • Haha 1

Share this post


Link to post

Hello
I saw the messages of friends today
I have been programming with Delphi for almost 20 years
Because there are many functions in Delphi, that's why I have designed a software for myself to easily access the codes and I wanted others to use this software if they like.
There is no virus or malicious code in the software, maybe some antivirus warning messages are due to the use of "upx" to compress the executable file or the "Inno Setup" installation program.
Anyway, I am sending the mother source of the program for the use of friends:

 

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Vcl.StdCtrls, Vcl.ComCtrls,
  Vcl.DBCtrls, Vcl.Grids,
  Vcl.DBGrids, Data.Win.ADODB, AdvMemo, AdvmPS, Vcl.ExtCtrls, AdvSmoothLabel,
  DBAdvSmoothLabel, Vcl.Menus, AdvMenus;

type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    AdvMemo1: TAdvMemo;
    AdvPascalMemoStyler1: TAdvPascalMemoStyler;
    DBRichEdit1: TDBRichEdit;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Edit1: TEdit;
    Label1: TLabel;
    Edit2: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    ADOQuery2: TADOQuery;
    StatusBar1: TStatusBar;
    DBAdvSmoothLabel1: TDBAdvSmoothLabel;
    AdvMainMenu1: TAdvMainMenu;
    Add: TMenuItem;
    Aboute1: TMenuItem;
    Exit1: TMenuItem;
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBRichEdit1Change(Sender: TObject);
    procedure Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure Edit2KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure ComboBox1Change(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
    procedure Aboute1Click(Sender: TObject);
    procedure AddClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses Unit2, Unit3;

procedure TForm1.Aboute1Click(Sender: TObject);
begin
  Form2.ShowModal;
end;

procedure TForm1.AddClick(Sender: TObject);
begin
  Form3.ShowModal;
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
Var
  Nam, info, Noe, Unite: string;
begin

  Nam := Edit1.Text;
  info := Edit2.Text;
  if ComboBox1.ItemIndex > 0 then
    Noe := ComboBox1.Text;
  if ComboBox2.ItemIndex > 0 then
    Unite := ComboBox2.Text;

  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add
    ('Select * From TableA Where Nam Like :T1 and info Like :T2 and Noe Like :T3 and Unit Like :T4 Order By Nam');
  ADOQuery1.Parameters.ParamByName('T1').Value := '%' + Trim(Nam) + '%';
  ADOQuery1.Parameters.ParamByName('T2').Value := '%' + Trim(info) + '%';
  ADOQuery1.Parameters.ParamByName('T3').Value := '%' + Trim(Noe) + '%';
  ADOQuery1.Parameters.ParamByName('T4').Value := '%' + Trim(Unite) + '%';
  ADOQuery1.ExecSQL;
  ADOQuery1.Open;

end;

procedure TForm1.ComboBox2Change(Sender: TObject);
Var
  Nam, info, Noe, Unite: string;
begin

  Nam := Edit1.Text;
  info := Edit2.Text;
  if ComboBox1.ItemIndex > 0 then
    Noe := ComboBox1.Text;
  if ComboBox2.ItemIndex > 0 then
    Unite := ComboBox2.Text;

  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add
    ('Select * From TableA Where Nam Like :T1 and info Like :T2 and Noe Like :T3 and Unit Like :T4 Order By Nam');
  ADOQuery1.Parameters.ParamByName('T1').Value := '%' + Trim(Nam) + '%';
  ADOQuery1.Parameters.ParamByName('T2').Value := '%' + Trim(info) + '%';
  ADOQuery1.Parameters.ParamByName('T3').Value := '%' + Trim(Noe) + '%';
  ADOQuery1.Parameters.ParamByName('T4').Value := '%' + Trim(Unite) + '%';
  ADOQuery1.ExecSQL;
  ADOQuery1.Open;

end;

procedure TForm1.DBRichEdit1Change(Sender: TObject);
begin
  AdvMemo1.Lines.Clear;
  AdvMemo1.Lines.Text := DBRichEdit1.Text;
end;

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
Var
  Nam, info, Noe, Unite: string;
begin

  Nam := Edit1.Text;
  info := Edit2.Text;
  if ComboBox1.ItemIndex > 0 then
    Noe := ComboBox1.Text;
  if ComboBox2.ItemIndex > 0 then
    Unite := ComboBox2.Text;

  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add
    ('Select * From TableA Where Nam Like :T1 and info Like :T2 and Noe Like :T3 and Unit Like :T4 Order By Nam');
  ADOQuery1.Parameters.ParamByName('T1').Value := '%' + Trim(Nam) + '%';
  ADOQuery1.Parameters.ParamByName('T2').Value := '%' + Trim(info) + '%';
  ADOQuery1.Parameters.ParamByName('T3').Value := '%' + Trim(Noe) + '%';
  ADOQuery1.Parameters.ParamByName('T4').Value := '%' + Trim(Unite) + '%';
  ADOQuery1.ExecSQL;
  ADOQuery1.Open;

end;

procedure TForm1.Edit2KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
Var
  Nam, info, Noe, Unite: string;
begin

  Nam := Edit1.Text;
  info := Edit2.Text;
  if ComboBox1.ItemIndex > 0 then
    Noe := ComboBox1.Text;
  if ComboBox2.ItemIndex > 0 then
    Unite := ComboBox2.Text;

  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add
    ('Select * From TableA Where Nam Like :T1 and info Like :T2 and Noe Like :T3 and Unit Like :T4 Order By Nam');
  ADOQuery1.Parameters.ParamByName('T1').Value := '%' + Trim(Nam) + '%';
  ADOQuery1.Parameters.ParamByName('T2').Value := '%' + Trim(info) + '%';
  ADOQuery1.Parameters.ParamByName('T3').Value := '%' + Trim(Noe) + '%';
  ADOQuery1.Parameters.ParamByName('T4').Value := '%' + Trim(Unite) + '%';
  ADOQuery1.ExecSQL;
  ADOQuery1.Open;

end;

procedure TForm1.Exit1Click(Sender: TObject);
begin
  try
    ADOConnection1.Close;
  finally
    Close;
  end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ADOQuery1.Close;
  ADOConnection1.Close;
end;

procedure TForm1.FormCreate(Sender: TObject);
Var
  Masir: string;
begin
  Masir := GetCurrentDir;
end;

procedure TForm1.FormShow(Sender: TObject);
var
  i: Integer;
  TF: Boolean;
begin

  TF := True;
  ComboBox1.ItemIndex := 0;
  ComboBox2.ItemIndex := 0;
  Edit1.Clear;
  Edit2.Clear;
  AdvMemo1.Lines.Clear;

  try
    ADOConnection1.Connected := True;
  Except
    On E: Exception do
    begin
      ShowMessage('There is no connection to the database!');
      TF := False;
      Add.Enabled := False;
      DBAdvSmoothLabel1.Visible := False;
    end;
  end;

  if TF = True then
  begin
    ComboBox2.Items.Clear;
    ComboBox2.Items.Add('All Units');
    ADOQuery2.Close;
    ADOQuery2.SQL.Clear;
    ADOQuery2.SQL.Add('Select Unit From TableA Group by Unit Order By Unit');
    ADOQuery2.ExecSQL;
    ADOQuery2.Open;
    for i := 0 to ADOQuery2.RecordCount - 1 do
    begin
      ADOQuery2.RecNo := i + 1;
      ComboBox2.Items.Add(ADOQuery2.FieldByName('Unit').AsString);
    end;

    ComboBox1.Items.Clear;
    ComboBox1.Items.Add('All Types');
    ADOQuery2.Close;
    ADOQuery2.SQL.Clear;
    ADOQuery2.SQL.Add('Select Noe From TableA Group by Noe Order By Noe');
    ADOQuery2.ExecSQL;
    ADOQuery2.Open;
    for i := 0 to ADOQuery2.RecordCount - 1 do
    begin
      ADOQuery2.RecNo := i + 1;
      ComboBox1.Items.Add(ADOQuery2.FieldByName('Noe').AsString);
    end;
    ADOQuery2.Close;
    ADOQuery1.Open;
  end;

end;

end.

 

Edited by pouyafar

Share this post


Link to post
Quote

I have been programming with Delphi for almost 20 years

... and used TForm1, ComboBox1 ..hmmm.. :classic_cool: Sure!

  • Haha 2

Share this post


Link to post
2 hours ago, PaPaNi said:

... and used TForm1, ComboBox1 ..hmmm.. :classic_cool: Sure!

that is weird !
You don't pay attention to the principle of the work done, instead you pay attention to the names of the elements?!

What does it matter what the name of the element is?

The functionality of the program is important, not the names of the elements

You are absolutely right, I made a mistake in sharing my plan here

But be sure to take a look at the following links:

Link 1

Link 2

Edited by pouyafar

Share this post


Link to post

Those links seem quite harmless. It's just two sites translated from persian to english. Second link is pouyafars blog and the first is a forum. I don't see the immediate need to act. And translate.goog belongs to google.

  • Like 2

Share this post


Link to post
7 hours ago, Lars Fosdal said:

A good way to share sources and projects, is to use GitHub or similar.

 

You are right
I did this

link deleted.

  • Like 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×