النتائج 316 إلى 330 من 378
- 12-03-2020, 12:01 AM #316
- 12-03-2020, 12:05 AM #317
تصور مثلا الرياض المالية او دراية المالية (ضمنيا InteractiveBrokers) بالنسبة لك كمبرمج جافا, هناك كلاسات كثيرة أيضا مثل دوكاسكوبي, وظهر لك مثلا فوق 100 دالة او فيلدز؟ غير مرتبة ابجديا, وانت تبحث تحديدا عن امر محدد مثلا دالة placeOrder ؟ لتعرف كم لها بناء واين توجد الخ؟
نريد تعديل البرنامج الخطير بحيث يكون الترتيب ابجدي (للنصوص) او مرتب (للارقام من الأكبر للاصغر او العكس) -- فيسهل البحث عليك ويقل الوقت المفقود من حياتك.آخر تعديل بواسطة سلمان_العتيبي ، 12-03-2020 الساعة 12:08 AM
- 12-03-2020, 12:11 AM #318
تأمل الصورة: من ضمن 104 عنصر--ظهرت برقم 36 وانظر فوقها وتحتها لايوجد ترتيب ابجدي!
وبنا عليه اجهاد ذهني ونظارة سميكة!
وهنا نتحدث عن الرياض المالية كمثال للجافا سورتنق ليس الا
صورة:
ومن هذه اللحظة ولاحقا الجافا رفلكشن التي سميناها الخبير الخطير سيكون اسمها نِم-كلاس NymClass
احفظه هذه المرة كجافا خارج محرر منصة دوكسكوبي--يعني ننسخ الكود ذا العلاقة ونضعه في دالة MAIN
انسخه من اسفل وليكن معك طوال عمرك لاهميه وسمه NymClass
كود:import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; public class NymClass { public static void main(String[] args) { String searchThisClass="java.lang.System"; try { Class<?> c=Class.forName(searchThisClass); System.out.println("Constructors........"); Constructor<?> con[]=c.getDeclaredConstructors(); for(int i=0;i<con.length;i++) { String ac=String.valueOf(i+1); if(i+1>99) ac=String.valueOf(i+1); else if(i+1>9) ac="0"+ac; else ac="00"+ac; String x=""+con[i]; String y=x.substring(x.indexOf(searchThisClass)); String z=x.substring(0,x.indexOf(searchThisClass)); System.out.println((ac)+"-----"+y+" "+z);} System.out.println("Fields........"); Field f[]=c.getDeclaredFields(); for(int i=0;i<f.length;i++) { String ac=String.valueOf(i+1); if(i+1>99) ac=String.valueOf(i+1); else if(i+1>9) ac="0"+ac; else ac="00"+ac; String x=""+f[i]; String y=x.substring(x.indexOf(searchThisClass)); String z=x.substring(0,x.indexOf(searchThisClass)); System.out.println((ac)+"-----"+y+" "+z);} System.out.println("Methods........"); Method m[]=c.getDeclaredMethods(); for(int i=0;i<m.length;i++) { String ac=String.valueOf(i+1); if(i+1>99) ac=String.valueOf(i+1); else if(i+1>9) ac="0"+ac; else ac="00"+ac; String x=""+m[i]; String y=x.substring(x.indexOf(searchThisClass)); String z=x.substring(0,x.indexOf(searchThisClass)); System.out.println((ac)+"-----"+y+" "+z);} } catch (Throwable e) { System.out.println(e); } } }
آخر تعديل بواسطة سلمان_العتيبي ، 12-03-2020 الساعة 12:23 AM
- 12-03-2020, 12:12 AM #319
لا ان شاء الله ما في احباط، استمر يا ملك سلمان،
رغم أني حاليا لست مهتما بهذه اللغة لكن قد نستفيد يوما ما من هذا الشرح الجميل أوقد يستفيد منه من يحب تعلم هذة اللغة،سوف اقترح عليك اقتراح وهو ان تقوم بعمل الشرح ايضا على شكل ملف بي دي أف وان تجعله منظما اكثر حيث تبداء من الأساسيات وبتدرج خطوة خطوة بارك الله فيك اخي الكريم وفي علمك…
- 12-03-2020, 12:24 AM #320
بي دي اف او فيديو الخ---مستحيل اخي سمير, لاتناسب شخصيتي
منتديات فقط وكتابة
===============
في الكود أعلاه بحثنا عن كلاس System
المتغير هذا, تضع القيمة أي شيء اخر غير سستم وتحرص على سلامته كنص وانه يوجد في الجافا API
انظر للسطر الوحيد في البرنامج الذي تغير فيه:
كود:String searchThisClass="java.lang.System";
آخر تعديل بواسطة سلمان_العتيبي ، 12-03-2020 الساعة 12:27 AM
- 12-03-2020, 12:29 AM #321
تأمل كيف تعرض؟؟
صورة:
الملف المرفق 521360
كأنها والعدم سواء لمن قد تجاوز مستوى API لو كان العدد كبيرا للفيلدز او الدوال!
- 12-03-2020, 12:36 AM #322
من يرد الكود في الرد 318 هكذا دون حرص على الترتيب فلينسخه
من يريد الترتيب فليتريث ومنها نتعلم السورتنق للبيانات مع الجافا كولكشن.
لاحظ البيانات هنا مصفوفة نصوص -- كل سطر فوق تشوفه عبارة عن عنصر من حزمة البيانات
- 12-03-2020, 12:05 PM #323
في صور اول أسبوع كان هناك صورة شجرية لـ Set واعتقد وصورة لـ List
وقلنا List انترفيس بينما تابعها ArrayList كلاس
ولأن الأمر كذلك, List تستخدم فقط للتعريف-لأنها انترفيس وليست كلاس- وبالتالي لايمكن ان تستخدم للانشاء "انشاء او خلق كائن جديد"
مبادئ جافا: الكلاسات فقط تستخدم لانشاء الكائنات "المتغيرات الشيئية"
اذن ArrayList تستخدم للانشاء-- نعيد ليش؟ ج: لانها كلاس
لأنها تنفذ او من توابع الانترفيس List --اذن هي مناسبة لخلق كائنات من نوع List
صورة:
كلمة new ثم اسم الكلاس ArrayList هي وسيلة انشاء كائن جديد
في الصورة أعلاه انشأنا ثلاث كائنات وهي:
list_fields ---- list_Constr------list_Methods
يعني كأن الله رزقك 3 أطفال وسميتهم بهذه الاسماءآخر تعديل بواسطة سلمان_العتيبي ، 12-03-2020 الساعة 12:08 PM
- 12-03-2020, 12:09 PM #324
ونوع قيم عناصر اللستة أعلاه التي سنتعامل معها هي من نوع String ---- البيانات في الأخير أيا كانت تنتهي الى الأنواع الأساسية الشهيرة مثل String - Integer الخ
فنحن سنطبع نصوص عبارة عن تلك الدوال او الفيلدز او الكوسنتركتور--نص نقرأه امامنا بكل مافيه.
- 12-03-2020, 12:12 PM #325
- 12-03-2020, 04:33 PM #326كود:
import java.lang.reflect.*; import java.util.*; public class Nym9Class { public static void main(String[] args) { String searchThisClass="java.lang.System"; System.out.println("Our selection: "+searchThisClass); try { Class<?> c=Class.forName(searchThisClass); List<String> s = new ArrayList<String>(); List<String> s1 = new ArrayList<String>(); List<String> s2 = new ArrayList<String>(); for(Constructor<?> i: c.getDeclaredConstructors()) s.add(i.toString()); Collections.sort(s); for(String i: s) { String y=i.substring(i.indexOf(searchThisClass)); s1.add(y); } for(String i: s1) { try { String x1=i.substring(i.indexOf(" ")); String y=x1.substring(x1.indexOf(searchThisClass)); s2.add(y); } catch (Throwable e) { s2.add(i); } } Collections.sort(s2); System.out.println("-----------------------------------------\nConstructors(Sorted)\n-----------------------------------------"); for(String i:s2) { int j=(s2.indexOf(i)+1); String ac=String.valueOf(j); if(j>99) ac=String.valueOf(j); else if(j>9) ac="0"+ac; else ac="00"+ac; System.out.println("-"+ac+"-"+i);} } catch (Throwable e) { System.out.println(e); } try { Class<?> c=Class.forName(searchThisClass); List<String> s = new ArrayList<String>(); List<String> s1 = new ArrayList<String>(); List<String> s2 = new ArrayList<String>(); for(Field i: c.getDeclaredFields()) s.add(i.toString()); Collections.sort(s); for(String i: s) { String y=i.substring(i.indexOf(searchThisClass)); s1.add(y); } for(String i: s1) { try { String x1=i.substring(i.indexOf(" ")); String y=x1.substring(x1.indexOf(searchThisClass)); s2.add(y); } catch (Throwable e) { s2.add(i); } } Collections.sort(s2); System.out.println("-----------------------------------------\nFields(Sorted)\n-----------------------------------------"); for(String i:s2) { int j=(s2.indexOf(i)+1); String ac=String.valueOf(j); if(j>99) ac=String.valueOf(j); else if(j>9) ac="0"+ac; else ac="00"+ac; System.out.println("-"+ac+"-"+i);} } catch (Throwable e) { System.out.println(e); } try { Class<?> c=Class.forName(searchThisClass); List<String> s = new ArrayList<String>(); List<String> s1 = new ArrayList<String>(); List<String> s2 = new ArrayList<String>(); for(Method i: c.getDeclaredMethods()) s.add(i.toString()); Collections.sort(s); for(String i: s) { String y=i.substring(i.indexOf(searchThisClass)); s1.add(y); } for(String i: s1) { try { String x1=i.substring(i.indexOf(" ")); String y=x1.substring(x1.indexOf(searchThisClass)); s2.add(y); } catch (Throwable e) { s2.add(i); } } Collections.sort(s2); System.out.println("-----------------------------------------\nMethods(Sorted)\n-----------------------------------------"); for(String i:s2) { int j=(s2.indexOf(i)+1); String ac=String.valueOf(j); if(j>99) ac=String.valueOf(j); else if(j>9) ac="0"+ac; else ac="00"+ac; System.out.println("-"+ac+"-"+i);} } catch (Throwable e) { System.out.println(e); } } }
يعرض شيء كما في الصورة لو اخترت البحث عن System الموجودة في lang االموجودة في java
صورة:
- 12-03-2020, 04:36 PM #327
الان للجافا البحتة او للجافا مع دوكاسكوبي او للجافا مع انتراكتيف بروكز (الرياض او دراية المالية) ممكن تغوص في التفاصيل المتاحة التي تحتاجها للتداول الالي مع هذه الشركات.
اذا كنت تتداول بلغة C# او بايثون الخ--لامشكلة ولكن هذا الكود الجافوي تحتاجه لمعرفة الدوال
دوال التداول هي كما هي أيا كانت لغة البرمجة طالما مصدرها وسيط واحد مثل انتراكتيف بروكرز التي تسمح بعدة لغات برمجية (خمس لغات)
- 12-03-2020, 04:38 PM #328
عندما تضع مكتبة انتراكتيف بوركز او دوكاسكوبي مع ECLIPSE وقتها قد تستطيع استخدامه لاستكشاف كلاساتهم وتفاصيلها
والاعلى للفليدز و الميثودز والكوسنتركتور
ممكن أيضا الانترفيسس والبكجز الخ
interfaces-packages-annotations الخ !!!
يعني أي عناون رئيسي ممكن يكون في برامج الجافا--يمكن استكشافه
- 12-03-2020, 04:54 PM #329
انظر للصورة اسفل: زعبلة! ومتاهة!
خصوصا عندما تغوص في أي انترفيس او أي كلاس
وهنا تبرز أهمية ال JavaReflection -- عنوان رئيسي في الجافا وهو اول شيء يجب ان تتعلمه اذا تريد الجافا للتداول الالكتروني, (بعد تعلم اساسيات الجافا)
الملف المرفق 521371
- 12-03-2020, 05:16 PM #330
ولمعرفة العدد سلفا لكل عنوان اضف السطر التالي على الكود السابق:
كود:try { Class<?> cc = Class.forName(searchThisClass); Constructor<?>[] con = cc.getDeclaredConstructors(); Method[] mtd = cc.getDeclaredMethods(); Field[] fld = cc.getDeclaredFields(); System.out.println("Our selection: "+searchThisClass+"\nConstructors: "+con.length+"\nFields: "+fld.length+"\nMethods: "+mtd.length); } catch (ClassNotFoundException e1) { e1.printStackTrace(); }
الملف المرفق 521374