ساخت پلاگين بيلدر

Singular

Active Member
در مورد نمونه مثال هایی که زدید متشکرم

مخصوصا كد تو دلفي وبيلدر

انگار ذهن منو میخونید :green:.... سوالی میکنم ، میدونید هدفم چیه ..چی می خوام انجام بدم. :)
 

aliila1

Member
سلام

ما برای اینکه کل متغییر ها را با جدا سازی توسط | یبار به پلاگین بفرستیم

این کد میزدیم

PHP Code:
function GetArrayItem(const TextIn: String; Car: PChar; const offset: Integer) : String;
var
i,srch: Integer;
begin
for i:=0 to offset do begin
if (i<>offset) then
srch:= PosEx(Car, TextIn+Car,srch+1);
end;
Result:= Copy(TextIn,srch+1,PosEx(Car, TextIn+Car,srch+1)-srch-1);
///MessageBox(0,PChar(Result),'By Singular title',0);

/// ShowMessage('Target : '+TextOutput);
end;





و در ادامه برای جداسازی آن متغییر میومدیم این کد میزدیم
PHP Code:
procedure load1; stdcall;
begin
TextInput[2]:=GetArrayItem(TextInput[1],'|',1);
TextInput[3]:=GetArrayItem(TextInput[1],'|',2);
TextInput[4]:=GetArrayItem(TextInput[1],'|',3);
end;




در این کد بالا ما اومدیم دونه دونه از این کد استفاده کردیم
PHP Code:
TextInput[2]:=GetArrayItem(TextInput[1],'|',1);



چطور میشه از تعداد اون متغییری که از ام ام بی میگیریم مشخص بشه ..مثلا در کد بالا 3 تا خط به منظور جدا سازی داریم

و چطوری اونو توی دستور For بیاریم i یعنی از اون 1 میگریه تا 3 و توی یه متغییر جدا بریزه

PHP Code:


for i:=0 to offset do begin
TextInput[2]:=GetArrayItem(TextInput[1],'|',i);



اگر منضورت تعداد متغيير رشته اي اينطوريه
//////////////////////////////////////////////////////////////

ولي اگر اشتباه نفهميده باشم تعداد كاراكتر را مي خواهي بدست بياري تا بعد براي جدا سازي به مشكل بر نخوريازاين تابع مي تواني استفاده كني

[PHPS]
Function adad_car(s : String; Car: PChar): Integer;
var
s2 : String;
b,i,n:Integer;
begin
n:=0;
for i := 1 to Length(s) do
begin
s2:=s;
b:=Pos(Car, s);
Delete(s, 1, b);
if s<>s2 then
begin
n:=n+1;
end;
end;
Result:=n;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(inttostr(adad_car(Edit1.Text, '|')));
Label1.Caption:= inttostr(adad_car(Edit1.Text, '|'));
end;[/PHPS]


اينم مثالش تو دلفي تا متوجه مطلب بشي

دانلود
 
آخرین ویرایش:

Singular

Active Member
اره همچین چیزی میخواستم
ولی میخوام خودش وقتی که میفهمه 3تا هست
3تا متغییر بسازه وبریزه توشون


[PHPS]TextInput[1]:= ali
TextInput[3]:= reza
TextInput[2]:= habibi

[/PHPS]
 

aliila1

Member
اره همچین چیزی میخواستم
ولی میخوام خودش وقتی که میفهمه 3تا هست
3تا متغییر بسازه وبریزه توشون


PHP Code:
TextInput[1]:= ali
TextInput[3]:= reza
TextInput[2]:= habibi

[PHPS]
Function adad_car(s : String; Car: PChar): Integer;
var
s2 : String;
b,i,n:Integer;
begin
n:=0;
for i := 1 to Length(s) do
begin
s2:=s;
b:=Pos(Car, s);
Delete(s, 1, b);
if s<>s2 then
begin
n:=n+1;
end;
end;
Result:=n;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(inttostr(adad_car(Edit1.Text, '|')));
Label1.Caption:= inttostr(adad_car(Edit1.Text, '|'));
end;

function GetArrayItem(const TextIn: String; Car: PChar; const offset: Integer) : String;
var
i,srch: Integer;

begin
for i:=0 to offset do begin
if (i<>offset) then
srch:= PosEx(Car, TextIn+Car,srch+1);
end;
Result:= Copy(TextIn,srch+1,PosEx(Car, TextIn+Car,srch+1)-srch-1);
end;

