Witam
Nie wiem dlaczego ale w tym programie pojawia się błąd Error 103 (plik nie otwarty)
Nie mam pojęcia dlaczego tak się dzieje, wydawało mi się że jest wszystko w porządku a tutaj taki bug
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
Tkonwerterbazy = class(TForm)
konwertuj: TButton;
anuluj: TButton;
OpenDialog1: TOpenDialog;
Label1: TLabel;
procedure anulujClick(Sender: TObject);
procedure konwertujClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
konwerterbazy: Tkonwerterbazy;
implementation
{$R *.dfm}
procedure Tkonwerterbazy.anulujClick(Sender: TObject);
begin
close;
end;
procedure Tkonwerterbazy.konwertujClick(Sender: TObject);
var
sciezka:string;
inplik:TextFile;
outplik:textFile;
//wersin: array [1..340] of string;
wersout,wersin:string[100];
round:string[2];
sep:array [1..6] of integer;
i,j,k:integer;
begin
if OpenDialog1.Execute then // tworzenie sciezki do bazy danych
sciezka:=OpenDialog1.Filename;
AssignFile(inplik, sciezka);
reset(inplik);
Insert('new',sciezka,length(sciezka)-4);
i:=1;
j:=2;
{for k:=1 to 340 do
}
AssignFile(outplik,sciezka);
ReWrite(outplik);
for k:=1 to 340 do
begin
Readln(inplik, wersin[k]);
if ord(wersin[1]) < 53 then
begin
round[1]:= wersin[1];
round[2]:= wersin[2];
end
else
begin
wersout[1]:= round[1];
wersout[2]:= round[2];
for i:=1 to length(wersin) do
begin
if wersin[i] = '-' then sep[1]:=i;
if ord(wersin[i]) = 9 then
begin
sep[j]:=i;
j:=j+1;
end;
end;
move(wersin[1],wersout[3],sep[1]);
move(wersin[sep[1]+1],wersout[22],sep[2]-sep[1]);
move(wersin[sep[2]+1],wersout[42],3);
move(wersin[sep[3]+1],wersout[45],4);
move(wersin[sep[4]+1],wersout[49],4);
move(wersin[sep[5]+1],wersout[53],4);
move(wersin[sep[6]+1],wersout[57],10);
writeln(outplik,wersout); //tutaj wyskakuje bład 103 czyli plik nie otwarty do odczytu
for i:=1 to length(wersout) do
wersout[i]:=' ';
end;
end;
closeFile(outplik); //ale tutaj wyskakuje błąd zależy od widzimisie programu
closeFile(inplik);
end;
end.
Prosił bym o pomoc w znalezieniu przyczyny problemu .</quote>