اگر ادامه بدی بد نیست.
البته اوایلش جالب تر بود.
اگر ادامه بدی بد نیست.
البته اوایلش جالب تر بود.
سلام خدمت همه برنامه نویسان.
ممنونم دوست عزیز.نقل قول:
اگر ادامه بدی بد نیست.
البته اوایلش جالب تر بود.
به زودی به متدهای سنگین میرسیم عجله نکن.
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] چگونگی کار با دستور شرطی IF (شرط در ویژوال استادیو(Visual Studio)):
به کد زیر دقت کنید:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] سی شارپ(#C) کد:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ویژوال بیسیک(Visual Basic)کد:کد:int intNumber = 27;
if (intNumber == 27)
{
MessageBox.Show("'intNumber' is, indeed, 27!",
"Simple If");
}
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] سی پلاس پلاس(++C) کد:کد:Dim intNumber As Integer = 27
If intNumber = 27 Then
MessageBox.Show("'intNumber' is, indeed, 27!", "Simple If")
End If
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ویژوال بیسیک 6(VB6) کد:کد:int intNumber = 27;
if (intNumber == 27)
{
MessageBox::Show("'intNumber' is, indeed, 27!",
"Simple If");
}
خوب قطعاً با یکم دستکاری باید فهمیده باشین که شرط IF چگونه کار میکنه:27:.کد:Dim intNumber As Integer
intNumber = 27
If intNumber = 27 Then
MsgBox "'intNumber' is, indeed, 27!", vbOKOnly, "Simple If"
End If
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] سی شارپ(#C) توضیح کد:
ما یک متغیر از نوع Integer یا عدد 32 بیتی تعریف میکنیم و مقدار اونو برابر با 27 قرار میدیم.
در اینجا ما یک شرط و دستورات مربوطه رو گذاشتیم.کد:int intNumber = 27;
کد:if (intNumber == 27)
{
و به شرط گفتیم در صورتی که intNumber برابر 27 باشد کد زیر را اجرا کند که یک پیغام به ما نمایش خواهد داد:
برای اطمینان از شرط میتونید مقدار intNumber رو تغییر بدید تا مشاهده کنید.کد:MessageBox.Show("'intNumber' is, indeed, 27!",
"Simple If");
}
اجرای شرط از } تا { انجام می شود و در VB تا End IF.
با تشکر فراوان از استاد هاشمیان.
یه پیشنهاد بدم : لطفاً این چیز ها رو زیاد روش مانور نده.
چون تو کتابها خیلی بهتر و دقیق تر و ساده تر بحث شده.
همون متد های NET. رو شبیه سازی کنی (البته با تحقیق و چیدا کردن بهینه ترین راه) عالیه.
سعی هم بکن مثل VB6 کار های عزیز نشی که همش dll های ویندوز رو import کنی و بری جلو.
منظورم همون Minimize و ... ها است.
البته توجه داشته باش که چون تاپیکت پر بار ه و برام مهمه دارم نظر می دم.
این استیل نوشتنت (که رنگی می کنی و عکس می ذاری) خیلی عالیه.
و در کل ممنون.
یعنی از Dll ها و توابع API بگم یا نگم؟نقل قول:
تا اونجایی که امکان داره نگو.
الان تو خود NET. همین minimize وجود داره که HWND می گیره و کوچیک می کنه. دیگه نیازی نیست.
(ولی الان فکر کنم فهمیدم چرا از DLL استفاده کردی، آخه داری شبیه سازی می کنی! ببخشید)
در صورتی که 100% می دونی غیر از DLL راهی نداری، استفاده کن.
در ضمن، اگه امکانش هست واسه ++C غیر NET. ی هم کدش رو بنویس.
ممنون.
---
برای اینکه تاپیکت شلوغ نشه اینجا می گم.
من همچین کتابی نمی شناسم ولی اگر تو بخش مربوط بهش درخواست بدی، پیدا می کنند.
موفق باشی
---
مدیر عزیز و محترم، این بیشتر به همون NET. مربوط نبود؟
ممنونم از همراهیت دوست من.راستش من ++C رو بلد نیستم و کتابی هم پیدا نکردم که بتونم خوب یاد بگیرم.اگه کتابی داری که به صورت ویژوالی توضیح بده ممنون میشم بزاری(منظور از ویژوالی کار با محیط رو هم به صورت تصاویر آموزش بده).اگه کتاب داشته باشم مطمعناً میزارم.نقل قول:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] متد Math.IEEERemainder (به دست آوردن باقیمانده تقسیم دو عدد):
به متد زیر دقت کنید:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] سی شارپ(#C) کد:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ویژوال بیسیک(Visual Basic)کد:کد:private double IEEERemainder(double x, double y)
{
long RET = 0;
RET = Convert.ToInt64(x / y);
RET *= Convert.ToInt64(y);
RET = Convert.ToInt64(x) - RET;
return RET;
}
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] سی پلاس پلاس(++C) کد:کد:Private Function IEEERemainder(ByVal x As Double, ByVal y As Double) As Double
Dim RET As Double
RET = Convert.ToInt64(x / y)
RET *= Convert.ToInt64(y)
RET = Convert.ToInt64(x) - RET
Return RET
End Function
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ویژوال بیسیک 6(VB6) کد:کد:private: double IEEERemainder(double x, double y)
{
long RET = 0;
RET = Convert::ToInt64(x / y);
RET *= Convert::ToInt64(y);
RET = Convert::ToInt64(x) - RET;
return RET;
}
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] سی شارپ(#C) توضیح کد:کد:Private Function IEEERemainder(ByVal x As Double, ByVal y As Double) As Double
Dim RET As Long
RET = 0
RET = x / y
RET = RET * y
RET = x - RET
IEEERemainder = RET
End Function
حالا به مثال های ریاضی زیر دقت کنید:
1 = 3 / 10
2 = 4 / 10
1 = 7 / 15
3 = 6 / 15
وقتی به متد IEEERemainder دو عدد می دهیم.این متد عدد اول را تقسیم بر عدد دوم میکند به صورت زیر:
3 = 3 / 10
2 = 4 / 10
2 = 7 / 15
2 = 6 / 15
سپس جواب را در عدد دوم ضرب میکند:کد:RET = Convert.ToInt64(x / y);
9 = 3 * 3
8 = 4 * 2
14 = 7 * 2
12 = 6 * 2
و بعد عدد اول را از {ضرب جواب و عدد دوم} کم می کند و باقیمانده بدست میاید:کد:RET *= Convert.ToInt64(y);
1 = 9 - 10
2 = 8 - 10
1 = 14 - 15
3 = 12 - 15
با تشکر از همه دوستان:11:.کد:RET = Convert.ToInt64(x) - RET
منتقل شد........
با سلام خدمت دوستداران برنامه نویس عزیز.متد امروز PadLeft که میخوایم پیاده سازیش کنیم:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] متد PadLeft (اضافه کردن چند کاراکتر به سمت چپ - رشته ورودی):
به متد زیر دقت کنید:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] سی شارپ(#C) کد:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ویژوال بیسیک(Visual Basic)کد:کد:private string PadLeft(string TXT, int totalWidth, char paddingChar)
{
string RET = "";
for (int I = 0; I < totalWidth - TXT.Length; I++)
{
RET += paddingChar;
}
RET += TXT;
return RET;
}
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] سی پلاس پلاس(++C) کد:کد:Private Function PadLeft(ByVal TXT As String, ByVal totalWidth As Integer, ByVal paddingChar As Char) As String
Dim RET As String = ""
For I As Integer = 1 To totalWidth - TXT.Length
RET += paddingChar
Next
RET += TXT
Return RET
End Function
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ویژوال بیسیک 6(VB6) کد:کد:private: String^ PadLeft(String^ TXT, int totalWidth, String^ paddingChar)
{
String^ RET = "";
for (int I = 0; I < totalWidth - TXT->Length; I++)
{
RET += paddingChar;
}
RET += TXT;
return RET;
}
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] سی شارپ(#C) توضیح کد:کد:Private Function PadLeft(TXT As String, totalWidth As Integer, paddingChar As String) As String
Dim RET As String
RET = ""
Dim I As Integer
For I = 1 To totalWidth - Len(TXT)
RET = RET + paddingChar
Next
RET = RET + TXT
PadLeft = RET
End Function
متد PadLeft یک رشته می گیرد که این مقدار رشته اصلی می باشد.سپس یک مقدار از نوع عدد میگیرد که نشانگر اندازه ای که رشته اصلی است سپس یک کاراکتر میگیرد در صورتی که عدد وارد شده بزرگتر از اندازه رشته اصلی باشد کاراکتر وارد شده را به سمت چپ رشته اضافه میکند.
یک رشته برای برگرداندن.کد:private string PadLeft(string TXT, int totalWidth, char paddingChar)
{
این حلقه تا [اندازه رشته اصلی - عدد وارد شده] می چرخد و هر دور کاراکتر را به رشته برگشتی اضافه میکند.کد:string RET = "";
این کد کاراکتر را به رشته برگشتی اضافه میکند.کد:for (int I = 0; I < totalWidth - TXT->Length; I++)
{
و در آخر هم رشته اصلی به آخر رشته برگشتی اضافه میشود.کد:RET += paddingChar;
امیدوارم واضع توضیح داده باشم.قربانتان علی:11:.کد:RET += TXT;
return RET;
با سلام خدمت دوستداران برنامه نویس عزیز.متد امروز Math.Round هست که میخوایم پیاده سازیش کنیم:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] متد Round (گرد کردن یک عدد اعشاری):
به متد زیر دقت کنید:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] سی شارپ(#C) کد:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ویژوال بیسیک(Visual Basic)کد:کد:private double Round(double d)
{
if (d > (Convert.ToDouble(Convert.ToInt64(d)) + 0.5))
{
return (double) (Convert.ToInt64(d) + 1L);
}
return Convert.ToInt64(d);
}
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] سی پلاس پلاس(++C) کد:کد:Private Function Round(ByVal d As Double) As Double
If (d > (Convert.ToDouble(Convert.ToInt64(d)) + 0.5)) Then
Return CDbl((Convert.ToInt64(d) + 1))
End If
Return Convert.ToInt64(d)
End Function
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ویژوال بیسیک 6(VB6) کد:کد:private: Double __gc* Round(Double __gc* d)
{
if (d > (Convert::ToDouble(Convert::ToInt64(d)) + 0.5))
{
return *static_cast<__box Double*>((Convert::ToInt64(d) + 1));
}
return Convert::ToInt64(d);
}
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] دلفی(Delphi) کد:کد:Private Function Round(ByVal d As Double) As Long
If d > d + 0.5 Then
Round = d + 1
End If
Round = d
End Function
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] آی ال (information literacy Or IL) کد:کد:function Form1.Round(d: Double): Double;
begin
if (d > (Convert.ToDouble(Convert.ToInt64(d)) + 0.5)) then
begin
Result := ((Convert.ToInt64(d) + 1) as Double);
exit
end;
begin
Result := Convert.ToInt64(d);
exit
end
end;
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] کروم (Chorme) کد:کد:.method private hidebysig instance float64 Round(float64 d) cil managed
{
.maxstack 3
.locals init (
[0] float64 CS$1$0000,
[1] bool CS$4$0001)
L_0000: nop
L_0001: ldarg.1
L_0002: ldarg.1
L_0003: call int64 [mscorlib]System.Convert::ToInt64(float64)
L_0008: call float64 [mscorlib]System.Convert::ToDouble(int64)
L_000d: ldc.r8 0.5
L_0016: add
L_0017: cgt
L_0019: ldc.i4.0
L_001a: ceq
L_001c: stloc.1
L_001d: ldloc.1
L_001e: brtrue.s L_002e
L_0020: nop
L_0021: ldarg.1
L_0022: call int64 [mscorlib]System.Convert::ToInt64(float64)
L_0027: ldc.i4.1
L_0028: conv.i8
L_0029: add
L_002a: conv.r8
L_002b: stloc.0
L_002c: br.s L_0038
L_002e: ldarg.1
L_002f: call int64 [mscorlib]System.Convert::ToInt64(float64)
L_0034: conv.r8
L_0035: stloc.0
L_0036: br.s L_0038
L_0038: ldloc.0
L_0039: ret
}
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] سی شارپ(#C) توضیح کد:کد:method Form1.Round(d: Double): Double;
begin
if (d > (Convert.ToDouble(Convert.ToInt64(d)) + 0.5)) then
begin
result := ((Convert.ToInt64(d) + 1) as Double);
exit
end;
begin
result := Convert.ToInt64(d);
exit
end
end;
متد Round یک عدد اعشاری از نو Double می گیرد که این مقدار باید پردازش و گرد شود.
کد زیر برای روند کرد کامل تر بگ که متد روند در صورتی که اعشار آن بزرگتر از نیم باشد عدد بزرگتر را بدون اعشار و در در صورتی که کوچکتر یا مساوی نیم باشد خود عدد اصلی را بدون اعشار برمیگرداند.کد:private double Round(double d)
{
برای مثال:
عدد 10.50 یا 10.30 یا 10.1:
این عدد اگر روند شود میشود 10.
حالا عدد 10.51 یا 10.60 یا 10.85:
این عدد اگر روند شود میشود 11.
دوستان میتوانند متد درخواستی خود را هم در این تاپیک بگویند تا برایشان ترجمه کنم.کد:if (d > (Convert.ToDouble(Convert.ToInt64(d)) + 0.5))
{
return (double) (Convert.ToInt64(d) + 1L);
}
return Convert.ToInt64(d);
}
با تشکر از همراهی شما قربان همه شما موفق و پیروز باشید.یاعلی:11:.
سلام.
چند تا سوال:
1- کروم چیه؟؟!
2- تو ++C این __gc* یعنی چی؟
3- و همچنین *static_cast<__box Double*>
ممنون