إخواني الأعزاء
كيف لي أن أقوم بحفظ ملف نصي بدون أن يكون موضوع في علامتين تنصيص .
هذا هو الكود الذي أستخدمه :-
open (file path) for output as #1 write #1,Text1.Text close
أرشدوني جزاكم الله خيراً .
إخواني الأعزاء
كيف لي أن أقوم بحفظ ملف نصي بدون أن يكون موضوع في علامتين تنصيص .
هذا هو الكود الذي أستخدمه :-
open (file path) for output as #1 write #1,Text1.Text close
أرشدوني جزاكم الله خيراً .
اقتباسكيف لي أن أقوم بحفظ ملف نصي بدون أن يكون موضوع في علامتين تنصيص .
ما قدرت افهمها
ارجو التوضيح اكثر
يعني محتوى الملف لما ينحفظ ، ينحفظ بين علامتين تنصيص
مثال :-
"سالم حمدان"
وهي المفروض تكون :-
سالم حمدان
ارجوا ان تكون فهمتني
والله يا اخي ما قدرت افهمها ولا ادري هل فهمها بعض الاخوة ام لا !!!!
ولا حتى استطعت التكهن بالسؤال
يعني اين ستضع "سالم حمدان" في الكود
open (file path) for output as #1 write #1,Text1.Text close
سوف اشرح لك بالتفصيل ..
أنا عامل برنامج مثل notpade بالفيجوال بيسك ، وطبعاً فيه أوامر ، جديد ، فتح ، وحفظ ، وخروج ، و .........
وأنا عامل الكود السابق للحفظ ، طبعاً أنت تختار المكان (file path) أو اسم الملف الذي سينحفظ فيه هذا الكلام أو النص اللي كتبته .
لكن المشكلة الوحيدة اللي تواجهني الحين (طبعاً هناك مشاكل أخرى لكن أهون) هي أنه النص لما ينحفظ بصيغة txt ينفتح في notpade ويكون موضوع في علامتين تنصيص .
وأنا اريد أشيل هالعلامتين تنصيص .
أرجوا أنك تكون فهمتني .
اذا هناك خطأ في الكود الذي قمت ببرمجته
تأكد من عدم وجود علامتي التنصيص في Text1.Text
لانه لا يمكن ان تنحفظ علامة التنصيص من تلقاء نفسها بدون ماتكون موجودة في Text1.Text
ال Text1.text ما فيها علامتين تنصيص ، وأنا سألت أحد الأخوة وقال لي بأنها لا تلغى ، وحاولت أشيلها بنفسي ( مع العلم بأنها تطلع غصباً عني ) وما قدرت ، فقلت يمكن يكون هنالك كود آخر يستخدم لحفظ الملفات من الtext1.text إلى ملف نصي بصيغة txt وما فيها علامتين تنصيص .
نعم هناك طريقة اخرى وهي
dim ch as string*1 open (file path) for binary as #1 for i=1 to len(Text1.text) ch = mid(1,Text1.text,1) put 1, ,ch next i close
هذا الكود افتراضي لم اقم بتجربته واتمنى ان تفهمه
قم بتفكيك النص الى حروف وقم بحفظ كل حرف على حدة في ملف ثنائي وليس ملف نصي كما كان سابقا
مع الاحتفاظ بامتداد الملف .txt
مع اني غير مقتنع بكلامك السابق حول علامتي التنصيص الا اني سأقوم بتجربته واتأكد
تم تعديل هذه المشاركة بواسطة مصعب غيلان في 29 يوليو 2004 في 20:19
مصعب غيلان كتب:ch = mid(1,Text1.text,1)
أخي العزيز جربت الكود لكن طلعت رسالة Type Mismatch في هذا الجزء ، ولم أعرف حل هذه المشكلة لأني مبتدئ .
ساعدوني
اخ سالم
عفوا لقد افترضت انك خبير في البيسك لذا قمت بوضع توضيح يؤدي الى الحل
ولم اقم بوضع الحل نفسه
لهذا ستجد اني اخطأت في استخدام الدالة Mid لانه لم اكن اعمل على جهاز فيه فيجوال بيسك وقتها
بالنسبة للكود يمكنك وضعه على الشكل
Dim ch As String * 1 Open "C:\d.txt" For Binary As #1 For i = 1 To Len(Text1.Text) ch = Mid(Text1.Text, i, 1) Put 1, , ch Next i Close
اما بالنسبة للكود السابق الذي قمت بوضعه انت فهو صالح ولكن مع تغيير الكلمة write
الى الكلمة Print على الشكل
Open "c:\m.txt" For Output As #1 Print #1, Text1.Text Close #1
لكن طبعا هناك مشكلة في هذا الكود انت لم تنتبه لها وهي ان هذا الكود لا يقوم بحفظ بعض الحروف مثل tab ويمكنك تجربة ذلك
وسأرفق لك مثال يوضح استخدام الكودين بشكل اكبر
شكرا جزيلاً جدا جدا ، أخي مصعب غيلان راح أجرب وأطبق كل اللي قلته .
وأنا مبتدئ في الفيجوال . آسف على الإزعاج .
هذا الموضوع مغلق.