اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر
17 ساعات مضت, nssj said:

الأكسس الذي عندي لم يعجبه السطر الذي أضفته وأخرج لي رسالة وظلله بالأصفر

نعم ،مكان الكود كان في السطر الخطأ !!

اما الآن ، وبعد التجربة ، فهو شغال تمام ان شاء الله 🙂

 

هكذا اصبحت الدالة:

Function Remove_Extras(myValue As String) As String

    Dim x() As String
    Dim j As Integer
    
    
    For j = 1 To 999    'remove all the extra characters at the end of the line
        
        If Right(myValue, 1) = Chr(7) Or _
              Right(myValue, 1) = vbCr Or _
                Right(myValue, 1) = vbLf Or _
                    Right(myValue, 1) = vbCrLf Then
           
            myValue = Mid(myValue, 1, Len(myValue) - 1)
        Else
            Exit For
        End If
        
    Next j

    
  'now remove the empty lines
    'unify the end of the line characters
    myValue = Replace(myValue, Chr(7), vbCrLf)
    myValue = Replace(myValue, vbCr, vbCrLf)
    myValue = Replace(myValue, vbLf, vbCrLf)
    
    x = Split(myValue, vbCrLf)
    For j = 0 To UBound(x)
    
         
        If Len(x(j)) < 2 Then
        Else

            'remove the extra spaces on:
            'separate the text from vbcrlf, Remove the extra spaces, then attache vbcrlf to it
            x(j) = Trim(Mid(x(j), 1, Len(x(j)) - 1)) & vbCrLf

            Remove_Extras = Remove_Extras & x(j)
        End If


    Next j
    
    
    Remove_Extras = Replace(Remove_Extras, Chr(11), vbCrLf)   'remove all VT characters
    
End Function

 

جعفر

أسطر2.zip

قام بنشر

اخوي هاوي 🙂

 

بعض الاحيان ، وبمجرد رؤية المطلوب ، تقفز الحلول الى الخاطر ، ولكن وبعد التجربة ، نرى ان بعض هذه الحلول لا تعطي النتائج الصحيحة ،

والنقطة اللي نتناقش حولها هي مثل هذا الاحتمال:

مسافة مسافة 1234 مسافة مسافة vbcrlf

الدالة Trim واخواتها ممكن ان يحذفو المسافات الفارغة قبل وبعد اي قيمة ،

ولكن في حال المثال اعلاه ، فإن الدالة ستقوم بحذف المسافات في مقدمة الرقم ، سواء Trim او LTrim، ولكن وبسبب وجود اشارة السطر التالي vbcrlf ، فالمسافات التي قبلها لن تحذفها الدالة ، فعليه ، يكون نتيجة اجراء الدالة:

1234 مسافة مسافة vbcrlf

لهذا السبب ، فالموضوع يتطلب اجراء اضافي 🙂

 

جعفر

قام بنشر

بناء على بحث في هذه النقطة و في موقع فرنسي كانت النتيجة التالية

تقليل المسافات في السلسلة تم النشر في 13 آب (أغسطس) 2012 خاصة بعد استيراد البيانات ، ينتهي بنا الأمر أحيانًا بمسافات متعددة بين الكلمات. هذه وظيفة تزيل بشكل فعال هذه المسافات المتعددة في واحدة. الوظيفة في VBA

Public Function ReduireEspaces(ByVal Chaine As String) As String
   Const DoubleEspace As String = "  "
   Const Espace As String = " "
 
   While InStr(1, Chaine, DoubleEspace, vbBinaryCompare) > 0
      Chaine = Replace(Chaine, DoubleEspace, Espace, , , vbBinaryCompare)
   Wend
   ReduireEspaces = Chaine
End Function

مع كل تمريرة للحلقة ، يتم تقليل المسافة المزدوجة إلى واحد. على سبيل المثال ، لتقليل 3 مسافات متجاورة إلى واحدة ، يتم تنفيذ الحلقة مرتين. في الحلقة الأولى ، يُنظر إلى 3 مسافات متجاورة على أنها مسافتان + مسافة واحدة ، ومن ثم يتم تقليل المساحة إلى مسافة واحدة + مسافة واحدة. ثم تجد الحلقة الثانية مسافتين متجاورتين يتم تقليلهما بعد ذلك إلى مسافتين. للتذكير ، نزيل المسافات في بداية السلسلة باستخدام الدالة LTrim () ، والمسافات الموجودة في نهاية السلسلة بواسطة RTrim () والكل بواسطة Trim () (أو LTrim $ ، RTrim $ ، Trim $ لسلسلة من نوع String). مثال على الاستخدام في نافذة Run VBE:

'Attendu: Un espace sinon rien!
?ReduireEspaces("Un     espace     sinon              rien!")

و المثال الذي قمت رفعه أعلاه قمت بتجربته و أضفت العديد من المسافات بين الكلمات و بعد تنفيذ الاستعلام نجح في إرجاع المسافات الى موقعها العادي دون أن يتأثر التنسيق أو ينقص من الجملة أو الكلمة ربما يمكن إضافة هذه الخاصية الى الكود الذي قمت بتصميمه.

  • Thanks 1
قام بنشر

الأخ الكريم جعفر .. صحيح أن شرطي المرور لم يعترض هذه المرة على الكود .. لكن يظهر أن الكود نفسه جائع بعض الشيء .. كل مرة أشغله فيها يأكل حرفا من آخر الحقل 😂

وشكراً للأخ biskra على اهتمامه بالموضوع .. الموضوع الذي يظهر لي أنه أكثر تعقيداً مما ظننت .. 🤔

قام بنشر
59 دقائق مضت, biskra said:

ناء على بحث في هذه النقطة و في موقع فرنسي كانت النتيجة التالية

حياك الله يا أخونا الكريم ، لو بحثت في المنتدى سوف ترى هذا الحل موجود (الحل/الفكرة وليس المثال).

1 ساعه مضت, jjafferr said:

لهذا السبب ، فالموضوع يتطلب اجراء اضافي 🙂

حياك أخي جعفر سوف أضيف سطرا إضافيا وأرفعه بعد قليل.

قام بنشر

وتعديل آخر:

Function Remove_Extras(myValue As String) As String

    Dim x() As String
    Dim j As Integer
    Dim mySpace As String
    
    
    For j = 1 To 999    'remove all the extra characters at the end of the line
        
        If Right(myValue, 1) = Chr(7) Or _
              Right(myValue, 1) = vbCr Or _
                Right(myValue, 1) = vbLf Or _
                    Right(myValue, 1) = vbCrLf Then
           
            myValue = Mid(myValue, 1, Len(myValue) - 1)
        Else
            Exit For
        End If
        
    Next j

    
    'now remove the empty lines
    myValue = Replace(myValue, Chr(7), vbCrLf)
    myValue = Replace(myValue, vbCr, vbCrLf)
    myValue = Replace(myValue, vbLf, vbCrLf)
    
    x = Split(myValue, vbCrLf)
    For j = 0 To UBound(x)
    
         
        If Len(x(j)) < 2 Then
        Else

            'remove the extra spaces on:
            x(j) = LTrim(x(j))   'remove the left spaces
            
            'separate the text from vbcrlf, Remove the extra spaces, then attache vbcrlf to it
            'only if the right character is a spcae
            mySpace = Mid(x(j), 1, Len(x(j)) - 1)
            If Right(mySpace, 1) = " " Then
                x(j) = Trim(mySpace) & vbCrLf
            End If
            
            Remove_Extras = Remove_Extras & x(j)
        End If


    Next j
    
    
    Remove_Extras = Replace(Remove_Extras, Chr(11), vbCrLf)   'remove all VT characters
    
End Function

.

 

منذ ساعه, biskra said:

بناء على بحث في هذه النقطة

ولكن المطلوب ليس تحويل المسافات الى مسافة واحدة ، وانما المطلوب حذف هذه المسافات/المسافة 🙂

قاعدة البيانات المرفقة فيها مثال ، فجرب كودك عليها 🙂

 

جعفر

  • Like 1
قام بنشر
Sub CleanTable(Table As String, Field As String)
  DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],'" & vbNewLine & "','');"
  DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],'  ',' ');"
  DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Trim([" & Field & "]);"
End Sub

