PDA

View Full Version : سوال: ذخیره مختوای تکست باکس



trojan001
سه شنبه 03 دی 1392, 00:21 صبح
سلام
دوساتان یه سوال داشتم می خواستم وقتی یک دفعه اطلاعات تو تکست باکس وارد شد در دفعه بعدی که برنامه دو باره اجرا می شه او اطلاعات باشه رو باس چی کار کرد یعنی یه دف user va pass زده شد دیگه دفعه های بعدی نیاز به وارد کردن نباشه

abbas.oveissi
سه شنبه 03 دی 1392, 02:42 صبح
سلام
دوساتان یه سوال داشتم می خواستم وقتی یک دفعه اطلاعات تو تکست باکس وارد شد در دفعه بعدی که برنامه دو باره اجرا می شه او اطلاعات باشه رو باس چی کار کرد یعنی یه دف user va pass زده شد دیگه دفعه های بعدی نیاز به وارد کردن نباشه

توی این لینک کاملا توضیح داده شده : http://msdn.microsoft.com/en-us/library/aa730869(v=vs.80).aspx
البته توی همین فروم جستجو کنی ( میتونی چند صفحه ی جدیدترین تاپیک ها رو نگاه کنی ) ،یکی از دوستان جواب دادن به همچین سوالی.

trojan001
سه شنبه 03 دی 1392, 12:09 عصر
می شه یه کم راهنمایی کنید از اون که چیزی نفهمیدم تو انجمنم پیدا نکردم یکی بود که تو .txt ذخیره می کرد

Mofid.m
سه شنبه 03 دی 1392, 12:17 عصر
می شه یه کم راهنمایی کنید از اون که چیزی نفهمیدم تو انجمنم پیدا نکردم یکی بود که تو .txt ذخیره می کرد
بله
یا باید تو فایل .txt ذخیرش کنی و یا تو پایگاه داده
وقتی فرم لود میشه یا هر event دیگه ایی اطلاعات رو تو textBox لود کنه

trojan001
سه شنبه 03 دی 1392, 12:25 عصر
خوب تو پایگاه داده چه جوریه ؟

Mofid.m
سه شنبه 03 دی 1392, 12:30 عصر
یه table ایجاد کن که نام کاربری و کلمه عبور رو تو خودش ذخیره کنه
بعد textbox رو به فیلد مورد نظرت نسبت بده

خیلی راحته

Mofid.m
سه شنبه 03 دی 1392, 12:31 عصر
البته با .txt هم میشه

svhasvha
سه شنبه 03 دی 1392, 12:34 عصر
خوب تو پایگاه داده چه جوریه ؟
سلام مبتدی هستی؟
منظورم اینه که
چیزی راجب xml میدونی؟

sagggad
سه شنبه 03 دی 1392, 12:36 عصر
سلام مبتدی هستی؟
منظورم اینه که
چیزی راجب xml میدونی؟

نه دوست من،در همچین مواردی استفاده از XML کاملا اشتباهه.در این موارد فقط باید از Setting استفاده کرد.آموزش Setting رو من مال وی بی رو در تایپیک زیر به طور جامع دادم،اما سی شارپ رو باید یکی زحمتش رو بکشه:
http://barnamenevis.org/showthread.php?431612-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1%D8%A7%D8%AA-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D8%B4%D8%AF%D9%87-%D8%AF%D8%B1-%D9%81%D8%B1%D9%85&p=1930346&viewfull=1#post1930346

Mofid.m
سه شنبه 03 دی 1392, 12:52 عصر
این یه کد خیلی ساده با استفاده از .txt

دو تا تکست باکس داره و باتن (txtUser,txtPass,btnSave)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

//************************************************** *********
private void Form1_Load(object sender, EventArgs e)
{
string str = string.Empty;
try
{
str=File.ReadAllText(@"c:\User.txt");
}
catch (FileNotFoundException)
{
txtUser.Text = string.Empty;
txtPass.Text=string.Empty;
return;
}

string[] strA = str.Split('/');

txtUser.Text = strA[0];
txtPass.Text = strA[1];


}

//************************************************** *********

private void btnSave_Click(object sender, EventArgs e)
{
string str = txtUser.Text + "/" + txtPass.Text;
File.WriteAllText(@"C:\User.txt", str);
Application.Exit();
}
}
}

abbas.oveissi
سه شنبه 03 دی 1392, 13:01 عصر
نه من منظورم توی فایل txt و xml نبود،خود سی شارپ بخش Setting داره و برای اینکار ساخته شده.
اون دوستی هم که میگفتم،منظورم همین آقای sagggad بود.

