15-05-2009, 09:24 PM
الصفحات : 1 2
15-05-2009, 09:29 PM
إدن يمكنك إعتماد حل الأخ عبد العزيز ... .
15-05-2009, 09:32 PM
لقد حلت المشكلة بإذن الله وسوف اطرح الكود لعلى و عسى يحتاجه احد في يوما ما :
**
محمد
**
والسلام عليكم
كود :
Type
TTxtFileType = (txTxtOrBin{Default},
txUTF8, // Utf-8 encoding
txUNICODE, // Unicode ENCODING
txUNIBIG // unicode Big endian
);
TTxtFileSign = record
Code : TTxtFileType;
Sign : LongWord;
Mask : LongWord;
end;
const
TxtSignsCount = 3;
TxtSign_UTF8 : TTxtFileSign = (Code: txUTF8; Sign:$00BFBBEF; Mask: $00FFFFFF);
TxtSign_UNICODE : TTxtFileSign = (Code: txUNICODE; Sign:$0000FEFF; Mask: $FF00FFFF);
TxtSign_UNIBIG : TTxtFileSign = (Code: txUNIBIG; Sign:$0000FFFE; Mask: $00FFFFFF);
var
TxtFileSigns : array[0..2] of TTxtFileSign = (
(Code: txUTF8; Sign:$00BFBBEF; Mask: $00FFFFFF),
(Code: txUNICODE; Sign:$0000FEFF; Mask: $0000FFFF),
(Code: txUNIBIG; Sign:$0000FFFE; Mask: $0000FFFF));
function TypeOfTextfile(const filename: string): TTxtFileType;
var
Target : TFileStream;
Sign : LongWord;
N : integer;
begin
Target := TFileStream.Create(FileName, fmOpenRead);
try
{# 1st With BOOM #}
Target.Read(Sign, 4);
finally
Flux.Free;
end;
{# Default file is Ansi-encoding or Binary # }
result := txTxtOrBin;
for N := 0 to High(TxtFileSigns) do
begin
if (Sign and TxtFileSigns[N].Mask) = TxtFileSigns[N].Sign then
begin
result := TxtFileSigns[N].Code;
break;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
{# Op is an TOpenDialog # }
if not op.Execute then exit;
Case TypeOfTextfile(op.FileName) of
txTxtOrBin:Label2.Caption:='Ansi-Encoding or a Binary File';
txUTF8:Label2.Caption:='UTF-8 encoding ';
txUNICODE:Label2.Caption:='UNICODE encoding ';
txUNIBIG:Label2.Caption:='UNIBIG encoding ';
end;
end;**
محمد
**
والسلام عليكم
15-05-2009, 09:55 PM
mohfa كتب :اغلب الملفات الصية تملك BOM إلا ال Ansi-encoding files اعني ال Pure Text File .Byte Order Mark بصمة في بداية الملف النصي حديثة حداثة اليونكود UNICODE
وقبل ذلك غير ممكن معرفة الملف النصي كما قلت سابقا الا بفحصه كليا
إقتباس :لقد حلت المشكلة بإذن الله وسوف اطرح الكودالكود ماخوذ من
http://www.delphifr.com/codes/CONNAITRE-...34491.aspx
وهو ناقص لانه يتفترض ان الملف نصي ان لم يجد بصمة Unicode
15-05-2009, 09:58 PM
نعم اخي محمد وقد قمت ببعض الإظافات
واظن ان هذا هو الحل الذي سوف اعتمد عليه
واظن ان هذا هو الحل الذي سوف اعتمد عليه
15-05-2009, 10:05 PM
فقط برنامج بسيط جد صغير الحجم مصمم بالدلفي يعتمد على الـ Api هدا كله للتجريب ... على أساس ماكنت أعتقد
بالنسبة للحل .
بالنسبة للحل .
15-05-2009, 10:14 PM
اذا قم به فيمكن ان يحتاجه البعض يوما ما .
وبارك الله فيك اخي tf6mehboul
وبارك الله فيك اخي tf6mehboul
15-05-2009, 10:21 PM
بإدن الله عند الحاجة طبعا .
01-01-2010, 01:22 PM
افتراض وجود البصمة لا بفلح دائماً
عندما حوّلت موقعي إلى تنسيق utf-8 استخدمت المحرر notepad++ وكنت لافهم معنى BOM فظهرت مشاكل في إرسال رؤوس الصفحات والتي معناها ارسال نصوص إلى المتصفح تسبق الرأس،
واحترت كثيراً فقلت في نفسي جرب الخيار [Encode UTF-8 without BOM] لكل صفحات قوالب الموقع، وبعدها توقفت المشاكل .
وأنا إلى هذه اللحظة لا أفهم معنى وجود هذه المشكلة مع وجود البصمة BOM .
عندما حوّلت موقعي إلى تنسيق utf-8 استخدمت المحرر notepad++ وكنت لافهم معنى BOM فظهرت مشاكل في إرسال رؤوس الصفحات والتي معناها ارسال نصوص إلى المتصفح تسبق الرأس،
واحترت كثيراً فقلت في نفسي جرب الخيار [Encode UTF-8 without BOM] لكل صفحات قوالب الموقع، وبعدها توقفت المشاكل .
وأنا إلى هذه اللحظة لا أفهم معنى وجود هذه المشكلة مع وجود البصمة BOM .
الصفحات : 1 2