-
گر lable0=100,101,102,104 باشد آنگاه lable4=104,lable3=102,lable2=101,lable1=100
سلام
من می خواهم اگر lable0=100,101,102,104 باشد آنگاه lable4=104,lable3=102,lable2=101,lable1=100
-
نقل قول: گر lable0=100,101,102,104 باشد آنگاه lable4=104,lable3=102,lable2=101,lable1=100
نقل قول:
من می خواهم اگر lable0=100,101,102,104 باشد آنگاه lable4=104,lable3=102,lable2=101,lable1=100
می شه بیشتر توضیح بدید ؟یعنی واضح تر!!
منظورتون متن لیبل است؟
-
نقل قول: گر lable0=100,101,102,104 باشد آنگاه lable4=104,lable3=102,lable2=101,lable1=100
اگر ورودی 100,101,102,104 در یک خط باشد یعنی با ویرگول جدا شده باشد هر کدام را جدا کند مثلا هرکدام در یک خط. که چهارخط جدا ازهم شود.
-
نقل قول: گر lable0=100,101,102,104 باشد آنگاه lable4=104,lable3=102,lable2=101,lable1=100
قبلا درباره اش توضیح دادم، کد هم نوشتم. اون متن رو بدید به خصوصیت DelimitedText یک StringList، و خصوصیت Delimiter آن را هم روی کاما (,) تنظیم کنید، خودش اون رو به رشته های مجزا شده بر اساس کاما تبدیل میکنه. رشته های مجزا شده رو می تونید با استفاده از خصوصیت Items از StringList بخونید. چون قبلا کدش را اینجا گذاشتم، مجددا کدش را نمی نویسم. جستجو کنید.
-
نقل قول: گر lable0=100,101,102,104 باشد آنگاه lable4=104,lable3=102,lable2=101,lable1=100
نقل قول:
نوشته شده توسط
علی کشاورز
قبلا درباره اش توضیح دادم، کد هم نوشتم. اون متن رو بدید به خصوصیت DelimitedText یک StringList، و خصوصیت Delimiter آن را هم روی کاما (,) تنظیم کنید، خودش اون رو به رشته های مجزا شده بر اساس کاما تبدیل میکنه. رشته های مجزا شده رو می تونید با استفاده از خصوصیت Items از StringList بخونید. چون قبلا کدش را اینجا گذاشتم، مجددا کدش را نمی نویسم. جستجو کنید.
سلام
هرچه گشتم پيدا نكردم!
-
1 ضمیمه
نقل قول: گر lable0=100,101,102,104 باشد آنگاه lable4=104,lable3=102,lable2=101,lable1=100
این طوری هم میشه :
یک Type به صورت زیر تعریف کنید :
type
TStrs = array of String;
تابع زیر رو هم در سورس برنامتون بنویسید :
function SplitString(S : String; D : Char) : TStrs;
var
I, L : Integer;
begin
L := 0;
for I := 1 to Length(S) do
begin
if S[I] = D then
L := L + 1;
end;
if L = 0 then
Exit;
SetLength(Result, L + 1);
for I := 0 to L do
begin
if Pos(String(D), S) <> 0 then
begin
Result[I] := Copy(S, 1, Pos(String(D), S)-1);
Delete(S, 1, Pos(String(D), S));
end
else
Result[I] := S;
end;
end;
برای ورودی های تابع به S مقدار رشته ی اصلی رو بدید ( مثلا : 100,200,300 ) و به D هم یک کارکتر به عنوان جدا کننده مثل ',' بدید تا بر اساس اون رشته ها جدا بشن ، در نهایت به صورت زیر می تونید مقادیر رو در یک نوع TStrs که از نوع آرایه تعریف کردید داشته باشید ( مثال ) :
var
M : TStrs;
S : String;
begin
S := '100,200,300';
M := SplitString(S, ',');
end;
یک برنامه ی نمونه هم ضمیمه کردم ...
موفق باشید ...
-
نقل قول: گر lable0=100,101,102,104 باشد آنگاه lable4=104,lable3=102,lable2=101,lable1=100
محمود جان، چرا لقمه را دور سرت چرخوندی؟
آقای کشاورز که راه بهتر را گفته که:
var
MyStrLst: TStringList;
begin
MyStrLst := TStringList.Create;
MyStrLst.Delimiter := ',';
MyStrLst.Text := '101,102,103';
ShowMessage(MyStrLst.String[2]);
end;
یا علی... موفق باشی...
-
نقل قول: گر lable0=100,101,102,104 باشد آنگاه lable4=104,lable3=102,lable2=101,lable1=100
نقل قول:
نوشته شده توسط
alinikaein
محمود جان، چرا لقمه را دور سرت چرخوندی؟
آقای کشاورز که راه بهتر را گفته که:
var
MyStrLst: TStringList;
begin
MyStrLst := TStringList.Create;
MyStrLst.Delimiter := ',';
MyStrLst.Text := '101,102,103';
ShowMessage(MyStrLst.String[2]);
end;
یا علی... موفق باشی...
کدتون اشکال دار ، تصحیح شدش اینه :
var
MyStrLst: TStringList;
begin
MyStrLst := TStringList.Create;
MyStrLst.Delimiter := ',';
MyStrLst.DelimitedText := '101,102,103';
ShowMessage(MyStrLst.Strings[2]);
end;