اذهب إلى المحتوى

E.Nourddine

الأعضاء
  • المساهمات

    1458
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    18

كل منشورات العضو E.Nourddine

  1. نعم هي وحدات للقياس : px : هو 1pixel.dIp هو:Density-independent pixels.sp : هو scale-independent pixels.التفصيل في الجداول التالية: +----------------+----------------+---------------+-------------------------------+ | Density Bucket | Screen Display | Physical Size | Pixel Size | +----------------+----------------+---------------+-------------------------------+ | ldpi | 120 dpi | 0.5 x 0.5 in | 0.5 in * 120 dpi = 60x60 px | +----------------+----------------+---------------+-------------------------------+ | mdpi | 160 dpi | 0.5 x 0.5 in | 0.5 in * 160 dpi = 80x80 px | +----------------+----------------+---------------+-------------------------------+ | hdpi | 240 dpi | 0.5 x 0.5 in | 0.5 in * 240 dpi = 120x120 px | +----------------+----------------+---------------+-------------------------------+ | xhdpi | 320 dpi | 0.5 x 0.5 in | 0.5 in * 320 dpi = 160x160 px | +----------------+----------------+---------------+-------------------------------+ | xxhdpi | 480 dpi | 0.5 x 0.5 in | 0.5 in * 480 dpi = 240x240 px | +----------------+----------------+---------------+-------------------------------+ | xxxhdpi | 640 dpi | 0.5 x 0.5 in | 0.5 in * 640 dpi = 320x320 px | +----------------+----------------+---------------+-------------------------------+وَ: +---------+-------------+---------------+-------------+--------------------+ | Density | Description | Units Per | Density | Same Physical Size | | | | Physical Inch | Independent | On Every Screen | +---------+-------------+---------------+-------------+--------------------+ | px | Pixels | Varies | No | No | +---------+-------------+---------------+-------------+--------------------+ | in | Inches | 1 | Yes | Yes | +---------+-------------+---------------+-------------+--------------------+ | mm | Millimeters | 25.4 | Yes | Yes | +---------+-------------+---------------+-------------+--------------------+ | pt | Points | 72 | Yes | Yes | +---------+-------------+---------------+-------------+--------------------+ | dp | Density | ~ 160 | Yes | No | | | Independent | | | | | | Pixels | | | | +---------+-------------+---------------+-------------+--------------------+ | sp | Scale | ~ 160 | Yes | No | | | Independent | | | | | | Pixels | | | | +---------+-------------+---------------+-------------+--------------------+
  2. هناك طريقة وحيدة لعمل ذلك، وهي استخدام Kivy kivy guide
  3. في حال كنت تبحث عن مقاسات الشاشة بـ pixels يمكنك استعمال خاصية getSize هكذا: Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); int width = size.x; int height = size.y;قد تحتاج جلب المقاس في موضع غير Activity، يمكنك استعمال Display عن طريق WINDOW_SERVICE بهذه الطريقة: WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); Display display = wm.getDefaultDisplay();ثم عن طريق getWidth و getHieght: Display display = getWindowManager().getDefaultDisplay(); int width = display.getWidth(); // deprecated int height = display.getHeight(); // deprecated
  4. كجواب مقتضب: نعم. وكان الجواب كذلك لأنك قلت معرفة أساسية، وكما هو معلوم فإن وظيفة المصمم -خصوصا في عالمنا العربي- تتعدى مهامها التصميم على برنامج adobe photoshop أو Illustrator، لتصل إلى تكويد القالب عبر html و css، وهذا ليس بالجديد، وأظنه يفيد المصمم إلى حد ما، حيث أن المبرمج قد يجد الكثير من الصعوبات أثناء تركيب القالب ما لم يكن مصممه على دراية بكيفية التركيب، لأنه قد يدرج أشكال وخلفيات لا يمكن إدراجها أثناء تركيب القالب-أو تكون صعبة-، لهذا أظن من الأنسب أن يكون المصمم على الأقل عارفا بأساسيات تركيب القوالب بلغة html و css. وتلجأ الشركات الكبيرة إلى توظيف موظفين في عدّة تخصصات لبناء المواقع، كمصمم، ومبرمج متخصص في تركيب القوالب، آخر متخصص في التعامل مع قواعد البيانات...ليكون كل واحد منهم مسؤول على جزء معين، لتتكامل الأجزاء فيما بينها لتعطي منتوج كامل -الموقع-.
  5. يمكن فعل ذلك انطلاقاً من الحاسوب، لأن الأمر لا علاقة له بالبرمجة هنا، حسب بيئة العمل: Windows: نضغط Ctrl+F12. (ِبالنسبة لزر Ctrl هنا فهو الموجود جهة اليسار)Mac: نضغط Fn+Ctrl+F12.
  6. لهذا الغرض سنستعمل وظيفة XmlDocument، بهذا الشكل: XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(xmlResponse); var premium = xmlDoc.SelectSingleNode("//Premium[../TravelerID = '0']")كما يمكنك استعمال حلقات التكرار foreach لتصفح العقد nodes في حال كان الملف يتكون من عدّة عقد، هكذا: foreach(var premium in xmldoc.SelectNodes("//Premium[../TravelerID = '0']") { // TravelerID = 0 سيتصفح العقد الموجودة في حالة }كما يمكننا الحصول على قيمة العقدة node مباشرة مع تضمين الشرط TravelerId=0 بالطريقة التالية: XDocument xdoc = XDocument.Load(xmlResponse); var premium = (string)xdoc.Descendants("Traveler").Where(x => (string)x.Element("TravelerID") == "0").Element("Premium");
  7. سنستعمل وظائف xsl لتحويل مدخلاته input إلى قيم مستخدمةoutput، وذلك باستخراج جميع القيم في ملف: <xsl:output method="xml" indent="yes"/> <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> <xsl:template match="DeliveryMethods"> <allmethods> <xsl:apply-templates select="DeliveryMethod"/> </allmethods> </xsl:template> <xsl:template match="DeliveryMethod"> <xsl:value-of select="."/> <xsl:if test="position() != last()"> <xsl:text>,</xsl:text> </xsl:if> </xsl:template>قمت باستعمال DeliveryMethods لاستخراج القيم، لنحصل على : <Orders> <Order> <Number>1</Number> <GenerateID>Y</GenerateID> <allmethods>Postal,Mail</allmethods> <OrderIdentity>1FTHX26FXVEA28985</OrderIdentity> <Price>100</Price> <Quantity>5</Quantity> </Order> </Orders>ويمكنك أيضا استعمال الشيفرة التالية لاستخلاص القيم من ملف xsl: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; using System.Xml.Linq; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string xml = "<Orders>" + "<Order>" + "<Number>1</Number>" + "<GenerateID>Y</GenerateID>" + "<DeliveryMethods>" + "<DeliveryMethod>Postal</DeliveryMethod>" + "<DeliveryMethod>Mail</DeliveryMethod>" + "</DeliveryMethods>" + "<OrderIdentity>1FTHX26FXVEA28985</OrderIdentity>" + "<Price>100</Price>" + "<Quantity>5</Quantity>" + "</Order>" + "</Orders>"; XDocument doc = XDocument.Parse(xml); XElement deliverMethod = new XElement("DeliveryMethod",string.Join(",",doc.Descendants("DeliveryMethod").Select(x => x.Value).ToArray())); } } }
  8. الأمر يسير باستعمال colortbl والذي يمكننا توليده عبرحزمة xcolor: \documentclass{article} \usepackage[table]{xcolor} \begin{document} \begin{tabular}{|>{\columncolor{red!20}}l|c|c|c|} \hline \rowcolor{blue!20}% &\textbf{ciao}&\textbf{ciao2}&\textbf{ciao3}\\\hline \textbf{ciao}&\cellcolor{green}0.815&0.913&0.278\\\hline \textbf{ciao2}&0.906&\cellcolor{green}0.632&0.547\\\hline \textbf{ciao3}&0.127&0.098&\cellcolor{green}0.958\\\hline \end{tabular} \end{document} ولتحصل على ماجاء في سؤالك بالتحديد، استعمل الكود التالي: \documentclass{article} \usepackage[table]{xcolor} \usepackage{xparse,environ} \ExplSyntaxOn \NewEnviron{matlabtabular}[1] { \tl_set:Nx \l_angelino_matlab_preamble_tl { \tl_tail:n { #1 } } \tl_put_left:Nn \l_angelino_matlab_preamble_tl { | >{\columncolor{red!20}} } \angelino_matlabtab:VV \l_angelino_matlab_preamble_tl \BODY } \cs_new_protected:Nn \angelino_matlabtab:nn { \seq_set_split:Nnn \l_angelino_matlabtab_rows_seq { \hline } { #2 } % the first item is empty \seq_pop_left:NN \l_angelino_matlabtab_rows_seq \l_angelino_matlabtab_body_tl % the last item is empty \seq_pop_right:NN \l_angelino_matlabtab_rows_seq \l_tmpa_tl % separate the first row \seq_pop_left:NN \l_angelino_matlabtab_rows_seq \l_angelino_matlabtab_body_tl % fix the first row \tl_put_left:Nn \l_angelino_matlabtab_body_tl { \hline\rowcolor{blue!20} } \tl_put_right:Nn \l_angelino_matlabtab_body_tl { \hline } \seq_map_inline:Nn \l_angelino_matlabtab_rows_seq { \int_incr:N \l_angelino_matlab_currentrow_int \int_zero:N \l_angelino_matlab_currentcol_int \seq_set_split:Nnn \l_angelino_matlabtab_row_seq { & } { ##1 } \seq_pop_left:NN \l_angelino_matlabtab_row_seq \l_angelino_matlabtab_first_tl \tl_put_right:NV \l_angelino_matlabtab_body_tl \l_angelino_matlabtab_first_tl \seq_map_inline:Nn \l_angelino_matlabtab_row_seq { \int_incr:N \l_angelino_matlab_currentcol_int \int_compare:nTF { \l_angelino_matlab_currentcol_int == \l_angelino_matlab_currentrow_int } { \tl_put_right:Nn \l_angelino_matlabtab_body_tl { & \cellcolor{green} ####1 } } { \tl_put_right:Nn \l_angelino_matlabtab_body_tl { & ####1 } } } \tl_put_right:Nn \l_angelino_matlabtab_body_tl { \hline } } \begin{tabular}{#1} \l_angelino_matlabtab_body_tl \end{tabular} } \cs_generate_variant:Nn \angelino_matlabtab:nn { VV } \int_new:N \l_angelino_matlab_currentcol_int \int_new:N \l_angelino_matlab_currentrow_int \seq_new:N \l_angelino_matlabtab_rows_seq \seq_new:N \l_angelino_matlabtab_row_seq \tl_new:N \l_angelino_matlabtab_body_tl \tl_new:N \l_angelino_matlabtab_first_tl \tl_new:N \l_angelino_matlab_preamble_tl \ExplSyntaxOff \begin{document} \begin{matlabtabular}{|l|c|c|c|} \hline &\textbf{ciao}&\textbf{ciao2}&\textbf{ciao3}\\\hline \textbf{ciao}&0.815&0.913&0.278\\\hline \textbf{ciao2}&0.906&0.632&0.547\\\hline \textbf{ciao3}&0.127&0.098&0.958\\\hline \end{matlabtabular} \end{document}
  9. يمكننا ضبط المحاذاة لـ vertexs عن طريق استعمال تحويل Pivot Point إلى Active Element، إذن نحدد vertex الذي نريد ضبط محاذاة باقي vertexs معه، بهذه الطريقة المبينة في الصورة المتحركة: كما هو مُوضح هنا، النقط -vertexs- السفلى تم ضبط محاذاتها لتظهر مستقيمة مع بعضها البعض. ولتحديد vertex الأساسي في عملية المحاذاة أو ما سميناه بـ active element بغرض التغيير، سنذهب إلى القائمة في الأسفل كما هو موضح في الصورة المدرجة سابقاً.
  10. يوفر برنامج Blender امكانية Mirror Modifier، والتي تعمل عمل المرآة وتتيح عمل نسخ يتماثل محوري. سنستخدم الأداة السالفة الذكر وبالضبط على محور X، اضف mirror modifier بهذه الطريقة : ستحصل في نهاية الأمر على كائن -مجسّم- متماثل محوريا بالمحور X، كما في الصورة.
  11. من الممكن فعل ذلك عن طريق امكانية Hook Modifier. حيث تمكن هذه الأداة من ربط vertexs كائن A بـ vertexs كائن آخر B، وسنقوم بربط مجموعة vertexs المجسم الأول بمجموعة ثانية خاصة بالمجسم الثاني، لذا وجب قبل ذلك عمل vertexs group، كما توضح الصورة المتحركة التالية: لاحظ بعد عملية Hook Modifier أنه عند كل تحريك للمجسم الأول يتحرّك المجسم الثاني تلقائياً.
  12. من الطبيعي حدوث ذلك، لأنك لم تعمل reset لقائمة المتصلين حالياً قبل الإقدام على التحديث، ونفعل ذلك بهذه الطريقة: function getOnline(){ $.ajax({ url: "conf/users.php?act=online", dataType: "text", success: function(data) { $('#printOnline').html(""); var json = $.parseJSON(data); for (var i=0;i<json.length;++i) { $('#printOnline').append('<li><a href="javascript:void(0);" onclick=javascript:chatWith("'+json[i].users_nickname+'")><i></i>'+json[i].users_nickname+'</a></li>'); } } }); } setInterval('getOnline()',10000); شرح ما حدث: ينبغي دائما في القوائم والبيانات التي تُحدّث بشكل تلقائي أن نمسح البيانات السابقة قبل عملية التحديث وذلك حتى لا تتراكم البيانات الجديدة والقديمة، لتظهر الجديدة فقط، فلا يعقل أن نرى مستخدم مكرر مرتين أو أكثر لأنه مع مرور الوقت سيظهر جميع المتصلين بشكل متكرر، وهذا ما لا نريده طبعا، إذن وجب مسح القائمة ثم إعادة توليدها عبر عملية التحديث.
  13. أعتقد أن صاحب المشروع له الحق في إظهار أي تفاصيل يرى أنها كافية، في حين يُخفي العديد من التفاصيل التي يرى أيضا أنها سرية وإبداعية من وجهة نظره هو، وكما تعلم فالفكرة مهمة، خاصة في أيامنا هذه حيث من الممكن عرض فكرة لتجدها بعد أيام منتشرة وبشكل كبير، لكن يبقى الوصف المُدرج في الوظيفة شاملاً ويعطي نظرة كلية عن المشروع، وليس بالضرورة التفصيل فيه، وقد تصادف يوما عميلا يملي عليك بعض المهام التي لم يتم الاتفاق عليها في بداية الأمر، مما يدفعك إلى التفاوض معه حول السعر، ذلك أنك ستبين له أنّ هذه المهام لم تكن مُدرجة وتحتاج إلى وقت...في محاولة منك لإقناعه. كما أن مواقع العمل الحر توفر إمكانية المحادثات مع العملاء، بشرط أن يبدأ العميل المحادثة ويسألك هو عن مدى تمكنك من الأمر، حينئذٍ من الجيد أن تسأله عن محتوى الموقع أو المشروع المرتقب، وهذه المرحلة جد مهمة، حاول أخذ وقتك واسأل عن كل صغيرة وكبيرة، حتى تتفادى أية مشاكل فيما بعد. وأثناء تقديمك للعروض حاول دوما أن تطلب من العميل التواصل معك لتفسير بعض الأمور، واسأل عن كل شيء يبدو لك غامضاً. ولا تتردد في البحث والسؤال داخل المدونات والمواقع، حتى تكتسب خبرة أكبر ومعرفة أوسع في مجال تخصصك.
  14. لتقليل عدد edges عليك باتباع الخطوات التالية: عن طريق الاختصار Ctrl+Alt+RMB حدد عنصر edge.عيّن قيمة De-deselect .ثم Select->Edgs loops.وَ Mesh->Delete->Edge loops.الصورة المُتحرّكة التالية تشرح الخطوات المذكورة سابقاً:
  15. الطريقة التي اتبعت هي الصحيحة، فقط هناك خطأ ارتكبته أثناء كتابتك للكود، حيث من الواجب كتابة المحدد id في كود javascript داخل []، أي أن الكود السابق سيصبح بالشكل التالي: $("#upload_link").click(function(){ $("[id='ad-docs[]']").click(); });وكود html سيبقى كما هو: <input id="ad-docs[]" type="file" name="ad-docs[]" multiple="multiple" style="display:none;"/> <a id="upload_link" class="button-link button-link-blue">BROWSE</a>jQuery Attribute Equals Selector [name=”value”]
  16. ستحتاج إلى استعمال (history.go(0. هذا كود Javascript: $('.reload').click(function() { //window.location.reload(true); history.go(0); }); window.onload = function() { $('.radio').text($.now()); };كود html: <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <button class="reload">update</button> <div class="radio"></div> بالنسبة لكود Javscript، يمكنك استعمال هذاالكود أيضاً: $(document).ready(function() { $('.reload').on('click', function() { window.location.reload(); }) });
  17. لفعل ذلك اتبع الخطوات التالية: أنشئ camera على مستوى المشروع.أنشئ النص واضف عليه تأثير 3D.حدد الطبقة layer وثم حدد (Ellipse tool (Q لكن لا تفعل أس شيء.أنقر نقرتين على (Ellipse tool (Q سيتم إدراج شكل دائري بجانب النص.أدِر النص بـ -90درجة على محور X.أسفل طبقة النص سترى Path Options يمكنك تغيير الإعدادات الخاصة به.سترى أيضا خانة باسم animate مع سهم دائرة صغيرة حيث يمكن تحريكه.وقائمة أخرى خاصة بالدوران اسمها Rotation.المحرك سيكون هو animator1 .كما يمكن التغيير في المدة الزمنية للحركة time * 500 مثلاً.يمكنك تحميل مشروع تطبيقي من خلال الرابط: Bend-3D-Text+(CS5.5).aep
  18. لضبط محاذات المعادلات سنستعمل حزمة amsmath لنحصل على وثيقة بهذا الشكل: والكود الخاص بالوثيقة هو: \documentclass{article} \usepackage{amsmath} \newcommand{\ee}{\mathrm{e}} \begin{document} \[ \mathrm{F_{hkl}} = \mathrm{f_{j}} ( \ee ^ {2\pi \cdot i (h\cdot0 + k\cdot0 + l\cdot0)} + \ee ^ {2\pi i (h\cdot\frac{1}{2} + k\cdot\frac{1}{2} + l\cdot0)} + \ee ^ {2\pi i (h\cdot0 + k\cdot\frac{1}{2} + l\cdot\frac{1}{2})} + \ee ^ {2\pi i (h\cdot\frac{1}{2} + k\cdot0 + l\cdot\frac{1}{2})} ) \] \[ \mathrm{F_{hkl}} = \mathrm{f_{j}} ( \ee ^ {2\pi i \cdot 0} + \ee ^ {2\pi i (h\cdot\frac{1}{2} + k\cdot\frac{1}{2} } + \ee ^ {2\pi i (k\cdot\frac{1}{2} + l\cdot\frac{1}{2})} + \ee ^ {2\pi i (h\cdot\frac{1}{2} + l\cdot\frac{1}{2})} ) \] \begin{align*} \mathrm{F_{hkl}} &= \mathrm{f_{j}} ( \ee ^ {2\pi \cdot i (h\cdot0 + k\cdot0 + l\cdot0)} + \ee ^ {2\pi i (h\cdot\frac{1}{2} + k\cdot\frac{1}{2} + l\cdot0)} + \ee ^ {2\pi i (h\cdot0 + k\cdot\frac{1}{2} + l\cdot\frac{1}{2})} + \ee ^ {2\pi i (h\cdot\frac{1}{2} + k\cdot0 + l\cdot\frac{1}{2})} ) \\ \mathrm{F_{hkl}} &= \mathrm{f_{j}} ( \ee ^ {2\pi i \cdot 0} + \ee ^ {2\pi i (h\cdot\frac{1}{2} + k\cdot\frac{1}{2} } + \ee ^ {2\pi i (k\cdot\frac{1}{2} + l\cdot\frac{1}{2})} + \ee ^ {2\pi i (h\cdot\frac{1}{2} + l\cdot\frac{1}{2})} ) \end{align*} \end{document}لاحظ استعمال الحزمة المذكورة آنفا 'amsmath' في أول الكود، مع استعمال الرمز &= لتعيين المحاذاة.
  19. عندي لك اقتراحين اثنين لتعويض الشجرة: الأول: \documentclass[11pt]{scrartcl} \usepackage[dvipsnames,svgnames]{xcolor} \usepackage{tikz} \usetikzlibrary{shapes,decorations.shapes} \newsavebox{\mycandle} \savebox{\mycandle}{ \begin{tikzpicture}[scale=.1] \shade[top color=yellow,bottom color=red] (0,0) .. controls (1,.2) and (1,.5) .. (0,2) .. controls (-1,.5) and (-1,.2) .. (0,0); \fill[yellow!90!black] (.8,0) rectangle (-.8,-5); \end{tikzpicture} } \tikzset{ paint/.style={draw=#1!50!black, fill=#1!50}, my star/.style={decorate,decoration={shape backgrounds,shape=star}, star points=#1} } \begin{document} \begin{tikzpicture} \draw[fill=Maroon,ultra thick] (.75,-1) .. controls (.5,.5) and (.5,3) .. (0.5,4) -- (-0.5,4) .. controls (-.5,3) and (-.5,.5) .. (-.75,-1) ; \draw[ultra thick,fill=green!50!black] (0,10) .. controls (0,8) and (1,7) .. (1.5,7) .. controls (1,7) and (1,7) .. (0.5,7.25) .. controls (1.5,5) and (2.5,4) .. (3,4) .. controls (2,4) and (1.25,4) .. (1,4.5) .. controls (2,2) and (3.5,2) .. (4,2) .. controls (1,1) and (-1,1) .. (-4,2) .. controls (-3.5,2) and (-2,2) .. (-1,4.5) .. controls (-1.25,4) and (-2,4) .. (-3,4) .. controls (-2.5,4) and (-1.5,5) .. (-0.5,7.25) .. controls (-1,7) and (-1,7) .. (-1.5,7) .. controls (-1,7) and (0,8) .. (0,10) ; \foreach \candle in {(2,5),(-2,5),(0.5,7.5),(-0.5,7.5),(-3,2.5), (3,2.5), (1.5,1.75),(-1.5,1.75)} \node at \candle {\usebox{\mycandle}} ; \node [star, star point height=.5cm, minimum size=.5cm, draw,fill=yellow,thick] at (0,10) {}; \begin{scope}[decoration={shape sep=.2cm, shape size=.25cm}] \draw [my star=6, paint=red] (-4,2) .. controls (0,2) and (1,3.5) .. (1,4.5) .. controls (1,6) and (0.5,6) .. (0.5,7.25); \draw [my star=6, paint=blue] (4,2) .. controls (0,2) and (-1,3.5) .. (-1,4.5) .. controls (-1,6) and (-0.5,6) .. (-0.5,7.25); \end{scope} \end{tikzpicture} \end{document} لتكون نتيجة الشجرة كما توضح الصورة التالية: ثم الإقتراح الثاني، هي نفس الشجرة، لكن بتأثيرات أخرى مغايرة للأولى، كاضافة بعض الكرات والثلوج: \documentclass[11pt]{scrartcl} \usepackage[dvipsnames,svgnames]{xcolor} \usepackage{tikz} \usetikzlibrary{% shapes, decorations.shapes, decorations.fractals, decorations.markings, shadows } \newsavebox{\mycandle} \savebox{\mycandle}{ \begin{tikzpicture}[scale=.1] \shade[top color=yellow,bottom color=red] (0,0) .. controls (1,.2) and (1,.5) .. (0,2) .. controls (-1,.5) and (-1,.2) .. (0,0); \fill[yellow!90!black] (.8,0) rectangle (-.8,-5); \end{tikzpicture} } \tikzset{ paint/.style={draw=#1!50!black, fill=#1!50}, my star/.style={decorate,decoration={shape backgrounds,shape=star}, star points=#1} } \begin{document} \begin{tikzpicture}[ ball red/.style={ decorate, decoration={ markings, mark=between positions .2 and 1 step 3cm with { \pgfmathsetmacro{\sz}{2 + .5 * rand} \path[shading=ball,ball color=red] (0,0) circle[radius=\sz mm]; } } } ,ball blue/.style={ decorate, decoration={ markings, mark=between positions 0.1 and .9 step 3cm with { \pgfmathsetmacro{\sz}{2 + .5 * rand} \path[shading=ball,ball color=blue] (0,0) circle[radius=\sz mm]; } } } ] \draw[fill=Maroon,ultra thick] (.75,-1) .. controls (.5,.5) and (.5,3) .. (0.5,4) -- (-0.5,4) .. controls (-.5,3) and (-.5,.5) .. (-.75,-1) ; \shade[ultra thick, top color=green!90!black,bottom color=green!10!black] (0,10) .. controls (0,8) and (1,7) .. (1.5,7) .. controls (1,7) and (1,7) .. (0.5,7.25) .. controls (1.5,5) and (2.5,4) .. (3,4) .. controls (2,4) and (1.25,4) .. (1,4.5) .. controls (2,2) and (3.5,2) .. (4,2) .. controls (1,1) and (-1,1) .. (-4,2) .. controls (-3.5,2) and (-2,2) .. (-1,4.5) .. controls (-1.25,4) and (-2,4) .. (-3,4) .. controls (-2.5,4) and (-1.5,5) .. (-0.5,7.25) .. controls (-1,7) and (-1,7) .. (-1.5,7) .. controls (-1,7) and (0,8) .. (0,10) ; \foreach \candle in {(2,5),(-2,5),(0.5,7.5),(-0.5,7.5),(-3,2.5), (3,2.5), (1.5,1.75),(-1.5,1.75)} \node at \candle {\usebox{\mycandle}} ; \node [star, star point height=.5cm, minimum size=.5cm,draw,fill=yellow,thick] at (0,10) {}; \begin{scope}[decoration={shape sep=.2cm, shape size=.25cm}] \draw [my star=6, paint=red] (-4,2) .. controls (0,2) and (1,3.5) .. (1,4.40); \draw [my star=6, paint=red] (-1.5,5.40) .. controls (0,5.40) and (0.5,6.5) .. (0.5,7); \draw [my star=6, paint=blue] (4,2) .. controls (0,2) and (-1,3.5) .. (-1,4.40); \draw [my star=6, paint=blue] (1.5,5.40) .. controls (0,5.40) and (-0.5,6.5) .. (-0.5,7); \end{scope} % the balls \path[ball red] (0,10) .. controls (0,8) and (1,7) .. (1.5,7) .. controls (1,7) and (1,7) .. (0.5,7.25) .. controls (1.5,5) and (2.5,4) .. (3,4) .. controls (2,4) and (1.25,4) .. (1,4.5) .. controls (2,2) and (3.5,2) .. (4,2) .. controls (1,1) and (-1,1) .. (-4,2) .. controls (-3.5,2) and (-2,2) .. (-1,4.5) .. controls (-1.25,4) and (-2,4) .. (-3,4) .. controls (-2.5,4) and (-1.5,5) .. (-0.5,7.25) .. controls (-1,7) and (-1,7) .. (-1.5,7) .. controls (-1,7) and (0,8) .. (0,10) ; \path[ball blue] (0,10) .. controls (0,8) and (1,7) .. (1.5,7) .. controls (1,7) and (1,7) .. (0.5,7.25) .. controls (1.5,5) and (2.5,4) .. (3,4) .. controls (2,4) and (1.25,4) .. (1,4.5) .. controls (2,2) and (3.5,2) .. (4,2) .. controls (1,1) and (-1,1) .. (-4,2) .. controls (-3.5,2) and (-2,2) .. (-1,4.5) .. controls (-1.25,4) and (-2,4) .. (-3,4) .. controls (-2.5,4) and (-1.5,5) .. (-0.5,7.25) .. controls (-1,7) and (-1,7) .. (-1.5,7) .. controls (-1,7) and (0,8) .. (0,10) ; % the snow \foreach \i in {0.5,0.6,...,1.6} \fill [white!80!blue,decoration=Koch snowflake,opacity=.9] [shift={(rand*5,rnd*8)},scale=\i] [double copy shadow={opacity=0.2,shadow xshift=0pt, shadow yshift=3*\i pt,fill=white,draw=none}] decorate { decorate { decorate { (0,0) -- ++(60:1) -- ++(-60:1) -- cycle } } }; \end{tikzpicture} \end{document} لنحصل على: * لاحظ أن الكرات والأشكال الأخرى ماهي في الحقيقة إلا أشكال هندسية تم رسمها باستعمال برنامج LaTeX، وبالتحديد باستعمال مكتبةTikzlibrary: \usetikzlibrary{% shapes, decorations.shapes, decorations.fractals, decorations.markings, shadows }
  20. سؤال جيد، رغم أنك غفلت عن ذكر البرامج مفتوحة المصدر كـ Gimp و Inkscape والتي في حال كنت لا تملك حقوق العمل على أحد منتجات Adobe أدعوك للتعرف عليها لأنها مجانية. مقالات ودروس Inkscape بالنسبة لبرنامج Indesign عامة هو برنامج مخصص لإنتاج التصاميم المطبوعة، وخاصة الكتب والمجلات الورقية، حيث يتيح للمصمم عدة إمكانيات تساعده على ذلك، هذه الإمكانيات لا تتوفر على أي من باقي برامج الشركة -Adobe-، نعم يمكنك يمكنك استعمال Indesign لتصميم بطاقات الهوية أو ما يصطلح عليه بـ Business Cards لكن المشكل الذي ستصادفه، هو عدم تمكنك من التصميم بأريحية، لن تتمكن من إضافة التصميمات التي ستحتاج إدراجها إلى البطاقة. Photoshop هو بالأساس برنامج لتحرير الصور، نعم به إمكانيات لتصميم بطاقات العمل وبجودة كبيرة، وشخصيا أستعمله لهذا الغرض، فقط يبقى على المصمم إدخال بعض التعديلات على دقة الملفات حتى تتناسب والطباعة في آخر المطاف. Illustrator، مصمم بالأساس للتصاميم المركّبة وذات الدقة العالية، بالاضافة إلى تصاميم الطباعة حيث يعتبر منافس Indesign في ذلك ويستعمل بكثرة فس أجل هذا الغرض -الطباعة-، لكنه يستعمل بكثرة أيضاً للرسم الالكتروني... لكن يمكن تصميم البطاقة بواسطته وبصورة جيدة. خلاصة: كما رأينا جل برامج Adobe تمكن من تصميم بطاقات الهوية، تبقى فقط درجة احترافية البرنامج وإتاحته للأدوات الخاصة لذلك، يأتي برنامج Illustrator في الرتبة الأولى متبوعا بـ Photoshop أما Indesign فأحبذ عدم استعماله لهذا الغرض.
  21. باستعمال بيئة cases، سنحصل على النتيجة المبّينة في الصورة أسفله، والتي نضع من خلالها الحرف H كقيمة تعريفية للنظمة، وفي الجزء الثاني من الصورة نفسها نستعمل بيئة dcases، إليك الصورة: طريقة استعمل كل من البيئَتينcases وَ dcases: % cases استعمال \documentclass[11pt]{article} \usepackage{mathtools} % 'amsmath' package تحميل \begin{document} Using a \texttt{cases} environment: \[ H= \begin{cases} 0 & \text{if $n$ even, $n\neq2$}\\ \frac{5\pi + 2n\pi + 5\pi - 2n\pi}{\pi^2 (4 - n^2)} & \text{if $n$ odd} \end{cases} \] % dcases استعمال \bigskip Using a \texttt{dcases} environment: \[ H= \begin{dcases} 0 & \text{if $n$ even, $n\neq2$}\\ \frac{5\pi + 2n\pi + 5\pi - 2n\pi}{\pi^2 (4 - n^2)} & \text{if $n$ odd} \end{dcases} \] \end{document}يمكن أيضا استعمال بيئة dcases بالطريقة التالية: \[ H= \begin{dcases*} 0 & if $n$ even, $n\neq2$\\ \frac{5\pi + 2n\pi + 5\pi - 2n\pi}{\pi^2 (4 - n^2)} & if $n$ odd \end{dcases*} \]cases LaTeXThe cases environment in latex
  22. نفترض أن لدينا Table1 و Table2 ونريد استخراج بيانات منهما مع استعمال Inner Join للجدولين، إليك جملة الاستعلام الملاءمة لذلك: from t1 in db.Table1 join t2 in db.Table2 on t1.field equals t2.field select new { t1.field2, t2.field3}* ملاحظة: المثال السابق من أجل التوضيح، وفيما يتعلق بأسماء الحقول والجداول المستعملة، من الأفضل أن تكون أكثر تناسباً مع محتواها. في ما يخص المثال المُرفق من طرفك، أعتقد أنه سيكون على هذا الشكل: var dealercontacts = from contact in DealerContact join dealer in Dealer on contact.DealerId equals dealer.ID select contact;أيضا يمكنك نهج هذه الطريقة من أجل ربط جدول بآخر عن طريق Inner Join : var dealerContracts = DealerContact.Join(Dealer, contact => contact.DealerId, dealer => dealer.DealerId, (contact, dealer) => contact);
  23. لمعرفة الفرق بينهما، لاحظ الآتي: (Linked list (3.9 seconds: LinkedList<Temp> list = new LinkedList<Temp>(); for (var i = 0; i < 12345678; i++) { var a = new Temp(i, i, i, i); list.AddLast(a); } decimal sum = 0; foreach (var item in list) sum += item.A;(List (2.4 seconds: List<Temp> list = new List<Temp>(); // 2.4 seconds for (var i = 0; i < 12345678; i++) { var a = new Temp(i, i, i, i); list.Add(a); } decimal sum = 0; foreach (var item in list) sum += item.A;ثم: (Linked List (51 seconds: LinkedList<Temp> list = new LinkedList<Temp>(); for (var i = 0; i < 123456; i++) { var a = new Temp(i, i, i, i); list.AddLast(a); var curNode = list.First; for (var k = 0; k < i/2; k++) // ندمح عنصر داخل المصفوفوة حتى يسهل البحث عنه curNode = curNode.Next; list.AddAfter(curNode, a); } decimal sum = 0; foreach (var item in list) sum += item.A; (List (7.26 seconds: List<Temp> list = new List<Temp>(); for (var i = 0; i < 123456; i++) { var a = new Temp(i, i, i, i); list.Insert(i / 2, a); } decimal sum = 0; foreach (var item in list) sum += item.A;نلاحظ من خلال الكود السابق، والذي يبرز الفرق الواضح بين كل من List و LinkedList، أن الأولى أسرع من حيث تنفيذ الكود، حيث عمدت المقارنة على استعمال نفس الكود على كلتا المصفوفتين مع حساب المدة الزمنية لإنجاز ذلك، فتبين أن List أسرع من linkedlist في إدخال البيانات وكذا البحث عن عنصر ما داخل المصفوفة.
  24. حاول تغيير المدخلات التالية: @param string $return Optional. Accepts 'html' (image tag html) or 'src' (URL). Default 'html'.وغيّر في الكود السابق ليصبح كما يلي: $new_image_url = media_sideload_image($new_url, $post_ID, $title, $src = 'src' );لاستخراج src من كود Html.
  25. أنشئ مجسم على شكل رباعي، كما في الصورة:ثم أضف له مجموعة من نقط التغيير(array modifier). من خلال نافذة Modifier عدّل على الشكل ليصبح على شكل حرف C: باستخدام الاختصار (alt-s ) يمكنك التعديل على الشكل من خلال أي محور تختاره: بعد التغيير على الشكل على مستوى المحاور الثلاث، يمكنك الحصول على شكل شبيه بالآتي: الصورة المتحركة التالية توضح كيفية عمل نفس التأثير لكن بطريقة أخرى:
×
×
  • أضف...