()
, .
,
. , ,
,
. , , -:
, , , , , . .
,
- .
, , ,
, - :
,
. , ,
, 85 , ,
60 , . QBasic
,
.
. , , k ,
, :
(
),
.
.
, ,
, . ,
,
" ",
" ", " ",
.
,
,
.
(DIRECT ACCESS) (RANDOM ACCESS).
,
. ,
.
.
, .
,
.
,
.
, , ("
", " ", " ", "
").
.
,
, ,
.
QBasic
,
. ,
.
QBasic
,
OD (" ") OA ("
"). ,
.
, .
, .
ODOA.
:
OPEN _
FOR OUTPUT AS #k
,
FOR APPEND. , ,
FOR INPUT.
[1,255],
(INPUT) (PRINT,
WRITE). tt .
CLOSE tk.
, , WRITE Ik.
.
INPUT #k ,
.
,
PRINT#k.
.
, .
7_01.bas.
7_01.bas
CLS : DEFINT A-Z: $="" OPEN "bas_txt"
FOR OUTPUT AS
#1 FOR J=l TO 10
PRINT #1,A$;J,J*2
PRINT A$;J,J*2
NEXT J
CLOSE #1
PRINT
OPEN "bas_txt"
FOR INPUT AS #2
FOR J=l TO 10
INPUT #2,B$,K1,K2
PRINT B$;K1,K2
NEXT J
CLOSE #2
END
, bas_txt
10 , ,
. bas_txt, , F3,
, :
1 2
2 4
3 6
4 8
5 10
6 12
7 14
8 16
9 18
10 20
, PRINT
" "
, "+"
. 15- (
"+").
"" PRINT.
(F3 -> F4),
: ASCII
(1 -> 31, 2 -> > 32, ...), (10
> 3130, 12 -> 3132, ...). ,
-ODOA. ,
,
+ .
. -,
input paste end of file,
. -, ,
:
1
2 0 2
4 0 3
6 0 4
..............
.
$ 16 ,
(BASIC- ,
). ODOA $ ,
. KI
.
() ( ),
, KI (KI = ).
2 (2 = 2).
$ ,
($ = "4"). ,
.
- ,
, .
, ,
WRITE #k.
7_02.bas bas_txt:
7_02.bas
CLS : $ = ""
OPEN "bas_txt"
FOR OUTPUT AS #1
FOR J%=1 TO
10
WRITE #1,A$,J%,SQR(J%)
PRINT A$,J%,SQR(J%)
NEXT J%
CLOSE #1
PRINT
OPEN "bas_txt"
FOR INPUT AS
#2
FOR J%=1 TO
10
INPUT #2,B$,I%,R
PRINT B$,I%,R
NEXT j% CLOSE #2
END
QBasic
"",
.
. ,
,
.
.
TYPE END TYPE.
7_03.bas qq ,
(6- ), (2-
) (4-
). DIM
qq, b., b.n b.r.
:
PUT #l,,b '
b
PUT #l,5,b '
b 5
1.
,
:
OPEN "bas_rec"
FOR RANDOM AS #1 LEN=12
(LEN=12) , ,
, .
7_03.bas ,
,
.
7_03.bas
CLS TYPE qq
a AS STRING
*6
n AS INTEGER
r AS SINGLE
END TYPE DIM b AS qq b.=""
OPEN "bas_rec" FOR RANDOM AS §1 LEN=12
FOR J%=1 TO
10
b.n=J% : b.r=SQR(J%)
PUT #l,,b
PRINT b.a,b.n,b.r
NEXT J% CLOSE #1
OPEN "bas_rec" FOR RANDOM AS #1
FOR J%=10 TO
1 STEP -1
GET #l,J%,b
PRINT b.a,b.n,b.r
NEXT J%
CLOSE #1
END
QBasic
, 1.
:
OPEN _
FOR BINARY AS #k
PUT ( )
GET ( ).
, . ,
, .
, (
GET/PUT ), () .
7_04.bas
"", j%
j%,
.
7_04.bas
CLS : $=""
OPEN "bas_bin"
FOR BINARY AS #1
FOR J%=1 TO
10
B=SQR(J%)
PUT #1,,A$:
PUT #1,,J% : PUT #1,,B
PRINT A$, J%,
NEXT J% CLOSE #1 PRINT
OPEN "bas_bin" FOR BINARY AS #1
FOR J%=10 TO
1 STEP -1
GET #1,(J%-1)*12+1,A$
GET #1,(J%-1)*12+7,K%
GET #1,(J%-1)*12+9,B
PRINT A$,K%,B
NEXT J%
CLOSE #1
END
BASIC,
- (),
() ().
()
,
, 255
ODOA. QBasic,
.
,
.
(f1:text;),
(assign(f1,
'pas_txt') ;) (rewrite(fl);), (append(f1);)
(reset(f1),-).
close (f1);.
-
string writein. ,
,
write, writein,
.
readin
string. ,
, .
.
readin
, readin
, . . .
,
. ,
,
.
7_01.pas , 7_01.bas.
(
) ki
. Basic
invalid numeric format ( )
readin.
7_01.pas
program bad_file;
uses Crt;
var
j,kl,k2:integer;
f:text;
b:string; begin
clrscr;
assign(f,'pas_txt')
;
rewrite(f);
for j :=1 to
10 do
begin
writeln('',j:4,j*2:4);
writeln(f, '',
j:4,j *2:4) ;
{ write(f,'');
write(f,j:4);
writeln(j*2:4};
} end;
close(f);
writeln;
reset(f);
for j:=1 to
10 do begin
readln(f,b,kl,k2);
writeln(b,kl:4,k2:4);
end;
close(f);
readln;
end.
7_02.pas ,
.
.
7_02.pas
program txt_file;
uses Crt;
var
j,k1,k2:integer;
f:text;
b:string; begin
clrscr;
assign(f,'pas_txt');
rewrite(f);
for j:=1 to
10 do
begin
writeln(f,j:4,j*2:4,'':8);
writeln(j:4,j*2:4,'':8);
end;
close (f) ;
writeln;
reset(f);
for j:=1 to
10 do begin
readln(f,kl,k2,b);
writeln(kl:4,k2:4,b:8);
end;
close(f);
readln;
end.
()
:
type
qq=record
a:string[6];
n:integer;
r:real;
end;
(fl:fiie of qq;),
(assign(f1, 'pas_rec') ,-).
reset (f1), rewrite (f1),. -
read/write,
"".
0 .
:
seek(f1,_);
7_03.pas ( 6- , ,
) .
.
7_03.pas
program rec_file;
uses Crt;
type
qq=record
a:string[6];
n:integer;
r:real; end;
var
f1:file of qq; j,kl: integer;
rec:qq; d:real;
begin clrscr;
assign (fl, 'pas__rec') ;
rewrite(fl);
rec.a:='';
for j:=1 to
10 do begin
rec.n:=j;
rec.r:=sqrt(j);
write(fl,rec);
writeln(rec.a,rec.n:4,rec.r:10:4);
end;
close(fl);
writeln; reset(fl);
for j:=9 downto
0 do begin
seek(fl,j);
readffl,rec);
writeln(rec.a,rec.n:4,rec.r:10:4);
end;
readln;
end.
()
()
(f1:fie;), (rewrite
(f1,n);) (reset(f1,n);). ,
128. ,
, .
blockread blockwrite:
blockwrite(f1,buf,n_rec,vl);
blockread(f1,buf,n_rec,vl);
buf
( byte), ,
, . _
, . vl
. n_ vl
.
.
,
:
seek(f1,n_rec);
"" ,
, 0.
7_04.pas 10- ,
buf ( 15 ). ,
.
,
. "",
, buf
, .
7_04.pas
program bin_file;
uses Crt;
var
buf:array [1..15]
of byte;
f1:file;
:pointer;
s:^string;
pk:^integer;
pr:^r1;
j:integer;
begin clrscr;
p:=@buf[l];
ps:=p;
p:=@buf[8];
pk:=p;
p:=@buf[10J;
pr:=p;
assign(f1,'pas_bin') ;
rewrite(fl,15);
ps^:='';
for j:=1 to
10 do begin
pk^:=j;
pr^:=sqrt(j)
;
blockwrite(f1,buf,1);
writeln (s^,^: 4,^ : 10: 4) ;
end;
close(f1);
writeln;
reset(f1,15);
for j:=9 downto
0 do begin
seek(f1,j);
blockread(f1,buf,1);
writeln(s^,k^:4,pr^:10:4);
end;
close(f1);
readln;
end.
Borland ,
, .
.
()
/
fprintf.
ODOA,
\.
FILE
("rt" , "wt" -
, "at" )
f open:
FILE *f1;
f1=fopen(_, "");
:
fprintf(f1,"_
\n",_);
str, fprintf (fi, "%s\n",str)
fputs (f1, str).
fscanf(f1,"_",
_) fgets(str,n,f1). n
,
.
open, creat,
read, write,
7_02.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
main( ) {
FILE *f;
int j,k;
float d;.
char s[7]="";
f=fopen("c_txt","wt");
for(j=l;j<11;j++)
{
fprintf(f,"%s %d %f\n",s,j,sqrt(j));
fprintf("\n
%d %n",j,sqrt(j)); }
fclose(f); fprintf("\n");
f=fopen("c_txt","rt");
for(j=10; j>0;
j--) {
fscanf(f,"%s %d %f",s,&k,&d);
fprintf("\n%s
%d %f",s,k,d); }
getch () ; }
7_01..
% %d , ""
. s
"!", "2", ..., "",
k j ( ""),
d .
,
, .
FILE ("rb" , "wb"
, "ab" )
f open:
FILE *f11;
f1=fopen(_,
"");
:
fwrite(buf,
size_rec, n_rec, f1) ;
size_rec
, _ , .
f read:
fread(buf, size_rec,
n_rec, f1);
7_02. b, (b.s, 7
, ), (b.n, 2 )
(b.r, 4 ) ,
.
. fseek
, .
SEEK_SET , .
SEEK_END,
SEEK_CUR.
7_03.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
main( ) {
FILE *fl; int j, k;
struct { char
s [7]; int n; float r; } b;
clrscr();
strcpy(b.s,"");
fl=fopen("c_rec","wb");
for(j=l;j<ll;j++)
{
b.n=j; b.r=sqrt(j);
fwrite(&b,sizeof(b),l,fl);
printf("\n%s %d %f",b.s,b.n,b.r);
}
fclose(fl); printf("\n");
fl=fopen("c_rec","rb");
for(j=10; j>0;
j ) {
fseek(fl,(j-1)*sizeof(b),SEEK_SET);
fread(&b,sizeof(b),l,f1);
printf("\n%s %d %f",b.s,b.n,b.r);
}
getch();
}
,
, - ,
.
{fopen/fciose, fread/fwrite},
Borland -
{_dos_open/_dos_close,
_dos_read/_dos_write}, (_creat/_close, _read/_write}.
.
7_04.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
main ( ) {
FILE *f1; int
j, k;
char s[7]="";
int n;
float r; clrscr.
() ;
fl=fopen("c_bin","wb");
for(j=l;j<11;j++)
{
r=sqrt(j);
fwrite(s,sizeof(s),1,f1);
fwrite(&j,sizeof(int),1,f1);
fwrite(&r,sizeof(float),1,f1);
printf("\n%s
%d %f",s,j,r); }
fclose(f1l);
printf("\n"); fl=fopen("c_rec","rb"); for(j=10;
j>0; j--) {
fseekffl,(j-1)*(sizeof(s)+sizeof(int)+sizeof(float)),
SEEK_SET);
fread(&s,sizeof(s),1,fl);
fread(&n,sizeof(int),1,f1);
fread(&r,sizeof(float),1,f1);
printf("\n%s
%d %f",s,n,r); }
getch(); }
7.05. MS-DOS Windows
, MS-DOS,
1251 Windows. ,
, .
1 ()
-- 256-
. j j-o
, .
2 ()
:
3 ()
, 256 .
, ,
to_win.
4 (, )
.
,
. ,
tmpwin. txt.
7_05.bas
DECLARE SUB
TOWIN(T01251() AS INTEGER)
DIM T0125K256)
AS INTEGER
INPUT "
- ",SOURCE$
TOWIN T01251()
OPEN SOURCE$
FOR INPUT AS #1
OPEN "TMPWIN.TXT"
FOR OUTPUT AS #2
DO WHILE NOT
EOF(l)
LINE INPUT #1,
A$
FOR J=l TO LEN(A$)
MID$ (A$, J,
1) =CHR$ (T01251 (ASC (MID$ (A$, J, 1) ) ) )
NEXT J
PRINT #2, A$
LOOP
CLOSE 1,2
END
SUB TOWIN(T012510
AS INTEGER)
'
ASCII
FOR J=0 TO 127:
T01251(J)=J: NEXT J
'
64 "" "n"
FOR J=128 TO
175: 01251{J)=J+64: NEXT J
'
"+"
FOR J=176 TO
223: 01251(J)=ASC("+"): NEXT J
'
t01251(179)=ASC("|")
'
t01251(186)=ASC("|")
'
t01251(196)=ASC("-")
'
t01251(205)=ASC("=")
'
16 "" ""
FOR J=224 TO
239: 01251(J)=J+16: NEXT J
t01251(240)=168:
' ""
t0125241) =184:
' ""
END SUB
7_05.
#include <stdio.h>
#include <conio.h>
#include <string.h>
void to_win(void);
unsigned char
to!251[256];
main(int narg,
char **argv) {
FILE *fin,*fout;
unsigned char str[80],source[80];
int j,len;
if(narg==2) strcpy(source,argv[l]);
else {
printf("\n - ");
scanf("%s",source);
}
to_win();
fin=fopen(source,"rt");
fout=fopen("tmpwin.txt","wt");
while (Ifeof(fin))
{
fgets(str,80,fin);
len=strlen(str);
for(j=0; j<len; j++)
str[j]=to!251[str[j]];
fputs(str,fout);
}
fcloseall()
;
}
/*------------------------------------*/
void to_win(void)
{
/*
MS-DOS Windows */
int i ; /*
ASCII */
for (i=0; i<128; i++) to1251[i]=i;
/*
64 "" "n" */
for(1=128; i<176; i++)
to1251[i]=i+64;
/*
"+" */
for(1=176; i<224;
i++) to1251 [!] = ' + ';
/*
*/
to1251[179]='|';
/* */
to1251[186]='|';
/* */
to1251[196]='-';
/* */
to1251[205]='=';
/* 16 "" "" */
for(i=224; 256; i++)
to1251[i]=i+16;
to1251[2401=168;
/* "" */
to1251[241]=184;
/* "" */
return; }
7_05.pas
program translate;
var
to1251:array
[0..255] of char;
fin,fout:text;
str:string[803;
source:string[80];
j,len:integer; procedure to_win;
var
i:integer; begin
for i:=0 to 127 do
to1251[i]:=chr(i);
for i:=128 to 175 do
to1251[i]:=chr(1+64);
for i:=176 to 223 do
to1251[i]:='+';
to1251[179]:='|';
to1251[186]:='|';
to1251[196]:= '-';
to1251[205]:=
'=';
for i:=224 to 239 do
to1251[i]:=chr(i+16);
to1251[240]:=chr(168);
to1251[241]:=chr(184);
end;
begin
if(ParamCount=2) then source:=ParamStr(1)
else begin
write('
- ');
readln(source);
end; to_win;
assign(fin,source);
reset(fin);
assign(fout, 'tmpwin.txt');
rewrite(fout);
while (not eof(fin))
do begin
readln(fin,str);
len:=length(str);
for j:=0 to len do
str[j]:=to1251[ord(str[j])];
writeln(fout,str);
end;
close (fin);
close(fout);
end.
7.06.
, ,
.
.
1 (QBasic)
WRITE #, . .
.
3 ()
.
append /.
,
notebook .
, ,
, -
. .
7_06.bas
CLS
OPEN "notebook"
FOR APPEND AS #1
'
DO
INPUT ":
",Name$
INPUT ":
",Phone$
WRITE #1, Name$,Phone$
INPUT "
";R$
LOOP WHILE LEFT$(R$,l)="f1"
CLOSE #1
CLS
OPEN "notebook"
FOR INPUT AS #1
PRINT "
:"
DO WHILE NOT
EOF(l)
'LINE INPUT
#1, NP$ '
'PRINT NP$ '
INPUT #1, $,
$ '
PRINT $, $'
'
LOOP
CLOSE #1
END
7_06.
#include <conio.h>
#include <stdio.h>
main() {
FILE *f;
int k;
char r,Name[20],Phone[10];
clrscr();
'f=fopen("notebook","at");
m: /*
*/
printf("\n : ");
scanf("%s",Name); printf(": ");
scanf("%s",Phone);
fprintf(f,"%-20s %10s\n",Name,Phone);
printf(" (/) - ");
r=getche(); if(=='')
goto m;
fclose(f);
clrscr();
f=fopen("notebook","rt");
printf("\ :\n") ;
while(!feof
(f)) {
fscanf(f,"%20s %10s\n",Name,Phone);
printf("%-20s
%10s\n",Name,Phone); }
fclose(f);
getch(); }
7_06.pas
program notebook;
uses Crt;
var
f:text;
R,Name,Phone:string;
begin
clrscr;
assign(f, 'notebook
');
{$!-} append(f);
{$!+}
if IOResult
<> 0 then rewrite(f);
{
}
repeat
write(': ');
readln(Name);
write(': ');
readln(Phone);
writeln(f,Name,
' ':15-length(Name), Phone:10);
write{' ');
readln(R);
until r[l] <> ' ';
close(f);
clrscr;
reset(f);
writeln(' : ');
repeat
readln(f,r);
{ } writeln(r);
{ } until eof(f);
close(f);
readln;
end.
7.07.
,
bak.
1 ()
("
"), (" "), 1 (" ")
.
2 (QBasic)
,
.
3 ()
strchr (namel,'.') . ,
, namel .
strchr NULL.
strncpy name2 '.'
( 0x0).
4 ()
/ ({$!-})
,
. fsplit
,
(Dir), (Name)
(Ext). ,
32 768 ( 512 , . .
).
7_07.bas
CLS : DIM k
AS STRING*!
INPUT "
- ", NAME1$
OPEN NAME1$
FOR BINARY AS #1
= INSTR(NAME1$,
".")
IF = 0 THEN NAME2$ = NAME1$
ELSE NAME2$ =
LEFT$(NAME1$, - 1)
NAME2$ = NAME2$
+ "."
PRINT NAME2$,
OPEN NAME2$
FOR BINARY AS §2
DO
GET fl, , k
PUT #2, , k
LOOP UNTIL (EOF(l))
END
7_07.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 512
main(int narg,
char **argv) {
FILE *f1,*f2;
int rd,wr;
char buf[N];
char namel[80],name2[80];
char *point;
if(narg <
2)
{ printf("\n
He "); exit(0); }
strcpy(namel,argv[l]);
fl=fopen(namel,"rb");
if(fl==NULL)
{ printf("\n
%s ",namel); exit(0); }
point=strchr(namel, '. ');
if(point) {strncpy(name2,namel,point-namel};
name2[point-namel]=0x0;
}
else strcpy(name2,namel);
strcat(name2,".bak");
f2=fopen(name2,"wb");
do {
rd=fread(buf,l,N,fl);
wr=fwrite(buf,1,rd,f2);
}
while (rd!=0 && rd == wr) ;
fclose(fl);
fclose(f2);
}
7_07.pas
program reserve;
uses Dos; const
N=512; var
fl,f2 : file;
rd,wr : word;
buf : array
[1..N] of byte;
namel, name2
: PathStr;
dir : DirStr;
name : NameStr;
ext : ExtStr;
begin
if ParamCount=0
then
begin writeln('He ');
exit;
end;
namel:=ParamStr(1);
assign(f1,name1);
{$!-} reset(f1,l);
{$I+}
if IOResult
<> 0 then
begin writeln(' ',namel, ' ');
exit;
end;
fsplit(namel,dir,name,ext);
name2:=dir+name+'.bak';
assign(f2,name2);
rewrite(f2,1);
repeat
blockread(fl,buf,N,rd);
blockwrite(f2,buf,rd,wr);
until (rd=0) or (rd <> wr) ;
close(fl);
close(f2);
end.
7.08.
,
(, *.pas) MS-DOS (dir *.pas),
.
1 (QBasic)
QBasic
MS-DOS,
. , Basic
SHELL.
7_07.bas ,
.
2 ()
findfirst(char *path, struct ffblk sr, int attr) findnext (struct
ffblk sr}. path (
"*."), ( ": \bc\source\*
.") ( "c:\bc"). sr
ffblk, .
dir. h :
struct ffblk
{
char ff_reserved[21]; //
char
ff_attrib; //
unsigned
ff_ftime; //
unsigned
ff_fdate; //
long
ff fsize; //
char
ff_name[13]; //
};
,
, ,
dos. h :
f indf irst (
) findnext
( ). sr
. ,
. ,
-1.
3 ()
, . .
. 7_07.
, (struct dat) (struct tim).
( ). union
(unsigned) ,
.
,
v.d ,
v.c.day. v..year ,
MS-DOS , 1980.
,
,
, .
4 ()
FindFirst(path, .attr, sr) FindNext(sr),
DOS. path (, "*.pas"),
(, ": \tp\source\* .s")
(, "c:\tp"). ,
,
, :
sr searchRec,
. DOS :
type
SearchRec=record
Fill:array
[1..21] of byte;
Attr:byte;
{ }
Time:longint;
{ }
Size:longint;
{ }
Name:string[12];
( } end;
FindFirst (
) FindNext (
). sr .
, DosError
. , DosError
18.
5 ()
UnpackTime,
, ,
DateTime,
Dos. (k
< 10) , , , .
Zero.
7_08.bas
SHELL "dir
*.bas" END
7_08.
#include <stdio.h>
#include <conio.h>
#include <dir.h>
#include <dos.h>
main() {
struct ffblk sr;
int k,nf=0;
long lf=0;
struct tim
{
unsigned sec:5;
unsigned min:6;
unsigned hour:5;
};
struct dat {
unsigned day:5;
unsigned month:4;
unsigned year:7;
};
union {struct tim a;
unsigned b;}u;
union {struct dat c;
unsigned d; }v;
clrscr();
printf(" ");
k=findfirst("*.c",&sr,FA_ARCH);
while (k==0)
{
u.b=sr.ff_ftime;
v.d=sr.ff_fdate; nf++;
lf+= sr.ff_fsize;
printf("\n%12s %61d ",sr.ff_name,sr.ff_fsize) ;
printf("
%02d/%02d/%4d ",v.c.day,v.c.month,1980+v.c.year);
printf(" %02d:%02d",u.a.hour, u.a.min);
k=findnext(Ssr);
}
printf("\n%d %ld ",nf,If);
getch(); }
7_08.pas
program dir;
uses Crt,Dos;
var
dt:DateTime;
sr:SearchRec;
const
nf:integer=0;
If:longint=0;
function Zero(k:byte):string;
var
s: string;
begin
Str(k,s);
if k>9 then Zero:=s else Zero:= '0 '+s; end;
begin clrscr;
writeln(' ');
FindFirst('*.pas',AnyFile,sr);
while DosError=0 do
begin with sr,dt do
begin inc(nf);
If:=lf+Size;
UnpackTime(Time, dt);
write (Name:12,
' ',Size:6, ' ');
write(Zero(Day), '/',Zero(Month), '/',Year:4, ' ');
writeln(Zero(Hour),
': ',Zero(Min), ': ',Zero (Sec)); end;
FindNext(sr);
end;
writeln(nf, ' ',1f, ' ');
readln; end.
7.09.
.
PRINT COPY.
1 (QBasic)
LINE INPUT,
- .
2 ()
ind_copy str
,
.
3 ()
. 7_08.pas
.
, . 7_08a.pas,
, ,
eoln (f1) .
,
, .
.
7_09.bas
INPUT " - ", NAME1$
INPUT " - ", NAME2$
INPUT "
- ", N%
OPEN NAME1$
FOR INPUT AS #1
OPEN NAME2$
FOR OUTPUT AS #2
DO WHILE NOT
EOF(l)
LINE INPUT #1,A$:
A$=SPACE$(N%)+A$
PRINT #2,A$
LOOP
CLOSE II: CLOSE
#2
END
7_09.c
#include <stdio.h>
#include <stdlib.h>
void ind_copy(FILE
*fl,FILE *f2,int n);
main(int narg,
char **argv) {
FILE *fl,*f2;
int n;
if(narg <
4) {
printf("\n . :"};
printf("\n7_09.exe 1 2 n");
exit(0); }
f1l=fopen(argv[l],"rt");
f2=fopen(argv[2],"wt");
n=atoi(argv[3]};
ind_copy(fl,f2,n);
fcloseall();
}
/*-------------------------------------*/
void ind_copy(FILE
*fl,FILE *f2,int n) {
char str[80];
int j;
for(j=0; j<n; j++) str[j]=' ';
while (Ifeof(fl))
{
fgets(&str[n],80,fl);
fputs(str,f2);
}
return; }
7_09.pas
program indent;
var
f1,f2:text;
namel,name2:string;
n,k:integer;
procedure ind_copy(var fl,f2:text;n:integer);
var
str:string;
begin
while not eof(fl)
do
begin
readln(fl,str);
writeln(f2, '
':n,str);
end;
end;
begin
if ParamCount
< 3 then begin
writeln('
. : ');
writeln('7_09.exe
1 2 ');
exit;
end;
namel:=ParamStr(1);
name2:=ParamStr(2);
Val(ParamStr(3),n,k);
assign(fl,namel);
reset (fl);
assign(f2,name2);
rewrite(f2);
ind_copy(f1,f2,n);
close(f1);
close(f2);
end.
7_09a.pas
program indent1;
var
f1,f2:text; namel,name2:string;
n,k:integer;
procedure ind_copy(var f1,f2:text;n:integer) ;
var
ch:char;
begin
while not eof(fl) do begin
write(f2, ' ':n);
while not eoln(f1)
do begin
read(fl,ch); write(f2,ch);
end;
readln(f1); writeln(f2);
end;
end;
begin
if ParamCount
< 3 then begin
writeln(" . : ');
writeln('7_09a.exe ! 2 ');
exit;
end;
narnel:=ParamStr(1);
name2:=ParamStr(2);
Val(ParamStr(3),n,k);
assign(fl,namel);
reset(f1);
assign(f2,name2);
rewrite(f2);
ind_copy(f1,f2,n);
close(fl);
close(f2);
end.
10.11.2021 - 12:37: - Personalias -> WHO IS WHO - - _. 10.11.2021 - 12:36: - Conscience -> . ? - _. 10.11.2021 - 12:36: , , - Upbringing, Inlightening, Education -> ... - _. 10.11.2021 - 12:35: - Ecology -> - _. 10.11.2021 - 12:34: , - War, Politics and Science -> - _. 10.11.2021 - 12:34: , - War, Politics and Science -> . - _. 10.11.2021 - 12:34: , , - Upbringing, Inlightening, Education -> , - _. 10.11.2021 - 09:18: - New Technologies -> , 5G- - _. 10.11.2021 - 09:18: - Ecology -> - _. 10.11.2021 - 09:16: - Ecology -> - _. 10.11.2021 - 09:15: , , - Upbringing, Inlightening, Education -> - _. 10.11.2021 - 09:13: , , - Upbringing, Inlightening, Education -> - _. |