'لاستدعاء كود تنظيف الجدول
Private Sub CmdCleanTable_Click()
  Call CleanTable("مسند", "nass")
End Sub

إن شاء الله يكون حلا نهائيا.

قام بنشر

الأخ الكريم جعفر .. الكود لم يعد يأكل الكلام 🙂 .. لكنه لا يحذف السطر الفارغ إذا كان السطر الذي بعده في أوله مسافة .. يحذف أولا المسافة في أول السطر ثم بعد تشغيله مرة ثانية يحذف السطر الفارغ

بينما الكود الأول الذي تفضلت به

Function Remove_Extras(myValue As String) As String

    Dim x() As String
    Dim j As Integer
    
    
    For j = 1 To 999    'remove all the extra characters at the end of the line
        
        If Right(myValue, 1) = Chr(7) Or _
              Right(myValue, 1) = vbCr Or _
                Right(myValue, 1) = vbLf Or _
                    Right(myValue, 1) = vbCrLf Then
           
            myValue = Mid(myValue, 1, Len(myValue) - 1)
        Else
            Exit For
        End If
        
    Next j
    
    
    'now remove the empty lines
    myValue = Replace(myValue, Chr(7), vbCrLf)
    myValue = Replace(myValue, vbCr, vbCrLf)
    myValue = Replace(myValue, vbLf, vbCrLf)
    
    x = Split(myValue, vbCrLf)
    For j = 0 To UBound(x)
    
    
        'remove the extra spaces on:
        x(j) = LTrim(x(j))      'the Left
        x(j) = RTrim(x(j))      'the Right
        
        
        If Len(x(j)) < 2 Then
        Else
            Remove_Extras = Remove_Extras & x(j)
        End If

    Next j
    
    
    Remove_Extras = Replace(Remove_Extras, Chr(11), vbCrLf)   'remove all VT characters
    
End Function

كان يحذف الأسطر الفارغة بغض النظر عن المسافات في اوائل الأسطر

وشكرا للأخ (هاوي) على مشاركته .. لكن لم أعرف كيف أستدعي الكود .. ولما جربته بشكل منفصل وكتبت أسم الجدول والحقل لم يحذف إلا المسافات التي في آخر الحقل فقط، أما إلمسافات التي في أواخر الأسطر الأخرى فبقيت كما هي

  • Like 1
قام بنشر
13 دقائق مضت, nssj said:

الكود لم يعد يأكل الكلام 🙂 .. لكنه لا يحذف السطر الفارغ إذا كان السطر الذي بعده في أوله مسافة .. يحذف أولا المسافة في أول السطر ثم بعد تشغيله مرة ثانية يحذف السطر الفارغ

 

اما تجربتي فتقول ، قبل:

image.png.2d431551e03ee9e80b7d8c46560a2560.png

.

وبعد:

image.png.5e803d4887506d4fbf668ead3f17ef68.png

.

 

جرب المرفق 🙂

 

جعفر

أسطر2.zip

  • Like 1
قام بنشر

أعتذر ربما لم أشرح جيدا أو اختلط علي الأمر

الكود لا يحذف السطر الفارغ إذا كان فيه مسافة أو مسافات .. لابد أولا من حذف المسافات ثم يحذف السطر الفارغ .. ربما لأنه إذا كان فيه مسافة لا يعتبره فارغا .. بصراحة معه حق في هذا .. فهذا مقتضى الدقة 🙂

003.jpg.05ff9083859cbfc2eb7f28b5b500a61c.jpg

  • Like 1
قام بنشر

