سؤال

ما الذي يعنيه DIM في Visual Basic؟

هل كانت مفيدة؟

المحلول

وخافت في البداية (في BASIC) وقفت لالبعد، كما انه كان يستخدم لتحديد أبعاد صفيف.

(وكان تنفيذ الأصلي من BASIC دارتموث BASIC، الذي ينحدر من FORTRAN، حيث هو مكتوبة DIMENSION خارج).

في الوقت الحاضر، ويستخدم خافت لتحديد أي متغير، وليس فقط صفائف، لذلك معناه غير بديهية بعد الآن.

نصائح أخرى

Dim وقد كان لها معاني مختلفة المنسوبة إليها.

لقد وجدت مراجع حول Dim معنى "أعلن في الذاكرة", ، المرجع الأكثر صلة هو مستند حول بيان خافت تم نشر Oracle كجزء من مرجع لغة Siebel VB.بالطبع، قد تجادل بأنه إذا لم تعلن عن المتغيرات في الذاكرة، فأين تفعل ذلك؟ربما "الإعلان في الوحدة" هو بديل جيد بالنظر إلى كيفية القيام بذلك Dim يستخدم.

في رأيي، "الإعلان في الذاكرة" هو في الواقع أ ذاكري, ، تم إنشاؤها لتسهيل تعلم كيفية الاستخدام Dim.أرى أن "الإعلان في الذاكرة" هو معنى أفضل لأنه يصف ما يفعله في الإصدارات الحالية من اللغة، لكنه ليس المعنى الصحيح.

في الواقع، في أصول الأساسية Dim تم استخدامه فقط للإعلان عن المصفوفات.بالنسبة للمتغيرات العادية، لم يتم استخدام أي كلمة رئيسية، وبدلاً من ذلك تم استنتاج نوعها من اسمها.على سبيل المثال، إذا كان اسم المتغير ينتهي بـ $ فهي سلسلة (هذا شيء يمكنك رؤيته حتى في أسماء الطرق حتى VB6، على سبيل المثال Mid$).وهكذا استخدمت Dim فقط لإعطاء البعد إلى المصفوفات (لاحظ ذلك ReDim تغيير حجم المصفوفات).


حقًا، هل يهم؟يعني هي كلمة مفتاحية لها معناها داخل لغة مصطنعة.ليس من الضروري أن تكون كلمة باللغة الإنجليزية أو أي لغة طبيعية أخرى.لذلك يمكن أن يعني فقط ما تريد، كل ما يهم هو أنه يعمل.

على أية حال، هذا ليس صحيحا تماما.نظرًا لأن BASIC جزء من ثقافتنا، فإن فهم سبب ظهورها كما هي - كما آمل - سيساعد في تحسين رؤيتنا للعالم.


أجلس أمام جهاز الكمبيوتر الخاص بي ولدي رغبة في المساعدة في الحفاظ على هذه القطعة الصغيرة من ثقافتنا التي تبدو ضائعة، وقد حل محلها تخميننا لما كانت عليه.وهكذا، قمت بحفر MSDN لكل من الأقراص المضغوطة الحالية والقديمة من إصدار 1998.لقد بحثت أيضًا في الوثائق الخاصة بـ QBasic القديم [كان علي استخدام DOSBox] وتمكنت من الحصول على بعض كتيبات Darthmouth، كل ذلك لمعرفة كيف يتحدثون عنها Dim.لخيبة أملي، لا يقولون ما يفعل Dim الوقوف ل، ويقول فقط كيف يتم استخدامه.

ولكن قبل أن يتضاءل أملي، تمكنت من العثور على هذا بي بي سي دليل استخدام نظام الحواسيب الصغيرة (يُزعم أنه من عام 1984، ولا أريد أن أشك في ذلك).استخدم جهاز BBC Microcomputer نسخة مختلفة من BASIC تسمى BBC BASIC وهو موضح في الوثيقة.على الرغم من أنه لا يقول ما يفعل Dim وجاء في الحديث (في الصفحة 104):

...يمكنك أبعاد N $ للحصول على أكبر عدد تريده من الإدخالات.على سبيل المثال ، سيقوم Dim N $ (1000) بإنشاء صفيف سلسلة مع مساحة 1000 اسم مختلف.

وكما قلت، فإنه لا يقول ذلك Dim يمثل البعد، ولكنه بمثابة دليل على إظهار هذا الارتباط Dim مع Dimension كان أمرًا شائعًا في وقت كتابة تلك الوثيقة.

الآن، حصلت على مفاجأة سارة لاحقًا (في الصفحة 208)، وهو عنوان القسم الذي يصف الكلمة الأساسية DIM (ملاحظة:غير مدرج في المحتويات) يقول:

