PDA

View Full Version : مشکل در فرمان if



SYSMAN
شنبه 25 شهریور 1385, 15:28 عصر
یک فرم داریم که یک OpenDialogBox و 2 تا Textbox داره. کد زیر رو مشاهده کنید (در داخل رویداد مربوط به کلیک یک دکمه قرار دارد):



if (txtAddress.Text != openDlg.FileName)
{
try
{
txtBody.Text = File.ReadAllText(txtAddress.Text);
}
catch
{
MessageBox.Show("Your address path is not correct!", "Open File", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}

else if (openDlg.ShowDialog() == DialogResult.OK)
{
txtBody.Text = File.ReadAllText(openDlg.FileName);
txtAddress.Text = openDlg.FileName;
}


این کد برای بار اول درست کار می کنه ولی دفعه 2 ام که بر روی دکمه کلیک می شود، قسمت مربوط به else عمل نمی کند!!! آیا کد نوشته شده مشکلی دارد؟

SYSMAN
چهارشنبه 29 شهریور 1385, 20:47 عصر
یعنی این کد هیچ مشکلی در اجرا نداره؟؟

omid_Ahmadi
چهارشنبه 29 شهریور 1385, 22:55 عصر
txtBody.Text = File.ReadAllText(txtAddress.Text);


بهتره به جای این خط از متد FileExist استفاده کنی تا اول مطمئن بشی فایل وجود داره. بقیه برنامه مشکلی نداره، احتمالا باید مشکل از قسمت دیگه ای از کد باشه.

اَرژنگ
پنج شنبه 30 شهریور 1385, 08:27 صبح
یعنی این کد هیچ مشکلی در اجرا نداره؟؟
هیچ مشکلی در اجرا نداره، ولی گمراه کننده است، معلوم نیست که اوّلین شرط برایه چیه، چرا قبل از اینکه دایالوگه انتخاب کردن فایل را نماییش بده با محتوایه تکست باکس مقایسه میکندش.
در ضمن شرطه دوم کامل نیست ، اگر شرط دوم درست نباشه نتیجه چیه.
برایه انتخواب کردن یک فایل کلی شرط داره، شما منطق برنامه تان چیه؟ شرطه اول برایه چیه؟
برابر بر همان حرفه آقا امید، میتونید این کد را ساده تر بنویسید، مهم این نیست که مشکله این کد چیه، چونکه چکار باید انجام بده مبهمه. شما بگید چی لازم دارید ما میتونیم کده سادتر ارائه بدیم.

SYSMAN
شنبه 01 مهر 1385, 19:54 عصر
می خواهم در صورتی که متن درون txtAddress با خاصیت openDlg.FileName یکی نبود (مسیر و نام فایل) فایلی که درون txtAddress نوشته شده باز شود در غیر این صورت openDlg باز شده و فایلی که در openDlg انتخاب می شود باز شود.