بالنسبة للمسافات الزائدة ((( وليس الأسطر (لم ابحث من قبل)) )  وطريقة البحث عنها وضبطها  فميكروسوفت اوجدت طريقة محكمة في جميع تطبيقاتها : اكسس او اكسل او وورد  بواسطة البحث والاستبدال

في وورد معروف مكانها ضمن قائمة التحرير ، وفي اكسس يتم ذلك على الجدول مباشرة :

النقر بزر الفأرة الأيمن على العمود واختيار بحث

من التبويب استبدال:

في حقل استبدال : ننقر مسافتين

وفي حقل استبدال بــ : ننقر مسافة

ونوافق على العملية 

  • Like 1
قام بنشر

جرب هذا الكود :

Function Remove_Extras(myValue As String) As String

    Dim x() As String
    Dim j As Integer
    Dim mySpace As String
    
    
    For j = 1 To 999    'remove all the extra characters at the end of the line
        
        If Right(myValue, 1) = Chr(7) Or _
              Right(myValue, 1) = vbCr Or _
                Right(myValue, 1) = vbLf Or _
                    Right(myValue, 1) = vbCrLf Then
           
            myValue = Mid(myValue, 1, Len(myValue) - 1)
        Else
            Exit For
        End If
        
    Next j

    
    'now remove the empty lines
    myValue = Replace(myValue, Chr(7), vbCrLf)
    myValue = Replace(myValue, vbCr, vbCrLf)
    myValue = Replace(myValue, vbLf, vbCrLf)
    
    x = Split(myValue, vbCrLf)
    For j = 0 To UBound(x)
    
    
            'remove the extra spaces on:
            x(j) = LTrim(x(j))   'remove the left spaces
            

        If Len(x(j)) < 2 Then
        Else

            'remove the extra spaces on:
            x(j) = LTrim(x(j))   'remove the left spaces
            
            'separate the text from vbcrlf, Remove the extra spaces, then attache vbcrlf to it
            'only if the right character is a spcae
            mySpace = Mid(x(j), 1, Len(x(j)) - 1)
            If Right(mySpace, 1) = " " Then
                x(j) = Trim(mySpace) & vbCrLf
            End If
            
            Remove_Extras = Remove_Extras & x(j)
        End If


    Next j
    
    
    Remove_Extras = Replace(Remove_Extras, Chr(11), vbCrLf)   'remove all VT characters
    
End Function

 

جعفر

  • Like 3
قام بنشر

يظهر  أن الكود ناجح و يؤدي المطلوب، حسب رأيي ينقصه فقط حذف المسافات وسط النص فقط ليحل مشاكل الفراغات اينما وجدت.

قام بنشر (معدل)

الأخ الكريم جعفر .. بعد التجربة الأولية كانت النتيجة ممتازة .. ولكن بعد إجراء التجارب على ملفات أخرى ظهر لي أن الكود يحذف آخر حرف   في آخر سطر في الحقل إذا كانت قبله مسافة أو مسافات

يعني ( 1/ 21 )

فذكره .

تصبح هكذا

( 1/ 21

فذكره

بينما الكود الأول لم يفعل ذلك .. فإذا كان موضوع حذف المسافات في آخر السطر فيه احتمالية ولو ضعيفة لحذف شيء من النص فالأسلم تركها

تم تعديل بواسطه nssj
قام بنشر (معدل)

الأخ الكريم Hawiii .. شكرا لك أن راعيت كوني مبتدئا وطبقت الكود على الملف
لكن لما حاولت أن أحوله إلى استعلام كي أتخلص من رسائل التأكيد (أنت على وشك ..)
لم أنجح مع أني استخدمت هذه الصيغة

UPDATE مسند SET مسند.nass = CleanTable([nass]);

وكذلك الأمر حين حولت الوحدة النمطية إلى

Function CleanTable(..)
.
.
End Function


فأين الخطأ
ثم بالنسبة للكود الذي تفضلت به فهو فعال في حذف الأسطر الفارغة
إذ يحذف الأسطر الفارغة أينما كانت حتى لو كان فيها مسافة أو مسافات فارغة
لكن بالنسبة لحذف المسافات في أول وآخر السطر فهو يحول المسافتين إلى واحدة ولا يحذفها

يبدو فعلا أن موضوع حذف المسافات أكثر تعقيدا من حذف الأسطر 🤔

تم تعديل بواسطه nssj
قام بنشر

@nssj أرح نفسك ولا تحول الكود إلى استعلام!!.  ولماذا متمسك بالاستعلام؟!!
أما رسائل التأكيد فيمكنك أن تبحث في المنتدى عن كيفية إيقاف الرسائل .
وأي مسافات التي لم تحذف؟! زودنا بصورة لو سمحت.

ركز على حل مسألتك واترك الكيفية عىل من يقدم لك الحل.

  • أفضل إجابة
قام بنشر (معدل)

السلام عليكم 🙂

 

هذه آخر محاولة لي ، وقد قمت بتغيير العمل:

Option Compare Database
Option Explicit


Function Remove_Extras(myValue As String) As String

    Dim x() As String
    Dim j As Integer
    
    'unify endline characters, so that we can use Split function
    myValue = Replace(myValue, Chr(7), vbCrLf)
    myValue = Replace(myValue, Chr(10) & Chr(13), vbCrLf)
    myValue = Replace(myValue, vbCr, vbCrLf)
    myValue = Replace(myValue, vbLf, vbCrLf)
'    myValue = Replace(myValue, "    ", " ")
'    myValue = Replace(myValue, "   ", " ")
'    myValue = Replace(myValue, "  ", " ")
    
    
    'convert the one paragraph into different phrases separated by vbcrlf
    x = Split(myValue, vbCrLf)
    'Loop through the phrases
    For j = 0 To UBound(x)


        'remove the extra spaces on the Left
        x(j) = Trim(x(j))

        If Len(x(j)) > 1 And j <> UBound(x) Then
            'separate the text from vbcrlf, Remove the extra spaces, then attache vbcrlf to it
            'only if the right character is a spcae and its not the last phrase
            x(j) = Trim(Mid(x(j), 1, Len(x(j)) - 1)) & vbCrLf
        End If


        'Remove the Empty lines (one character length), and accumelate the rest of the lines
        If Len(x(j)) < 2 Then
        Else
            Remove_Extras = Remove_Extras & x(j)
        End If

    Next j
    
    
    'this is an Access conversion error, so lets uninfy it like all endlines
    Remove_Extras = Replace(Remove_Extras, Chr(11), vbCrLf)   'replace the VT characters with vbcrlf
    

    'if the last character is vbcrlf, remove it, so that we dont have extra empty line at the end
    If Right(Remove_Extras, 1) = vbCrLf Or Right(Remove_Extras, 1) = Chr(10) Or Right(Remove_Extras, 1) = Chr(13) Then

        Remove_Extras = Mid(Remove_Extras, 1, Len(Remove_Extras) - 2)
    End If

  
End Function

 

جعفر

 

أسطر3.zip

تم تعديل بواسطه jjafferr
تعديل بسيط
  • Like 2
قام بنشر

الأخ الكريم جعفر .. تم الأمر بحمد الله .. حذفت جميع الأسطر الفارغة حيثما كانت وبغض النظر عن المسافات الفارغة فيها أو قبلها أو بعدها، وحذفت جميع المسافات في أوائل وأواخر الأسطر، دون المساس بالنص، وذلك بعد التجربة والمقارنة

فجزاك الله خيراً على صبرك علي .. وبارك الله فيك

قام بنشر

الحمدلله 🙂

والمفروض يكون اسرع من الكود السابق 🙂

 

ورجاء تجربته في الموضوع الآخر كذلك ، وضع الجواب هناك 🙂

 

حعفر

  • Like 1
قام بنشر

لم تحل المشكلة 100%. وهذه كذلك آخر مشاركة لي في هذا الموضوع.
طلبتك ترفق صورة ولم تفعل ، فيبدو لي أنك تريد الحل من شخص محدد.
موفق أخي.

قام بنشر
1 ساعه مضت, Hawiii said:

طلبتك ترفق صورة ولم تفعل

لأني كنت منشغلا بالتجارب رغبة في التعلم حتى أحل مشاكلي بنفسي في المستقبل

أخي الكريم (Hawiii) لو جربتَ الكود للاحظتَ أنه لا يحذف المسافات إلا إذا كانت أكثر من اثنتين، أما المسافة الواحدة في أول وآخر السطر فتبقى كما هي

وأنا أحاول أن أتعلم من كل مشاركة من أي أخ من أهل الخبرة، حتى لو لم تكن مشاركته فيها الحل الجذري للمشكلة .. فأنا بحمد الله أجيد التعلم بالمقارنة والقياس .. وكل محاولة تضيف جديدا في رصيد معرفتي ..

وبالرغم من أن كود الأخ جعفر قد حل المشكلة .. فأنا تعلمت من الكود الذي تفضلت به، وكذا من مشاركات الإخوة الذين أتحفونا بمشاركاتهم .. تعلمت أمورا ربما تنفعني في حل مشاكل أخرى

وقد أضفت على الكود الذي تفضلت به جملتين حصل بهما المقصود .. حذف المسافة في أول وآخر السطر

 

  DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],'" & vbNewLine & "','');"
  DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],'  ',' ');"
  DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],'  ',' ');"
  DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],' '+Chr(13),Chr(13));"
  DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],Chr(13)+' ',Chr(13));"
  DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Trim([" & Field & "]);"

