نمایش نتایج 1 تا 12 از 12

نام تاپیک: جلوگیری از ثبت داده تکراری در فایل متنی

  1. #1
    کاربر دائمی آواتار systam
    تاریخ عضویت
    خرداد 1390
    محل زندگی
    مشهد (امام رضا (ع))
    پست
    973

    جلوگیری از ثبت داده تکراری در فایل متنی

    سلام دوستان
    برنامه ای دارم مربوط ثبت اطلاعات افراده
    که برای ثبت هر فرد میاد شماره آخرین سطر بدست میاره یکی بهش اضافه میکنه اطلاعات نفر بعدی رو در فایل متنی ذخیره میکنه
    تا اینجام مشکل ندارم
    و در برنامه من قابلیتی رو گذاشتم که کاربر هم بتونه شماره سطرشو به صورت دستی وارد کنه اگه شماره سطر تکراری وارد کرد باید چیکار خطای تکراری بگیره و جلوگیری از ثبت اطلاعات بکنه
    عکس ضمیمه :
    txt.jpg
    ممنون میشم راهنماییم کنید

    موفق باشید
    یا علی

  2. #2
    کاربر دائمی آواتار alireza264
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    264

    نقل قول: جلوگیری از ثبت داده تکراری در فایل متنی

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

  3. #3
    کاربر دائمی آواتار systam
    تاریخ عضویت
    خرداد 1390
    محل زندگی
    مشهد (امام رضا (ع))
    پست
    973

    نقل قول: جلوگیری از ثبت داده تکراری در فایل متنی

    دوستان کسی مثالی نداره
    توضیحی چیزی

  4. #4
    کاربر دائمی آواتار asman.abi
    تاریخ عضویت
    اسفند 1391
    محل زندگی
    ایران
    پست
    187

    نقل قول: جلوگیری از ثبت داده تکراری در فایل متنی

    اگر انتهای فایل رو می خونی و عدد مربوطه رو به دست می آری. دیگه برای چی کاربر تصمیم بگیره شماره چند باشه. شما به ترتیب عدد بزن کارب مشخصات وارد می کنه. دیگه کاربر درگیر شماره مربوط به خودش نشه که چه شماره ای باشه.
    چون اعداد به ترتیب هست پس هر عددی کوچک تر از عدد انتهای فایل یعنی تکراری. پس اعداد باید بیشتر از عدد فعلی باشند. ولی شما قابلیت این که شماره رو کاربر انتخاب کنه بردارید اگه لزومی نداره.

  5. #5
    کاربر دائمی آواتار systam
    تاریخ عضویت
    خرداد 1390
    محل زندگی
    مشهد (امام رضا (ع))
    پست
    973

    نقل قول: جلوگیری از ثبت داده تکراری در فایل متنی

    چون اعداد به ترتیب هست پس هر عددی کوچک تر از عدد انتهای فایل یعنی تکراری. پس اعداد باید بیشتر از عدد فعلی باشند. ولی شما قابلیت این که شماره رو کاربر انتخاب کنه بردارید اگه لزومی نداره.
    سلام
    حرف شما درست چون برنامه بایگانی عکسه شاید کاربر خواسته باشه یک عددی مشخص رو برای رهگیری انتخاب کنه
    برای همین که این کار مد نظرمه

  6. #6

    نقل قول: جلوگیری از ثبت داده تکراری در فایل متنی

    بیار تو لیست و از چک کردن رشته برای شماره اول هر رشته استفاده کن.

    مثلا ببین اگه رشته تو 3 باشه فقط به کاربر با شماره 3 این دسترسی رو بده.

  7. #7
    کاربر دائمی آواتار alireza264
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    264

    نقل قول: جلوگیری از ثبت داده تکراری در فایل متنی

    نقل قول نوشته شده توسط systam مشاهده تاپیک
    سلام
    حرف شما درست چون برنامه بایگانی عکسه شاید کاربر خواسته باشه یک عددی مشخص رو برای رهگیری انتخاب کنه
    برای همین که این کار مد نظرمه
    سلام
    نوع فایل انتخابیت پایل هستش و امکانی جز خوندن خطی نداره واگه می خوای جستجوی تصادفی داشته باشی باید بری سراغ نوع های دیگه فایل مثل فایل مستقیم یا شاخص یا دودویی

  8. #8
    کاربر دائمی آواتار systam
    تاریخ عضویت
    خرداد 1390
    محل زندگی
    مشهد (امام رضا (ع))
    پست
    973

    نقل قول: جلوگیری از ثبت داده تکراری در فایل متنی

    با تشکر از دوستان
    من این کد رو تست کردم میاد فقط شماره یک رو برای من نمایش میده
    StreamReader sw = new StreamReader(Application.StartupPath + "\\data.txt");
    string all = sw.ReadToEnd;
    Dim str As String() = all.Split("-")
    For i As Integer = 0 To str.Length - 1
    ListBox1.Items.Add(str(i))
    Next

  9. #9

    نقل قول: جلوگیری از ثبت داده تکراری در فایل متنی

    اشتباه اینه که میاییم و توی فایل بصورت سریال (پیوسته - خطی) اطلاعات رو ذخیره میکنیم.
    sizeof عددی رو برمیگردونه که حجم (تعداد بایت) یک آبجکت می باشه.
    الگوریتم برنامه رو به فایل تصادفی تغییر بدین. بدین صورت که:
    قرار داد می کنیم که شماره سطر یکتا باشد (آی دی). فرض کنیم کاربر سطر 5 رو انتخاب می کنه. فرض میکنیم حجم رکورد هم 20 باشه. منظورم از حجم رکورد همون خروجی sizeof می باشد.
    پس با این شرایط موقعیت قرار گیری رکورد میشه 5*20 = 100. خونه 100 میتونید رکورد رو ذخیره کنید. استریم رو که باز کردین Position رو 100 بذارید و اطلاعات رو ذخیره کنید.
    فرض می کنیم در زمان دیگری عدد 5 برای شماره سطر دیگری انتخاب بشه. اینبار با رفتن به خونه 100 و خوندن اطلاعات متوجه رزور بودن سطر شماره 5 میشیم.
    بهمین ترتیب ادامه خواهیم داد. برای پیدا شماره سطر بصورت خودکار هم میتونید با ایجاد یک حلقه while و شمارنده از 1 اقدام به انتخاب کردن شماره رزور نشده کرد.
    اگه خواستین برنامشو براتون مینویسیم.

  10. #10

    نقل قول: جلوگیری از ثبت داده تکراری در فایل متنی

    اگه اطالاعات رو توی فایل xml ذخیره کنید خیلی بهتره بعد با توابعی که توی سی شارپ وجود داره می تونید عملیات سرچ رو با linq انجام بدین. نکته بعد اینکه هر فرد رو توی یک سطر ذخیره کنید و برای هر سطر یک شماره ترتیب بزارین و موقع دریافت اطلاعات با linq از xml اونا رو براساس شماره ترتیب مرتب کنید.
    بهتره فایل xml به صورت زیر باشه.
    <?xml version="1.0" encoding="utf-8"?>
    <Persons>
    <Person Id="1" Name="" LastName="" >
    <Tartib>2</Tartib>
    <Code>32356566565</Code>
    <Vaziat>مجرد</Vaziat>
    </Person>
    <Person Id="2" Name="" LastName="" >
    <Tartib>1</Tartib>
    <Code>32356566565</Code>
    <Vaziat>مجرد</Vaziat>
    </Person>
    <Person Id="3" Name="" LastName="" >
    <Tartib>3</Tartib>
    <Code>32356566565</Code>
    <Vaziat>مجرد</Vaziat>
    </Person>
    </Persons>

  11. #11
    کاربر دائمی آواتار nunegandom
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    الان اصفهان
    سن
    33
    پست
    828

    Smile نقل قول: جلوگیری از ثبت داده تکراری در فایل متنی

    عدد جدید رو برابر با pattern مربوط به regexp بگذارید
    اعداد رو سطر به سطر بر حسب اولین کاراکتر - جدا کنید و با regex چک کنید به همین سادگی
    نمونه کد regex:

    using System.Text.RegularExpressions;


    List<string> str = new List<string>();
    str.Add("1234");
    str.Add("123");
    str.Add("12345");
    string pattern = "^[123]{3}$";
    Regex reg = new Regex(pattern);
    foreach (var item in str)
    {
    bool result = reg.IsMatch(item);
    if (result)
    textBox1.Text += item;
    }

    قرمز عددی هست که میخوای چک کنی که وجود داره یا خیر!
    سبز تعداد ارغام هستش
    و این دوتا رو حتما باید برای هر چک عدد جدید، تنظیم کنی که با کد نویسی راحته

  12. #12
    کاربر دائمی آواتار systam
    تاریخ عضویت
    خرداد 1390
    محل زندگی
    مشهد (امام رضا (ع))
    پست
    973

    نقل قول: جلوگیری از ثبت داده تکراری در فایل متنی

    سلام
    ازهمه دوستانی که زحمت کشید راهنمای کردند منونم دستشون درد نکنه
    کد رو به این صورت غییر بدیم کلا ستون ردیف به راحتی توی لیست میریزیم و میتونیم مقدار وارد شده رو چک کنیم در لیست باکس
    ولی ایم راه درستش نیست
    StreamReader sw = new StreamReader(Application.StartupPath + "\\data.txt");
    string all = sw.ReadToEnd;
    Dim str As String() = all.Split("-")
    For i As Integer = 0 To str.Length - 1
    ListBox1.Items.Add(str(i))
    i=i+3;
    Next
    به نظر مبرم سراغ xml طبق گفته دوستمون جناب
    TeacherMath بهتره
    ممنونم
    یا علی
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg txt.jpg‏ (22.4 کیلوبایت, 30 دیدار)

تاپیک های مشابه

  1. سوال: جلوگیری از ثبت داده های تکراری در MYSQL
    نوشته شده توسط meysam1366 در بخش PHP
    پاسخ: 18
    آخرین پست: دوشنبه 27 مرداد 1393, 18:25 عصر
  2. سوال: جلوگیری از عدم ثبت داده تکراری هنگام ویرایش
    نوشته شده توسط Iran58 در بخش برنامه نویسی مبتنی بر Microsoft .Net Framework
    پاسخ: 1
    آخرین پست: سه شنبه 03 تیر 1393, 21:37 عصر
  3. جلوگیری از ثبت داده تکراری در بانک (ASP.NeT)
    نوشته شده توسط GeneralMilad در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: چهارشنبه 17 اردیبهشت 1393, 10:30 صبح
  4. پاسخ: 10
    آخرین پست: پنج شنبه 27 تیر 1392, 18:09 عصر
  5. جلوگیری از ثبت داده تکراری
    نوشته شده توسط tatu3882 در بخش C#‎‎
    پاسخ: 4
    آخرین پست: جمعه 06 اردیبهشت 1387, 16:27 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •