Crypto MD5



  • p{direction:rtl; text-align:right}. سلام بچه ها ... !
    کد زیر یه دایرکتوری رو میگیره و فایل های داخلش رو به MD5 هاش میکنه !
    حالا ... مشکل اینه که مادامی که داره این کار رو میکنه ... برنامه کلا کرش هست تا این عمل انجام بشه !
    به نظر شما مشکل از چیه ؟ کجای کد رو باید تغییر بدم ؟
    با استفاده از QThread مشکل حل میشه ... ؟ چطوری ؟
    داخل فروم لاتین این سوال رو پرسیدم ... یکی گفت QDirIterator برای این کار مناسب نیست ... درسته ؟ ... از چی استفاده کنم ؟

    @QString CSPath = ui->L_Path->text();
    QDirIterator dir(CSPath,QDirIterator::Subdirectories);
    QCryptographicHash crypto(QCryptographicHash::Md5);

    while (dir.hasNext()) {
    QFile file(dir.next());
    if(file.open(QFile::ReadOnly)) {
    crypto.addData(file.read(1024*1024));
    QByteArray hash = crypto.result();
    ui->LV_Found->addItem("Found ("+QString::number(i1)+") : "+dir.next()+"| MD5 : "+hash.toHex()); //List View
    file.close();
    }
    }@



  • برنامه کلا کرش هست یعنی چی؟



  • p{direction:rtl; text-align:right}. یعنی وقتی روی PushButton کلیک میکنم هنگ میکنه ... مثلا وقتی 20000 فایل دارم ... تا وقتی همه ی این 20000 فایل به MD5 تبدیل نشه برنامه از هنگ بیرون نمیاد ... !



  • p{direction:rtl; text-align:right}. یعنی کسی نیست به من کمک کنه !



  • p{direction:rtl; text-align:right}. نه. برنامه‌نویسی همروند یاد بگیر و از API های موجود در کیوت برای این منظور استفاده کن.



  • [quote author="soroush" date="1366286216"]p{direction:rtl; text-align:right}. نه. برنامه‌نویسی همروند یاد بگیر و از API های موجود در کیوت برای این منظور استفاده کن.[/quote]

    p{direction:rtl; text-align:right}. ببخشید سروش جان که داخل این فروم سوال پرسیدم !
    خوش باشید !



  • p{direction:rtl; text-align:right}. ما داریم سعی می‌کنیم تعداد پست‌های این فروم رو کم کنیم و فقط ایده‌ها و طرح‌های چالش برانگیز در مورد کیوت و یا مشکلات و مسائل مربوط به زبان فارسی در کیوت رو مطرح کنیم. این‌جا فروم حل مشکلات نباید باشه. برای حل این مسائل به سایت qte.ir مراجعه کنید.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.