PDA

View Full Version : جداسازی یک string



ali2100
پنج شنبه 24 مرداد 1387, 04:01 صبح
سلام


من از یک مدار الکتریکی (پورت کام1) یک رشته میگیرم.

a:string

d,n,r:integer
a:=d29n129r2344

حالا من توی دلفی مشکل دارم که با چه تابعی عدد 29 را در d و 129 درn و 2344 را در r بریزم



ممنون میشم بهترین راهکار را برام راهنمایی کنید










:لبخندساده:

Hsimple11
پنج شنبه 24 مرداد 1387, 04:47 صبح
حالا من توی دلفی مشکل دارم که با چه تابعی عدد 29 را در d و 129 درn و 2344 را در r بریزم

من متوجه نشدم!

d و n , r رو که integer هستند مقداردهی میکنید و بعد تبدیل به رشته میکنید و در a قرار میدید؟

اگر مشکتان با جداسازی بخشی از رشته است که در این مورد مقالات کاملی در سایت وجود داشت. تابع Copy را جستجو کنید.
رشته مورد نظر را کپی کنید و به متغیرهای خود اختصاص دهید.

vcldeveloper
پنج شنبه 24 مرداد 1387, 05:09 صبح
باید اول موقعیت هر یک از حروف را در رشته بدست بیارید؛ برای این کار از تابع Pos استفاده میشه، بعد بخش مورد نظر را از رشته جدا کنید، و در نهایت بخش جدا شده را به Integer تبدیل کنید، مثلا :


var
DPos,
NPos,
RPos : integer;
strD,
strN,
strR : string;
D,N,R : integer;
a : string;
begin
a := 'd29n129r2344';

DPos := Pos('d',a);
NPos := Pos('n',a);
RPos := Pos('r',a);

strD := Copy(a,DPos+1,NPos-DPos-1);
strN := Copy(a,NPos+1,RPos-NPos-1);
strR := Copy(a,RPose+1,Length(a)-RPose);

D := StrToInt(strD);
N := StrToInt(strN);
R := StrToInt(strR);
end;