PDA

View Full Version : جدا کردن یک حرف از یک متغیر رشته ای و انتساب آن به یک متغیر کاراکتری



فرید رادفر
سه شنبه 28 مهر 1388, 18:12 عصر
با سلام
اینجانب جهت جداسازی یک حرف از یک متغیر رشته ای به شکل ذیل عمل کردم که متاسفانه خطای عدم هماهنگی متغیرها ظاهر می شود . لطفا راهنمایی نمایید متشکرم
var
a : string
b : char
--------------------
a := ali

b := copy(a,2,1)
---------------------
قبلا از همکاری شما کمال تشکر را دارم

Mahmood_M
سه شنبه 28 مهر 1388, 19:17 عصر
به یک نوع char یک حرف یا مقدار عددی اون رو می تونید بدید ، حاصل تابع Copy یک مقدار String هست ، دلفی در زمان کامپایل نمی دونه که محصول Copy یک حرف خواهد بود ، پس Error میده ، اما می تونید از روش زیر استفاده کنید :


var
a, S : string;
b : char;
begin
a := 'ali';
S := copy(a,2,1);
b := S[1];
end;

یا اگه فقط یک حرف رو میخواید جدا کنید ، بهتره فقط از [b := S[n استفاده کنید ، و نیازی به تابع Copy نیست ، به عنوان مثال :


var
a : string;
b : char;
begin
a := 'ali';
b := a[2];
end;

توجه کنید که اگر به یک متغیر از نوع char مقداری مثل 'MN' بدید ، کامپایلر دلفی خطایی اعلام می کنه ، چون طول رشته در اینجا مشخصه ...

موفق باشید ...