[مشروع] برنامج مشغل ملفات صوتية - N0player
#1
بسم الله الرحمن الرحيم

N0Player مشروع كنت قد طرحته من قبل في ArabTeam2000-forum.com ولم اكمل سبب الانشغال وظروف الحياة، لذلك ساعيد طرحه هنا لمن يحب ان يكمل

عنوان المشروع: مشغل ملفات صوتية - N0player
الهدف: برمجة مشغل ملفات صوتية صغير الحجم وسهل الاستعمال يدعم صيغ مختلفة
الغرض: ترفيهي تعليمي.
التلخيص: المشروع عبارة عن برنامج تشغيل صوتيات خفيف مكتوب بدلفي
الخطة: البداية بشيئ بسيط جدا ثم التطوير نقطة نقطة حيث كل نقطة عبارة عن اضافة للبرنامج او خاصية ما
العمل كان بنسخة دلفي 7 وحاليا بدلفي XE
النسخ "0.0/0.01 تجربة" مرفقة
والسلام عليكم
[صورة: N0Player.jpg]


الملفات المرفقة
.rar   N0Player_source.rar (الحجم : 137.91 ك ب / التحميلات : 811)
.rar   N0Player_EXE.rar (الحجم : 276.94 ك ب / التحميلات : 776)
.rar   N0Player_source.0.01.rar (الحجم : 132.93 ك ب / التحميلات : 457)
[-] كل من 1 user says قال شكرا ل محمد عبد العزيز على المشاركة المفيدة
  • mohamed49
الرد
#2
اخي محمد كنت من قبل انتظر وضع البرنامج هنا . و سوف يتم اكماله هنا .

للتنةيه فقط النقطة التي توقفنا فيها في arabteam2000 هي تجميل الواجهة للبرنامج .

و انا متاكد ان سوف يتم الاستفادة كثيرا من المشروع و خاصة للاعضاء الجدد في البرمجة .

اخوك محمد
الرد
#3
مشروع مشابه:
http://www.delphi4arab.net/forum/showpos...ostcount=4
قد يكون مفيدا لدمج أجزاء منه...
الرد
#4
اخي kachwahed الهدف تعليمي ومنه نحاول الاعتماد على انفسنا ما امكن
حسنا كما قلت ساحاول تغيير شيئ كلما وجدت وقت،
من هنا الى الاسبوع المقبل ان شاء الله تصيحيح خلل في التعامل مع بعض الملفات، مثلا الصورة ملف مسمى بلغة كورية عند محاولة تشغيله يظهر خطأ
[صورة: attachment.php?attachmentid=2708&stc=1&d=1307119384]


الملفات المرفقة
.jpg   hello ghost.jpg (الحجم : 8.89 ك ب / التحميلات : 442)
الرد
#5
إقتباس :اخي kachwahed الهدف تعليمي ومنه نحاول الاعتماد على انفسنا ما امكن
أحب الحلول الجاهزة Big Grin
حسنا، كاقتراح لمحاولة تصحيح الخلل دعم Unicode
إدراج مكتبات Tnt لاستخدامها بدلا من المكونات الأصلية
بشي مثل:
PHP كود :
{$DEFINE Tnt}

uses
  Windows
, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  
Dialogs, StdCtrls, ComCtrls
{$IFDEF Tnt}
  , 
TntStdCtrls, TntDialogs
{$ENDIF}
  ;

type
{$IFDEF Tnt}
  
TLabel = class(TTntLabel)
  
end;
  
TEdit = class(TTntEdit)
  
end;
  
TMemo = class(TTntMemo)
  
end;
{
$ENDIF} 
مرفق أهم المكتبات

شيء آخر، استدعاء توابع W عوضا ANSI حيثما وجد تابع API
PHP كود :
MessageBoxW(Handle, PWideChar('MessageBoxW: ' +Edit1.Text), 'Title', MB_OK +
    
MB_ICONINFORMATION); 

طبعا، هذا بفرض استخدام دلفي 7 للتوليف.


الملفات المرفقة
.7z   TntUnits.7z (الحجم : 80.15 ك ب / التحميلات : 113)
الرد
#6

إقتباس :أحب الحلول الجاهزة
اعلم انها مشكلة يوني كود unicode
يمكن استخدام مكونات tnt/tms لدعم اليوني كود
يمكن تغيير اصدار دلفي من 7 الى اصدار احدث 2009 وما فوق
يمكن البحث عن بديل اخر !
الرد
#7
من هنا فصاعدا تعديل اكثر من نقطة وتغيير رقم الاصدار مع كل تعديل
[صورة: attachment.php?attachmentid=2867&stc=1&d=1310897047]
الاصدار الحالي 0.01 مرفق باول مشاركة
+تم تعديل بسيط على الواجهة لتظهر كما بالصورة
+استخدام اصدار دلفي XE بدلا من دلفي 7
+ تحديث مكتبة Bass من 2.4.2.1 الى 2.4.7.1
+تعديل طفيف لدعم اسماء الملفات بلغات مختلفة - دعم Unicode
النقط المقبلة To Do
- حفظ اسماء الملفات بالUnicode
- تصحيح خطا عند تشغيل صيغ WMA
- دعم صيغة جديدة (غير المدعومة حتى الأن)
...