البعد DIM للصفيف

لذا، لم أحصل على الاقتباس "Dim يرمز إلى..." ولكن أعتقد أنه من الواضح أن أي إنسان محترم قادر على قراءة تلك الوثيقة سوف يأخذ في الاعتبار ذلك Dim يعني البعد.


وبأمل متجدد، قررت أن أبحث عن كيفية القيام بذلك Dim تم اختيار.مرة أخرى، لم أجد حسابًا حول هذا الموضوع، ومع ذلك تمكنت من العثور على اقتباس نهائي:

قبل أن تتمكن من استخدام صفيف، يجب عليك تعريفه في عبارة DIM (البعد).

يمكنك العثور على هذا كجزء من دليل المستخدم الحقيقي عبر الإنترنت على صفحة الويب الخاصة بشركة True BASIC inc، وهي شركة أسسها توماس يوجين كورتز, ، مؤلف مشارك لـ BASIC.


لذا، في الواقع، Dim هو اختصار ل DIMENSION, ، ونعم.كان ذلك موجودًا في FORTRAN من قبل، لذا فمن المحتمل أنه تم اختياره بتأثير FORTRAN قال باتريك ماكدونالد في إجابته.


Dim sum as string = "this is not a chinese meal" REM example usage in VB.NET ;)

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

<اقتباس فقرة>   

وDIM - (قصيرة عن البعد) تحديد حجم المصفوفات

المرجع: http://en.wikipedia.org/wiki/Dartmouth_BASIC

وجزء من شفرة المصدر الأساسي المترجم الأصلي، حيث سيقفز عند العثور أمر DIM، حيث يمكنك أن ترى بوضوح القصد الأصلي لكلمة رئيسية:

DIM    LDA XR01             BACK OFF OBJECT POINTER
       SUB N3
       STA RX01
       LDA L        2       GET VARIABLE TO BE DIMENSIONED
       STA 3
       LDA S        3
       CAB N36              CHECK FOR $ ARRAY
       BRU *+7              NOT $
       ...

المرجع: http://dtss.dartmouth.edu/scans/BASIC/ BASIC٪ 20Compiler.pdf

وفي وقت لاحق أنه جاء ليكون استخدامها للاعلان عن جميع أنواع المتغيرات، عندما إمكانية تحديد نوع للمتغيرات تم إضافة المزيد من التطبيقات الأخيرة.

والبعد متغير، أساسا كنت تقول المترجم أنك تسير في حاجة إلى متغير من هذا النوع في مرحلة ما.

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

وإعلان المتغير. في البداية، كان قصير ل "البعد"، وهي ليست مصطلح يستخدم في البرمجة (خارج هذه الكلمة محددة) إلى أي درجة كبيرة.

http://in.answers.yahoo.com/question/index؟ البطاقة الشخصية = 20090310095555AANmiAZ

وDIM تقف على الإعلان في الذاكرة س DIM وعدد صحيح جديد يخلق مساحة في الذاكرة حيث يتم تخزين المتغير x

في الماضي، كانت ذاكرة DIM المحجوزة للمصفوفة وعندما كانت الذاكرة محدودة، كان عليك توخي الحذر في كيفية استخدامها.لقد كتبت ذات مرة (في عام 1981) برنامجًا أساسيًا على TRS-80 Model III مع ذاكرة وصول عشوائي (RAM) تبلغ 48 كيلو بايت.لن يتم تشغيله على جهاز مماثل بذاكرة وصول عشوائي (RAM) تبلغ سعتها 16 كيلو بايت حتى قمت بتقليل حجم المصفوفة عن طريق تغيير بيان DIM

وقصيرة للالبعد. انها نوع من متغير. قمت بتعريف (أو "تخبر" ل Visual Basic) التي تقوم بإعداد متغير بهذه الكلمة.

تعد الكلمة الأساسية Dim اختيارية، عندما نستخدمها مع المعدلات - عام، محمي، صديق، صديق محمي، خاص، مشترك، ظلال، ثابت، للقراءة فقط وما إلى ذلك.على سبيل المثال- Static nTotal As Integer

بالنسبة للنوع المرجعي، علينا أن نستخدم جديد الكلمة الأساسية لإنشاء المثيل الجديد للفئة أو البنية.على سبيل المثال Dim lblTop As New System.Windows.Forms.Label.

يمكن استخدام عبارة Dim بدون نوع بيانات عند التعيينالخيار الاستدلال على تشغيل.في هذه الحالة، يستنتج المترجم نوع بيانات المتغير من نوع تعبير التهيئة الخاص به.مثال :

Option Infer On

Module SampleMod

Sub Main()

 Dim nExpVar = 5

البيان أعلاه يعادل - Dim nExpVar As Integer

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top