البته توی سی شارپ این توابع GetSetting و SetSetting وجود ندارد ولی اگر بخواهید ازشون استفاده کنید،برای اینکار Microsoft.VisualBasic رو به رفرنس هاتون اضافه کنید و بعد از کدهای زیر استفاده کنید :
Interaction.SaveSetting("My Project", "Setting", "text1", textBox1.Text);
textBox1.text = Interaction.GetSetting(("My Project", "Setting", "text1", "");

من خودم از روش معمولی که برای سی شارپ هست،استفاده میکنم. توی پنجره ی Solution Explorer روی علامت + بخش Porperties کلیک کنید،بعد اونجا روی فایل settings. دابل کلیک کنید. اسم پیش فرض فایل Setting.settings است.
حالا میتونی هر چیزی میخوای اونجا اضافه کنی.مثلا میتونی name رو بذاری UserName و type رو بذاری string و scope رو هم روی User تنظیم بکنی.حالا میتونی با کدهای زیر به مقدارش دسترسی داشته باشی :
txtUserName.Text= Properties.Settings.Default.userName;برای تغییر دادنش هم از کد زیر میتونی استفاده کنید :Properties.Settings.Default.userName = "a";
Properties.Settings.Default.Save();

sagggad
سه شنبه 03 دی 1392, 13:10 عصر
نقل قول: ذخیره تغییرات ایجاد شده در فرم
داداش ببین باید از دستورات SaveSetting و GetSetting استفاده کنی.من یه مثال میزنم برای این که مثلا شما یه متنی تو یه تکس باکس نوشتی و می خوای بعد از بردن نرم افزار اون متن پاک نشه و وقتی نرم افزار رو میاری اون متن داخل تکس باکس باشه.برای این کار ازدستورات زیر استفاده میکنیم:

ابتدا در رویداد TextChanged تکس باکس کدهای زیر رو مینویسیم:

(SaveSetting("My Project", "Setting", "Text1", TextBox1.Text حالا برای سی شارپ:
(Interaction.SaveSetting("My Project", "Setting", "Text1", TextBox1.Text

توضیحات:تابع SaveSetting برای ذخیره اطلاعات فرعی برنامه مانند متن ها ی تکس باکس ها،رنگ های فرم،لیبل ها،تکس باکس ها و.... بکارمیرود.سه آرگومان اول این تابع اختیاریست یعنی بجای "My Project" و "Setting" و "Text1" می توانید نام دلخواه را قرار دهید.اما تنظیمات برمبنای این نام ها ذخیره می شوند وبرای دستیابی دوباره به آنها باید از این نام ها استفاده کرد .آرگومان چهارم که ما به طور پیشفرض آن را TextBox1.Text قرار دادیم،به برنامه میگوید که چه چیز باید ذخیره شود.پس با نوشتن TextBox1.Text متن TextBox1 به عنوان تنظیمات در رجیستری ذخیره می شود.

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

در FormLoad برنامه کدهای زیر رو مینویسیم:

("TextBox1.Text = GetSetting("My Project", "Setting", "Text1

حالا برای سی شارپ:
("Interaction.GetSetting("My Project", "Setting", "Text1

توضیحات:تابع GetSetting برای دسترسی برنامه به اطلاعات ذخیره شده توسط تابع SaveSetting استفاده میشود.همانطور که می بینید این تابع دارای سه آرگومان است که باید این آرگومان ها را براساس آرگومان های دستور SaveSetting که وارد کردیم تنظیم کنیم.
در این جا چون این سه آرگومان در تابع SaveSetting عبارت بوده اند از: "My Project", "Setting", "Text1" پس ما در اینجا در تابع
GetSetting نیز همین اطلاعات راقرار میدهیم.

حالا با خارج شدن از برنامه و آوردن دوباره برنامه متن TextBox1 تغییر نمی کند.
برای اینکه بتوانیم بجای متن تکس باکس رنگ زمینه ی فرم را در این تابع ذخیره کنیم کارهای زیر راغ انجام میدهیم:


برای اینکار در پنجره Solution Eplorer روی گزینه My Project کلیک کنید.
حالاوارد صفحه ای شدید که مخصوص تنظیمات برنامه است.شاخه های بسیاری همچون Application,Compile,Debug,Setting و ... وجود دارد.روی شاخه Setting کلیک کنید.
درصفحه ای که بازشده است مشاهده می کنید که به طور پیشفرض یک Setting به نام :Setting و Type اون که String هست تعریف شده.برای این شما نمی توانستید

رنگ زمینه فرم را ذخیره کنید که نوع داده ی پیشفرض String یا متن تنظیم بوده و رنگ خارج از این حالت است.حالا روی کشویی Type کلیک کنید و گزینه

System.Drawing.Color را انتخاب کنید.برنامه را ذخیره کنید.دیگر به راحتی می توانید با استفاده از توابع SaveSetting و GetSetting رنگ زمینه ی فرم را عوض کنید

مشکلی بود درخدمتم

موفق باشید

trojan001
سه شنبه 03 دی 1392, 13:16 عصر
کد های زیرش کو ؟:|

sagggad
سه شنبه 03 دی 1392, 13:23 عصر
کدوم کدها رو میگی؟؟

trojan001
سه شنبه 03 دی 1392, 13:38 عصر
هیچی حل شد صفحه ناقص لود شده بود ممنون از همه