الملفات المرفقة
.jpg   N0Player.0.01.jpg (الحجم : 14.44 ك ب / التحميلات : 427)
الرد
#8
السلام عليكم و رحمة الله و بركاته
أردت برنامج خفيف لسماع القرآن خاصة يوم الجمعة (صوت مرتفع)
فتذكرت أن هناك برنامج يطور هنا ، فهذه مساهمة مني حتى يتم استعماله و لو في نطاق محدد.
قمت بالعمل على المظهر (skin) للعلم لست مصمم محترف لكن أستعمل ما ينتجه المصممون.
- صورة المظهر النهائية -
[صورة: attachment.php?attachmentid=3720&d=1351631898]

الواجهة الأصلية

[صورة: attachment.php?attachmentid=3722&stc=1&d=1351633948]

المظهر المستعمل هو مجاني لذلك لا قيود على استعماله و يمكن روية كيفية إنشائه من هذا الرابط
http://www.photoshoplady.com/tutorial/de...oshop/2646

ليتوافق البرنامج (N0Player) مع المظهر الخارجي قمت ببعض التعديلات منها:
1- كتابة خاصيتين Repeated و Shuffled
2- حذف الأزار و Checkboxs
3- إلغاء بعض الأوامر (لم أرى لها أي فائدة) عبر جعلها "تعليقات" لسهولة العودة إليها من طرف المبرمجين الأصليين.
4- أمور رأيتها معقدة و يوجد حلول أبسط منها (أتكلم من جهتي و لا أحكم على الكود أو كاتبيه)، ربما وضع لأسباب منطقية لم أدركها في مـروري "السلامي" Smile مثل:
لماذا property MinHeight، يمكن التحكم في طول الواجهة بأبسط مما هو مكتوب
كود :
procedure TN0P.SetUpDowValue(Value: boolean); begin fisUpOrDown:=Value; if Value=false then begin ///////////////// Hide Player List ////////////////// [color=Blue] N0P.ClientHeight := 133; [/color] UpDownBtn.Font.Color := $00928576; end else begin ////////////////////// Show Player List ///////////////////// [color=Blue] N0P.ClientHeight :=250;[/color] UpDownBtn.Font.Color := $00FFCAA8; end; end;
- - - - - - - - - -
خاصة هذه العملية ، أليست مكلفة مع أنه يوجد list واحدة فلماذا الحلقة
كود :
for i := 0 to ComponentCount-1 do // This affects only the Player List but neither List bath or history list ! if(( Components[i] is TListBox )And({only Player List!}Components[i].Name='lstName' ))then (Components[i] as TListBox).visible:=Not(Value);

ملاحظة أخرى : Repeat هل هي في البرنامج "الإعادة" أم "المواصلة" لقراءة التالي

ربما لم أذكر كل شيء (لا أريـد السهر حاليا لأنني لم أنم ليلتي )

لكن في العموم لم أحذف ما لم أعوضه أو ما ظننته مهم للمبرمجين الأصليين

في الأخير سينتج ملف تنفيذي ذو حجم 1,27 Mo (استعملت نسخة متوفرة أمامي وهي Delphi 2010)
الملف الأصلي كان حجمه 1,06 Mo

ربما مستقبلا سأحاول نقله إلى lazarus لتجريبه على لينوكس (الأن أقوم بالعبث بملفات PDF و برنامج في رأسي يزعجني فلن أتركه حتى أنهيه.)

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

مستقبلا تحسين ProgressBar، SpeedButton، نوع خط الزمن لجعله رقمي حديث

أتمنى لكم التوفيق.


الملفات المرفقة
.jpg   N0Player.jpg (الحجم : 24.84 ك ب / التحميلات : 174)
.rar   N0Player_source_BasedOn.0.01.rar (الحجم : 192.8 ك ب / التحميلات : 149)
.jpg   27.jpg (الحجم : 59.13 ك ب / التحميلات : 174)
الرد
#9
أمر أخر ، عند فتح ملف كمستعمل أتوقع قراءته مباشرة و ليس يضيفه للقائمة

القائمة تتكون عندما افتح مجلد أو عندما أقصد الإضافة
الرد
#10
وعليكم السلام ورحمة الله

اهلا اخي مروان
كان المشروع نقطة نقطة بهدف تعليمي لذلك تجد اشياء ملتوية Smile
إقتباس :Repeat هل هي في البرنامج "الإعادة" أم "المواصلة" لقراءة التالي
هي اعادة تشغيل نفس الملف ان كان واحد فقط بالقائمة
او تشغيل التاليان كان اكثر من ملف بالقائمة
إقتباس :سينتج ملف تنفيذي ذو حجم 1,27 Mo استعملت نسخة متوفرة أمامي وهي Delphi 2010
النسخة الاكثر استعمال عندي ملف واحد بحجم اقل من 700Mb مدمج معها ملفين dll و بدلفي 5
الرد


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


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