بقي أن أتعلم كيف أحوله إلى استعلام تحديث، حتى تخرج لي رسالة واحدة فقط، بدل أن تخرج لي ست رسائل بعدد أسطر الكود، ولأنه ظهر لي أن استخدام الاستعلام وأنا خارج النموذج أسلم، خشية أن أستعمل الكود وأنا في سجل قد قمت بتحديثه ولم أقم بحفظه فتخرج لي رسالة: لقد قام مستخدم آخر بتغيير هذا السجل ..

ثم سوف أحتفظ بهذا الكود فقد أستخدمه في قاعدة بيانات أخرى غير قاعدة البيانات الرئيسية التي سوف أستخدم فيها الكود الذي تفضل به الأخ جعفر .. وإن لم أستخدمه فيكفي أنه أضاف لي جديدا في رصيد معرفتي

قام بنشر
47 دقائق مضت, nssj said:

وبالرغم من أن كود الأخ جعفر قد حل المشكلة

لم تحل عزيزي ولو تركز قليلا سوف ترى أن الأستاذ جعفر أضاف سطرين في آخر السجل الأول ولم ينجح الكود في التعامل معهما.

عند الرغبة في تعطيل رسائل التأكيد للاستعلامات اعمل التالي:
- افتح Access Options
- اختر Advanced
- اختر Confirm
- أزل إشارة الصح من Action queries

