كيف يمكنني معرفة الCom Port الخاص بكل مودم USB مربوط مع الكمبيوتر ؟
#1
أنا الآن أبرمج برنامج يحتاج للتعامل مع سيم كاردز ( يحتاج لثلاثة متعاملين أوريدو، موبيليس و جيزي)، لذا يجب علي ربط ثلاث مودم USB، كل واحد يحتوي على إحدى السيم كاردز.

أريدو طريقة لمعرفة كل Com Port لكل شريحة على هذا النحو:
مثلا
المودم الذي يحتوي على الشريحة أوريدو موجود في ال[size=small]Com [/size][size=small]Port[/size] التالي: COM7
المودم الذي يحتوي على الشريحة موبيليس موجود في ال[size=small][size=small][size=small]Com [/size][/size][/size][size=small][size=small][size=small]Port[/size][/size][/size] التالي: COM10
المودم الذي يحتوي على الشريحة جيزي موجود في ال[size=small][size=small][size=small]Com [/size][/size][/size][size=small][size=small][size=small]Port[/size][/size][/size] التالي: COM13
لذا سأحصل على المتغيرات التالية:
comOoredoo يحتوي على COM7 و يكون String طبعا
comMobilis يحتوي على [size=small]COM10[/size]
comDjezzy يحتوي على [size=small]COM10[/size]

[size=small]للإشارة حاولت عمل Procedure تقوم بالإتصال بكل Com Port على حدى ثم إرسال [size=small]AT+COPS?[/size] و من الإجابة أعرف السيم كارد الموجودة في المودم لكن لم أوفق في ذلك رغم أني أظن أن هذه الطريقة تعمل فقط أنا لم أطبقها بشكل جيد.[/size]

[size=small]هل من طريقة تعمل ؟[/size]

[size=small]ها هي الprocedure التي وصلت إليها إذا كانت قد تساعد:[/size]


كود :
procedure findMobilis(); var   i,j : integer; begin   foundMobilis := false;   i:=0;   while (foundMobilis = false) and (i < Form1.comportsComboBox.Items.Count) do begin     Form1.CPMobilis.port := Form1.comportsComboBox.Items[i];     try       Form1.CPMobilis.open;     finally     end;     Form1.CPMobilis.WriteStr('WAIT=2' + #13#10);     if Form1.CPMobilis.Connected then begin       Form1.CPMobilis.WriteStr('AT' + #13#10);       Form1.CPMobilis.WriteStr('WAIT=3' + #13#10);       if response = 'OK' then begin         Form1.CPMobilis.WriteStr('AT+COPS?' + #13#10);         Form1.CPMobilis.WriteStr('WAIT=3' + #13#10);         j:=1;         while (response[j] = '"') do j := j+1;         if response[j] = 'M' then begin           comMobilis := Form1.comportsComboBox.Items[i];           foundMobilis := True;         end;       end;     end;     i:=i+1;   end; end;
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم