PDA

View Full Version : جستجوی فایل



testing
چهارشنبه 02 تیر 1389, 00:08 صبح
جستجوی فایل روی دیسک با وقفه 4e انجام میشه. حالا بعد از پیدا کردن فایل به اطلاعات فایل پیدا شده چطور دسترسی پیدا کنیم؟
وقفه 1AH از int 21 دقیقا برای چیه؟
اگه 1AH برای دسترسی به DTA هست چطور بایذ استفاده بشه؟
ممنون میشم هر چی سریعتر اگر میتونید جواب سوالام رو بدین.
با تشکر

tdkhakpur
چهارشنبه 02 تیر 1389, 02:05 صبح
اگه 1AH برای دسترسی به DTA هست چطور بایذ استفاده بشه؟


این کار بستگی به هنر شما دارد که چه استفاده ای ازش ببرید.
شما باید قبل از جستجو - فضایی با توجه به ساختار زیر ذر نظر بگیرید که نشان دهنده فیلد مشخصات فایلهای شماست


reseved db 21 dup(?)
attr db ? ; خصوصیات
ftime dw ? ; زمان فایل
fdata dw ? ; تاریخ فایل
fsize dd ? ; طول فایل

با توجه با تابع 1ahو وقفه 21h باید این فضا قبلا از هر نوع عملیات جستجو اجرا شود تا به هنگام یافتن فایل مشخصات پشت سر هم در این فضا قید شود و شما میتواند این مشخصات را از ساختار فوق دریافت کنید.یعنی الگوریتم کار به شکل میشود.


// آغازش محل مشخصات فایل
mov ah, 1ah
mov dx, lea DtaAddr
int 21h
; حلقه حستجو برای یافتن فایل
lp1:
فایل را پیدا کن
موقعیت ساختار را برای دریافت مشخصات بررسی کن
loop lp1:

testing
چهارشنبه 02 تیر 1389, 09:47 صبح
tanx tdkhakpur
mikhastam agar momkene iditon bedin

testing
چهارشنبه 02 تیر 1389, 09:53 صبح
خط
mov dx, lea DtaAddr
در وقفه 1A دقیقا چه کاری انجام میدهد؟

tdkhakpur
چهارشنبه 02 تیر 1389, 12:30 عصر
خط
mov dx, lea DtaAddr
در وقفه 1A دقیقا چه کاری انجام میدهد؟
برای اینکه توابع موجود برای جستجوی فایل مشخصات فایل را در جایی قرار بدهند تا کاربر از ان استفاده کند احتیاج هست که شما توسط تابع 1ah این محل را مشخص کنید و در فوق هم - همین عمل انجام شده یعنی شما ساختاری را تعریف کرده اید و ادرس این ساختار را توسط تابع فوق با استفاده از کد


mov dx, lea DtaAddr

به پارامترهی تابع 1ah رد میکنید تا وقفه 21h آن ادرس را مورد استفاده قرار داده و در تنظیمات جستجوی فایل قید کند.

testing
چهارشنبه 02 تیر 1389, 13:21 عصر
man mshkel daram bayad bahs konam
injori nemishe
nemishe ye rahe ertebati bedin
soalamo beporsam
nemitonam inja hata payam baraton befrestam
mamnon misham agar komakam konid

tdkhakpur
چهارشنبه 02 تیر 1389, 13:43 عصر
nemishe ye rahe ertebati bedin
mamnon misham agar komakam konid
نه - شرمنده همین جا ارسال کنید.
موضوع کاریتون چی هست؟ ارسال کنید اگر احتیاج دارید کدهایتان محرمانه باشد با پست خصوص ارسال و دریافت کنید.

testing
چهارشنبه 02 تیر 1389, 14:09 عصر
الان DtaAddr یک متغیره؟ چی هست؟
من کتاب جعفرنژاد دارم میخونم برنامه مربرطه هم نگاه کردم ولی باز مشکل دارم
من می خوام برنامه بنویسم که یک عبارت مشخص را در یک سری از فایلها جستجو کرده و فایلهایی را که آن عبارت مشخص در آنها موجود می باشد را لیست کند.
خوب الان باید اصلاعات فایل در بیارم بعد توی فایل جستجو انجام بدم. من هنوز توی استخراج اصلاعات فایل موندم!!!!! )):

tdkhakpur
چهارشنبه 02 تیر 1389, 21:29 عصر
خوب الان باید اصلاعات فایل در بیارم بعد توی فایل جستجو انجام بدم. من هنوز توی استخراج اصلاعات فایل موندم!!!!! )):
کد زیر مشخصات فایلی به اسم data.txt را که در شاخه جاری شما قرار داشته است را استخراج میکند.


data segment
reseved db 21 dup(?)
attr db ? ; خصوصیات
ftime dw ? ;ساعت
fdata dw ? ;تاریخ
fsizel dw ? ;طول فایل
fsizeh dw ? ; اگر اندازه فایل زیاد باشد کلمه بالا و این کلمه با هم طول فایل را مشخص میکنند
FileName db "data.txt", 0
STR1 DB 20 DUP(0)
ends
stack segment
db 128 dup(0)
ends
code segment
start:
; set segment registers:
assume cs:code, ds: data, ss:stack
mov ax, data
mov ds, ax
;---------------------------
; این قسمت فقط در ابتدای برنامه اجرا میشود
mov ah, 1ah
lea dx, reseved ;DtaAddr
int 21h
;----------------------------------------------------;
;این قسمت فایل مورد نظر را پیدا کرده تا مشخصات انرا در ساختار دیتا قرار دهد
mov ah, 4eh
mov cx, 255
lea dx, FileName
int 21h ; find file

jnc continue ; if carry = 0 then file finded
jmp far ptr quit
continue:
fsizel = ; طول فایل
quit:
;---------------------------
mov ax, 4c00h ; exit to operating system.
int 21h
ends
end start ; set entry point and stop the assembl

testing
پنج شنبه 03 تیر 1389, 21:23 عصر
man name file ro be in sorat az vorodi migiram
pasvand.*
hala mikham naime daghighe file ro print konam
chi kar konam?

tdkhakpur
جمعه 04 تیر 1389, 00:45 صبح
کدتان را با پست خصوصی همراه با درخواستتان در مورد نحوه اجرای فایل ارسال کنید.