أو يمكنك تركه وتعطل الرسائل في أول الكود بعبارة DoCmd.SetWarnings False كالتالي:
 

Sub CleanTable(Table As String, Field As String)
  Dim i As Byte
  
  DoCmd.SetWarnings False
  '----------------------
  DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],'" & vbNewLine & "','');"
  DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],'{{','{');"
  DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],'}}','}');"
  '----------------------
  DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Trim([" & Field & "]);"
  For i = 1 To 3
    DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],'  ',' ');"
  Next i
  '----------------------
  DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],'} {','}" & Chr(13) & "{');"
  DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],'} ','}" & Chr(13) & "');"
  '----------------------
  DoCmd.SetWarnings True
End Sub

 

أسطر4.rar

قام بنشر
6 ساعات مضت, Hawiii said:

جعفر أضاف سطرين في آخر السجل الأول ولم ينجح الكود في التعامل معهما.

وين؟

image.png.a0d33d9bae921a21836c7adbf44b52ba.png

.

جعفر

قام بنشر (معدل)

أخي الكريم (Hawiii) .. لا يزال الكود لا يحذف المسافة الواحدة في أول وآخر السطر.

لكن توجد إشكالية أخرى في هذا الكود .. بسبب وجود القوسين {} فيه وهي أقواس أستخدمها لترقيم خاص، فأصبح يحذف المتكرر منها، ويضيف سطرا بعد كل واحد، يعني:

002.jpg.29ea82b93a4b1daf945dc2dfcae18d76.jpg

تصبح هكذا

 003.jpg.a75fde1b55f92dbc6b3557cf90cefd8b.jpg

ولاحظ المسافة باللون الأصفر

ثم وبخصوص كود الأخ جعفر الذي ظهر لي أنه يؤدي المطلوب ولا يؤثر على النص، ليس هذا بالملاحظة بل بالمقارنة بعد تصدير الملفات إلى وورد ومقارنتها آليا مع الأصول، فإذا لاحظتَ خلاف ذلك فالرجاء التحديد بشكل أوضح إن تكرمت

هذا وأعتقد أن تعدد الأفكار والحلول ظاهرة صحية، ولا مانع من استخدام عدة أكواد، طبعا في قواعد بيانات متعددة، هذا هنا وهذا هناك، وليس في مكان واحد 🙂

تم تعديل بواسطه nssj
زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information