smhzkk61
پنج شنبه 18 تیر 1388, 18:33 عصر
برنامه اي مي خوام بنويسم كه دو فايل يا ليست را گرفته و اين دو را باهم ادغام كند لطفا راهنماييم كنيد...
به اين صورت كه...
<فايل 1>
1 علي
2 حسن
6 حميد
<فايل 2>
3 عباس
6 حميد
7 محمد
8 رضا
فايل نهايي(ادغام اين دو فايل)
1 علي
2 حسن
3 عباس
6 حميد
7 محمد
8 رضا
tdkhakpur
پنج شنبه 18 تیر 1388, 20:56 عصر
سلام
خوب خودتان هم باید بدانید هر دو فایل را باز کرده و محتوای فایل را خوانده و داخل یک فایل سوم قرار بدید.
توابع کار با فایل را برای شما ارسال میکنم شما خودتان ارتقا بدید.
smhzkk61
پنج شنبه 18 تیر 1388, 23:36 عصر
سلام
ممنونم...
متاسفانه نتونستم ارتقا بدم ....لطفا برنامه رو به صورت كامل بنويسيد.يه نمونه ساده كه از دو فايل را باهم ادغام كند.
يه دنيا ممنون.
tdkhakpur
جمعه 19 تیر 1388, 16:23 عصر
سلام
ماکرو ها را برای شما ارسال میکنم شما الگوریتم برنامه را بنویسید.
OpenFile MACRO FileName, Handle
local Errore
mov ah, 3dh
mov al, 0 ; 0 read only 1 write only 2 read write
mov dx, offset FileName
int 21h
mov Handle, -1
jc Errore
mov Handle, ax
Errore:
ENDM
CreateFile MACRO FileName, Handle
local Errore
mov ah, 3ch
mov cx, 0
mov dx, offset FileName
int 21h
mov Handle, -1
jc Errore
mov Handle, ax
Errore:
ENDM
; close c:\emu8086\vdrive\C\test1\file1.txt
CloseFile MACRO Handle
mov ah, 3eh
mov bx, Handle
int 21h
ENDM
; write to file:
WriteFile MACRO Buffer, Size, Handle
local Exit_
mov ah, 40h
mov bx, Handle
mov dx, offset Buffer
mov cx, Size
int 21h
jnc Exit_
mov ax, -1
Exit_:
ENDM
; read from file
; return val is in ax if ax==0 then EOF else read bytes.
ReadFile MACRO Buffer, Size, Handle
local exit_
mov ah, 3fh
mov bx, Handle
mov dx, offset Buffer
mov cx, Size
int 21h
jnc exit_
mov ax, -1
exit_:
ENDM
نحوه استفاده
در هنگام خواندن فایل اگر ax برابر 0 شد انتهای فایل است اگر برابر -1 شد خطا وجود دارد.
file1 db 'file1.txt', 0
handle1 dw ?
buffer db 256 dup(?)
bytes dw 10 ; تعداد بایتها برای نوشتن و خواندن
OpenFile file1, handle1
ReadFile buffer, bytes, handle1
WriteFile buffer, bytes, handle1
CloseFile handle1
موفق باشید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.