PDA

View Full Version : سوال: ورودی و خروجی گرفتن از فایل notepad



ice672122724
پنج شنبه 27 مرداد 1390, 01:47 صبح
من می خوام تو برنامه یه فایل notepad را بگیرم، بعد با فرمولام یه تغیراتی توش بدم.و خروجی را با تغییراتش بیرون بدم.لطف کنین کمکم کنین.(فقط نمی خوام خود فایل رو باز کنما ، می خوام این عملیات زیر برنامه انجام بشه یعنی کاربر یه کلید باز کردن طرح داره که میزنه ولی چیزی باز نشه فقط آدرس، بعد یه کلید هم تبدیل داره که وقتی اونو بزنه تغییرات توش انجام بشه و بعد هم ذخیرش کنه.) حالا شما هر چی میدونین بگین.ممنون از همتون.خیلی ضروریه

Esmail Solhkhah
پنج شنبه 27 مرداد 1390, 01:50 صبح
من می خوام تو برنامه یه فایل notepad را بگیرم

منظورتون اطلاعات جاری موجود تو برنامه notepad هست یا یه فایل تکست ذخیره شده تو هارد ؟

ice672122724
پنج شنبه 27 مرداد 1390, 01:52 صبح
نه.همین فایل ذخیره شده تو هارد

Esmail Solhkhah
پنج شنبه 27 مرداد 1390, 01:53 صبح
string Currentline = "";
using (StreamReader sr = new StreamReader("c:\\1.txt"))
{
while (!sr.EndOfStream)
{
Currentline = sr.ReadLine();
// Do your formula
}
sr.Close();
}


برای خوندن سطر به سطر فایل

حالا هر سطر رو تغییر دادید سیوش کنید نهایتا بریزید تو فایل خروجی

ice672122724
پنج شنبه 27 مرداد 1390, 01:54 صبح
یه برنامه که خروجی فایل notepad میده.من میخوام خروجی که اون ذخیره میکنه رو بگیرم و ......

ice672122724
پنج شنبه 27 مرداد 1390, 01:56 صبح
خب ممنون.حالا میخوام آدرس فایل رو کاربر انتخاب کنه و این کار شما انجام بشه به جای این آدرس

Esmail Solhkhah
پنج شنبه 27 مرداد 1390, 01:58 صبح
یه برنامه که خروجی فایل notepad میده.من میخوام خروجی که اون ذخیره میکنه رو بگیرم و ......

منظورتون رو واضح تر بگید

منظور از اون ذخیره میکنه چیه؟

Esmail Solhkhah
پنج شنبه 27 مرداد 1390, 02:03 صبح
خب ممنون.حالا میخوام آدرس فایل رو کاربر انتخاب کنه و این کار شما انجام بشه به جای این آدرس

OpenFileDialog op = new OpenFileDialog();
op.Filter = "Text files (*.txt)|*.txt";

if (op.ShowDialog() == DialogResult.OK)
{
List<string> lines = new List<string>();

string Currentline = "";
using (StreamReader sr = new StreamReader(op.FileName))
{

while (!sr.EndOfStream)
{
Currentline = sr.ReadLine();
// Do your formula
lines.Add(Currentline);
}
sr.Close();
}

using (StreamWriter sw = new StreamWriter(op.FileName))
{
foreach (string line in lines)
{
sw.WriteLine(line);
}
sw.Close();
}
}

ice672122724
پنج شنبه 27 مرداد 1390, 02:11 صبح
باشه.خب یه برنامه طراحی که مثلا ما یه شکل می کشیم و ازاون خروجی میگیریم که یه فایل notepad به ما میده که توش تو هر خط چند تا عدد هست که مثلا اگه اون شکل مربع باشه مثلا تو خط اول میده x0 y0 که عنی یه ضلعش از این مختصات شروع میشه ومثلا خط بعد میده x2.25 y4.564 همینطور مختصات میده و من میخام باز بشه که بهش چیزی اضافه کنم.حالا اینو کار نداریم .اگه از openfiledialog استفاده کنم چطور ادرسشو جای این آدرس تو کد شما بذارم؟

Esmail Solhkhah
پنج شنبه 27 مرداد 1390, 02:16 صبح
اگه از openfiledialog استفاده کنم چطور ادرسشو جای این آدرس تو کد شما بذارم؟

شما یا آدرس فایل رو میدونید که در اینصورت نیاز به openfiledialog نیست و آدرس رو دقیقا میزارید تو سازنده هردو آبجکت sr و sw

یا آدرس رو نمیدونید که در اینصورت نیازه کاربر با openfiledialog آدرس فایل رو مشخص کنه

ice672122724
پنج شنبه 27 مرداد 1390, 02:18 صبح
مثلا میخوام این فایل


