النتائج 1 إلى 13 من 13

الموضوع: اريد برمجة بلغة الفجول بيسك

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Mar 2009
    المشاركات
    104

    اريد برمجة بلغة الفجول بيسك



    السلام عليكم

    اخواني اريد طلب برمجة برنامج صغير بالفجول بيسك وعمله انه لدي ملف txt يحتوي على عدد كبير من الارقام
    واريد من البرنامج حذف الارقام المتكررة يعني اذا كان الملف يحتوي على :
    9999999
    6544454
    9999999
    4456555
    يظهر ناتج الملف بعد حذف التكرار
    9999999
    6544454
    4456555

    وشكرا







  2. #2
    عضو جديد
    تاريخ التسجيل
    Feb 2008
    المشاركات
    12


    البرنامج جاهز وتحصله بموقع سعودي اس ام اس يحذف الارقام المكرره ومجاني






  3. #3


    اذا كنت تستخدم نظام Linux أو عندك SSH Access على سيرفر تستطيع عمل ذلك بدون برنامج باستخدام الأمر:

    كود:
    sort -u file.txt > clean_file.txt
    استبدل file.txt بالملف الذي تريد.

    بالتوفيق...





    التعديل الأخير تم بواسطة Br4v3-H34r7 ; 10-05-2009 الساعة 10:17 AM
    __________________
    ||-[ Br4v3-H34r7.com ]-[ iSecur1ty.org ]-||

  4. #4
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    392


    اخي nbc10 لقد جربت برنامج بموقع سعودي اس ام اس

    ولكن لا يحذف الارقام المتكررة يوجد به مشكلة ما ولقد راسلت الموقع ولكن لم يصلني اي شي منهم

    اخي Br4v3-H34r7 انا اريد البرنامج على جهاز محلي بدون سيرفر

    هل من الممكن ان نجد مبرمج فيجول بيسك البرنامج صغير جدا






  5. #5


    للأسف لا أستطيع مساعدتك بلغة Visual Basic لكن أستطيع باستخدام Ruby

    1. حمّل مفسّر لغة Ruby من هنا وقم بتنصيبه على الجهاز
    2. افتح محرر النصوص واكتب بداخله الكود التالي:
    كود:
    #!/usr/bin/ruby
    if ARGV == 0
        puts "USAGE: ruby #{$0} file.txt > sorted.txt"
    else
        File.readlines(ARGV[0]).uniq.sort.each do |line|
            puts line
        end
    end
    3. احفظ الملف بأي اسم تختاره بالامتداد .rb مثلا sort.rb
    4. استخدم البرنامج من سطر الأوامر بهذا الشكل:
    كود:
    ruby sort.rb file.txt > sorted.txt
    سيقوم البرنامج بترتيب الأرقام بالتسلسل ويحذف المكرر منها

    لا أتوقع أن الطريقة ستناسبك كثيرا خصوصا أن حجم مفسّر لغة روبي 25 ميغا تقريبا لكني وضعت الطريقة للفائدة فلقد كتبت الكود بأقل من 30 ثانية :1power:

    تحياتي





    __________________
    ||-[ Br4v3-H34r7.com ]-[ iSecur1ty.org ]-||

  6. #6
    عضو فعال جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    3,929


    استخدم هذه الاداة مؤقتاDelete duplicate lines - TextOpus - all text tools You need!






  7. #7


    أتوقع أن أفضل حل هو استخدام برنامج Notepad++ يمكنك تحميله من هنا

    كل ماعليك هو فتح الملف الذي تريد باستخدام البرنامج ثم اضغط Ctrl+A لتحديد كامل النص ثم اذهب الى القائمة:
    كود:
    TextFX > TextFX Tools > +Sort outputs only UNIQUE (at column) lines
    بعد ذلك:
    كود:
     TextFX > TextFX Tools > Sort lines case sensitive (at column)






    __________________
    ||-[ Br4v3-H34r7.com ]-[ iSecur1ty.org ]-||

  8. #8
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    392


    اخي Br4v3-H34r7 لقد قمت بتحميل مفسّر لغة Ruby

    وعملت الخطوات جميعها ولكن البرنامج يحذف التكرار على عدد قليل من الارقام المتكررة

    لقد اختبرته على 10 مليون رقم وظهر لي ان المشكلة من الذاكرة و الذاكرة لدي 2 غيغا

    صورة الخطاء في المرفقات




    اخي سحاب اون لاين الموقع يظهر تعليق عند لصق 10 مليون رقم

    ولكن عند تقسيمة ووضعة في الموقع المتصفحات لا تعمل لكثرة العددية من الارقام




    اخي Br4v3-H34r7 بالنسبه لبرنامج Notepad++ العدد كبير جدا ويظهر تعليق

    عند حفظ الملف بحيث ان البرنامج وضعت حفظ له و استغرق 40 دقيقة ولم يحفظ

    ولقد جربت اكثر من مرة وكل مرة المحاولة فاشلة





    الصور المرفقة الصور المرفقة  

  9. #9


    ماكنت متصوّر أن الملف بهذا الحجم لأن readlines يحمّل كامل الملف للذاكرة ثم يتعامل معه

    على كل حال جرب هذا البرنامج.. المفروض يشتغل بشكل صحيح الآن:

    كود:
    #!/usr/bin/ruby
    if ARGV == 0
        puts "USAGE: ruby #{$0} file.txt sorted.txt"
    else
        counter = 1
        file = File.open(ARGV[0], 'r')
        myarray = Array.new
        file.each do |line|
            if myarray.include?(line) == false
                myarray.insert(0,line)
                puts "#{counter}: #{line}"
            end
        counter = counter + 1
        end
        file.close
        myarray = myarray.sort
        sorted = File.open(ARGV[1], 'w')
        sorted.write(myarray)
        sorted.close
    end
    نفّذ نفس الخطوات السابقة لكن شغّل البرنامج باستخدام الأمر:
    كود:
    ruby sort.rb file.txt sorted.txt
    على فكرة الشكر للأخ StrikerX من Programming-Fr34ks.Net





    __________________
    ||-[ Br4v3-H34r7.com ]-[ iSecur1ty.org ]-||

  10. #10
    عضو نشيط
    تاريخ التسجيل
    Mar 2009
    المشاركات
    104


    اخي Br4v3-H34r7

    لقد نفذت جميع الخطوات و لقد عملت الطريقة من الساعة 1 ظهرا و الى الان لم ينتهي

    طبعا على 10 مليون في ملف txt

    لي الان وانا انتظر 5 ساعات وسوف انتظر الى ان ينتهي

    بس المشكلة الوقت للمعالجة طويل جدا






  11. #11
    عضو جديد
    تاريخ التسجيل
    Mar 2009
    المشاركات
    0

    ابداع



    السلام عليكم
    اخى العزيز
    ارجو ان تكون فى تمام العافية
    يمكننا تنفيذ طلبك
    لمعلومات اكثر قم بزيارة موقعنا على الرابط التالى http://www.ebda3-eg.com/





    __________________
    Ebda3 for Internet Services
    Tel. 002 01117657892
    Email.
    info@ebda3-eg.com
    Site . http://www.ebda3-eg.com

  12. #12


    أخي طبيعي أن البرنامج حيآخذ وقت كبير لأنه الآن يقرأ كل سطر بسطره من الملف ويضيفه الى myarray بعد التأكد من عدم تكراره
    وفي النهاية يرتّب myarray ويكتبها الى ملف جديد << أعلم أن الطريقة غير عملية لكنها تعمل على الأقل..!

    بالمناسبة جربت الكود الذي أرسلته لك أول مرة على ملف يحتوي 10000000 سطر بحجم 171 MB وماحدث أي مشكلة
    والبرنامج قدر يعالج الملف في أقل من دقيقة! ونفس الكلام بالنسبة للأداة sort في نظام لينوكس.

    الرام 2.5 GB والمعالج 1.73 Core Due.

    هذا كل ما أستطيع مساعدتك به بالتوفيق...





    __________________
    ||-[ Br4v3-H34r7.com ]-[ iSecur1ty.org ]-||

  13. #13
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    69


    السلام عليكم ورحمة الله وبركاتة

    فى حل سريع عملتوا لك يعتمد على php فكرتوا يقوم بأدخل جمايع البيانات الى قاعدة بيانات mysql وبعد ذلك تقوم بأستخراجها ونسخها على السيرفر والأستعلام المكتوب فى عملية النسخ يقوم يستخرج من كل رقم مكرر رقم واحد فقط

    جدول القاعدة

    كود PHP:

    CREATE TABLE 
    `temp` (
      `
    idint(10NOT NULL auto_increment,
      `
    numberint(255) default NULL,
      
    PRIMARY KEY  (`id`)
    ENGINE=MyISAM DEFAULT CHARSET=latin1
    وهذا فايل ال php

    كود PHP:
    <?php

    // السيرفر
    $server 'localhost';

    // اسم قاعدة البيانات
    $db 'temp';

    // مستخد القاعدة
    $user 'root';

    // كلمة المرور
    $password '';


    $link mysql_connect($server$user$password);
    mysql_select_db($db$link);


    if (
    trim($_POST['act']) == 'read')
    {
        @
    set_time_limit(1800); // 30 Minutes

        
    if (isset($_FILES['file']['name']))
        {

            
    $data = @file_get_contents($_FILES['file']['tmp_name']);
            
    $lines explode("\n"$data);

            foreach(
    $lines as $key => $value)
            {
                
    $plus++;
                
    $val trim($value);

                
    mysql_query("insert into `temp` (`number`) values ('{$value}') ");

                if (
    $plus == 1000)
                {
                    
    sleep(1);
                    unset(
    $plus);
                }

            }

            echo 
    'done ... import record '.$key;

        } else {
            
            echo 
    '<h1>ERROR</h1>';
        }

    } elseif (
    trim($_GET['act']) == 'export')
    {


        
    $namedata time().'.txt';
        
    $sql mysql_query("select * from `temp` GROUP BY `number` ");
        while(
    $row mysql_fetch_array($sql))
        {

                
    $codet .= $row['number']."\r\n";

                
    $plus++;

                if (
    $plus == 1000)
                {
                    
    sleep(1);
                    unset(
    $plus);
                }

        }

        
    $datafile = @fopen($namedata'w'); 
        
    fputs($datafile$codet);
        
    fclose($datafile); 

        
    $pathinserver getcwd().'/'.$namedata;
        
        echo 
    'done ... copy in '.$pathinserver;

    } elseif (
    trim($_GET['act']) == 'delete')
    {

        
    mysql_query(" TRUNCATE TABLE `temp` ");

        echo 
    'done ... delete all records ';

    } else {

        
    ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>export & export ... data</title>
    </head>

    <body>

        <div style="padding: 10px; margin: 10px; background-color: #f9f9f9">
            <h1>import</h1>
            <form method="POST" enctype="multipart/form-data" action="<?=$PHP_SELF?>">
                <input type="hidden" name="act" value="read" />
                <input type="file" name="file" size="20">
                <input type="submit" value="submit" name="submit">
            </form>

        </div>

        <div style="padding: 10px; margin: 10px; background-color: #f9f9f9">
            <h1>export to server</h1>
            <a href="<?=$PHP_SELF?>?act=export">save data</a>
        </div>

        <div style="padding: 10px; margin: 10px; background-color: #f9f9f9">
            <h1>delete data from mysql</h1>
            <a href="<?=$PHP_SELF?>?act=delete">delete records</a>
        </div>


    </body>

    </html>
        <?
    }

    mysql_close($link);
    ?>
    ملاحظة انا لم اجرب هذا المثال لاكن كى يعمل معك بنجاح يجب رفع قيمة رفع الملفات من php.ini على السيرفر الى رقم مساوى لحجم الملف المرفوع او اكبر شوية





    __________________
    سبحان الله وبحمده سبحان الله العظيم





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض