PDA

View Full Version : unicode file



programmer33
دوشنبه 17 بهمن 1390, 09:27 صبح
با سلام
من می خوام یک سری اطلاعات فارسی رو درون یک فایل unicode ذخیره کنم و سپس فایل را بازیابی کنم و در جدول sql بریزم اما پیش فرض فایل در دلفی ansi می باشد.چطور یک فایل unicode باز کنم.

یا اینکه پس از ذخیره اطلاعات در فایل آن را توسط Save as به صورت unicode ذخیره کنم چطور با دلفی می تونم این کار را انجام بدم.
با تشکر

delphidark
دوشنبه 17 بهمن 1390, 12:10 عصر
درود

دوست عزیز فرمت فایل چی هست ؟

به هر حال دلفی از نسخه XE1 به بعد پشتیبانی کامل از Unicode رو داره و مشکلی نخواهید داشت

اما در صورتی که از ورژن های پایین تر استفاده میکنید 2 راه دارید ، یا استفاده از کامپوننت و یا اینکه تنظیمات Region ویندوزتون , زبان مورد استفاده برای برنامه های غیر Unicode رو به فارسی تغییر بدید

موفق باشید .

programmer33
دوشنبه 17 بهمن 1390, 16:51 عصر
من از دلفی6 استفاده کردم میشه و پسوند فایلم csv است .

Mask
دوشنبه 17 بهمن 1390, 17:11 عصر
به هر حال دلفی از نسخه XE1 به بعد پشتیبانی کامل از Unicode رو داره
کی اینو گفته؟ والا تا اونجایی که من میدونم از دلفی 2009 به بعد یونیکد در دلفی لحاظ شده.

tiphooo
دوشنبه 17 بهمن 1390, 21:43 عصر
شما برای این کار به جای اینکه مثل همیشه از TextFile استفاده کنید فایلتان را از نوع TFileStream تعریف کنید و یک متغیر به صورت زیر تعریف کنید :(یک مثال کاملا اجرایی در دلفی 7 و ورژنهای پائین تر)
var
1-;F:TFileStream
2-;header: array[0..1] of Byte
begin
3-; header[0] := $FF
4-; header[1] := $FE
5- ;F:= TFileStream.Create('نام فایل', fmCreate or fmOpenWrite)
6- ;F.WriteBuffer(header, 2)
7- ;F.WriteBuffer(Pointer('رشته مورد نظر')^, Length('رشته مورد نظر') * 2)
8- ;F.Free
;end
مراحل 1 تا 6 همیشه باید باشد و فقط 1 بار استفاده می شود و مرحله 7 به ازاء هر بار درج صورت می گیرد
در رشته مورد نظر چیزی را که می خواهید در فایل ذخیره کنید بریزید و این دستور را مثلا می شود در یک loop گذاشت و n رشته را در فایل درج کرد
فایل بدست آمده (معمولا با پسوند text) الان یک فایل unicode می باشد
اگر مشکلی بود بگویید راهنمایی کنم.

tiphooo
دوشنبه 17 بهمن 1390, 21:50 عصر
با نگاه کردن به فایل ایجاد شده در ظاهر هیچ تفاوتی با اینکه این فایل را از نوع TextFile ایجاد می کردید نمی بینید ولی برای درک بهتر به حجم فایل دقت کنید در حالت unicode حجم فایل با همان تعداد کارکتر ولی بیشتر است