%
G90
G49
M3 S15000
G0 X0.000 Y-0.000 Z1.000
G1 Z-0.100 F1200
G1 X0.049 Y0.574
X0.128 Y1.146
X0.239 Y1.712
X0.381 Y2.271
X0.535 Y2.750
X0.723 Y3.218
X0.945 Y3.671
X1.198 Y4.106
X1.454 Y4.474
X1.740 Y4.825
X2.054 Y5.154
X2.393 Y5.457
X2.754 Y5.733
X3.134 Y5.980
X3.528 Y6.194
X4.005 Y6.411
X4.496 Y6.595
X4.999 Y6.747
X5.509 Y6.866
X6.026 Y6.958
X6.548 Y7.026
X7.071 Y7.071
G0 Z1.000
G0 X17.071 Y-0.000
G1 Z-0.100 F1200
G1 X17.023 Y0.574
X16.943 Y1.146
X16.832 Y1.712
X16.691 Y2.271
X16.537 Y2.750
X16.348 Y3.218
X16.127 Y3.671
X15.874 Y4.106
X15.617 Y4.474
X15.331 Y4.825
X15.017 Y5.154
X14.678 Y5.457
X14.317 Y5.733
X13.938 Y5.980
X13.543 Y6.194
X13.066 Y6.411
X12.575 Y6.595
X12.073 Y6.747
X11.563 Y6.866
X11.045 Y6.958
X10.524 Y7.026
X10.000 Y7.071
G0 Z1.000
G0 X0.000 Y0.000 Z5.000
G0Z5.000
X0.000Y0.000
M05
M02
%



تبدیل بشه به این فایل



%
G90
G49
M3 S15000
G0 Z1.000
G0 X0.000 Y0.000 Z1.000 A85.121
G1 Z-0.100 F1200.000
G1 X0.049 Y0.574
X0.128 Y1.146
X0.239 Y1.712 A78.904
X0.381 Y2.271 A75.747
X0.535 Y2.750 A72.177
X0.723 Y3.218 A68.114
X0.945 Y3.671 A63.892
X1.198 Y4.106 A59.817
X1.454 Y4.474 A55.176
X1.740 Y4.825 A50.826
X2.054 Y5.154 A46.336
X2.393 Y5.457 A41.791
X2.754 Y5.733 A37.399
X3.134 Y5.980 A33.024
X3.528 Y6.194 A28.508
X4.005 Y6.411 A24.462
X4.496 Y6.595 A20.543
X4.999 Y6.747 A16.814
X5.509 Y6.866 A13.134
X6.026 Y6.958 A10.090
X6.548 Y7.026 A7.422
X7.071 Y7.071 A4.918
G0 Z1.000
G0 X17.071 Y0.000 A-85.220
G1 Z-0.100 F1200.000
G1 X17.023 Y0.574
X16.943 Y1.146
X16.832 Y1.712 A-78.904
X16.691 Y2.271 A-75.843
X16.537 Y2.750 A-72.177
X16.348 Y3.218 A-68.009
X16.127 Y3.671 A-63.994
X15.874 Y4.106 A-59.817
X15.617 Y4.474 A-55.071
X15.331 Y4.825 A-50.826
X15.017 Y5.154 A-46.336
X14.678 Y5.457 A-41.791
X14.317 Y5.733 A-37.399
X13.938 Y5.980 A-33.093
X13.543 Y6.194 A-28.448
X13.066 Y6.411 A-24.462
X12.575 Y6.595 A-20.543
X12.073 Y6.747 A-16.846
X11.563 Y6.866 A-13.134
X11.045 Y6.958 A-10.071
X10.524 Y7.026 A-7.436
X10.000 Y7.071 A-4.908
G0 Z1.000
G0 X0.000 Y0.000 Z5.000
G0 Z5.000
X0.000 Y0.000 A0.000
M05
M02
%

ice672122724
پنج شنبه 27 مرداد 1390, 02:20 صبح
من میخوام اون A هارو با توجه به مقدار X و Y تو هر خط به اون خط اضافه کنم

Esmail Solhkhah
پنج شنبه 27 مرداد 1390, 02:23 صبح
خب اینکه برمیگرده به فرمولتون

تو همون کامنتی که گذاشتم این کار رو بکنید

یعنی هر سطر که خوندید معادلش رو محاسبه کنید و بریزید تو لیست جنریک lines

مورد کجاست ؟

ice672122724
پنج شنبه 27 مرداد 1390, 02:30 صبح
من میخوام این فایل رو


