الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التعامل مع متغير يحتوي علي علامات خاصة

بدأه xcode في 15 أكتوبر 2014 · 10 رد · 1,016 مشاهدة · في قواعد بيانات Visual FoxPro
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سيدي العزيز اسد العراق قمت بتصميم برنامج منذ فترة للتعامل مع اجهزة الفاكس واستخراج رقم تليفون المتصل ولكن تواجهني الكثير من المشاكل بسبب اختلاف طول  البيانات المرسلة من اجهزة الفاكس باختلاف  انواعها وايضا اختلاف مكان رقم التليفون وطولة علي حسب اذا كان رقم موبيل او خط ارضي واحتواء الرسالة علي الكثير من العلامات الخاصة والمسافات  ولكي احل هذة الامشكلة اضطر في كل مرة الي تعديل الكود .

لكي اوضح لك اكثر برجاء مراجعة الجدول المرفق. 

ملحوظة لم استطيع اختيار عنوان مناسب للموضوع برجاء المعذرة

 

test.rar

Persistent Fox

#2
xcode كتب:

سيدي العزيز اسد العراق قمت بتصميم برنامج منذ فترة للتعامل مع اجهزة الفاكس واستخراج رقم تليفون المتصل ولكن تواجهني الكثير من المشاكل بسبب اختلاف طول  البيانات المرسلة من اجهزة الفاكس باختلاف  انواعها وايضا اختلاف مكان رقم التليفون وطولة علي حسب اذا كان رقم موبيل او خط ارضي واحتواء الرسالة علي الكثير من العلامات الخاصة والمسافات  ولكي احل هذة الامشكلة اضطر في كل مرة الي تعديل الكود .

لكي اوضح لك اكثر برجاء مراجعة الجدول المرفق. 

ملحوظة لم استطيع اختيار عنوان مناسب للموضوع برجاء المعذرة

اخي العزيز اطلعت على المرفق 

وماهو المطلوب بالتفصيل 

وارفق لنا مثال عن الكود الذي يقوم باضافة البيانات للجدول 

تحياتي

#3
سيدي العزيز هذا هوا الكود الذي استخدمة لاستخراج رقم التليفون 

IF SUBSTR(data1, 3, 4)="DATE" and SUBSTR(data1,36,2)="02"

   Telno = SUBSTR(data1, 36, 10)

   ELSE

   Telno = SUBSTR(data1, 36, 11)

ENDIF

 

Persistent Fox

#4

اخي العزيز

هل تريد اخراج رقم الموبايل فقط ؟

IF SUBSTR(data1, 3, 4)="DATE" and SUBSTR(data1,36,2)="02"
   Telno = RIGHT(ALLTRIM(DATA1),13)
ENDIF
وانا أردت الكود الذي يجلب البيانات للجدول

تم تعديل هذه المشاركة بواسطة lion iraq في 21 أكتوبر 2014 في 10:17

#5

سيدي العزيز انا اريد استخراج اي رقم تليفون سواء كان موبيل او رقم ارضي مهما اختلف موقعة في البيانات المرسلة من الموديم دون الاضطرار لتعديل الكود اي اريد كود يعمل مع كافة انواع الموديم

 وبالنسبة للكود الذي يجلب البيانات الي الجدول 

1- انا اقوم بأستخدام  atcallerid.ocx

2-في ال comevent كتبت الكود التالي

LPARAMETERS smessage

use test
APPEND BLANK
replace data1 WITH smessage
 

test.rar

Persistent Fox

#6

انتظرني بعض الوقت لضيق الوقت حاليا ولعدم توفر النت وانا استخدم حاليا بيانات الخلوي

وان شاء الله سهلة

#7

اخي العزيز جرب هذا الكود لغرض اخراج رقم الموبايل او الارضي من الجدول 

IF SUBSTR(data1, 3, 4)="DATE" and SUBSTR(data1,36,2)="02"
   Telno = RIGHT(ALLTRIM(DATA1),LEN(ALLTRIM(DATA1))-34)
ENDIF

وفي حال لم ينجح سوف اقوم بتفكيك عنصر التحكم واستخراج رقم الهاتف والكيفية 

انتظر اجابتك

تم تعديل هذه المشاركة بواسطة lion iraq في 23 أكتوبر 2014 في 09:33

#8

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

Persistent Fox

#9

اخي العزيز هنالك عناصر تحكم كثيرا جداً

ومنها من هو موجود أصلاً في اي نظام

ولكن هذا الذي تستخدمهٓ ان شاء الله اجد له كود لرقم التلفون فقط

فقط انتظرني بعض الوقت بسبب ظروف خاصه

ويمكن عمل معالج على حقل الجدول فقط لاستخراج الرقم

انتظرني لبعض الوقت

#10

شكرا لك سيدي العزيز انا في انتظارك واتمني ان تكون هذة الظروف خير انشاء الله . لقد توصلت الي صيغة من الممكن ان تحل المشكلة ولكن هذا لا يمنع اني في انتظار ابداعاتك 

USE test 
mdata1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
DO WHILE .not. EOF()
replace data1 WITH ALLTRIM((CHRTRAN(data1, CHRTRAN(data1, mdata1, ""), "")))
SKIP
LOOP
enddo
 
non ASCII character  بعد استخدام الصيغة السابقة اصبح رقم التليفون دائما في مكان موقع ثابت بعد ازالة كل المسافات و 

Persistent Fox

#11

 اخي العزيز 

فكرة جميلة ويبقى ايعاز السابق فعالاً وحسب شرطك

IF SUBSTR(data1, 3, 4)="DATE" and SUBSTR(data1,36,2)="02"
   Telno =RIGHT(ALLTRIM(data1),LEN(ALLTRIM(data1))-20)
ENDIF

وانتظرني لبعض الوقت ان كان الايعاز لايفيد تسلسل البيانات في الاجهزة  

لاني لم اجرب الايعاز على الاجهزة

وتحياتي لك وللجميع

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…