var mmb,g : String;
TextInput: array [1..5] of string;
j: Integer;
procedure TForm1.Button2Click(Sender: TObject);
begin
mmb:=Edit1.Text;
for j := 1 to adad_car(mmb, '|') do
begin
g:= GetArrayItem(mmb,'|',j);

TextInput[j] := g;
ShowMessage('TextInput'+inttostr(j)+' '+TextInput[j]);
end;
end;[/PHPS]
دوست عزيز مثال قبلي را كامل كردم
مي تواني دانلود كني واستفاده كني


دانلود
 

Singular

Active Member
سلامی دوباره

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

فایل زیر رو دانلود کنید

2تا فایل هست یکی دستورات بصورت زیر هم هست
یکی هم با استفاده از && به هم مرتبط دادم

میخوام بدونم آیا توی دلفی میشه دستورات داس رو زیر هم نوشت اجرا کرد مسه فایل TESt1.bat
با استفاده از && به هم ارتباط ندیم
چون && یسری مشکلات داره
 

پیوست ها

  • Desktop.rar
    288 بایت · بازدیدها: 10

aliila1

Member
سلامی دوباره

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

فایل زیر رو دانلود کنید

2تا فایل هست یکی دستورات بصورت زیر هم هست
یکی هم با استفاده از && به هم مرتبط دادم

میخوام بدونم آیا توی دلفی میشه دستورات داس رو زیر هم نوشت اجرا کرد مسه فایل TESt1.bat
با استفاده از && به هم ارتباط ندیم
چون && یسری مشکلات داره

سلام
راهي كه وجود داره اينه كه كد ها را داخل فايلي سيو وبه بت تبديل كني و
وبعد اجراش كني
[PHPS]procedure TForm1.Button7Click(Sender: TObject);
var dd: string;
begin


//با كمك اين تابع كدهات را سيو تو ي يك تكست مي كني وفرمت آنرا به بت
//تبديل كرده و در سي سيو مي كني و در پايان اجرا ميكني
StrToFile(' @ECHO OFF' + #13#10 +
'C:\WINDOWS\NOTEPAD.EXE %1 ' + #13#10 +
'EXIT ' ,'c:\test.bat');

//اجراي فايل ساخته شده
if ShellExecute(0,nil, PChar('c:\test.bat'),0,nil,0) =0 then;


end;

procedure TForm1.Button8Click(Sender: TObject);
begin
StrToFile(' @ECHO OFF' + #13#10 +
'echo salam hal shoma && echo ------------- && pause >/s && echo mer30 khobam && pause >/s' ,'c:\test.bat');

//اجراي فايل ساخته شده
// if ShellExecute(0,'open', PChar('c:\test.bat'),PChar('c:\test.bat'),nil,1) =0 then;
RunShellExecute('c:\test.bat','c:\test.bat');



end;

[/PHPS]

دفايل ضميمه را دانلود كن

دانلود
 

Singular

Active Member
نمی خواستم توی فایلی ریخته بشه

میخواستم بدونم خود دلفی چنین قابلیتی داشت مستقل در خودش کد ها رواجرا کنه بصورت زیر هم بدون استفاده از &&.... دقیقا مسه فایل بت

ممنون از نمونه مثال و راهنمایی شما

:rose:
 

Singular

Active Member
سلام

چطور میتونم متن داخل فایل تکست رو خط به خط دریافت کنم؟؟؟
 

aliila1

Member
سلام
از اين براي لود خط به خط يك فايل تكست ميتواني استفاده كني

[PHPS]
procedure StrToFile(Texte: String; File_Name: String);
var
Lines: TStrings;
begin

Lines := TStringList.Create;
try
Lines.Add(Texte);
Lines.SaveToFile(File_Name);
// ShowMessage('jhfgfghf');
finally
Lines.Free;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
StrToFile('ali','c:\f.txt');
end;


function FileToStr(const FileName : string; num: integer):string;
var
Lines: TStrings;
begin
Lines := TStringList.Create;
if FileExists(FileName)then
begin
try
Lines.LoadFromFile(FileName);
result :=Lines[num];

//for i := 0 to Lines.Count -1 do
//ShowMessage(Lines);
finally
Lines.Free;
end;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ShowMessage( FileToStr('c:\f.txt',strtoint(Edit1.text)) );
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Memo1.Lines.SaveToFile('c:\f.txt');
end;
[/PHPS]



اينم مثال براي دانلود
 

جدیدترین ارسال ها

بالا