%
G90
G49
M3 S15000
G0 X0.000 Y-0.000 Z1.000
G1 Z-0.100 F1200
G1 X0.049 Y0.574
X0.128 Y1.146
X0.239 Y1.712
X0.381 Y2.271
X0.535 Y2.750
X0.723 Y3.218
X0.945 Y3.671
X1.198 Y4.106
X1.454 Y4.474
X1.740 Y4.825
X2.054 Y5.154
X2.393 Y5.457
X2.754 Y5.733
X3.134 Y5.980
X3.528 Y6.194
X4.005 Y6.411
X4.496 Y6.595
X4.999 Y6.747
X5.509 Y6.866
X6.026 Y6.958
X6.548 Y7.026
X7.071 Y7.071
G0 Z1.000
G0 X17.071 Y-0.000
G1 Z-0.100 F1200
G1 X17.023 Y0.574
X16.943 Y1.146
X16.832 Y1.712
X16.691 Y2.271
X16.537 Y2.750
X16.348 Y3.218
X16.127 Y3.671
X15.874 Y4.106
X15.617 Y4.474
X15.331 Y4.825
X15.017 Y5.154
X14.678 Y5.457
X14.317 Y5.733
X13.938 Y5.980
X13.543 Y6.194
X13.066 Y6.411
X12.575 Y6.595
X12.073 Y6.747
X11.563 Y6.866
X11.045 Y6.958
X10.524 Y7.026
X10.000 Y7.071
G0 Z1.000
G0 X0.000 Y0.000 Z5.000
G0Z5.000
X0.000Y0.000
M05
M02
%


تبدیل کنم به این فایل


%
G90
G49
M3 S15000
G0 Z1.000
G0 X0.000 Y0.000 Z1.000 A85.121
G1 Z-0.100 F1200.000
G1 X0.049 Y0.574
X0.128 Y1.146
X0.239 Y1.712 A78.904
X0.381 Y2.271 A75.747
X0.535 Y2.750 A72.177
X0.723 Y3.218 A68.114
X0.945 Y3.671 A63.892
X1.198 Y4.106 A59.817
X1.454 Y4.474 A55.176
X1.740 Y4.825 A50.826
X2.054 Y5.154 A46.336
X2.393 Y5.457 A41.791
X2.754 Y5.733 A37.399
X3.134 Y5.980 A33.024
X3.528 Y6.194 A28.508
X4.005 Y6.411 A24.462
X4.496 Y6.595 A20.543
X4.999 Y6.747 A16.814
X5.509 Y6.866 A13.134
X6.026 Y6.958 A10.090
X6.548 Y7.026 A7.422
X7.071 Y7.071 A4.918
G0 Z1.000
G0 X17.071 Y0.000 A-85.220
G1 Z-0.100 F1200.000
G1 X17.023 Y0.574
X16.943 Y1.146
X16.832 Y1.712 A-78.904
X16.691 Y2.271 A-75.843
X16.537 Y2.750 A-72.177
X16.348 Y3.218 A-68.009
X16.127 Y3.671 A-63.994
X15.874 Y4.106 A-59.817
X15.617 Y4.474 A-55.071
X15.331 Y4.825 A-50.826
X15.017 Y5.154 A-46.336
X14.678 Y5.457 A-41.791
X14.317 Y5.733 A-37.399
X13.938 Y5.980 A-33.093
X13.543 Y6.194 A-28.448
X13.066 Y6.411 A-24.462
X12.575 Y6.595 A-20.543
X12.073 Y6.747 A-16.846
X11.563 Y6.866 A-13.134
X11.045 Y6.958 A-10.071
X10.524 Y7.026 A-7.436
X10.000 Y7.071 A-4.908
G0 Z1.000
G0 X0.000 Y0.000 Z5.000
G0 Z5.000
X0.000 Y0.000 A0.000
M05
M02
%

ice672122724
پنج شنبه 27 مرداد 1390, 02:35 صبح
خوب این خوبه.حالا اگه کمک کنین که چطور مقدار x که کنارش نوشته شده و همچنین y که کنارش تو هر خط هست رو تشخیص بدم یعنی بگیرمش و بذارم تو فرمول ؟ باید به صورت شرطی بنویسم؟

Esmail Solhkhah
پنج شنبه 27 مرداد 1390, 02:35 صبح
دوست عزیز بنده متوجه نشدم شما با خوندن و نوشتن فایل مورد دارید یا با فرمول تبدیل؟

ice672122724
پنج شنبه 27 مرداد 1390, 02:53 صبح
ببخشید شرمنده.اون رو متوجه شدم.فرمولشم بلدم فقط میخوام بدونم مقدار x و y رو چطور بگیرم.خیلی خیلی شرمندم که زیادی مزاحم میشم

Esmail Solhkhah
پنج شنبه 27 مرداد 1390, 02:56 صبح
با این کد

string[] details = line.Split(' ');

هر سطر رو به آیتمهاش بشکنید و تغییرات لازمه رو بدید

ice672122724
پنج شنبه 27 مرداد 1390, 03:01 صبح
خیلی خیلی ممنون.واقعا کمک کردین.تشکر.موفق باشین.

ice672122724
پنج شنبه 27 مرداد 1390, 03:02 صبح
[
خیلی خیلی ممنون.واقعا کمک کردین.تشکر.موفق باشین.