02-27-2012، 04:33 PM
Data type ها را بطور کلی به دو دسته ساده و مرکب تقسیم میکنیم.
ساده عبارتند از:
نوع Boolean فقط می تواند دو مقدار true or false را به خود اختصاص دهد.عملگرهایی که برروی این نوع می توان انجام داد به شرح زیر است:
عملگرهای مقایسه ای : =, <>
عملگرهای منطقی or, xor
عملگر and
عملگر not
عملگر not داراری بالاترین الویت و = and <> پایین ترین الویت است.بعنوان مثال عبارت زیر true است:
((true and false) = false)
نوع Char که اشاره به یک کاراکتر دارد.عملگرهایی که برروی این نوع انجام میشود:
عملگرهایی مقایسه ای =, <>, <, >, <=, >= که مقدار اسکی دو کاراکتر را مورد بررسی قرار میدهد.
الحاق رشته ها + ، که رشته دومی را در انتهای رشته اول میچسباند.
بازهم یک مثال که عبارت زیر false است:
('a' = 'A')
برای گرفتن کد اسکی یک کاراکتر از تابع ord استفاده میشود و برعکس برای تبدیل کداسکی به کاراکتر معادل از تابع chr استفاده میکنیم که در ادامه توضیح داده خواهند شد.
نوع Integer که می تواند مقدار عددی در رنج -2,147,483,647 and 2,147,483,647 را به ان نسبت داد.عملگرهای مورد استفاده برروی این نوع :
عملگرهای مقایسه ای =, <>, <, >, <=, >=
عملگرهای جمع و تفریق +, -
عملگرهای ضرب و تقسیم *, /, div, mod (هیچ تفاوتی بین / وdiv وجود ندارد)
عملگرهای شیفت shl, shr
نوع String برای متون استفاده میشود.در دلفی String را میتوان بعنوان آرایه ای از کاراکترها در نظر گرفت و با آن بصورت آرایه رفتار کرد ولی در MIDletPascal اینطور نیست.
عملگرهای مقایسه ای =, <> (به کارکترهای بزرگ و کوچک حساس است)
عملگرهای الحاقی +
به مثال زیر توجه کنید:
در این مثال ما زمان را نمایش میدهیم.میبینید که رشته در ' (single-quote) و برای نمایش خود کاراکتر single-quote آن را دوبار تکرار کرده است.
نوع داده ای Image در حافظه قرار دارد که میتوان توسط تابع loadImage عکسی را در متغیری از این نوع لود کرد.
نوع real برا نمایش اعداد حقیقی استفاده میشوند.اعمالی که می توان برروی این نوع داده انجام داد:
اعمال مقایسه ای =, <>, <, >, <=, >=
اعمال جمع و تفریق +, -
اعمال ضرب و تقسیم *, /
نوع داده ای Command که برای ساخت منو ها می باشد ودر ادمه بیشتر توضیح داده خواهد شد.
نوع داده ای RecordStore همان فایل در سیستم خودمان محسوب میشود.برنامه ها تنظیمات و داده های موردنیازشان در در recordstore ذخیره میکنند که در اجراهای بعد می توانند آنهارا بازیابی نمایند.هر برنامه فقط یک recordstore دارد که ساختار آن شبیه آرایه است و دارای index است برای برنامه های موبایل که اکثرا کرک میکنم و چندتایی رو روی فروم قرار دادم از record برای ذخیره سریال و چک کردن استفاده میکنند که بهترین و مطمئن ترین سرنخ برای رسیدن به هدف:P
نوع داده ای Http : باMIDletPascal می توان یک ارتباط ساده HTTP را داشت.در یک ارتباط Http می بایست پارامترهایی را مقداردهی کنید.که ترتیب عملیات یک ارتباط به شرح زیر است(life cycle):
یک نمونه سورس که می توانید برای درک بهتر مسئله در زیر ببنید:
نوع Resource که می توانید فایل هایی را بعنوان ریسورس در برنامه داشته باشید و درهنگام اجرا از آنها استفاده نمایید.
فکر کنم امروز فقط نشستم واس نوشتن آموزش
ساده عبارتند از:
نوع Boolean فقط می تواند دو مقدار true or false را به خود اختصاص دهد.عملگرهایی که برروی این نوع می توان انجام داد به شرح زیر است:
عملگرهای مقایسه ای : =, <>
عملگرهای منطقی or, xor
عملگر and
عملگر not
عملگر not داراری بالاترین الویت و = and <> پایین ترین الویت است.بعنوان مثال عبارت زیر true است:
((true and false) = false)
نوع Char که اشاره به یک کاراکتر دارد.عملگرهایی که برروی این نوع انجام میشود:
عملگرهایی مقایسه ای =, <>, <, >, <=, >= که مقدار اسکی دو کاراکتر را مورد بررسی قرار میدهد.
الحاق رشته ها + ، که رشته دومی را در انتهای رشته اول میچسباند.
بازهم یک مثال که عبارت زیر false است:
('a' = 'A')
برای گرفتن کد اسکی یک کاراکتر از تابع ord استفاده میشود و برعکس برای تبدیل کداسکی به کاراکتر معادل از تابع chr استفاده میکنیم که در ادامه توضیح داده خواهند شد.
نوع Integer که می تواند مقدار عددی در رنج -2,147,483,647 and 2,147,483,647 را به ان نسبت داد.عملگرهای مورد استفاده برروی این نوع :
عملگرهای مقایسه ای =, <>, <, >, <=, >=
عملگرهای جمع و تفریق +, -
عملگرهای ضرب و تقسیم *, /, div, mod (هیچ تفاوتی بین / وdiv وجود ندارد)
عملگرهای شیفت shl, shr
نوع String برای متون استفاده میشود.در دلفی String را میتوان بعنوان آرایه ای از کاراکترها در نظر گرفت و با آن بصورت آرایه رفتار کرد ولی در MIDletPascal اینطور نیست.
عملگرهای مقایسه ای =, <> (به کارکترهای بزرگ و کوچک حساس است)
عملگرهای الحاقی +
به مثال زیر توجه کنید:
کد:
var text: string;
begin
text := 'It is now ' + getHour(getCurrentTime) + ' o''clock ';
drawText(text, 0, 0);
repaint;
delay(2000);
end.
در این مثال ما زمان را نمایش میدهیم.میبینید که رشته در ' (single-quote) و برای نمایش خود کاراکتر single-quote آن را دوبار تکرار کرده است.
نوع داده ای Image در حافظه قرار دارد که میتوان توسط تابع loadImage عکسی را در متغیری از این نوع لود کرد.
نوع real برا نمایش اعداد حقیقی استفاده میشوند.اعمالی که می توان برروی این نوع داده انجام داد:
اعمال مقایسه ای =, <>, <, >, <=, >=
اعمال جمع و تفریق +, -
اعمال ضرب و تقسیم *, /
نوع داده ای Command که برای ساخت منو ها می باشد ودر ادمه بیشتر توضیح داده خواهد شد.
نوع داده ای RecordStore همان فایل در سیستم خودمان محسوب میشود.برنامه ها تنظیمات و داده های موردنیازشان در در recordstore ذخیره میکنند که در اجراهای بعد می توانند آنهارا بازیابی نمایند.هر برنامه فقط یک recordstore دارد که ساختار آن شبیه آرایه است و دارای index است برای برنامه های موبایل که اکثرا کرک میکنم و چندتایی رو روی فروم قرار دادم از record برای ذخیره سریال و چک کردن استفاده میکنند که بهترین و مطمئن ترین سرنخ برای رسیدن به هدف:P
نوع داده ای Http : باMIDletPascal می توان یک ارتباط ساده HTTP را داشت.در یک ارتباط Http می بایست پارامترهایی را مقداردهی کنید.که ترتیب عملیات یک ارتباط به شرح زیر است(life cycle):
- ایجاد ارتباط با وب سرور
- تنظیم متد ارسال درخواست
- افزودن فیلد هدر درخواست (اختیاری)
- افزودن بدنه درخواست که فقط در متد POST مورد نیاز است
- ارسال درخواست و منتظر جواب بودن از وب سرور
- خواند فیلد هدر پاسخ
- خواندن محتوای پاسخ
- بستن ارتباط
یک نمونه سورس که می توانید برای درک بهتر مسئله در زیر ببنید:
کد:
var conn: http;
htmlBody: string;
contentType: string;
begin
if not openHttp(conn, 'http://www.google.com') then halt;
setHttpMethod(conn, GET);
addHttpHeader(conn, 'User-agent', 'MIDletPascal browser');
if sendHttpMessage(conn) <> 200 then halt;
htmlBody := getHttpResponse(conn);
contentType := getHttpHeader(conn, 'Content-type');
closeHttp(conn);
end.
نوع Resource که می توانید فایل هایی را بعنوان ریسورس در برنامه داشته باشید و درهنگام اجرا از آنها استفاده نمایید.
فکر کنم امروز فقط نشستم واس نوشتن آموزش
معبودا مرا ببخش، بخاطر درهایی که کوبیدم ولی هیچکدام خانه تو نبود ...